在两台计算机上执行scipy最小化有什么区别

2024-09-27 00:21:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图用带约束的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)

Tags: messagetypestatusoutarraysuccessfunineq

热门问题