我正在IBM ILOG Cplex中解决MIP问题。我已将相对MIP GAP和绝对MIP间隙设置为0,但是在引擎日志中报告的间隙高于0.当我按默认值运行模型时(1.0E-4,1.0E-6),差距在引擎日志中报告的值高于1.0E-4(有时甚至是6%)。令人惊讶的是,即使计算时间很短(低于1秒)。我想除了mip gap之外还需要其他设置来将其设置为零以获得目标函数的最佳值。另一件事是我的其他设置是默认设置。如果有人能帮助我,我感激不尽。
这是我的一次跑步的结果(相对MIP GAP设置为0,但报告的差距为1.13%,如您所见):
Nodes Cuts/
Node Left Objective IInf Best Integer Best Node ItCnt Gap
0 0 15619.2777 30 15619.2777 204
0 0 21532.4345 31 Cuts: 92 300
0 0 22240.7958 65 Cuts: 50 389
0 0 22374.7172 46 Cuts: 63 452
0 0 22428.5062 28 Cuts: 31 475
0 0 22447.7754 48 Cuts: 28 517
0 0 22486.3137 39 Cuts: 34 542
0 0 22486.3137 40 Cuts: 13 557
0 0 22486.3137 30 ZeroHalf: 4 558
0 0 22486.3137 28 Cuts: 15 583
* 0+ 0 23225.6696 22486.3137 583 3.18%
0 2 22486.3137 28 23225.6696 22486.3137 583 3.18%
Elapsed real time = 0.36 sec. (tree size = 0.01 MB, solutions = 1)
* 26 20 integral 0 22743.1173 22486.3137 1126 1.13%
GUB cover cuts applied: 2
Clique cuts applied: 23
Cover cuts applied: 9
Implied bound cuts applied: 105
Flow cuts applied: 1
Mixed integer rounding cuts applied: 30
Zero-half cuts applied: 74
Gomory fractional cuts applied: 3
Root node processing (before b&c):
Real time = 0.31
Parallel b&c, 4 threads:
Real time = 0.25
Sync time (average) = 0.02
Wait time (average) = 0.06
-------
Total (root+branch&cut) = 0.56 sec.
事先感谢你的帮助。
答案 0 :(得分:0)
Tim在评论中说,它是日志文件的最后一行,它实际显示了最终解决方案(上限和下限),而不是树日志部分的最后一行。
以下是一个例子:
似乎问题如下:
对于第一个项目符号,CPLEX实际上并未报告该差距为1.13%。在搜索过程中报告时间差 1.13%。
它返回一个应遵循默认容差的解决方案的事实证明,使用您的配方,最佳值不能低于报告的值。
由于您确信有更好的可行解决方案,因此您有几个选择。
总而言之,尝试调试模型并告诉我们。这是一个相当复杂的模型,很容易遗漏一些东西(即添加一个你不想添加的约束)。
如果所有这些都失败了,您仍然发现自己想知道发生了什么,那么您可能希望将模型提交到IBM's official forum。如果求解器中确实存在错误,他们会照顾它并让你知道。
我希望这会有所帮助