我使用NodeCallback通过以下代码获取变量分支:
ILONODECALLBACK0(myVB){
for (int i = 0; i < getNnodes(); i++) {
cout << "BranhVariable_" << getBranchVar(i) << endl;
}
}
我无法验证输出详细信息。我希望在每个节点上选择一个要分支的变量,但它显示多个变量。 同样在二十个节点之后,我得到了错误1006。
答案 0 :(得分:0)
似乎您要使用默认的节点显示频率?这仅在每N个节点上显示一条日志行(并且在两条日志行之间可能有多个分支)。因此,您可能必须将MIPDisplay参数设置为1。
此外,每当必须选择一个节点时(在每个不在树中的节点或多或少),都会调用节点回调。但是,它始终会为每个打开节点打印分支变量。如果要查看要选择的节点的分支变量,则仅在第一个节点上打印该变量(CPLEX选择的节点在索引0处,其余节点列表的顺序未指定)。