/build/buildd/coinor-cbc-2.5.0/debian/tmp/usr/include/coin/CbcCompareObjective.hpp
Go to the documentation of this file.
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