/*===========================================================================* * This file is part of the BiCePS Linear Integer Solver (BLIS). * * * * BLIS is distributed under the Common Public License as part of the * * COIN-OR repository (http://www.coin-or.org). * * * * Authors: * * * * Yan Xu, Lehigh University * * Ted Ralphs, Lehigh University * * * * Conceptual Design: * * * * Yan Xu, Lehigh University * * Ted Ralphs, Lehigh University * * Laszlo Ladanyi, IBM T.J. Watson Research Center * * Matthew Saltzman, Clemson University * * * * * * Copyright (C) 2001-2008, Lehigh University, Yan Xu, and Ted Ralphs. * * All Rights Reserved. * *===========================================================================*/ #ifndef BlisPresolve_H_ #define BlisPresolve_H_ #if defined(_MSC_VER) // Turn off compiler warning about long names # pragma warning(disable:4786) #endif #include "OsiPresolve.hpp" //############################################################################# /** A interface to Osi/Coin Presolve. */ class BlisPresolve : public OsiPresolve { private: CoinPresolveMatrix *preMatrix_; CoinPostsolveMatrix *postMatrix_; public: /** Default constructor (empty object) */ BlisPresolve() : preMatrix_(0), postMatrix_(0) {} /** Virtual destructor */ virtual ~BlisPresolve() { delete preMatrix_; delete postMatrix_; } /** Presolve */ virtual OsiSolverInterface *preprocess(OsiSolverInterface & origModel, double feasibilityTolerance=0.0, bool keepIntegers=true, int numberPasses=5, const char * prohibited=NULL); /** Postsolve */ virtual void postprocess(bool updateStatus=true); }; #endif //#############################################################################