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