9 #ifndef __IPALGBUILDER_HPP__
10 #define __IPALGBUILDER_HPP__
21 class IterationOutput;
23 class ConvergenceCheck;
24 class SearchDirectionCalculator;
25 class EqMultiplierCalculator;
26 class IterateInitializer;
87 const std::string& prefix);
96 const std::string& prefix);
108 const std::string& prefix);
117 const std::string& prefix);
131 const std::string& prefix);
140 const std::string& prefix);
151 const std::string& prefix,
175 const std::string& prefix);
186 const std::string& prefix);
197 const std::string& prefix);
208 const std::string& prefix);
226 const std::string& prefix);
242 const std::string& prefix);
259 const std::string& prefix);
283 const std::string& prefix);
303 const std::string& prefix);
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< ConvergenceCheck > ConvCheck_
virtual SmartPtr< EqMultiplierCalculator > BuildEqMultiplierCalculator(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the EqMultiplierCalculator class.
SmartPtr< AugSystemSolver > custom_solver_
Optional pointer to AugSystemSolver.
static void RegisterOptions(SmartPtr< RegisteredOptions > roptions)
Methods for IpoptTypeInfo.
SmartPtr< SymLinearSolver > GetSymLinearSolver(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Get the symmetric linear system solver for this algorithm.
SmartPtr< HessianUpdater > HessUpdater_
Builder for creating a complete IpoptAlg object.
SmartPtr< IterationOutput > IterOutput_
SmartPtr< SearchDirectionCalculator > SearchDirCalc_
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.
virtual SmartPtr< IterateInitializer > BuildIterateInitializer(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the IterateInitializer class.
SmartPtr< IterateInitializer > IterInitializer_
virtual SmartPtr< ConvergenceCheck > BuildConvergenceCheck(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the ConvergenceCheck class.
AlgorithmBuilder(SmartPtr< AugSystemSolver > custom_solver=NULL)
Constructor.
SmartPtr< AugSystemSolver > AugSolver_
Template class for Smart Pointers.
virtual SmartPtr< IterationOutput > BuildIterationOutput(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the IterationOutput class.
This class stores a list of user set options.
SmartPtr< LineSearch > LineSearch_
SmartPtr< AugSystemSolver > GetAugSystemSolver(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Get the augmented system solver for this algorithm.
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< SearchDirectionCalculator > BuildSearchDirectionCalculator(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the SearchDirectionCalculator class.
virtual SmartPtr< LineSearch > BuildLineSearch(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the LineSearch class.
SmartPtr< MuUpdate > MuUpdate_
SmartPtr< SymLinearSolver > SymSolver_
SmartPtr< EqMultiplierCalculator > EqMultCalculator_
Class responsible for all message output.
virtual SmartPtr< MuUpdate > BuildMuUpdate(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the MuUpdate class.
virtual ~AlgorithmBuilder()
Destructor.
SmartPtr< PDSystemSolver > PDSolver_
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.
void operator=(const AlgorithmBuilder &)
Overloaded Equals Operator.
virtual SmartPtr< HessianUpdater > BuildHessianUpdater(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Creates an instance of the HessianUpdater class.
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.
SmartPtr< PDSystemSolver > GetPDSystemSolver(const Journalist &jnlst, const OptionsList &options, const std::string &prefix)
Get the primal-dual system solver for this algorithm.