Ipopt
3.12.12
|
Builder to create a complete IpoptAlg object for the inexact step computation version. More...
#include <IpInexactAlgBuilder.hpp>
Public Member Functions | |
Constructors/Destructors | |
InexactAlgorithmBuilder () | |
Constructor. More... | |
virtual | ~InexactAlgorithmBuilder () |
Destructor. More... | |
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. More... | |
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. More... | |
![]() | |
AlgorithmBuilder (SmartPtr< AugSystemSolver > custom_solver=NULL) | |
Constructor. More... | |
virtual | ~AlgorithmBuilder () |
Destructor. More... | |
virtual SmartPtr< SymLinearSolver > | SymLinearSolverFactory (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Create a solver that can be used to solve a symmetric linear system. More... | |
SmartPtr< SymLinearSolver > | GetSymLinearSolver (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Get the symmetric linear system solver for this algorithm. More... | |
virtual SmartPtr< AugSystemSolver > | AugSystemSolverFactory (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Create a solver that can be used to solve an augmented system. More... | |
SmartPtr< AugSystemSolver > | GetAugSystemSolver (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Get the augmented system solver for this algorithm. More... | |
virtual SmartPtr< PDSystemSolver > | PDSystemSolverFactory (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Create a solver that can be used to solve a primal-dual system. More... | |
SmartPtr< PDSystemSolver > | GetPDSystemSolver (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Get the primal-dual system solver for this algorithm. More... | |
virtual SmartPtr< IterationOutput > | BuildIterationOutput (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the IterationOutput class. More... | |
virtual SmartPtr< HessianUpdater > | BuildHessianUpdater (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the HessianUpdater class. More... | |
virtual SmartPtr < ConvergenceCheck > | BuildConvergenceCheck (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the ConvergenceCheck class. More... | |
virtual SmartPtr < SearchDirectionCalculator > | BuildSearchDirectionCalculator (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the SearchDirectionCalculator class. More... | |
virtual SmartPtr < EqMultiplierCalculator > | BuildEqMultiplierCalculator (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the EqMultiplierCalculator class. More... | |
virtual SmartPtr < IterateInitializer > | BuildIterateInitializer (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the IterateInitializer class. More... | |
virtual SmartPtr< LineSearch > | BuildLineSearch (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the LineSearch class. More... | |
virtual SmartPtr< MuUpdate > | BuildMuUpdate (const Journalist &jnlst, const OptionsList &options, const std::string &prefix) |
Creates an instance of the MuUpdate class. More... | |
![]() | |
ReferencedObject () | |
virtual | ~ReferencedObject () |
Index | ReferenceCount () const |
void | AddRef (const Referencer *referencer) const |
void | ReleaseRef (const Referencer *referencer) const |
Static Public Member Functions | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Methods for IpoptTypeInfo. More... | |
![]() | |
static void | RegisterOptions (SmartPtr< RegisteredOptions > roptions) |
Methods for IpoptTypeInfo. More... | |
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. More... | |
void | operator= (const InexactAlgorithmBuilder &) |
Overloaded Equals Operator. More... | |
Private Attributes | |
SmartPtr< AugSystemSolver > | custom_solver_ |
Optional pointer to AugSystemSolver. More... | |
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.
|
inlinevirtual |
Destructor.
Definition at line 36 of file IpInexactAlgBuilder.hpp.
|
private |
Default Constructor.
Copy Constructor
|
virtual |
Allocates memory for the IpoptNLP, IpoptData, and IpoptCalculatedQuanties arguments.
Dependencies: None
Reimplemented from Ipopt::AlgorithmBuilder.
|
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 |
Methods for IpoptTypeInfo.
register the options used by the algorithm builder
|
private |
Overloaded Equals Operator.
|
private |
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.
Definition at line 84 of file IpInexactAlgBuilder.hpp.