Software: SimX - Nadelantrieb - Wirkprinzip - Lokale Suche: Unterschied zwischen den Versionen

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
 
(16 dazwischenliegende Versionen von 3 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
[[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip|&uarr;]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Auswertung|&rarr;]] </div>
[[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip|]] <div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Auswertung|]] </div>
<div align="center">'''Experiment: Lokale Suche (Hooke-Jeeves)''' </div>
<div align="center">'''Experiment: Lokale Suche (Hooke-Jeeves)''' </div>
'''Start des Experiments:'''
'''''Wichtig'':''' Das ''SimulationX'' sollte jetzt mit dem soeben erfolgreich simulierten Modell geöffnet sein!
* Nach soviel Vorbereitung wollen wir nun beherzt den Start-Button [[Bild:Software_OptiY_-_Button_-_Exp_starten.gif|baseline]] für das Experiment drücken und hoffen, dass sich der Antrieb in die gewünschte Richtung entwickelt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverlauf.gif]]</div>
* Nach so viel Vorbereitung wollen wir nun im ''OptiY'' beherzt den Start-Button [[Bild:Software_OptiY_-_Button_-_Exp_starten.gif|baseline|.]] für das Experiment drücken und hoffen, dass sich der Antrieb in die gewünschte Richtung entwickelt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverlauf.gif|.]]</div>
* Wenn keine Verbesserung der Ergebnisse mehr zu erwarten ist, können wir das Experiment stoppen [[Bild:Software_OptiY_-_Button_-_Exp_stoppen.gif|middle]].  
* Wenn keine Verbesserung der Ergebnisse mehr zu erwarten ist, können wir das Experiment stoppen [[Bild:Software_OptiY_-_Button_-_Exp_stoppen.gif|middle|.]] (im Beispiel nach 400 Optimierungsschritten).  
* Die Verkürzung der Zykluszeit wird vor allem erreicht durch eine Vergrößerung der Steifigkeit der Rückholfeder mit entsprechender Anpassung der anderen Antriebsparameter.
* Die Verkürzung der Zykluszeit wird vor allem erreicht durch eine Vergrößerung der Steifigkeit der Rückholfeder mit entsprechender Anpassung der anderen Antriebsparameter.
* Man kann sich die exakten Werte eines Optimierungsschrittes anzeigen lassen. Nach Doppelklick mit der linken Maustaste auf den gewünschten Kurven-Punkt wird dieser Punkt auf allen Kurven markiert und es werden die zugehörigen Werte eingeblendet. Ein Doppelklick abseits jeglicher Kurve blendet die Markierungen wieder aus.
* Man kann sich die exakten Werte eines Optimierungsschrittes anzeigen lassen. Nach Doppelklick mit der linken Maustaste auf den gewünschten Kurven-Punkt wird dieser Punkt auf allen Kurven markiert und es werden die zugehörigen Werte eingeblendet. Ein Doppelklick abseits jeglicher Kurve blendet die Markierungen wieder aus.
* Sollte innerhalb der vorgegebenen Optimierungsschritte das Optimum noch nicht erreicht werden, so kann man die Zahl der Optimierungsschritte erhöhen und das Experiment fortsetzen [[Bild:Software_OptiY_-_Button_-_Exp_fortsetzen.gif|middle]].
'''Hinweise zur Fehlersuche:'''<br>Erkennt man ein fehlerhaftes Verhalten des Modells während der Optimierungsrechnung, so muss man das Experiment stoppen [[Bild:Software_OptiY_-_Button_-_Exp_stoppen.gif|middle|.]]:
'''Hinweise zur Fehlersuche:'''
* Im ''SimulationX'' den Simulationslauf auf den Anfang zurücksetzen, damit ein definierter Beginn des nächsten Simulationslaufes stattfindet.  
* Das Modellverhalten kann man dann im ''SimulationX'' mit den aktuell vom ''OptiY'' eingespeisten Nennwerten untersuchen.


Erkennt man ein fehlerhaftes Verhalten des Modells während der Optimierungsrechnung, so muss man das Experiment stoppen [[Bild:Software_OptiY_-_Button_-_Exp_stoppen.gif|middle]]:
Korrektur von Fehlern im ''SimulationX''-Modell bei aktivem ''OptiY''-Versuchsstand kann zum Absturz von ''OptiY'' führen, da die Verknüpfungen zwischen beiden Programmen dadurch fehlgeleitet werden:
* Im SimulationX den Simulationslauf auf den Anfang zurücksetzen, damit ein definierter Beginn des nächsten Simulationslaufes stattfindet.
* Vor der Fehler-Korrektur muss man ''OptiY'' beenden. Dabei bleibt das im ''SimulationX'' benutzte Modell offen. Da es mit den Parametern des letzten Simulationslaufes belegt ist, sollte man es schließen (ohne speichern!).
* Das Modellverhalten kann man dann im SimulationX mit den aktuell vom OptiY eingestellten Nennwerten untersuchen.
* Lädt man das Modell erneut im ''SimulationX'', so besitzt es die Ausgangslösung als Parametersatz.   
 
Korrektur von Fehlern im SimulationX-Modell bei aktivem OptiY-Versuchsstand führt meist zum Absturz von OptiY, da die Verknüpfungen zwischen beiden Programmen dadurch fehlgeleitet werden:
* Vor der Fehler-Korrektur muss man OptiY beenden. Dabei bleibt das im SimulationX benutzte Modell offen. Da es mit den Parametern des letzten Simulationslaufes belegt ist, sollte man es schließen (ohne speichern!).
* Danach lädt man das Modell erneut im SimulationX. Es besitzt dann wieder die Ausgangslösung als Parametersatz.   
* Nach Korrektur der Modellfehler speichert man den neuen Modellzustand und schließt das Modell.  
* Nach Korrektur der Modellfehler speichert man den neuen Modellzustand und schließt das Modell.  
* In OptiY steht nach erneutem Start das korrigierte Modell im Experiment-Workflow zur Verfügung.
* In ''OptiY'' steht nach erneutem Start das korrigierte Modell im Experiment-Workflow zur Verfügung.
'''Typische Fehler-Situationen:'''
'''Typische Fehler-Situationen:'''
* '''Das Modell reagiert unglaubwürdig auf Nennwert-Änderungen:'''
* '''Das Modell reagiert unglaubwürdig auf Nennwert-Änderungen:'''
** Hat z.B. die Änderung des Ankerdurchmessers keinen Einfluss auf die Bewegung, so fehlt die Verbindung zwischen dem OptiY-Workflow und dem Modellparameter oder etwas kann im Modell nicht stimmen!  
** Hat z.B. die Änderung des Ankerdurchmessers keinen Einfluss auf die Bewegung, so fehlt die Verbindung zwischen dem ''OptiY''-Workflow und dem Modellparameter oder etwas kann im Modell nicht stimmen!  
** Erforderliche Modell-Änderungen muss man wie zuvor beschrieben vornehmen.  
** Erforderliche Modell-Änderungen muss man wie zuvor beschrieben vornehmen.  
* '''Es wird keine Verbesserung der Anfangslösung erreicht:'''
* '''Es wird keine Verbesserung der Anfangslösung erreicht:'''
:'''1. Das Modell rechnet zu ungenau''', so dass durch die Abtastschritte kein Anstieg auf der Gütefunktion erkannt werden kann (Numerisches Rauschen):
*#'''Das Modell rechnet zu ungenau''', so dass durch die Abtastschritte kein Anstieg auf der Gütefunktion erkannt werden kann (Numerisches Rauschen):
:* Wechseln in das SimulationX.  
*#* Wechseln in das ''SimulationX''.  
:* Öffnen des Einstellungsdialogs für die Simulation.  
*#* Öffnen des Einstellungsdialogs für die Simulation.  
:* Verringern von ''absTol'' und ''relTol'' z.B. um 1 Zehnerpotenz auf 1E-6. (Achtung: höhere Genauigkeiten führen teilweise zu wesentlich längeren Rechenzeiten!).  
*#* Verringern von ''absTol'' und ''relTol'' z.B. um 1 Zehnerpotenz auf '''1E-6'''. (Achtung: höhere Genauigkeiten führen teilweise zu wesentlich längeren Rechenzeiten!).  
:* Verringern von ''dtMin'' auf z.B. 1E-12 (kleinere Werte können zu numerischen Problemen führen!).  
*#* Verringern von ''dtMin'' auf z.B. '''1E-12''' (wesentlich kleinere Werte können zu numerischen Problemen führen!).  
:* In OptiY die Optimierung fortsetzen .  
*#* In ''OptiY'' die Optimierung fortsetzen.  
:'''2. Ungünstige Abtastschrittweiten''' für Entwurfsgrößen:
*#'''Ungünstige Abtastschrittweiten''' für Entwurfsgrößen:
:* Die Startschrittweite für die Abtastung wird z.B. zu 1/100 des Startwertes gebildet.  
*#* Die Startschrittweite für die Abtastung wurde im Beispiel zu 1/50 des Startwertes (oder größer) gebildet.  
:* Reagiert das Modellverhalten sehr empfindlich auf eine Änderung des betreffenden Entwurfsparameters, so kann hier ein kleinerer Wert sinnvoll sein.  
*#* Reagiert das Modellverhalten sehr empfindlich auf eine Änderung des betreffenden Entwurfsparameters, so kann hier ein kleinerer Wert sinnvoll sein.  
:* Umgekehrt kann es auch sinnvoll sein, diese Startschrittweite zu vergrößern, falls die geringen Auswirkungen der Änderung ansonsten im numerischen Rauschen untergehen.  
*#* Umgekehrt kann es auch sinnvoll sein, diese Startschrittweite zu vergrößern, falls die geringen Auswirkungen der Änderung ansonsten im numerischen Rauschen untergehen.  
:* Optimierung mit der veränderten Abtastschrittweite fortsetzen [[Bild:Software_OptiY_-_Button_-_Exp_fortsetzen.gif|middle]].  
*#* Optimierung mit der veränderten Abtastschrittweite fortsetzen [[Bild:Software_OptiY_-_Button_-_Exp_fortsetzen.gif|middle|.]].  
 
*'''Entwurfsparameter konvergiert gegen seinen Grenzwert:'''
*'''Entwurfsparameter konvergiert gegen seinen Grenzwert:'''
** Falls der Grenzwert nicht infolge einer Forderung festgelegt wurde (z.B. max. Einbaumaß) oder nicht der Physik widerspricht (z.B. negative Einschaltzeiten), sollte man die Grenze des Entwurfsparameters ändern.
** Falls der Grenzwert nicht infolge einer Forderung festgelegt wurde (z.B. max. Einbaumaß) oder nicht der Physik widerspricht (z.B. negative Einschaltzeiten), sollte man die Grenze des Entwurfsparameters ändern.
** Ein Rücksetzen und erneutes Starten der Optimierung führt dann mit großer Wahrscheinlichkeit zu einer besseren Lösung.  
** Ein Rücksetzen und erneutes Starten der Optimierung führt dann mit großer Wahrscheinlichkeit zu einer besseren Lösung.  
*'''Die Lösung verschlechtert sich konsequent:'''
*'''Die Lösung verschlechtert sich konsequent:'''
** Es werden im Modell fehlerhafte Bewertungsgrößen berechnet oder  
** Es werden im Modell fehlerhafte Bewertungsgrößen berechnet oder  
** es wurden die Forderungen der Aufgabenstellung fehlerhaft in Form der Restriktionen oder Gütekriterien definiert.  
** es wurden die Forderungen der Aufgabenstellung fehlerhaft in Form der Restriktionen oder Gütekriterien definiert.  
*'''Konvergenz zum Optimum vorzeitig beendet:'''
*'''Konvergenz zum Optimum vorzeitig beendet:'''
** Bleiben nach einer gewissen Zeit alle Nennwerte konstant, so kann man noch nicht sicher sein, wirklich ein Optimum erreicht zu haben.  
** Bleiben nach einer gewissen Zeit alle Nennwerte konstant, so kann man noch nicht sicher sein, wirklich ein Optimum erreicht zu haben.  
Zeile 49: Zeile 42:
** Man sollte in jedem Fall versuchen, eine Optimierung ausgehend von den gleichen Anfangswerten, mit einer höheren Rechengenauigkeit durchzuführen (''absTol'' und ''relTol'').  
** Man sollte in jedem Fall versuchen, eine Optimierung ausgehend von den gleichen Anfangswerten, mit einer höheren Rechengenauigkeit durchzuführen (''absTol'' und ''relTol'').  
** Erreicht man damit den gleichen Bestwert, so handelt es sich mit großer Wahrscheinlichkeit um eine optimale Lösung.  
** Erreicht man damit den gleichen Bestwert, so handelt es sich mit großer Wahrscheinlichkeit um eine optimale Lösung.  
** Ist dies nicht der Fall, kann man die Rechengenauigkeit weiter erhöhen (falls die Berechnungszeit dies noch zulässt!).<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|&larr;]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Auswertung|&rarr;]] </div>
** Ist dies nicht der Fall, kann man die Rechengenauigkeit weiter erhöhen (falls die Berechnungszeit dies noch zulässt!).<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Auswertung|]] </div>

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

Experiment: Lokale Suche (Hooke-Jeeves)

Wichtig: Das SimulationX sollte jetzt mit dem soeben erfolgreich simulierten Modell geöffnet sein!

  • Nach so viel Vorbereitung wollen wir nun im OptiY beherzt den Start-Button . für das Experiment drücken und hoffen, dass sich der Antrieb in die gewünschte Richtung entwickelt:
    .
  • Wenn keine Verbesserung der Ergebnisse mehr zu erwarten ist, können wir das Experiment stoppen . (im Beispiel nach 400 Optimierungsschritten).
  • Die Verkürzung der Zykluszeit wird vor allem erreicht durch eine Vergrößerung der Steifigkeit der Rückholfeder mit entsprechender Anpassung der anderen Antriebsparameter.
  • Man kann sich die exakten Werte eines Optimierungsschrittes anzeigen lassen. Nach Doppelklick mit der linken Maustaste auf den gewünschten Kurven-Punkt wird dieser Punkt auf allen Kurven markiert und es werden die zugehörigen Werte eingeblendet. Ein Doppelklick abseits jeglicher Kurve blendet die Markierungen wieder aus.

Hinweise zur Fehlersuche:
Erkennt man ein fehlerhaftes Verhalten des Modells während der Optimierungsrechnung, so muss man das Experiment stoppen .:

  • Im SimulationX den Simulationslauf auf den Anfang zurücksetzen, damit ein definierter Beginn des nächsten Simulationslaufes stattfindet.
  • Das Modellverhalten kann man dann im SimulationX mit den aktuell vom OptiY eingespeisten Nennwerten untersuchen.

Korrektur von Fehlern im SimulationX-Modell bei aktivem OptiY-Versuchsstand kann zum Absturz von OptiY führen, da die Verknüpfungen zwischen beiden Programmen dadurch fehlgeleitet werden:

  • Vor der Fehler-Korrektur muss man OptiY beenden. Dabei bleibt das im SimulationX benutzte Modell offen. Da es mit den Parametern des letzten Simulationslaufes belegt ist, sollte man es schließen (ohne speichern!).
  • Lädt man das Modell erneut im SimulationX, so besitzt es die Ausgangslösung als Parametersatz.
  • Nach Korrektur der Modellfehler speichert man den neuen Modellzustand und schließt das Modell.
  • In OptiY steht nach erneutem Start das korrigierte Modell im Experiment-Workflow zur Verfügung.

Typische Fehler-Situationen:

  • Das Modell reagiert unglaubwürdig auf Nennwert-Änderungen:
    • Hat z.B. die Änderung des Ankerdurchmessers keinen Einfluss auf die Bewegung, so fehlt die Verbindung zwischen dem OptiY-Workflow und dem Modellparameter oder etwas kann im Modell nicht stimmen!
    • Erforderliche Modell-Änderungen muss man wie zuvor beschrieben vornehmen.
  • Es wird keine Verbesserung der Anfangslösung erreicht:
    1. Das Modell rechnet zu ungenau, so dass durch die Abtastschritte kein Anstieg auf der Gütefunktion erkannt werden kann (Numerisches Rauschen):
      • Wechseln in das SimulationX.
      • Öffnen des Einstellungsdialogs für die Simulation.
      • Verringern von absTol und relTol z.B. um 1 Zehnerpotenz auf 1E-6. (Achtung: höhere Genauigkeiten führen teilweise zu wesentlich längeren Rechenzeiten!).
      • Verringern von dtMin auf z.B. 1E-12 (wesentlich kleinere Werte können zu numerischen Problemen führen!).
      • In OptiY die Optimierung fortsetzen.
    2. Ungünstige Abtastschrittweiten für Entwurfsgrößen:
      • Die Startschrittweite für die Abtastung wurde im Beispiel zu 1/50 des Startwertes (oder größer) gebildet.
      • Reagiert das Modellverhalten sehr empfindlich auf eine Änderung des betreffenden Entwurfsparameters, so kann hier ein kleinerer Wert sinnvoll sein.
      • Umgekehrt kann es auch sinnvoll sein, diese Startschrittweite zu vergrößern, falls die geringen Auswirkungen der Änderung ansonsten im numerischen Rauschen untergehen.
      • Optimierung mit der veränderten Abtastschrittweite fortsetzen ..
  • Entwurfsparameter konvergiert gegen seinen Grenzwert:
    • Falls der Grenzwert nicht infolge einer Forderung festgelegt wurde (z.B. max. Einbaumaß) oder nicht der Physik widerspricht (z.B. negative Einschaltzeiten), sollte man die Grenze des Entwurfsparameters ändern.
    • Ein Rücksetzen und erneutes Starten der Optimierung führt dann mit großer Wahrscheinlichkeit zu einer besseren Lösung.
  • Die Lösung verschlechtert sich konsequent:
    • Es werden im Modell fehlerhafte Bewertungsgrößen berechnet oder
    • es wurden die Forderungen der Aufgabenstellung fehlerhaft in Form der Restriktionen oder Gütekriterien definiert.
  • Konvergenz zum Optimum vorzeitig beendet:
    • Bleiben nach einer gewissen Zeit alle Nennwerte konstant, so kann man noch nicht sicher sein, wirklich ein Optimum erreicht zu haben.
    • Im Beispiel wird die Zielfunktion um das Optimum so flach, dass aufgrund des numerischen Rauschens das Optimierungsverfahren keine Richtungsinformation mehr gewinnen kann.
    • Man sollte in jedem Fall versuchen, eine Optimierung ausgehend von den gleichen Anfangswerten, mit einer höheren Rechengenauigkeit durchzuführen (absTol und relTol).
    • Erreicht man damit den gleichen Bestwert, so handelt es sich mit großer Wahrscheinlichkeit um eine optimale Lösung.
    • Ist dies nicht der Fall, kann man die Rechengenauigkeit weiter erhöhen (falls die Berechnungszeit dies noch zulässt!).