1 /* $Id$ */ 2 // Copyright (C) 2008, International Business Machines 3 // Corporation and others. All Rights Reserved. 4 // This code is licensed under the terms of the Eclipse Public License (EPL). 5 6 #ifndef CbcHeuristicPivotAndFix_H 7 #define CbcHeuristicPivotAndFix_H 8 9 #include "CbcHeuristic.hpp" 10 /** LocalSearch class 11 */ 12 13 class CbcHeuristicPivotAndFix : public CbcHeuristic { 14 public: 15 // Default Constructor 16 CbcHeuristicPivotAndFix(); 17 18 /* Constructor with model - assumed before cuts 19 Initial version does not do Lps 20 */ 21 CbcHeuristicPivotAndFix(CbcModel &model); 22 23 // Copy constructor 24 CbcHeuristicPivotAndFix(const CbcHeuristicPivotAndFix &); 25 26 // Destructor 27 ~CbcHeuristicPivotAndFix(); 28 29 /// Clone 30 virtual CbcHeuristic *clone() const; 31 32 /// Assignment operator 33 CbcHeuristicPivotAndFix &operator=(const CbcHeuristicPivotAndFix &rhs); 34 35 /// Create C++ lines to get to current state 36 virtual void generateCpp(FILE *fp); 37 38 /// Resets stuff if model changes 39 virtual void resetModel(CbcModel *model); 40 41 /// update model (This is needed if cliques update matrix etc) 42 virtual void setModel(CbcModel *model); 43 44 using CbcHeuristic::solution; 45 /** returns 0 if no solution, 1 if valid solution. 46 Sets solution values if good, sets objective value (only if good) 47 needs comments 48 */ 49 virtual int solution(double &objectiveValue, 50 double *newSolution); 51 52 protected: 53 }; 54 55 #endif 56 57 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2 58 */ 59