objectif
Minimiser une fonction scalaire multivariée.
code minimal
from scipy.optimize import minimize
import numpy as np
f = lambda v: (v[0]-1)**2 + (v[1]+2)**2
res = minimize(f, x0=np.array([0.0,0.0]))
print(round(res.x[0],3), round(res.x[1],3))
utilisation
from scipy.optimize import minimize
res = minimize(lambda x: (x[0]-3)**2, x0=[0.0])
print(float(res.x[0]))
variante(s) utile(s)
from scipy.optimize import minimize
res = minimize(lambda x: (x[0])**2, x0=[1.0], method="Powell")
print(res.success)
notes
- Choisir méthode selon différentiabilité/contraintes.