Bonmin::HeuristicInnerApproximation Class Reference

#include <BonHeuristicInnerApproximation.hpp>

Collaboration diagram for Bonmin::HeuristicInnerApproximation:
Collaboration graph
[legend]

List of all members.

Public Member Functions

 HeuristicInnerApproximation (BonminSetup *setup)
 Constructor with setup.
 HeuristicInnerApproximation (const HeuristicInnerApproximation &copy)
 Copy constructor.
 ~HeuristicInnerApproximation ()
 Destructor.
HeuristicInnerApproximationoperator= (const HeuristicInnerApproximation &rhs)
 Assignment operator.
virtual CbcHeuristic * clone () const
 Clone.
void Initialize (BonminSetup *setup)
 Initialize method.
virtual void resetModel (CbcModel *model)
 Resets stuff if model changes.
virtual int solution (double &solutionValue, double *betterSolution)
 Performs heuristic.

Static Public Member Functions

static void registerOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Register the options common to all local search based heuristics.

Protected Attributes

BonminSetupsetup_
 Setup to use for local searches (will make copies).

Private Member Functions

void extractInnerApproximation (OsiTMINLPInterface &nlp, OsiSolverInterface &si, const double *x, bool getObj)
bool getMyInnerApproximation (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.

Private Attributes

int howOften_
 How often to do (code can change).
SubMipSolvermip_
 A subsolver for MIP.
int nbAp_
 Number of Approximation points.

Detailed Description

Definition at line 20 of file BonHeuristicInnerApproximation.hpp.


Constructor & Destructor Documentation

Bonmin::HeuristicInnerApproximation::HeuristicInnerApproximation ( BonminSetup setup  ) 

Constructor with setup.

Definition at line 41 of file BonHeuristicInnerApproximation.cpp.

Bonmin::HeuristicInnerApproximation::HeuristicInnerApproximation ( const HeuristicInnerApproximation copy  ) 

Copy constructor.

Definition at line 47 of file BonHeuristicInnerApproximation.cpp.

Bonmin::HeuristicInnerApproximation::~HeuristicInnerApproximation (  ) 

Destructor.

Definition at line 90 of file BonHeuristicInnerApproximation.cpp.


Member Function Documentation

HeuristicInnerApproximation & Bonmin::HeuristicInnerApproximation::operator= ( const HeuristicInnerApproximation rhs  ) 

Assignment operator.

Definition at line 57 of file BonHeuristicInnerApproximation.cpp.

virtual CbcHeuristic* Bonmin::HeuristicInnerApproximation::clone (  )  const [inline, virtual]

Clone.

Definition at line 37 of file BonHeuristicInnerApproximation.hpp.

void Bonmin::HeuristicInnerApproximation::Initialize ( BonminSetup setup  ) 

Initialize method.

Definition at line 82 of file BonHeuristicInnerApproximation.cpp.

virtual void Bonmin::HeuristicInnerApproximation::resetModel ( CbcModel *  model  )  [inline, virtual]

Resets stuff if model changes.

Definition at line 45 of file BonHeuristicInnerApproximation.hpp.

int Bonmin::HeuristicInnerApproximation::solution ( double &  solutionValue,
double *  betterSolution 
) [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 98 of file BonHeuristicInnerApproximation.cpp.

void Bonmin::HeuristicInnerApproximation::registerOptions ( Ipopt::SmartPtr< Bonmin::RegisteredOptions roptions  )  [static]

Register the options common to all local search based heuristics.

Definition at line 70 of file BonHeuristicInnerApproximation.cpp.

void Bonmin::HeuristicInnerApproximation::extractInnerApproximation ( OsiTMINLPInterface nlp,
OsiSolverInterface &  si,
const double *  x,
bool  getObj 
) [private]

Definition at line 347 of file BonHeuristicInnerApproximation.cpp.

bool Bonmin::HeuristicInnerApproximation::getMyInnerApproximation ( OsiTMINLPInterface si,
OsiCuts &  cs,
int  ind,
const double *  x,
const double *  x2 
) [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 290 of file BonHeuristicInnerApproximation.cpp.


Member Data Documentation

Setup to use for local searches (will make copies).

Definition at line 58 of file BonHeuristicInnerApproximation.hpp.

How often to do (code can change).

Definition at line 62 of file BonHeuristicInnerApproximation.hpp.

A subsolver for MIP.

Definition at line 65 of file BonHeuristicInnerApproximation.hpp.

Number of Approximation points.

Definition at line 68 of file BonHeuristicInnerApproximation.hpp.


The documentation for this class was generated from the following files:

Generated on 16 Feb 2012 by  doxygen 1.6.1