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

CPLEX Error 3019: Failure to solve MIP subproblem

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

CPLEX Error 3019: Failure to solve MIP subproblem

我的 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 万个变量。我改变了模型(研究期)并以两种不同的方式将变量数量减少了一半,同样的错误。

我现在 运行 没主意了。

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

我。 Link1 (IBM): CPLEX strategies for finding good feasible solutions quickly when solving MIPs

二. Link2(IBM):CPLEX Performance Tuning for Mixed Integer Programs

终于找到解决方案:

"Big M"

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

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