ROL
|
Provides an interface to run optimization algorithms. More...
#include <ROL_Algorithm.hpp>
Public Member Functions | |
virtual | ~Algorithm () |
Algorithm (const ROL::Ptr< Step< Real > > &step, const ROL::Ptr< StatusTest< Real > > &status, bool printHeader=false) | |
Constructor, given a step and a status test. More... | |
Algorithm (const ROL::Ptr< Step< Real > > &step, const ROL::Ptr< StatusTest< Real > > &status, const ROL::Ptr< AlgorithmState< Real > > &state, bool printHeader=false) | |
Constructor, given a step, a status test, and a previously defined algorithm state. More... | |
Algorithm (const std::string &stepname, ROL::ParameterList &parlist, bool printHeader=false) | |
Constructor, given a string, for the step, and a parameter list of various options. The status test is determined based on the step string. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, Objective< Real > &obj, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on unconstrained problems (Type-U). This is the primary Type-U interface. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on unconstrained problems (Type-U). This general interface supports the use of dual optimization vector spaces, where the user does not define the dual() method. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &bnd, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on bound constrained problems (Type-B). This is the primary Type-B interface. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &bnd, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on bound constrained problems (Type-B). This general interface supports the use of dual optimization vector spaces, where the user does not define the dual() method. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, Vector< Real > &l, Objective< Real > &obj, Constraint< Real > &con, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on equality constrained problems (Type-E). This is the primary Type-E interface. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, Constraint< Real > &con, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on equality constrained problems (Type-E). This general interface supports the use of dual optimization and constraint vector spaces, where the user does not define the dual() method. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, Vector< Real > &l, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on equality and bound constrained problems (Type-EB). This is the primary Type-EB interface. More... | |
virtual std::vector< std::string > | run (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, bool print=false, std::ostream &outStream=std::cout, bool printVectors=false, std::ostream &vectorStream=std::cout) |
Run algorithm on equality and bound constrained problems (Type-EB). This general interface supports the use of dual optimization and constraint vector spaces, where the user does not define the dual() method. More... | |
virtual std::vector< std::string > | run (OptimizationProblem< Real > &opt, bool print=false, std::ostream &outStream=std::cout) |
Run algorithm using a ROL::OptimizationProblem. More... | |
std::string | getIterHeader (void) |
std::string | getIterInfo (bool withHeader=false) |
ROL::Ptr< const AlgorithmState < Real > > | getState (void) const |
void | reset (void) |
Private Attributes | |
ROL::Ptr< Step< Real > > | step_ |
ROL::Ptr< StatusTest< Real > > | status_ |
ROL::Ptr< AlgorithmState< Real > > | state_ |
bool | printHeader_ |
Provides an interface to run optimization algorithms.
Definition at line 72 of file ROL_Algorithm.hpp.
|
inlinevirtual |
Definition at line 82 of file ROL_Algorithm.hpp.
|
inline |
Constructor, given a step and a status test.
Definition at line 86 of file ROL_Algorithm.hpp.
References ROL::Algorithm< Real >::printHeader_, ROL::Algorithm< Real >::state_, ROL::Algorithm< Real >::status_, and ROL::Algorithm< Real >::step_.
|
inline |
Constructor, given a step, a status test, and a previously defined algorithm state.
Definition at line 98 of file ROL_Algorithm.hpp.
References ROL::Algorithm< Real >::printHeader_, ROL::Algorithm< Real >::state_, ROL::Algorithm< Real >::status_, and ROL::Algorithm< Real >::step_.
|
inline |
Constructor, given a string, for the step, and a parameter list of various options. The status test is determined based on the step string.
Definition at line 112 of file ROL_Algorithm.hpp.
References ROL::StatusTestFactory< Real >::getStatusTest(), ROL::StepFactory< Real >::getStep(), ROL::isValidStep(), ROL::Algorithm< Real >::printHeader_, ROL::Algorithm< Real >::state_, ROL::Algorithm< Real >::status_, ROL::Algorithm< Real >::step_, ROL::stepFactory(), and ROL::StringToEStep().
|
inlinevirtual |
Run algorithm on unconstrained problems (Type-U). This is the primary Type-U interface.
Definition at line 135 of file ROL_Algorithm.hpp.
References ROL::BoundConstraint< Real >::deactivate(), and ROL::Vector< Real >::dual().
Referenced by main(), and ROL::Algorithm< Real >::run().
|
inlinevirtual |
Run algorithm on unconstrained problems (Type-U). This general interface supports the use of dual optimization vector spaces, where the user does not define the dual() method.
Definition at line 150 of file ROL_Algorithm.hpp.
References ROL::BoundConstraint< Real >::deactivate(), and ROL::Algorithm< Real >::run().
|
inlinevirtual |
Run algorithm on bound constrained problems (Type-B). This is the primary Type-B interface.
Definition at line 165 of file ROL_Algorithm.hpp.
References ROL::Vector< Real >::dual(), and ROL::Algorithm< Real >::run().
|
inlinevirtual |
Run algorithm on bound constrained problems (Type-B). This general interface supports the use of dual optimization vector spaces, where the user does not define the dual() method.
Definition at line 179 of file ROL_Algorithm.hpp.
References ROL::Vector< Real >::clone(), ROL::EExitStatusToString(), ROL::Vector< Real >::print(), ROL::Algorithm< Real >::printHeader_, ROL::Algorithm< Real >::state_, ROL::Algorithm< Real >::status_, and ROL::Algorithm< Real >::step_.
|
inlinevirtual |
Run algorithm on equality constrained problems (Type-E). This is the primary Type-E interface.
Definition at line 253 of file ROL_Algorithm.hpp.
References ROL::Vector< Real >::dual(), and ROL::Algorithm< Real >::run().
|
inlinevirtual |
Run algorithm on equality constrained problems (Type-E). This general interface supports the use of dual optimization and constraint vector spaces, where the user does not define the dual() method.
Definition at line 271 of file ROL_Algorithm.hpp.
References ROL::Vector< Real >::clone(), ROL::EExitStatusToString(), ROL::Vector< Real >::print(), ROL::Algorithm< Real >::printHeader_, ROL::Algorithm< Real >::state_, ROL::Algorithm< Real >::status_, and ROL::Algorithm< Real >::step_.
|
inlinevirtual |
Run algorithm on equality and bound constrained problems (Type-EB). This is the primary Type-EB interface.
Definition at line 345 of file ROL_Algorithm.hpp.
References ROL::Vector< Real >::dual(), and ROL::Algorithm< Real >::run().
|
inlinevirtual |
Run algorithm on equality and bound constrained problems (Type-EB). This general interface supports the use of dual optimization and constraint vector spaces, where the user does not define the dual() method.
Definition at line 361 of file ROL_Algorithm.hpp.
References ROL::Vector< Real >::clone(), ROL::EExitStatusToString(), ROL::Vector< Real >::print(), ROL::Algorithm< Real >::printHeader_, ROL::Algorithm< Real >::state_, ROL::Algorithm< Real >::status_, and ROL::Algorithm< Real >::step_.
|
inlinevirtual |
Run algorithm using a ROL::OptimizationProblem.
Definition at line 433 of file ROL_Algorithm.hpp.
References ROL::OptimizationProblem< Real >::getBoundConstraint(), ROL::OptimizationProblem< Real >::getConstraint(), ROL::OptimizationProblem< Real >::getMultiplierVector(), ROL::OptimizationProblem< Real >::getObjective(), ROL::OptimizationProblem< Real >::getSolutionVector(), and ROL::Algorithm< Real >::run().
|
inline |
Definition at line 462 of file ROL_Algorithm.hpp.
References ROL::Algorithm< Real >::step_.
|
inline |
Definition at line 466 of file ROL_Algorithm.hpp.
References ROL::Algorithm< Real >::state_, and ROL::Algorithm< Real >::step_.
|
inline |
Definition at line 470 of file ROL_Algorithm.hpp.
References ROL::Algorithm< Real >::state_.
Referenced by main().
|
inline |
Definition at line 474 of file ROL_Algorithm.hpp.
References ROL::Algorithm< Real >::state_.
Referenced by main().
|
private |
Definition at line 74 of file ROL_Algorithm.hpp.
Referenced by ROL::Algorithm< Real >::Algorithm(), ROL::Algorithm< Real >::getIterHeader(), ROL::Algorithm< Real >::getIterInfo(), and ROL::Algorithm< Real >::run().
|
private |
Definition at line 75 of file ROL_Algorithm.hpp.
Referenced by ROL::Algorithm< Real >::Algorithm(), and ROL::Algorithm< Real >::run().
|
private |
Definition at line 76 of file ROL_Algorithm.hpp.
Referenced by ROL::Algorithm< Real >::Algorithm(), ROL::Algorithm< Real >::getIterInfo(), ROL::Algorithm< Real >::getState(), ROL::Algorithm< Real >::reset(), and ROL::Algorithm< Real >::run().
|
private |
Definition at line 78 of file ROL_Algorithm.hpp.
Referenced by ROL::Algorithm< Real >::Algorithm(), and ROL::Algorithm< Real >::run().