更改一组约束的RHS

时间:2019-02-21 14:04:05

标签: c++ cplex integer-programming

我有以下代码计算一组约束Ax + c = d

IloInt val = initial_value;

/* Add the new constraint's set */
for (int k = 1; k < this->graph_.num_nodes(); k++) {
  IloNumExpr expr(this->env_);

  ...  
  // Computing the constraint
  ...

  this->model_->add(expr + slack == val);
  expr.end();

  solve();
}

这是我的代码的第一次迭代。解决问题之后,我需要为变量val计算一个新值并修改此约束集的RHS(我需要修改d)。


当时,我正在删除所有约束,然后再次插入它们。但是,这有点慢,我希望我的代码尽可能地高效。
我看到使用功能caveat可以做到这一点,但是文档非常少,根本没有帮助我。

P.S .:我无法删除变量slack,因为它在我的目标函数中。
P.S.2:我不能将平等约束变成不等于或小于等于的不等式。

预先感谢

0 个答案:

没有答案