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

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(28 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Kriterien|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|&rarr;]] </div>
[[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip|]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Kriterien|]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|]] </div>
<div align="center">'''Experiment: Optimierungsverfahren''' </div>
<div align="center">'''Experiment: Optimierungsverfahren''' </div>


[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_standard.gif|right]]
[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_standard.gif|right|.]]
Bisher haben wir unser Entwurfsproblem vor allem inhaltlich in eine Optimierungsaufgabe transformiert. Es fehlt nun noch die Konfiguration der "Numerik", d.h.: "Mit welchem Optimierungsverfahren soll Wie die optimale Lösung gefunden werden?"  
Bisher haben wir unser Entwurfsproblem vor allem inhaltlich in eine Optimierungsaufgabe transformiert. Es fehlt nun noch die Konfiguration der "Numerik", d.h.: "Mit welchem Optimierungsverfahren soll die optimale Lösung gefunden werden?"  




Leider ist das "optimale" Optimierungsverfahren und seine "optimale" Konfiguration abhängig von der Optimierungsaufgabe! Ausgehend von einer Standard-Konfiguration ist es meist günstig noch einen gewissen Aufwand in den Abgleich des numerischen Verfahrens zu investieren. Das werden wir nun am Beispiel des Nadelantriebs üben:
Leider ist das "optimale" Optimierungsverfahren und seine "optimale" Konfiguration abhängig von der Optimierungsaufgabe! Ausgehend von einer Standard-Konfiguration ist es meist günstig, einen gewissen Aufwand in den Abgleich des numerischen Verfahrens zu investieren. Das werden wir nun am Beispiel des Nadelantriebs üben:
* OptiY bietet für den unerfahrenen Nutzer ein Standard-Verfahren an. Welches Verfahren sich dahinter verbirgt, ist abhängig von der Anzahl der Entwurfsparameter '''P''' und Gütekriterien '''K''':
* ''OptiY'' bietet für den unerfahrenen Nutzer ein Standard-Verfahren an. Welches Verfahren sich dahinter verbirgt, ist abhängig von der Anzahl der Entwurfsparameter '''P''' und Gütekriterien '''K''':
** Evolutionsstrategie bei P>1 oder K>9,
** Evolutionsstrategie bei K>1 oder P>9,
** Hook-Jeeves-Verfahren für P<2 und K<10
** Hook-Jeeves-Verfahren für K<2 und P<10
* In unserem Beispiel würde also das Hook-Jeeves-Verfahren genutzt. Dieses tastet sich auf der Zielfunktion von der Ausgangslösung schrittweise in Richtung kleinerer Werte "bergab" und endet dort in der Talsohle - in der Hoffnung, dass dies das globale Optimum ist:
In unserem Beispiel würde also das Hook-Jeeves-Verfahren genutzt. Dieses tastet sich auf der Zielfunktion von der Ausgangslösung schrittweise in Richtung kleinerer Werte "bergab" und endet dort in der Talsohle - in der Hoffnung, dass dies das globale Optimum ist:  
** Die Option "Automatischer Stopp=True" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert leider nur sehr unzuverlässig!
* Die Option "Automatischer Stop" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert meist zuverlässig!
** Um das Optimum zu finden, muss man "Automatischer Stopp=False" setzen. Die Anzahl der Optimierungsschritte sollte man auf einen großen Wert (z.B 1000) setzen:<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_step1000.gif]]</div>Man kann die Optimierung jederzeit manuell stoppen, wenn keine weitere Verbesserung der Lösung zu erwarten ist.
* Um an dieser Stelle zumindest einen Einblick in die Konfiguration eines Optimierungsverfahren zu erhalten, wählen wir das Hook-Jeeves-Verfahren:
** Um an dieser Stelle zumindest einen Einblick in die Konfiguration eines Optimierungsverfahren zu erhalten, wählen wir das Hook-Jeeves-Verfahren:<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_hook_jeeves.gif]]</div>
<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_hook_jeeves.gif|.]]</div>
** [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite.gif|right]]Die individuelle Abtast-Schrittweite für jeden Entwurfsparameter ist in der Standardeinstellung u.a. von deren vorgegebenem Variationsbereich [Untergrenze ,Obergrenze] abhängig. Da dies numerisch nicht immer günstig sein muss, sollte man sich den Zugriff auf diese Abtast-Schrittweite ermöglichen, indem man ''Startschrittweite=manuell'' setzt.
* Die individuelle Abtast-Schrittweite für jeden Entwurfsparameter ist in der Standardeinstellung u.a. von deren vorgegebenem Variationsbereich [Untergrenze, Obergrenze] abhängig. Da dies numerisch nicht immer günstig sein muss, sollte man sich den Zugriff auf diese Abtast-Schrittweite ermöglichen, indem man ''Startschrittweite=manuell'' setzt.
** Die Startschrittweite erscheint dann als zusätzliche Eigenschaft nach Wahl des jeweiligen Entwurfsparameters im OptiY-Explorer (Wert =1/100 des Startwert der Entwurfsgröße).
* Die Startschrittweite erscheint dann als zusätzliche Eigenschaft nach Wahl des jeweiligen Entwurfsparameters im ''OptiY''-Explorer.
** Dieser Vorgabewert ist meist nutzbar. Ist der Variationsbereich für die Entwurfsgröße sehr groß, so sollte die Startschrittweite jedoch mindestens 1/1000 der Bereichsbreite betragen.
* Die Abtastschrittweite für den aktuellen Wert des Entwurfsparameters darf innerhalb des vorgegebenen Suchbereiches [Untergrenze .. Obergrenze] nicht zu klein und nicht zu groß werden, damit die damit die Steigung an der Abtaststelle hinreichend genau berechnet werden kann.
** Dieses Problem erkennt man bei der Rückholfeder, welche mit einem relativ kleinen Startwert beginnt:  
* Aus Erfahrung sollte man bei der Bestimmung der Startschrittweite in folgender Reihenfolge vorgehen: 
 
# Anfangswert der Entwurfsgröße → '''Startschrittweite''' ≈ '''Wert/50'''
 
# Überprüfen dieser Schrittweite für die Obergrenze → '''Startschrittweite''' ≥ '''Obergrenze/1000'''?
 
# Ist die Schrittweite für die Obergrenze zu klein, dann '''Startschrittweite''' ≈ '''Obergrenze/1000'''
'''... hier geht es bald weiter!'''
* Dies soll am Beispiel der Rückholfeder verdeutlicht werden, welche mit einem relativ kleinen Anfangswert im Verhältnis zur geschätzten Obergrenze beginnt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite2.gif|.]] [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite.gif|.|.]]</div>
 
* Hier ergibt sich bei der beschriebenen Vorgehensweise eine Startschrittweite von '''0.1&nbsp;N/mm''' ( '''1/1000''' von '''100&nbsp;N/mm'''). Auch wenn die Abtastschrittweite für den Anfangswert etwas zu groß ist, bei Bedarf verkleinert das Optimierungsverfahren die Abtastschrittweite bei mangelhafter Konvergenz!
 
* Analog dazu sind die Abtastschrittweiten für die anderen Entwurfsgrößen zu wählen, wie dies beispielhaft für '''Nadel_x0''' gezeigt ist.
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Kriterien|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|&rarr;]] </div>
* '''Hinweis:''' Ergeben sich laut Berechnung "krumme" Werte für die Startschrittweite, kann man auf nächstliegende anschauliche Werte runden (da es sich sowieso nur um grobe Schätzwerte handelt!). 
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Kriterien|]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|]] </div>

Aktuelle Version vom 26. Februar 2024, 10:18 Uhr

Experiment: Optimierungsverfahren
.

Bisher haben wir unser Entwurfsproblem vor allem inhaltlich in eine Optimierungsaufgabe transformiert. Es fehlt nun noch die Konfiguration der "Numerik", d.h.: "Mit welchem Optimierungsverfahren soll die optimale Lösung gefunden werden?"


Leider ist das "optimale" Optimierungsverfahren und seine "optimale" Konfiguration abhängig von der Optimierungsaufgabe! Ausgehend von einer Standard-Konfiguration ist es meist günstig, einen gewissen Aufwand in den Abgleich des numerischen Verfahrens zu investieren. Das werden wir nun am Beispiel des Nadelantriebs üben:

  • OptiY bietet für den unerfahrenen Nutzer ein Standard-Verfahren an. Welches Verfahren sich dahinter verbirgt, ist abhängig von der Anzahl der Entwurfsparameter P und Gütekriterien K:
    • Evolutionsstrategie bei K>1 oder P>9,
    • Hook-Jeeves-Verfahren für K<2 und P<10

In unserem Beispiel würde also das Hook-Jeeves-Verfahren genutzt. Dieses tastet sich auf der Zielfunktion von der Ausgangslösung schrittweise in Richtung kleinerer Werte "bergab" und endet dort in der Talsohle - in der Hoffnung, dass dies das globale Optimum ist:

  • Die Option "Automatischer Stop" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert meist zuverlässig!
  • Um an dieser Stelle zumindest einen Einblick in die Konfiguration eines Optimierungsverfahren zu erhalten, wählen wir das Hook-Jeeves-Verfahren:
.
  • Die individuelle Abtast-Schrittweite für jeden Entwurfsparameter ist in der Standardeinstellung u.a. von deren vorgegebenem Variationsbereich [Untergrenze, Obergrenze] abhängig. Da dies numerisch nicht immer günstig sein muss, sollte man sich den Zugriff auf diese Abtast-Schrittweite ermöglichen, indem man Startschrittweite=manuell setzt.
  • Die Startschrittweite erscheint dann als zusätzliche Eigenschaft nach Wahl des jeweiligen Entwurfsparameters im OptiY-Explorer.
  • Die Abtastschrittweite für den aktuellen Wert des Entwurfsparameters darf innerhalb des vorgegebenen Suchbereiches [Untergrenze .. Obergrenze] nicht zu klein und nicht zu groß werden, damit die damit die Steigung an der Abtaststelle hinreichend genau berechnet werden kann.
  • Aus Erfahrung sollte man bei der Bestimmung der Startschrittweite in folgender Reihenfolge vorgehen:
  1. Anfangswert der Entwurfsgröße → StartschrittweiteWert/50
  2. Überprüfen dieser Schrittweite für die Obergrenze → StartschrittweiteObergrenze/1000?
  3. Ist die Schrittweite für die Obergrenze zu klein, dann StartschrittweiteObergrenze/1000
  • Dies soll am Beispiel der Rückholfeder verdeutlicht werden, welche mit einem relativ kleinen Anfangswert im Verhältnis zur geschätzten Obergrenze beginnt:
    . .
  • Hier ergibt sich bei der beschriebenen Vorgehensweise eine Startschrittweite von 0.1 N/mm ( 1/1000 von 100 N/mm). Auch wenn die Abtastschrittweite für den Anfangswert etwas zu groß ist, bei Bedarf verkleinert das Optimierungsverfahren die Abtastschrittweite bei mangelhafter Konvergenz!
  • Analog dazu sind die Abtastschrittweiten für die anderen Entwurfsgrößen zu wählen, wie dies beispielhaft für Nadel_x0 gezeigt ist.
  • Hinweis: Ergeben sich laut Berechnung "krumme" Werte für die Startschrittweite, kann man auf nächstliegende anschauliche Werte runden (da es sich sowieso nur um grobe Schätzwerte handelt!).