scipy.optimize.

fminbound#

scipy.optimize.fminbound(func, x1, x2, args=(), xtol=1e-05, maxfun=500, full_output=0, disp=1)[Quelle]#

Beschränkte Minimierung für skalare Funktionen.

Parameter:
funccallable f(x,*args)

Zu minimierende Zielfunktion (muss Skalare akzeptieren und zurückgeben).

x1, x2Gleitkommazahl oder Array-Skalar

Endliche Optimierungsgrenzen.

argstuple, optional

Zusätzliche Argumente, die an die Funktion übergeben werden.

xtolfloat, optional

Die Konvergenztoleranz.

maxfunint, optional

Maximale Anzahl zulässiger Funktionsaufrufe.

full_outputbool, optional

Wenn True, gib optionale Ausgaben zurück.

disp: int, optional

Wenn ungleich Null, werden Nachrichten ausgegeben.

0 : Keine Nachrichten ausgeben.

1 : Nur Benachrichtigungen bei Nichtkonvergenz.

2 : Gibt auch eine Nachricht bei Konvergenz aus.

3 : Iterationsergebnisse ausgeben.

Rückgabe:
xoptndarray

Parameter (im gegebenen Intervall), die die Zielfunktion minimieren.

fvalZahl

(Optionaler Output) Der Funktionswert, der am Minimierer ausgewertet wurde.

ierrGanzzahl

(Optionaler Output) Ein Fehlermarker (0 bei Konvergenz, 1 bei Erreichen der maximalen Anzahl von Funktionsaufrufen).

numfuncGanzzahl

(Optionaler Output) Die Anzahl der durchgeführten Funktionsaufrufe.

Siehe auch

minimize_scalar

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

Hinweise

Findet einen lokalen Minimierer der skalaren Funktion func im Intervall x1 < xopt < x2 mithilfe von Brents Methode. (Siehe brent für automatische Bracketing.)

Referenzen

[1]

Forsythe, G.E., M. A. Malcolm und C. B. Moler. „Computer Methods for Mathematical Computations.“ Prentice-Hall Series in Automatic Computation 259 (1977).

[2]

Brent, Richard P. Algorithms for Minimization Without Derivatives. Courier Corporation, 2013.

Beispiele

fminbound findet den Minimierer der Funktion im gegebenen Bereich. Die folgenden Beispiele veranschaulichen dies.

>>> from scipy import optimize
>>> def f(x):
...     return (x-1)**2
>>> minimizer = optimize.fminbound(f, -4, 4)
>>> minimizer
1.0
>>> minimum = f(minimizer)
>>> minimum
0.0
>>> res = optimize.fminbound(f, 3, 4, full_output=True)
>>> minimizer, fval, ierr, numfunc = res
>>> minimizer
3.000005960860986
>>> minimum = f(minimizer)
>>> minimum, fval
(4.000023843479476, 4.000023843479476)