Die Funktion NonlinearProgramming.minimize(f, z) erwartet folgende (verpflichtende) Argumente:
Argument | Datentyp | Hinweis |
f | Funktion | - |
z | Datenfeld | Startwert als Vektor |
Ausgehend von der Startlösung z wird die Zielfunktion f minimiert. Falls das Verfahren gegen ein lokales Minimum konvergiert, wird das (lokale) Minimum als Datenfeld (Vektor) zurückgegeben. Wird eine maximale Anzahl an Iterationen erreicht, ohne dass zuvor ein lokales Minimum gefunden wird, so erscheint eine Warnung und es wird die bislang beste Lösung zurückgegeben. Ist das Problem umbeschränkt oder numerisch schlecht gestellt, so wird eine entsprechende Zeichenkette ausgegeben.
Es können folgende Optionen verwendet werden:
Variable | Datentyp | Hinweis | Default-Wert |
method | Zeichenkette | nelder-mead oder gradient | nelder-mead |
maximal_iterations | Zahl | ganzzahlig, positiv | 1000 |
accuracy | Zahl | positiv | 0.000001 |
Mittels method kann definiert werden, ob der Nelder-Mead Algorithmus oder ein Gradientenverfahren als Solver verwendet wird. maximal_iterations definiert die maximale Anzahl an Iterationen und accuracy gibt die Lösungsgenauigkeit vor.
Im Allgemeinen kann nicht davon ausgegangen werden, dass ein globales Optimum bestimmt wird.