minimize(method=’BFGS’)#

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 mittels des BFGS-Algorithmus.

Siehe auch

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

Optionen:
——-
dispbool

Auf True setzen, um Konvergenz-Meldungen auszugeben.

maxiterint

Maximale Anzahl durchzuführender Iterationen.

gtolfloat

Erfolgreiche Beendigung, wenn die Norm des Gradienten kleiner als gtol ist.

normfloat

Ordnung der Norm (Inf ist Maximum, -Inf ist Minimum).

epsfloat oder ndarray

Wenn jac None ist, der absolute Schrittwert, der zur numerischen Approximation des Jacobi-Matrix mittels Vorwärtsdifferenzen verwendet wird.

return_allbool, optional

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

finite_diff_rel_stepNone oder array_like, optional

Wenn jac in ['2-point', '3-point', 'cs'] dann die relative Schrittgröße, die zur numerischen Approximation des Jacobi-Matrix verwendet wird. Die absolute Schrittgröße wird berechnet als h = rel_step * sign(x) * max(1, abs(x)), möglicherweise angepasst, um in die Grenzen zu passen. Für jac='3-point' wird das Vorzeichen von h ignoriert. Wenn None (Standard) dann wird die Schrittgröße automatisch gewählt.

xrtolfloat, default: 0

Relative Toleranz für x. Erfolgreiche Beendigung, wenn die Schrittgröße kleiner als xk * xrtol ist, wobei xk der aktuelle Parametervektor ist.

c1float, Standard: 1e-4

Parameter für die Armijo-Bedingungsregel.

c2float, Standard: 0.9

Parameter für die Krümmungsbedingungsregel.

hess_inv0None oder ndarray, optional

Anfängliche Schätzung der inversen Hesse-Matrix, Form (n, n). Wenn None (Standard) dann wird die Identitätsmatrix verwendet.

workersint, map-ähnlicher aufrufbarer Typ, optional

Ein map-ähnlicher aufrufbarer Typ, wie z.B. multiprocessing.Pool.map, zur parallelen Auswertung von numerischen Differenzierungen. Diese Auswertung erfolgt als workers(fun, iterable).

Hinzugefügt in Version 1.16.0.

Hinweise

Die Parameter c1 und c2 müssen 0 < c1 < c2 < 1 erfüllen.

Wenn die Minimierung nicht erfolgreich abgeschlossen wird, mit einer Fehlermeldung wie Desired error not necessarily achieved due to precision loss, dann sollten Sie gtol auf einen höheren Wert setzen. Dieser Präzisionsverlust tritt typischerweise auf, wenn die numerische Differenzierung (Finite Differenzen) nicht ausreichend Präzision liefern kann, um das Abbruchkriterium gtol zu erfüllen. Dies kann vorkommen, wenn Sie mit einfacher Genauigkeit arbeiten und kein aufrufbares jac bereitgestellt wird. Für Probleme mit einfacher Genauigkeit scheint ein gtol von 1e-3 zu funktionieren.