IloNumExpr用于多个约束

时间:2015-05-12 16:22:37

标签: c++ cplex ilog

我有一组约束:

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);
} 

我在这里做的错误是什么?

由于

1 个答案:

答案 0 :(得分:0)

当你说它没有用时,你得到了什么? 我猜你的问题是你只是在IloNumExpr中积累了越来越多的东西。您可能应该将IloNumExpr声明放在外部循环中吗?

我总是发现使用cplex.exportModel()将模型转储为LP文件对于查看实际构建的模型非常有用。