如何在C ++和CPLEX中实现宏节点回调

时间:2019-06-12 12:51:41

标签: c++ cplex

我正在尝试实现宏回调以在每个节点上检索目标值。 我写了这段代码:

ILONODECALLBACK0(mycali) {
for (int i = 0; i < getNnodes(); i++) {
cout << "getObjValue"<< getObjValue(i) << endl;
}
}

当我运行代码时,它仅在根节点中显示目标值,而CPLEX日志文件中有10个节点。预先感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

据我所知,代码看起来正确。但是请注意,节点回调可能不是此处使用的正确回调。选择下一个要处理的节点时,将调用节点回调。此时可能不需要打印所有打开的节点的目标。

您可以使用Solve回调并从该回调中捕获节点的松弛值。

如果您想获得更多帮助,则必须使用完整的日志输出(包括回调输出)来更新问题。