如何使用Concert CP在C ++中获取变量分支

时间:2019-07-24 13:04:59

标签: visual-studio cplex

我使用NodeCallback通过以下代码获取变量分支:

ILONODECALLBACK0(myVB){
for (int i = 0; i < getNnodes(); i++) {
cout << "BranhVariable_" << getBranchVar(i) << endl;
}
}

输出为: enter image description here

我无法验证输出详细信息。我希望在每个节点上选择一个要分支的变量,但它显示多个变量。 同样在二十个节点之后,我得到了错误1006。

1 个答案:

答案 0 :(得分:0)

似乎您要使用默认的节点显示频率?这仅在每N个节点上显示一条日志行(并且在两条日志行之间可能有多个分支)。因此,您可能必须将MIPDisplay参数设置为1。

此外,每当必须选择一个节点时(在每个不在树中的节点或多或少),都会调用节点回调。但是,它始终会为每个打开节点打印分支变量。如果要查看要选择的节点的分支变量,则仅在第一个节点上打印该变量(CPLEX选择的节点在索引0处,其余节点列表的顺序未指定)。