[Coin-lpsolver] Pb of infeasibility? in BCP

mathieu lacroix mathieu.lacroix at isima.fr
Wed May 3 10:00:07 EDT 2006


Hi,
I developp a branch and cut algorithm with BCP   (with OSI/CLP).
Each iteration, the linear program is solved and then if it is feasible, 
the solution is tested to know if it is a solution a the ILP... So, in 
the method test_feasibility(..), we first have to check if the LP was 
feasible (in order to not test a solution if there doesn't exist anyone).
So, as in the François Margot's example (.../COIN/Example/BAC/), I have 
first test
 / if(getLpProblemPointer()->lp_solver->isProvenPrimalInfeasible())     
return(0);/
(I don't test if I'm during strong branching but I don't think it is the 
reason of the bugs)

But I have encountered several bugs. I have  to change the test by :
/ if((getLpProblemPointer()->lp_solver->isProvenPrimalInfeasible()) || 
(getLpProblemPointer()->lp_solver->isDualObjectiveLimitReached ()) || 
(getLpProblemPointer()->lp_solver->isIterationLimitReached ()) || 
(getLpProblemPointer()->lp_solver->isAbandoned ()))
      return(0);/

And I have to comment the throw error's line in the code's lines 
(130-133) in the file BCP_lp_main_loop.cpp  :
      /  if (tc & BCP_Abandoned) {
            // *FIXME* : later we might want to prune this node, but 
continue
             //###        throw BCP_fatal_error("LP solver abandoned the 
lp.\n");
     }/

I'm not sure understanding why it isn't sufficient to only test 
feasibility with BAC example's test...
In any case, the new test and the comment line seems to allow the 
program working well.

Best regards,

Mathieu LACROIX




-- 
Mathieu LACROIX
mathieu.lacroix at isima.fr
Université Blaise Pascal - Clermont Fd II
Laboratoire LIMOS
Bâtiment ISIMA - Bureau D112
Complexe scientifique des Cézeaux
63 177 Aubière, Cedex - France
Tel : 04.73.40.79.48
Fax : 04.73.40.76.39

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/clp/attachments/20060503/a0af15ac/attachment.html>


More information about the Clp mailing list