[Scip] Question about changing branching rule

Gerald Gamrath gamrath at zib.de
Mon Mar 3 13:00:48 CET 2014


Dear Abde Ali,

now that the release is done, here are some more detailed answers.

SCIP is a plugin-based system, there are currently 9 different branching
rules shipped with the release 3.1. All of them are included into SCIP
by SCIPincludeBranchruleXyz() methods, that is why calling
SCIPincludeBranchruleAllfullstrong() produced an error - the branching
rule is already included into SCIP by default.

You can display a list of all branching rules in the interactive shell
via "display branching". They are always called in decreasing order of
priority, so the relpscost (hybrid reliability pseudo cost) branching
rule is used by default. As Thomas mentioned already, you need to set
the priority of allfullstrong branching to something larger than 10000,
if you want to activate it.

However, if you are doing branch-and-price, I would recommend you to not
use one of the default branching rules. They are all branching on
variables (which is standard for branch-and-cut), but branching on
variables is typically very ineffective for branch-and-price and might
also make your pricing problem harder. Does you master problem have a
set partitioning structure? This is very common and allows to use the
Ryan-Foster branching rule. You can find examples for this branching in
the Coloring and Binpacking example, which you would need to adapt to
your application.

You might also want to have a look at the GCG project, which is also
part of the SCIP optimization suite. It is a generic
branch-cut-and-price solver, i.e., you put in a problem in an original
form, it performs a Dantzig-Wolfe decomposition and solves the
reformulated problem with a branch-and-price approach. You can specify
the structure for the decomposition yourself or let GCG try to detect a
good structure. The branch-and-price process is done without any need
for you to implement anything: There is already a pricer solving the
pricing problems as MIPs and different branching rules, e.g., branching
on original variables or Ryan-Foster-style branching.

Best,
Gerald


On 27.02.2014 20:37, Thomas Schlechte wrote:
> Hi Abde Ali,
>
> I think the SCIP developers are hard working for the
>
> next release :), so please take a look at
>
> http://scip.zib.de/doc/html/PARAMETERS.php
>
> and try so set
>
> branching/allfullstrong/priority
>
> higher than all other priorities of included branching rules.
>
> Have fun
> Thomas
>
>
>
> higher than all
>> Hi SCIP Developers,
>>
>> I have a couple of small questions about branching rules:
>>
>> - If I do not specify a particular branching rule, which branching rule is
>> used by default ?
>>
>> - How can I change the branching rule to something other than the default
>> option ?
>>   I don't plan on implementing my own branching rule, but I wanted to just
>> pick one
>> of the options like full strong or pseudo cost based rules that you have
>> provided.
>> In my C++ code, I tried asking the solver to use the all full strong
>> branching rule by calling this function
>> :SCIPincludeBranchruleAllfullstrong
>> (
>> SCIP<http://scip.zib.de/doc/html/type__scip_8h.php#a4792a242d315bf76f05b1f4e0712bc33>*
>> *scip*)
>> But I seem to get this error when I run the code:
>>
>> RROR: branching rule <allfullstrong> already included.
>> [src/scip/branch_allfullstrong.c:479] ERROR: Error <-9> in function call
>> [src/scip/scipdefplugins.c:90] ERROR: Error <-9> in function call
>> [maskfracture.cpp:265] ERROR: Error <-9> in function call
>>
>> So how do I specify a particular branching rule for branch and price ?
>>
>> Thank you very much.
>>
>> Abde Ali
>> _______________________________________________
>> Scip mailing list
>> Scip at zib.de
>> http://listserv.zib.de/mailman/listinfo/scip
>>
>
>
> _____________________________________________
>
> Dr. Thomas Schlechte
> Zuse Institute Berlin
> Takustrasse 7, D-14195 Berlin-Dahlem, Germany
> phone: +49-30 841 85 317
> fax: +49-30 841 85 269
> url: http://www.zib.de/schlechte
> e-mail: schlechte at zib.de
> _____________________________________________
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip



More information about the Scip mailing list