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