Bonmin  1.8.8
BonMilpRounding.hpp
Go to the documentation of this file.
1 // Copyright (C) 2010, International Business Machines Corporation and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // Pierre Bonami CNRS
7 //
8 // Date : May, 26 2010
9 
10 #ifndef BonMilpRounding_HPP
11 #define BonMilpRounding_HPP
13 #include "BonBonminSetup.hpp"
14 #include "CbcHeuristic.hpp"
15 #include "CbcStrategy.hpp"
16 #include "OsiCuts.hpp"
17 
18 namespace Bonmin
19 {
20  class SubMipSolver;
21  class MilpRounding : public CbcHeuristic
22  {
23  public:
24 
26  MilpRounding(BonminSetup * setup);
27 
29  MilpRounding(const MilpRounding &copy);
30 
32  ~MilpRounding();
33 
35  MilpRounding & operator=(const MilpRounding & rhs);
36 
38  virtual CbcHeuristic * clone() const{
39  return new MilpRounding(*this);
40  }
41 
43  void Initialize(BonminSetup * setup);
44 
46  virtual void resetModel(CbcModel * model){
47  setModel(model);
48  }
49 
51  virtual void setSetup(BonminSetup * setup){
52  setup_ = setup;
53  // Initialize(setup_->options());
54  }
55 
57  virtual int solution(double &solutionValue, double *betterSolution);
58 
59 
60  static void registerOptions(Ipopt::SmartPtr<Bonmin::RegisteredOptions> roptions);
61  protected:
64 
65  private:
67  int howOften_;
70 
71  OsiCuts noGoods;
72  };
73 }
74 #endif
int howOften_
How often to do (code can change)
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
A very simple class to provide a common interface for solving MIPs with Cplex and Cbc...
~MilpRounding()
Destructor.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
virtual void setSetup(BonminSetup *setup)
Change setup used for heuristic.
MilpRounding & operator=(const MilpRounding &rhs)
Assignment operator.
virtual CbcHeuristic * clone() const
Clone.
MilpRounding(BonminSetup *setup)
Constructor with setup.
SubMipSolver * mip_
A subsolver for MIP.
BonminSetup * setup_
Setup to use for local searches (will make copies).
void Initialize(BonminSetup *setup)
Initialize method.
virtual int solution(double &solutionValue, double *betterSolution)
Performs heuristic.