[Coin-discuss] OsiCpx optimality for MIPs

Brady Hunsaker hunsaker at engr.pitt.edu
Fri Jan 28 14:59:06 EST 2005


I just ran into a quirk with OsiCpx solving a MIP.  CPLEX 9.0 has 
default gap parameters so that it stops the branch-and-bound process if 
the gap gets within 0.01% or an absolute value of 0.000001.

This caused the solution process to stop, but OsiCpx->isProvenOptimal() 
returned false, because CPLEX returns a separate return code 
(CPXMIP_OPTIMAL_TOL) for this situation.

I believe this should be corrected.  I can see two possible solutions:
1. Reply true to isProvenOptimal() if CPXMIP_OPTIMAL_TOL is returned, 
even though this is technically incorrect.
2. Explicitly set the gap parameters to 0 in branchAndBound().

I'm using the first solution right now, but I'd like to hear any other 
opinions, especially from OsiCpx maintainers.

Brady

-- 
Brady Hunsaker
Assistant Professor
Industrial Engineering
University of Pittsburgh
http://www.engr.pitt.edu/hunsaker/



More information about the Coin-discuss mailing list