00001 //Edwin 11/25/09 carved out of CbcCompareActual 00002 #ifndef CbcCompareObjective_H 00003 #define CbcCompareObjective_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 00018 class CbcModel; 00019 00020 class CbcCompareObjective : public CbcCompareBase { 00021 public: 00022 // Default Constructor 00023 CbcCompareObjective (); 00024 00025 virtual ~CbcCompareObjective(); 00026 // Copy constructor 00027 CbcCompareObjective ( const CbcCompareObjective &rhs); 00028 00029 // Assignment operator 00030 CbcCompareObjective & operator=( const CbcCompareObjective& rhs); 00031 00033 virtual CbcCompareBase * clone() const; 00035 virtual void generateCpp( FILE * fp); 00036 00037 /* This returns true if objective value of node y is less than 00038 objective value of node x */ 00039 virtual bool test (CbcNode * x, CbcNode * y); 00040 }; 00041 00042 #endif //CbcCompareObjective_H 00043