[CHiPPS] Custom branching schemes with Blis

Yan Xu Yan.Xu at sas.com
Wed Dec 2 10:32:49 EST 2009


Hi!

You are right. The branch objects scheme has not been fully implemented. A walk around is to do something similar to BlisBranchObjectBiLevel.h/c and the branch() function in BlisTreeNode.c.

There are plans to improve BLIS, but will not happen very soon.

Best wishes,

Yan


-----Original Message-----
From: chipps-bounces at list.coin-or.org [mailto:chipps-bounces at list.coin-or.org] On Behalf Of Qi-Shan Lim
Sent: Monday, November 30, 2009 5:48 PM
To: chipps at list.coin-or.org
Subject: [CHiPPS] Custom branching schemes with Blis

Hi all,

I am currently looking at frameworks for writing some MIP solver code
where custom branching schemes are used. Specifically, with a
constraint on binary variables x_i of the form

\sum_{i} x_i = 1

the branch would partition x into two sets and ban the variables of
one of these sets in each arm.

In BCP I understand this can be done by using
BCP_lp_branching_object() passing in the appropriate cut.

Using Blis, it seems like I should create a subclass of
BcpsBranchObject (much like BlisBranchObjectInt), then create my own
BlisBranchStrategy-like class to use this. However, it looks like the
code implementing the branch in BlisBranchObjectInt::branch(bool)
never actually gets run, and instead the branching is currently
hardcoded to use integer variable branching in BlisTreeNode.

Am I reading this situation correctly? Are there any immediate plans
to flesh out the BranchObject interface (towards what BCP has) and
generalise the code in BlisTreeNode so that custom branching schemes
can be implemented? If I were to try and forge ahead myself to get
this (partially) working what would this involve and are there any
potential stumbling blocks I should be aware of?

Thanks and best wishes,

--Qi-Shan Lim

_______________________________________________
CHiPPS mailing list
CHiPPS at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/chipps




More information about the CHiPPS mailing list