SCIP中的分支机构和价格

Branch and Price in SCIP

本文关键字:机构 分支 SCIP      更新时间:2023-10-16

我有一个关于分支&价格使用SCIP。SCIP通常在原始变量上分支吗?例如,在VRP的例子中,它是在主问题变量上分支还是在原始变量上分支?如果我想在原始变量上进行分支,我需要添加自己的分支规则吗?

当单独谈论SCIP时,SCIP默认情况下只在模型中存在的变量上分支(在进行分支和定价时,这些变量是您的主变量)。VRP示例只是价格师的一个非常简短的示例,并没有实现特定于问题的分支规则。然而,一般来说,强烈建议您实现自己的特定于问题的分支规则,就像Coloring和Binpacking示例中所做的那样。它们都实现了Ryan&培育分支。

Ben说得对,在原始变量上分支本身通常是个坏主意,因为这可能会重新引入对称性。然而,主变量本身的分支通常也很糟糕,因为有大量的主变量,只有极少数是非零的,所以分支将非常不平衡。在将变量固定为零之后,必须确保分支不会再次生成该变量的副本。因此,我的建议是,如果没有对称性或约束(源自原始问题),则在原始变量上进行分支,就像Ryan Foster分支规则所做的那样。

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

您使用的是GCG还是SCIP?GCG中已经有一些针对分支和价格的分支规则。我建议你看看这些,看看这是否是你想要的。