如何解决Julia - 了解 JuMP Gurobi 输出 预求解节点当前节点目标界限工作
我经常将 Gurobi 与 JuMP 一起使用,我注意到它的输出仍有部分我不理解。除非它被记录在某处并且该链接是最受欢迎的,否则您能帮助理解以下内容吗? :)
Found heuristic solution: objective 5820.0000000
Presolve removed 33 rows and 11 columns
Presolve time: 0.00s
Presolved: 607 rows,331 columns,2445 nonzeros
Variable types: 111 continuous,220 integer (220 binary)
Root relaxation: objective 1.157500e+03,64 iterations,0.00 seconds
Nodes | Current Node | Objective Bounds | Work
Expl Unexpl | Obj Depth IntInf | Incumbent BestBd Gap | It/Node Time
0 0 1157.50000 0 25 5820.00000 1157.50000 80.1% - 0s
H 0 0 2535.0000000 1157.50000 54.3% - 0s
0 0 1236.00000 0 23 2535.00000 1236.00000 51.2% - 0s
0 0 1273.65351 0 41 2535.00000 1273.65351 49.8% - 0s
0 0 1274.59375 0 41 2535.00000 1274.59375 49.7% - 0s
0 0 1274.69841 0 42 2535.00000 1274.69841 49.7% - 0s
0 0 1309.98305 0 42 2535.00000 1309.98305 48.3% - 0s
0 0 1310.26027 0 42 2535.00000 1310.26027 48.3% - 0s
0 0 1340.01176 0 47 2535.00000 1340.01176 47.1% - 0s
0 0 1342.47826 0 49 2535.00000 1342.47826 47.0% - 0s
0 0 1342.60000 0 49 2535.00000 1342.60000 47.0% - 0s
0 0 1362.32468 0 50 2535.00000 1362.32468 46.3% - 0s
0 0 1363.08000 0 49 2535.00000 1363.08000 46.2% - 0s
0 0 1363.13077 0 49 2535.00000 1363.13077 46.2% - 0s
0 0 1370.79545 0 53 2535.00000 1370.79545 45.9% - 0s
0 0 1375.50000 0 52 2535.00000 1375.50000 45.7% - 0s
0 0 1375.50000 0 52 2535.00000 1375.50000 45.7% - 0s
0 0 1376.70025 0 52 2535.00000 1376.70025 45.7% - 0s
0 0 1376.70122 0 53 2535.00000 1376.70122 45.7% - 0s
0 0 1376.70122 0 53 2535.00000 1376.70122 45.7% - 0s
0 2 1376.98418 0 53 2535.00000 1376.98418 45.7% - 0s
* 255 157 14 2457.0000000 1473.00000 40.0% 22.5 0s
H 407 223 2397.0000000 1548.00000 35.4% 20.3 0s
* 1962 758 22 2355.0000000 1772.85714 24.7% 16.8 0s
*14326 2205 27 2343.0000000 2088.50000 10.9% 15.7 3s
根据我认为我已经知道的,按出现顺序:
预求解
- 找到启发式解决方案:目标 5820,Gurobi 启动了预求解并找到了价值 5820 的解决方案
- Presolve 删除 33 个冗余或无用的变量以及 11 个约束?
- 预求解:预求解模型的大小
- 变量类型:有些是二元的,有些是连续的。
- 根松弛:LP 松弛的目标是 1 157.5
节点
当前节点
- Obj:正在探索的当前节点的目标?
- 深度:当前求解的树的深度
- IntInf:我不知道这个
目标界限
工作
- It/Node:这里我们需要找出什么是迭代
- 时间:在那之前花在解决问题上的时间。
解决方法
详情请见https://www.gurobi.com/documentation/9.1/refman/mip_logging.html。
让我引用那些回答你问题的人:
Nodes
部分(前两列)提供有关搜索进度的一般定量信息。第一列显示到该点已探索的分支和切割节点的数量,而第二列显示搜索树中仍未探索的叶节点的数量。有时,输出行的开头会有一个 H 或 * 字符。这表明通过 MIP 启发式 (H) 或分支 (*) 找到了新的可行解。
Current Node
部分提供有关在该点在分支剪切树中探索的特定节点的信息。它显示了相关松弛的目标、分支和切割树中该节点的深度以及在相关松弛中具有非整数值的整数变量的数量。
Objective Bounds
部分提供有关可行解决方案的最佳已知目标值(即当前在职者的目标值)以及由搜索树的叶节点提供的当前目标边界的信息。最佳目标值始终介于这两个值之间。本节中的第三列 (Gap
) 显示了两个目标界限之间的相对差距。当此差距小于 MIPGap
参数时,优化终止。
日志的 Work
部分提供有关到该点已执行多少工作的信息。第一列显示分支切割树中每个节点执行的单纯形迭代的平均次数。最后一列显示自求解开始以来经过的时间。
查看您的日志,您很快就会接近最优,并且您可能在半分钟左右得到 Gap=0.01% 的解决方案。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。