Для метода getUpPseudoCost
требуется аргумент (см. Документацию здесь );либо IloIntVar
, либо IloNumVar
.Действительно, ошибка, которой вы поделились в разделе комментариев, указывает на то, что метод getUpPseudoCost
существует, но нет перегрузки, соответствующей вашему использованию.
В следующем фрагменте я использую макрос ILOBRANCHCALLBACK1
для передачимассив переменных и вызовите метод getUpPseudoCost
:
ILOBRANCHCALLBACK1(MyCallback, IloNumVarArray, vars) {
for (int i = 0; i < vars.getSize(); ++i) {
cout << "getUpPseudoCost(" << vars[i] << ") = "
<< getUpPseudoCost(vars[i]) << endl;
}
}
...
IloNumVarArray var(env);
// Build or import the var array, then pass it into the callback.
cplex.use(MyCallback(env, var));
Надеюсь, это поможет вам начать работу в правильном направлении.