← retour aux snippets

scipy.optimize: minimize

Minimiser une fonction scalaire multivariée.

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.