[Coin-discuss] integer column bounds fixed by CBC/CLP?
Kish Shen
kish.shen at crosscoreop.com
Sun Jun 25 01:28:39 EDT 2006
Hi,
I have been running some tests with CBC (with CLP as the LP solver), using the
OsiCbc interface, but I suspect this is not important, I noticed that the
column bounds for integer columns are fixed to their solution values, e.g.
for the problem:
Minimize
obj: x0
Subject To
cons0: x0 + x1 >= 3
cons1: x0 - x1 = 0
and x0 being an integer column, the upper and lower bounds of the column are
both changed to 2.0 after the solve. I ran the following code
const double *low = lpd->lp->Solver->getColLower();
const double *upp = lpd->lp->Solver->getColUpper();
printf("%f..%f\n", low[0],upp[0]);
CallN(lpd->lp->Solver->initialSolve());
lpd->lp->notfirst= 1;
CallN(lpd->lp->Solver->branchAndBound());
const double *low1 = lpd->lp->Solver->getColLower();
const double *upp1 = lpd->lp->Solver->getColUpper();
printf("%f..%f\n", low1[0],upp1[0]);
the column bounds for column 0 (x0) is basically -infinity..infinity before
the solve, and 2.0..2.0 after the solve.
Why was the column bounds fixed? Did I do something wrong? The bounds can't be
fixed because I need to be able to modify the problem and resolve it.
[I compiled against COIN sources I downloaded last month, on 16 May]
Thanks in advance for any help!
Cheers,
Kish Shen
More information about the Coin-discuss
mailing list