[Coin-discuss] Strange termination

Ted Ralphs tkralphs at lehigh.edu
Fri Jun 17 10:49:45 EDT 2005


Kasper Bonne Rasmussen wrote:
> Hello.
> 
> I am solving some MIP problems using the OsiCpxSolverInterface. After each
> problem is solved I have an assert statement ensuring that it went
> according to plan.
> 
> assert( si->isProvenOptimal() == 1 );
> 
> The problem is that sometimes that assert statement fails. It is not
> proven optimal, and the return values from the functions:
> 
> isAbandoned()
> isProvenOptimal()
> isProvenPrimalInfeasible()
> isProvenDualInfeasible()
> isPrimalObjectiveLimitReached()
> isDualObjectiveLimitReached()
> isIterationLimitReached()
> 
> are all 0.

There is probably a problem status that is not being checked for. I 
suggest printing out the problem status at the end of the 
branchAndBound() method using

CPXgetstat( env_, getMutableLpPtr() );

and see what it is when this happens. Check the CPLEX header file to see 
what the status means and then check the OSI status query methods to see 
if any of them check for that particular status. If not, there's a 
problem.  This should narrow down the problem, so we can make the 
appropriate change to the code.

Cheers,

Ted
-- 
Dr. Ted Ralphs
Assistant Professor
Industrial and Systems Engineering
Lehigh University
(610)758-4784
tkralphs at lehigh.edu
www.lehigh.edu/~tkr2



More information about the Coin-discuss mailing list