Software: SimX - Nadelantrieb - Robust-Optimierung - Ergebnisse

Aus OptiYummy
Zur Navigation springenZur Suche springen

Robust-Optimierung (Experiment-Ergebnisse)

Experiment-Durchführung

Software SimX - Nadelantrieb - Robust-Optimierung - 3d-kriterien.gif

Hinweis: Um die Zeit zu nutzen, sollten wir bereits vor der Konfiguration der Diagramm-Fenster die Optimierung starten.

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 (Beachte: in aktuellen OptiY-Versionen erfolgt keine Farbskalierung in Z-Richtung mehr!). 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:
Software SimX - Nadelantrieb - Robust-Optimierung - 2d-diagramme.gif

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
  • Die Nennwert-Verläufe erinnern stark an Rosa Rauschen. 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).
  • 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 danach 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 alle berechneten "Kinder" (=probabilistische Simulationsläufe) dargestellt. Uns interessieren aber nur die Mitglieder der Pareto-Menge:

Software SimX - Nadelantrieb - Robust-Optimierung - mengewahl-pareto.gif

Es bleiben nur die zulässigen Lösungen 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:

Software SimX - Nadelantrieb - Robust-Optimierung - pareto-menge autoskaliert.gif

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:

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:
Software SimX - Nadelantrieb - Robust-Optimierung - pareto-menge20 gefiltert.gif

Danach schalten wir in allen 2D/3D-Diagrammen die Autoskalierung ab und wählen in der Menge-Auswahl wieder die vollständige Pareto-Menge:

Software SimX - Nadelantrieb - Robust-Optimierung - pareto-menge skaliert.gif

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:

  • Jeden einzelnen Lösungspunkt in einem 2D-Diagramm kann man mit dem Cursor auswählen.
  • Die ausgewählte Lösung erscheint dann in allen 2D- und 3D-Diagrammen als markiert.
  • 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:
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!

Man kann auf Grundlage der Pareto-Menge 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.
  • 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:
    Software SimX - Nadelantrieb - Robust-Optimierung - pareto-menge30 optimum.gif
  • 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.
  • 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
  • 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.
  • 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!):
    Software SimX - Nadelantrieb - Robust-Optimierung - pareto-menge2000 optimum.gif
  • 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:
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:

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 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:

Software SimX - Nadelantrieb - Robust-Optimierung - kein normdraht.gif

Falls sich wider Erwarten eine andere Lösung als optimale Kompromisslösung erweist, so wird der benötigte Drahtdurchmesser wahrscheinlich keinem Normdraht entsprechen:

  • 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!
  • 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!

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:

  • Mittel_tZyklus (mittlere Zykluszeit)
  • Streuung_tZyklus (um die mittlere Zykluszeit)
  • Mittel_dT_Draht (mittlere Spulen-Erwärmung)
  • d_Anker (Ankerdurchmesser)
  • L_Magnet (Magnetlänge ohne Restriktion!)
  • R20_Spule (Widerstand der Spule bei 20°C)
  • w_Spule (Windungszahl)
  • d_Draht (Drahtdurchmesser)
  • Feder.k (Elastizitätskonstante)
  • Feder.s0 (Vorspannweg)
  • Widerstand.R (Abschaltwiderstand)

Wichtig:

  • Als Bestandteil der Lösung muss die gespeicherte .opy-Datei 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!