python - 为什么 CPLEX 的变量选择策略会影响用户分支决策?(Python)
问题描述
我按照示例在 MIP 的 control(branch) 回调中使用make_branch()进行分支。但我注意到,在变量选择策略的不同设置下,求解过程出人意料地不同。自从我用自己的决定替换了所有 CPLEX 的决定后,这怎么可能?
解决方案
CPLEX 无法判断您是否要从回调中查询其分支决策。因此,在调用回调之前,CPLEX 计算它将在哪些变量上分支,以便可以将此信息报告给回调。
即使您从未查询此信息,它仍然会被计算,并且计算该信息可能会改变其余的执行,从而导致不同的搜索树。
推荐阅读
- java - 使用 JavaFX 将图像拖到窗口外
- vue.js - 使用 Vue.js 添加自动广告
- javascript - 使用对象解构(首选解构)
- reactjs - SectionList 为字符串的每个字符创建一个单独的 renderItem
- sql - SQL Server - 索引选项
- visual-studio-code - 在哪里可以找到适用于 Visual Studio Code 中 C#/.NET 核心的 textMateRules 的官方完整范围列表?
- react-native - 使用功能组件从 navigationOpstions 访问导航道具
- python - Python:如何使用 urllib 在整个会话期间保持登录网站
- excel - 直到 i = 特定工作表中的编号单元格数
- javascript - 多功能 - 第二个功能不起作用