Software: SimX - Nadelantrieb - Robust-Optimierung - Experimentkonfiguration: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
 
(42 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse|&rarr;]] </div>
[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse|]] </div>
<div align="center">''' Robust-Optimierung (Experiment-Konfiguration) '''</div>
<div align="center">''' Robust-Optimierung (Experiment-Konfiguration) '''</div>
=== Mehrkriterielle Robust-Optimierung ===
=== Mehrkriterielle Robust-Optimierung ===
Wir wollen nun '''ausgehend vom Bestwert der Ausschuss-Minimierung''' eine robuste Lösung für unseren Antrieb suchen, die folgenden Kriterien möglichst gut genügt:
Wir wollen nun '''ausgehend vom Bestwert der Ausschuss-Minimierung''' eine robuste Lösung für unseren Antrieb suchen, die folgenden Kriterien möglichst gut genügt:
Zeile 8: Zeile 7:
* Die Spulenerwärmung soll möglichst gering sein (Mittelwert über eine Stichprobe).
* Die Spulenerwärmung soll möglichst gering sein (Mittelwert über eine Stichprobe).
* Die Streubreite der Spulenerwärmung ist funktionell von geringerer Bedeutung, solange die max. Erwärmung nicht markant überschritten wird. Deshalb streben wir im Rahmen dieser Robust-Optimierung keine Minimierung dieser Streuung an.
* Die Streubreite der Spulenerwärmung ist funktionell von geringerer Bedeutung, solange die max. Erwärmung nicht markant überschritten wird. Deshalb streben wir im Rahmen dieser Robust-Optimierung keine Minimierung dieser Streuung an.
* Wir wollen drei unterschiedlichen Gütekriterien möglichst gut genügen ('''Mehrkriterien-Optimierung'''). Zumindest die Ziele der Verringerung der Zykluszeit und der Spulenerwärmung widersprechen sich!   
* Es handelt sich hierbei um eine '''Mehrkriterien-Optimierung''', denn wir wollen drei unterschiedlichen Gütekriterien möglichst gut genügen. Zumindest die Ziele der Verringerung der Zykluszeit und der Spulenerwärmung widersprechen sich wahrscheinlich!   


Als unmittelbares Ergebnis einer Mehrkriterien-Optimierung wird eine Pareto-Menge der optimalen Kompromisslösungen ermittelt:
Als unmittelbares Ergebnis einer Mehrkriterien-Optimierung wird eine Pareto-Menge der optimalen Kompromisslösungen ermittelt:
Zeile 21: Zeile 20:


'''''Hinweise:''''' <br>
'''''Hinweise:''''' <br>
* Wir nutzen weiterhin das SimulationX-Modell '''''Etappe6_xx.ism'''''. Da die multikriterielle Optimierung mittels Evolutionsstrategie (Co-evolutionäres Verfahren) zu "wilden" Schwingungen im Suchraum entlang der Pareto-Menge führt, erhöhen wir im Simulationsmodell '''tStop=20&nbsp;ms'''. Damit können auch extrem langsame Antriebsexemplare vollständig simuliert werden.
* Wir nutzen das neue SimulationX-Modell '''''Etappe6_xx_Robust.isx''''' ebenfalls als Kopie der Datei '''''Etappe5_xx_Nennwert.isx'''''.
* Wir verwenden einen neuen OptiY-Versuchsstand '''Etappe6_xx_Robust.opy'''. Diese Datei erzeugen wir als Kopie aus der Datei '''Etappe6_xx_Ausschuss.opy'''.  
* Wir verwenden einen neuen OptiY-Versuchsstand '''Etappe6_xx_Robust.opy'''. Diese Datei erzeugen wir als Kopie aus der Datei '''Etappe6_xx_Ausschuss.opy'''.  
* In dieser neuen Datei übernehmen wir den bei der Ausschuss-Optimierung erreichten '''Bestwert als Parameter''' als Ausgangslösung zur Robust-Optimierung.
* In dieser neuen Datei übernehmen wir den bei der Ausschuss-Optimierung erreichten '''Bestwert als Parameter''' und somit als Ausgangslösung für die Robust-Optimierung.
* Im Workflow wählen wir für das SimulationX-Modell die neue Datei '''''Etappe6_xx_Robust.isx'''''.
* Nach '''Rücksetzen des Projektes zum Löschen der veralteten Experimentdaten''' speichern wir '''Etappe6_xx_Robust.opy'''.
    
    
Für die Minimierung der Streuung von ''tZyklus'' benutzen wir im OptiY-Workflow die [http://de.wikipedia.org/wiki/Standardabweichung Standardabweichung]. Ihr Wert repräsentiert direkt die Streubreite in der verwendeten Maßeinheit. Deshalb ist die Standardabweichung physikalisch einfacher zu interpretieren als der zugehörige Varianz-Wert:
Für die Minimierung der Streuungen von '''tZyklus''' und '''dT_Draht''' benutzen wir im OptiY-Workflow die [https://de.wikipedia.org/wiki/Standardabweichung '''Standardabweichung'''] "'''sigma'''". Ihr Wert repräsentiert direkt die Streubreite in der verwendeten Maßeinheit. Deshalb ist die Standardabweichung physikalisch einfacher zu interpretieren als der zugehörige Varianz-Wert:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_workflow_robustopt.gif|.]]</div>
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_workflow_robustopt.gif| ]]</div>
Zur Berechnung von Mittelwert bzw. Standardabweichung (Streuung) der Gütekriterien nutzen wir die Möglichkeiten des für das Bearbeiten der Eigenschaften bereitgestellten "Rechners", z.B.:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_rechner_mit_mittelwert.gif| ]]</div>
Zur Berechnung von Mittelwert bzw. Standardabweichung (Streuung) der Gütekriterien nutzen wir die Möglichkeiten des für das Bearbeiten der Eigenschaften bereitgestellten "Rechners", z.B.:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_rechner_mit_mittelwert.gif| ]]</div>


=== Statistische Versuchsplanung ===
=== Statistische Versuchsplanung ===
In Hinblick auf die Wechselwirkungen zwischen den Parameter-Streuungen kann man im Beispiel annehmen, dass die gleichen Bedingungen gelten, wie bei der vorherigen Ausschuss-Minimierung.  
In Hinblick auf die Wechselwirkungen zwischen den Parameter-Streuungen kann man im Beispiel annehmen, dass die gleichen Bedingungen gelten, wie bei der vorherigen Ausschuss-Minimierung. Wir können deshalb für die probabilistische Simulation der Stichproben wieder das Moment-Verfahren mit dem Polynomansatz 2.&nbsp;Ordnung ohne Berücksichtigung von Interaktionen verwenden.
 
Wir können deshalb für die probabilistische Simulation der Stichproben wieder das Moment-Verfahren mit dem Polynomansatz 2.&nbsp;Ordnung ohne Berücksichtigung von Interaktionen verwenden.


=== Optimierungsverfahren ===
=== Optimierungsverfahren ===
Im Vergleich zu unseren bisherigen Optimierungsexperimenten haben wir nun ganz andere Bedingungen in Hinblick auf die Gütekriterien: [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_guetekriterien.gif|right]]
Im Vergleich zu unseren bisherigen Optimierungsexperimenten haben wir nun ganz andere Bedingungen in Hinblick auf die Gütekriterien:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_guetekriterien.gif|.]]</div>
* Bei ''Strafe'' und ''Versagen'' handelt es sich, wie bereits bekannt, um interne Gütekriterien innerhalb der hierarchischen Optimierungsstrategie.  
* Bei '''Strafe''' und '''Versagen''' handelt es sich, wie bereits bekannt, um interne Gütekriterien innerhalb der hierarchischen Optimierungsstrategie.  
* Jedoch sollen insgesamt drei "echte" Gütekriterien möglichst gleichzeitig in Hinblick auf ihre Werte minimiert werden!  
* Jedoch sollen nun insgesamt drei "echte" Gütekriterien möglichst gleichzeitig in Hinblick auf ihre Werte minimiert werden!
* Es ist sehr wahrscheinlich, dass es dabei zu Widersprüchen kommt und man sich letztendlich für eine Kompromisslösung entscheiden muss.  
* Es ist sehr wahrscheinlich, dass es dabei zu Widersprüchen kommt und man sich letztendlich für eine Kompromisslösung entscheiden muss.  
* Grundlage für diese Entscheidungsfindung ist die Pareto-Menge. Diese Lösungsmenge kann in OptiY nur bei Verwendung ''Evolutionärer Algorithmen'' ([http://www.evocomp.de/themen/evolutionsstrategien/evostrat.html '''Evolutionsstrategie''']) generiert werden:  
* Grundlage für diese Entscheidungsfindung ist die Pareto-Menge.  
* Das '''Hypervolumen''' als ein weiteres internes Gütekriterium wird bei mehr als zwei "echten" Gütekriterien hinzugefügt:
** Dieser Hypervolumen-Indikator ('''HVI''') wird zur Qualitätsbewertung von Pareto-Front Approximationsmengen in der Mehrkriterien-Optimierung eingesetzt.
** Über den '''HVI'''-Wert wird die Konvergenz der Lösungen in Richtung auf die Pareto-Menge gesteuert.
* Diese Pareto-Lösungsmenge kann in ''OptiY'' nur bei Verwendung ''Evolutionärer Algorithmen'' ([http://www.evocomp.de/themen/evolutionsstrategien/evostrat.html '''Evolutionsstrategie''']) generiert werden:  
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_evolutionsstrategie.gif| ]]</div>
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_evolutionsstrategie.gif| ]]</div>
* Für das Optimierungsproblem werden wir die Werte aus den Standardeinstellungen etwas modifizieren. Dazu müssen wir eine Umschaltung von "Standard" auf "Manuell" unf "Experte" vornehmen:
* Für das Optimierungsproblem werden wir die Werte aus den Standardeinstellungen etwas modifizieren. Dazu müssen wir eine Umschaltung von "Standard" auf "Experte" vornehmen:
** Wir arbeiten mit 3 Eltern, die gemeinsam in jeder Generation 15 Kinder durch Multirekombination erzeugen. Die Erhöhung der Elternzahl soll eine gewisse Glättung auf der etwas verrauschten Zielfunktion bewirken. Um den Selektionsdruck zu erhalten, musste die Kinderzahl entsprechend erhöht werden.  
** Wir arbeiten mit 3 Eltern, die gemeinsam in jeder Generation 15 Kinder durch Multirekombination erzeugen. Die Erhöhung der Elternzahl soll eine gewisse Glättung auf der etwas verrauschten Zielfunktion bewirken. Um den Selektionsdruck zu erhalten, musste die Kinderzahl entsprechend erhöht werden.  
** Das Eltern konkurrieren gemeinsam mit ihren Kindern darum, in der nächsten Generation wieder zu den 3 Eltern zu gehören (''Selektion=Plus'').  
** Die Eltern konkurrieren gemeinsam mit ihren Kindern darum, in der nächsten Generation wieder zu den 3 Eltern zu gehören (''Selektion=Plus'').  
** Die Anpassung der Mutationsschrittweite an die Zielfunktion erfolgt getrennt für jede Entwurfsgröße (''Schrittweitenregelung=Multischritt'').  
** Die Anpassung der Mutationsschrittweite an die Zielfunktion erfolgt getrennt für jede Entwurfsgröße (''Schrittweitenregelung=Multischritt'').  
** Die Anzahl der ''Optimierungsschritte=300'' beschreibt für das Optimierungsverfahren die Gesamtzahl der zu berechnenden Kinder. Man beachte, dass bei der zuverlässigkeitsbasierten Optimierung jedes "Kind" eine probabilistische Simulation einer Stichprobe darstellt, die mehrere (hier 7) Modell-Läufe benötigt!  
** Die Anzahl der ''Optimierungsschritte=300'' beschreibt für das Optimierungsverfahren die Gesamtzahl der zu berechnenden Kinder. Man beachte, dass bei der zuverlässigkeitsbasierten Optimierung jedes "Kind" eine probabilistische Simulation einer Stichprobe darstellt, die mehrere (hier 7) Modell-Läufe benötigt!  
** Die ''Anzahl der Pareto-Lösungen'' ist eine interne Steuergröße für die Co-evolutionären Prinzipien bei der Mehrkriterien-Optimierung. Dieser Wert=20 ist unabhängig von der Größe der Pareto-Menge, welche man für die Darstellung in Diagrammen festlegen kann!
** Die ''Anzahl der Pareto-Lösungen'' ist eine interne Steuergröße für die Co-evolutionären Prinzipien bei der Mehrkriterien-Optimierung. Dieser Wert=20 ist unabhängig von der Größe der Pareto-Menge, welche man für die Darstellung in Diagrammen festlegen kann!
'''''Hinweis'':''' Das Gütekriterium "'''Hypervolumen'''" erscheint erst im Experiment-Browser nach Wahl von "'''Evolutionsstrategien'''" als Optimierungsverfahren. Allerdings nur, wenn man im geöffneten Workflow irgendein Objekt anklickt oder die Datei nach dem Speichern wieder geöffnet wird (Darstellfehler?).


=== Entwurfsparameter (Nennwerte und Streuungen) ===
=== Entwurfsparameter (Nennwerte und Streuungen) ===
Die Lösung der Robust-Optimierung kann sich von dem Ergebnis der Ausschuss-Minimierung unterscheiden. Das wird jedoch durch die zusätzlichen Gütekriterien gesteuert.
Die Lösung der Robust-Optimierung kann sich von dem Ergebnis der Ausschuss-Minimierung unterscheiden. Das wird jedoch durch die zusätzlichen Gütekriterien gesteuert. Die Einstellungen für die Entwurfsparameter können wir fast unverändert von der Ausschuss-Minimierung übernehmen:
 
* Die Startwerte der Nennwerte müssen dem Bestwert aus der Ausschuss-Minimierung entsprechen.
Die Einstellungen für die Entwurfsparameter können wir unverändert von der Ausschuss-Minimierung übernehmen:
* Für die Spulentemperatur '''''T_Spule''''' benutzen wir als Konstante weiterhin den Bereichsmitten-Wert von 25°C.
* Die Startwerte der variablen Nennwerte sollten dem Nennwert-Optimum entsprechen.
* Die Startschrittweiten dienen nun als Maß für die Mutation.
* Die Startschrittweiten dienen nun als Maß für die Mutation.
* Als Grenzen für den Suchraum haben sich folgende Werte als günstig erwiesen, um z.B. negative Parameterwerte infolge "wilder" Schwingungen zu erschweren:
* Als Grenzen für den Suchraum haben sich folgende Werte als günstig erwiesen, um z.B. negative Parameterwerte infolge "wilder" Schwingungen zu erschweren:
Zeile 60: Zeile 59:
  '''w_Spule'''  : 200...1000  
  '''w_Spule'''  : 200...1000  
  '''R20_Spule''' : 0.1...10 Ohm
  '''R20_Spule''' : 0.1...10 Ohm
  '''k_Feder'''  : 10...100 N/mm (Toleranz.kF_Mitte)
  '''k_Feder'''  : 10...100 N/mm  
Die Streuungen besitzen die gleichen vorgegebenen, konstanten Werte, wie bei der Ausschuss-Minimierung:
Die Streuungen besitzen die gleichen vorgegebenen, konstanten Werte, wie bei der Ausschuss-Minimierung:
  '''RW_tel'''   : 1    (Toleranz.RW_relTol)
  '''d_Papier''' : Nennwert=0,2 mm  / Toleranz=0,2 mm      / Gleichverteilung (verschiedene Papiersorten)
  '''kPapier'''   : 1   (Toleranz.kP_relTol)
  '''Re_Eisen''' : Nennwert=1,5 mΩ  / Toleranz=1,5 mΩ      / Normalverteilung
  '''kFeder_rel''': 0.6 (Toleranz.kF_relTol)
  '''kFeder_rel''': Nennwert=1      / Toleranz=0,6         / Normalverteilung (±30% um normierten Nennwert)


=== Restriktionen ===
=== Restriktionen ===
In Hinblick auf die Benutzung von Restriktionen müssen wir bei der mehrkriteriellen Optimierung umdenken, denn es wirkt nun eine erweiterte Zielfunktionshierachie:
In Hinblick auf die Benutzung von Restriktionen müssen wir bei der mehrkriteriellen Optimierung umdenken, denn es wirkt nun eine erweiterte Zielfunktionshierarchie:
# Einhaltung des Suchraums (Grenzen der variablen Entwurfsparameter)
# Einhaltung des Suchraums (Grenzen der variablen Entwurfsparameter)
# Einhaltung aller Forderungen (Restriktionen) für die Nennwerte der Stichprobe ('''Strafe=0''')
# Einhaltung aller Forderungen (Restriktionen) für die Nennwerte der Stichprobe ('''Strafe=0''')
# Einhaltung aller Forderungen (Restriktionen) für die gesamte Streuung der Stichprobe ('''Versagen=0''')
# Einhaltung aller Forderungen (Restriktionen) für die gesamte Streuung der Stichprobe ('''Versagen=0''')
# Erfüllung der Wünsche (benutzereigene Gütekriterien)
# Erfüllung der Wünsche (benutzereigene Gütekriterien)
Wenn wir alle Forderungen der Aufgabenstellung weiterhin als wirksame Restriktionen definieren, kommt die Optimierung mit Sicherheit kaum zur Bearbeitung der eigentlich interessierenden letzten Zielfunktion:
Wenn wir alle Forderungen der Aufgabenstellung weiterhin als wirksame Restriktionen definieren, kommt die Optimierung mit Sicherheit kaum zur Bearbeitung der eigentlich interessierenden letzten Zielfunktion:
* Bereits bei der Ausschuss-Minimierung mussten wir uns Bemühen, Restriktionsverletzungen für die Nennwerte der Stichproben weitestgehend zu reduzieren. Als besonders kritisch erwies sich hier eine Konvergenz der Lösung entlang von Restriktionsgrenzen. Durch Freigabe der Magnetlänge und geschicktes "Ansteuern" eines verfügbaren Drahtdurchmessers konnten wir mit viel Kreativität diese Hürde (hoffentlich) überwinden.
* Bereits bei der Ausschuss-Minimierung mussten wir uns bemühen, Restriktionsverletzungen für die Nennwerte der Stichproben weitestgehend zu reduzieren. Als besonders kritisch erwies sich hier eine Konvergenz der Lösung entlang von Restriktionsgrenzen. Durch geschicktes "Ansteuern" eines verfügbaren Drahtdurchmessers und eventueller Freigabe der Magnetlänge konnten wir mit viel Kreativität diese Hürde (hoffentlich) überwinden.
* Nun müssen wir dafür Sorge tragen, ein ''Versagen>0'' von Stichproben bei der Ermittlung der pareto-optimalen Lösungsmenge möglichst zu vermeiden:
* Nun müssen wir dafür Sorge tragen, ein ''Versagen>0'' von Stichproben bei der Ermittlung der pareto-optimalen Lösungsmenge möglichst zu vermeiden:
# Die Gütekriterien sind so zu definieren, dass sie tendenziell die zugehörigen Forderungen der Aufgabenstellungen übererfüllen. Dies gilt im Beispiel für das Minimieren der Zykluszeit genauso, wie für das Minimieren der Drahterwärmung. Restriktionen, für welche solche Gütekriterien definiert wurden, können deshalb durch Aufweiten ihrer Grenzen unwirksam gemacht werden ('''unwirksame Grenzen''' für '''tZyklus''' und '''dT_Draht''').
# Die Gütekriterien sind so zu definieren, dass sie tendenziell die zugehörigen Forderungen der Aufgabenstellungen übererfüllen. Dies gilt im Beispiel für das Minimieren der Zykluszeit genauso, wie für das Minimieren der Drahterwärmung. Restriktionen, für welche solche Gütekriterien definiert wurden, müssen deshalb durch Aufweiten ihrer Grenzen unwirksam gemacht werden ('''unwirksame Grenzen''' für '''tZyklus''', '''dT_Draht''' sowie für '''B_max''' und '''i_Max''').
# Falls im Sinne von ''Versagen>0'' noch kritische Restriktionen im exitieren, sollte man überlegen, ob diese durch Definition geeigneter Gütekriterien eliminiert werden können. Im Beispiel betrifft dies die unstetige Größe ''Praegung'', welche zu einem Teilversagen einer Stichprobe führen kann. Da dies jedoch nur sporadisch auftritt, wird dadurch die Pareto-Optimierung nur unwesentlich behindert. Wir benötigen dafür kein weiteres Gütekriterium, müssen die Restriktion aber beibehalten ('''Praegung=0.9...1.4''').
# Falls im Sinne von ''Versagen>0'' noch kritische Restriktionen im existieren, sollte man überlegen, ob diese durch Definition geeigneter Gütekriterien eliminiert werden können. Im Beispiel betrifft dies die unstetige Größe ''Praegung'', welche zu einem Teilversagen einer Stichprobe führen kann. Da dies jedoch nur sporadisch auftritt, wird dadurch die Pareto-Optimierung nur unwesentlich behindert. Wir benötigen dafür kein weiteres Gütekriterium, müssen die Restriktion aber beibehalten ('''Praegung=0.85...1.3''').
# Forderungen der Aufgabenstellung, welche kritisch im Sinne von ''Strafe>0'' sind , behandeln wir wie bei der Ausschuss-Minimierung. Die Magnet-Länge lassen wir weiterhin offen, in der Hoffnung den etwas größeren Bauraum realisieren zu können. Den Drahtdurchmesser berücksichtigen wir vorläufig nicht ('''unwirksame Grenzen''' für '''L_Magnet''' und '''d_Draht''').
# Forderungen der Aufgabenstellung, welche kritisch im Sinne von ''Strafe>0'' sind, behandeln wir wie bei der Ausschuss-Minimierung. Die Magnet-Länge begrenzen wir nun nicht mehr, da ein eventuell etwas größerer Bauraum realisierbar ist. Den Drahtdurchmesser berücksichtigen wir vorläufig nicht ('''unwirksame Grenzen''' für '''L_Magnet''' und '''d_Draht''').
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse|&rarr;]] </div>
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Grundlagen|]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Ergebnisse|]] </div>

Aktuelle Version vom 19. Juni 2024, 18:12 Uhr

Robust-Optimierung (Experiment-Konfiguration)

Mehrkriterielle Robust-Optimierung

Wir wollen nun ausgehend vom Bestwert der Ausschuss-Minimierung eine robuste Lösung für unseren Antrieb suchen, die folgenden Kriterien möglichst gut genügt:

  • Die Streubreite der Zykluszeit ist zu minimieren (Robustoptimierung).
  • Ein Prägezyklus soll dabei möglichst schnell erfolgen (Mittelwert über eine Stichprobe).
  • Die Spulenerwärmung soll möglichst gering sein (Mittelwert über eine Stichprobe).
  • Die Streubreite der Spulenerwärmung ist funktionell von geringerer Bedeutung, solange die max. Erwärmung nicht markant überschritten wird. Deshalb streben wir im Rahmen dieser Robust-Optimierung keine Minimierung dieser Streuung an.
  • Es handelt sich hierbei um eine Mehrkriterien-Optimierung, denn wir wollen drei unterschiedlichen Gütekriterien möglichst gut genügen. Zumindest die Ziele der Verringerung der Zykluszeit und der Spulenerwärmung widersprechen sich wahrscheinlich!

Als unmittelbares Ergebnis einer Mehrkriterien-Optimierung wird eine Pareto-Menge der optimalen Kompromisslösungen ermittelt:

  • Wir erhalten als Entscheidungsgrundlage für die endgültige Lösungswahl einen Zusammenhang, in welchem Maße die Verbesserung einer Teilgüte zur Verschlechterung der anderen Teilgüten führt.
  • Anhand dieser Pareto-Menge können wir bewerten, in welchem Maße die bisherige Ausschuss-minimierte Lösung noch im Sinne einer robusteren Lösung verbessert werden kann bzw. ob für den Einsatzzweck ein anderer Kompromiss zwischen sich widersprechenden Gütekriterien sinnvoll ist.
  • Die gewählte endgültige Lösung muss dann alle aktuellen Forderungen (Restriktionen) innerhalb des Streubereichs der berücksichtigten Parameter-Streuungen einhalten.

Als wesentliche Streuungen berücksichtigen wir wie bei der Ausschuss-Minimierung:

  • Unsicherheit des Wirbelstromwiderstands
  • Fertigungstoleranzen der Rückholfeder
  • Unterschiedliche Papiersorten

Hinweise:

  • Wir nutzen das neue SimulationX-Modell Etappe6_xx_Robust.isx ebenfalls als Kopie der Datei Etappe5_xx_Nennwert.isx.
  • Wir verwenden einen neuen OptiY-Versuchsstand Etappe6_xx_Robust.opy. Diese Datei erzeugen wir als Kopie aus der Datei Etappe6_xx_Ausschuss.opy.
  • In dieser neuen Datei übernehmen wir den bei der Ausschuss-Optimierung erreichten Bestwert als Parameter und somit als Ausgangslösung für die Robust-Optimierung.
  • Im Workflow wählen wir für das SimulationX-Modell die neue Datei Etappe6_xx_Robust.isx.
  • Nach Rücksetzen des Projektes zum Löschen der veralteten Experimentdaten speichern wir Etappe6_xx_Robust.opy.

Für die Minimierung der Streuungen von tZyklus und dT_Draht benutzen wir im OptiY-Workflow die Standardabweichung "sigma". Ihr Wert repräsentiert direkt die Streubreite in der verwendeten Maßeinheit. Deshalb ist die Standardabweichung physikalisch einfacher zu interpretieren als der zugehörige Varianz-Wert:

.

Zur Berechnung von Mittelwert bzw. Standardabweichung (Streuung) der Gütekriterien nutzen wir die Möglichkeiten des für das Bearbeiten der Eigenschaften bereitgestellten "Rechners", z.B.:

Software SimX - Nadelantrieb - Robust-Optimierung - rechner mit mittelwert.gif

Statistische Versuchsplanung

In Hinblick auf die Wechselwirkungen zwischen den Parameter-Streuungen kann man im Beispiel annehmen, dass die gleichen Bedingungen gelten, wie bei der vorherigen Ausschuss-Minimierung. Wir können deshalb für die probabilistische Simulation der Stichproben wieder das Moment-Verfahren mit dem Polynomansatz 2. Ordnung ohne Berücksichtigung von Interaktionen verwenden.

Optimierungsverfahren

Im Vergleich zu unseren bisherigen Optimierungsexperimenten haben wir nun ganz andere Bedingungen in Hinblick auf die Gütekriterien:

.
  • Bei Strafe und Versagen handelt es sich, wie bereits bekannt, um interne Gütekriterien innerhalb der hierarchischen Optimierungsstrategie.
  • Jedoch sollen nun insgesamt drei "echte" Gütekriterien möglichst gleichzeitig in Hinblick auf ihre Werte minimiert werden!
  • Es ist sehr wahrscheinlich, dass es dabei zu Widersprüchen kommt und man sich letztendlich für eine Kompromisslösung entscheiden muss.
  • Grundlage für diese Entscheidungsfindung ist die Pareto-Menge.
  • Das Hypervolumen als ein weiteres internes Gütekriterium wird bei mehr als zwei "echten" Gütekriterien hinzugefügt:
    • Dieser Hypervolumen-Indikator (HVI) wird zur Qualitätsbewertung von Pareto-Front Approximationsmengen in der Mehrkriterien-Optimierung eingesetzt.
    • Über den HVI-Wert wird die Konvergenz der Lösungen in Richtung auf die Pareto-Menge gesteuert.
  • Diese Pareto-Lösungsmenge kann in OptiY nur bei Verwendung Evolutionärer Algorithmen (Evolutionsstrategie) generiert werden:
Software SimX - Nadelantrieb - Robust-Optimierung - evolutionsstrategie.gif
  • Für das Optimierungsproblem werden wir die Werte aus den Standardeinstellungen etwas modifizieren. Dazu müssen wir eine Umschaltung von "Standard" auf "Experte" vornehmen:
    • Wir arbeiten mit 3 Eltern, die gemeinsam in jeder Generation 15 Kinder durch Multirekombination erzeugen. Die Erhöhung der Elternzahl soll eine gewisse Glättung auf der etwas verrauschten Zielfunktion bewirken. Um den Selektionsdruck zu erhalten, musste die Kinderzahl entsprechend erhöht werden.
    • Die Eltern konkurrieren gemeinsam mit ihren Kindern darum, in der nächsten Generation wieder zu den 3 Eltern zu gehören (Selektion=Plus).
    • Die Anpassung der Mutationsschrittweite an die Zielfunktion erfolgt getrennt für jede Entwurfsgröße (Schrittweitenregelung=Multischritt).
    • Die Anzahl der Optimierungsschritte=300 beschreibt für das Optimierungsverfahren die Gesamtzahl der zu berechnenden Kinder. Man beachte, dass bei der zuverlässigkeitsbasierten Optimierung jedes "Kind" eine probabilistische Simulation einer Stichprobe darstellt, die mehrere (hier 7) Modell-Läufe benötigt!
    • Die Anzahl der Pareto-Lösungen ist eine interne Steuergröße für die Co-evolutionären Prinzipien bei der Mehrkriterien-Optimierung. Dieser Wert=20 ist unabhängig von der Größe der Pareto-Menge, welche man für die Darstellung in Diagrammen festlegen kann!

Hinweis: Das Gütekriterium "Hypervolumen" erscheint erst im Experiment-Browser nach Wahl von "Evolutionsstrategien" als Optimierungsverfahren. Allerdings nur, wenn man im geöffneten Workflow irgendein Objekt anklickt oder die Datei nach dem Speichern wieder geöffnet wird (Darstellfehler?).

Entwurfsparameter (Nennwerte und Streuungen)

Die Lösung der Robust-Optimierung kann sich von dem Ergebnis der Ausschuss-Minimierung unterscheiden. Das wird jedoch durch die zusätzlichen Gütekriterien gesteuert. Die Einstellungen für die Entwurfsparameter können wir fast unverändert von der Ausschuss-Minimierung übernehmen:

  • Die Startwerte der Nennwerte müssen dem Bestwert aus der Ausschuss-Minimierung entsprechen.
  • Die Startschrittweiten dienen nun als Maß für die Mutation.
  • Als Grenzen für den Suchraum haben sich folgende Werte als günstig erwiesen, um z.B. negative Parameterwerte infolge "wilder" Schwingungen zu erschweren:
d_Anker   : 6...15 mm 
w_Spule   : 200...1000 
R20_Spule : 0.1...10 Ohm
k_Feder   : 10...100 N/mm 

Die Streuungen besitzen die gleichen vorgegebenen, konstanten Werte, wie bei der Ausschuss-Minimierung:

d_Papier  : Nennwert=0,2 mm  / Toleranz=0,2 mm      / Gleichverteilung (verschiedene Papiersorten)
Re_Eisen  : Nennwert=1,5 mΩ  / Toleranz=1,5 mΩ      / Normalverteilung 
kFeder_rel: Nennwert=1       / Toleranz=0,6         / Normalverteilung (±30% um normierten Nennwert)

Restriktionen

In Hinblick auf die Benutzung von Restriktionen müssen wir bei der mehrkriteriellen Optimierung umdenken, denn es wirkt nun eine erweiterte Zielfunktionshierarchie:

  1. Einhaltung des Suchraums (Grenzen der variablen Entwurfsparameter)
  2. Einhaltung aller Forderungen (Restriktionen) für die Nennwerte der Stichprobe (Strafe=0)
  3. Einhaltung aller Forderungen (Restriktionen) für die gesamte Streuung der Stichprobe (Versagen=0)
  4. Erfüllung der Wünsche (benutzereigene Gütekriterien)

Wenn wir alle Forderungen der Aufgabenstellung weiterhin als wirksame Restriktionen definieren, kommt die Optimierung mit Sicherheit kaum zur Bearbeitung der eigentlich interessierenden letzten Zielfunktion:

  • Bereits bei der Ausschuss-Minimierung mussten wir uns bemühen, Restriktionsverletzungen für die Nennwerte der Stichproben weitestgehend zu reduzieren. Als besonders kritisch erwies sich hier eine Konvergenz der Lösung entlang von Restriktionsgrenzen. Durch geschicktes "Ansteuern" eines verfügbaren Drahtdurchmessers und eventueller Freigabe der Magnetlänge konnten wir mit viel Kreativität diese Hürde (hoffentlich) überwinden.
  • Nun müssen wir dafür Sorge tragen, ein Versagen>0 von Stichproben bei der Ermittlung der pareto-optimalen Lösungsmenge möglichst zu vermeiden:
  1. Die Gütekriterien sind so zu definieren, dass sie tendenziell die zugehörigen Forderungen der Aufgabenstellungen übererfüllen. Dies gilt im Beispiel für das Minimieren der Zykluszeit genauso, wie für das Minimieren der Drahterwärmung. Restriktionen, für welche solche Gütekriterien definiert wurden, müssen deshalb durch Aufweiten ihrer Grenzen unwirksam gemacht werden (unwirksame Grenzen für tZyklus, dT_Draht sowie für B_max und i_Max).
  2. Falls im Sinne von Versagen>0 noch kritische Restriktionen im existieren, sollte man überlegen, ob diese durch Definition geeigneter Gütekriterien eliminiert werden können. Im Beispiel betrifft dies die unstetige Größe Praegung, welche zu einem Teilversagen einer Stichprobe führen kann. Da dies jedoch nur sporadisch auftritt, wird dadurch die Pareto-Optimierung nur unwesentlich behindert. Wir benötigen dafür kein weiteres Gütekriterium, müssen die Restriktion aber beibehalten (Praegung=0.85...1.3).
  3. Forderungen der Aufgabenstellung, welche kritisch im Sinne von Strafe>0 sind, behandeln wir wie bei der Ausschuss-Minimierung. Die Magnet-Länge begrenzen wir nun nicht mehr, da ein eventuell etwas größerer Bauraum realisierbar ist. Den Drahtdurchmesser berücksichtigen wir vorläufig nicht (unwirksame Grenzen für L_Magnet und d_Draht).