[Coin-symphony] Question: branch close to one
Ted Ralphs
tkralphs at lehigh.edu
Sun Feb 20 17:03:59 EST 2005
Francois,
This helper function only works for 0/1 problems because in this loop in
branch_close_to_one_and_cheap():
for (i = lp_data->n-1; i >= 0; i--){
if (x[i] > lpetol && x[i] < lpetol1){
xind[cnt] = i;
xval[cnt++] = 1 - x[i];
}
}
SYMPHONY is calculating the difference between "1" and the current value
of each variable. This difference doesn't have meaning in problems that
are not 0/1. It would be easy to generalize this function to calculate
the differences between either (1) each variable's upper bound and its
current value or (2) the ceiling of each variable's current value and
its current value. I can do this easily if it helps. But which option,
(1) or (2), makes the most sense? I'm not sure this general approach to
branching will really work for non-combinatorial problems. But I'm happy
to generalize it in whichever way will help or provide other helper
functions that do the type of branching you need.
Cheers,
Ted
--
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2
More information about the Symphony
mailing list