#include <SepaHeuristicInnerApproximation.hpp>
Public Member Functions | |
HeuristicInnerApproximation (Bonmin::BonminSetup *setup) | |
Constructor with setup. More... | |
HeuristicInnerApproximation (const HeuristicInnerApproximation ©) | |
Copy constructor. More... | |
~HeuristicInnerApproximation () | |
Destructor. More... | |
HeuristicInnerApproximation & | operator= (const HeuristicInnerApproximation &rhs) |
Assignment operator. More... | |
virtual CbcHeuristic * | clone () const |
Clone. More... | |
void | Initialize (Bonmin::BonminSetup *setup) |
Initialize method. More... | |
virtual void | resetModel (CbcModel *model) |
Resets stuff if model changes. More... | |
virtual int | solution (double &solutionValue, double *betterSolution) |
Performs heuristic. More... | |
Static Public Member Functions | |
static void | registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register the options common to all local search based heuristics. More... | |
Protected Attributes | |
Bonmin::BonminSetup * | setup_ |
Setup to use for local searches (will make copies). More... | |
Private Member Functions | |
void | extractInnerApproximation (Bonmin::OsiTMINLPInterface &nlp, OsiSolverInterface &si, const double *x, bool getObj) |
bool | getMyInnerApproximation (Bonmin::OsiTMINLPInterface &si, OsiCuts &cs, int ind, const double *x, const double *x2) |
Get an inner-approximation constraint obtained by drawing a chord linking the two given points x and x2. More... | |
Private Attributes | |
int | howOften_ |
How often to do (code can change) More... | |
Bonmin::SubMipSolver * | mip_ |
A subsolver for MIP. More... | |
int | nbAp_ |
Number of Approximation points. More... | |
double | time_limit_ |
Time limit for mip. More... | |
Definition at line 23 of file SepaHeuristicInnerApproximation.hpp.
Sepa::HeuristicInnerApproximation::HeuristicInnerApproximation | ( | Bonmin::BonminSetup * | setup | ) |
Constructor with setup.
Definition at line 39 of file SepaHeuristicInnerApproximation.cpp.
Sepa::HeuristicInnerApproximation::HeuristicInnerApproximation | ( | const HeuristicInnerApproximation & | copy | ) |
Copy constructor.
Definition at line 45 of file SepaHeuristicInnerApproximation.cpp.
Sepa::HeuristicInnerApproximation::~HeuristicInnerApproximation | ( | ) |
Destructor.
Definition at line 102 of file SepaHeuristicInnerApproximation.cpp.
HeuristicInnerApproximation & Sepa::HeuristicInnerApproximation::operator= | ( | const HeuristicInnerApproximation & | rhs | ) |
Assignment operator.
Definition at line 57 of file SepaHeuristicInnerApproximation.cpp.
|
inlinevirtual |
Clone.
Definition at line 40 of file SepaHeuristicInnerApproximation.hpp.
void Sepa::HeuristicInnerApproximation::Initialize | ( | Bonmin::BonminSetup * | setup | ) |
Initialize method.
Definition at line 92 of file SepaHeuristicInnerApproximation.cpp.
|
inlinevirtual |
Resets stuff if model changes.
Definition at line 48 of file SepaHeuristicInnerApproximation.hpp.
|
virtual |
Performs heuristic.
Returns a feasible solution to the MINLP The heuristic constructs a MIP based approximating all univariate functions appearing in nonlinear constraints The linear approximation is obtained by adding inner chords linking pairs of points until covering the range of each variable.
Definition at line 110 of file SepaHeuristicInnerApproximation.cpp.
|
static |
Register the options common to all local search based heuristics.
Definition at line 70 of file SepaHeuristicInnerApproximation.cpp.
|
private |
Definition at line 322 of file SepaHeuristicInnerApproximation.cpp.
|
private |
Get an inner-approximation constraint obtained by drawing a chord linking the two given points x and x2.
This only applies to nonlinear constraints featuring univariate functions (f(x) <= y).
Definition at line 249 of file SepaHeuristicInnerApproximation.cpp.
|
protected |
Setup to use for local searches (will make copies).
Definition at line 61 of file SepaHeuristicInnerApproximation.hpp.
|
private |
How often to do (code can change)
Definition at line 65 of file SepaHeuristicInnerApproximation.hpp.
|
private |
A subsolver for MIP.
Definition at line 68 of file SepaHeuristicInnerApproximation.hpp.
|
private |
Number of Approximation points.
Definition at line 71 of file SepaHeuristicInnerApproximation.hpp.
|
private |
Time limit for mip.
Definition at line 74 of file SepaHeuristicInnerApproximation.hpp.