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