Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/148.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ SCIP中的分支与价格_C++_Scip - Fatal编程技术网

C++ SCIP中的分支与价格

C++ SCIP中的分支与价格,c++,scip,C++,Scip,我有一个关于分支中分支的问题&使用SCIP定价。SCIP通常在原始变量上分支吗?例如,在VRP示例中,它是在主问题变量上分支还是在原始变量上分支? 如果要在原始变量上进行分支,是否需要添加自己的分支规则?您使用的是SCIP还是仅使用SCIP? 已经有一些了。我建议您检查一下这些,看看这是否是您想要的。单独谈论SCIP时,SCIP默认情况下只会对模型中存在的变量进行分支(在进行分支和定价时,这些变量是您的主变量)。VRP示例只是定价者的一个非常简短的示例,并没有实现特定于问题的分支规则。但是,一般

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

您使用的是SCIP还是仅使用SCIP?
已经有一些了。我建议您检查一下这些,看看这是否是您想要的。

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

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


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

根据Barnhart的说法,最好在主问题变量上进行分支,因为“MIP的紧凑公式可能具有对称结构,导致分支和绑定性能差,因为分支后问题几乎没有变化。用大量变量重新计算可以消除这种对称性。”