版本:
- SciPy:0.16
问题
我正在尝试优化福利功能(下面的代码),但是slack输出看起来不正确(红色圆圈),结果是。
最后两个结果相似,但丢失了一个 (120)。不知道为什么?
In [3]:
A = np.array([[1,0],[0,1],[1,2]])
In [4]:
# dispo
b = [60, 50, 120]
bounds = ([1,None],[1,None])
In [5]:
c = np.array([80, 120])
In [10]:
sol = linprog(-c, A, b, bounds=bounds)
In [17]:
sol
Out[17]:
status: 0
slack: array([ 0., 20., 0., 59., 29.])
nit: 5
success: True
fun: -8400.0
message: 'Optimization terminated successfully.'
x: array([ 60., 30.])
为了更好的上下文link to gist
最佳答案
您正在查看表格中的错误位置。 linprog 将 sol.x
计算为“Producción”行上的值。它不会返回您圈出的列中的值,但您可以轻松地自己计算它们。
关于python - 线性规划松弛输出大于输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32890485/