Ipopt 3.12.10

- Main Page
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros
Public Member Functions | Static Public Member Functions | Private Member Functions | Private Attributes | List of all members
Ipopt::IpoptApplication Class Reference

This is the main application class for making calls to Ipopt. More...

`#include <IpIpoptApplication.hpp>`

Inheritance diagram for Ipopt::IpoptApplication:
[legend]

## Public Member Functions
| IpoptApplication (bool create_console_out=true, bool create_empty=false)
| IpoptApplication (SmartPtr< RegisteredOptions > reg_options, SmartPtr< OptionsList > options, SmartPtr< Journalist > jnlst)
| Another constructor that assumes that the code in the (default) constructor has already been executed. More...
virtual | ~IpoptApplication ()
virtual SmartPtr < IpoptApplication > | clone ()
    Method for creating a new IpoptApplication that uses the same
    journalist and registered options, and a copy of the options
list. More...
virtual ApplicationReturnStatus | Initialize (std::istream &is, bool allow_clobber=false)
| Initialization method. More...
virtual ApplicationReturnStatus | Initialize (std::string params_file, bool allow_clobber=false)
| Initialization method. More...
virtual ApplicationReturnStatus | Initialize (const char *params_file, bool allow_clobber=false)
| Initialization method. More...
virtual ApplicationReturnStatus | Initialize (bool allow_clobber=false)
| Initialize method. More...
virtual bool | OpenOutputFile (std::string file_name, EJournalLevel print_level)
| Method for opening an output file with given print_level. More...
void | PrintCopyrightMessage ()
| Method for printing Ipopt copyright message now instead of just before the optimization. More...
bool | RethrowNonIpoptException (bool dorethrow)
| Method to set whether non-ipopt non-bad_alloc exceptions are rethrown by Ipopt. More...
Solve methods
virtual ApplicationReturnStatus | OptimizeTNLP (const SmartPtr< TNLP > &tnlp)
| Solve a problem that inherits from TNLP. More...
virtual ApplicationReturnStatus | OptimizeNLP (const SmartPtr< NLP > &nlp)
| Solve a problem that inherits from NLP. More...
virtual ApplicationReturnStatus | OptimizeNLP (const SmartPtr< NLP > &nlp, SmartPtr< AlgorithmBuilder > &alg_builder)
| Solve a problem that inherits from NLP. More...
virtual ApplicationReturnStatus | ReOptimizeTNLP (const SmartPtr< TNLP > &tnlp)
| Solve a problem (that inherits from TNLP) for a repeated time. More...
virtual ApplicationReturnStatus | ReOptimizeNLP (const SmartPtr< NLP > &nlp)
| Solve a problem (that inherits from NLP) for a repeated time. More...
Accessor methods
virtual SmartPtr< Journalist > | Jnlst ()
| Get the Journalist for printing output. More...
virtual SmartPtr < RegisteredOptions > | RegOptions ()
| Get a pointer to RegisteredOptions object to add new options. More...
virtual SmartPtr< OptionsList > | Options ()
| Get the options list for setting options. More...
virtual SmartPtr< const OptionsList > | Options () const
| Get the options list for setting options (const version) More...
virtual SmartPtr< SolveStatistics > | Statistics ()
| Get the object with the statistics about the most recent optimization run. More...
virtual SmartPtr< IpoptNLP > | IpoptNLPObject ()
| Get the IpoptNLP Object. More...
SmartPtr< IpoptData > | IpoptDataObject ()
| Get the IpoptData Object. More...
virtual SmartPtr < IpoptCalculatedQuantities > | IpoptCQObject ()
| Get the IpoptCQ Object. More...
SmartPtr< IpoptAlgorithm > | AlgorithmObject ()
| Get the Algorithm Object. More...
Public Member Functions inherited from Ipopt::ReferencedObject
| ReferencedObject ()
virtual | ~ReferencedObject ()
Index | ReferenceCount () const
void | AddRef (const Referencer *referencer) const
void | ReleaseRef (const Referencer *referencer) const

## Static Public Member Functions
static void | RegisterAllIpoptOptions (const SmartPtr< RegisteredOptions > &roptions)
| Method to registering all Ipopt options. More...
Methods for IpoptTypeInfo
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions)

## Private Member Functions
ApplicationReturnStatus | call_optimize ()
| Method for the actual optimize call of the Ipopt algorithm. More...
Default Compiler Generated Methods
(Hidden to avoid implicit creation/calling). These methods are not implemented and we do not want the compiler to implement them for us, so we declare them private and do not define them. This ensures that they will not be implicitly created/called.
| IpoptApplication (const IpoptApplication &)
| Default Constructor. More...
void | operator= (const IpoptApplication &)
| Overloaded Equals Operator. More...

## Private Attributes
SmartPtr< Journalist > | jnlst_
| Journalist for reporting output. More...
SmartPtr< RegisteredOptions > | reg_options_
| RegisteredOptions. More...
SmartPtr< OptionsList > | options_
| OptionsList used for the application. More...
SmartPtr< SolveStatistics > | statistics_
| Object for storing statistics about the most recent optimization run. More...
SmartPtr< IpoptAlgorithm > | alg_
| Object with the algorithm sceleton. More...
SmartPtr< IpoptNLP > | ip_nlp_
| IpoptNLP Object for the NLP. More...
SmartPtr< IpoptData > | ip_data_
| IpoptData Object for the NLP. More...
SmartPtr < IpoptCalculatedQuantities > | ip_cq_
| IpoptCalculatedQuantities Object for the NLP. More...
SmartPtr< NLP > | nlp_adapter_
| Pointer to the TNLPAdapter used to convert the TNLP to an NLP. More...
Variables that customize the application behavior
bool | read_params_dat_
| Decide whether or not the ipopt.opt file should be read. More...
bool | rethrow_nonipoptexception_
| Decide whether non-ipopt non-bad_alloc exceptions should be rethrown. More...
Algorithmic parameters
bool | inexact_algorithm_
| Flag indicating if we are to use the inexact linear solver option. More...
bool | replace_bounds_
| Flag indicating if all bounds should be replaced by inequality constraints. More...

## Detailed Description

This is the main application class for making calls to Ipopt.

Definition at line 47 of file IpIpoptApplication.hpp.

## Constructor & Destructor Documentation

Ipopt::IpoptApplication::IpoptApplication | ( | bool | create_console_out = `true`,
|  | bool | create_empty = `false`
| ) |  |

Ipopt::IpoptApplication::IpoptApplication | ( | SmartPtr< RegisteredOptions > | reg_options,
|  | SmartPtr< OptionsList > | options,
|  | SmartPtr< Journalist > | jnlst
| ) |  |

Another constructor that assumes that the code in the (default) constructor has already been executed.

virtual Ipopt::IpoptApplication::~IpoptApplication | ( |  | ) |
| virtual

Ipopt::IpoptApplication::IpoptApplication | ( | const IpoptApplication & |  | ) |
| private

Default Constructor.

Copy Constructor

## Member Function Documentation

virtual SmartPtr<IpoptApplication> Ipopt::IpoptApplication::clone | ( |  | ) |
| virtual

    Method for creating a new IpoptApplication that uses the same
    journalist and registered options, and a copy of the options

list.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::Initialize | ( | std::istream & | is,
|  | bool | allow_clobber = `false`
| ) |  |
| virtual

Initialization method.

This method reads options from the input stream and initializes the journalists. It returns something other than Solve_Succeeded if there was a problem in the initialization (such as an invalid option). You should call one of the initialization methods at some point before the first optimize call. Set

allow_clobber to true if you want to allow
  overwriting options that are set by the input stream.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::Initialize | ( | std::string | params_file,
|  | bool | allow_clobber = `false`
| ) |  |
| virtual

Initialization method.

This method reads options from the params file and initializes the journalists. It returns something other than Solve_Succeeded if there was a problem in the initialization (such as an invalid option). You should call one of the initialization methods at some point before the first optimize call. Note: You can skip the processing of a params file by setting params_file to "". Set

allow_clobber to true if you want to allow
  overwriting options that are set by the params file.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::Initialize | ( | const char * | params_file,
|  | bool | allow_clobber = `false`
| ) |  |
| inline virtual

Initialization method.

This method reads options from the params file and initializes the journalists. It returns something other than Solve_Succeeded if there was a problem in the initialization (such as an invalid option). You should call one of the initialization methods at some point before the first optimize call. Note: You can skip the processing of a params file by setting params_file to "". Set

allow_clobber to true if you want to allow
  overwriting options that are set by the params file.

Definition at line 99 of file IpIpoptApplication.hpp.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::Initialize | ( | bool | allow_clobber = `false` | ) |
| virtual

Initialize method.

This method reads the options file specified by the option_file_name option and initializes the journalists. You should call this method at some point before the first optimize call. It returns something other than Solve_Succeeded if there was a problem in the initialization (such as an invalid option). Set

allow_clobber to true if you want to allow
  overwriting options that are set by the options file.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::OptimizeTNLP | ( | const SmartPtr< TNLP > & | tnlp | ) |
| virtual

Solve a problem that inherits from TNLP.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::OptimizeNLP | ( | const SmartPtr< NLP > & | nlp | ) |
| virtual

Solve a problem that inherits from NLP.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::OptimizeNLP | ( | const SmartPtr< NLP > & | nlp,
|  | SmartPtr< AlgorithmBuilder > & | alg_builder
| ) |  |
| virtual

Solve a problem that inherits from NLP.

virtual ApplicationReturnStatus Ipopt::IpoptApplication::ReOptimizeTNLP | ( | const SmartPtr< TNLP > & | tnlp | ) |
| virtual

Solve a problem (that inherits from TNLP) for a repeated time.

The OptimizeTNLP method must have been called before. The TNLP must be the same object, and the structure (number of variables and constraints and position of nonzeros in Jacobian and Hessian must be the same).

virtual ApplicationReturnStatus Ipopt::IpoptApplication::ReOptimizeNLP | ( | const SmartPtr< NLP > & | nlp | ) |
| virtual

Solve a problem (that inherits from NLP) for a repeated time.

The OptimizeNLP method must have been called before. The NLP must be the same object, and the structure (number of variables and constraints and position of nonzeros in Jacobian and Hessian must be the same).

virtual bool Ipopt::IpoptApplication::OpenOutputFile | ( | std::string | file_name,
|  | EJournalLevel | print_level
| ) |  |
| virtual

Method for opening an output file with given print_level.

Returns false if there was a problem.

virtual SmartPtr<Journalist> Ipopt::IpoptApplication::Jnlst | ( |  | ) |
| inline virtual

Get the Journalist for printing output.

Definition at line 147 of file IpIpoptApplication.hpp.

virtual SmartPtr<RegisteredOptions> Ipopt::IpoptApplication::RegOptions | ( |  | ) |
| inline virtual

Get a pointer to RegisteredOptions object to add new options.

Definition at line 154 of file IpIpoptApplication.hpp.

virtual SmartPtr<OptionsList> Ipopt::IpoptApplication::Options | ( |  | ) |
| inline virtual

Get the options list for setting options.

Definition at line 160 of file IpIpoptApplication.hpp.

virtual SmartPtr<const OptionsList> Ipopt::IpoptApplication::Options | ( |  | ) | const
| inline virtual

Get the options list for setting options (const version)

Definition at line 166 of file IpIpoptApplication.hpp.

virtual SmartPtr<SolveStatistics> Ipopt::IpoptApplication::Statistics | ( |  | ) |
| virtual

Get the object with the statistics about the most recent optimization run.

virtual SmartPtr<IpoptNLP> Ipopt::IpoptApplication::IpoptNLPObject | ( |  | ) |
| virtual

Get the IpoptNLP Object.

SmartPtr<IpoptData> Ipopt::IpoptApplication::IpoptDataObject | ( |  | ) |

Get the IpoptData Object.

virtual SmartPtr<IpoptCalculatedQuantities> Ipopt::IpoptApplication::IpoptCQObject | ( |  | ) |
| virtual

Get the IpoptCQ Object.

SmartPtr<IpoptAlgorithm> Ipopt::IpoptApplication::AlgorithmObject | ( |  | ) |

Get the Algorithm Object.

void Ipopt::IpoptApplication::PrintCopyrightMessage | ( |  | ) |

Method for printing Ipopt copyright message now instead of just before the optimization.

If you want to have the copy right message printed earlier than by default, call this method at the convenient time.

bool Ipopt::IpoptApplication::RethrowNonIpoptException | ( | bool | dorethrow | ) |
| inline

Method to set whether non-ipopt non-bad_alloc exceptions are rethrown by Ipopt.

By default, non-Ipopt and non-std::bad_alloc exceptions are caught by Ipopts initialization and optimization methods and the status NonIpopt_Exception_Thrown is returned. This function allows to enable rethrowing of such exceptions.

Returns
  Returns whether non-ipopt exceptions were rethrown before.

Definition at line 203 of file IpIpoptApplication.hpp.

static void Ipopt::IpoptApplication::RegisterOptions | ( | SmartPtr< RegisteredOptions > | roptions | ) |
| static

static void Ipopt::IpoptApplication::RegisterAllIpoptOptions | ( | const SmartPtr< RegisteredOptions > & | roptions | ) |
| static

Method to registering all Ipopt options.

void Ipopt::IpoptApplication::operator= | ( | const IpoptApplication & |  | ) |
| private

Overloaded Equals Operator.

ApplicationReturnStatus Ipopt::IpoptApplication::call_optimize | ( |  | ) |
| private

Method for the actual optimize call of the Ipopt algorithm.

This is used both for Optimize and ReOptimize

## Member Data Documentation

bool Ipopt::IpoptApplication::read_params_dat_
| private

Decide whether or not the ipopt.opt file should be read.

Definition at line 245 of file IpIpoptApplication.hpp.

bool Ipopt::IpoptApplication::rethrow_nonipoptexception_
| private

Decide whether non-ipopt non-bad_alloc exceptions should be rethrown.

Definition at line 248 of file IpIpoptApplication.hpp.

SmartPtr<Journalist> Ipopt::IpoptApplication::jnlst_
| private

Journalist for reporting output.

Definition at line 252 of file IpIpoptApplication.hpp.

SmartPtr<RegisteredOptions> Ipopt::IpoptApplication::reg_options_
| private

RegisteredOptions.

Definition at line 255 of file IpIpoptApplication.hpp.

SmartPtr<OptionsList> Ipopt::IpoptApplication::options_
| private

OptionsList used for the application.

Definition at line 258 of file IpIpoptApplication.hpp.

SmartPtr<SolveStatistics> Ipopt::IpoptApplication::statistics_
| private

Object for storing statistics about the most recent optimization run.

Definition at line 262 of file IpIpoptApplication.hpp.

SmartPtr<IpoptAlgorithm> Ipopt::IpoptApplication::alg_
| private

Object with the algorithm sceleton.

Definition at line 266 of file IpIpoptApplication.hpp.

SmartPtr<IpoptNLP> Ipopt::IpoptApplication::ip_nlp_
| private

IpoptNLP Object for the NLP.

We keep this around for a ReOptimize warm start.

Definition at line 270 of file IpIpoptApplication.hpp.

SmartPtr<IpoptData> Ipopt::IpoptApplication::ip_data_
| private

IpoptData Object for the NLP.

We keep this around for a ReOptimize warm start.

Definition at line 275 of file IpIpoptApplication.hpp.

SmartPtr<IpoptCalculatedQuantities> Ipopt::IpoptApplication::ip_cq_
| private

IpoptCalculatedQuantities Object for the NLP.

We keep this around for a ReOptimize warm start.

Definition at line 280 of file IpIpoptApplication.hpp.

SmartPtr<NLP> Ipopt::IpoptApplication::nlp_adapter_
| private

Pointer to the TNLPAdapter used to convert the TNLP to an NLP.

We keep this around for the ReOptimizerTNLP call.

Definition at line 284 of file IpIpoptApplication.hpp.

bool Ipopt::IpoptApplication::inexact_algorithm_
| private

Flag indicating if we are to use the inexact linear solver option.

Definition at line 289 of file IpIpoptApplication.hpp.

bool Ipopt::IpoptApplication::replace_bounds_
| private

Flag indicating if all bounds should be replaced by inequality constraints.

This is necessary for the inexact algorithm.

Definition at line 292 of file IpIpoptApplication.hpp.

The documentation for this class was generated from the following file:

- src/Interfaces/IpIpoptApplication.hpp