错误报告:MIQP的结果不正确

回答

评论

4评论

  • 雅各布·谢尔伯特

    嗨,加布里埃尔,

    我的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%
    0
    评论动作Permalink
  • 罗伯特·卢斯

    嗨,加布里埃尔,

    我可以重现不一致的0/1目标值终止。我们会弄清楚到底发生了什么,谢谢你的报道!

    0
    评论动作Permalink
  • 罗伯特·卢斯

    你好,Gabriel,我们已经修复了这个问题,该修复将包含在下一个Gurobi版本中。

    0
    评论动作Permalink
  • 加布里埃尔·哈克贝尔

    很高兴听到!

    为完整起见,以下是我对第一条评论的回复,由于我通过电子邮件回复,该评论未进入本论坛:

    嗨,雅各布,

    很高兴听到这个消息,也许它已经被修复了。我在macOS Mojave 10.14.4上。附件是一些日志输出,显示了我的系统上发生的问题,以及如果禁用presolve,它将如何停止发生。另外,再次附加LP文件,以防它与我发布的链接中的内容不匹配。

    将我的“8.1.0 build v8.1.0rc1”输出与您的输出进行比较,看起来主要的平台差异是Windows、4个线程(您)和macOS、8个线程(我)。我继续研究了线程设置,并且(保持启用预解算)如果我将线程数设置为1、2或3,看起来Gurobi在我的机器上得到了正确的答案。更高的值,它会返回1作为最佳值,而不是0。

    盖布

    0
    评论动作Permalink

登录留下评论。

由Zendesk提供动力