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

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 7: Zeile 7:


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:
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 K>1 oder P>9,
** Evolutionsstrategie bei K>1 oder P>9,
** Hook-Jeeves-Verfahren für K<2 und P<10
** Hook-Jeeves-Verfahren für K<2 und P<10
Zeile 15: Zeile 15:
<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>
* 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.[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite.gif|right|.]]
* 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.
* 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.
* Als Erfahrungswert für die Startschrittweite sollte man folgende Bedingungen einhalten, falls dies möglich ist:   
* Aus Erfahrung sollte man bei der Bestimmung der Startschrittweite in folgender Reihenfolge vorgehen:   
# '''Startschrittweite''' ≈ '''Start-Wert/10'''  
# Anfangswert der Entwurfsgröße → '''Startschrittweite''' ≈ '''Wert/50'''
# '''Startschrittweite''' ≥ '''Obergrenze/1000'''
# Überprüfen dieser Schrittweite für die Obergrenze → '''Startschrittweite''' ≥ '''Obergrenze/1000'''?
* Dies soll am Beispiel der Rückholfeder verdeutlicht werden, welche mit einem relativ kleinen Start-Wert beginnt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite2.gif|.]]</div>
# Ist die Schrittweite für die Obergrenze zu klein, dann '''Startschrittweite''' ≈ '''Obergrenze/1000'''
* Hier ist eine Startschrittweite von z.B. '''0.1&nbsp;N/mm''' ( '''1/1000''' von '''100&nbsp;N/mm''') ein günstiger Kompromiss, auch wenn die Abtastschrittweite für den Start-Wert etwas groß ist. Bei Bedarf verkleinert das Optimierungsverfahren die Abtastschrittweite, eine Vergrößerung der Abtastschrittweite findet jedoch nie statt!
* 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>
* Analog dazu sind die Abtastschrittweiten für die anderen Entwurfsgrößen zu wählen, wie dies beispielhaft für '''Nadel_x0''' gezeigt ist.
* 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.
* '''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>
<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!).