00001 // Copyright (C) 2004, International Business Machines 00002 // Corporation and others. All Rights Reserved. 00003 00004 #ifndef CbcSolver3_H 00005 #define CbcSolver3_H 00006 00007 #include "OsiClpSolverInterface.hpp" 00008 class CbcModel; 00009 //############################################################################# 00010 00016 class CbcSolver3 : public OsiClpSolverInterface { 00017 00018 public: 00019 //--------------------------------------------------------------------------- 00022 00023 virtual void initialSolve(); 00024 00026 virtual void resolve(); 00027 00029 00030 00033 00034 CbcSolver3 (); 00035 00037 virtual OsiSolverInterface * clone(bool CopyData=true) const; 00038 00040 CbcSolver3 (const CbcSolver3 &); 00041 00043 CbcSolver3 & operator=(const CbcSolver3& rhs); 00044 00046 virtual ~CbcSolver3 (); 00047 00049 00050 00053 00054 void initialize(CbcModel * model, const char * keep); 00056 inline const int * when() const 00057 { return node_;} 00059 inline int getMemory() const 00060 { return memory_;} 00062 inline int getCount() const 00063 { return count_;} 00065 inline void setMemory(int value) 00066 { memory_=value;} 00068 inline void setBelieveInfeasible(bool yesNo) 00069 { believeInfeasible_=yesNo;} 00071 inline void setAlgorithm(int value) 00072 { algorithm_=value;} 00074 inline void setNested(double value) 00075 { nestedSearch_=value;} 00077 inline int getAlgorithm() const 00078 { return algorithm_;} 00080 inline double getNested() const 00081 { return nestedSearch_;} 00083 00084 //--------------------------------------------------------------------------- 00085 00086 private: 00087 00090 00091 double nestedSearch_; 00093 int * node_; 00095 int * howMany_; 00097 CbcModel * model_; 00099 int count_; 00101 int memory_; 00103 bool believeInfeasible_; 00105 bool algorithm_; 00107 }; 00108 00109 #endif