7#ifndef __IPALGBUILDER_HPP__
8#define __IPALGBUILDER_HPP__
57 const std::string& custom_solver_name = std::string()
91 const std::string& prefix
102 const std::string& prefix
115 const std::string& prefix
126 const std::string& prefix
141 const std::string& prefix
152 const std::string& prefix
165 const std::string& prefix,
191 const std::string& prefix
203 const std::string& prefix
215 const std::string& prefix
227 const std::string& prefix
246 const std::string& prefix
263 const std::string& prefix
281 const std::string& prefix
307 const std::string& prefix
329 const std::string& prefix
340 const std::string& prefix
349 const std::string& prefix
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.
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.
virtual SmartPtr< SearchDirectionCalculator > BuildSearchDirectionCalculator(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the SearchDirectionCalculator class.
virtual ~AlgorithmBuilder()
Destructor.
SmartPtr< EqMultiplierCalculator > EqMultCalculator_
SmartPtr< LibraryLoader > GetHSLLoader(const OptionsList &options, const std::string &prefix)
Gives Library Loader for HSL library if not all HSL routines are linked in.
AlgorithmBuilder(const AlgorithmBuilder &)
Default Constructor.
SmartPtr< IterationOutput > IterOutput_
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< MuUpdate > BuildMuUpdate(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the MuUpdate class.
virtual SmartPtr< EqMultiplierCalculator > BuildEqMultiplierCalculator(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the EqMultiplierCalculator class.
SmartPtr< IterateInitializer > IterInitializer_
virtual SmartPtr< IterateInitializer > BuildIterateInitializer(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the IterateInitializer class.
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.
SmartPtr< ConvergenceCheck > ConvCheck_
SmartPtr< AugSystemSolver > custom_solver_
Optional pointer to AugSystemSolver.
std::string linear_solver
name of linear solver constructed in SymLinearSolverFactory
SmartPtr< LibraryLoader > pardisoloader
loader of Pardiso library (at runtime)
SmartPtr< PDSystemSolver > GetPDSystemSolver(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Get the primal-dual system solver for this algorithm.
virtual SmartPtr< HessianUpdater > BuildHessianUpdater(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the HessianUpdater class.
std::string custom_solver_name_
SmartPtr< LibraryLoader > GetPardisoLoader(const OptionsList &options, const std::string &prefix)
Gives Library Loader for Pardiso library from pardiso-project.org.
SmartPtr< LibraryLoader > hslloader
loader of HSL library (at runtime)
virtual SmartPtr< LineSearch > BuildLineSearch(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the LineSearch class.
SmartPtr< SymLinearSolver > SymSolver_
SmartPtr< SearchDirectionCalculator > SearchDirCalc_
SmartPtr< HessianUpdater > HessUpdater_
SmartPtr< AugSystemSolver > GetAugSystemSolver(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Get the augmented system solver for this algorithm.
AlgorithmBuilder(SmartPtr< AugSystemSolver > custom_solver=NULL, const std::string &custom_solver_name=std::string())
Constructor.
void operator=(const AlgorithmBuilder &)
Default Assignment Operator.
SmartPtr< AugSystemSolver > AugSolver_
virtual SmartPtr< IterationOutput > BuildIterationOutput(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the IterationOutput class.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptTypeInfo.
SmartPtr< MuUpdate > MuUpdate_
virtual SmartPtr< ConvergenceCheck > BuildConvergenceCheck(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the ConvergenceCheck class.
SmartPtr< LineSearch > LineSearch_
SmartPtr< PDSystemSolver > PDSolver_
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 argument...
SmartPtr< SymLinearSolver > GetSymLinearSolver(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Get the symmetric linear system solver for this algorithm.
Base class for checking the algorithm termination criteria.
Base Class for objects that compute estimates for the equality constraint multipliers y_c and y_d.
Abstract base class for objects responsible for updating the Hessian information.
Base class for all methods for initializing the iterates.
Base class for objects that do the output summary per iteration.
Class responsible for all message output.
Base class for line search objects.
Abstract Base Class for classes that implement methods for computing the barrier and fraction-to-the-...
This class stores a list of user set options.
Base class for computing the search direction for the line search.
Template class for Smart Pointers.
This file contains a base class for all exceptions and a set of macros to help with exceptions.