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

Aus OptiYummy
Zur Navigation springenZur Suche springen
KKeine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 18: Zeile 18:
* 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:   
* Als Erfahrungswert für die Startschrittweite sollte man folgende Bedingungen einhalten, falls dies möglich ist:   
# '''Startschrittweite''' ≈ '''Start-Wert/10'''  
# '''Startschrittweite''' ≈ '''Wert/10'''  
# '''Startschrittweite''' ≥ '''Obergrenze/1000'''
# '''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|.]] [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite.gif|.|.]]</div>
* Dies soll am Beispiel der Rückholfeder verdeutlicht werden, welche mit einem relativ kleinen Wert beginnt:<div align="center">[[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite2.gif|.]] [[Bild:Software_SimX_-_Nadelantrieb_-_Wirkprinzip_-_optimierungsverfahren_startschrittweite.gif|.|.]]</div>
* 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!
* 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 Anfangswert etwas groß ist. Bei Bedarf verkleinert das Optimierungsverfahren die Abtastschrittweite, eine Vergrößerung der Abtastschrittweite findet jedoch nie statt!
* Analog dazu sind die Abtastschrittweiten für die anderen Entwurfsgrößen zu wählen, wie dies beispielhaft für '''Nadel_x0''' gezeigt ist.   
* 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|←]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|→]] </div>
<div align="center"> [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Kriterien|←]] [[Software:_SimX_-_Nadelantrieb_-_Wirkprinzip_-_Visualisierung|→]] </div>

Version vom 26. Januar 2024, 15:31 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.
  • Als Erfahrungswert für die Startschrittweite sollte man folgende Bedingungen einhalten, falls dies möglich ist:
  1. StartschrittweiteWert/10
  2. StartschrittweiteObergrenze/1000
  • Dies soll am Beispiel der Rückholfeder verdeutlicht werden, welche mit einem relativ kleinen Wert beginnt:
    . .
  • Hier ist eine Startschrittweite von z.B. 0.1 N/mm ( 1/1000 von 100 N/mm) ein günstiger Kompromiss, auch wenn die Abtastschrittweite für den Anfangswert etwas groß ist. Bei Bedarf verkleinert das Optimierungsverfahren die Abtastschrittweite, eine Vergrößerung der Abtastschrittweite findet jedoch nie statt!
  • Analog dazu sind die Abtastschrittweiten für die anderen Entwurfsgrößen zu wählen, wie dies beispielhaft für Nadel_x0 gezeigt ist.