[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