Bonmin  1.8.8
BonHeuristicFPump.hpp
Go to the documentation of this file.
1 // Copyright (C) 2007, International Business Machines Corporation and others.
2 // All Rights Reserved.
3 // This code is published under the Eclipse Public License.
4 //
5 // Authors :
6 // Joao P. Goncalves, International Business Machines Corporation
7 //
8 // Date : November 12, 2007
9 
10 #ifndef BonHeuristicFPump_HPP
11 #define BonHeuristicFPump_HPP
13 #include "BonBonminSetup.hpp"
14 #include "CbcHeuristic.hpp"
15 
16 namespace Bonmin
17 {
18  class HeuristicFPump : public CbcHeuristic
19  {
20  public:
23 
25  HeuristicFPump(BonminSetup * setup);
26 
28  HeuristicFPump(const HeuristicFPump &copy);
29 
32 
35 
37  virtual CbcHeuristic * clone() const{
38  return new HeuristicFPump(*this);
39  }
40 
42  virtual void resetModel(CbcModel * model){
43  setModel(model);
44  }
45 
47  void setSetup(BonminSetup * setup){
48  setup_ = setup;
49  Initialize(setup_->options());
50  }
51 
53  virtual int solution(double &solutionValue, double *betterSolution);
54 
56  virtual int solution(double &solutionValue, double *betterSolution, OsiCuts & cs)
57  {
58  return solution(solutionValue, betterSolution);
59  }
60 
63 
66 
67  private:
69  BonminSetup * setup_;
70 
72  int objective_norm_;
73 
75  int enableAdvanced_;
76  };
77 
79  {
80  public:
82  RoundingFPump(TMINLP2TNLP* minlp);
83 
86 
88  void round(const double integerTolerance,
89  const double primalTolerance,
90  double* solution);
91 
92  private:
94  void gutsOfConstructor();
95 
97  TMINLP2TNLP* minlp_;
98 
100  int numberRows_;
101 
103  int numberColumns_;
104 
106  std::vector<std::pair<int, int> >* col_and_jac_g_;
107 
108  };
109 
110 }
111 #endif
Bonmin::BabSetupBase::options
Ipopt::SmartPtr< Ipopt::OptionsList > options()
Acces list of Options.
Definition: BonBabSetupBase.hpp:303
Bonmin::HeuristicFPump::~HeuristicFPump
~HeuristicFPump()
Destructor.
Definition: BonHeuristicFPump.hpp:31
Bonmin::HeuristicFPump::solution
virtual int solution(double &solutionValue, double *betterSolution)
Performs heuristic.
Bonmin::HeuristicFPump::registerOptions
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register the options for this heuristic.
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition: BonAmplSetup.hpp:15
Bonmin::RoundingFPump::RoundingFPump
RoundingFPump(TMINLP2TNLP *minlp)
Default constructor.
Bonmin::RoundingFPump::~RoundingFPump
~RoundingFPump()
Destructor.
Bonmin::HeuristicFPump::Initialize
void Initialize(Ipopt::SmartPtr< Ipopt::OptionsList > options)
Initiaize using passed options.
Ipopt::SmartPtr
Bonmin::HeuristicFPump::resetModel
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
Definition: BonHeuristicFPump.hpp:42
Bonmin::TMINLP2TNLP
This is an adapter class that converts a TMINLP to a TNLP to be solved by Ipopt.
Definition: BonTMINLP2TNLP.hpp:32
OsiCuts
Bonmin::RoundingFPump::round
void round(const double integerTolerance, const double primalTolerance, double *solution)
Rounds the solution.
Bonmin::BonminSetup
Definition: BonBonminSetup.hpp:25
Bonmin::HeuristicFPump::operator=
HeuristicFPump & operator=(const HeuristicFPump &rhs)
Assignment operator.
Bonmin::HeuristicFPump::clone
virtual CbcHeuristic * clone() const
Virtual constructor.
Definition: BonHeuristicFPump.hpp:37
Bonmin::HeuristicFPump::solution
virtual int solution(double &solutionValue, double *betterSolution, OsiCuts &cs)
Performs heuristic with add cust.
Definition: BonHeuristicFPump.hpp:56
Bonmin::HeuristicFPump::setSetup
void setSetup(BonminSetup *setup)
Change setup used for heuristic.
Definition: BonHeuristicFPump.hpp:47
Bonmin::HeuristicFPump::HeuristicFPump
HeuristicFPump()
Default constructor.
Bonmin::RoundingFPump
Definition: BonHeuristicFPump.hpp:78
BonBonminSetup.hpp
Bonmin::HeuristicFPump
Definition: BonHeuristicFPump.hpp:18
BonOsiTMINLPInterface.hpp