Cbc
trunk
|
00001 /* $Id$ */ 00002 // Copyright (C) 2008, 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 #ifndef CbcHeuristicDivePseudoCost_H 00007 #define CbcHeuristicDivePseudoCost_H 00008 00009 #include "CbcHeuristicDive.hpp" 00010 00014 class CbcHeuristicDivePseudoCost : public CbcHeuristicDive { 00015 public: 00016 00017 // Default Constructor 00018 CbcHeuristicDivePseudoCost (); 00019 00020 // Constructor with model - assumed before cuts 00021 CbcHeuristicDivePseudoCost (CbcModel & model); 00022 00023 // Copy constructor 00024 CbcHeuristicDivePseudoCost ( const CbcHeuristicDivePseudoCost &); 00025 00026 // Destructor 00027 ~CbcHeuristicDivePseudoCost (); 00028 00030 virtual CbcHeuristicDivePseudoCost * clone() const; 00031 00033 CbcHeuristicDivePseudoCost & operator=(const CbcHeuristicDivePseudoCost& rhs); 00034 00036 virtual void generateCpp( FILE * fp) ; 00037 00039 00044 virtual bool selectVariableToBranch(OsiSolverInterface* solver, 00045 const double* newSolution, 00046 int& bestColumn, 00047 int& bestRound); 00050 virtual void initializeData() ; 00052 virtual int fixOtherVariables(OsiSolverInterface * solver, 00053 const double * solution, 00054 PseudoReducedCost * candidate, 00055 const double * random); 00056 00057 }; 00058 00059 #endif 00060