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

Matthew Galati magh at lehigh.edu
Wed Apr 28 10:59:43 EDT 2010


> >> 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.
>



Using writeMpsNative (CoinUtils) does work fine. I was just asking about
OsiCpx's version (writeMps). It seems it should work (or be disabled so
users don't try to use it).

Stefan - I build the model, then use Osi's setInteger, then writeMps. I have
not tried "switchToMIP".
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://list.coin-or.org/pipermail/coin-discuss/attachments/20100428/727b355e/attachment.html>


More information about the Coin-discuss mailing list