[SCIP] Creating a new Branching Rule in SCIP

Matheus Ota matheusota at gmail.com
Mon May 25 21:12:46 CEST 2020


Dear members of the SCIP maling list,

I want to test a new idea for a problem that I'm working on. The idea is to
separate a subset of my binary variables using a branching rule that is
different than the commonly used branching on variables (x >= ceil(x) and x
<= floor(x)). Basically what I want to do is to create two branches, where
thanks to the problem structure, on one branch I would impose that all
variables in a set S are set to 1 and on the other that all variables in a
set T are set to 0. Note that S is not necessarily equals to T. Should I
implement this using SCIP branching rules, or using a constraint handler?
Since I could also call SCIPcreateChild inside a constraint handler, is
there performance issues between using a constraint handler and the
branching rule (scip::ObjBranchrule)?

Also, in order to select the sets S and T I also need to know all the
variables already fixed to 0 and to 1. Is there any way of doing this?
Should I store all the variables fixed in each branching in a data
structure? Or there is an easier way of just checking if the variable is
already fixed or not?

Also, my idea for branching is not enough to separate all fractional
solutions. So when it is not possible to use my branching, I want SCIP to
use the branching it normally uses (I guess it is strong branching). Could
anyone that knows about this give me some help here?

Many thanks,
Matheus
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20200525/f4094511/attachment.html>


More information about the Scip mailing list