00001 // Copyright (C) 2000, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef CglCutGenerator_H 00004 #define CglCutGenerator_H 00005 00006 #include "OsiCuts.hpp" 00007 #include "OsiSolverInterface.hpp" 00008 00009 00010 //------------------------------------------------------------------- 00011 // 00012 // Abstract base class for generating cuts. 00013 // 00014 //------------------------------------------------------------------- 00016 00021 class CglCutGenerator { 00022 00023 public: 00024 00031 virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs )const=0; 00033 00034 00037 00038 CglCutGenerator (); 00039 00041 CglCutGenerator ( const CglCutGenerator &); 00042 00044 CglCutGenerator & operator=(const CglCutGenerator& rhs); 00045 00047 virtual ~CglCutGenerator (); 00048 00050 virtual void refreshSolver(OsiSolverInterface * solver) {}; 00052 00053 // test this class 00054 //static void unitTest(); 00055 00056 // private: 00057 00058 // Presently there is no private member data 00059 }; 00060 00061 00062 #endif