Cbc  2.10.10
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
CbcHeuristicVND.hpp
Go to the documentation of this file.
1 // $Id$
2 // Copyright (C) 2006, 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 // edwin 12/5/09 carved out of CbcHeuristicRINS
7 
8 #ifndef CbcHeuristicVND_H
9 #define CbcHeuristicVND_H
10 
11 #include "CbcHeuristic.hpp"
12 
16 class CbcHeuristicVND : public CbcHeuristic {
17 public:
18  // Default Constructor
20 
21  /* Constructor with model - assumed before cuts
22  Initial version does not do Lps
23  */
24  CbcHeuristicVND(CbcModel &model);
25 
26  // Copy constructor
28 
29  // Destructor
31 
33  virtual CbcHeuristic *clone() const;
34 
37 
39  virtual void generateCpp(FILE *fp);
40 
42  virtual void resetModel(CbcModel *model);
43 
45  virtual void setModel(CbcModel *model);
46 
52  virtual int solution(double &objectiveValue,
53  double *newSolution);
55  int solutionFix(double &objectiveValue,
56  double *newSolution,
57  const int *keep);
58 
60  inline void setHowOften(int value)
61  {
62  howOften_ = value;
63  }
65  inline double *baseSolution() const
66  {
67  return baseSolution_;
68  }
69 
70 protected:
71  // Data
72 
76  int howOften_;
82  int lastNode_;
84  int stepSize_;
85  int k_;
86  int kmax_;
89  double *baseSolution_;
90 };
91 
92 #endif
93 
94 /* vi: softtabstop=2 shiftwidth=2 expandtab tabstop=2
95 */
CbcHeuristicVND::nDifferent_
int nDifferent_
Definition: CbcHeuristicVND.hpp:87
CbcHeuristicVND::generateCpp
virtual void generateCpp(FILE *fp)
Create C++ lines to get to current state.
CbcHeuristic
Heuristic base class.
Definition: CbcHeuristic.hpp:86
CbcHeuristicVND::k_
int k_
Definition: CbcHeuristicVND.hpp:85
CbcHeuristicVND::setHowOften
void setHowOften(int value)
Sets how often to do it.
Definition: CbcHeuristicVND.hpp:60
CbcHeuristicVND::lastNode_
int lastNode_
Node when last done.
Definition: CbcHeuristicVND.hpp:82
CbcHeuristicVND
LocalSearch class.
Definition: CbcHeuristicVND.hpp:16
CbcHeuristicVND::numberSuccesses_
int numberSuccesses_
Number of successes.
Definition: CbcHeuristicVND.hpp:78
CbcHeuristicVND::stepSize_
int stepSize_
Step size for decomposition.
Definition: CbcHeuristicVND.hpp:84
CbcHeuristicVND::clone
virtual CbcHeuristic * clone() const
Clone.
CbcModel
Simple Branch and bound class.
Definition: CbcModel.hpp:100
CbcHeuristicVND::baseSolution
double * baseSolution() const
base solution array so we can set
Definition: CbcHeuristicVND.hpp:65
CbcHeuristicVND::operator=
CbcHeuristicVND & operator=(const CbcHeuristicVND &rhs)
Assignment operator.
CbcHeuristicVND::howOften_
int howOften_
How often to do (code can change)
Definition: CbcHeuristicVND.hpp:76
CbcHeuristicVND::resetModel
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
CbcHeuristicVND::kmax_
int kmax_
Definition: CbcHeuristicVND.hpp:86
CbcHeuristicVND::CbcHeuristicVND
CbcHeuristicVND()
CbcHeuristicVND::solution
virtual int solution(double &objectiveValue, double *newSolution)
returns 0 if no solution, 1 if valid solution.
CbcHeuristic::solution
virtual int solution(double &objectiveValue, double *newSolution)=0
returns 0 if no solution, 1 if valid solution with better objective value than one passed in Sets sol...
CbcHeuristicVND::baseSolution_
double * baseSolution_
Base solution.
Definition: CbcHeuristicVND.hpp:89
CbcHeuristicVND::numberTries_
int numberTries_
Number of tries.
Definition: CbcHeuristicVND.hpp:80
CbcHeuristic.hpp
CbcHeuristicVND::solutionFix
int solutionFix(double &objectiveValue, double *newSolution, const int *keep)
This version fixes stuff and does IP.
CbcHeuristicVND::~CbcHeuristicVND
~CbcHeuristicVND()
CbcHeuristicVND::numberSolutions_
int numberSolutions_
Number of solutions so we can do something at solution.
Definition: CbcHeuristicVND.hpp:74
CbcHeuristicVND::setModel
virtual void setModel(CbcModel *model)
update model (This is needed if cliques update matrix etc)