我有一个带有2个变量的函数,我尝试使用L-BFGS-B方法将其最小化。
def f(x,y):
z = exp(x + y)
return z
我的参数是numpy数组,x0是(0,0)。我试着像:
res = minimize(f,x0,args=(x,y), method = "L-BFGS-B")
并得到错误说我给3个参数而不是2.出了什么问题?
答案 0 :(得分:1)
args
参数用于将额外数据传递到目标函数。在您的情况下,目标函数应该采用一个参数:它应该被评估为数组的点。例如:
def f(x):
return np.exp(x.sum())
minimize(f, [0,0], bounds=[[-5,None], [-5,None]])
我想你正在优化指数以外的函数,对吧?因为最小化它显然是微不足道的......