Go to the documentation of this file.
10 #ifndef BabSetupBase_H
11 #define BabSetupBase_H
16 #include "CbcHeuristic.hpp"
93 #ifdef BONMIN_CURVATURE_BRANCHING
153 const std::string &
prefix);
void addCutGenerator(CuttingMethod &cg)
Ipopt::SmartPtr< Ipopt::OptionsList > options()
Acces list of Options.
void set_linearizer(TMINLP2OsiLP *linearizer)
@ MaxNodes
Global node limit.
static int defaultIntParam_[NumberIntParam]
default values for int parameters.
@ DfsDiveDynamic
Same as DfsDiveFromBest, but after a prescribed number of integer solution are found switch to best-b...
OsiTMINLPInterface * nonlinearSolver_
Storage of the non-linear solver used.
@ NumCutPasses
Number of cut passes at nodes.
void setOptionsAndJournalist(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions, Ipopt::SmartPtr< Ipopt::OptionsList > options, Ipopt::SmartPtr< Ipopt::Journalist > journalist)
Set the value for options, output...
@ MaxTime
Global time limit.
static double defaultDoubleParam_[NumberDoubleParam]
default values for double parameters.
double doubleParam_[NumberDoubleParam]
storage of double parameters.
NodeComparison & nodeComparisonMethod()
Method used to compare nodes.
@ MaxFailures
Max number of failures in a branch.
@ RootLogLevel
Log level for root relaxation.
OsiSolverInterface * continuousSolver()
Pointer to the continuous solver to use for relaxations.
@ FailureBehavior
Behavior of the algorithm in the case of a failure.
std::list< HeuristicMethod > HeuristicMethods
TreeTraversal
Strategies for traversing the tree.
CuttingMethods cutGenerators_
Cut generation methods.
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions()
Access registered Options.
NodeComparison nodeComparisonMethod_
Node comparison method.
(C) Copyright International Business Machines Corporation 2007
void initializeOptionsAndJournalist()
Initialize the options and the journalist.
void setPriorities()
Set the priorities into OsiTMINLPInterface when needed.
Type for cut generation method with its frequency and string identification.
TreeTraversal treeTraversalMethod_
Tree traversal method.
@ MinReliability
Minimum reliability before trust pseudo-costs.
@ NumberIntParam
Dummy end to size table.
virtual void registerOptions()
Register all the options for this algorithm instance.
virtual ~BabSetupBase()
Virtual destructor.
@ bestGuess
Best guessed integer solution is subtree below, based on pseudo costs.
@ DfsDiveFromBest
dive from top node of the heap with more elaborate strategy (see options doc).
HeuristicMethod(const HeuristicMethod &other)
@ ProbedDive
Eplore two kids before following on dive.
virtual BabSetupBase * clone() const =0
virtual copy constructor.
A class to have all elements necessary to setup a branch-and-bound.
@ MaxSolutions
limit on number of integer feasible solution.
@ NumCutPassesAtRoot
Number of cut passes at nodes.
@ dynamic
Dynamic strategy, see CbcBranchActual.hpp for explanations.
@ IntTol
Integer tolerance.
OsiChooseVariable * branchingMethod_
Branching method.
void mayPrintDoc()
May print documentation of options if options print_options_documentation is set to yes.
int getIntParameter(const IntParameter &p) const
Return value of integer parameter.
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions_
Registered Options.
vector< OsiObject * > objects_
Extra object to add to Cbc (not OsiObjects).
HeuristicMethods heuristics_
Heuristic methods.
std::string prefix_
Prefix to use when reading options.
Ipopt::SmartPtr< Ipopt::OptionsList > options_
List of Options.
void use(const OsiTMINLPInterface &nlp)
use existing TMINLP interface (containing the options).
@ DiveFromBest
dive from top node of the heap untill it gets to a leaf of the tree.
bool readOptions_
flag to say if option file was read.
@ NumberStrong
Number of candidates for strong branching.
DoubleParameter
Parameters represented by a double.
void readOptionsStream(std::istream &is)
Get the options from stream.
@ BabLogInterval
Display information every logIntervval nodes.
std::list< CuttingMethod > CuttingMethods
Type for heuristic method with its string identification.
@ NumberDoubleParam
Dummy end to size table.
virtual void setBabDefaultOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Setup the defaults options for this algorithm.
double getDoubleParameter(const DoubleParameter &p) const
Return value of double parameter.
@ AllowableFractionGap
Stop if relative gap is less than this.
virtual void readOptionsFile()
Get the options from default text file (bonmin.opt) if don't already have them.
TreeTraversal treeTraversalMethod()
Method used to traverse tree.
HeuristicMethods & heuristics()
list of Heuristic methods to use.
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
Ipopt::SmartPtr< TMINLP2OsiLP > linearizer_
Method to linearize MINLPs.
Ipopt::SmartPtr< Ipopt::Journalist > journalist()
Acces storage of Journalist for output.
void setIntParameter(const IntParameter &p, const int v)
Return value of integer parameter.
@ AllowableGap
Stop if absolute gap is less than this.
NodeComparison
Strategies for comparing the nodes on the heap.
static void registerAllOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register all the options for this algorithm instance.
void readOptionsString(std::string opt_string)
Get the options from long string containing all.
void addSos()
Add SOS constraints to OsiTMINLPInterface when needed.
A transformer class to build outer approximations i.e.
void setNonlinearSolver(OsiTMINLPInterface *s)
Set the non-linear solver used.
CuttingMethod(const CuttingMethod &other)
IntParameter
Parameters represented by an integer.
const vector< OsiObject * > & objects() const
Access to extra objects.
OsiTMINLPInterface * nonlinearSolver()
Pointer to the non-linear solver used.
CoinMessageHandler * messageHandler_
separate message handler.
BabSetupBase(const CoinMessageHandler *handler=NULL)
Default constructor.
void setDoubleParameter(const DoubleParameter &p, const double v)
Return value of double parameter.
@ DisableSos
Consider or not SOS constraints.
@ MaxIterations
Global iteration limit.
void gatherParametersValues()
Get the values of base parameters from the options stored.
@ SpecialOption
Spetial option in particular for Cbc.
CuttingMethods & cutGenerators()
list of cutting planes methods to apply with their frequencies.
Ipopt::SmartPtr< Ipopt::Journalist > journalist_
Storage of Journalist for output.
OsiChooseVariable * branchingMethod()
branching method to use.
OsiSolverInterface * continuousSolver_
Storage of continuous solver.
vector< OsiObject * > & objects()
Access to extra objects.
const char * prefix() const
Get prefix to use for options.
@ MaxInfeasible
Max number of consecutive infeasible problem in a branch before fathoming.
int intParam_[NumberIntParam]
storage of integer parameters.