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