我正在尝试将一个非常简单的 LP 文件读入 GLPK。这个 LP 文件有 4 个变量,其中 2 个是二进制的,看起来 GLPK 对这 2 个二进制变量(HACE_MESAS、HACE_SILLAS)的读取很差。它记录:
警告:重新定义变量 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
谁能告诉我我做错了什么?谢谢。