Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | Private Attributes | List of all members
Bonmin::BonminSetup Class Reference

#include <BonBonminSetup.hpp>

Inheritance diagram for Bonmin::BonminSetup:
Inheritance graph
[legend]
Collaboration diagram for Bonmin::BonminSetup:
Collaboration graph
[legend]

Public Member Functions

 BonminSetup (const CoinMessageHandler *handler=NULL)
 Default constructor. More...
 
 BonminSetup (const BonminSetup &other)
 Copy constructor. More...
 
 BonminSetup (const BonminSetup &setup, OsiTMINLPInterface &nlp)
 Copy but uses an other nlp. More...
 
 BonminSetup (const BonminSetup &setup, OsiTMINLPInterface &nlp, const std::string &prefix)
 Copy but uses another nlp and algorithm. More...
 
virtual BabSetupBaseclone () const
 virtual copy constructor. More...
 
BonminSetupclone (OsiTMINLPInterface &nlp) const
 Make a copy with solver replace by one passed . More...
 
BonminSetupclone (OsiTMINLPInterface &nlp, const std::string &prefix) const
 Make a copy but take options with different prefix. More...
 
virtual ~BonminSetup ()
 
void initialize (Ipopt::SmartPtr< TMINLP > tminlp, bool createContinuousSolver=true)
 Initialize, read options and create appropriate bonmin setup. More...
 
void initialize (const OsiTMINLPInterface &nlpSi, bool createContinuousSolver=true)
 Initialize, read options and create appropriate bonmin setup. More...
 
Bonmin::Algorithm getAlgorithm ()
 Get the algorithm used. More...
 
void addCutGenerator (CuttingMethod &cg)
 
Methods to instantiate: Registering and retrieving options and initializing everything.
virtual void registerOptions ()
 Register all the options for this algorithm instance. More...
 
virtual void setBabDefaultOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Setup the defaults options for this algorithm. More...
 
- Public Member Functions inherited from Bonmin::BabSetupBase
void gatherParametersValues ()
 Get the values of base parameters from the options stored. More...
 
void gatherParametersValues (Ipopt::SmartPtr< Ipopt::OptionsList > options)
 Get the values of the base parameters from the passed options. More...
 
Ipopt::SmartPtr
< Ipopt::Journalist > 
journalist ()
 Acces storage of Journalist for output. More...
 
Ipopt::SmartPtr
< Ipopt::OptionsList > 
options ()
 Acces list of Options. More...
 
Ipopt::SmartPtr
< Bonmin::RegisteredOptions
roptions ()
 Access registered Options. More...
 
const vector< OsiObject * > & objects () const
 Access to extra objects. More...
 
vector< OsiObject * > & objects ()
 Access to extra objects. More...
 
void addCutGenerator (CuttingMethod &cg)
 
void set_linearizer (TMINLP2OsiLP *linearizer)
 
void use (const OsiTMINLPInterface &nlp)
 use existing TMINLP interface (containing the options). More...
 
void use (Ipopt::SmartPtr< TMINLP > tminlp)
 Read options (if not done before) and create interface using tminlp. More...
 
void use (Ipopt::SmartPtr< TMINLP2TNLP > prob)
 use specific instanciation of a TMINLP2TNLP. More...
 
void setNonlinearSolver (OsiTMINLPInterface *s)
 Set the non-linear solver used. More...
 
OsiTMINLPInterfacenonlinearSolver ()
 Pointer to the non-linear solver used. More...
 
OsiSolverInterface * continuousSolver ()
 Pointer to the continuous solver to use for relaxations. More...
 
CuttingMethodscutGenerators ()
 list of cutting planes methods to apply with their frequencies. More...
 
HeuristicMethodsheuristics ()
 list of Heuristic methods to use. More...
 
OsiChooseVariable * branchingMethod ()
 branching method to use. More...
 
NodeComparisonnodeComparisonMethod ()
 Method used to compare nodes. More...
 
TreeTraversal treeTraversalMethod ()
 Method used to traverse tree. More...
 
int getIntParameter (const IntParameter &p) const
 Return value of integer parameter. More...
 
double getDoubleParameter (const DoubleParameter &p) const
 Return value of double parameter. More...
 
void setIntParameter (const IntParameter &p, const int v)
 Return value of integer parameter. More...
 
void setDoubleParameter (const DoubleParameter &p, const double v)
 Return value of double parameter. More...
 
 BabSetupBase (const CoinMessageHandler *handler=NULL)
 Default constructor. More...
 
 BabSetupBase (Ipopt::SmartPtr< TMINLP > tminlp, const CoinMessageHandler *handler=NULL)
 Construct from existing tminlp. More...
 
 BabSetupBase (Ipopt::SmartPtr< TNLPSolver > app)
 Construct from existing application. More...
 
 BabSetupBase (const OsiTMINLPInterface &nlp)
 Construct from existing TMINLP interface. More...
 
 BabSetupBase (const BabSetupBase &setup, OsiTMINLPInterface &nlp)
 Copy but uses an other nlp. More...
 
 BabSetupBase (const BabSetupBase &setup, OsiTMINLPInterface &nlp, const std::string &prefix)
 Copy but uses an other nlp. More...
 
 BabSetupBase (const BabSetupBase &other)
 Copy constructor. More...
 
virtual ~BabSetupBase ()
 Virtual destructor. More...
 
virtual void readOptionsFile ()
 Get the options from default text file (bonmin.opt) if don't already have them. More...
 
void readOptionsFile (std::string fileName)
 Get the options from given fileName. More...
 
void readOptionsString (std::string opt_string)
 Get the options from long string containing all. More...
 
void readOptionsStream (std::istream &is)
 Get the options from stream. More...
 
void mayPrintDoc ()
 May print documentation of options if options print_options_documentation is set to yes. More...
 
const char * prefix () const
 Get prefix to use for options. More...
 
void setOptionsAndJournalist (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions, Ipopt::SmartPtr< Ipopt::OptionsList > options, Ipopt::SmartPtr< Ipopt::Journalist > journalist)
 Set the value for options, output... More...
 
void initializeOptionsAndJournalist ()
 Initialize the options and the journalist. More...
 

Static Public Member Functions

static void registerAllOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Register all bonmin type executable options. More...
 
- Static Public Member Functions inherited from Bonmin::BabSetupBase
static void registerAllOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Register all the options for this algorithm instance. More...
 

Protected Member Functions

void addMilpCutGenerators ()
 Add milp cut generators according to options. More...
 
void initializeBBB ()
 Initialize a plain branch-and-bound. More...
 
void initializeBHyb (bool createContinuousSolver=false)
 Initialize a branch-and-cut with some OA. More...
 
- Protected Member Functions inherited from Bonmin::BabSetupBase
void setPriorities ()
 Set the priorities into OsiTMINLPInterface when needed. More...
 
void addSos ()
 Add SOS constraints to OsiTMINLPInterface when needed. More...
 

Static Protected Member Functions

static void registerMilpCutGenerators (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
 Register standard MILP cut generators. More...
 

Private Attributes

Algorithm algo_
 

Additional Inherited Members

- Public Types inherited from Bonmin::BabSetupBase
enum  NodeComparison {
  bestBound = 0, DFS, BFS, dynamic,
  bestGuess
}
 Strategies for comparing the nodes on the heap. More...
 
enum  TreeTraversal {
  HeapOnly =0, DiveFromBest, ProbedDive, DfsDiveFromBest,
  DfsDiveDynamic
}
 Strategies for traversing the tree. More...
 
typedef std::list< CuttingMethodCuttingMethods
 
typedef std::list
< HeuristicMethod
HeuristicMethods
 
enum  VarSelectStra_Enum {
  MOST_FRACTIONAL =0, STRONG_BRANCHING, RELIABILITY_BRANCHING, QP_STRONG_BRANCHING,
  LP_STRONG_BRANCHING, NLP_STRONG_BRANCHING, OSI_SIMPLE, OSI_STRONG,
  RANDOM
}
 Parameters represented by an integer. More...
 
enum  IntParameter {
  BabLogLevel = 0, BabLogInterval, MaxFailures, FailureBehavior,
  MaxInfeasible, NumberStrong, MinReliability, MaxNodes,
  MaxSolutions, MaxIterations, SpecialOption, DisableSos,
  NumCutPasses, NumCutPassesAtRoot, RootLogLevel, NumberIntParam
}
 Parameters represented by an integer. More...
 
enum  DoubleParameter {
  CutoffDecr = 0, Cutoff, AllowableGap, AllowableFractionGap,
  IntTol, MaxTime, NumberDoubleParam
}
 Parameters represented by a double. More...
 
- Protected Attributes inherited from Bonmin::BabSetupBase
int intParam_ [NumberIntParam]
 storage of integer parameters. More...
 
double doubleParam_ [NumberDoubleParam]
 storage of double parameters. More...
 
OsiTMINLPInterfacenonlinearSolver_
 Storage of the non-linear solver used. More...
 
OsiSolverInterface * continuousSolver_
 Storage of continuous solver. More...
 
Ipopt::SmartPtr< TMINLP2OsiLPlinearizer_
 Method to linearize MINLPs. More...
 
CuttingMethods cutGenerators_
 Cut generation methods. More...
 
HeuristicMethods heuristics_
 Heuristic methods. More...
 
OsiChooseVariable * branchingMethod_
 Branching method. More...
 
NodeComparison nodeComparisonMethod_
 Node comparison method. More...
 
TreeTraversal treeTraversalMethod_
 Tree traversal method. More...
 
vector< OsiObject * > objects_
 Extra object to add to Cbc (not OsiObjects). More...
 
Ipopt::SmartPtr
< Ipopt::Journalist > 
journalist_
 Storage of Journalist for output. More...
 
Ipopt::SmartPtr
< Ipopt::OptionsList > 
options_
 List of Options. More...
 
Ipopt::SmartPtr
< Bonmin::RegisteredOptions
roptions_
 Registered Options. More...
 
bool readOptions_
 flag to say if option file was read. More...
 
CoinMessageHandler * messageHandler_
 separate message handler. More...
 
std::string prefix_
 Prefix to use when reading options. More...
 
- Static Protected Attributes inherited from Bonmin::BabSetupBase
static int defaultIntParam_ [NumberIntParam]
 default values for int parameters. More...
 
static double defaultDoubleParam_ [NumberDoubleParam]
 default values for double parameters. More...
 

Detailed Description

Definition at line 25 of file BonBonminSetup.hpp.

Constructor & Destructor Documentation

Bonmin::BonminSetup::BonminSetup ( const CoinMessageHandler *  handler = NULL)

Default constructor.

Definition at line 64 of file BonBonminSetup.cpp.

Bonmin::BonminSetup::BonminSetup ( const BonminSetup other)

Copy constructor.

Definition at line 67 of file BonBonminSetup.cpp.

Bonmin::BonminSetup::BonminSetup ( const BonminSetup setup,
OsiTMINLPInterface nlp 
)

Copy but uses an other nlp.

Definition at line 71 of file BonBonminSetup.cpp.

Bonmin::BonminSetup::BonminSetup ( const BonminSetup setup,
OsiTMINLPInterface nlp,
const std::string &  prefix 
)

Copy but uses another nlp and algorithm.

Definition at line 92 of file BonBonminSetup.cpp.

virtual Bonmin::BonminSetup::~BonminSetup ( )
inlinevirtual

Definition at line 58 of file BonBonminSetup.hpp.

Member Function Documentation

virtual BabSetupBase* Bonmin::BonminSetup::clone ( ) const
inlinevirtual

virtual copy constructor.

Implements Bonmin::BabSetupBase.

Reimplemented in Couenne::CouenneSetup, Bonmin::RobotSetup, and Sepa::SepaSetup.

Definition at line 42 of file BonBonminSetup.hpp.

BonminSetup* Bonmin::BonminSetup::clone ( OsiTMINLPInterface nlp) const
inlinevirtual

Make a copy with solver replace by one passed .

Make a copy with solver replace by one passed .

Reimplemented from Bonmin::BabSetupBase.

Definition at line 51 of file BonBonminSetup.hpp.

BonminSetup* Bonmin::BonminSetup::clone ( OsiTMINLPInterface nlp,
const std::string &  prefix 
) const
inline

Make a copy but take options with different prefix.

Definition at line 55 of file BonBonminSetup.hpp.

void Bonmin::BonminSetup::registerOptions ( )
virtual

Register all the options for this algorithm instance.

Register all the Bonmin options.

Reimplemented from Bonmin::BabSetupBase.

Reimplemented in Couenne::CouenneSetup, Bonmin::RobotSetup, and Sepa::SepaSetup.

Definition at line 156 of file BonBonminSetup.cpp.

virtual void Bonmin::BonminSetup::setBabDefaultOptions ( Ipopt::SmartPtr< Bonmin::RegisteredOptions roptions)
inlinevirtual

Setup the defaults options for this algorithm.

Reimplemented from Bonmin::BabSetupBase.

Definition at line 65 of file BonBonminSetup.hpp.

void Bonmin::BonminSetup::registerAllOptions ( Ipopt::SmartPtr< Bonmin::RegisteredOptions roptions)
static

Register all bonmin type executable options.

Heursitics.

Definition at line 104 of file BonBonminSetup.cpp.

void Bonmin::BonminSetup::initialize ( Ipopt::SmartPtr< TMINLP tminlp,
bool  createContinuousSolver = true 
)

Initialize, read options and create appropriate bonmin setup.

Initialize, read options and create appropriate bonmin setup using initialized tminlp.

Definition at line 163 of file BonBonminSetup.cpp.

void Bonmin::BonminSetup::initialize ( const OsiTMINLPInterface nlpSi,
bool  createContinuousSolver = true 
)

Initialize, read options and create appropriate bonmin setup.

Initialize, read options and create appropriate bonmin setup using initialized tminlp.

Definition at line 177 of file BonBonminSetup.cpp.

Algorithm Bonmin::BonminSetup::getAlgorithm ( )

Get the algorithm used.

Definition at line 907 of file BonBonminSetup.cpp.

void Bonmin::BonminSetup::addCutGenerator ( CuttingMethod cg)
inline

Definition at line 77 of file BonBonminSetup.hpp.

void Bonmin::BonminSetup::registerMilpCutGenerators ( Ipopt::SmartPtr< Bonmin::RegisteredOptions roptions)
staticprotected

Register standard MILP cut generators.

Definition at line 190 of file BonBonminSetup.cpp.

void Bonmin::BonminSetup::addMilpCutGenerators ( )
protected

Add milp cut generators according to options.

Definition at line 269 of file BonBonminSetup.cpp.

void Bonmin::BonminSetup::initializeBBB ( )
protected

Initialize a plain branch-and-bound.

Definition at line 398 of file BonBonminSetup.cpp.

void Bonmin::BonminSetup::initializeBHyb ( bool  createContinuousSolver = false)
protected

Initialize a branch-and-cut with some OA.

Definition at line 619 of file BonBonminSetup.cpp.

Member Data Documentation

Algorithm Bonmin::BonminSetup::algo_
private

Definition at line 90 of file BonBonminSetup.hpp.


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