00001 //Edwin 11/24/09 carved out of CbcCompareActual 00002 #ifndef CbcCompareDepth_H 00003 #define CbcCompareDepth_H 00004 00005 00006 //############################################################################# 00007 /* These are alternative strategies for node traversal. 00008 They can take data etc for fine tuning 00009 00010 At present the node list is stored as a heap and the "test" 00011 comparison function returns true if node y is better than node x. 00012 00013 */ 00014 #include "CbcNode.hpp" 00015 #include "CbcCompareBase.hpp" 00016 #include "CbcCompare.hpp" 00017 class CbcModel; 00018 // This is default before first solution 00019 class CbcCompareDepth : public CbcCompareBase { 00020 public: 00021 // Default Constructor 00022 CbcCompareDepth () ; 00023 00024 ~CbcCompareDepth(); 00025 // Copy constructor 00026 CbcCompareDepth ( const CbcCompareDepth &rhs); 00027 00028 // Assignment operator 00029 CbcCompareDepth & operator=( const CbcCompareDepth& rhs); 00030 00032 virtual CbcCompareBase * clone() const; 00034 virtual void generateCpp( FILE * fp); 00035 00036 // This returns true if the depth of node y is greater than depth of node x 00037 virtual bool test (CbcNode * x, CbcNode * y); 00038 }; 00039 00040 #endif 00041