Bonmin  1.8.8
BonLocalSolverBasedHeuristic.hpp
Go to the documentation of this file.
1 // (C) Copyright CNRS
2 // This code is published under the Eclipse Public License.
3 //
4 // Authors :
5 // Pierre Bonami, LIF Université de la Méditérannée-CNRS
6 //
7 // Date : 06/18/2008
8 
9 #ifndef BonLocalSolverBasedHeuristic_H
10 #define BonLocalSolverBasedHeuristic_H
11 #include "BonBonminSetup.hpp"
12 #include "CbcHeuristic.hpp"
13 
14 namespace Bonmin {
15  class LocalSolverBasedHeuristic : public CbcHeuristic {
16  public:
19 
22 
25 
28 
30  virtual CbcHeuristic * clone() const = 0;
31 
34 
35 #if 0
36  virtual void setModel(CbcModel * model){throw -1;}
38 #endif
39  virtual void resetModel(CbcModel * model){
41  setModel(model);
42  }
43 
45  void setSetup(BonminSetup * setup){
46  setup_ = setup;
48  }
50  virtual int solution(double & objectiveValue,
51  double * newSolution)=0;
52 
54  virtual int solution(double & objectiveValue,
55  double * newSolution,
56  OsiCuts & cs) {return 0;}
57 
58 
61  double *solution,
62  double & solValue,
63  double cutoff, std::string prefix = "local_solver.") const;
64 
67 
70 
73  protected:
76 
78  std::string prefix,
79  const std::string &option,
80  const std::string &value);
81 
83  std::string prefix,
84  const std::string &option,
85  const double &value);
86 
88  std::string prefix,
89  const std::string &option,
90  const int &value);
91  private:
93  double time_limit_;
95  int max_number_nodes_;
97  int max_number_solutions_;
98  };
99 }
101 #endif
102 
Bonmin::BabSetupBase::options
Ipopt::SmartPtr< Ipopt::OptionsList > options()
Acces list of Options.
Definition: BonBabSetupBase.hpp:303
Bonmin::LocalSolverBasedHeuristic::changeIfNotSet
static void changeIfNotSet(Ipopt::SmartPtr< Ipopt::OptionsList > options, std::string prefix, const std::string &option, const int &value)
Bonmin::LocalSolverBasedHeuristic::~LocalSolverBasedHeuristic
~LocalSolverBasedHeuristic()
Destructor.
Bonmin::LocalSolverBasedHeuristic::LocalSolverBasedHeuristic
LocalSolverBasedHeuristic(const LocalSolverBasedHeuristic &other)
Copy constructor.
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition: BonAmplSetup.hpp:16
Bonmin::LocalSolverBasedHeuristic
Definition: BonLocalSolverBasedHeuristic.hpp:15
Bonmin::LocalSolverBasedHeuristic::Initialize
void Initialize(Ipopt::SmartPtr< Ipopt::OptionsList > options)
Initiaize using passed options.
Bonmin::LocalSolverBasedHeuristic::setupDefaults
virtual void setupDefaults(Ipopt::SmartPtr< Ipopt::OptionsList > options)
Setup the defaults.
Bonmin::LocalSolverBasedHeuristic::solution
virtual int solution(double &objectiveValue, double *newSolution, OsiCuts &cs)
Performs heuristic which adds cuts
Definition: BonLocalSolverBasedHeuristic.hpp:54
Bonmin::LocalSolverBasedHeuristic::resetModel
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
Definition: BonLocalSolverBasedHeuristic.hpp:40
Bonmin::LocalSolverBasedHeuristic::solution
virtual int solution(double &objectiveValue, double *newSolution)=0
Performs heuristic
Ipopt::SmartPtr
OsiCuts
Bonmin::LocalSolverBasedHeuristic::setSetup
void setSetup(BonminSetup *setup)
Change setup used for heuristic.
Definition: BonLocalSolverBasedHeuristic.hpp:45
Bonmin::LocalSolverBasedHeuristic::registerOptions
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register the options common to all local search based heuristics.
Bonmin::LocalSolverBasedHeuristic::LocalSolverBasedHeuristic
LocalSolverBasedHeuristic(BonminSetup *setup)
Constructor with setup.
Bonmin::BonminSetup
Definition: BonBonminSetup.hpp:26
Bonmin::OsiTMINLPInterface
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
Definition: BonOsiTMINLPInterface.hpp:49
Bonmin::LocalSolverBasedHeuristic::doLocalSearch
int doLocalSearch(OsiTMINLPInterface *solver, double *solution, double &solValue, double cutoff, std::string prefix="local_solver.") const
Do a local search based on setup and passed solver.
Bonmin::LocalSolverBasedHeuristic::changeIfNotSet
static void changeIfNotSet(Ipopt::SmartPtr< Ipopt::OptionsList > options, std::string prefix, const std::string &option, const double &value)
Bonmin::LocalSolverBasedHeuristic::changeIfNotSet
static void changeIfNotSet(Ipopt::SmartPtr< Ipopt::OptionsList > options, std::string prefix, const std::string &option, const std::string &value)
Bonmin::LocalSolverBasedHeuristic::operator=
LocalSolverBasedHeuristic & operator=(const LocalSolverBasedHeuristic &rhs)
Assignment operator.
BonBonminSetup.hpp
Bonmin::LocalSolverBasedHeuristic::clone
virtual CbcHeuristic * clone() const =0
Virtual copy constructor.
Bonmin::LocalSolverBasedHeuristic::setup_
BonminSetup * setup_
Setup to use for local searches (will make copies).
Definition: BonLocalSolverBasedHeuristic.hpp:75
Bonmin::LocalSolverBasedHeuristic::LocalSolverBasedHeuristic
LocalSolverBasedHeuristic()
Default constructor.