Software: SimX - Nadelantrieb - Wirkprinzip - Optimierungsverfahren: Unterschied zwischen den Versionen
KKeine Bearbeitungszusammenfassung |
KKeine Bearbeitungszusammenfassung |
||
Zeile 2: | Zeile 2: | ||
<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 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?" | ||
Zeile 10: | Zeile 10: | ||
** 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 | ||
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:[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_step1000.gif|right]] | 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:[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_step1000.gif|right|.]] | ||
* Die Option "Automatischer Stop=True" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert leider nicht immer zuverlässig! | * Die Option "Automatischer Stop=True" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert leider nicht immer zuverlässig! | ||
* Um das Optimum zu finden, sollte man "Automatischer Stop=False" setzen. Die Anzahl der Optimierungsschritte kann man auf einen großen Wert (z.B 1000) setzen. Man kann die Optimierung jederzeit manuell stoppen, wenn keine weitere Verbesserung der Lösung zu erwarten ist. | * Um das Optimum zu finden, sollte man "Automatischer Stop=False" setzen. Die Anzahl der Optimierungsschritte kann man auf einen großen Wert (z.B 1000) setzen. 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:<div align="center"> [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_hook_jeeves.gif| ]]</div> | * 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> | ||
* [[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. | * [[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 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 (Wert =1/100 des Startwert der Entwurfsgröße). | ||
* Dieser Vorgabewert ist meist nutzbar. Ist der Betrag eines Grenzwertes im Vergleich zum Startwert für die Entwurfsgröße sehr groß, so sollte man die Startschrittweite jedoch auf mindestens 1/1000 dieses Grenzwertbetrages setzen. | * Dieser Vorgabewert ist meist nutzbar. Ist der Betrag eines Grenzwertes im Vergleich zum Startwert für die Entwurfsgröße sehr groß, so sollte man die Startschrittweite jedoch auf mindestens 1/1000 dieses Grenzwertbetrages setzen. | ||
* Dieses Problem erkennt man bei der Rückholfeder, welche mit einem relativ kleinen Startwert beginnt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite2.gif| ]]</div> | * Dieses Problem erkennt man bei der Rückholfeder, welche mit einem relativ kleinen Startwert beginnt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite2.gif|.]]</div> | ||
* Hier sollte man die Startschrittweite auf z.B. 0.1 N/mm erhöhen. Das entspricht 1/1000 von 100 N/mm und wird trotz numerischer Ungenauigkeiten der Modellberechnung noch brauchbare Ergebnisse bei der Abtastung der Zielfunktion bei großen Werten der Federsteife garantieren. | * Hier sollte man die Startschrittweite auf z.B. 0.1 N/mm erhöhen. Das entspricht 1/1000 von 100 N/mm und wird trotz numerischer Ungenauigkeiten der Modellberechnung noch brauchbare Ergebnisse bei der Abtastung der Zielfunktion bei großen Werten der Federsteife garantieren. | ||
<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> |
Version vom 10. April 2015, 13:23 Uhr
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=True" soll die Suche beenden, wenn das Minimum erreicht wurde. Das dafür implementierte Kriterium funktioniert leider nicht immer zuverlässig!
- Um das Optimum zu finden, sollte man "Automatischer Stop=False" setzen. Die Anzahl der Optimierungsschritte kann man auf einen großen Wert (z.B 1000) setzen. 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:
- 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).
- Dieser Vorgabewert ist meist nutzbar. Ist der Betrag eines Grenzwertes im Vergleich zum Startwert für die Entwurfsgröße sehr groß, so sollte man die Startschrittweite jedoch auf mindestens 1/1000 dieses Grenzwertbetrages setzen.
- Dieses Problem erkennt man bei der Rückholfeder, welche mit einem relativ kleinen Startwert beginnt:
- Hier sollte man die Startschrittweite auf z.B. 0.1 N/mm erhöhen. Das entspricht 1/1000 von 100 N/mm und wird trotz numerischer Ungenauigkeiten der Modellberechnung noch brauchbare Ergebnisse bei der Abtastung der Zielfunktion bei großen Werten der Federsteife garantieren.