1
我正在用Python 2.7.12和Numpy 1.11.0尝试以下代码。即使存在解决方案,scipy.optimize.linprog也找不到解决方案
import numpy as np
from scipy.optimize import linprog
A = np.matrix([[1,0,0,1], [0, 1, 0 ,1], [0, 1, 1, 0]])
c = np.zeros(A.shape[1])
res = linprog(c,A_eq = A, b_eq = [0,1,-1], options=dict(bland=True))
print (res.x)
print (A.dot([0, 1, -2, 0]))
的上述输出是
nan
[[ 0 1 -1]]
所以scipy.optimize.linprog甚至没有找到一个解决方案,当一个由A_eq的点乘法的输出与[0,1存在作为明显,-2,0]。
一个类似的问题被问到here,我尝试了在那里建议的解决方案(即添加options = dict(bland = True)或更新容差值)。我仍然得到与上面一样的错误输出。 这种行为的原因是什么?谢谢。
[scipy.optimize.linprog尽管存在可行的答案仍然无法找到可行的起点](https:// stackoverflow.com/questions/29941958/scipy-optimize-linprog-unable-to-find-a-feasible-starting-point-despite-a-feasib) –
嗨,乔纳斯,感谢您的评论。虽然我已经看过这个问题,并尝试了在那里建议的解决方案(即添加options = dict(bland = True)或更新容差值)。我仍然得到与问题中发布的错误输出相同的结果。 – Hummels420