我试图用带约束的scipy和SLSQP方法解决一个最小化问题
有人能解释一下为什么我在两台计算机上有两个不同的结果吗? 代码是一样的。数据是相同的
numpy软件包不同于1.16.2和1.15.4。 在一边,它会聚在一起,在另一边,它不会
Out[7]:
fun: 0.0
jac: array([0.00000000e+00, 0.00000000e+00, 1.49011612e-08, ...,
1.49011612e-08, 1.49011612e-08, 1.49011612e-08])
message: 'Optimization terminated successfully.'
nfev: 4616
nit: 7
njev: 3
status: 0
success: True
x: array([1.2287234, 1.2287234, 1.2287234, ..., 1.0234375, 1.0234375,
1.0234375])
Out[3]:
fun: 0.0
jac: array([0.00000000e+00, 0.00000000e+00, 1.49011612e-08, ...,
1.49011612e-08, 1.49011612e-08, 1.49011612e-08])
message: 'Positive directional derivative for linesearch'
nfev: 4616
nit: 7
njev: 3
status: 8
success: False
x: array([1.2287234, 1.2287234, 1.2287234, ..., 1.0234375, 1.0234375,
1.0234375])
def objective2(w) :
return sum((w*np.log(w/d) + d - w)/q)
cons2 = ({'type': 'eq', 'fun': contrainte01}, {'type': 'ineq', 'fun': contrainte02}, {'type': 'ineq', 'fun': contrainte3})
solution = minimize(objective2, d, method='SLSQP', constraints=cons2)
目前没有回答
相关问题 更多 >
编程相关推荐