[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