版本:


科学度:0.16


问题

我正在尝试优化收益功能(下面的代码),但是输出松弛不会显示正确的结果(红色圆圈),结果将是这样。

最后两个结果相似,但其中一个(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/

10-11 23:02
查看更多