Software: SimX - Nadelantrieb - Wirkprinzip - Zielfunktion: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 1: Zeile 1:
[[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Guetefunktion|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Ergebnisse|&rarr;]]</div>
[[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Guetefunktion|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Ergebnisse|&rarr;]]</div>
<div align="center">'''Experiment: Hierarchische Optimierung''' </div>
<div align="center">'''Experiment: Hierarchische Optimierung''' </div>
'''''Achtung:''' Die folgenden Abschnitte wurden noch nicht im Sinne der neuen Modellstruktur überarbeitet. Das prinzipielle Vorgehen bleibt jedoch weiterhin gültig!''





Version vom 14. August 2009, 15:16 Uhr

Experiment: Hierarchische Optimierung

Achtung: Die folgenden Abschnitte wurden noch nicht im Sinne der neuen Modellstruktur überarbeitet. Das prinzipielle Vorgehen bleibt jedoch weiterhin gültig!


Globale Suche

Die zuvor angewandte Rastersuche gehört zu den globalen Suchverfahren. Damit werden Informationen über den gesamten aufgespannten Suchraum gewonnen. Solche Informationen zu den Eigenschaften der Gütefunktion sind äußerst nützlich für den Optimierungsprozess:

  • Existieren mehrere lokale Optima?
  • Existieren voneinander getrennte Bereiche zulässiger Lösungen?
  • Liegen Optima direkt an Grenzen zum Bereich unzulässiger Lösungen?
  • Ist die Gütefunktion numerisch kritisch (unstetig, verrauscht, Polstellen usw.)?

Globale Suche setzt meist eine Reduktion des Suchraums voraus (Rechenzeit!):


Die gesamte Gütefunktion wie im obigen Bild bekommt man bei praktischen Optimierungsproblemen eher selten zu Gesicht. Deshalb sollte man zumindest ein Gefühl dafür entwickeln, wie ausgehend von einem Startpunkt mit lokalen Suchverfahren eine optimale Lösung auf der "unsichtbaren" Gütefunktion gefunden wird:

  • Wir hatten bereits festgestellt, dass innerhalb des Suchraums zwei unterschiedliche Bereiche existieren:
    • Bereiche mit zulässigen Lösungen (alle Forderungen werden erfüllt).
    • Bereiche unzulässiger Lösungen (es werden Restriktionen verletzt).
  • Zusätzlich existiert noch der Bereich außerhalb des Suchraums:
    • Enthält alle Lösungen, von denen mindestens ein Entwurfsparameter außerhalb der festgelegten Grenzen liegt.
    • Mit Ausnahme der Rastersuche können bei anderen Optimierungsverfahren während des Suchprozesses auch Lösungen außerhalb des Suchraums generiert werden! Für diese Lösungen wird dann jedoch kein Simulationslauf durchgeführt.

Die 3D-Darstellung der Restriktionsgröße Praegung zeigt die Abgrenzung zwischen zulässigen (=1) und unzulässigen Lösungen (<1) im Suchraum:

Software SimX - Nadelantrieb - Wirkprinzip - 3d-flaeche praegung.gif

Zusätzlich wird automatisch eine Straffunktion als Bestandteil der Gütekriterien generiert, wenn Restriktionen definiert wurden. In der 3D-Darstellung der Straffunktion bilden sich die Lösungsbereiche wie folgt ab (Strafe=0 sind die zulässigen Lösungen):

Software SimX - Nadelantrieb - Wirkprinzip - 3d-flaeche strafe.gif


Hierarchische Zielfunktion

Memo stempel.gif

OptiY nutzt die vom Nutzer formulierten Gütekriterien als Bestandteil einer "hierarchischen" Zielfunktion:

  • Um zwei Lösungen miteinander vergleichen zu können, muss für jede dieser Lösungen ein Zielfunktionswert nach der gleichen Zielfunktion gebildet werden. Der Zielfunktionswert entspricht der "Güte" oder "Fitness" einer Lösung.
  • OptiY verwendet dafür drei verschiedene Zielfunktionen
  1. Straf-Funktion für die Begrenzung des Suchraums (interne "unsichtbare" Größe)
  2. Straf-Funktion für Restriktionsverletzungen (zusätzliches Gütekriterium "Strafe")
  3. Gütekriterien für zulässige Lösungen (vom Nutzer definiert)
  • Die 1. Zielfunktion hat eine höhere Priorität als die 2. Zielfunktion. Diese hat eine höhere Priorität als die 3. Zielfunktion.
  • Für den Vergleich zweier Lösungen wird die zuständige Zielfunktion mit der höchsten Priorität benutzt, z.B.:
  1. Liegt mindestens eine Lösung außerhalb des durch die Grenzen der Entwurfsparameter aufgespannten Suchraums, so wird die 1. Zielfunktion benutzt.
  2. Gibt es bei mindestens einer Lösung noch Restriktionsverletzungen, so wird die 2.Zielfunktion benutzt.
  3. Nur wenn beide Lösungen im zulässigen Bereich liegen, werden die Gütekriterien für die Bewertung benutzt.
  • Der Wert der Straffunktion ist Null, wenn keine Restriktionen verletzt sind (Bereich zulässiger Lösungen).
  • Im Bereich unzulässiger Lösungen steigt der Wert der Straffunktion quadratisch mit dem Grad der Restriktionsverletzung.

Visualisierung von Suchpfaden

Achtung: Bevor wir mit dem nächsten Experiment beginnen, sollten wir die erforderlichen Korrekturen für die numerische Stabilität und die Ermittlung der Zykluszeit dauerhaft im Simulationsmodell verankern! Dazu beenden wir OptiY und öffnen das SimulationX-Modell:

  • dtMin=1E-10 s (in Simulationssteuerung)
  • tZyklus.y0=tStop (Zeit für "Nichtprägen")


Hinweis: Der Anfangswert tStop von tZyklus.y0 wird nur wirksam, wenn man den Kraftmodus "Abschaltung=1" benutzt. Beginnt die Magnetkraft bei Null, so wird die Nadel durch die Feder-Vorspannung in den Anschlag der Ruhelage gedrückt. Dies wird als erstes Ereignis registriert und dafür eine Zeit nahe Null für tZyklus.y übernommen.


Das geänderte SimulationX-Modell speichern und schließen wir, bevor wir erneut unseren Versuchsstand in OptiY öffnen.


Aufbauend auf dem Experiment Rastersuche 2D definieren wir durch Duplizieren ein neues Experiment Suchpfade:

  • Zur Optimierung wählen wir das Hooke-Jeeves-Verfahren.
  • tStop=3.4 ms (Globale Modellparameter)
  • Ausgehend von unterschiedlichen Startpunkten wollen wir den Pfad des Verfahrens im Suchraum beobachten.
  • Dafür konfigurieren wir wieder die 3D-Darstellung für tZyklus=f(d_Anker, Feder_k).


1. Suche im zulässigen Bereich:

Software SimX - Nadelantrieb - Wirkprinzip - suchpfad 3d-konfig.gif
  • Wir starten in der oberen Ecke der Gütefunktion mit den Startwerten
    • d_Anker=16 mm und
    • Feder_k=8 N/mm
  • Während der Lösungssuche erfolgt standardmäßig eine automatische Skalierung der Koordinatenachsen unseres 3D-Diagramms:
    • Um eine bessere Vergleichbarkeit mit den 3D-Flächen der vorherigen Rastersuche zu erreichen, setzen wir nach dem Erreichen des Optimums für das Diagramm Auto-Skalierung=False.
    • Für die X- und Y-Achse tragen wir die Grenzen des kompletten Suchbereichs ein.
    • Die Grenzen der Z-Achse belassen wir auf dem automatisch ermittelten Minimalwert und setzen Max=0.0034 s:
      Software SimX - Nadelantrieb - Wirkprinzip - pfad im zulaessigen.gif
  • Das Optimierungsverfahren bewegt sich näherungsweise entlang des steilsten Abstiegs zum flachen und lang gestreckten Talgrund.
  • In der Talmulde erfolgt eine Neuorientierung für die Suchrichtung mit einer Drehung von ca. 90° und das Verfahren wandert in der Mulde bis zum tiefsten Punkt.
  • Während der Suche wird der Bereich zulässiger Lösungen im Wesentlichen nicht verlassen:
    • Der erste Tastschritt landete außerhalb des definierten Suchbereiches (d_Anker=16.01 mm).
    • Je nach gewählter Abtastschrittweite kann es in der Talmulde vor der Neuorientierung zu einem Schritt in den Bereich des "Nichtprägens" kommen.


2. Start mit unzulässiger Lösung:

Mit den Startwerten

  • d_Anker=8 mm und
  • Feder_k=100 N/mm

besitzen wir einen Antrieb, der sich fast nicht mehr bewegt (Praegung ca. 0.2).


Anhand des Pfades auf der Funktion tZyklus=f(d_Anker, Feder_k) kann man noch nicht direkt erkennen, wie das Optimierungsverfahren den zulässigen Bereich der Lösungen findet:

Software SimX - Nadelantrieb - Wirkprinzip - pfad tzyklus im unzulaessigen.gif
  • Das Optimierungsverfahren erreicht den zulässigen Bereich der Lösungen in der flachen Mulde der Gütefunktion.
  • In dieser Mulde wird letztendlich wieder die gleiche Lösung mit minimaler Zykluszeit gefunden.


Das Prinzip der hierarchischen Optimierung wird deutlicher, wenn man sich die 3D-Darstellung von Strafe=f(d_Anker, Feder_k) anschaut:

Software SimX - Nadelantrieb - Wirkprinzip - pfad straffunktion.gif
  • Infolge der Restriktionsverletzung Praegung<1 ist der Wert der Straffunktion zu Beginn der Optimierung nicht Null.
  • Deshalb erfolgt die Optimierung in der ersten Phase nur auf der Straffunktion als Zielfunktion. Es wird näherungsweise der steilste Abstieg zum Gebiet mit Strafe=0 gesucht. Dabei steigt das erreichte Prägungsmaß stetig an:
    Software SimX - Nadelantrieb - Wirkprinzip - pfad praegung im unzulaessigen.gif
  • Erst wenn die Lösungssuche im zulässigen Bereich angekommen ist, erfolgt die Umschaltung der Zielfunktion auf das Gütekriterium tZyklus.