У меня есть следующий код, который вычисляет набор ограничений 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
).
В то время яm удалить все ограничения и вставить их снова.Однако, это несколько медленно, и я хочу, чтобы мой код был максимально эффективным.
Я видел, что это можно сделать с помощью функции setBounds , но документация очень плохая и сделалмне совсем не поможет.
PS: я не могу удалить переменную slack
, потому что она входит в мою целевую функцию.
PS2: я не могу превратить свои ограничения равенства в неравенства меньше или равно .
Заранее спасибо