有人可以向我解释,变量分支和约束分支(Ryan和Foster)之间有什么区别吗?
我正在阅读文章:
D.M。的“机组人员排班中的大规模广义集划分问题的解决方案” Ryan(J. Op1 Res。Soc。Vol。4)
在我看来,在安排为集合分区问题的人员调度或护士名册问题上,这是完全相同的事情。
这两种分支方法都在1个变量上分支,有什么区别?
我正在尝试使用SCIP在Python中实现“分支价格”。
有人可以向我解释,变量分支和约束分支(Ryan和Foster)之间有什么区别吗?
我正在阅读文章:
D.M。的“机组人员排班中的大规模广义集划分问题的解决方案” Ryan(J. Op1 Res。Soc。Vol。4)
在我看来,在安排为集合分区问题的人员调度或护士名册问题上,这是完全相同的事情。
这两种分支方法都在1个变量上分支,有什么区别?
我正在尝试使用SCIP在Python中实现“分支价格”。
我还没有阅读您所指的文字,但是希望可以对约束分支为何是一种强大的技术提供模糊/反面的理解。
请考虑为安排护士安排一个较大的分区问题。 如果我们要使用变量分支解决此问题,那么每个分支都将类似于“护士1,543可以/不能工作16,325”这样的说法。在这种情况下,每个分支对整体词组只有次要效果。
相反,我们可以使用约束分支,它允许我们在每个分支上进行许多更改。我们这样做是为了将更多完整性引入解决方案中。
我们定义自己并分支的“虚变量” y_ij可以从行覆盖率表中选择。给定我们有一个x变量的分数集,y_ij是我们共同满足约束i和j的分数量。没错,这是我们正在分支的“一个变量”,它将对解决方案产生更大的影响。
例如,如果我们在y_12上 1-branch ,则我们将所有不满足约束1和2的列都禁止在一起。一种选择y_ij进行分支的方法是最接近整数(但仍为分数)的那个,首选 1-分支而不是 0分支。