Autor
|
Thema: Auftragseingang in Quelle mit Verteilungsfunktion belegen (3439 mal gelesen)
|
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 29. Dez. 2013 12:33 <-- editieren / zitieren --> Unities abgeben:
Hallo Community, ich hoffe, ihr hattet schöne Weihnachten Für mein Simulationmodell benötige ich einen verteilten Auftragseingangstrom, der der realen Verteilung der Auftragseingänge meines Praxisunternehmens (mit denen schreibe ich meine Masterarbeit zusammen) entspricht. Dafür habe ich die Anzahl der monatlichen Auftragseingänge der letzten drei Jahre in das Tool DataFit geladen und mir die passende Verteilung schätzen lassen. Es ergab sich auf Jahressicht eine binominale Verteilung mit n=5 und p=0.5. Wie kann ich der Quelle mitteilen, dass diese nach dieser Verteilung die Aufträge generiert unter der Prämisse, dass maximal 25 sowie minimal 8 Aufträge eingehen. Könnt ihr mir weiterhelfen? Vielen Dank schon mal Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 29. Dez. 2013 17:45 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Die sauberste Lösung ware die Auswertung der zeitlichen Abstände der Aufträge (wenn Sie diese Daten haben). Daraus können Sie dann die Verteilung für den zeitlichen Abstand der Quelle ermitteln. Eine weitere Lösung ist die Verwendung einer Lieferliste (die könnten Sie z.B. mit der Methode z_binomial füllen). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 30. Dez. 2013 13:31 <-- editieren / zitieren --> Unities abgeben:
Danke für die Antwort. Den zeitlichen Abstand kenne ich eben nicht, das ist ja mein Problem. Ich habe nur die schwankende Anzahl der monatlichen Auftragseingänge. Über ein jahr gesehen, variieren diese eben nach der Binominal-Verteilung. Wie genau kann ich die Lieferliste mit z_binominal füllen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 30. Dez. 2013 17:10 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
|
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 31. Dez. 2013 11:40 <-- editieren / zitieren --> Unities abgeben:
Nein, eigentlich nicht. Das wäre die Notlösung. Mir liegen die monatlichen Auftragszahlen über drei Jahre vor. Somit habe ich eine durchschnittliche Anzahl der eingehenden Aufträge je Monat. Könnte man die monatliche Anzahl der Erzeugungen vorgeben und diese Anzahl mit einer Verteilung zu belegen? Ein weiterer Punkt ist, dass ich 10 Produktvarianten habe, die nach einer bestimmten Häufigkeit erzeugt werden sollen. Momentan habe ich dies über eine Auftragstabelle bei der BE-Auswahl in der Quelle hinterlegt. Für die 10 Teiletype sind diverse Attribute hinterlegt sowie ein Arbeitsplan. Ich hoffe, dass erschwert die Verteilungsproblematik nicht zu sehr. Vielen Dank und guten Rutsch... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 02. Jan. 2014 12:30 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Sie könnten aus der monatlichen Arbeitszeit und den Aufträgen je Monat jeweils einen Abstand der Aufträge berechnen und diese dann noch einmal durch Datafit auswerten lassen. Dann bekommen Sie die Streuung, die Sie in der Quelle bei Abstand hinterlegen können. Eine andere Möglichkeit ware, jeden Monat in der Simulation den Abstand der Quelle neu zu setzen (Generator + Methode). Das macht Sinn, wenn Sie saisonale Schwankungen haben. Dafür bräuchten Sie dann die Schwankung der Auftragszahlen je Monat (z.B. Aufträge im Januar...und viel mehr Daten). Die 10 Produktvarianten können Sie mit der BE-Auswahl Zufall erzeugen. Das Füllen der Arbeitspläne könnten Sie dann in der Ausgangssteuerung(Heck) der Quelle vornehmen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 02. Jan. 2014 17:24 <-- editieren / zitieren --> Unities abgeben:
Danke für den Hinweis, das klingt für mein Problem schon sehr passend. Ich habe im Moment leider noch keine Idee wie das mit Generator und Methode funktionieren soll. Zumindest der Methodeninhalt ist mir unklar. Wie könnte das ungefähr realisiert werden? Vielen Dank Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 02. Jan. 2014 20:50 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Das mit dem Generator finden Sie in der Hilfe: folgende Idee: der Generator ruft alle 24 Stunden eine Methode auf. Die Methode überrüft den aktuellen Monat mit einem vorher gespeicherten Wert. Wenn der Wert sich ändert (neuer Monat), dann setzen Sie Quelle.abstand neu. Mit quelle.abstand.setzeParam(...) siehe Hilfe können Sie Verteilungsparameter setzen (z.B. für eine Gleichverteilung). Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 02. Jan. 2014 20:53 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
|
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 03. Jan. 2014 12:18 <-- editieren / zitieren --> Unities abgeben:
Hallo, ich habe es mit dem Generator hinbekommen. Vielen Dank. Ein Problem bleibt aber... Ich habe für jeden Monat eine Gleichverteilungsfunktion der Erzeugungsabstände gewählt, bspw. "gleich", 1:16:48:00, 2:09:36:00. Diese Zeiten werden auch in die Quelle übertragen. Wie man sehen kann, sind die Abstände immer mind. länger als ein Tag. Trotzdem erzeugt die Quelle die meisten Teile nach weniger als 20 h oder nach noch kürzeren Abständen. Woran kann das liegen? Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 03. Jan. 2014 12:46 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Die Quelle erzeugt das erste Teil zum Zeitpunkt der bei Start in die Quelle eingetragen ist (normalerweise 0), von dort an werden die BEs in den eingestellten Abständen erzeugt. Sie können das im Ereignisverwalter überprüfen, die Quellen erzeugen Ereignisse vom Typ createMU. Wenn Sie nicht gleich am Anfang ein BE erzeugen wollen, dann müssen Sie eine Zeit bei Start eingeben. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 03. Jan. 2014 13:31 <-- editieren / zitieren --> Unities abgeben:
Ja, das weiß ich. Es liegt ja nicht am ersten Teil, dass erzeugt wird, sondern im gesamten Verlauf der Simulation. Ich habe Ihnen ein Sceenshot der Erzeugungstabelle angefügt. Die Einstellung der Quelle bzgl. Erzeugungsabstand stimmt, aber der tatsächliche Abstand nicht. Könnte es evtl. an der Methode des Generators liegen? Habe die Methode ebenfalls angefügt. Die Methode wird einmal am Tag abgerufen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 03. Jan. 2014 14:14 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Haben Sie einen Schichtkalender der Quelle zugeordnet? Wenn ja, dann versuchen Sie es einmal in der Quelle mit deaktiviertem blockierend. Sonst speichert die Quelle die erfolglos erzeugten BEs. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 03. Jan. 2014 15:11 <-- editieren / zitieren --> Unities abgeben:
|
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 03. Jan. 2014 15:21 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Die Anzahl je Tag müssen Sie auf die Arbeitszeit beziehen (z.B. 8 Stunden je Tag). Die Quelle erzeugt auch in der ungeplanten Zeit Teile, bei nicht blockierend "verpuffen" aber diese BEs, die Sie außerhalb der Arbeitszeit erzeugen. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 03. Jan. 2014 15:53 <-- editieren / zitieren --> Unities abgeben:
Ok, verstanden. super! Vielen Dank für die Erklärungen. Sie haben mir echt super weitergeholfen. Ich würde noch mal kurz auf die Methode i.V.m. dem Generator zurückgehen. Könnten Sie mir kurz einen beispielhaften Methodenaufbau mit den Ablauf der o.g. Aufrufen geben? Ich denke nämlich, dass genau dort bei mir der Fehler liegt. Zitat: Die Methode überrüft den aktuellen Monat mit einem vorher gespeicherten Wert. Wenn der Wert sich ändert (neuer Monat), dann setzen Sie Quelle.abstand neu.
Wie ist das mit dem vorher gespeicherten Wert gemeint? Wie und wo wird gespeichert? Sorry für die vielen Fragen und tausend Danke! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Bon Simul Mitglied Simulant
Beiträge: 1250 Registriert: 08.08.2011 Plant Simulation 10.1, 11 ff Professional
|
erstellt am: 03. Jan. 2014 16:07 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
am besten eine globale Variable (z.B. monat : integer) mit einem Anfangswert von 0. Ihre ganze Methode setzen Sie in eine Bedingung. Am Ende der Methode setzen Sie den Wert der globalen Variable.
Code:
if monat /= month(ereignisverwalter.absZeit) then -- ihre methodeend; --globale variable neu setzen monat:=month(ereignisverwalter.absZeit);
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 03. Jan. 2014 17:43 <-- editieren / zitieren --> Unities abgeben:
|