Bonmin
1.8.9
Toggle main menu visibility
Loading...
Searching...
No Matches
src
CbcBonmin
Heuristics
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
12
#include "
BonOsiTMINLPInterface.hpp
"
13
#include "
BonBonminSetup.hpp
"
14
#include "CbcHeuristic.hpp"
15
16
namespace
Bonmin
17
{
18
class
HeuristicFPump
:
public
CbcHeuristic
19
{
20
public
:
22
HeuristicFPump
();
23
25
HeuristicFPump
(
BonminSetup
* setup);
26
28
HeuristicFPump
(
const
HeuristicFPump
©);
29
31
~HeuristicFPump
() {}
32
34
HeuristicFPump
&
operator=
(
const
HeuristicFPump
& rhs);
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
62
static
void
registerOptions
(
Ipopt::SmartPtr<Bonmin::RegisteredOptions>
roptions);
63
65
void
Initialize
(
Ipopt::SmartPtr<Ipopt::OptionsList>
options);
66
67
private
:
69
BonminSetup
* setup_;
70
72
int
objective_norm_;
73
75
int
enableAdvanced_;
76
};
77
78
class
RoundingFPump
79
{
80
public
:
82
RoundingFPump
(
TMINLP2TNLP
* minlp);
83
85
~RoundingFPump
();
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
BonBonminSetup.hpp
BonOsiTMINLPInterface.hpp
Bonmin::BonminSetup
Definition
BonBonminSetup.hpp:26
Bonmin::HeuristicFPump::resetModel
virtual void resetModel(CbcModel *model)
Resets stuff if model changes.
Definition
BonHeuristicFPump.hpp:42
Bonmin::HeuristicFPump::solution
virtual int solution(double &solutionValue, double *betterSolution)
Performs heuristic.
Bonmin::HeuristicFPump::Initialize
void Initialize(Ipopt::SmartPtr< Ipopt::OptionsList > options)
Initiaize using passed options.
Bonmin::HeuristicFPump::HeuristicFPump
HeuristicFPump(BonminSetup *setup)
Constructor with setup.
Bonmin::HeuristicFPump::operator=
HeuristicFPump & operator=(const HeuristicFPump &rhs)
Assignment operator.
Bonmin::HeuristicFPump::HeuristicFPump
HeuristicFPump(const HeuristicFPump ©)
Copy constructor.
Bonmin::HeuristicFPump::registerOptions
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register the options for this heuristic.
Bonmin::HeuristicFPump::~HeuristicFPump
~HeuristicFPump()
Destructor.
Definition
BonHeuristicFPump.hpp:31
Bonmin::HeuristicFPump::clone
virtual CbcHeuristic * clone() const
Virtual constructor.
Definition
BonHeuristicFPump.hpp:37
Bonmin::HeuristicFPump::setSetup
void setSetup(BonminSetup *setup)
Change setup used for heuristic.
Definition
BonHeuristicFPump.hpp:47
Bonmin::HeuristicFPump::HeuristicFPump
HeuristicFPump()
Default constructor.
Bonmin::HeuristicFPump::solution
virtual int solution(double &solutionValue, double *betterSolution, OsiCuts &cs)
Performs heuristic with add cust.
Definition
BonHeuristicFPump.hpp:56
Bonmin::RoundingFPump::~RoundingFPump
~RoundingFPump()
Destructor.
Bonmin::RoundingFPump::round
void round(const double integerTolerance, const double primalTolerance, double *solution)
Rounds the solution.
Bonmin::RoundingFPump::RoundingFPump
RoundingFPump(TMINLP2TNLP *minlp)
Default constructor.
Bonmin::TMINLP2TNLP
This is an adapter class that converts a TMINLP to a TNLP to be solved by Ipopt.
Definition
BonTMINLP2TNLP.hpp:33
Ipopt::SmartPtr
OsiCuts
Bonmin
(C) Copyright International Business Machines Corporation 2007
Definition
BonAmplSetup.hpp:16
Generated by
1.17.0