Bonmin  1.7
Public Member Functions | Static Public Member Functions | Static Protected Member Functions | Protected Attributes | Private Attributes
Bonmin::LocalSolverBasedHeuristic Class Reference

#include <BonLocalSolverBasedHeuristic.hpp>

Inheritance diagram for Bonmin::LocalSolverBasedHeuristic:
Bonmin::DummyPump Bonmin::FixAndSolveHeuristic Bonmin::HeuristicLocalBranching Bonmin::HeuristicRINS Bonmin::PumpForMinlp

List of all members.

Public Member Functions

 LocalSolverBasedHeuristic ()
 Default constructor.
 LocalSolverBasedHeuristic (BonminSetup *setup)
 Constructor with setup.
 LocalSolverBasedHeuristic (const LocalSolverBasedHeuristic &other)
 Copy constructor.
 ~LocalSolverBasedHeuristic ()
 Destructor.
virtual CbcHeuristic * clone () const =0
 Virtual copy constructor.
LocalSolverBasedHeuristicoperator= (const LocalSolverBasedHeuristic &rhs)
 Assignment operator.
virtual void resetModel (CbcModel *model)
 Resets stuff if model changes.
void setSetup (BonminSetup *setup)
 Change setup used for heuristic.
virtual int solution (double &objectiveValue, double *newSolution)=0
 Performs heuristic.
virtual int solution (double &objectiveValue, double *newSolution, OsiCuts &cs)
 Performs heuristic which adds cuts.
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.
virtual void setupDefaults (Ipopt::SmartPtr< Ipopt::OptionsList > options)
 Setup the defaults.
void Initialize (Ipopt::SmartPtr< Ipopt::OptionsList > options)
 Initiaize using passed options.

Static Public Member Functions

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

Static Protected Member Functions

static void changeIfNotSet (Ipopt::SmartPtr< Ipopt::OptionsList > options, std::string prefix, const std::string &option, const std::string &value)
static void changeIfNotSet (Ipopt::SmartPtr< Ipopt::OptionsList > options, std::string prefix, const std::string &option, const double &value)
static void changeIfNotSet (Ipopt::SmartPtr< Ipopt::OptionsList > options, std::string prefix, const std::string &option, const int &value)

Protected Attributes

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

Private Attributes

double time_limit_
 Time limit in local search.
int max_number_nodes_
 maximal number of nodes in local search.
int max_number_solutions_
 Maximal number of solutions in local search.

Detailed Description

Definition at line 15 of file BonLocalSolverBasedHeuristic.hpp.


Constructor & Destructor Documentation

Bonmin::LocalSolverBasedHeuristic::LocalSolverBasedHeuristic ( )

Default constructor.

Bonmin::LocalSolverBasedHeuristic::LocalSolverBasedHeuristic ( BonminSetup setup)

Constructor with setup.

Bonmin::LocalSolverBasedHeuristic::LocalSolverBasedHeuristic ( const LocalSolverBasedHeuristic other)

Copy constructor.

Bonmin::LocalSolverBasedHeuristic::~LocalSolverBasedHeuristic ( )

Destructor.


Member Function Documentation

virtual CbcHeuristic* Bonmin::LocalSolverBasedHeuristic::clone ( ) const [pure virtual]
LocalSolverBasedHeuristic& Bonmin::LocalSolverBasedHeuristic::operator= ( const LocalSolverBasedHeuristic rhs)

Assignment operator.

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

Resets stuff if model changes.

Definition at line 40 of file BonLocalSolverBasedHeuristic.hpp.

void Bonmin::LocalSolverBasedHeuristic::setSetup ( BonminSetup setup) [inline]

Change setup used for heuristic.

Definition at line 45 of file BonLocalSolverBasedHeuristic.hpp.

References Initialize(), Bonmin::BabSetupBase::options(), and setup_.

virtual int Bonmin::LocalSolverBasedHeuristic::solution ( double &  objectiveValue,
double *  newSolution 
) [pure virtual]
virtual int Bonmin::LocalSolverBasedHeuristic::solution ( double &  objectiveValue,
double *  newSolution,
OsiCuts &  cs 
) [inline, virtual]

Performs heuristic which adds cuts.

Definition at line 54 of file BonLocalSolverBasedHeuristic.hpp.

int Bonmin::LocalSolverBasedHeuristic::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.

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

Register the options common to all local search based heuristics.

Reimplemented in Bonmin::HeuristicLocalBranching, Bonmin::HeuristicRINS, Bonmin::DummyPump, Bonmin::FixAndSolveHeuristic, and Bonmin::PumpForMinlp.

virtual void Bonmin::LocalSolverBasedHeuristic::setupDefaults ( Ipopt::SmartPtr< Ipopt::OptionsList >  options) [virtual]

Setup the defaults.

Reimplemented in Bonmin::PumpForMinlp.

void Bonmin::LocalSolverBasedHeuristic::Initialize ( Ipopt::SmartPtr< Ipopt::OptionsList >  options)
static void Bonmin::LocalSolverBasedHeuristic::changeIfNotSet ( Ipopt::SmartPtr< Ipopt::OptionsList >  options,
std::string  prefix,
const std::string &  option,
const std::string &  value 
) [static, protected]
static void Bonmin::LocalSolverBasedHeuristic::changeIfNotSet ( Ipopt::SmartPtr< Ipopt::OptionsList >  options,
std::string  prefix,
const std::string &  option,
const double &  value 
) [static, protected]
static void Bonmin::LocalSolverBasedHeuristic::changeIfNotSet ( Ipopt::SmartPtr< Ipopt::OptionsList >  options,
std::string  prefix,
const std::string &  option,
const int &  value 
) [static, protected]

Member Data Documentation

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

Definition at line 75 of file BonLocalSolverBasedHeuristic.hpp.

Referenced by setSetup().

Time limit in local search.

Definition at line 93 of file BonLocalSolverBasedHeuristic.hpp.

maximal number of nodes in local search.

Definition at line 95 of file BonLocalSolverBasedHeuristic.hpp.

Maximal number of solutions in local search.

Definition at line 97 of file BonLocalSolverBasedHeuristic.hpp.


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