本文主要是介绍【scipy】scipy.optimize 求解非线性Rosenbrock最优化问题 python,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
利用python软件编程求解非线性Rosenbrock最优化问题
m i n f ( x , y ) = ( 1 − x ) 2 + 100 ( y − x 2 ) 2 min f(x, y) = (1-x)^{2}+100(y-x^{2})^{2} minf(x,y)=(1−x)2+100(y−x2)2
− 2 ≤ x ≤ 2 -2\leq x \leq 2 −2≤x≤2
− 1 ≤ y ≤ 3 -1\leq y \leq 3 −1≤y≤3
程序,如下
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]
这篇关于【scipy】scipy.optimize 求解非线性Rosenbrock最优化问题 python的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!