#include <BonBonminSetup.hpp>
Inheritance 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 using initialized tminlp. | |
void | initialize (const OsiTMINLPInterface &nlpSi, bool createContinuousSolver=true) |
Initialize, read options and create appropriate bonmin setup using initialized tminlp. | |
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 Bonmin options. | |
virtual void | setBabDefaultOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Setup the defaults options for this algorithm. | |
Static Public Member Functions | |
static void | registerAllOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register all bonmin type executable options. | |
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. | |
Static Protected Member Functions | |
static void | registerMilpCutGenerators (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register standard MILP cut generators. | |
Private Attributes | |
Algorithm | algo_ |
Definition at line 25 of file BonBonminSetup.hpp.
Bonmin::BonminSetup::BonminSetup | ( | const CoinMessageHandler * | handler = NULL |
) |
Bonmin::BonminSetup::BonminSetup | ( | const BonminSetup & | other | ) |
Bonmin::BonminSetup::BonminSetup | ( | const BonminSetup & | setup, | |
OsiTMINLPInterface & | nlp | |||
) |
Copy but uses an other nlp.
Definition at line 71 of file BonBonminSetup.cpp.
References algo_, Bonmin::B_BB, Bonmin::BabSetupBase::continuousSolver_, Bonmin::OsiTMINLPInterface::extractLinearRelaxation(), Bonmin::BabSetupBase::messageHandler_, Bonmin::BabSetupBase::nonlinearSolver_, Bonmin::BabSetupBase::options_, and Bonmin::BabSetupBase::prefix_.
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.
References algo_, Bonmin::B_BB, getAlgorithm(), initializeBBB(), and initializeBHyb().
virtual Bonmin::BonminSetup::~BonminSetup | ( | ) | [inline, virtual] |
Definition at line 58 of file BonBonminSetup.hpp.
virtual BabSetupBase* Bonmin::BonminSetup::clone | ( | ) | const [inline, virtual] |
virtual copy constructor.
Implements Bonmin::BabSetupBase.
Reimplemented in Bonmin::SepaSetup, and Couenne::CouenneSetup.
Definition at line 42 of file BonBonminSetup.hpp.
References BonminSetup().
Referenced by Bonmin::LocalSolverBasedHeuristic::doLocalSearch().
BonminSetup* Bonmin::BonminSetup::clone | ( | OsiTMINLPInterface & | nlp | ) | const [inline, virtual] |
Make a copy with solver replace by one passed .
Reimplemented from Bonmin::BabSetupBase.
Reimplemented in Bonmin::SepaSetup.
Definition at line 51 of file BonBonminSetup.hpp.
References BonminSetup().
BonminSetup* Bonmin::BonminSetup::clone | ( | OsiTMINLPInterface & | nlp, | |
const std::string & | prefix | |||
) | const [inline] |
Make a copy but take options with different prefix.
Reimplemented in Bonmin::SepaSetup.
Definition at line 55 of file BonBonminSetup.hpp.
References BonminSetup().
void Bonmin::BonminSetup::registerOptions | ( | ) | [virtual] |
Register all the Bonmin options.
Reimplemented from Bonmin::BabSetupBase.
Reimplemented in Bonmin::SepaSetup, and Couenne::CouenneSetup.
Definition at line 156 of file BonBonminSetup.cpp.
References registerAllOptions(), and Bonmin::BabSetupBase::roptions_.
virtual void Bonmin::BonminSetup::setBabDefaultOptions | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > | roptions | ) | [inline, virtual] |
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.
Reimplemented from Bonmin::BabSetupBase.
Reimplemented in Bonmin::SepaSetup.
Definition at line 104 of file BonBonminSetup.cpp.
References Bonmin::RegisteredOptions::BonminCategory, Bonmin::BabSetupBase::registerAllOptions(), registerMilpCutGenerators(), Bonmin::HeuristicDiveMIPVectorLength::registerOptions(), Bonmin::HeuristicDiveMIPFractional::registerOptions(), Bonmin::HeuristicDiveVectorLength::registerOptions(), Bonmin::HeuristicDiveFractional::registerOptions(), Bonmin::HeuristicFPump::registerOptions(), Bonmin::HeuristicLocalBranching::registerOptions(), Bonmin::HeuristicRINS::registerOptions(), Bonmin::PumpForMinlp::registerOptions(), Bonmin::MilpRounding::registerOptions(), Bonmin::DummyPump::registerOptions(), Bonmin::FixAndSolveHeuristic::registerOptions(), Bonmin::LocalSolverBasedHeuristic::registerOptions(), Bonmin::BonCbcFullNodeInfo::registerOptions(), Bonmin::SubMipSolver::registerOptions(), Bonmin::OaNlpOptim::registerOptions(), Bonmin::EcpCuts::registerOptions(), Bonmin::MinlpFeasPump::registerOptions(), Bonmin::OaFeasibilityChecker::registerOptions(), and Bonmin::OACutGenerator2::registerOptions().
Referenced by Bonmin::SepaSetup::registerAllOptions(), and registerOptions().
void Bonmin::BonminSetup::initialize | ( | Ipopt::SmartPtr< TMINLP > | tminlp, | |
bool | createContinuousSolver = true | |||
) |
Initialize, read options and create appropriate bonmin setup using initialized tminlp.
Reimplemented in Bonmin::SepaSetup.
Definition at line 163 of file BonBonminSetup.cpp.
References algo_, Bonmin::B_BB, Bonmin::BabSetupBase::gatherParametersValues(), getAlgorithm(), initializeBBB(), initializeBHyb(), Bonmin::BabSetupBase::options_, and Bonmin::BabSetupBase::use().
Referenced by Bonmin::BonminAmplSetup::initialize(), Bonmin::SepaSetup::initialize(), Couenne::CouenneSetup::InitializeCouenne(), main(), and BonminSolver::solve().
void Bonmin::BonminSetup::initialize | ( | const OsiTMINLPInterface & | nlpSi, | |
bool | createContinuousSolver = true | |||
) |
Initialize, read options and create appropriate bonmin setup using initialized tminlp.
Reimplemented in Bonmin::SepaSetup.
Definition at line 177 of file BonBonminSetup.cpp.
References Bonmin::B_BB, Bonmin::BabSetupBase::gatherParametersValues(), getAlgorithm(), initializeBBB(), initializeBHyb(), Bonmin::BabSetupBase::options_, and Bonmin::BabSetupBase::use().
Algorithm Bonmin::BonminSetup::getAlgorithm | ( | ) |
Get the algorithm used.
Definition at line 881 of file BonBonminSetup.cpp.
References algo_, Bonmin::Dummy, Bonmin::BabSetupBase::options_, and Bonmin::BabSetupBase::prefix_.
Referenced by BonminSetup(), BM_lp::compute_lower_bound(), BM_lp::generate_cuts_in_lp(), initialize(), Bonmin::SepaSetup::initialize(), BM_tm::initialize_core(), BM_lp::initialize_new_search_tree_node(), BM_lp::initialize_solver_interface(), initializeBHyb(), BM_lp::load_problem(), BM_lp::select_branching_candidates(), Bonmin::SepaSetup::SepaSetup(), Bonmin::MilpRounding::solution(), Bonmin::HeuristicFPump::solution(), Bonmin::HeuristicDiveMIP::solution(), Bonmin::HeuristicDive::solution(), Bonmin::HeuristicInnerApproximation::solution(), BM_lp::test_feasibility(), and BM_lp::unpack_module_data().
void Bonmin::BonminSetup::addCutGenerator | ( | CuttingMethod & | cg | ) | [inline] |
Definition at line 77 of file BonBonminSetup.hpp.
References Bonmin::BabSetupBase::addCutGenerator().
void Bonmin::BonminSetup::registerMilpCutGenerators | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > | roptions | ) | [static, protected] |
Register standard MILP cut generators.
Definition at line 190 of file BonBonminSetup.cpp.
References Bonmin::RegisteredOptions::BonminCategory.
Referenced by registerAllOptions().
void Bonmin::BonminSetup::addMilpCutGenerators | ( | ) | [protected] |
Add milp cut generators according to options.
Reimplemented in Couenne::CouenneSetup.
Definition at line 269 of file BonBonminSetup.cpp.
References Bonmin::BabSetupBase::cutGenerators_, e, Bonmin::BabSetupBase::options_, and Bonmin::BabSetupBase::prefix_.
Referenced by initializeBHyb().
void Bonmin::BonminSetup::initializeBBB | ( | ) | [protected] |
Initialize a plain branch-and-bound.
Definition at line 398 of file BonBonminSetup.cpp.
References Bonmin::BabSetupBase::addSos(), Bonmin::BabSetupBase::branchingMethod_, Bonmin::BabSetupBase::continuousSolver_, Bonmin::TMINLP::hasGeneralInteger(), Bonmin::BabSetupBase::heuristics_, Bonmin::OsiTMINLPInterface::ignoreFailures(), Bonmin::BabSetupBase::intParam_, Bonmin::BabSetupBase::LP_STRONG_BRANCHING, Bonmin::BabSetupBase::MinReliability, Bonmin::OsiTMINLPInterface::model(), Bonmin::BabSetupBase::NLP_STRONG_BRANCHING, Bonmin::BabSetupBase::nonlinearSolver_, Bonmin::BabSetupBase::NumberStrong, Bonmin::BabSetupBase::options(), Bonmin::BabSetupBase::options_, Bonmin::BabSetupBase::OSI_SIMPLE, Bonmin::BabSetupBase::OSI_STRONG, Bonmin::BonChooseVariable::passInMessageHandler(), Bonmin::BabSetupBase::prefix_, Bonmin::BabSetupBase::QP_STRONG_BRANCHING, Bonmin::BabSetupBase::RANDOM, Bonmin::BonChooseVariable::setOnlyPseudoWhenTrusted(), Bonmin::BabSetupBase::setPriorities(), and Bonmin::BabSetupBase::SpecialOption.
Referenced by BonminSetup(), and initialize().
void Bonmin::BonminSetup::initializeBHyb | ( | bool | createContinuousSolver = false |
) | [protected] |
Initialize a branch-and-cut with some OA.
Definition at line 619 of file BonBonminSetup.cpp.
References addMilpCutGenerators(), Bonmin::B_Ecp, Bonmin::B_Hyb, Bonmin::B_IFP, Bonmin::B_OA, Bonmin::B_QG, Bonmin::BabSetupBase::BabLogLevel, Bonmin::BabSetupBase::continuousSolver_, Bonmin::BabSetupBase::cutGenerators_, Bonmin::BabSetupBase::doubleParam_, Bonmin::OsiTMINLPInterface::extractLinearRelaxation(), Bonmin::OsiTMINLPInterface::forceSolverOutput(), getAlgorithm(), Bonmin::OsiTMINLPInterface::getOuterApproximation(), Bonmin::BabSetupBase::heuristics_, Bonmin::BabSetupBase::intParam_, Bonmin::BabSetupBase::messageHandler_, Bonmin::BabSetupBase::nonlinearSolver_, Bonmin::BabSetupBase::options(), Bonmin::BabSetupBase::options_, Bonmin::OaDecompositionBase::passInMessageHandler(), Bonmin::OaNlpOptim::passInMessageHandler(), Bonmin::BabSetupBase::prefix(), Bonmin::BabSetupBase::prefix_, Bonmin::BabSetupBase::RELIABILITY_BRANCHING, Bonmin::BabSetupBase::RootLogLevel, Bonmin::DummyHeuristic::setNlp(), Bonmin::OaDecompositionBase::setReassignLpSolver(), and Bonmin::OsiTMINLPInterface::setSolverOutputToDefault().
Referenced by BonminSetup(), and initialize().
Algorithm Bonmin::BonminSetup::algo_ [private] |
Definition at line 90 of file BonBonminSetup.hpp.
Referenced by BonminSetup(), getAlgorithm(), and initialize().