[Coin-discuss] integer column bounds fixed by CBC/CLP?

John J Forrest jjforre at us.ibm.com
Sun Jun 25 06:36:42 EDT 2006


This was deliberate so that further processing could be done.  Even if you
reset bounds then some information has been modified e.g. best solution.
Suggested way of doing repeated runs is as in Cbc/examples/repeat.cpp and
also see references to referenceSolver in CbcModel.hpp

John Forrest


                                                                           
             Kish Shen                                                     
             <kish.shen at crossc                                             
             oreop.com>                                                 To 
             Sent by:                  coin-discuss at list.coin-or.org       
             coin-discuss-boun                                          cc 
             ces at list.coin-or.                                             
             org                                                   Subject 
                                       [Coin-discuss] integer column       
                                       bounds fixed by CBC/CLP?            
             06/25/06 01:28 AM                                             
                                                                           
                                                                           
             Please respond to                                             
             Discussions about                                             
                open source                                                
               software for                                                
                Operations                                                 
                 Research                                                  
             <coin-discuss at lis                                             
              t.coin-or.org>                                               
                                                                           
                                                                           




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

_______________________________________________
Coin-discuss mailing list
Coin-discuss at list.coin-or.org
http://list.coin-or.org/mailman/listinfo/coin-discuss





More information about the Coin-discuss mailing list