我有一组约束:
x1> = x2 + x3 + x4; x2> = x3 + x4 + x7; x3> = x4 + x5;等等。
对于每个变量,都有一个数组存储将在约束RHS中使用的变量列表。也就是说,对于变量1,该数组包括数组[1] = {2,3,4}。为了在c ++中实现这一点,我使用了IloNumExpr,但它不起作用:
IloNumExpr Constraint(env);
for (int i = 0; i < 3; i++){
for(int j = 0; j < array_size[i]; j++)
{
Constraint += x[array[i][j]];
}
model.add(x[i] >= Constraint);
}
我在这里做的错误是什么?
由于
答案 0 :(得分:0)
当你说它没有用时,你得到了什么? 我猜你的问题是你只是在IloNumExpr中积累了越来越多的东西。您可能应该将IloNumExpr声明放在外部循环中吗?
我总是发现使用cplex.exportModel()将模型转储为LP文件对于查看实际构建的模型非常有用。