【问题标题】:IloNumExpr for multiple constraints多个约束的 IloNumExpr
【发布时间】:2015-05-12 16:22:37
【问题描述】:

我有一组约束,例如:

x1 >= x2 + x3 + x4; x2>= x3 + x4 + x7; x3 >= x4 + x5;等等。

对于每个变量,都有一个数组存储将在约束 RHS 中使用的变量列表。也就是说,对于变量 1,数组包含 array[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);
} 

我在这里做错了什么?

谢谢

【问题讨论】:

    标签: c++ cplex ilog


    【解决方案1】:

    当你说它不起作用时,你得到了什么? 我猜你的问题是你只是在一个 IloNumExpr 中积累越来越多的东西。也许您应该将 IloNumExpr 声明放在您的外部循环中?

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-09-26
      • 2011-01-28
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多