scipy.optimize.

golden#

scipy.optimize.golden(func, args=(), brack=None, tol=np.float64(1.4901161193847656e-08), full_output=0, maxiter=5000)[Quelle]#

Gibt den Minimierer einer Funktion einer Variablen mit der Goldener-Schnitt-Methode zurück.

Gegeben eine Funktion einer Variablen und ein mögliches Klammerungsintervall, gibt ein Minimierer der Funktion zurück, der auf eine Bruchteilpräzision von tol isoliert ist.

Parameter:
funccallable func(x,*args)

Zielfunktion zur Minimierung.

argstuple, optional

Zusätzliche Argumente (falls vorhanden), die an func übergeben werden.

bracktuple, optional

Entweder ein Tripel (xa, xb, xc), wobei xa < xb < xc und func(xb) < func(xa) und  func(xb) < func(xc), oder ein Paar (xa, xb), das als Anfangspunkte für eine Abwärtsklammerungssuche verwendet wird (siehe scipy.optimize.bracket). Der Minimierer x wird nicht notwendigerweise xa <= x <= xb erfüllen.

tolfloat, optional

x-Toleranz-Stoppkriterium

full_outputbool, optional

Wenn True, gib optionale Ausgaben zurück.

maxiterint

Maximale Anzahl durchzuführender Iterationen.

Rückgabe:
xminndarray

Optimaler Punkt.

fvalfloat

(Optionale Ausgabe) Optimaler Funktionswert.

funcallsint

(Optionale Ausgabe) Anzahl der durchgeführten Auswertungen der Zielfunktion.

Siehe auch

minimize_scalar

Schnittstelle zu Minimierungsalgorithmen für skalare univariate Funktionen. Siehe insbesondere die Methode 'Golden' method.

Hinweise

Verwendet ein Analogon der Bisektionsmethode, um das geklammerte Intervall zu verkleinern.

Beispiele

Wir illustrieren das Verhalten der Funktion, wenn brack die Größe 2 bzw. 3 hat. In dem Fall, dass brack die Form (xa,xb) hat, können wir für die gegebenen Werte sehen, dass die Ausgabe nicht notwendigerweise im Bereich (xa, xb) liegen muss.

>>> def f(x):
...     return (x-1)**2
>>> from scipy import optimize
>>> minimizer = optimize.golden(f, brack=(1, 2))
>>> minimizer
1
>>> res = optimize.golden(f, brack=(-1, 0.5, 2), full_output=True)
>>> xmin, fval, funcalls = res
>>> f(xmin), fval
(9.925165290385052e-18, 9.925165290385052e-18)