我想通过cplex和python获得强分支分数,第一步我只是尝试使用“cplex.advanced.strong\u branching”来解决一个非常简单的MILP问题(我的代码完全遵循了这个函数的示例用法)。但是它告诉我“CPLEX错误1017:不适用于混合整数问题”,这让我很困惑,因为SB应该是一个传统的分支定界算法。但当我用它来解决一个线性规划问题时,效果很好
错误似乎是从“CPXStand分支”,一个C/C++基础API提出的,这也让我质疑CPLEX如何在将分支策略参数设置为SB时做出SB决策。类似的问题是,我知道pythonapi没有重要的“CPXgetcallbacknodelp”函数,那么“cplex.advanced.strong\u branching”如何工作呢?可能是这个错误的原因吗我不完全理解“CPXstrongbranch”在C中是如何工作的,所以下面的信息可能是不正确的:我试图在示例“adlpex1.C”的用户集分支回调中使用“CPXstrongbranch”,并且出现了相同的错误;它阻止了我使用“ctypes”来获取“CPXgetcallbacknodelp”函数
可能是版本问题吗?Cplex是否阻止某人进入?因为我读过一篇论文,它依赖于cplex12.6.1和capi中的SB分数。或者我只是犯了些错误
我的问题是Cplex是否可以做SB并在MILP问题中向用户提供结果
cplex.advanced.strong_branching
不执行任何分支。医生有点糊涂。此函数的作用是计算传递的变量(如果未传递列表,则为所有变量)的强分支分数这需要一个LP,因为通常在MIP搜索树中,您使用当前LP调用此函数
如果要将CPLEX与强分支一起使用,请将变量选择参数设置为“强分支”:
只有当您想实现自己的分支算法时才需要
strong_branching
函数相关问题 更多 >
编程相关推荐