Hot News:

Unser Angebot:

  Foren auf CAD.de (alle Foren)
  TM - Plant Simulation
  GAAssistent GAWizard - Fehlermeldung

Antwort erstellen  Neues Thema erstellen
CAD.de Login | Logout | Profil | Profil bearbeiten | Registrieren | Voreinstellungen | Hilfe | Suchen

Anzeige:

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen nächster neuer Beitrag | nächster älterer Beitrag
Autor Thema:  GAAssistent GAWizard - Fehlermeldung (218 mal gelesen)
doppel.m
Mitglied
Student

Sehen Sie sich das Profil von doppel.m an!   Senden Sie eine Private Message an doppel.m  Schreiben Sie einen Gästebucheintrag für doppel.m

Beiträge: 4
Registriert: 21.03.2021

erstellt am: 21. Mrz. 2021 17:41    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Bild1.png

 
Fehlermeldung: nextIndividual outputs error Die linke und die rechte Seite der Zuweisung sind nicht kompatibel. in method .Tools.GAAssistent.Internal.Tools.PrepProblDef (line 237)

Hallo zusammen,

ich bin gerade an meiner Thesis und versuche ein schon bestehendes Modell mit dem GAAssistent auszustatten.
Hierbei möchte ich die Anzahl der Maschinen untersuchen, die ich für bestimmte Auftragslagen benötige. Mit dem GAAssistent erhoffe ich mir durch den Evolutionären Algorithmus bessere und gezieltere Lösungen zu finden.
Die Anzahl der Maschinen je Maschinentyp habe ich hierbei als Modellparameter definiert (Z.B. von 1 bis 4 St. )
[Parameter] [Anzahl der Maschinen]
Unter Stufe 1
Obere Stufe 4
Schrittweite 1

Die Zielgröße ist die Anzahl der maximal erzeugten BEs die am Ende aus meiner Halle kommen und in einer Senke vernichtet werden.
[ Root.Senke.StartThroughputPerHour  1.00000 ]

Hierbei verwende ich eine Methode die Maschinentypen mit unterschiedlichen Anzahlen erzeugen kann.
Beim Starten wird jedes Mal durch die Methode [Erzeugen] die komplette Halle zuerst zurücksetzt, die neue gewünschte Anzahl der Maschinen in eine Tabelle eingetragen und dann wird die Halle wieder neu erzeugt.
Wenn ich den GAAssistenten nun Starte kommt es zu einer Änderung der Maschinenanzahl jedoch sehe ich leider nicht ob das Modell auch gestartet wird.

Zudem wird in der Tabelle [root.GAAssistent.Recording] in der ersten Zeile folgendes eingetragen :

nextIndividual outputs error Die linke und die rechte Seite der Zuweisung sind nicht kompatibel. in method .Tools.GAAssistent.Internal.Tools.PrepProblDef (line 237)

Kennt sich jemand mit dieser Fehlermeldung aus und kann mir vielleicht dabei helfen?

Vielen Dank im Voraus!

Viele Grüße und bleibt gesund euer doppel.m


Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nadin1223
Mitglied
Ing.


Sehen Sie sich das Profil von nadin1223 an!   Senden Sie eine Private Message an nadin1223  Schreiben Sie einen Gästebucheintrag für nadin1223

Beiträge: 711
Registriert: 29.03.2016

erstellt am: 22. Mrz. 2021 11:01    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für doppel.m 10 Unities + Antwort hilfreich

Moin,

Zitat:
Hierbei möchte ich die Anzahl der Maschinen untersuchen, die ich für bestimmte Auftragslagen benötige.

in der Beispielmodellsammlung (Tools-> Generische Algorithmen-> Mehrere Optimierungen) kommt deinem Ziel sehr nahe..

Zitat:
Root.Senke.StartThroughputPerHour

Ich vermute mal, dies ist ein Benutzer Attribut, welches die BEs zählt. (ich glaube ehe nicht, dass es an dem Output liegt. So ganz kann ich es aber auch nicht ausschließen)

Zitat:
Wenn ich den GAAssistenten nun Starte kommt es zu einer Änderung der Maschinenanzahl jedoch sehe ich leider nicht ob das Modell auch gestartet wird.

platziere Debug oder Print in deine Methode(n). Der Aufruf wird hierdurch besser verständlicher. Es scheint (laut dienem Bild): der erste Run ist erfolgreich gestartet, aber nicht beendet.

Zitat:
nextIndividual outputs error Die linke und die rechte Seite der Zuweisung sind nicht kompatibel. in method .Tools.GAAssistent.Internal.Tools.PrepProblDef (line 237)


Also PredProblDef ist eine Methode in der Bibliothek selbst. Diese Methode erwartet als Input die ProblemDefinition-Tabelle aus dem GAA, welches im Netzwerk abgelegt ist. (ProblemDefinition ist die Tabelle, welche unter GAA ->Define Reiter -> Optimization parameter angezeigt wird).
Dies ist eig. eine Fehlermeldung (eig. sollte auch min. eine Infomeldung erscheinen)
Die Zeile sagt aus, dass irrgendwas in der Formatierung dieser Tabelle nicht mit der Formaterwartung passt. Und weil GAA Quellcode verschlüsselt ist, kann ich leider nicht mehr dazu schreiben. Am besten so weit wie möglich am oberen Beispiel orientieren.

vG
Nadin

------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

doppel.m
Mitglied
Student

Sehen Sie sich das Profil von doppel.m an!   Senden Sie eine Private Message an doppel.m  Schreiben Sie einen Gästebucheintrag für doppel.m

Beiträge: 4
Registriert: 21.03.2021

erstellt am: 24. Mrz. 2021 16:55    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities


Screenshot2021-03-24161951.png


bestFitness.png

 
Hallo Nadin!

Erstmal vielen vielen Danke für die schnelle und super Antwort!

Zitat:
in der Beispielmodellsammlung (Tools-> Generische Algorithmen-> Mehrere Optimierungen) kommt deinem Ziel sehr nahe..

Genau das möchte ich ein bisschen abgeändert untersuchen!

Ändert man hier in der Methode [PrepareGA] die Fitneswertzuweisung zu
--> "FitnessTab.writeRow(1,1,"root.Drain.statThroughputPerHour",1)
kommt auch schon die Aussage, 10 Maschinen sind am Besten.

Bei dem Beispielmodell verstehe ich allerdings nicht, wie die Ausführung mit der Tabelle [ProcessTable] stattfindet. (Bild 1)

Mit den Prozessen Op_1 bis Op_10 sind wahrscheinlich die unterschiedlichen Ausführungen mit 1 bis 10 Maschinen gemeint

1.1 Was macht allerdings die andere Spalte mit "Where can be done" ?

1.2 Und was wird hierbei dann in die Optimierungsparameter Tabelle übergeben?

1.3 Was wird in der Optimierungsparameter-Tabelle durch die untere und obere Stufe untersucht und um was handelt es sich jeweils hierbei?


---------------------------------------------------------------------------


In meinem Fall würde ich gerne die Optimierungsparameter nutzen um zum Beispiel zwischen einer Maschine [1] (Untere Stufe) bis 10 Maschinen [10] (Obere Stufe) für eine gewünschte Produktionsmenge [FitnessTab.writeRow(1,1,"root.Drain.statThroughputPerHour",1)]
die beste Anzahl an Maschinen herauszufinden.

(z.B. würde dann rauskommt --> für 250 BEs pro Tag braucht man 6 Maschinen)

Beim versuchen mit dem Beispielmodell und der Fitnesszuweisung root.Drain.statThroughputPerHour kommt bisher die maximale Anzahl als beste Variante raus.

Ich habe versucht in der Methode [PrepareGA] einen Fitnesswert (also eine gewünschte Anzahl an BEs) festzulegen 
GAwizard.BestFitness := 250
Dieser wird auch durch die Methode in den GAwizard eingetragen (Bild 2) jedoch im Prozess dann von dem Besten (hier 400) überschrieben


(ansonsten lasse ich die [Results] Tabelle auslesen mit der besten Übereinstimmung, jedoch hab ich dann nicht die Funktion des GAwizards ausgenutzt, die bestmögliche Kombination auszurechnen...)


Falls hier noch jemand einen Lösungsansatz hat wäre das super!


Vielen Dank an alle im Voraus und bleibt gesund!

Grüße euer doppel.m

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

nadin1223
Mitglied
Ing.


Sehen Sie sich das Profil von nadin1223 an!   Senden Sie eine Private Message an nadin1223  Schreiben Sie einen Gästebucheintrag für nadin1223

Beiträge: 711
Registriert: 29.03.2016

erstellt am: 25. Mrz. 2021 22:48    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für doppel.m 10 Unities + Antwort hilfreich


GAA_multi_Kleinumbau.jpg

 
Zitat:
Mit den Prozessen Op_1 bis Op_10 sind wahrscheinlich die unterschiedlichen Ausführungen mit 1 bis 10 Maschinen gemeint

Op_1 bis Op_10 sind die Namen der BEs, welche die Source verlassen.

Zitat:
1.1 Was macht allerdings die andere Spalte mit "Where can be done" ?

Gibt an, zu welchen Nachfolger dieser BE geht. Ist die Ausgangssteuerung in Source.

Zitat:
1.2 [...]  1.3

der Nachfolger, wohin umgelagert wird.
Also in dem Beispiel sind es zwei Optimierungen... eine sind die Nachfolger (das ist die Tabelle, die mittels "Preparation"-Methode gesetzt wird.) Das Zweite sind die Anzahl der Maschinen (das ist die "Completion"-Methode).
Die "Completion" setzt auch die "Machines"-Variable hoch und startet GAA neu, solange die gewünste Anzahl an Machines nicht erreicht ist.

----------------------
beispielsweise Bild zeigt, wie das Beispiel "Multiple_Optimizations" angepasst werden könnte, damit die "Mashines"-Variable untersucht wird.

------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

doppel.m
Mitglied
Student

Sehen Sie sich das Profil von doppel.m an!   Senden Sie eine Private Message an doppel.m  Schreiben Sie einen Gästebucheintrag für doppel.m

Beiträge: 4
Registriert: 21.03.2021

erstellt am: 26. Mrz. 2021 02:15    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities

Hallo Nadin!

Super vielen Dank für die Hilfe und das Beantworten der Fragen!
Dein Modell funktioniert super!
Ich versuch die Änderungen schnellstmöglich auf mein Modell umzusetzen.

Ist es vielleicht noch mit dem Fitnesswert oder einer anderen Methode möglich zu sagen, dass man nicht auf "Maximum" produzieren möchte sondern eine gewisse Anzahl an BEs?

Nochmals vielen Dank!

Mit freundlichen Grüßen
doppel.m

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP



Lead Engineer (m/w/d) eAxle
Modernste Antriebstechnik für eine nachhaltige Zukunft der Mobilität ? das ist unser Ziel als erfolgreiches Joint Venture. Valeo Siemens eAutomotive profitiert vom fachlichen Know-how und der ?Automotive-DNA? des Automobilzulieferers Valeo sowie der Technologiestärke in der Automatisierungs- und elektrischen Antriebstechnik von Siemens. Als Lieferant für Automobilhersteller stehen wir weltweit für ...
Anzeige ansehenMechatronik
nadin1223
Mitglied
Ing.


Sehen Sie sich das Profil von nadin1223 an!   Senden Sie eine Private Message an nadin1223  Schreiben Sie einen Gästebucheintrag für nadin1223

Beiträge: 711
Registriert: 29.03.2016

erstellt am: 26. Mrz. 2021 18:14    Editieren oder löschen Sie diesen Beitrag!  <-- editieren / zitieren -->   Antwort mit Zitat in Fett Antwort mit kursivem Zitat    Unities abgeben: 1 Unity (wenig hilfreich, aber dennoch)2 Unities3 Unities4 Unities5 Unities6 Unities7 Unities8 Unities9 Unities10 Unities Nur für doppel.m 10 Unities + Antwort hilfreich

Zitat:
Ist es vielleicht noch mit dem Fitnesswert oder einer anderen Methode möglich zu sagen, dass man nicht auf "Maximum" produzieren möchte sondern eine gewisse Anzahl an BEs?

Die Simulation beenden, sobald die Anzahl Bes in Senke ist ...
bzw.
Die Anzahl an Bes in Quelle einstellen ...

------------------
Die einfachste Art an korrekte Informationen zu gelangen ist, etwas Falsches in ein Forum zu posten und auf die Korrektur zu warten. (Matthew Austern)

Eine Antwort auf diesen Beitrag verfassen (mit Zitat/Zitat des Beitrags) IP

Anzeige.:

Anzeige: (Infos zum Werbeplatz >>)

Darstellung des Themas zum Ausdrucken. Bitte dann die Druckfunktion des Browsers verwenden. | Suche nach Beiträgen

nächster neuerer Beitrag | nächster älterer Beitrag
Antwort erstellen


Diesen Beitrag mit Lesezeichen versehen ... | Nach anderen Beiträgen suchen | CAD.de-Newsletter

Administrative Optionen: Beitrag schliessen | Archivieren/Bewegen | Beitrag melden!

Fragen und Anregungen: Kritik-Forum | Neues aus der Community: Community-Forum

(c)2021 CAD.de | Impressum | Datenschutz