minimize(method=’Powell’)#

scipy.optimize.minimize(fun, x0, args=(), method=None, jac=None, hess=None, hessp=None, bounds=None, constraints=(), tol=None, callback=None, options=None)

Minimierung einer skalaren Funktion von einer oder mehreren Variablen mithilfe des modifizierten Powell-Algorithmus.

Parameter:
funcallable

Die zu minimierende Zielfunktion

fun(x, *args) -> float

wobei x ein 1D-Array mit der Form (n,) ist und args ein Tupel von festen Parametern ist, die zur vollständigen Spezifikation der Funktion benötigt werden.

x0ndarray, Form (n,)

Anfangsschätzung. Array aus reellen Elementen der Größe (n,), wobei n die Anzahl der unabhängigen Variablen ist.

argstuple, optional

Zusätzliche Argumente, die an die Zielfunktion und ihre Ableitungen (fun, jac und hess Funktionen) übergeben werden.

methodstr oder aufrufbar, optional

Die vorliegende Dokumentation ist spezifisch für method='powell', aber andere Optionen sind verfügbar. Siehe Dokumentation für scipy.optimize.minimize.

boundsSequenz oder Bounds, optional

Grenzen für Entscheidungsvariablen. Es gibt zwei Möglichkeiten, die Grenzen anzugeben

  1. Instanz der Klasse Bounds.

  2. Sequenz von Paaren (min, max) für jedes Element in x. None wird verwendet, um keine Grenze anzugeben.

Wenn keine Grenzen angegeben werden, wird eine ungebundene Liniensuche verwendet. Wenn Grenzen angegeben werden und die Anfangsschätzung innerhalb der Grenzen liegt, dann liegen alle Funktionsauswertungen während des Minimierungsverfahrens innerhalb der Grenzen. Wenn Grenzen angegeben werden, die Anfangsschätzung außerhalb der Grenzen liegt und direc vollen Rang hat (oder auf dem Standardwert belassen wird), dann können einige Funktionsauswertungen während der ersten Iteration außerhalb der Grenzen liegen, aber alle Funktionsauswertungen nach der ersten Iteration werden innerhalb der Grenzen liegen. Wenn direc keinen vollen Rang hat, dann werden einige Parameter möglicherweise nicht optimiert und die Lösung liegt nicht garantiert innerhalb der Grenzen.

optionsdict, optional

Ein Wörterbuch von Solver-Optionen. Alle Methoden akzeptieren die folgenden generischen Optionen

maxiterint

Maximale Anzahl von Iterationen, die durchgeführt werden sollen. Abhängig von der Methode kann jede Iteration mehrere Funktionsauswertungen verwenden.

dispbool

Auf True setzen, um Konvergenz-Meldungen auszugeben.

Siehe methodenspezifische Optionen für method='powell' unten.

callbackcallable, optional

Nach jeder Iteration aufgerufen. Die Signatur lautet

callback(xk)

wobei xk der aktuelle Parametervektor ist.

Rückgabe:
resOptimizeResult

Das Optimierungsergebnis, dargestellt als ein OptimizeResult Objekt. Wichtige Attribute sind: x das Lösungsarray, success ein boolesches Flag, das angibt, ob der Optimierer erfolgreich beendet wurde, und message, das den Grund für die Beendigung beschreibt. Siehe OptimizeResult für eine Beschreibung anderer Attribute.

Siehe auch

Für die Dokumentation der restlichen Parameter siehe scipy.optimize.minimize

Optionen:
——-
dispbool

Auf True setzen, um Konvergenz-Meldungen auszugeben.

xtolfloat

Relative Fehlertoleranz in der Lösung xopt, die für die Konvergenz akzeptabel ist.

ftolfloat

Relative Fehlertoleranz in fun(xopt), die für die Konvergenz akzeptabel ist.

maxiter, maxfevint

Maximal zulässige Anzahl von Iterationen und Funktionsauswertungen. Standardmäßig wird N*1000 verwendet, wobei N die Anzahl der Variablen ist, wenn weder maxiter noch maxfev gesetzt sind. Wenn sowohl maxiter als auch maxfev gesetzt sind, stoppt die Minimierung beim ersten erreichten Limit.

direcndarray

Anfängliche Menge an Richtungsvektoren für die Powell-Methode.

return_allbool, optional

Auf True setzen, um eine Liste der besten Lösungen in jeder Iteration zurückzugeben.