推迟节点是什么?
回答我正在优化MIP模型,这就是我的MIP日志的样子:
当前节点节点| |客观界限|工作
Expl Unexpl | Obj深度IntInf | |现任BestBd差距/节点时间
0 0 0 218875 1231668.00 735.00007 735.00007 100%,21岁
0 0推迟0 1231668.00 735.00007 100% - 149年代
0 2推迟0 1231668.00 735.00007 100% - 329年代
1 428年代4推迟1 0.0 1231668.00 735.00007 100%
3 8推迟2 574年代0.0 1231668.00 735.00007 100%
7日16推迟3 697年代0.0 1231668.00 735.00007 100%
现在我想知道这意味着节点/客观值是“推迟”。做Gurobi决定,它将被不必要的努力计算各个节点的客观价值?这表明我的模型有问题吗?我希望这是在解释道//m.a-toku.com/manbet体育手机客户端documentation/9.1/refman/mip_logging.html,但是能找到没有提到推迟节点。
谢谢,卢卡斯
-
你好卢卡斯,
节点推迟如果数值问题过程中遇到的松弛节点的解决方案。这可能是由于非常大/小的变量范围或非常大/小的系数。而不是试图做计算可能错误的数值,Gurobi推迟这一特定节点,希望它可以删除该节点或解决数值问题通过信息聚集在B&B树。
你可以发布你的日志文件的第一行显示模型数据,我。e的行数、列和非零系数范围一起吗?
最好的问候,
Jaromił2 -
嗨Jaromił,
这是我的模型的大小:
优化模型与663497行、331973列和2427819 0
xb4fd3671模型指纹:0
有296个SOS约束模型
变量类型:111748连续,220225整数(220224二进制)我意识到这是一个相当大的模型。我给Gurobi 128个线程来优化这个模型,虽然它看起来像大部分时间做一些单线程。系数看起来不太糟了:
系数统计:
矩阵范围[1 e + 00, 3 e + 03]
目标范围(1 e + 00, 5 e + 00)
边界范围[1 e + 00, 3 e + 03]
RHS范围[1 e + 00, 3 e + 03]我也有一些数字麻烦的系数高达10 ^ 8早些时候,新配方的部分我的模型,现在至少根放松不给我“数值遇到麻烦”消息了。
模型太大吗?
谢谢,卢卡斯
0 -
你好卢卡斯,
模型的大小不应推迟的原因节点。你说你新配方的部分模型。你执行再形成做了什么?注意调整约束
\ [x = 10 ^ 8 y \]
作为
\[开始\{对齐}x & = 10 ^ 4 x ' \ \ x ' & = 10 ^ 4 y \{对齐}结束\]
不能帮助你并不是真正的缩放系数,而是试图隐藏大系数。
这也可能发生,你几乎是系数矩阵奇异导致数值问题。
我们的数值指导可能会吸引你的兴趣。
最好的问候,
Jaromił0 -
再次感谢!事实上,presolving引进一些大型变量范围:
gurobi > m =阅读(“gurobi.mps”)
读议员gurobi.mps模型文件格式
阅读时间= 1.51秒
:663497行、331973列,2427819 0
gurobi > m.printStats ()
统计模型不知名的:
线性约束矩阵:663497若干,331973 var, 2427819国际
变量类型:111748连续,220225整数(220224二进制)
SOS约束:296
矩阵系数范围(2830.51):
目标系数范围(1、5):
变量绑定范围(2830.51):
RHS系数范围(2830.51):然后,presolving之后:
gurobi > m = m.presolve ()
Presolve删除591行和148列(Presolve时间= 5 s)……
Presolve添加0行和146列
Presolve删除15 0行和列
Presolve时间:6.37秒
gurobi > m.printStats ()
统计模型_pre:
线性约束矩阵:663482若干,332119 var, 2323938国际
变量类型:111748连续,220371整数(220370二进制)
矩阵系数范围(2830.51):
目标系数范围(1、5):
变量绑定范围:[1,9.97035 e + 07]
RHS系数范围(2830.51):我最好的猜测是,有些我没有提供一个绑定的变量,presolving推断一些上界(非常大)。与此有关的两个问题:
- 这是更坏吗?auto-inferred变量边界约束矩阵添加?如果是这样的话,这将在这种情况下当然矩阵条件恶化。
- 我可以以某种方式阻止Gurobi这样做吗?你可以看到presolving不做这个模型,所以完全禁用presolving可能是一个好主意在这种情况下,但我认为这将是伟大的如果一个人可以禁止Gurobi矩阵条件恶化。
0 -
嗨Jaromlł,
谢谢。变量的范围被推断确实是我的模型的变量。给他们一些合理的上界presolving后解决了大范围的问题。我仍然不能明白这个模型的行为,但我会为其他问题打开一个不同的问题。
再次感谢,
卢卡斯
0
请登录留下你的评论。
评论
6个评论