Python 线性规划输出大于输入
版本:Python 线性规划输出大于输入,python,scipy,linear-programming,Python,Scipy,Linear Programming,版本: 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 = linpr
- SciPy:0.16
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.])
为了更好地理解上下文,您在表格中找错了位置。linprog将
sol.x
计算为“Producción”行上的值。它不会返回您圈出的列中的值,但您可以自己轻松计算。谢谢您的回答。也许我解释得不对。在scipy.linprog
的输出中,我有系统的解决方案,但我认为其中命名的“slack”是或将是带圆圈的un red。返回的slack
的含义在linprog的文档中定义,而不是您所圈出的列。我不知道你为什么期望它们是一样的,那些在线性规划中通常不被称为松弛变量(它们是相关的,但不一样)?