利用python軟件編程求解非線性Rosenbrock最優化問題
程序,如下
from scipy.optimize import minimize
fun = lambda x: (1 - x[0]) ** 2 + 100 * (x[1] - x[0] ** 2) ** 2
bnds = ((-2, 2), (-1, 3))
res = minimize(fun, (2, 0), method='SLSQP', bounds=bnds)
print(res.x)
結果
[0.99989094 0.99980692]