【问题标题】:Computation time of LP Relaxation of an IP higher than optimizing the IP itselfIP 的 LP 松弛计算时间高于优化 IP 本身
【发布时间】:2014-06-20 13:29:23
【问题描述】:

这是我之前question 的后续内容,关于使用 SCIP 对 MIP 进行 LP 松弛。

虽然我能够通过简单地将 MIP(CPLEX 格式)传递给 SoPlex 来计算我的 MIP 的 LP 松弛解,但我观察到 SoPlex 所花费的计算时间比使用 SCIP 本身优化 MIP(测试对于较小的输入)。 由于 SCIP 在求解 MIP 之前在内部使用 SoPlex,这怎么可能? 此外,我的 LP 松弛结果实际上是给出整数解,并且与 MIP 具有相同的目标值。我在 LP 放松中犯了错误吗?还是我的问题/公式的某些属性?

我指的是求解器打印的总计算时间(不是我自己计算的)。

【问题讨论】:

  • 存在满足完整性限制的最优松弛解的问题。您的问题是组合问题的整数形式吗?矩阵可以是完全单模的吗?

标签: linear-programming integer-programming scip


【解决方案1】:

这种行为很可能来自 SCIP 预求解例程,这些例程会缩小并重新格式化输入 MIP。您可以通过在开始优化后查看 SCIP 输出来验证这一点,其中 SCIP 会打印已删除变量的数量、已删除的约束等。

有时,整数公式可以更有效地减少问题。 如果您的问题包含例如二进制变量,则在执行探测时可能会修复其中的许多变量:SCIP 迭代地将二进制变量修复为 0 或 1,如果一个固定导致不一致,则变量会得到修复。

【讨论】:

    【解决方案2】:

    这种行为可以通过不同的预求解步骤来解释。 SCIP 的预求解通常比 SoPlex 更快并且删除更多的行和列。请查看统计数据中的相应信息。您可以通过键入 display statistics 在交互式 shell 中显示 SCIP 统计信息,而 SoPlex 使用命令行参数 -q 打印更多信息(如果您使用的是 SoPlex 2.0)。 您可以尝试的另一件事是参数调整。您是否在 SoPlex 中测试过不同的定价器(-p3 用于 devex,-p4 用于最陡边)或缩放器(-g1 -g3-g4)?运行 SoPlex 没有问题要解决,它会显示可用参数。

    【讨论】:

    • 亲爱的@mattmilten,能否请您提一下建议的命令行参数-p-g的含义,或者添加参考?
    猜你喜欢
    • 2021-06-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-07-08
    • 1970-01-01
    相关资源
    最近更新 更多