CPLEX12.9:强分支不适用于混合整数问题吗?

问题描述 投票:0回答:1

[我想通过cplex和python获得强的分支分数,并且第一步我只是尝试使用“ cplex.advanced.strong_branching”解决一个非常简单的MILP问题(我的代码完全遵循此函数的示例用法) 。但是它告诉我“ CPLEX错误1017:不适用于混合整数问题”,这使我非常困惑,因为SB应该是传统的分支定界算法。但是,当我用它来解决LP问题时,它工作得很好。

错误似乎是由基本C / C ++ API“ CPXXstrongbranch”引起的,这也使我感到疑问,当我将分支策略参数设置为SB时,cplex如何做出SB决策。一个类似的问题是我知道Python API没有重要的“ CPXgetcallbacknodelp”功能,那么“ cplex.advanced.strong_branching”如何工作?可能是此错误的原因吗?

我不完全理解“ CPXstrongbranch”如何在C中工作,因此以下信息可能不正确:我尝试在示例“ adlpex1.c”的用户设置分支回调中使用“ CPXstrongbranch”,并且相同出现错误;它阻止了我使用“ ctypes”来获取“ CPXgetcallbacknodelp”功能。

可能是版本问题吗? Cplex是否会阻止SB的访问?因为我看过一篇论文,该论文依赖于Cplex 12.6.1和C API中的SB分数。或者我只是犯了一些错误。

我的问题是Cplex是否可以执行SB并将其结果提交给MILP问题的用户。

python cplex
1个回答
0
投票

cplex.advanced.strong_branching不执行任何分支。该文件在这里有点混乱。此函数的作用是为您传递的变量(或所有未传递列表的变量)计算强分支scores

© www.soinside.com 2019 - 2024. All rights reserved.