在lp文件cplex和C ++上编写模型

问题描述

我已经在C ++中编写了以下约束,并通过调用cplex求解器解决了问题:

for (IloInt p = 0; p < 3; ++p) {
    for (IloInt t = 0; t < 6; ++t) {
      IloExpr v(env);
      for (IloInt m = 0; m < 5; ++m)
           v += X[p][m][t];
    model.add(v == K[p][t]);
    v.end();
}
 }

我期望的是

X[1][1][1]+X[1][2][1]+X[1][3][1]+X[1][4][1]+X[1][5][1]=K[1][1]

但是,当我导出.lp文件时,我得到: 我得到:

c1: x1 + x2 + x3 + x4 + x5 = constant

c2: x6 + x7 + x8 + x9 + x10 = constant

c3: x11 + x12 + x13 + x14 + x15 = constant

…...………………………………..………

………………...……......………..….

c18: x86 + x87 + x88 + x89 + x90 = quantity

我该如何解决这个问题?

解决方法

要将x [1] [2]的名称设置为x [1] [2],您可以编写:

x[1][2].setName("x[1][2]");