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

Aus OptiYummy
Zur Navigation springenZur Suche springen
 
(19 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{DISPLAYTITLE:<span style="position: absolute; clip: rect(1px 1px 1px 1px); clip: rect(1px, 1px, 1px, 1px);">{{FULLPAGENAME}}</span>}}
[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|]] </div>
[[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&rarr;]] </div>
<div align="center">''' Robust-Optimierung (Experiment-Ergebnisse) '''</div>
<div align="center">''' Robust-Optimierung (Experiment-Ergebnisse) '''</div>
=== Experiment-Durchfuehrung ===  
=== Experiment-Durchfuehrung ===  
Zeile 21: Zeile 20:
* Infolge der zusätzlich unterlegten co-evolutionären Strategie oszilliert die Population dann bei Versagen=0 endlos auf der pareto-optimalen Lösungsmenge.
* Infolge der zusätzlich unterlegten co-evolutionären Strategie oszilliert die Population dann bei Versagen=0 endlos auf der pareto-optimalen Lösungsmenge.
* Durch die Mutationen entstehen auch einzelne "Ausreißer", welche im Normalfall zu sehr schlechten Lösungen führen. Gleichzeitig bieten diese Fluktuationen aber auch die Chance für größere Sprünge innerhalb des Suchraumes und damit dem Erreichen neuer "ökologischer Nischen".
* Durch die Mutationen entstehen auch einzelne "Ausreißer", welche im Normalfall zu sehr schlechten Lösungen führen. Gleichzeitig bieten diese Fluktuationen aber auch die Chance für größere Sprünge innerhalb des Suchraumes und damit dem Erreichen neuer "ökologischer Nischen".


=== Experiment-Auswertung ===
=== Experiment-Auswertung ===


'''''===>>> Die folgenden Abschnitte werden noch überarbeitet !!!'''''
Bisher werden in den 2D/3D-Diagrammen für jeden Optimierungsschritt (entspricht jeweils einer berechneten Generation) die Nennwerte des jeweils "besten" Exemplars dargestellt. Diese Darstellung der kompletten "Optimierungsmenge" ist durch die Vielzahl von "schlechten Lösungen" (insbesondere durch die Ausreißer) sehr unübersichtlich. Uns interessieren nur die Mitglieder der Pareto-Menge:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_mengewahl-pareto.gif|.]]</div>
Nach Wahl der "Pareto-optimalen Menge" bleiben nur die zulässigen Lösungen auf der "Seifenhaut" in den Diagrammen erhalten:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_autoskaliert_3D.gif|.]]</div>
Die 2D-Projektionen dieser "Seifenhaut"-Menge führt im Beispiel nur für die (Mittel_tZyklus, Mittel_dT_Draht)-Ebene zu einer anschaulichen Darstellung der Pareto-Menge:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_autoskaliert.gif|.]]</div>
Die anderen beiden Projektionen resultieren aus der ungünstigen Blickrichtung auf die Lösungspunkte der "Seifenhaut".


Bisher werden in den 2D/3D-Diagrammen für jeden Optimierungsschritt (entspricht jeweils einer berechneten Population) die Nennwerte des jeweils "besten" Exemplars dargestellt. Diese Darstellung der kompletten "Optimierungsmenge" ist durch die Vielzahl von "schlechten Lösungen" sehr unübersichtlich. Uns interessieren nur die Mitglieder der Pareto-Menge:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_mengewahl-pareto.gif|.]]</div>
Die berechneten Lösungspunkte sind auf der "Seifenhaut" ungleich verteilt. Um eine Entscheidung in Hinblick auf die beste Kompromisslösung zu erleichtern, ist es günstig die Anzahl der dargestellten Lösungspunkte auszudünnen. Diese Filterung sollte so erfolgen, dass eine vorgegebene Anzahl von Lösungspunkten übrigbleibt, welche gleichmäßig auf der Seifenhaut verteilt ist und die beste Kompromisslösung enthält:[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_gefilterte_pareto_anzahl_20.gif|right]]
Nach Wahl der "Pareto-optimalen Menge" bleiben nur die zulässigen Lösungen auf der "Seifenhaut" in den Diagrammen erhalten. Leider können einzelne Ausreißer (im Beispiel ''Streuung_tZyklus'' sehr groß) eine automatische Skalierung verhindern, welche nur die eigentlich interessierende Pareto-Menge umfasst:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_autoskaliert.gif| ]]</div>
Falls dieser Ausreißer-Effekt störend in Erscheinung tritt (was im Beispiel noch nicht der Fall ist), gelangt man über einen Zwischenschritt zu einer sinnvoll skalierten Darstellung:[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_gefilterte_pareto_anzahl_20.gif|right]]
* Man wählt '''Analyse > Menge-Auswahl > Gefilterte Pareto-Menge'''.  
* Man wählt '''Analyse > Menge-Auswahl > Gefilterte Pareto-Menge'''.  
* Standardmäßig enthält die gefilterte Pareto-Menge nur 10 Lösungen.  
* Standardmäßig enthält die gefilterte Pareto-Menge nur 10 Lösungen.  
* Wir erhöhen die Anzahl der Lösungen in der Pareto-Menge, indem wir in einem der Fenster-Eigenschaften diesen Wert=20 setzen. Der neue Wert wird dann für alle Fenster übernommen und die gefilterte Pareto-Menge wird neu berechnet. Die Lösungspunkte dieser gefilterten Pareto-Menge verteilen sich gleichmäßig auf der Pareto-Schale, weil dicht beieinander liegende Lösungen und Ausreißer herausgefiltert werden:
* Wir erhöhen die Anzahl der Lösungen in der Pareto-Menge, indem wir in einem der Fenster-Eigenschaften diesen Wert=20 setzen. Der neue Wert wird dann für alle Fenster übernommen und die gefilterte Pareto-Menge wird neu berechnet. Die Lösungspunkte dieser gefilterten Pareto-Menge verteilen sich gleichmäßig auf der Pareto-Schale, weil dicht beieinander liegende Lösungen und Ausreißer herausgefiltert werden:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_gefiltert_3D.gif|.]]</div>
* Nach der Filterung sind die noch vorhandenen 20 Lösungspunkte auch in den 2D-Darstellungen einzeln erkennbar:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_gefiltert.gif| ]]</div>
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_gefiltert.gif| ]]</div>
Danach schalten wir in allen 2D/3D-Diagrammen die Autoskalierung ab und wählen in der Menge-Auswahl wieder die vollständige Pareto-Menge:
* '''''Hinweis'':''' Leider bleibt nach einem Speichern und neu Öffnen der .opy-Datei die Darstellung der gefilterten Pareto-Menge in den Diagrammen nicht erhalten (Kurzzeitiges Umschalten in der Mengenauswahl ist erforderlich!).
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge_skaliert.gif| ]]</div>
'''''Hinweis:''''' Im 3D-Diagramm können nun Lösungen außerhalb der Grenzen liegen (im Beispiel nicht). Das würde nicht stören, weil es sich hierbei im Sinne der Robust-Optimierung um ungünstige Lösungen handelt.


Die Aufgabe besteht nun darin, aus der dargestellten Pareto-Menge eine günstige Kompromisslösung auszuwählen:
Die Aufgabe besteht nun darin, aus der dargestellten gefilterten Pareto-Menge eine günstige Kompromisslösung auszuwählen:
* Jeden einzelnen Lösungspunkt in einem 2D-Diagramm kann man mit dem Cursor auswählen.
* In jedem der 2D-Diagramm kann man einen der zu analysierenden Lösungspunkte mit dem Cursor auswählen. Die ausgewählte Lösung erscheint dann in allen 2D- und auch den 3D-Diagrammen als markiert.
* Die ausgewählte Lösung erscheint dann in allen 2D- und 3D-Diagrammen als markiert.
* Zuerst sollte (wie gezeigt) der Bestwert aus der Ausschuss-Minimierung ausgewählt werden, um seine Position in Hinblick auf die Pareto-Menge einschätzen zu können. Dieses Ausschuss-Minimum war der Startwert unserer Robust-Optimierung ('''Optimierungsschritt=0''') und sollte in der gefilterten Pareto-Menge enthalten sein. Die Auswahl kann günstiger Weise im Nennwert-Verlauf der Zykluszeit erfolgen (Pfeil zeigt auf zugehörigem Lösungspunkt im 3D-Diagramm):
* Um einzelne Lösungen analysieren zu können, sollte man die Verteilungsdichte-Diagramme der Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Lösungspunktes werden in diesen Diagrammen die Verteilungsdichten der Lösung dargestellt:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Auswahl_Ausschussminimum.gif|.]] [[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_ausschussminimum_3D.gif|.]]</div>
* '''''Hinweis'':''' Ist das Ausschuss-Minimum wider Erwarten nicht enthalten, so muss man zur Beurteilung seiner Lage die Mengenauswahl wieder auf die Pareto-Menge oder sogar auf die komplette Optimierungsmenge zurücksetzen!
* In den 2D-Diagrammen ist das gewählte Ausschuss-Minimum links mit einem Pfeil markiert und hebt sich in den folgenden Diagrammen farblich gut ab:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge20_ausschussminimum.gif|.]]</div>
* Um eine ausgewählte Lösung analysieren zu können, sollte man die Verteilungsdichte-Diagramme der Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Lösungspunktes werden in diesen Diagrammen die Verteilungsdichten der Lösung dargestellt:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_verteilungsdichten.gif| ]]</div>
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_verteilungsdichten.gif| ]]</div>
'''''Wichtig:''''' Damit die Teilversagenswahrscheinlichkeiten in Verteilungsdichte-Diagrammen angezeigt werden können, müssen zuvor die Restriktionsgrenzen für die Zykluszeit und die Spulenerwärmung wieder auf den geforderten Wert gesetzt werden!
'''''Wichtig:''''' Damit die Teilversagenswahrscheinlichkeiten in Verteilungsdichte-Diagrammen angezeigt werden können, müssen zuvor die Restriktionsgrenzen für die Zykluszeit und die Spulenerwärmung wieder auf den geforderten Wert gesetzt werden!


Man kann auf Grundlage der Pareto-Menge entscheiden, wieviel Verschlechterung einzelner Gütekriterien man akzeptiert, um anderen Kriterien möglichst gut zu genügen:
Auf Grundlage der Pareto-Menge kann man entscheiden, wieviel Verschlechterung einzelner Gütekriterien man akzeptiert, um anderen Kriterien möglichst gut zu genügen:
* Der Hauptwiderspruch zwischen möglichst schneller Zykluszeit und minimaler Erwärmung ist im zugehörigen 2D-Diagramm deutlich erkennbar. Je schneller der Magnetantrieb, desto größer ist die Erwärmung der Spule.  
* Der Hauptwiderspruch zwischen möglichst schneller Zykluszeit und minimaler Erwärmung ist im linken 2D-Diagramm deutlich erkennbar → je schneller der Magnetantrieb, desto größer ist die Erwärmung der Spule.  
* Man wird sich in diesem Diagramm für einen Antrieb entscheiden, der möglichst schnell ist und sich trotzdem noch nicht so stark erwärmt. Im Beispiel fällt die Entscheidung leicht:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge30_optimum.gif| ]]</div>
* Man wird sich in diesem Diagramm für einen Antrieb entscheiden, der möglichst schnell ist und sich trotzdem noch nicht so stark erwärmt.
* Obige Verteilungsdichten gehören zu der markierten Lösung. Die Stichprobe prägt stabil und die Teilversagenswahrscheinlichkeiten für die Zykluszeit und Drahterwärmung sind praktisch Null.
* Die Streuungen der Zykluszeit und der Spulentemperatur spielen keine wesentliche Rolle, weil diese für die Lösungen der Paretomenge bereits minimiert sind.
* Im Beispiel sollte einem diese Lösung bekannt vorkommen. Es handelt sich um den Bestwert aus der Ausschuss-Minimierung! Diese Lösung hatten wir als Startwert für die multikriterielle Robustoptimierung benutzt. Es konnte keine Verbesserung im Sinne "möglichst schnell bei minimaler Erwärmung" gefunden werden
* Der bereits ausgewählte Bestwert aus der Ausschuss-Minimierung stellt im Beispiel anscheinend schon einen sehr guten Kompromiss dar.  
* Die Streuung der Zykluszeit im Sinne einer robusteren Lösung konnte ebenfalls nicht verringert werden. Es gibt praktisch keine Lösungen, deren Zykluszeit weniger streut.
* Der Vorteil dieser Lösung besteht darin, dass sie bereits auf einem Norm-Drahtdurchmesser benutzt!
* Da wir im Rahmen dieser Übung nur eine relative geringe Zahl (300) an Optimierungsschritten genutzt haben, sind die Lösungen noch nicht vollständig bis zur "richtigen" Paretomenge konvergiert. Man erkennt das daran, dass die Anfangslösung als beste Kompromisslösung noch etwas außerhalb der berechneten Paretomenge liegt.
* Im Beispiel kommt man nach ca. 2000 Optimierungsschritten der realen Pareto-Menge schon recht nahe (für Teilnehmer der Übung nicht erforderlich!):<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_pareto-menge2000_optimum.gif| ]]</div>
* In obigen Diagrammen erkennt man einen '''Ausreißer mit Streuung_tZyklus=0'''. Hierbei kam es zu numerischen Problemen bei der Simulation der Stichprobe, welche anscheinend vom OptiY nicht erkannt wurden.
* Interessant an dieser genauer berechneten Pareto-Menge ist die Existenz mehrerer in Hinblick auf die Zykluszeit gleichberechtigte Lösungen. Diese führen jedoch teilweise z.B. auf Grund dickeren Drahtes und größerer Magnetlänge zu bedeutend geringerer Erwärmung!
 
'''Hinweis:''' <br>
Im Beispiel wurde bereits bei der Ausschuss-Minimierung eine robuste Lösung gefunden, weil die Zeit-Forderung nur durch Ausschöpfung aller anderen Grenzwerte erfüllbar war. Die gesamte Stichprobe kann dabei im Rahmen der Parameterstreuung nur dann innerhalb der zulässigen Grenzen bleiben, wenn die Streuung des Verhaltens ebenfalls minimiert wird. Die anschließende multikriterielle Robustoptimierung hat dann dieses Ergebnis bestätigt.
 
'''Problem des Drahtdurchmessers:''' <br>
'''Problem des Drahtdurchmessers:''' <br>
Bei der Ausschuss-Minimierung war es noch problemlos möglich, einen genormten Drahtdurchmesser mit Hilfe der entsprechenden Restriktionsgröße zu erzwingen. Da die damit erreichte Optimal-Lösung im Beispiel beibehalten werden kann, gibt es das Problem des Drahtdurchmessers bei der multikriteriellen Robustoptimierung nicht mehr. Die sich im Beispiel mit ''d_Draht=0.6&nbsp;mm'' ergebende Magnetlänge erfüllt sogar die ursprüngliche Vorgabe für die Magnetlänge. Eine eventuell erforderliche Vergrößerung des Magneten wird sich praktisch immer realisieren lassen:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_kein_normdraht.gif| ]]</div>Falls sich wider Erwarten eine andere Lösung als optimale Kompromisslösung erweist, so wird der benötigte Drahtdurchmesser wahrscheinlich keinem Normdraht entsprechen:
* Während der Ausschuss-Minimierung war es noch problemlos möglich, einen genormten Drahtdurchmesser mit Hilfe der entsprechenden Restriktionsgröße zu erzwingen.  
* Infolge der zusätzlich erforderlichen, sehr engen Draht-Restriktion scheitert dann die co-evolutionäre Strategie mit großer Wahrscheinlichkeit. Eine Oszillation der Lösung entlang der Pareto-Menge kommt nicht zustande!
* Bei der multikriteriellen Robustoptimierung scheitert die co-evolutionäre Strategie mit großer Wahrscheinlichkeit an den zusätzlich erforderlichen, sehr engen Draht-Restriktionen. Eine Oszillation der Lösung entlang der Pareto-Menge kommt dann nicht zustande!
* In diesem Fall hilft nur unter Einbeziehung der gewonnenen Erkenntnisse zur Robust-Optimierung eine erneute Ausschuss-Minimierung. Im Rahmen der Übung soll dies jedoch nicht mehr durchgeführt werden!
* Wenn die erreichte Optimal-Lösung der Ausschuss-Minimierung beibehalten werden kann, gibt es das Problem des Drahtdurchmessers bei der multikriteriellen Robustoptimierung nicht mehr.
* Man erhält dann mit der multikriteriellen Robustoptimierung nur noch die Bestätigung, dass man bereits über eine optimale Kompromisslösung verfügt.
* Falls sich wider Erwarten andere Lösungen als optimale Kompromisslösungen erweisen, so kann man versuchen, eine Lösung zu wählen, welche näherungsweise einen Normdraht enthält. Durch vorherige Wahl einer größeren Pareto-Anzahl (z.B. 40) stehen dafür mehr Lösungspunkte zur Verfügung:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_kein_normdraht.gif|.]]</div>
* Man findet im Beispiel zwar Lösungen mit etwas kürzeren Zykluszeiten bei dünnerem Draht, aber wie schon aus der Ausschuss-Minimierung bekannt, wird dabei die Spule wesentlich wärmer.
* Da der verfügbare Draht mit 0,5&nbsp;mm noch etwas dünner ist, als in den Lösungen mit 0,51&nbsp;mm, würde sich die Temperatur noch erhöhen.
* Zumindest im gezeigten Beispiel findet man keine bessere Kompromiss-Lösung als den Bestwert aus der Ausschuss-Minimierung.


=== Experiment-Ergebnisse (Robust-Optimierung) ===
=== Experiment-Ergebnisse (Robust-Optimierung) ===
Falls die optimale Lösung der Ausschuss-Minimierung nicht bestätigt werden konnte, wird man sich für eine bessere Lösung entscheiden. Mit welchen '''technisch sinnvollen''' Nennwerten ergibt sich dann (ohne Berücksichtigung von Normdrähten) eine möglichst robuste und trotzdem schnelle Antriebslösung mit der Ausschuss-Quote Null:
Falls die optimale Lösung der Ausschuss-Minimierung nicht bestätigt werden konnte, wird man sich für eine bessere Lösung entscheiden. Die Wahl dieser Lösung ist zu begründen!
* '''Mittel_tZyklus''' (mittlere Zykluszeit)
 
* '''Streuung_tZyklus''' (um die mittlere Zykluszeit)
Mit welchen '''technisch sinnvollen''' Nennwerten ergibt sich dann (ohne Berücksichtigung von Normdrähten) eine robuste und trotzdem schnelle Antriebslösung mit möglichst geringer Ausschuss-Quote:
* '''Mittel_dT_Draht''' (mittlere Spulen-Erwärmung)
* '''d_Anker''' (Ankerdurchmesser)
* '''d_Anker''' (Ankerdurchmesser)  
* '''L_Magnet''' (Magnetlänge ohne Restriktion!)
* '''L_Magnet''' (Magnetlänge ohne Restriktion!)
* '''R20_Spule''' (Widerstand der Spule bei 20°C)  
* '''R20_Spule''' (Widerstand der Spule bei 20°C)  
* '''w_Spule''' (Windungszahl)  
* '''w_Spule''' (Windungszahl)  
* '''d_Draht''' (Drahtdurchmesser)  
* '''d_Draht''' (aus Normreihe)  
* '''Feder.k''' (Elastizitätskonstante)  
* '''Feder.k''' (Elastizitätskonstante)  
* '''Feder.s0''' (Vorspannweg)  
* '''Feder.s0''' (Vorspannweg)  
* '''Widerstand.R''' (Abschaltwiderstand)
* '''t_Zyklus''' (Mittelwert sowie min. und max. auftretende Werte → Grenzwerte von 6σ)
 
'''''Wichtig'':'''
'''''Wichtig'':'''
* Als Bestandteil der Lösung muss die gespeicherte .opy-Datei die Optimierungsergebnisse in den erläuterten Diagrammen in anschaulicher Form enthalten.
* Als Bestandteil der Lösung muss die gespeicherte .opy-Datei der Robust-Optimierung die Optimierungsergebnisse in den erläuterten Diagrammen in anschaulicher Form enthalten.
* Das SimulationX-Modell ist mit den Nennwert-Parameter für die gefundene optimale Lösung zu konfigurieren. Der simulierte Verlauf des Prägezyklusses ist in anschaulicher Form in einem Ergebnisfenster darzustellen. Überflüssige Ergebnisfenster sind zu löschen!
* Das zugehörige SimulationX-Modell ist mit den Nennwert-Parametern für die gefundene optimale Lösung zu konfigurieren. Der simulierte Verlauf des Prägezyklusses ist in anschaulicher Form in einem Ergebnisfenster darzustellen. Überflüssige Ergebnisfenster sind zu löschen!
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|&rarr;]] </div>
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_Experimentkonfiguration|]] [[Software:_SimX_-_Nadelantrieb_-_Robust-Optimierung|]] </div>

Aktuelle Version vom 2. Juli 2024, 18:32 Uhr

Robust-Optimierung (Experiment-Ergebnisse)

Experiment-Durchfuehrung

Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als "Kriterien-Raum" visualisieren (Analyse > Darstellung > 3D-Darstellung). Die Achsen belegen wir mit unseren Gütekriterien, wobei es sinnvoll ist, die mittlere Zykluszeit als funktionelle Größe auf die Z-Achse zu legen:

.

Zusätzlich ist es sinnvoll, möglichst alle Abhängigkeiten zwischen den Gütekriterien als 2D-Darstellung im Sinne von Projektionen des mehrdimensionalen Kriterien-Raumes abzubilden:

  • Dazu stellt man jeweils zwei Kriterien in einem Nennwert-Fenster dar und schaltet danach unter Analyse > Darstellung auf 2D-Darstellung um (ein Kriterium muss dabei zuvor im Nennwert-Fenster als X-Achse selektiert sein!).
  • Die 2D-Diagramme muss man dann auch noch so konfigurieren, dass nur die Lösungspunkte dargestellt werden.
  • Im Beispiel ergibt das drei Projektionen der Lösungsmenge entsprechend der Anzahl möglicher Paar-Kombinationen:
.

Die einzelnen Lösungspunkte repräsentieren jeweils eine Stichprobe, die im Rahmen der co-evolutionären Optimierungsstrategie berechnet wird. Der Verlauf der Co-Evolution widerspiegelt sich in den Nennwert-Diagrammen der variablen Entwurfsparameter und der Bewertungsgrößen des Experiments:

Software SimX - Nadelantrieb - Robust-Optimierung - nennwert-verlauf optimierungsmenge.gif
  • Im Beispiel entsprechen 15 Stichproben (Kinder) jeweils einer Generation innerhalb der Evolutionsstrategie.
    Software SimX - Nadelantrieb - Robust-Optimierung - paretomenge2.gif
  • Der längerfristigen evolutionären Entwicklung der Population sind die Mutationen der einzelnen Individuen überlagert.
  • Die Population bewegt sich infolge der Evolutionsstrategie zuerst in den Bereich zulässiger Nennwert-Lösungen (Strafe=0).
  • Danach entwickelt sich die Population weiter in Richtung minimalen Versagens innerhalb der Streuungen um die Nennwertlösungen (Versagen→0).
  • Über den Hypervolumen-Indikator-Wert wird danach die Konvergenz der Lösungen in Richtung auf die Pareto-Menge gesteuert. Bildlich gesehen bewegt sich die Population zum Bereich der pareto-optimalen Lösungsmenge.
  • Infolge der zusätzlich unterlegten co-evolutionären Strategie oszilliert die Population dann bei Versagen=0 endlos auf der pareto-optimalen Lösungsmenge.
  • Durch die Mutationen entstehen auch einzelne "Ausreißer", welche im Normalfall zu sehr schlechten Lösungen führen. Gleichzeitig bieten diese Fluktuationen aber auch die Chance für größere Sprünge innerhalb des Suchraumes und damit dem Erreichen neuer "ökologischer Nischen".


Experiment-Auswertung

Bisher werden in den 2D/3D-Diagrammen für jeden Optimierungsschritt (entspricht jeweils einer berechneten Generation) die Nennwerte des jeweils "besten" Exemplars dargestellt. Diese Darstellung der kompletten "Optimierungsmenge" ist durch die Vielzahl von "schlechten Lösungen" (insbesondere durch die Ausreißer) sehr unübersichtlich. Uns interessieren nur die Mitglieder der Pareto-Menge:

.

Nach Wahl der "Pareto-optimalen Menge" bleiben nur die zulässigen Lösungen auf der "Seifenhaut" in den Diagrammen erhalten:

.

Die 2D-Projektionen dieser "Seifenhaut"-Menge führt im Beispiel nur für die (Mittel_tZyklus, Mittel_dT_Draht)-Ebene zu einer anschaulichen Darstellung der Pareto-Menge:

.

Die anderen beiden Projektionen resultieren aus der ungünstigen Blickrichtung auf die Lösungspunkte der "Seifenhaut".

Die berechneten Lösungspunkte sind auf der "Seifenhaut" ungleich verteilt. Um eine Entscheidung in Hinblick auf die beste Kompromisslösung zu erleichtern, ist es günstig die Anzahl der dargestellten Lösungspunkte auszudünnen. Diese Filterung sollte so erfolgen, dass eine vorgegebene Anzahl von Lösungspunkten übrigbleibt, welche gleichmäßig auf der Seifenhaut verteilt ist und die beste Kompromisslösung enthält:

Software SimX - Nadelantrieb - Robust-Optimierung - gefilterte pareto anzahl 20.gif
  • Man wählt Analyse > Menge-Auswahl > Gefilterte Pareto-Menge.
  • Standardmäßig enthält die gefilterte Pareto-Menge nur 10 Lösungen.
  • Wir erhöhen die Anzahl der Lösungen in der Pareto-Menge, indem wir in einem der Fenster-Eigenschaften diesen Wert=20 setzen. Der neue Wert wird dann für alle Fenster übernommen und die gefilterte Pareto-Menge wird neu berechnet. Die Lösungspunkte dieser gefilterten Pareto-Menge verteilen sich gleichmäßig auf der Pareto-Schale, weil dicht beieinander liegende Lösungen und Ausreißer herausgefiltert werden:
.
  • Nach der Filterung sind die noch vorhandenen 20 Lösungspunkte auch in den 2D-Darstellungen einzeln erkennbar:
Software SimX - Nadelantrieb - Robust-Optimierung - pareto-menge20 gefiltert.gif
  • Hinweis: Leider bleibt nach einem Speichern und neu Öffnen der .opy-Datei die Darstellung der gefilterten Pareto-Menge in den Diagrammen nicht erhalten (Kurzzeitiges Umschalten in der Mengenauswahl ist erforderlich!).

Die Aufgabe besteht nun darin, aus der dargestellten gefilterten Pareto-Menge eine günstige Kompromisslösung auszuwählen:

  • In jedem der 2D-Diagramm kann man einen der zu analysierenden Lösungspunkte mit dem Cursor auswählen. Die ausgewählte Lösung erscheint dann in allen 2D- und auch den 3D-Diagrammen als markiert.
  • Zuerst sollte (wie gezeigt) der Bestwert aus der Ausschuss-Minimierung ausgewählt werden, um seine Position in Hinblick auf die Pareto-Menge einschätzen zu können. Dieses Ausschuss-Minimum war der Startwert unserer Robust-Optimierung (Optimierungsschritt=0) und sollte in der gefilterten Pareto-Menge enthalten sein. Die Auswahl kann günstiger Weise im Nennwert-Verlauf der Zykluszeit erfolgen (Pfeil zeigt auf zugehörigem Lösungspunkt im 3D-Diagramm):
. .
  • Hinweis: Ist das Ausschuss-Minimum wider Erwarten nicht enthalten, so muss man zur Beurteilung seiner Lage die Mengenauswahl wieder auf die Pareto-Menge oder sogar auf die komplette Optimierungsmenge zurücksetzen!
  • In den 2D-Diagrammen ist das gewählte Ausschuss-Minimum links mit einem Pfeil markiert und hebt sich in den folgenden Diagrammen farblich gut ab:
.
  • Um eine ausgewählte Lösung analysieren zu können, sollte man die Verteilungsdichte-Diagramme der Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Lösungspunktes werden in diesen Diagrammen die Verteilungsdichten der Lösung dargestellt:
Software SimX - Nadelantrieb - Robust-Optimierung - verteilungsdichten.gif

Wichtig: Damit die Teilversagenswahrscheinlichkeiten in Verteilungsdichte-Diagrammen angezeigt werden können, müssen zuvor die Restriktionsgrenzen für die Zykluszeit und die Spulenerwärmung wieder auf den geforderten Wert gesetzt werden!

Auf Grundlage der Pareto-Menge kann man entscheiden, wieviel Verschlechterung einzelner Gütekriterien man akzeptiert, um anderen Kriterien möglichst gut zu genügen:

  • Der Hauptwiderspruch zwischen möglichst schneller Zykluszeit und minimaler Erwärmung ist im linken 2D-Diagramm deutlich erkennbar → je schneller der Magnetantrieb, desto größer ist die Erwärmung der Spule.
  • Man wird sich in diesem Diagramm für einen Antrieb entscheiden, der möglichst schnell ist und sich trotzdem noch nicht so stark erwärmt.
  • Die Streuungen der Zykluszeit und der Spulentemperatur spielen keine wesentliche Rolle, weil diese für die Lösungen der Paretomenge bereits minimiert sind.
  • Der bereits ausgewählte Bestwert aus der Ausschuss-Minimierung stellt im Beispiel anscheinend schon einen sehr guten Kompromiss dar.
  • Der Vorteil dieser Lösung besteht darin, dass sie bereits auf einem Norm-Drahtdurchmesser benutzt!

Problem des Drahtdurchmessers:

  • Während der Ausschuss-Minimierung war es noch problemlos möglich, einen genormten Drahtdurchmesser mit Hilfe der entsprechenden Restriktionsgröße zu erzwingen.
  • Bei der multikriteriellen Robustoptimierung scheitert die co-evolutionäre Strategie mit großer Wahrscheinlichkeit an den zusätzlich erforderlichen, sehr engen Draht-Restriktionen. Eine Oszillation der Lösung entlang der Pareto-Menge kommt dann nicht zustande!
  • Wenn die erreichte Optimal-Lösung der Ausschuss-Minimierung beibehalten werden kann, gibt es das Problem des Drahtdurchmessers bei der multikriteriellen Robustoptimierung nicht mehr.
  • Man erhält dann mit der multikriteriellen Robustoptimierung nur noch die Bestätigung, dass man bereits über eine optimale Kompromisslösung verfügt.
  • Falls sich wider Erwarten andere Lösungen als optimale Kompromisslösungen erweisen, so kann man versuchen, eine Lösung zu wählen, welche näherungsweise einen Normdraht enthält. Durch vorherige Wahl einer größeren Pareto-Anzahl (z.B. 40) stehen dafür mehr Lösungspunkte zur Verfügung:
.
  • Man findet im Beispiel zwar Lösungen mit etwas kürzeren Zykluszeiten bei dünnerem Draht, aber wie schon aus der Ausschuss-Minimierung bekannt, wird dabei die Spule wesentlich wärmer.
  • Da der verfügbare Draht mit 0,5 mm noch etwas dünner ist, als in den Lösungen mit 0,51 mm, würde sich die Temperatur noch erhöhen.
  • Zumindest im gezeigten Beispiel findet man keine bessere Kompromiss-Lösung als den Bestwert aus der Ausschuss-Minimierung.

Experiment-Ergebnisse (Robust-Optimierung)

Falls die optimale Lösung der Ausschuss-Minimierung nicht bestätigt werden konnte, wird man sich für eine bessere Lösung entscheiden. Die Wahl dieser Lösung ist zu begründen!

Mit welchen technisch sinnvollen Nennwerten ergibt sich dann (ohne Berücksichtigung von Normdrähten) eine robuste und trotzdem schnelle Antriebslösung mit möglichst geringer Ausschuss-Quote:

  • d_Anker (Ankerdurchmesser)
  • L_Magnet (Magnetlänge ohne Restriktion!)
  • R20_Spule (Widerstand der Spule bei 20°C)
  • w_Spule (Windungszahl)
  • d_Draht (aus Normreihe)
  • Feder.k (Elastizitätskonstante)
  • Feder.s0 (Vorspannweg)
  • t_Zyklus (Mittelwert sowie min. und max. auftretende Werte → Grenzwerte von 6σ)

Wichtig:

  • Als Bestandteil der Lösung muss die gespeicherte .opy-Datei der Robust-Optimierung die Optimierungsergebnisse in den erläuterten Diagrammen in anschaulicher Form enthalten.
  • Das zugehörige SimulationX-Modell ist mit den Nennwert-Parametern für die gefundene optimale Lösung zu konfigurieren. Der simulierte Verlauf des Prägezyklusses ist in anschaulicher Form in einem Ergebnisfenster darzustellen. Überflüssige Ergebnisfenster sind zu löschen!