ROL
|
Provides the interface to compute optimization steps. More...
#include <ROL_Step.hpp>
Public Member Functions | |
virtual | ~Step () |
Step (void) | |
virtual void | initialize (Vector< Real > &x, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state) |
Initialize step with bound constraint. More... | |
virtual void | initialize (Vector< Real > &x, const Vector< Real > &s, const Vector< Real > &g, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state) |
Initialize step with bound constraint. More... | |
virtual void | initialize (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, Constraint< Real > &con, AlgorithmState< Real > &algo_state) |
Initialize step with equality constraint. More... | |
virtual void | initialize (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
Initialize step with equality constraint. More... | |
virtual void | compute (Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
Compute step. More... | |
virtual void | update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
Update step, if successful. More... | |
virtual void | compute (Vector< Real > &s, const Vector< Real > &x, const Vector< Real > &l, Objective< Real > &obj, Constraint< Real > &con, AlgorithmState< Real > &algo_state) |
Compute step (equality constraints). More... | |
virtual void | update (Vector< Real > &x, Vector< Real > &l, const Vector< Real > &s, Objective< Real > &obj, Constraint< Real > &con, AlgorithmState< Real > &algo_state) |
Update step, if successful (equality constraints). More... | |
virtual void | compute (Vector< Real > &s, const Vector< Real > &x, const Vector< Real > &l, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
Compute step (equality constraints). More... | |
virtual void | update (Vector< Real > &x, Vector< Real > &l, const Vector< Real > &s, Objective< Real > &obj, Constraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state) |
Update step, if successful (equality constraints). More... | |
void | initialize (OptimizationProblem< Real > &opt, AlgorithmState< Real > &algo_state) |
void | compute (Vector< Real > &s, OptimizationProblem< Real > &opt, AlgorithmState< Real > &algo_state) |
void | update (OptimizationProblem< Real > &opt, const Vector< Real > &s, AlgorithmState< Real > &algo_state) |
virtual std::string | printHeader (void) const |
Print iterate header. More... | |
virtual std::string | printName (void) const |
Print step name. More... | |
virtual std::string | print (AlgorithmState< Real > &algo_state, bool printHeader=false) const |
Print iterate status. More... | |
const ROL::Ptr< const StepState< Real > > | getStepState (void) const |
Get state for step object. More... | |
void | reset (const Real searchSize=1.0) |
Get state for step object. More... | |
Protected Member Functions | |
ROL::Ptr< StepState< Real > > | getState (void) |
Private Attributes | |
ROL::Ptr< StepState< Real > > | state_ |
Provides the interface to compute optimization steps.
Definition at line 69 of file ROL_Step.hpp.
Definition at line 80 of file ROL_Step.hpp.
Definition at line 82 of file ROL_Step.hpp.
References ROL::Step< Real >::state_.
|
inlineprotected |
Definition at line 74 of file ROL_Step.hpp.
References ROL::Step< Real >::state_.
Referenced by ROL::AugmentedLagrangianStep< Real >::AugmentedLagrangianStep(), ROL::BundleStep< Real >::BundleStep(), ROL::NewtonStep< Real >::compute(), ROL::GradientStep< Real >::compute(), ROL::ProjectedNewtonStep< Real >::compute(), ROL::NonlinearCGStep< Real >::compute(), ROL::ProjectedSecantStep< Real >::compute(), ROL::SecantStep< Real >::compute(), ROL::BundleStep< Real >::compute(), ROL::PrimalDualSystemStep< Real >::compute(), ROL::NewtonKrylovStep< Real >::compute(), ROL::InteriorPointStep< Real >::compute(), ROL::ProjectedNewtonKrylovStep< Real >::compute(), ROL::MoreauYosidaPenaltyStep< Real >::compute(), ROL::LineSearchStep< Real >::compute(), ROL::PrimalDualActiveSetStep< Real >::compute(), ROL::TrustRegionStep< Real >::compute(), ROL::PrimalDualActiveSetStep< Real >::computeCriticalityMeasure(), ROL::FletcherStep< Real >::FletcherStep(), ROL::InteriorPointStep< Real >::initialize(), ROL::FletcherStep< Real >::initialize(), ROL::BundleStep< Real >::initialize(), ROL::CompositeStep< Real >::initialize(), ROL::MoreauYosidaPenaltyStep< Real >::initialize(), ROL::AugmentedLagrangianStep< Real >::initialize(), ROL::PrimalDualActiveSetStep< Real >::initialize(), ROL::TrustRegionStep< Real >::initialize(), ROL::MoreauYosidaPenaltyStep< Real >::MoreauYosidaPenaltyStep(), ROL::TrustRegionStep< Real >::parseParameterList(), ROL::NewtonStep< Real >::update(), ROL::GradientStep< Real >::update(), ROL::ProjectedNewtonStep< Real >::update(), ROL::NonlinearCGStep< Real >::update(), ROL::SecantStep< Real >::update(), ROL::ProjectedSecantStep< Real >::update(), ROL::PrimalDualSystemStep< Real >::update(), ROL::NewtonKrylovStep< Real >::update(), ROL::FletcherStep< Real >::update(), ROL::ProjectedNewtonKrylovStep< Real >::update(), ROL::CompositeStep< Real >::update(), ROL::InteriorPointStep< Real >::update(), ROL::MoreauYosidaPenaltyStep< Real >::update(), ROL::LineSearchStep< Real >::update(), ROL::AugmentedLagrangianStep< Real >::update(), ROL::BundleStep< Real >::update(), ROL::PrimalDualActiveSetStep< Real >::update(), ROL::TrustRegionStep< Real >::update(), ROL::TrustRegionStep< Real >::updateGradient(), and ROL::MoreauYosidaPenaltyStep< Real >::updateState().
|
inlinevirtual |
Initialize step with bound constraint.
Reimplemented in ROL::MoreauYosidaPenaltyStep< Real >, ROL::InteriorPointStep< Real >, and ROL::BundleStep< Real >.
Definition at line 89 of file ROL_Step.hpp.
Referenced by ROL::ProjectedNewtonStep< Real >::initialize(), ROL::ProjectedSecantStep< Real >::initialize(), ROL::SecantStep< Real >::initialize(), ROL::PrimalDualSystemStep< Real >::initialize(), ROL::BundleStep< Real >::initialize(), ROL::NewtonKrylovStep< Real >::initialize(), ROL::Step< Real >::initialize(), and ROL::ProjectedNewtonKrylovStep< Real >::initialize().
|
inlinevirtual |
Initialize step with bound constraint.
Reimplemented in ROL::TrustRegionStep< Real >, ROL::PrimalDualActiveSetStep< Real >, ROL::ProjectedNewtonKrylovStep< Real >, ROL::LineSearchStep< Real >, ROL::NewtonKrylovStep< Real >, ROL::SecantStep< Real >, ROL::ProjectedSecantStep< Real >, and ROL::ProjectedNewtonStep< Real >.
Definition at line 97 of file ROL_Step.hpp.
References ROL::Vector< Real >::clone(), ROL::AlgorithmState< Real >::gnorm, ROL::Objective< Real >::gradient(), ROL::BoundConstraint< Real >::isActivated(), ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, ROL::BoundConstraint< Real >::project(), ROL::Step< Real >::state_, ROL::Objective< Real >::update(), ROL::Objective< Real >::value(), ROL::AlgorithmState< Real >::value, and zero.
|
inlinevirtual |
Initialize step with equality constraint.
Reimplemented in ROL::AugmentedLagrangianStep< Real >, ROL::CompositeStep< Real >, ROL::FletcherStep< Real >, and ROL::InteriorPointStep< Real >.
Definition at line 130 of file ROL_Step.hpp.
|
inlinevirtual |
Initialize step with equality constraint.
Reimplemented in ROL::AugmentedLagrangianStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::InteriorPointStep< Real >, ROL::PrimalDualSystemStep< Real >, and ROL::FletcherStep< Real >.
Definition at line 137 of file ROL_Step.hpp.
|
inlinevirtual |
Compute step.
Reimplemented in ROL::TrustRegionStep< Real >, ROL::AugmentedLagrangianStep< Real >, ROL::FletcherStep< Real >, ROL::PrimalDualActiveSetStep< Real >, ROL::CompositeStep< Real >, ROL::LineSearchStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::InteriorPointStep< Real >, ROL::ProjectedNewtonKrylovStep< Real >, ROL::NewtonKrylovStep< Real >, ROL::BundleStep< Real >, ROL::SecantStep< Real >, ROL::ProjectedSecantStep< Real >, ROL::NonlinearCGStep< Real >, ROL::ProjectedNewtonStep< Real >, ROL::GradientStep< Real >, and ROL::NewtonStep< Real >.
Definition at line 144 of file ROL_Step.hpp.
Referenced by ROL::Step< Real >::compute(), and main().
|
inlinevirtual |
Update step, if successful.
Reimplemented in ROL::TrustRegionStep< Real >, ROL::AugmentedLagrangianStep< Real >, ROL::PrimalDualActiveSetStep< Real >, ROL::FletcherStep< Real >, ROL::BundleStep< Real >, ROL::InteriorPointStep< Real >, ROL::CompositeStep< Real >, ROL::LineSearchStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::ProjectedNewtonKrylovStep< Real >, ROL::NewtonKrylovStep< Real >, ROL::ProjectedSecantStep< Real >, ROL::SecantStep< Real >, ROL::NonlinearCGStep< Real >, ROL::ProjectedNewtonStep< Real >, ROL::GradientStep< Real >, and ROL::NewtonStep< Real >.
Definition at line 152 of file ROL_Step.hpp.
Referenced by main(), and ROL::Step< Real >::update().
|
inlinevirtual |
Compute step (equality constraints).
Reimplemented in ROL::AugmentedLagrangianStep< Real >, ROL::CompositeStep< Real >, ROL::InteriorPointStep< Real >, and ROL::FletcherStep< Real >.
Definition at line 160 of file ROL_Step.hpp.
|
inlinevirtual |
Update step, if successful (equality constraints).
Reimplemented in ROL::AugmentedLagrangianStep< Real >, ROL::InteriorPointStep< Real >, ROL::CompositeStep< Real >, and ROL::FletcherStep< Real >.
Definition at line 168 of file ROL_Step.hpp.
|
inlinevirtual |
Compute step (equality constraints).
Reimplemented in ROL::AugmentedLagrangianStep< Real >, ROL::InteriorPointStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::FletcherStep< Real >, and ROL::PrimalDualSystemStep< Real >.
Definition at line 176 of file ROL_Step.hpp.
|
inlinevirtual |
Update step, if successful (equality constraints).
Reimplemented in ROL::AugmentedLagrangianStep< Real >, ROL::InteriorPointStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::FletcherStep< Real >, and ROL::PrimalDualSystemStep< Real >.
Definition at line 185 of file ROL_Step.hpp.
|
inline |
Definition at line 196 of file ROL_Step.hpp.
References ROL::OptimizationProblem< Real >::getBoundConstraint(), ROL::OptimizationProblem< Real >::getConstraint(), ROL::OptimizationProblem< Real >::getMultiplierVector(), ROL::OptimizationProblem< Real >::getObjective(), ROL::OptimizationProblem< Real >::getSolutionVector(), and ROL::Step< Real >::initialize().
|
inline |
Definition at line 222 of file ROL_Step.hpp.
References ROL::Step< Real >::compute(), ROL::OptimizationProblem< Real >::getBoundConstraint(), ROL::OptimizationProblem< Real >::getConstraint(), ROL::OptimizationProblem< Real >::getMultiplierVector(), ROL::OptimizationProblem< Real >::getObjective(), and ROL::OptimizationProblem< Real >::getSolutionVector().
|
inline |
Definition at line 247 of file ROL_Step.hpp.
References ROL::OptimizationProblem< Real >::getBoundConstraint(), ROL::OptimizationProblem< Real >::getConstraint(), ROL::OptimizationProblem< Real >::getMultiplierVector(), ROL::OptimizationProblem< Real >::getObjective(), ROL::OptimizationProblem< Real >::getSolutionVector(), and ROL::Step< Real >::update().
|
inlinevirtual |
Print iterate header.
Reimplemented in ROL::TrustRegionStep< Real >, ROL::PrimalDualActiveSetStep< Real >, ROL::AugmentedLagrangianStep< Real >, ROL::InteriorPointStep< Real >, ROL::BundleStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::LineSearchStep< Real >, ROL::CompositeStep< Real >, ROL::FletcherStep< Real >, ROL::ProjectedNewtonKrylovStep< Real >, ROL::NewtonKrylovStep< Real >, ROL::ProjectedSecantStep< Real >, ROL::ProjectedNewtonStep< Real >, ROL::SecantStep< Real >, ROL::NonlinearCGStep< Real >, ROL::GradientStep< Real >, and ROL::NewtonStep< Real >.
Definition at line 275 of file ROL_Step.hpp.
Referenced by main().
|
inlinevirtual |
Print step name.
Reimplemented in ROL::TrustRegionStep< Real >, ROL::PrimalDualActiveSetStep< Real >, ROL::InteriorPointStep< Real >, ROL::AugmentedLagrangianStep< Real >, ROL::BundleStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::CompositeStep< Real >, ROL::LineSearchStep< Real >, ROL::FletcherStep< Real >, ROL::ProjectedNewtonKrylovStep< Real >, ROL::NewtonKrylovStep< Real >, ROL::ProjectedSecantStep< Real >, ROL::ProjectedNewtonStep< Real >, ROL::SecantStep< Real >, ROL::NonlinearCGStep< Real >, ROL::GradientStep< Real >, and ROL::NewtonStep< Real >.
Definition at line 281 of file ROL_Step.hpp.
Referenced by main().
|
inlinevirtual |
Print iterate status.
Reimplemented in ROL::TrustRegionStep< Real >, ROL::PrimalDualActiveSetStep< Real >, ROL::InteriorPointStep< Real >, ROL::AugmentedLagrangianStep< Real >, ROL::BundleStep< Real >, ROL::MoreauYosidaPenaltyStep< Real >, ROL::LineSearchStep< Real >, ROL::CompositeStep< Real >, ROL::FletcherStep< Real >, ROL::ProjectedNewtonKrylovStep< Real >, ROL::NewtonKrylovStep< Real >, ROL::ProjectedSecantStep< Real >, ROL::ProjectedNewtonStep< Real >, ROL::SecantStep< Real >, ROL::NonlinearCGStep< Real >, ROL::GradientStep< Real >, and ROL::NewtonStep< Real >.
Definition at line 287 of file ROL_Step.hpp.
Referenced by main().
|
inline |
Get state for step object.
Definition at line 293 of file ROL_Step.hpp.
References ROL::Step< Real >::state_.
Referenced by ROL::LineSearchStep< Real >::print(), ROL::BundleStep< Real >::print(), ROL::TrustRegionStep< Real >::print(), and ROL::FletcherStep< Real >::update().
|
inline |
Get state for step object.
Definition at line 299 of file ROL_Step.hpp.
References ROL::Step< Real >::state_.
Definition at line 71 of file ROL_Step.hpp.
Referenced by ROL::Step< Real >::getState(), ROL::Step< Real >::getStepState(), ROL::Step< Real >::initialize(), ROL::Step< Real >::reset(), and ROL::Step< Real >::Step().