【发布时间】:2015-06-16 05:41:41
【问题描述】:
我正在解决 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.
在此先感谢您的帮助。
【问题讨论】:
-
您是否为 MIP 间隙容差尝试了一个小的非零值?默认值为 1e-6。将 MIP 间隙容差设置为零可能会产生“特殊”作用。所以我会看到将 MIP 间隙设置为不同的值(如 1e-2、1e-4、1e-6、1e-8)会发生什么
-
是的。我尝试了默认值但差距远远超过1e-4(约5%)!
-
在此之后日志中是否还有更多的输出行?我认为我已经看到日志的 B&B 部分的最后一行显示的差距大于运行结束时报告的差距。
-
感谢您的合作,亲爱的蒂姆。我再次检查它。但在我的软件中,''Total (root+branch&cut) = 0.56 sec.'' 之后没有更多的行了!那我该如何解决呢?当我用元启发式算法解决我的问题时,目标函数的值低于 Cplex 报告的最佳目标函数,并且差距大于设定差距 (1e-4)。我还检查了我通过元启发式算法找到的解决方案的可行性。