0
我正在尝试将一个非常简单的LP文件读入GLPK。这个LP文件有4个变量,其中2个是二进制的,似乎GLPK严重读取这2个二进制变量(HACE_MESAS,HACE_SILLAS)。它记录:用GLPK读取二进制变量的LP文件
警告:下界可变HACE_MESAS的重新定义的警告:上 绑定变量HACE_MESAS重新定义的警告:下界的 可变HACE_SILLAS重新定义警告:上限可变 HACE_SILLAS的重新定义
并且它很难解决,因为将这两个变量的实际值:
HACE_MESAS = 0.01
HACE_SILLAS = 0.02
LP文件是这样的:
Maximize
obj: 5 MESAS + 3 SILLAS
Subject To
IloC0: MESAS + 2 SILLAS >= 0
IloC1: MESAS + 2 SILLAS <= 50
IloC2: 2 MESAS + SILLAS >= 0
IloC3: 2 MESAS + SILLAS <= 40
IloC4: MESAS - 1000 HACE_MESAS <= 0
IloC5: SILLAS - 1000 HACE_SILLAS <= 0
IloC6: HACE_MESAS + HACE_SILLAS <= 1
Bounds
MESAS >= 0
SILLAS >= 0
0 <= HACE_MESAS <= 1
0 <= HACE_SILLAS <= 1
Binaries
HACE_MESAS HACE_SILLAS
Generals
MESAS SILLAS
End
有谁能告诉我我做得不好吗?谢谢。
是的,但是如果你看到解决方案:HACE_MESAS和HACE_SILLAS有实际的解决方案,而不仅仅是0或1. HACE_MESAS = 0.01 HACE_SILLAS = 0.02 – user2107157 2013-02-25 13:47:48
@ user2107157我已经更新了我的答案:** everything **是整数。请检查我所做的事情,并尝试在您的机器上重现我的步骤。 – Ali 2013-02-25 14:35:54