我有以下代码计算一组约束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:我不能将平等约束变成不等于或小于等于的不等式。
预先感谢