问题描述
我已经在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]");