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

Aus OptiYummy
Zur Navigation springenZur Suche springen
Zeile 6: Zeile 6:


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


'''Hinweise:'''
'''Hinweise:'''
Zeile 15: Zeile 14:
* Falls bei den numerischen Problemen eine Verringerung von ''dtMin'' empfohlen wird, kann man das versuchen (z.B. von 1e‑8 auf 1e‑10).
* Falls bei den numerischen Problemen eine Verringerung von ''dtMin'' empfohlen wird, kann man das versuchen (z.B. von 1e‑8 auf 1e‑10).
* Der "gemeinste Fall" ist das "Verklemmen" des SimulationX bei der Initialisierung von Simulationsläufen ("ewiges" Rechnen mit ''dtMin'' bei t=0). Man kann versuchen, den aktuellen Simulationslauf anzuhalten (in OpptiY und im SimulationX). Mit etwas Glück kann man dann im OptiY die Optimierung fortsetzen. Es kann aber sein, dass man sowohl OptiY als auch SimulationX definiert beenden muss und die Optimierung wieder von vorn beginnt. Im Beispiel entstand der Eindruck, dass dieses "Verklemmen" markant kurz vor der 800. Optimierungsschritt auftritt. Es könnte sich noch um ein Problem im Zusammenwirken von OptiY 3.1 und SimulationX 3.1 handeln.
* Der "gemeinste Fall" ist das "Verklemmen" des SimulationX bei der Initialisierung von Simulationsläufen ("ewiges" Rechnen mit ''dtMin'' bei t=0). Man kann versuchen, den aktuellen Simulationslauf anzuhalten (in OpptiY und im SimulationX). Mit etwas Glück kann man dann im OptiY die Optimierung fortsetzen. Es kann aber sein, dass man sowohl OptiY als auch SimulationX definiert beenden muss und die Optimierung wieder von vorn beginnt. Im Beispiel entstand der Eindruck, dass dieses "Verklemmen" markant kurz vor der 800. Optimierungsschritt auftritt. Es könnte sich noch um ein Problem im Zusammenwirken von OptiY 3.1 und SimulationX 3.1 handeln.
Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als "Kriterien-Raum" visualisieren. 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:
Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als "Kriterien-Raum" visualisieren. 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:
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_3d-kriterien.gif| ]]</div>
<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Robust-Optimierung_-_3d-kriterien.gif| ]]</div>

Version vom 15. Januar 2009, 08:58 Uhr

Robust-Optimierung (Experiment-Ergebnisse)


Experiment-Durchführung

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

Hinweise:

Infolge der coevolutionären Algorithmen ist die Chance recht groß, dass während der Optimierung unzulässige Lösungen generiert werden. Die im SimulationX dann gezeigten Fehlermeldungen muss man dann manuell quittieren:

  • Meist sind es numerische Probleme ("Genauigkeit konnte nicht erreicht werden"), manchmal auch physikalischer Unsinn ("Eisenlänge kleiner Null").
  • Für letzteres könnte man versuchen, dafür eine Fehlerbehandlung im Modell zu programmieren. In unserem Beispiel stehen dabei jedoch Aufwand und Nutzen in keinem Verhältnis!
  • Falls bei den numerischen Problemen eine Verringerung von dtMin empfohlen wird, kann man das versuchen (z.B. von 1e‑8 auf 1e‑10).
  • Der "gemeinste Fall" ist das "Verklemmen" des SimulationX bei der Initialisierung von Simulationsläufen ("ewiges" Rechnen mit dtMin bei t=0). Man kann versuchen, den aktuellen Simulationslauf anzuhalten (in OpptiY und im SimulationX). Mit etwas Glück kann man dann im OptiY die Optimierung fortsetzen. Es kann aber sein, dass man sowohl OptiY als auch SimulationX definiert beenden muss und die Optimierung wieder von vorn beginnt. Im Beispiel entstand der Eindruck, dass dieses "Verklemmen" markant kurz vor der 800. Optimierungsschritt auftritt. Es könnte sich noch um ein Problem im Zusammenwirken von OptiY 3.1 und SimulationX 3.1 handeln.

Da wir nur drei Gütekriterien berücksichtigen, können wir die Lösungen noch komplett in einer 3D-Darstellung als "Kriterien-Raum" visualisieren. 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:

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

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 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 Pareto-Menge entsprechend der Anzahl möglicher Paar-Kombinationen:

Um einzelne Lösungen analysieren zu können, sollte man die Verteilungsdichten der 3 Restriktionsgrößen darstellen, welche zu den Gütekriterien gehören. Nach Auswahl eines Punktes z.B. in einem 2D-Diagramm werden darin die Verteilungsdichten der zugehörigen Lösung dargestellt:

Bisher werden in den 2D/3D-Diagrammen alle berechneten "Kinder" (=Simulationsläufe) dargestellt. Uns interessieren aber nur die Mitglieder der Pareto-Menge:

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

Da nur die zulässigen Lösungen der "Seifenhaut" in den Diagrammen erhalten bleiben, erhöht sich die Übersichtlichkeit beträchtlich. Da u.a. die Ausreißer entfallen, konzentrieren sich die Abbildungen auf den relevanten Wertebereich:

Experiment-Auswertung

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

  • In unserem Beispiel ist die Streuung der Abschaltspannung im Sinne einer robusten Lösung möglichst zu minimieren.
  • Es wäre günstig, wenn dabei auch der maximale Abschaltstrom nicht zu stark variiert. Diese Schwankungen sind aber in Hinblick auf eine Zerstörung des Antriebs nicht ganz so kritisch.
  • Dabei sollte der Antrieb noch möglichst schnell sein.

Man würde im Beispiel also Lösungen selektieren, welche möglichst kleinen Werten der Streuung_vMax entsprechen. Dafür bietet sich das 2D-Diagramm an, welches Streuung_vMax=f(Mittel_tZyklus) darstellt:

  • In diesem Diagramm sieht man den Widerspruch zwischen kleiner Zykluszeit und kleiner Streuung der Abschaltspannung:
    • Im Beispiel wurden Lösungen favorisiert, die noch einigermaßen schnell waren.
    • Bei fast gleich schnellen Antrieben solte man sich dann für einen entscheiden, dessen Abschaltspannung möglichst wenig streut.

Die jeweils selektierte Lösung wird auch in allen anderen Diagrammen markiert:

  • In den Verteilungsdichte-Diagrammen erscheinen die zur selektierten Lösung gehörenden Streuungen der Bewertungsgrößen.
  • Das bietet eine weitere Entscheidungshilfe:
    • Bei ähnlichen Lösungen sind sicher diejenigen besser, deren Streubereich die Restriktionsgrenzen gar nicht ausschöpft.
    • Obiges Diagramm zeigt solch eine Lösung. Da diese Anforderung aber nicht explizit im Experiment-Workflow definiert wurde, sind solche Lösungen nur ein günstiger Nebeneffekt, den man natürlich nutzen sollte!
  • Das 3D-Diagramm zeigt insbesondere durch die Möglichkeit der Diagramm-Drehung recht anschaulich die Lage der gewählten Lösung im Kriterien-Raum:

Experiment-Ergebnisse (Robust-Optimierung)

Mit welchen technisch sinnvollen Nennwerten ergibt sich bei Berücksichtigung von Normdrähten eine möglichst robuste und trotzdem schnelle Antriebslösung mit der Ausschuss-Quote Null:

  • t_Zyklus (Min+Max im Toleranzbereich)
  • d_Anker (Ankerdurchmesser)
  • R20_Spule (Widerstand der Spule bei 20°C)
  • w_Spule (Windungszahl)
  • d_Draht (aus Normreihe)
  • Feder.k (Elastizitätskonstante)
  • Feder.s0 (Vorspannweg)
  • Widerstand.R (Abschaltwiderstand)

Erläutern Sie anhand der Streubereiche für Zykluszeit, Abschaltspannung und Maximalstrom, in welchem Maße eine robustere Lösung im Vergleich zur Ausschuss-Minimierung gefunden wurde.