Topic
  • 1 reply
  • Latest Post - ‏2013-02-12T17:07:03Z by SystemAdmin
SystemAdmin
SystemAdmin
7929 Posts

Pinned topic Custo Branching Strategies

‏2013-02-12T01:17:42Z |
Hi everybody,

I'm working in a graph optimization problem in which I'm looking for a special kind of tree (actually, I'm dealing with a digraph, looking for a special kind of arborescence).

Some variable used in my formulation are:
1. y_ij: indicating that node j is reached from node i.
2. z_i: indicating node i is leaf.

When looking to solution arcs (those related with variable y_ij), and based on the formulation, it is possible to figure out a custom branch strategy which will lead to 3 children nodes:
1. y_ij = 1; z_i = 0; z_j = 1;
2. y_ij = 1; z_i = 0; z_j = 0;
3. y_ij = 0

How can I deal with that with Cplex? As far as I know, when using method CPXsetbranchcallbackfunc, it is only possible to generate 2 children node for each parent node. Is there any way to overcome that?

Best regards.

Pedro
Updated on 2013-02-12T17:07:03Z at 2013-02-12T17:07:03Z by SystemAdmin
  • SystemAdmin
    SystemAdmin
    7929 Posts

    Re: Custo Branching Strategies

    ‏2013-02-12T17:07:03Z  
    You can write your branch callback to create two "children", one of which is destined to be split into child 2 and child 3. The instructions for how to split the "metachild" can be attached to the "metachild" as "private data" (via the userhandle argument). I have a diagram here.

    Paul

    Mathematicians are like Frenchmen: whenever you say something to them, they translate it into their own language, and at once it is something entirely different. (Goethe)