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 
61  protected:
64 
65  private:
67  int howOften_;
69  SubMipSolver * mip_;
70 
71  OsiCuts noGoods;
72  };
73 }
74 #endif
Bonmin::MilpRounding::solution
virtual int solution(double &solutionValue, double *betterSolution)
Performs heuristic.
OsiCuts.hpp
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition: BonAmplSetup.hpp:15
Bonmin::SubMipSolver
A very simple class to provide a common interface for solving MIPs with Cplex and Cbc.
Definition: BonSubMipSolver.hpp:29
Bonmin::MilpRounding::operator=
MilpRounding & operator=(const MilpRounding &rhs)
Assignment operator.
Ipopt::SmartPtr
OsiCuts
Bonmin::BonminSetup
Definition: BonBonminSetup.hpp:25
Bonmin::MilpRounding::setSetup
virtual void setSetup(BonminSetup *setup)
Change setup used for heuristic.
Definition: BonMilpRounding.hpp:51
Bonmin::MilpRounding::registerOptions
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Bonmin::MilpRounding::resetModel
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
Definition: BonMilpRounding.hpp:46
Bonmin::MilpRounding
Definition: BonMilpRounding.hpp:21
Bonmin::MilpRounding::MilpRounding
MilpRounding(BonminSetup *setup)
Constructor with setup.
Bonmin::MilpRounding::Initialize
void Initialize(BonminSetup *setup)
Initialize method.
BonBonminSetup.hpp
Bonmin::MilpRounding::setup_
BonminSetup * setup_
Setup to use for local searches (will make copies).
Definition: BonMilpRounding.hpp:63
Bonmin::MilpRounding::clone
virtual CbcHeuristic * clone() const
Clone.
Definition: BonMilpRounding.hpp:38
Bonmin::MilpRounding::~MilpRounding
~MilpRounding()
Destructor.
BonOsiTMINLPInterface.hpp