【问题标题】:Gurobi best bound in the reportingGurobi 在报告中的最佳界限
【发布时间】:2017-08-21 11:06:46
【问题描述】:

我不明白在 Gurobi 中运行 MIP 的输出:我设置了 MipGap = 0.005 和 TimeLimit = 20。

见第一个红框; 20s 后,gap 为 0.0062,大于 MIPGap,求解器因 TimeLimit 而停止。

但是,它报告的差距为 0.004831(第二个红色框),小于 MIPGap。那么,为什么之前没有停止呢?也许它在达到 TimeLimit 之前找到了最佳解决方案,但事实并非如此。即使我将 TimeLimit 减少到 15 秒,我也会得到完全相同的差距。

报告的最佳边界是什么 2.060000e+02(它从未出现在 BestBd 列中,但它已在时间 10 出现在当前节点部分中)。

所以,我了解如何从此处 (http://www.gurobi.com/resources/getting-started/mip-basics) 计算 0.0062,但我不明白如何解释 0.004831 值。我应该报告哪一个来代表解决方案的质量?

谢谢

【问题讨论】:

  • 相信解决方案(我指的是返回的或一般可以读取的属性;而不是控制台的打印)!该表只是一些缩短的表示形式,并且像这样的效果(排序、时间同步)并不少见(打印机器很重;线程、计时器精度......)(看到没有确切的shut-down-everything 在第二个 x;但是在子秒内清理内部数据有一定的容差,如果清理可以得到更好的结果,为什么不采取更好的结果)
  • 你使用的是什么 Gurobi 版本?
  • @Sonja Mars: 还是 6.0.4 :-( 我应该找时间升级...

标签: mathematical-optimization gurobi


【解决方案1】:

首先,通过将 TimeLimit 保留为默认值并再次求解,仔细检查您是否正确设置了 MIPGap。如果是这样,那么它看起来像一个竞争条件:最后一个日志行发生在节点 2342,并且在节点 2360 停止之前有少量进展。这是正常的,有时间限制,这可能会产生不确定性。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多