[Osi] [Coin-discuss] OsiCpx writeMps does not print integer info

Ted Ralphs ted at lehigh.edu
Wed Apr 28 09:35:53 EDT 2010

I'm switching this thread over to the OSI list.

On Wed, Apr 28, 2010 at 8:43 AM, Stefan Vigerske
<stefan at math.hu-berlin.de> wrote:

>> When using writeMps with OsiCpx, the integer information is lost. Using writeLp works, but not writeMps. How do I fix this?
> You remember, whether you solve the LP relaxation or the MIP before
> calling writeMps?
> Does it work better if you add "switchToMIP();" in the beginning of
> OsiCpx::writeMps?
> writeMps calls the CPLEX MPS writing function, while writeLp uses an Osi
> function. That may make a difference.

Yes, OsiCpx has some strangeness coming from the fact that switching
the problem type from LP to MIP erases cached solution information.
I'm pretty sure that the problem is that CPLEX is storing the problem
as an LP instead of a MIP most of the time to avoid this difficulty.
There have been several discussions of this on the list in the past.
It should be easy to see what's going on by looking at the source.
Another solution would be to switch to using the MPS writer in
CoinUtils instead.


Dr. Ted Ralphs
Associate Professor, Lehigh University
(610) 628-1280
ted 'at' lehigh 'dot' edu

More information about the Osi mailing list