[Coin-discuss] Strange termination

Jean-Sebastien Roy js at jeannot.org
Fri Jun 17 14:26:29 EDT 2005


Ted Ralphs wrote:
> That's what I was going to guess...in the LP case, we explicitly check 
> for this return status and turn off the presolve before resolving the 
> problem in this case. This might not be prudent in the MIP case. Take a 
> look at the code in initialSolve(). Something similar could be done in 
> the MIP case.

Mr Rasmussen, could you try with the presolve disabled and see if the 
status returned is correct ?

If it does, does the following patch fixes the status in all cases ?

Regards,

js

diff -u -r1.31 OsiCpxSolverInterface.cpp
--- OsiCpxSolverInterface.cpp   14 Jun 2005 19:22:10 -0000      1.31
+++ OsiCpxSolverInterface.cpp   17 Jun 2005 18:11:46 -0000
@@ -337,6 +337,15 @@
       CPXsetintparam( env_, CPX_PARAM_SIMDISPLAY, 2 );

    CPXmipopt( env_, lp );
+
+#if CPX_VERSION >= 800
+  int stat = CPXgetstat( env_, getMutableLpPtr() );
+  if (stat == CPX_MIP_INForUNBD){
+     CPXsetintparam( env_, CPX_PARAM_PREIND, CPX_OFF );
+     CPXmipopt( env_, lp );
+     CPXsetintparam( env_, CPX_PARAM_PREIND, CPX_ON );
+  }
+#endif
  }

 
//#############################################################################



More information about the Coin-discuss mailing list