00001 // $Id: CbcSolver2.hpp 1574 2011-01-05 01:13:55Z lou $ 00002 // Copyright (C) 2005, 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 #ifndef CbcSolver2_H 00007 #define CbcSolver2_H 00008 00009 #include "OsiClpSolverInterface.hpp" 00010 class CbcModel; 00011 //############################################################################# 00012 00022 class CbcSolver2 : public OsiClpSolverInterface { 00023 00024 public: 00025 //--------------------------------------------------------------------------- 00028 00029 virtual void initialSolve(); 00030 00032 virtual void resolve(); 00033 00035 00036 00039 00040 CbcSolver2 (); 00041 00043 virtual OsiSolverInterface * clone(bool CopyData=true) const; 00044 00046 CbcSolver2 (const CbcSolver2 &); 00047 00049 CbcSolver2 & operator=(const CbcSolver2& rhs); 00050 00052 virtual ~CbcSolver2 (); 00053 00055 00056 00059 00060 void initialize(CbcModel * model, const char * keep); 00062 inline const int * when() const 00063 { return node_;} 00065 inline int getMemory() const 00066 { return memory_;} 00068 inline int getCount() const 00069 { return count_;} 00071 inline void setMemory(int value) 00072 { memory_=value;} 00074 inline void setAlgorithm(int value) 00075 { algorithm_=value;} 00077 inline int getAlgorithm() const 00078 { return algorithm_;} 00080 inline void setStrategy(int value) 00081 { strategy_=value;} 00083 inline int getStrategy() const 00084 { return strategy_;} 00086 00087 //--------------------------------------------------------------------------- 00088 00089 private: 00090 00093 00094 int * node_; 00096 int * howMany_; 00098 CbcModel * model_; 00100 int count_; 00102 int memory_; 00104 int algorithm_; 00106 int strategy_; 00108 }; 00109 00110 #endif