00001 /* $Id: CbcHeuristicDivePseudoCost.hpp 1240 2009-10-02 18:41:44Z forrest $ */ 00002 // Copyright (C) 2008, International Business Machines 00003 // Corporation and others. All Rights Reserved. 00004 #ifndef CbcHeuristicDivePseudoCost_H 00005 #define CbcHeuristicDivePseudoCost_H 00006 00007 #include "CbcHeuristicDive.hpp" 00008 00012 class CbcHeuristicDivePseudoCost : public CbcHeuristicDive { 00013 public: 00014 00015 // Default Constructor 00016 CbcHeuristicDivePseudoCost (); 00017 00018 // Constructor with model - assumed before cuts 00019 CbcHeuristicDivePseudoCost (CbcModel & model); 00020 00021 // Copy constructor 00022 CbcHeuristicDivePseudoCost ( const CbcHeuristicDivePseudoCost &); 00023 00024 // Destructor 00025 ~CbcHeuristicDivePseudoCost (); 00026 00028 virtual CbcHeuristicDivePseudoCost * clone() const; 00029 00031 CbcHeuristicDivePseudoCost & operator=(const CbcHeuristicDivePseudoCost& rhs); 00032 00034 virtual void generateCpp( FILE * fp) ; 00035 00037 00042 virtual bool selectVariableToBranch(OsiSolverInterface* solver, 00043 const double* newSolution, 00044 int& bestColumn, 00045 int& bestRound); 00048 virtual void initializeData() ; 00050 virtual int fixOtherVariables(OsiSolverInterface * solver, 00051 const double * solution, 00052 PseudoReducedCost * candidate, 00053 const double * random); 00054 00055 }; 00056 00057 #endif 00058