|
Autor
|
Thema: Supply Chain Modellierung (810 mal gelesen)
|
Susan16 Mitglied
 Beiträge: 6 Registriert: 10.07.2006
|
erstellt am: 10. Jul. 2006 21:07 <-- editieren / zitieren --> Unities abgeben:         
Hallo, ich will eine Supply Chain modellieren, an der ich dann Bedarfsstrategien teste. Den Produzenten habe ich als Quelle, die Endkunden als Senke modelliert. Groß- und Einzelhändler habe ich mit einem Puffer abgebildet. Die Endkunden (Senke) entnimmt laut einer Wahrscheinlichkeitsverteilung Teile. Am Ende des Tages soll der Einzelhändler testen, ob ein Meldebestand erreicht ist und falls ja eine Bestellung für den nächsten Tag (oder andere Zeitspanne) generieren. Der Großhändler verfährt ebenso. (in diesem Fall Meldebestandsverfahren - soll jedoch auf andere Strategien angepasst werden) Ich wollte die Bestellungen mit den Zeitpunkten in Tabellen abbilden. Eine Zeitsteuerung habe ich in der Init-Methode hinterlegt. Mein Problem: Ich habe getestet, ob die Bestände am Ende des Tages korrekt abgerufen werden. Diese habe ich in die Tabelle Bestände geschrieben. Nun habe ich festgestellt, dass der Bestand an jedem Tag neu geschrieben wird, also nicht addiert wird. Wenn am Tag 1 noch 1 BE im Puffer vorhanden ist, sollte dieses auch am nächsten Tag dazugezählt werden. Methode zum Füllen der Tabelle (MBestände): is do Bestände["Tag",tag]:=Tag; Bestände["Endkunde",tag]:=endkunde.statanzahlEin; Bestände["Einzelhändler",tag]:=einzelhändler.anzahlBEs; Bestände["EinzelhändlerEin",tag]:=einzelhändler.statanzahlEin; Bestände["EinzelhändlerAus",tag]:=einzelhändler.statanzahlAus; Bestände["Großhändler",tag]:=großhändler.anzahlbes; Bestände["GroßhändlerEin",tag]:=großhändler.statAnzahlEin; Bestände["großhändlerAus",tag]:=großhändler.statAnzahlAus; Bestände["Produzent",tag]:=produzent.statanzahlAus; Tag:=tag+1; end; Wie kann ich dieses Problem richten? Habt ihr vielleicht eine bessere Idee zu der Aufgabenstellung? Für Hilfe bin ich sehr dankbar, denn mir rennt langsam die Zeit weg Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
DFault Mitglied
 
 Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 11. Jul. 2006 09:22 <-- editieren / zitieren --> Unities abgeben:          Nur für Susan16
Ich würde jetzt einfach mal ganz naiv behaupten, in dem Du die gemeldeten Bestänge addierst. Also z.B.: Bestände["Einzelhändler",tag]:=Bestände[3,1] + einzelhändler.anzahlBEs; ------------------ Um im Leben wirklich Erfolg zu haben, muss man sich fest an zwei Regeln halten: 1. Erzhäl' nicht alles was Du weißt! Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
math4fun Mitglied
 
 Beiträge: 167 Registriert: 12.12.2005
|
erstellt am: 11. Jul. 2006 14:10 <-- editieren / zitieren --> Unities abgeben:          Nur für Susan16
Mir scheint, die Methode MBestände wird nicht - wie erwartet - periodisch aufgerufen. Vorschlag für Init und MBestände: ref(MBestände}.methAufr(24 * 3600); Vorschlag 2: Wenn nur ein Produkt untersucht wird, registriere den Bestand in einer Variable, die man mit dem Diagramm anzeigen kann. Das hilft auch bei der Validierung des Modells. Vielleicht ändert sich wirklich nichts und Du bekommst es garnicht mit. ------------------ PM www.math4fun.de Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Susan16 Mitglied
 Beiträge: 6 Registriert: 10.07.2006
|
erstellt am: 11. Jul. 2006 18:09 <-- editieren / zitieren --> Unities abgeben:         
@ Dfault: Danke für den Hinweis. Genau die gleiche Idee hatte ich auch. Habe es so versucht: Bestände["Einzelhändler",tag]:=einzelhändler.anzahlBEs+Bestände["Einzelhändler",tag-1]; Also immer den Wert des Vortages dazuzählen. Da bekomme ich aber immer die Fehlermeldung: "Fehler in Methode '.Modelle.Netzwerk.MBestände' in Zeile 5: Die Datentypen der Operanden sind nicht kompatibel." Wenn ich allerdings eine direkte Zuweisung mache (bspw. Bestände["Einzelhändler",1] funktioniert es. Es soll ja aber immer fortgeschrieben werden und nicht von einem Wert abhängig sein. Liegt das vielleicht an der Variable? @ math4fun: Vielen Dank! Zeitsteuerung funktioniert so... Es kann jedoch sein, dass die Init noch erweitert wird und ich dort dann die bisherige Zeitsteuerung wieder brauche. Die Umsetzung in Variablen werde ich dann noch machen.
Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
Ex-Mitglied
|
erstellt am: 11. Jul. 2006 18:28 <-- editieren / zitieren -->
Hi, also ueber das Attribut großhändler.anzahlbes kannst Du permanent den Bestand abfragen.Es braucht also nicht der Bestand vom Vortag hinzuaddiert werden. Deshalb bin ich auch math4fun´s Meinung, dass es wahrscheinlich etwas mit der Methode "Mbestände" und den zugehörigen Variablen (Tag...) zutun hat. @init-Methode wenn Du zyklisch eine Methode aufrufen willst, kannst Du hierfür auch den Generatorbaustein nutzen. Ist vielleicht etwas eleganter als alles in die init-Methode zu verfrachten. @Bestände["Einzelhändler",tag]:=einzelhändler.anzahlBEs+Bestände["Einzelhändler",tag-1]; Ich vermute die Meldung kommt bei tag=1. Mit "Bestände["Einzelhändler",tag-1]" greifst Du dann auf den Zeilenindex (0) , der defaultmässig das string-Format hat, zu. Somit versuchst Du eine integer-Zahl mit einem string zu addieren und in einer integer-Zelle abzuspeichern. Gruss ------------------ Der Simulator |
DFault Mitglied
 
 Beiträge: 123 Registriert: 19.10.2005
|
erstellt am: 11. Jul. 2006 19:00 <-- editieren / zitieren --> Unities abgeben:          Nur für Susan16
|

| | Projektkoordinator | Versorgungs- und Gebäudetechnik m/w/d | Bonjour, Servus, Grüezi und Hallo, wir sind SPIE Germany Switzerland Austria. Wir - das sind 20.000 Technikbegeisterte an 250 Standorten in Deutschland, der Schweiz, Österreich und darüber hinaus, die sich gemeinsam mit unseren Kunden für eine klimafreundliche und digitale Zukunft stark machen. Mit unserer umfassenden Expertise und Begeisterung für technische Dienstleistung geben wir das Beste für unsere Kunden - jeden Tag, in jedem Projekt.... | | Anzeige ansehen | Feste Anstellung |
|
Susan16 Mitglied
 Beiträge: 6 Registriert: 10.07.2006
|
erstellt am: 11. Jul. 2006 19:47 <-- editieren / zitieren --> Unities abgeben:         
|
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
 |