Cbc
trunk
|
00001 // $Id$ 00002 // Copyright (C) 2003, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 // This code is licensed under the terms of the Eclipse Public License (EPL). 00005 00006 //Edwin 11/25/09 carved out of CbcCutGenerator 00007 00008 #ifndef CbcCutModifier_H 00009 #define CbcCutModifier_H 00010 00011 #include "OsiSolverInterface.hpp" 00012 #include "OsiCuts.hpp" 00013 #include "CglCutGenerator.hpp" 00014 00015 class CbcModel; 00016 class OsiRowCut; 00017 class OsiRowCutDebugger; 00027 class CbcCutModifier { 00028 public: 00030 CbcCutModifier (); 00031 00032 // Copy constructor 00033 CbcCutModifier ( const CbcCutModifier &); 00034 00036 virtual ~CbcCutModifier(); 00037 00039 CbcCutModifier & operator=(const CbcCutModifier& rhs); 00041 virtual CbcCutModifier * clone() const = 0; 00042 00049 virtual int modify(const OsiSolverInterface * solver, OsiRowCut & cut) = 0; 00051 virtual void generateCpp( FILE * ) {} 00052 protected: 00053 00054 }; 00055 00056 #endif //CbcCutModifier_H 00057