Builder to create a complete IpoptAlg object for the inexact step computation version. More...
#include <IpInexactAlgBuilder.hpp>
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< IpoptAlgorithm > | BuildBasicAlgorithm (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 | |
InexactAlgorithmBuilder (const InexactAlgorithmBuilder &) | |
Default Constructor. | |
void | operator= (const InexactAlgorithmBuilder &) |
Overloaded Equals Operator. | |
Private Attributes | |
SmartPtr< AugSystemSolver > | custom_solver_ |
Optional pointer to AugSystemSolver. |
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.
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
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.
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.