[Scip] Branch on original variables

Gerald Gamrath gamrath at zib.de
Thu Mar 19 13:00:08 CET 2015


Dear Bahareh,

you say that you store corresponding bounds and other information in the 
consdata and use the CONSACTIVE method to apply them in the pricer data. 
Both of this uses a (set of) constraints, not just the constraint 
handler. Of course, within the constraint handler, you define how the 
data of a single constraint should look like and what should be done if 
the constraint is activated. So I don't really get your question, you 
are already using constraints...

I don't see how you could have the information about bound changes for 
each node other than by storing them in constraints sticked to nodes. 
You might store all this in the constraint handler data, but you would 
then need to keep track of all created nodes and store a "copy" of the 
tree there, which is not convenient.
Also the CONSACTIVE callback is not called if no constraint is activated...

So I think there is no easy way to do this without creating constraints.

Best,
Gerald

Am 18.03.2015 um 19:02 schrieb Bahareh Eghtesadi:
> Hi Stephen,
>
> Thank you for your response.
> Actually I have been looking at the Bin Packing example. Here is what 
> I have done so far: In my branching rule, I choose which pricing 
> variable to branch on, create two nodes and store the corresponding 
> bounds and other information in the consdata for each node. In the 
> conshdlr, in CONSACTIVE method, I change the bounds stored in the 
> pricer data.
> Do I still have to create the constraint of constraint handler in each 
> node? Because I do not have any constraint in fact, I am using the 
> handlr to apply changes to my pricer data(bounds). I set the NEEDSCONS 
> flag to False, and was hoping that it would be enough.
> Also, in this case I would not need to check whether the "cons" is 
> active in my variable pricer. Is this right?
> I appreciate your help. This is my first experience with SCIP, and I 
> am afraid I have oversimplified everything.
>
>
> Thanks.
>
> On Wed, Mar 18, 2015 at 8:42 AM, Stephen J Maher <maher at zib.de 
> <mailto:maher at zib.de>> wrote:
>
>     Hi Bahareh,
>
>     Branching on original variables can be performed similar to the
>     way used for branching on constraints, i.e. Ryan-Foster branching.
>
>     In order to implement this type of branching you will need to
>     write your own constraint handler, branching rule and modify the
>     variable pricer. The constraint handler will take some reference
>     to the original variable and selected bounds as input and
>     determine which master problem variables satisfy this constraint
>     based on given variable bounds. In your branching rule, you will
>     decide what original variable to branch on, create two branching
>     nodes and then add a constraint of your constraint handler to each
>     with appropriate bounds. In your variable pricer, it is then
>     necessary to check whether any constraints of this type exist at
>     the current node and apply the appropriate variable bounds on the
>     original variables.
>
>     An example of Ryan-Foster branching is given in the Bin Packing
>     example included with SCIP. It should be possible to use this as a
>     guide for your own rule branching on original variables.
>
>     Cheers,
>
>     Stephen
>
>
>     On 13/03/15 07:14, Bahareh Eghtesadi wrote:
>
>         Hi all,
>
>         I am tying to implement a branch and price algorithm. I want
>         to branch
>         on the original variables that are not present in the master
>         problem,
>         and then change their bound in the pricing problems. But I am
>         not sure
>         how to do this. I think I can't use SCIPbranchvar directly from
>         mybranchrule. If I use a constraint handler, I wouldn't make a
>         constraint of that type (because there is no such constraint),
>         then how
>         can I include it in my branchrule?
>
>
>         Thanks in advance.
>
>
>         _______________________________________________
>         Scip mailing list
>         Scip at zib.de <mailto:Scip at zib.de>
>         http://listserv.zib.de/mailman/listinfo/scip
>
>     _______________________________________________
>     Scip mailing list
>     Scip at zib.de <mailto:Scip at zib.de>
>     http://listserv.zib.de/mailman/listinfo/scip
>
>
>
>
> -- 
> Regards
> Bahareh Eghtesadi
>
>
> _______________________________________________
> Scip mailing list
> Scip at zib.de
> http://listserv.zib.de/mailman/listinfo/scip

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.zib.de/pipermail/scip/attachments/20150319/2fd4ba1a/attachment.html>


More information about the Scip mailing list