Bonmin
1.7
|
This is a generic class for calling an NLP solver to solve a TNLP. More...
#include <BonTNLPSolver.hpp>
Classes | |
class | UnsolvedError |
We will throw this error when a problem is not solved. More... | |
Public Types | |
enum | ReturnStatus { iterationLimit = -3, timeLimit = 5, doesNotConverge = -8, computationError = -2, notEnoughFreedom = -1, illDefinedProblem = -4, illegalOption = -5, externalException = -6, exception = -7, solvedOptimal = 1, solvedOptimalTol = 2, provenInfeasible = 3, unbounded = 4, numReturnCodes } |
Standard return statuses for a solver. More... | |
Public Member Functions | |
virtual UnsolvedError * | newUnsolvedError (int num, Ipopt::SmartPtr< TMINLP2TNLP > problem, std::string name)=0 |
TNLPSolver () | |
default Constructor | |
TNLPSolver (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions, Ipopt::SmartPtr< Ipopt::OptionsList > options, Ipopt::SmartPtr< Ipopt::Journalist > journalist, const std::string &prefix) | |
Constructor with options initialization. | |
virtual Ipopt::SmartPtr < TNLPSolver > | clone ()=0 |
virtual copy constructor | |
virtual | ~TNLPSolver () |
Virtual destructor. | |
virtual bool | Initialize (std::string params_file)=0 |
Initialize the TNLPSolver (read options from params_file) | |
virtual bool | Initialize (std::istream &is)=0 |
Initialize the TNLPSolver (read options from istream is) | |
Ipopt::SmartPtr < Ipopt::Journalist > | journalist () |
Get a pointer to a journalist. | |
Ipopt::SmartPtr < Bonmin::RegisteredOptions > | roptions () |
Get a pointer to RegisteredOptions (generally used to add new ones) | |
Ipopt::SmartPtr< const Ipopt::OptionsList > | options () const |
Get the options (for getting their values). | |
Ipopt::SmartPtr < Ipopt::OptionsList > | options () |
Get the options (for getting and setting their values). | |
const char * | prefix () |
Get the prefix. | |
virtual double | CPUTime ()=0 |
Get the CpuTime of the last optimization. | |
virtual int | IterationCount ()=0 |
Get the iteration count of the last optimization. | |
virtual void | setOutputToDefault ()=0 |
turn off all output from the solver | |
virtual void | forceSolverOutput (int log_level)=0 |
turn on all output from the solver | |
virtual std::string & | solverName ()=0 |
Get the solver name. | |
bool | isRecoverable (ReturnStatus &r) |
Say if an optimization status for a problem which failed is recoverable (problem may be solvable). | |
void | setup_global_time_limit (double time_limit) |
Setup for a global time limit for solver. | |
bool | isError (ReturnStatus &r) |
Say if return status is an error. | |
virtual int | errorCode () const =0 |
Error code (solver specific). | |
Solve methods | |
virtual ReturnStatus | OptimizeTNLP (const Ipopt::SmartPtr< Ipopt::TNLP > &tnlp)=0 |
Solves a problem expresses as a TNLP. | |
virtual ReturnStatus | ReOptimizeTNLP (const Ipopt::SmartPtr< Ipopt::TNLP > &tnlp)=0 |
Resolves a problem expresses as a TNLP. | |
virtual bool | setWarmStart (const CoinWarmStart *warm, Ipopt::SmartPtr< TMINLP2TNLP > tnlp)=0 |
Set the warm start in the solver. | |
virtual CoinWarmStart * | getUsedWarmStart (Ipopt::SmartPtr< TMINLP2TNLP > tnlp) const =0 |
Get warm start used in last optimization. | |
virtual CoinWarmStart * | getWarmStart (Ipopt::SmartPtr< TMINLP2TNLP > tnlp) const =0 |
Get the warm start form the solver. | |
virtual CoinWarmStart * | getEmptyWarmStart () const =0 |
Solves a problem expresses as a TNLP. | |
virtual bool | warmStartIsValid (const CoinWarmStart *ws) const =0 |
Check that warm start object is valid. | |
virtual void | enableWarmStart ()=0 |
Enable the warm start options in the solver. | |
virtual void | disableWarmStart ()=0 |
Disable the warm start options in the solver. | |
Static Public Member Functions | |
static void | RegisterOptions (Ipopt::SmartPtr< Bonmin::RegisteredOptions > roptions) |
Register this solver options into passed roptions. | |
Protected Member Functions | |
bool | zeroDimension (const Ipopt::SmartPtr< Ipopt::TNLP > &tnlp, ReturnStatus &optimization_status) |
Determine if problem is of dimension zero and if it is check if solution is feasible. | |
void | initializeOptionsAndJournalist () |
Initializes options and journalist. | |
TNLPSolver (const TNLPSolver &other) | |
Copy Constructor. | |
Protected Attributes | |
Ipopt::SmartPtr < Ipopt::Journalist > | journalist_ |
Storage of Journalist for output. | |
Ipopt::SmartPtr < Ipopt::OptionsList > | options_ |
List of Options. | |
Ipopt::SmartPtr < Bonmin::RegisteredOptions > | roptions_ |
Registered Options. | |
std::string | prefix_ |
Prefix to use for reading bonmin's options. | |
double | start_time_ |
Global start time. | |
double | time_limit_ |
Global time limit. | |
int | default_log_level_ |
To record default log level. |
This is a generic class for calling an NLP solver to solve a TNLP.
A TNLPSolver is able to solve and resolve a problem, it has some options (stored with Ipopt OptionList structure and registeredOptions) it produces some statistics (in SolveStatisctics and sometimes some errorCodes.
Definition at line 26 of file BonTNLPSolver.hpp.
Standard return statuses for a solver.
Definition at line 29 of file BonTNLPSolver.hpp.
Bonmin::TNLPSolver::TNLPSolver | ( | ) |
default Constructor
Bonmin::TNLPSolver::TNLPSolver | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > | roptions, |
Ipopt::SmartPtr< Ipopt::OptionsList > | options, | ||
Ipopt::SmartPtr< Ipopt::Journalist > | journalist, | ||
const std::string & | prefix | ||
) |
Constructor with options initialization.
virtual Bonmin::TNLPSolver::~TNLPSolver | ( | ) | [virtual] |
Virtual destructor.
Bonmin::TNLPSolver::TNLPSolver | ( | const TNLPSolver & | other | ) | [protected] |
Copy Constructor.
virtual UnsolvedError* Bonmin::TNLPSolver::newUnsolvedError | ( | int | num, |
Ipopt::SmartPtr< TMINLP2TNLP > | problem, | ||
std::string | name | ||
) | [pure virtual] |
Implemented in Bonmin::BqpdSolver, Bonmin::FilterSolver, and Bonmin::IpoptSolver.
virtual Ipopt::SmartPtr<TNLPSolver> Bonmin::TNLPSolver::clone | ( | ) | [pure virtual] |
virtual copy constructor
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual bool Bonmin::TNLPSolver::Initialize | ( | std::string | params_file | ) | [pure virtual] |
Initialize the TNLPSolver (read options from params_file)
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual bool Bonmin::TNLPSolver::Initialize | ( | std::istream & | is | ) | [pure virtual] |
Initialize the TNLPSolver (read options from istream is)
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual ReturnStatus Bonmin::TNLPSolver::OptimizeTNLP | ( | const Ipopt::SmartPtr< Ipopt::TNLP > & | tnlp | ) | [pure virtual] |
Solves a problem expresses as a TNLP.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual ReturnStatus Bonmin::TNLPSolver::ReOptimizeTNLP | ( | const Ipopt::SmartPtr< Ipopt::TNLP > & | tnlp | ) | [pure virtual] |
Resolves a problem expresses as a TNLP.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual bool Bonmin::TNLPSolver::setWarmStart | ( | const CoinWarmStart * | warm, |
Ipopt::SmartPtr< TMINLP2TNLP > | tnlp | ||
) | [pure virtual] |
Set the warm start in the solver.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual CoinWarmStart* Bonmin::TNLPSolver::getUsedWarmStart | ( | Ipopt::SmartPtr< TMINLP2TNLP > | tnlp | ) | const [pure virtual] |
Get warm start used in last optimization.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual CoinWarmStart* Bonmin::TNLPSolver::getWarmStart | ( | Ipopt::SmartPtr< TMINLP2TNLP > | tnlp | ) | const [pure virtual] |
Get the warm start form the solver.
Implemented in Bonmin::FilterSolver, and Bonmin::BqpdSolver.
virtual CoinWarmStart* Bonmin::TNLPSolver::getEmptyWarmStart | ( | ) | const [pure virtual] |
Solves a problem expresses as a TNLP.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual bool Bonmin::TNLPSolver::warmStartIsValid | ( | const CoinWarmStart * | ws | ) | const [pure virtual] |
Check that warm start object is valid.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual void Bonmin::TNLPSolver::enableWarmStart | ( | ) | [pure virtual] |
Enable the warm start options in the solver.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual void Bonmin::TNLPSolver::disableWarmStart | ( | ) | [pure virtual] |
Disable the warm start options in the solver.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
Ipopt::SmartPtr<Ipopt::Journalist> Bonmin::TNLPSolver::journalist | ( | ) | [inline] |
Get a pointer to a journalist.
Definition at line 155 of file BonTNLPSolver.hpp.
References journalist_.
Ipopt::SmartPtr<Bonmin::RegisteredOptions> Bonmin::TNLPSolver::roptions | ( | ) | [inline] |
Get a pointer to RegisteredOptions (generally used to add new ones)
Definition at line 159 of file BonTNLPSolver.hpp.
References roptions_.
Ipopt::SmartPtr<const Ipopt::OptionsList> Bonmin::TNLPSolver::options | ( | ) | const [inline] |
Get the options (for getting their values).
Definition at line 163 of file BonTNLPSolver.hpp.
References options_.
Ipopt::SmartPtr<Ipopt::OptionsList> Bonmin::TNLPSolver::options | ( | ) | [inline] |
Get the options (for getting and setting their values).
Definition at line 167 of file BonTNLPSolver.hpp.
References options_.
const char* Bonmin::TNLPSolver::prefix | ( | ) | [inline] |
static void Bonmin::TNLPSolver::RegisterOptions | ( | Ipopt::SmartPtr< Bonmin::RegisteredOptions > | roptions | ) | [inline, static] |
Register this solver options into passed roptions.
Reimplemented in Bonmin::IpoptSolver.
Definition at line 175 of file BonTNLPSolver.hpp.
virtual double Bonmin::TNLPSolver::CPUTime | ( | ) | [pure virtual] |
Get the CpuTime of the last optimization.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual int Bonmin::TNLPSolver::IterationCount | ( | ) | [pure virtual] |
Get the iteration count of the last optimization.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual void Bonmin::TNLPSolver::setOutputToDefault | ( | ) | [pure virtual] |
turn off all output from the solver
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual void Bonmin::TNLPSolver::forceSolverOutput | ( | int | log_level | ) | [pure virtual] |
turn on all output from the solver
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
virtual std::string& Bonmin::TNLPSolver::solverName | ( | ) | [pure virtual] |
Get the solver name.
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
bool Bonmin::TNLPSolver::isRecoverable | ( | ReturnStatus & | r | ) |
Say if an optimization status for a problem which failed is recoverable (problem may be solvable).
void Bonmin::TNLPSolver::setup_global_time_limit | ( | double | time_limit | ) | [inline] |
Setup for a global time limit for solver.
Definition at line 196 of file BonTNLPSolver.hpp.
References start_time_, and time_limit_.
bool Bonmin::TNLPSolver::isError | ( | ReturnStatus & | r | ) | [inline] |
Say if return status is an error.
Definition at line 202 of file BonTNLPSolver.hpp.
virtual int Bonmin::TNLPSolver::errorCode | ( | ) | const [pure virtual] |
Error code (solver specific).
Implemented in Bonmin::FilterSolver, Bonmin::BqpdSolver, and Bonmin::IpoptSolver.
bool Bonmin::TNLPSolver::zeroDimension | ( | const Ipopt::SmartPtr< Ipopt::TNLP > & | tnlp, |
ReturnStatus & | optimization_status | ||
) | [protected] |
Determine if problem is of dimension zero and if it is check if solution is feasible.
void Bonmin::TNLPSolver::initializeOptionsAndJournalist | ( | ) | [protected] |
Initializes options and journalist.
Ipopt::SmartPtr<Ipopt::Journalist> Bonmin::TNLPSolver::journalist_ [protected] |
Storage of Journalist for output.
Definition at line 216 of file BonTNLPSolver.hpp.
Referenced by journalist().
Ipopt::SmartPtr<Ipopt::OptionsList> Bonmin::TNLPSolver::options_ [protected] |
Ipopt::SmartPtr<Bonmin::RegisteredOptions> Bonmin::TNLPSolver::roptions_ [protected] |
Registered Options.
Definition at line 222 of file BonTNLPSolver.hpp.
Referenced by Bonmin::BqpdSolver::registerOptions(), Bonmin::FilterSolver::registerOptions(), and roptions().
std::string Bonmin::TNLPSolver::prefix_ [protected] |
Prefix to use for reading bonmin's options.
Definition at line 225 of file BonTNLPSolver.hpp.
Referenced by prefix().
double Bonmin::TNLPSolver::start_time_ [protected] |
Global start time.
Definition at line 227 of file BonTNLPSolver.hpp.
Referenced by setup_global_time_limit().
double Bonmin::TNLPSolver::time_limit_ [protected] |
Global time limit.
Definition at line 230 of file BonTNLPSolver.hpp.
Referenced by setup_global_time_limit().
int Bonmin::TNLPSolver::default_log_level_ [protected] |
To record default log level.
Reimplemented in Bonmin::BqpdSolver, and Bonmin::FilterSolver.
Definition at line 233 of file BonTNLPSolver.hpp.