0

我已经在 GAMS 中编写了我的混合整数模型 (MIP),并尝试使用 CPLEX 来解决它。我遇到了这个错误:

CPLEX 错误 3019:未能解决 MIP 子问题

我的 PC 上有 4 个内核和 16 GB RAM。最优性差距设置为 1%。

经过大量搜索,我找到了一些建议(没有解决方案),我都尝试了,但没有运气。每次优化因错误而终止大约需要 30 分钟到 60 分钟。这些是我尝试过的组合:

  1. 我将迭代限制增加到 100 万。错误 3019。
  2. 一些放松“feasoptmode 3”。错误 3019。
  3. 使用“mipemphasis 1”优先考虑可行性而不是最优性。错误 3019。
  4. 使用“subalg 3”更改解决子问题的算法。错误 3019。

然后添加松弛:

  1. “feasopt 1”、“feastoptmode 3”、“mipemphasis 1”。记不清

还添加启发式:

  1. “feasopt 1”、“feastoptmode 3”、“mipemphasis 1”、“fpheur 2”和“userheurfreq 20”。记不清
  2. “feasopt 1”、“feastoptmode 3”、“mipemphasis 1”、“fpheur 2”和“userheurfreq 30”、“subalg 4”。记不清

[更新]另外,

  1. “mipemphasis 1”和“subalg 4”。错误 3019。

  2. “mipemphasis 4”、“subalg 5”和“preind 0”。错误 3019。

  3. “fpheur -1”、“heurfreq -1”、“rinsheur -1”、“preind 0”、“mipemphasis 1”、“mipsearch 1”。错误 3019。(所有启发式方法均已关闭)

到目前为止,我有 250 万个变量。我改变了模型(研究期间),并以两种不同的方式将变量数量减少了一半,同样的错误。

我现在没有想法了。

以下是我使用过的一些链接(由于我在网站上没有足够的积分,所以我不能发布超过两个链接。我放了最重要的):

I. Link1 (IBM):在求解 MIP 时快速找到好的可行解决方案的 CPLEX 策略

二、Link2 (IBM):混合整数程序的 CPLEX 性能调整

4

1 回答 1

1

终于找到了解决办法:

“大M”

我在我的模型中使用的大女士(用于线性化和其他一些约束)是负责任的。大M太大了;我删除了四个九和中提琴。花了3天时间才弄清楚这一点。

我还将迭代限制增加到 200 万次,将最优性差距增加到 2%。(迭代限制不是必需的,但最优性差距肯定有帮助)。它在 5 小时后返回溶液。

于 2016-05-31T09:00:14.077 回答