Ipopt::InexactAlgorithmBuilder Class Reference

Builder to create a complete IpoptAlg object for the inexact step computation version. More...

#include <IpInexactAlgBuilder.hpp>

Inheritance diagram for Ipopt::InexactAlgorithmBuilder:
Inheritance graph
[legend]

List of all members.

Public Member Functions

Constructors/Destructors



 InexactAlgorithmBuilder ()
 Constructor.
virtual ~InexactAlgorithmBuilder ()
 Destructor.
Methods to build parts of the algorithm



virtual void BuildIpoptObjects (const Journalist &jnlst, const OptionsList &options, const std::string &prefix, const SmartPtr< NLP > &nlp, SmartPtr< IpoptNLP > &ip_nlp, SmartPtr< IpoptData > &ip_data, SmartPtr< IpoptCalculatedQuantities > &ip_cq)
 Allocates memory for the IpoptNLP, IpoptData, and IpoptCalculatedQuanties arguments.
virtual SmartPtr< IpoptAlgorithmBuildBasicAlgorithm (const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
 Creates an instance of the IpoptAlgorithm class by building each of its required constructor arguments piece-by-piece.

Static Public Member Functions



static void RegisterOptions (SmartPtr< RegisteredOptions > roptions)
 Methods for IpoptTypeInfo.

Private Member Functions

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.



 InexactAlgorithmBuilder (const InexactAlgorithmBuilder &)
 Default Constructor.
void operator= (const InexactAlgorithmBuilder &)
 Overloaded Equals Operator.

Private Attributes

SmartPtr< AugSystemSolvercustom_solver_
 Optional pointer to AugSystemSolver.

Detailed Description

Builder to create a complete IpoptAlg object for the inexact step computation version.

TODO: The AlorithmBuilder base class has been reorganized to allow for easier customization. This class could be reimplemented to take advantage of that. In particular, a substantial amount code for generating the SymLinearSolver and AugSystemSolver is available for reuse.

Definition at line 27 of file IpInexactAlgBuilder.hpp.


Constructor & Destructor Documentation

Ipopt::InexactAlgorithmBuilder::InexactAlgorithmBuilder (  ) 

Constructor.

virtual Ipopt::InexactAlgorithmBuilder::~InexactAlgorithmBuilder (  )  [inline, virtual]

Destructor.

Definition at line 36 of file IpInexactAlgBuilder.hpp.

Ipopt::InexactAlgorithmBuilder::InexactAlgorithmBuilder ( const InexactAlgorithmBuilder  )  [private]

Default Constructor.

Copy Constructor


Member Function Documentation

virtual void Ipopt::InexactAlgorithmBuilder::BuildIpoptObjects ( const Journalist jnlst,
const OptionsList options,
const std::string &  prefix,
const SmartPtr< NLP > &  nlp,
SmartPtr< IpoptNLP > &  ip_nlp,
SmartPtr< IpoptData > &  ip_data,
SmartPtr< IpoptCalculatedQuantities > &  ip_cq 
) [virtual]

Allocates memory for the IpoptNLP, IpoptData, and IpoptCalculatedQuanties arguments.

Dependencies: None

Reimplemented from Ipopt::AlgorithmBuilder.

virtual SmartPtr<IpoptAlgorithm> Ipopt::InexactAlgorithmBuilder::BuildBasicAlgorithm ( const Journalist jnlst,
const OptionsList options,
const std::string &  prefix 
) [virtual]

Creates an instance of the IpoptAlgorithm class by building each of its required constructor arguments piece-by-piece.

The default algorithm can be customized by overloading this method or by overloading one or more of the Build* methods called in this method's default implementation. Additional control can be achieved by overloading any of the *SolverFactory methods. This method will call (in this order): -> BuildIterationOutput() -> BuildHessianUpdater() -> BuildConvergenceCheck() -> BuildSearchDirectionCalculator() -> BuildEqMultiplierCalculator() -> BuildIterateInitializer() -> BuildLineSearch() -> BuildMuUpdate()

Reimplemented from Ipopt::AlgorithmBuilder.

static void Ipopt::InexactAlgorithmBuilder::RegisterOptions ( SmartPtr< RegisteredOptions roptions  )  [static]

Methods for IpoptTypeInfo.

register the options used by the algorithm builder

Reimplemented from Ipopt::AlgorithmBuilder.

void Ipopt::InexactAlgorithmBuilder::operator= ( const InexactAlgorithmBuilder  )  [private]

Overloaded Equals Operator.

Reimplemented from Ipopt::AlgorithmBuilder.


Member Data Documentation

Optional pointer to AugSystemSolver.

If this is set in the contructor, we will use this to solver the linear systems if the option linear_solver=custerm is chosen.

Reimplemented from Ipopt::AlgorithmBuilder.

Definition at line 84 of file IpInexactAlgBuilder.hpp.


The documentation for this class was generated from the following file:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

Generated on 20 Sep 2016 for Ipopt by  doxygen 1.6.1