CPLEX:如何用不同的 "data" 求解相同的 cplex "model"

CPLEX: How to solve same cplex "model" with different "data"

在 运行 CPLEX OPL 中的以下代码之后 IDE;

nmbl = 521466;
nbi = 5;

int As[nbi] =...;

int amb[nmbl] = ...;
dvar boolean I[nmbl][nbi];

minimize 
sum (a in nmbl, b in nbi, c in nmbl: c>a,d in nbi: d != b) I[a][b]*I[c][d]*10;


subject to 
{

**cons1:**
forall (i in nmbl)
    I[i][1] + I[i][2] + I[i][3] + I[i][4]+ I[i][5] == 1; 

**cons2:**

forall (j in nbi)
     sum (i in nmbl)
          I[i][j]*amb[i] <= As[j];
}

在 运行 这段代码中,我发现了一个 CPLEX 错误 1016 促销版本。超出问题大小限制

还是如果我们想用同一个版本的软件解决当前的问题

如果我们一次提供 50 个元素作为模型的输入。

有什么办法吗?如果有人能给我提供小例子,我将不胜感激。

我真的不明白这种方法的意义。如果您的问题确实可以分成许多不相交的子问题,那么它可能会起作用。但是从你告诉我们的关于这个问题的内容来看,它似乎是不可分离的。仅仅解决整个问题的很多细节几乎肯定是行不通的。找到可行的解决方案将很困难。获得一个好的解决方案将非常困难。为任何大问题设计分解方法都是复杂而困难的,并且与如此小的子问题的收敛可能会非常缓慢。您几乎肯定需要获得更大的求解器许可证。