[Coin-discuss] OsiCpx CPXgetstat

Matthew Galati magh at lehigh.edu
Mon Jun 30 16:41:33 EDT 2003


It seems that Cplex (8.1) returns the status from the viewpoint of the 
problem not the algorithm. For example, in:

bool OsiCpxSolverInterface::isProvenPrimalInfeasible() const
{
  debugMessage("OsiCpxSolverInterface::isProvenPrimalInfeasible()\n");

  int stat = CPXgetstat( env_, getMutableLpPtr() );
  int method = CPXgetmethod( env_, getMutableLpPtr() );

#if CPX_VERSION >= 800
  
  return (method == CPX_ALG_PRIMAL && stat == CPX_STAT_INFEASIBLE || 
          method == CPX_ALG_DUAL && stat == CPX_STAT_UNBOUNDED);
#else
  return (method == CPX_ALG_PRIMAL && stat == CPX_INFEASIBLE || 
	  method == CPX_ALG_DUAL && stat == CPX_UNBOUNDED || 
	  stat == CPX_ABORT_PRIM_INFEAS ||
	  stat == CPX_ABORT_PRIM_DUAL_INFEAS);
#endif
}

If you use dual simplex and show dual unbounded - CPX returns that the problem as infeasible (CPX_STAT_INFEASIBLE). Then, in the current OsiCpx implementation, we return false for isProvenPrimalInfeasible(). 

Should we just "return CPX_STAT_INFEASIBLE;" ?


Matt

-- 
Matthew Galati
ISE Lehigh University
IBM Service Parts Solutions
610.758.4042 (Office)
610.882.0779 (Home)
magh at lehigh.edu, magal11 at us.ibm.com
http://sagan.ie.lehigh.edu/mgalati/





More information about the Coin-discuss mailing list