Autor
|
Thema: Ziehensteuerung mit Regelprüfung (1939 mal gelesen)
|
Prosinecki.MM Mitglied Student
Beiträge: 23 Registriert: 15.11.2013 Plant Simulation 11.0.0
|
erstellt am: 02. Feb. 2014 13:39 <-- editieren / zitieren --> Unities abgeben:
Hallo, da mein letzter Beitrag nicht zum gewünschten Ergebnis geführt hat, jetzt noch mal konkretisiert... Ich brauche dringen Eure HILFE... Folgendes Problem: Ich habe folgende Ziehensteuerung: Code:
is blockliste:table; x,y, Zeile:integer; do blockliste.create; ?.VBlockierliste(Blockliste); if P_Produktionsscheiben.leer then ?.entblockieren(Blockliste[1,1]); end;
if P_Produktionsscheiben.pe(1,1).inhalt /= void then from y:= 1 until y=P_Produktionsscheiben.ydim+1 loop from x:=1 until x=P_Produktionsscheiben.xdim+1 loop if P_Produktionsscheiben.pe(x,y).inhalt = void then Zeile:=y; if x <= 3 then ?.entblockieren(Blockliste[1,1]); elseif x > 3 then root.M_RFRegel end; end; x:=x+1; end; y:=y+1; end; end; end;
Die Steuerung ist in einer Förderstrecke integriert und soll aus 5 Sortierern, welche je eine Variante enthalten, die passenden Produktvarianten V1 bis V5 auswählen. Die Varianten sind als Attribute in den BEs hinterlegt. Soweit funktioniert die Steuerung auch. Das Problem liegt bei der Methode "M_RFRegel", welche ich oben fett markiert habe. Ich habe bestimmte Restriktionen gegeben, wie dieVarianten gezogen werden dürfen. V1: max 4x V2: max 4x V3: max 2x V4: 1x V5: 1x Dazu dürfen bestimmte Varianten nicht aufeinanderfolgende, sonder müssen einen gewissen Abstand einhalten. Bsp.: V5 darf nur mit einem Abstand von 3 BEs auf V4 folgen (und umgekehrt) Die Reihenfolge ist auf max. 10 BEs beschränkt. Alle BEs, die von dem Förderband gezogen werden, "tragen" ihre Variante in eine Tabelle "T_RF" ein. Habe ein Beispiel in den Anhang gelegt. Nach 10 Teilen wird der Tabelleninhalt wieder gelöscht. Meine Idee war es, die Methode "M_RFRegel" die Restriktionen anhand der bereits eingeplanten BEs (in Tabelle T_RF geschrieben) zu prüfen und eine Variante zu bestimmen, welche in der Vorwärtsblockierliste entblockiert wird. oder Die erste Stelle der Blockliste und die beinhaltete Variante mit den Restriktionen abzugleichen. Somit zu prüfen, es in die Reihenfolge passt. Wie kann ich das umsetzen?? Bitte helft mir! Danke schon mal... Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sjerenz Mitglied Planer
Beiträge: 33 Registriert: 15.07.2013 Plant Simulation 10.1
|
erstellt am: 04. Feb. 2014 07:15 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Hallo, ich verstehe dein Problem leider nicht. Du willst die verschiedenen Restriktionen für die Auswahl der nächsten zu ziehenden Variante in eine Methode "packen", richtig? Dann beschreibe bitte genauer dein Problem dabei: - Welche Restriktionen hast du? - Wo besteht dabei dein Problem? Gruß Stefan 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: 04. Feb. 2014 08:55 <-- editieren / zitieren --> Unities abgeben:
Hej, ich habe zum besseren Verständnis noch mal ein Screenshot von dem Modell eingefügt. Die Restriktionen stehen bereits oben im ersten Beitrag: in 10 aufeinanderfolgende BEs dürfen die Varianten 1 bis 5 in folgender Verteilung vorkommen. V1: max 4x V2: max 4x V3: max 2x V4: 1x V5: 1x Zusätzlich gibt es noch Abstandsrestriktionen für bestimmte Varianten (auch oben schon an einem Beispiel erwähnt): - V5 darf nur mit einem Abstand von 3 BEs auf V4 folgen (und umgekehrt) - V5 nicht 2x hintereinander - etc. Mein Problem ist, dass ich nicht weiß, wie ich der Ziehensteuerung vermitteln kann, dass diese anhand der aufgestellten Restriktionen die richtige Variante zieht. Die Ziehensteuerung ist in der "Förderstrecke1" und soll aus den Vorgängern "P_V1" bis "P_V5" die richtigen Varianten "ziehen". Meine bisherigen Ideen habe ich oben auch schon erläutert, aber ich bin an der Umsetzung gescheitert. Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sjerenz Mitglied Planer
Beiträge: 33 Registriert: 15.07.2013 Plant Simulation 10.1
|
erstellt am: 04. Feb. 2014 12:17 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Hallo, die Nachfragen waren nur, da du geschrieben hattest, dass du noch weitere Restriktionen hast, die du aber nicht aufgeführt hattest. In Abhängigkeit von allen Restriktionen würde ich eine Kombination von Zufallszahlen, Wahrscheinlichkeiten und Schleifen in einer Methode erstellen (im Attribut "Ziehen" der Förderstrecke integrieren), um die gewünschte Funktionalität sicherzustellen. Konkreter: 1. Auswertung der Tabelle "T_RF"; Zusammenzählen sowie Auswerten der bisherigen Varianten. --> Ausschluss nicht mehr möglicher Varianten (maximale Anzahlen, verbotene Reihenfolgen, usw.) 2. Zufällige Bestimmung der nächsten Variante (falls mehrere gleichrangig möglich), eventl. unter Nutzung von Wahrscheinlichkeiten (in Abhängigkeit von bereits produzierten und kommenden Varianten). Für eine genauere Umsetzung oder Tipps zu Umsetzungsmöglichkeiten einzelner Problemfälle bräuchte ich aber ALLE Restriktionen. Nur dann kann ich (gilt vlt. nur für mich) bessere Hilfestellungen gebe. Ach ja: Das Löschen der Tabelle "T_RF" nach 10 Elemente würde ich aber nicht machen, sondern diese rollierende überschreiben. Da du geschrieben hast, dass die Restriktionen für 10 aufeinanderfolgdene Elemente gelten sollen, wäre eine Trennung nach immer 10 Varianten nicht richtig. (vielleicht hab ich dich aber in diesem Punkt falsch verstanden). Grüße Stefan
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: 04. Feb. 2014 13:04 <-- editieren / zitieren --> Unities abgeben:
Ja, das klingt wirklich nach einem sinnvollen Ansatz. Hier alle Restriktionen im Überblick:
für 10 aufanderfolgende BEs gilt: V1: max 4x V2: max 4x V3: max 2x V4: 1x V5: 1x außerdem: -> zwei gleiche Varianten nicht hintereinander -> Variante 5 und 4 Mindestabstand 3 BEs -> Varianten 2,3,4 in keiner Kombination hintereinander -> Variante 3 jeweils Mindestabstand von 2 BEs zu V4 oder V5
Zum besseren Verständnis: Hinter den Varianten stehen bestimmte Bearbeitungszeiten. V1 ist die niedrigste und V5 die höchste Bearbeitungszeit. Den Restriktionen gehen diverse Reihenfolgeanalysen voraus. Ziel war es, eine Variantenkombination zu finden, durch welche es zu einer Verringerung von Zeitschwankungen kommt. Bisher habe ich nur ein feste Reihenfolge in einer Flusssteuerung hinterlegt. Durch die Restriktionsabfrage soll es realistischer gestaltet werden. Ich hoffe, das ist irgendwie umsetzbar. Wie kann ich die rollierende Überreibung der Tabelle realisieren. Vielen Dank schon mal für deine Hilfe Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
sjerenz Mitglied Planer
Beiträge: 33 Registriert: 15.07.2013 Plant Simulation 10.1
|
erstellt am: 05. Feb. 2014 14:18 <-- editieren / zitieren --> Unities abgeben: Nur für Prosinecki.MM
Hallo, eine vollständige Lösung werde ich nicht posten. Wenn du aber Probleme in Einzelfällen oder in bestimmten Passagen deiner Methode hast, schaue ich gern drüber. Das allgemeine Vorgehen hatte ich ja schon beschrieben. Du musst jetzt "nur" noch zu den einzelnen Regeln überprüfbare Ausdrücke finden und diese in die richtige Reihenfolge bringen. Zur rollierenden Tabellenbeschreibung: Es werden nach und nach die einzelnen Zeilen beschrieben. Wenn alle Zeilen voll sind, musst du also nur den Inhalt der zweiten Zeile in die erste schreiben, dann den Inhalt der dritten in die Zweite usw. bis dann die 10. in die neunte kommt. Dann die letzte/neue Variante in Zeile 10 schreiben. Allgemein klingt das Problem aber nicht nach einem simulativen, sondern nach einem aus dem Themenbereich Sortier- oder Suchalgorithmen.
Grüße Stefan
[Diese Nachricht wurde von sjerenz am 05. Feb. 2014 editiert.] Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP |
| Anzeige.:
Anzeige: (Infos zum Werbeplatz >>)
|