[Coin-symphony] SYMPHONY 5: user_select_candidates: Branching on more than one variable/constraint

Michael Müller-Bungart michael.mueller-bungart at bwl.tu-freiberg.de
Fri Nov 4 05:33:06 EST 2005


Hi all,

I am trying to develop a tailored solver for a problem which involves 
(among others) n binary variables, x_1, ..., x_n, say. At most one of 
these variables can be = 1.

Under certain conditions, I want to use all these variables to branch, 
creating n+1 children which can be described as follows:

- Child 1: x_1 = 1, all other x-variables = 0
- Child 2: x_2 = 1, all other x-variables = 0
...
- Child i: x_i = 1, all other x-variables = 0
...
- Child n: x_n = 1, all other x-variables = 0
- Child n+1: all x-variables = 0

As an aside, I'm aware that this branching rule is probably 
"non-standard" (to avoid the term "odd" ;-)), but it is exhaustive, all 
x-variables will be binary in the child nodes -- and what is most 
important: Under reasonable assumptions, the bound will improve, if one 
or more x-variables had fractional values before branching.
Selecting one of the fractional x-variables and branching on it (which 
is a "more standard" way) will not improve the bound in a typical instance.

To implement this branching rule, I intended to write my own 
"user_select_candidates" function. Unfortunately, if I got the 
documentation right, it only seems to be possible to branch on

- a *single* constraint
- a *single* variable (i. e. a constraint with a single variable in its 
left hand side)

-- to create multiple children, one can modify the sense of the 
constraint, its right hand side, and possibly its "range value".

For my branching rule, however, I think I need "multiple left hand sides".
So my questions are:
1. Is there a way to do this implementing "user_select_candidates"? If 
yes, how can it be done?
2. If not, can it possibly be done by adding some code to 
"select_candidates_u" in (lp_wrapper.c), or the like?

Thanks in advance for help. It will definitely be appreciated.

Regards,
Michael

--
Dipl.-Wirt.-Inf. Michael Mueller-Bungart
Lehrstuhl fuer Allgemeine Betriebswirtschaftslehre, insbesondere
    Industriebetriebslehre/Produktionswirtschaft und Logistik
Fakultaet fuer Wirtschaftswissenschaften
Technical University Bergakademie Freiberg
Lessingstrasse 45
09596 Freiberg
Germany
Tel: +49 (0)3731 39 3425
Fax: +49 (0)3731 39 13425
http://www.wiwi.tu-freiberg.de/ibl/



More information about the Symphony mailing list