Bonmin 1.8.9
Loading...
Searching...
No Matches
Public Member Functions | Static Public Member Functions | Protected Member Functions | Static Protected Member Functions | List of all members
Bonmin::BonminSetup Class Reference

#include <BonBonminSetup.hpp>

+ Inheritance diagram for Bonmin::BonminSetup:
+ Collaboration diagram for Bonmin::BonminSetup:

Public Member Functions

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

Static Public Member Functions

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

Protected Member Functions

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

Static Protected Member Functions

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

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< CuttingMethod > CuttingMethods
 
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
}
 
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.
 
double doubleParam_ [NumberDoubleParam]
 storage of double parameters.
 
OsiTMINLPInterface * nonlinearSolver_
 Storage of the non-linear solver used.
 
OsiSolverInterface * continuousSolver_
 Storage of continuous solver.
 
Ipopt::SmartPtr< TMINLP2OsiLP > linearizer_
 Method to linearize MINLPs.
 
CuttingMethods cutGenerators_
 Cut generation methods.
 
HeuristicMethods heuristics_
 Heuristic methods.
 
OsiChooseVariable * branchingMethod_
 Branching method.
 
NodeComparison nodeComparisonMethod_
 Node comparison method.
 
TreeTraversal treeTraversalMethod_
 Tree traversal method.
 
vector< OsiObject * > objects_
 Extra object to add to Cbc (not OsiObjects).
 
Ipopt::SmartPtr< Ipopt::Journalist > journalist_
 Storage of Journalist for output.
 
Ipopt::SmartPtr< Ipopt::OptionsList > options_
 List of Options.
 
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions_
 Registered Options.
 
bool readOptions_
 flag to say if option file was read.
 
CoinMessageHandler * messageHandler_
 separate message handler.
 
std::string prefix_
 Prefix to use when reading options.
 
- Static Protected Attributes inherited from Bonmin::BabSetupBase
static int defaultIntParam_ [NumberIntParam]
 default values for int parameters.
 
static double defaultDoubleParam_ [NumberDoubleParam]
 default values for double parameters.
 

Detailed Description

Definition at line 25 of file BonBonminSetup.hpp.

Constructor & Destructor Documentation

◆ BonminSetup() [1/4]

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

Default constructor.

◆ BonminSetup() [2/4]

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

Copy constructor.

◆ BonminSetup() [3/4]

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

Copy but uses an other nlp.

◆ BonminSetup() [4/4]

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

Copy but uses another nlp and algorithm.

◆ ~BonminSetup()

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

Definition at line 58 of file BonBonminSetup.hpp.

Member Function Documentation

◆ clone() [1/3]

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

virtual copy constructor.

Implements Bonmin::BabSetupBase.

Definition at line 42 of file BonBonminSetup.hpp.

◆ clone() [2/3]

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.

◆ clone() [3/3]

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.

◆ registerOptions()

virtual void Bonmin::BonminSetup::registerOptions ( )
virtual

Register all the options for this algorithm instance.

Reimplemented from Bonmin::BabSetupBase.

◆ setBabDefaultOptions()

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.

◆ registerAllOptions()

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

Register all bonmin type executable options.

◆ initialize() [1/2]

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

Initialize, read options and create appropriate bonmin setup.

◆ initialize() [2/2]

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

Initialize, read options and create appropriate bonmin setup.

◆ getAlgorithm()

Bonmin::Algorithm Bonmin::BonminSetup::getAlgorithm ( )

Get the algorithm used.

◆ addCutGenerator()

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

Definition at line 77 of file BonBonminSetup.hpp.

◆ registerMilpCutGenerators()

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

Register standard MILP cut generators.

◆ addMilpCutGenerators()

void Bonmin::BonminSetup::addMilpCutGenerators ( )
protected

Add milp cut generators according to options.

◆ initializeBBB()

void Bonmin::BonminSetup::initializeBBB ( )
protected

Initialize a plain branch-and-bound.

◆ initializeBHyb()

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

Initialize a branch-and-cut with some OA.


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