[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