00001 // Copyright (C) 2005, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 00004 #ifndef CbcSolver2_H 00005 #define CbcSolver2_H 00006 00007 #include "OsiClpSolverInterface.hpp" 00008 class CbcModel; 00009 //############################################################################# 00010 00020 class CbcSolver2 : public OsiClpSolverInterface { 00021 00022 public: 00023 //--------------------------------------------------------------------------- 00026 00027 virtual void initialSolve(); 00028 00030 virtual void resolve(); 00031 00033 00034 00037 00038 CbcSolver2 (); 00039 00041 virtual OsiSolverInterface * clone(bool CopyData=true) const; 00042 00044 CbcSolver2 (const CbcSolver2 &); 00045 00047 CbcSolver2 & operator=(const CbcSolver2& rhs); 00048 00050 virtual ~CbcSolver2 (); 00051 00053 00054 00057 00058 void initialize(CbcModel * model, const char * keep); 00060 inline const int * when() const 00061 { return node_;} 00063 inline int getMemory() const 00064 { return memory_;} 00066 inline int getCount() const 00067 { return count_;} 00069 inline void setMemory(int value) 00070 { memory_=value;} 00072 inline void setAlgorithm(int value) 00073 { algorithm_=value;} 00075 inline int getAlgorithm() const 00076 { return algorithm_;} 00078 inline void setStrategy(int value) 00079 { strategy_=value;} 00081 inline int getStrategy() const 00082 { return strategy_;} 00084 00085 //--------------------------------------------------------------------------- 00086 00087 private: 00088 00091 00092 int * node_; 00094 int * howMany_; 00096 CbcModel * model_; 00098 int count_; 00100 int memory_; 00102 int algorithm_; 00104 int strategy_; 00106 }; 00107 00108 #endif