00001 /*===========================================================================* 00002 * This file is part of the BiCePS Linear Integer Solver (BLIS). * 00003 * * 00004 * BLIS is distributed under the Common Public License as part of the * 00005 * COIN-OR repository (http://www.coin-or.org). * 00006 * * 00007 * Authors: * 00008 * * 00009 * Yan Xu, Lehigh University * 00010 * Ted Ralphs, Lehigh University * 00011 * * 00012 * Conceptual Design: * 00013 * * 00014 * Yan Xu, Lehigh University * 00015 * Ted Ralphs, Lehigh University * 00016 * Laszlo Ladanyi, IBM T.J. Watson Research Center * 00017 * Matthew Saltzman, Clemson University * 00018 * * 00019 * * 00020 * Copyright (C) 2001-2007, Lehigh University, Yan Xu, and Ted Ralphs. * 00021 * All Rights Reserved. * 00022 *===========================================================================*/ 00023 00024 #ifndef BlisPresolve_H_ 00025 #define BlisPresolve_H_ 00026 00027 #if defined(_MSC_VER) 00028 // Turn off compiler warning about long names 00029 # pragma warning(disable:4786) 00030 #endif 00031 00032 #include "OsiPresolve.hpp" 00033 00034 //############################################################################# 00035 00037 class BlisPresolve : public OsiPresolve 00038 { 00039 private: 00040 00041 CoinPresolveMatrix *preMatrix_; 00042 CoinPostsolveMatrix *postMatrix_; 00043 00044 public: 00045 00047 BlisPresolve() : 00048 preMatrix_(0), 00049 postMatrix_(0) {} 00050 00052 virtual ~BlisPresolve() { 00053 delete preMatrix_; 00054 delete postMatrix_; 00055 } 00056 00058 virtual OsiSolverInterface *preprocess(OsiSolverInterface & origModel, 00059 double feasibilityTolerance=0.0, 00060 bool keepIntegers=true, 00061 int numberPasses=5, 00062 const char * prohibited=NULL); 00063 00065 virtual void postprocess(bool updateStatus=true); 00066 }; 00067 00068 #endif 00069 00070 //#############################################################################