gpt4 book ai didi

algorithm - CPLEX 提供具有不同目标值的不同 OPTIMAL 解决方案

转载 作者:塔克拉玛干 更新时间:2023-11-03 03:47:16 26 4
gpt4 key购买 nike

在同一 ILP 问题(完全相同的输入文件)上运行 CPLEX 时:

  • MIPEmphasis = 3 我得到一个目标值 6.81613e-06
  • 使用 MIPEmphasis = 4 我得到一个目标值 1.03858

在这两种情况下,CPLEX 都会返回 OPTIMAL 状态。

来自 CPLEX 用户手册:

To make clear a point that has been alluded to so far: every choice of MIPEmphasis results in the search algorithm proceeding in a manner that eventually will find and prove an optimal solution, or will prove that no integer feasible solution exists. The choice of emphasis only guides CPLEX to produce feasible solutions in a way that is in keeping with the user's particular purposes, but the accuracy and completeness of the algorithm is not sacrificed in the process.

我是不是漏掉了什么?我不仅在 MIPEmphasis 参数上遇到了这个问题,而且在其他参数(例如 ScaInd)上也遇到了这个问题,通过改变参数我得到了不同的 OPTIMAL 质量差异很大的解决方案。

这里有一些我似乎无法破译的更多信息。

对于 MIPEmphasis = 3:

Maximum condition number = 5.03484e+12, 
Attention level = 0.290111,
Suspicious bases: 0.0111111,
Unstable bases = 0.966667,
Ill-posed bases = 0,
CPLEX Status = `OptimalTol`

对于 MIPEmphasis = 4:

Maximum condition number = 4.73342e+08, 
Attention level = 0.00925,
Suspicious bases: 0.925,
Unstable bases = 0,
Ill-posed bases = 0,
CPLEX Status = `Optimal`

最佳答案

这看起来像是常见的数值问题,并且在很大程度上取决于您的建模(例如,大 M 常量的使用)。

我从未使用过 CPLEX,但是这个 official page讨论病态 MIP 模型。

此处相关的小摘录:

You should reconsider your model if CPLEX reports any ill-posed bases or more than 5% unstable bases.

在你的情况 A 中,你有超过 95% 的不稳定碱基:

For MIPEmphasis = 3: .... Unstable bases = 0.966667 ...

所以很有可能 A 的结果不可信。此外,我会尝试重新制定我的模型。

如果我们看 B,你有 > 92.5% 的可疑碱基,所以即使在这种情况下,模型也可能在自找麻烦。

由于我不熟悉所有调整和默认设置,因此我无法深入了解关于您的 MIPEmphasis 和合作伙伴的这些截然不同的计算结果的来源。 (可能由于 MIPEmphasis 而生成更多的切割平面会导致更稳定的问题;只是猜测)。

关于algorithm - CPLEX 提供具有不同目标值的不同 OPTIMAL 解决方案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45331766/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com