Cbc trunk
CbcCompareDepth.hpp
Go to the documentation of this file.
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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines