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