#include <BonCouenneSetup.hpp>
Inheritance diagram for Couenne::CouenneSetup:
Public Member Functions | |
CouenneSetup () | |
Default constructor. | |
CouenneSetup (const CouenneSetup &other) | |
Copy constructor. | |
virtual Bonmin::BabSetupBase * | clone () const |
virtual copy constructor. | |
virtual | ~CouenneSetup () |
destructor | |
bool | InitializeCouenne (char **argv=NULL, CouenneProblem *couenneProb=NULL, Ipopt::SmartPtr< Bonmin::TMINLP > tminlp=NULL, CouenneInterface *ci=NULL, Bonmin::Bab *bb=NULL) |
Initialize from command line arguments. | |
virtual void | registerOptions () |
register the options | |
virtual void | readOptionsFile () |
Get the basic options if don't already have them. | |
CouenneCutGenerator * | couennePtr () const |
return pointer to cut generator (used to get pointer to problem) | |
bool | displayStats () |
true if one wants to display statistics at the end of program | |
void | addMilpCutGenerators () |
add cut generators | |
void | setDoubleParameter (const DoubleParameter &p, const double val) |
modify parameter (used for MaxTime) | |
double | getDoubleParameter (const DoubleParameter &p) const |
modify parameter (used for MaxTime) | |
void | setNodeComparisonMethod (Bonmin::BabSetupBase::NodeComparison c) |
Static Public Member Functions | |
static void | registerAllOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register all Couenne options. | |
Private Attributes | |
Ipopt::SmartPtr< SmartAsl > | aslfg_ |
CouenneCutGenerator * | CouennePtr_ |
hold a reference to Couenne cut generator to delete it at last. | |
bool | displayStats_ |
true if one wants to display statistics at the end of program | |
CouenneProblem * | couenneProb_ |
MINLP formulation. | |
bool | couenneProb_is_own_ |
whether the couenneProb_ has been created by Couenne, and thus will be deleted by Couenne |
Definition at line 40 of file BonCouenneSetup.hpp.
Couenne::CouenneSetup::CouenneSetup | ( | ) | [inline] |
Couenne::CouenneSetup::CouenneSetup | ( | const CouenneSetup & | other | ) | [inline] |
CouenneSetup::~CouenneSetup | ( | ) | [virtual] |
destructor
Definition at line 94 of file BonCouenneSetup.cpp.
References couenneProb_, and couenneProb_is_own_.
virtual Bonmin::BabSetupBase* Couenne::CouenneSetup::clone | ( | ) | const [inline, virtual] |
virtual copy constructor.
Reimplemented from Bonmin::BonminSetup.
Definition at line 59 of file BonCouenneSetup.hpp.
References CouenneSetup().
bool CouenneSetup::InitializeCouenne | ( | char ** | argv = NULL , |
|
CouenneProblem * | couenneProb = NULL , |
|||
Ipopt::SmartPtr< Bonmin::TMINLP > | tminlp = NULL , |
|||
CouenneInterface * | ci = NULL , |
|||
Bonmin::Bab * | bb = NULL | |||
) |
Initialize from command line arguments.
Change default value for failure behavior so that code doesn't crash when Ipopt does not solve a sub-problem.
Set the output level of the journalist for all Couenne categories. We probably want to make that a bit more flexible later.
trying to avoid repetitions here...
setup initial heuristic (in principle it should only run once...)
Definition at line 103 of file BonCouenneSetup.cpp.
References addJournalist, addMilpCutGenerators(), aslfg_, Couenne::AUX, Bonmin::BabSetupBase::bestBound, Bonmin::BabSetupBase::branchingMethod_, Bonmin::BabSetupBase::continuousSolver_, couenneProb_, couenneProb_is_own_, CouennePtr_, Bonmin::BabSetupBase::cutGenerators(), displayStats_, Couenne::CouenneObject::EXPR_OBJ, Bonmin::BabSetupBase::gatherParametersValues(), getDoubleParameter(), Bonmin::BabSetupBase::heuristics_, Bonmin::BonminSetup::initialize(), Bonmin::BabSetupBase::intParam_, Couenne::isInteger(), Couenne::J_BOUNDTIGHTENING(), Couenne::J_BRANCHING(), Couenne::J_CONVEXIFYING(), Couenne::J_COUENNE(), Couenne::J_DISJCUTS(), Couenne::J_NLPHEURISTIC(), Couenne::J_PROBLEM(), Couenne::J_REFORMULATE(), Bonmin::BabSetupBase::journalist(), Bonmin::BabSetupBase::journalist_, Couenne::LINEAR, Couenne::maxNlpInf_0, Bonmin::BabSetupBase::nodeComparisonMethod_, Bonmin::BabSetupBase::nonlinearSolver(), Bonmin::BabSetupBase::nonlinearSolver_, Bonmin::BabSetupBase::NumCutPasses, Bonmin::BabSetupBase::objects(), Bonmin::BabSetupBase::options(), Bonmin::BabSetupBase::options_, Bonmin::BabSetupBase::OSI_SIMPLE, Bonmin::BabSetupBase::OSI_STRONG, Bonmin::BabSetupBase::prefix_, readASLfg(), readOptionsFile(), Bonmin::BabSetupBase::roptions(), Bonmin::BabSetupBase::roptions_, s, Couenne::NlpSolveHeuristic::setCouenneProblem(), Couenne::NlpSolveHeuristic::setMaxNlpInf(), Couenne::NlpSolveHeuristic::setNlp(), Couenne::NlpSolveHeuristic::setNumberSolvePerLevel(), Bonmin::BonChooseVariable::setOnlyPseudoWhenTrusted(), Couenne::CouenneObject::VAR_OBJ, and Couenne::CouenneObject::VT_OBJ.
Referenced by main(), and CouenneSolver::solve().
void CouenneSetup::registerOptions | ( | ) | [virtual] |
register the options
Reimplemented from Bonmin::BonminSetup.
Definition at line 800 of file BonCouenneSetup.cpp.
References registerAllOptions(), and Bonmin::BabSetupBase::roptions().
void CouenneSetup::registerAllOptions | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > | roptions | ) | [static] |
Register all Couenne options.
TODO: move later!
Definition at line 804 of file BonCouenneSetup.cpp.
References addLevOption, Bonmin::RegisteredOptions::CouenneCategory, Couenne::feas_tolerance_default, Couenne::CouenneIterativeRounding::registerOptions(), Couenne::CouenneFeasPump::registerOptions(), Couenne::NlpSolveHeuristic::registerOptions(), Couenne::CouenneTwoImplied::registerOptions(), Couenne::CouenneDisjCuts::registerOptions(), Couenne::CouenneFixPoint::registerOptions(), Couenne::CouenneChooseVariable::registerOptions(), Couenne::CouenneChooseStrong::registerOptions(), Couenne::CouenneCutGenerator::registerOptions(), Couenne::CouenneProblem::registerOptions(), 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(), and Bonmin::BonCbcFullNodeInfo::registerOptions().
Referenced by main(), and registerOptions().
virtual void Couenne::CouenneSetup::readOptionsFile | ( | ) | [inline, virtual] |
Get the basic options if don't already have them.
Reimplemented from Bonmin::BabSetupBase.
Definition at line 78 of file BonCouenneSetup.hpp.
References Bonmin::BabSetupBase::readOptions_, and Bonmin::BabSetupBase::readOptionsFile().
Referenced by InitializeCouenne().
CouenneCutGenerator* Couenne::CouenneSetup::couennePtr | ( | ) | const [inline] |
return pointer to cut generator (used to get pointer to problem)
Definition at line 84 of file BonCouenneSetup.hpp.
References CouennePtr_.
Referenced by Couenne::CouenneAggrProbing::CouenneAggrProbing(), main(), Couenne::CouenneAggrProbing::probeVariable(), and Couenne::CouenneAggrProbing::probeVariable2().
bool Couenne::CouenneSetup::displayStats | ( | ) | [inline] |
true if one wants to display statistics at the end of program
Definition at line 88 of file BonCouenneSetup.hpp.
References displayStats_.
void CouenneSetup::addMilpCutGenerators | ( | ) |
add cut generators
Reimplemented from Bonmin::BonminSetup.
Definition at line 971 of file BonCouenneSetup.cpp.
References couenneProb_, Bonmin::BabSetupBase::cutGenerators_, Couenne::CouenneRecordBestSol::getHasSol(), Couenne::CouenneProblem::getRecordBestSol(), Bonmin::BabSetupBase::options_, Couenne::CouenneProblem::setCutOff(), and Couenne::CouenneRecordBestSol::setVal().
Referenced by InitializeCouenne().
void Couenne::CouenneSetup::setDoubleParameter | ( | const DoubleParameter & | p, | |
const double | val | |||
) | [inline] |
modify parameter (used for MaxTime)
Definition at line 95 of file BonCouenneSetup.hpp.
References Bonmin::BabSetupBase::doubleParam_.
Referenced by main(), Couenne::CouenneAggrProbing::probeVariable(), and Couenne::CouenneAggrProbing::probeVariable2().
double Couenne::CouenneSetup::getDoubleParameter | ( | const DoubleParameter & | p | ) | const [inline] |
modify parameter (used for MaxTime)
Definition at line 99 of file BonCouenneSetup.hpp.
References Bonmin::BabSetupBase::doubleParam_.
Referenced by InitializeCouenne(), Couenne::CouenneAggrProbing::probeVariable(), and Couenne::CouenneAggrProbing::probeVariable2().
void Couenne::CouenneSetup::setNodeComparisonMethod | ( | Bonmin::BabSetupBase::NodeComparison | c | ) | [inline] |
Definition at line 102 of file BonCouenneSetup.hpp.
References Bonmin::BabSetupBase::nodeComparisonMethod_.
Referenced by Couenne::CouenneAggrProbing::probeVariable(), and Couenne::CouenneAggrProbing::probeVariable2().
Ipopt::SmartPtr<SmartAsl> Couenne::CouenneSetup::aslfg_ [private] |
hold a reference to Couenne cut generator to delete it at last.
The alternative would be to clone it every time the CouenneSolverInterface is cloned (that is, at each call of Optimality-based bound tightening).
Definition at line 112 of file BonCouenneSetup.hpp.
Referenced by couennePtr(), and InitializeCouenne().
bool Couenne::CouenneSetup::displayStats_ [private] |
true if one wants to display statistics at the end of program
Definition at line 115 of file BonCouenneSetup.hpp.
Referenced by displayStats(), and InitializeCouenne().
MINLP formulation.
Definition at line 118 of file BonCouenneSetup.hpp.
Referenced by addMilpCutGenerators(), InitializeCouenne(), and ~CouenneSetup().
bool Couenne::CouenneSetup::couenneProb_is_own_ [private] |
whether the couenneProb_ has been created by Couenne, and thus will be deleted by Couenne
Definition at line 121 of file BonCouenneSetup.hpp.
Referenced by InitializeCouenne(), and ~CouenneSetup().