SCIP的分支和价格

时间:2015-02-25 00:25:56

标签: c++ scip

我有一个关于分支和分支的问题。价格使用SCIP。 SCIP是否正常分支原始变量?例如,在VRP示例中,它是分支主问题变量还是原始问题变量? 如果我想分支原始变量,我是否需要添加自己的分支规则?

2 个答案:

答案 0 :(得分:1)

当单独谈论SCIP时,SCIP默认只会分支模型中存在的变量(这是分支和价格时的主要变量)。 VRP示例只是一个非常简短的pricer示例,并没有实现特定于问题的分支规则。但是,一般情况下,强烈建议您实现自己的特定于问题的分支规则,就像在Coloring和Binpacking示例中一样。他们都实施了Ryan& Foster分支。

Ben是对的,原始变量本身的分支通常是一个坏主意,因为这可能会重新引入对称性。然而,主变量本身的分支通常是坏的,因为它们的数量很少而且只有极少数非零,因此分支将是非常不平衡的。将变量修复为零后,必须确保分支不会再次生成此变量的副本。 因此,我建议如果没有对称性或约束(源于原始问题)就分支原始变量,就像Ryan-Foster分支规则所做的那样。

或者,您应该查看GCG,它已经实现了包含通用分支规则的通用分支和价格。您需要将原始模型读入GCG,然后根据您可以提供的结构进行Dantzig-Wolfe重新制定。

答案 1 :(得分:0)

您使用GCG还是只使用SCIP? 已经有一些branching rules for branch-and-price available in GCG。我建议你检查这些,看看你是否正在寻找。