版本:
我正在尝试优化福利功能(下面的代码),但松弛输出并不会产生正确的结果(红色圆圈),结果可能是。
最后两个结果相似,但丢失了一个(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
答案 0 :(得分:1)
您正在查看表中的错误位置。 linprog计算sol.x
作为“Producción”行的值。它不会返回您圈出的列中的值,但您可以自己轻松地计算它们。