错误报告:MIQP的结果不正确
回答链接的LP文件包含一个相对较小的MIQP示例,Gurobi 8.1.0为该示例生成了不正确的结果。当参数设置保留为默认值时,Gurobi会生成一个最优目标1,并声称最佳界也是1。然而,最佳目标是0。禁用presolve时,Gurobi确实会找到正确的结果。
抱歉,我不在我的学术机构,因此无法更新Gurobi以测试最新版本(8.1.1)。
LP文件:https://gist.github.com/ghackebeil/45435a44df47972444e4b681e64f7f21
-
嗨,加布里埃尔,
我的gurobi以目标0解决了您的模型。我已经测试了8.1.0和8.1.1-两者产生相同(正确)的结果。
你使用哪个站台?Gurobi优化器版本8.1.0构建v8.1.0rc1(win64)
版权所有(c)2018,Gurobi O狗万app足彩ptimization,LLC
从文件buggy_gurobi_example.LP读取LP格式模型
读取时间=0.01秒
:111行,306列,956个非零
优化包含111行、306列和956个非零的模型
模型有5个二次目标项
变量类型:56连续,250整数(250二进制)
系数统计:
矩阵范围[1e+00,5e+01]
目标范围[2e+01,6e+03]
Q目标范围[2e+00,2e+00]
边界范围[1e+00,1e+00]
RHS范围[1e+00,1e+00]
找到启发式解决方案:目标3899.0000000
Presolve删除了51行和51列
预溶时间:0.02s
预解析:60行,255列,650个非零
预分解模型有5个二次目标项
变量类型:0连续,255整数(250二进制)
根松弛:目标0.000000e+00,85次迭代,0.00秒
节点|当前节点|目标边界|工作
Expl unver | Obj深度IntInf |当前最佳BD间隙| It/节点时间
0 0.000000 5 3899.000000.00000100%-0
H 0 0 157.0000000 0.00000100%-0s
0.0.000000.8 157.000000.00000100%-0s
0.0.000000.8 157.000000.00000100%-0s
H 0 0 66.0000000 0.00000100%-0s
H 0 1 58.0000000.00000100%-0s
0 1 0.000000 4 58.000000.00000100%-0
H 30 10 26.0000000 0.00000100%5.10秒
H 65 13 14.0000000 0.00000100%4.60
H 115 12 4.0000000 0.00000100%4.20秒
*139 3 82 0.0000000 0.000000.00%4.10年代
在0.22秒内探测了165个节点(745次单纯形迭代)
线程数为4(共4个可用处理器)
解决方案计数8:0414。。。3899
找到最佳解决方案(公差1.00e-04)
最佳目标0.000000000000 E+00,最佳界限0.000000000000 E+00,差距0.0000%
=============================================================================Gurobi优化器版本8.1.1构建v8.1.1rc0(win64)
版权所有(c)2019,古罗比优化有限责狗万app足彩任公司
从文件buggy_gurobi_example.LP读取LP格式模型
读取时间=0.00秒
:111行,306列,956个非零
优化包含111行、306列和956个非零的模型
模型有5个二次目标项
变量类型:56连续,250整数(250二进制)
系数统计:
矩阵范围[1e+00,5e+01]
目标范围[2e+01,6e+03]
Q目标范围[2e+00,2e+00]
边界范围[1e+00,1e+00]
RHS范围[1e+00,1e+00]
找到启发式解决方案:目标3899.0000000
Presolve删除了51行和51列
预溶时间:0.01s
预解析:60行,255列,650个非零
预分解模型有5个二次目标项
变量类型:0连续,255整数(250二进制)
根松弛:目标0.000000e+00,85次迭代,0.00秒
节点|当前节点|目标边界|工作
Expl unver | Obj深度IntInf |当前最佳BD间隙| It/节点时间
0 0.000000 5 3899.000000.00000100%-0
H 0 0 157.0000000 0.00000100%-0s
0.0.000000.8 157.000000.00000100%-0s
0.0.000000.8 157.000000.00000100%-0s
H 0 0 66.0000000 0.00000100%-0s
H 0 1 58.0000000.00000100%-0s
0 1 0.000000 4 58.000000.00000100%-0
H 30 10 26.0000000 0.00000100%5.10秒
H 65 13 14.0000000 0.00000100%4.60
H 115 12 4.0000000 0.00000100%4.20秒
*139 3 82 0.0000000 0.000000.00%4.10年代
在0.19秒内探索了165个节点(745次单纯形迭代)
线程数为4(共4个可用处理器)
解决方案计数8:0414。。。3899
找到最佳解决方案(公差1.00e-04)
最佳目标0.000000000000 E+00,最佳界限0.000000000000 E+00,差距0.0000% -
很高兴听到!
为完整起见,以下是我对第一条评论的回复,由于我通过电子邮件回复,该评论未进入本论坛:
嗨,雅各布,
很高兴听到这个消息,也许它已经被修复了。我在macOS Mojave 10.14.4上。附件是一些日志输出,显示了我的系统上发生的问题,以及如果禁用presolve,它将如何停止发生。另外,再次附加LP文件,以防它与我发布的链接中的内容不匹配。
将我的“8.1.0 build v8.1.0rc1”输出与您的输出进行比较,看起来主要的平台差异是Windows、4个线程(您)和macOS、8个线程(我)。我继续研究了线程设置,并且(保持启用预解算)如果我将线程数设置为1、2或3,看起来Gurobi在我的机器上得到了正确的答案。更高的值,它会返回1作为最佳值,而不是0。
盖布
请登录留下评论。
评论
4评论