我想以起点(2,20)计算以下函数的所有最小值(局部和全局):
我尝试使用以下代码,但不确定是否计算正确,是否有可能在Python中找到所有局部最小值。
import numpy as np
from scipy.optimize import fmin
import math
def f(x):
# return x[0]**2/2 + 5*x[1]**2 + x[0]**3/3
return (1/2)*np.power((x[0]), 2) + 5*np.power((x[1]), 2) + (1/3)*np.power((x[0]), 3)
fmin(f, np.array([2, 20]))
输出:
Optimization terminated successfully.
Current function value: 0.000000
Iterations: 58
Function evaluations: 112
array([-1.7438898e-05, 2.0049784e-06])
请帮助我,谢谢。