00001 // Copyright (C) 2005, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 #ifndef CglStored_H 00004 #define CglStored_H 00005 00006 #include <string> 00007 00008 #include "CglCutGenerator.hpp" 00009 00010 class CoinWarmStartBasis; 00012 class CglStored : public CglCutGenerator { 00013 00014 public: 00015 00016 00027 virtual void generateCuts( const OsiSolverInterface & si, OsiCuts & cs, 00028 const CglTreeInfo info = CglTreeInfo()) const; 00030 00035 00036 inline void setRequiredViolation(double value) 00037 { requiredViolation_=value;}; 00039 inline double getRequiredViolation() const 00040 { return requiredViolation_;} 00042 00045 00046 void addCut(const OsiCuts & cs); 00048 void addCut(const OsiRowCut & cut); 00050 void addCut(double lb, double ub, const CoinPackedVector & vector); 00052 void addCut(double lb, double ub, int size, const int * colIndices, const double * elements); 00054 00057 00058 CglStored (); 00059 00061 CglStored (const CglStored & rhs); 00062 00064 virtual CglCutGenerator * clone() const; 00065 00067 CglStored & 00068 operator=(const CglStored& rhs); 00069 00071 virtual 00072 ~CglStored (); 00074 00075 private: 00076 00077 // Private member methods 00078 00079 // Private member data 00080 00083 00084 double requiredViolation_; 00086 OsiCuts cuts_; 00088 }; 00089 #endif