[Coin-announce] Changes to CoinPresolve

Lou Hafer lou at cs.sfu.ca
Thu Sep 16 14:12:00 EDT 2004


	For those of you interested in CoinPresolve, I've pushed up some
changes. From an external point of view, the major enhancement is the
addition of an interface which doesn't assume that you're using an
OsiSolverInterface object. This should allow use of presolve transforms to
simplify a constraint system in contexts other than immediate optimization.

	The model is `create an empty object and load it'.  In use, you
create and load a CoinPresolveMatrix object and then apply your choice of
presolve transforms. Once you've done whatever it is you want to do with the
presolved system, there's a routine that will strip the CoinPresolveMatrix
object and use its parts to load a CoinPostsolveMatrix object. You enhance
this with solution information for the presolve system and run the postsolve
transformations to get the solution information in terms of the original
system.  You can see an example in OsiDylpPresolve.cpp and
OsiDylpSolverInterface.cpp:initialSolve().

	Please let me know if you encounter problems. In particular, if
you're already using CoinPresolve and I've broken something, let me know. A
*small* example that triggers the bug is always appreciated.

						Lou




More information about the Coin-announce mailing list