12 #include "OsiClpSolverInterface.hpp"
30 BonminSetup(other, nlp)
36 const std::string &
prefix):
37 BonminSetup(other, nlp, prefix)
51 roptions->AddStringOption2(
"initial_outer_description",
52 "Do we add all Outer Approximation constraints defining the initial Outer Approximation "
53 "description of the MINLP. See the number_approximations_initial_outer option for fixing the "
54 "number of approximation points",
55 "yes",
"no",
"Do not generate the description",
"yes",
"Generate the description",
58 roptions->AddUpperBoundedIntegerOption(
"number_approximations_initial_outer",
59 "Number of Outer Approximation points needed for generating the initial Outer Approximation description, maximum value = 500, default value = 50",
77 options()->GetEnumValue(
"initial_outer_description", do_outer,
prefix_.c_str());
78 options()->GetIntegerValue(
"number_approximations_initial_outer",
97 options()->GetEnumValue(
"initial_outer_description", do_outer,
prefix_.c_str());
98 options()->GetIntegerValue(
"number_approximations_initial_outer",
105 BonminSetup::initialize(nlpSi, createContinuousSolver);
116 options()->GetEnumValue(
"initial_outer_description", doOuter,
prefix_.c_str());
117 options()->GetIntegerValue(
"number_approximations_initial_outer",
127 options()->GetEnumValue(
"heuristic_inner_approximation", doInner,
prefix_.c_str());
132 h.
id =
"InnerApproximation";
void initialize(Ipopt::SmartPtr< Bonmin::TMINLP > tminlp, bool createContinuousSolver=true)
Initialize, read options and create appropriate bonmin setup.
For undocumented options.
void addOuterDescription(OsiTMINLPInterface &nlp, OsiSolverInterface &si, const double *x, int nbAp, bool getObj)
Adds an outer description of problem to linear formulation.
Type for heuristic method with its string identification.
SepaSetup(const CoinMessageHandler *handler=NULL)
Default constructor.
This is class provides an Osi interface for a Mixed Integer Linear Program expressed as a TMINLP (so ...
HeuristicMethods heuristics_
Heuristic methods.
Algorithm
Type of algorithms which can be used.
static void registerOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register the options common to all local search based heuristics.
A transformer class to build outer approximations i.e.
Bonmin::Algorithm getAlgorithm()
Get the algorithm used.
static void registerAllOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register all bonmin type executable options.
virtual void registerOptions()
Register all the options for this algorithm instance.
Ipopt::SmartPtr< TMINLP2OsiLP > linearizer_
Method to linearize MINLPs.
std::string prefix_
Prefix to use when reading options.
Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions_
Registered Options.
void initializeSepa()
Initialize a branch-and-cut with some OA.
OsiTMINLPInterface * nonlinearSolver()
Pointer to the non-linear solver used.
Ipopt::SmartPtr< Ipopt::OptionsList > options()
Acces list of Options.
OsiSolverInterface * continuousSolver()
Pointer to the continuous solver to use for relaxations.
static void registerAllOptions(Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions)
Register all bonmin type executable options.
void set_num_approx(int v)
void initialize(Ipopt::SmartPtr< TMINLP > tminlp, bool createContinuousSolver=true)
Initialize, read options and create appropriate bonmin setup.