【发布时间】:2020-06-08 09:56:26
【问题描述】:
我正在尝试打印出变量名称及其可靠的伪成本分数。这是因为我正在尝试使用所有候选变量的可靠伪成本分数作为另一种算法的初始化。我的输入是一个 .cnf 文件,我使用 SCIP 的默认设置,以便调用可靠的伪成本分支。
在 branch_relpscost.c 的第 1113 到 1121 行的代码块中,我尝试添加
printf("Candidate %i has score of %f \n", c, pscostscore); 在pscostscore = SCIPgetVarPseudocostScore(scip, branchcands[c], branchcandssol[c]); 之后
这打印成功,但是我认为这并没有给我候选名称,而只是用于遍历数据的计数器 c。
我对 SCIP 中可靠伪成本代码的理解是,在第 1012 行,搜索最佳伪成本候选者是在此之后完成的,同时在排序缓冲区中记住不可靠的候选者。因此,Candidate 1 has a score of 0.11342 的打印输出不一定意味着变量 x1 的得分为 0.11342。
接下来,我尝试添加
printf("Candidate %i has score of %f \n", branchcands[c], pscostscore);
但代码无法编译。
我也尝试使用SCIPdebugMsg 代替printf,但它也不起作用。
是否有正确的命令或方法来执行此操作?感谢您的帮助。
【问题讨论】:
标签: scip