线性规划松弛输出大于输入

linear programming slack output more than input

版本:

问题

我正在尝试优化收益功能(下面的代码),但是 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

您在 table 中看错地方了。 linprog 将 sol.x 计算为 "Producción" 行中的值。它不会 return 您圈出的列中的值,但您可以自己轻松计算它们。