以下代码出错,错误在最后一行,不是很能理解。
另外,如果def Eu(x,y):的定义方法也会引发类似的错误。
求大神指导!
from math import sqrt
import scipy.optimize as spo
import numpy as np
def Eu(z):
s,b=z
return -(0.5*sqrt(s*15+b*5)+0.5*sqrt(s*5+b*12))
bnds=((0,1000),(0,None))
cons=({'type':'ineq','fun': lambda s,b:100-10*s-10*b}) #cons是由字典组成的元组
result=spo.minimize(Eu,[5,5],method='SLSQP',bounds=bnds,constraints=cons)
print(result)
#TypeError: <lambda>() missing 1 required positional argument: 'b'