我正在尝试实现宏回调以在每个节点上检索目标值。 我写了这段代码:
ILONODECALLBACK0(mycali) {
for (int i = 0; i < getNnodes(); i++) {
cout << "getObjValue"<< getObjValue(i) << endl;
}
}
当我运行代码时,它仅在根节点中显示目标值,而CPLEX日志文件中有10个节点。预先感谢您的帮助。
答案 0 :(得分:0)
据我所知,代码看起来正确。但是请注意,节点回调可能不是此处使用的正确回调。选择下一个要处理的节点时,将调用节点回调。此时可能不需要打印所有打开的节点的目标。
您可以使用Solve回调并从该回调中捕获节点的松弛值。
如果您想获得更多帮助,则必须使用完整的日志输出(包括回调输出)来更新问题。