from scipy.optimize import minimize
import numpy as np
e =1e-10
fun = lambda x :(x[0]-1)**2 + (x[1]+2)**2
cons=(
{'type':'eq','fun':lambda x:x[0]-x[1]-1},
{'type':'ineq','fun':lambda x:x[0]+10*x[1]-10-e}
)
x0=np.array((0.5,0.5))
res = minimize(fun,x0,method='SLSQP',constraints=cons)
print('最小值:',res.fun)
print('最优解:',res.x)
print('迭代终止是否成功:',res.success)
print('迭代终止原因:',res.message)
最终结果:
最小值: 8.61157024800003
最优解: [1.81818182 0.81818182]
迭代终止是否成功: True
迭代终止原因: Optimization terminated successfully