【发布时间】:2014-09-09 20:41:47
【问题描述】:
我有一个 MIP,我几乎可以肯定地知道解决方案。我想用 gurobi 来证明真正的解决方案(即使它不是我提供的解决方案)与我给出的解决方案的偏差不应超过 0.5%。我相信简单地保持切割而不分支可能会节省更多时间。你知道我可以简单地进行切割而不在 gurobi 中分支的方法吗?下面是代码性能:
将参数 LogFile 的值更改为 上一页:gurobi.log 默认值: 将参数 MIPFocus 的值更改为 3 上一页:0 最小值:0 最大值:3 默认值:0 将参数 Cuts 的值更改为 3 上一页:-1 最小值:-1 最大值:3 默认值:-1 优化具有 1794 行、673 列和 4180 个非零值的模型 找到启发式解决方案:目标 -22.8549 Presolve 删除了 18 行和 17 列 预求解时间:0.01s 已解决:1776 行、656 列、4464 个非零值
加载的 MIP 从目标 -342.641 开始
变量类型:592 连续,64 整数(64 二进制) 已解决:1776 行、656 列、4464 个非零值
根松弛:目标 -6.775689e+02,682 次迭代,0.02 秒
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 -677.56892 0 64 -342.64109 -677.56892 97.7% - 0s
0 0 -666.45290 0 72 -342.64109 -666.45290 94.5% - 0s
0 0 -658.68050 0 72 -342.64109 -658.68050 92.2% - 1s
0 0 -540.92023 0 72 -342.64109 -540.92023 57.9% - 3s
0 0 -503.36031 0 72 -342.64109 -503.36031 46.9% - 4s
0 0 -485.13025 0 72 -342.64109 -485.13025 41.6% - 6s
0 0 -472.73790 0 72 -342.64109 -472.73790 38.0% - 8s
0 0 -461.23185 0 72 -342.64109 -461.23185 34.6% - 9s
0 0 -453.99476 0 72 -342.64109 -453.99476 32.5% - 10s
0 0 -452.23014 0 72 -342.64109 -452.23014 32.0% - 10s
0 3 -452.23014 0 72 -342.64109 -452.23014 32.0% - 11s
642 586 -397.07656 12 54 -342.64109 -429.76289 25.4% 120 15s
1425 1290 -397.34606 11 60 -342.64109 -422.53417 23.3% 114 20s
1716 1553 -382.83438 18 72 -342.64109 -420.42709 22.7% 111 25s
1727 1560 -376.17473 16 72 -342.64109 -420.42709 22.7% 110 30s
1733 1564 -410.28764 10 72 -342.64109 -420.42709 22.7% 110 35s
1744 1571 -382.83438 18 72 -342.64109 -420.42709 22.7% 109 40s
1750 1577 -412.59771 12 69 -342.64109 -416.84728 21.7% 113 45s
1817 1602 -380.32997 19 60 -342.64109 -404.73090 18.1% 120 50s
2618 2045 -375.99924 18 62 -342.64109 -391.32863 14.2% 126 55s
3159 2315 -369.40052 22 59 -342.64109 -386.33088 12.8% 127 60s
3808 2595 -362.27693 20 60 -342.64109 -382.29310 11.6% 127 65s
4503 2903 -350.90325 24 54 -342.64109 -379.52932 10.8% 126 71s
4895 3078 -349.90847 23 55 -342.64109 -378.33598 10.4% 126 78s
5339 3242 -363.26836 21 59 -342.64109 -376.77299 10.0% 126 80s
....
【问题讨论】:
-
你的意思是目标函数与最优目标的偏差不超过0.5%?如果是这样,您可以将此条件添加为约束 (
objective >= -342.64 - 0.5)。但不能保证您不需要分支.. -
哦...真的 :) 谢谢
-
@Ioannis 通过发送目标为 342.64 的现任者并将 MIPGap 设置为 0.0005,您将隐式添加对目标的约束。
-
@David Nehme 确实,我错过了。这样效率更高。
标签: optimization mathematical-optimization cplex gurobi integer-programming