ROL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROL::AugmentedLagrangianStep< Real > Class Template Reference

Provides the interface to compute augmented Lagrangian steps. More...

#include <ROL_AugmentedLagrangianStep.hpp>

+ Inheritance diagram for ROL::AugmentedLagrangianStep< Real >:

Public Member Functions

 ~AugmentedLagrangianStep ()
 
 AugmentedLagrangianStep (Teuchos::ParameterList &parlist)
 
void initialize (Vector< Real > &x, const Vector< Real > &g, Vector< Real > &l, const Vector< Real > &c, Objective< Real > &obj, EqualityConstraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Initialize step with equality constraint. More...
 
void compute (Vector< Real > &s, const Vector< Real > &x, const Vector< Real > &l, Objective< Real > &obj, EqualityConstraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Compute step (equality and bound constraints). More...
 
void update (Vector< Real > &x, Vector< Real > &l, const Vector< Real > &s, Objective< Real > &obj, EqualityConstraint< Real > &con, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Update step, if successful (equality and bound constraints). More...
 
std::string printHeader (void) const
 Print iterate header. More...
 
std::string printName (void) const
 Print step name. More...
 
std::string print (AlgorithmState< Real > &algo_state, bool pHeader=false) const
 Print iterate status. More...
 
void compute (Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Compute step for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring. More...
 
void update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Update step, for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring. More...
 
- Public Member Functions inherited from ROL::Step< Real >
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, EqualityConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Initialize step with equality constraint. More...
 
virtual void compute (Vector< Real > &s, const Vector< Real > &x, const Vector< Real > &l, Objective< Real > &obj, EqualityConstraint< 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, EqualityConstraint< Real > &con, AlgorithmState< Real > &algo_state)
 Update step, if successful (equality constraints). More...
 
virtual Teuchos::RCP< const StepState< Real > > getStepState (void) const
 Get state for step object. More...
 

Private Member Functions

Real computeGradient (Vector< Real > &g, const Vector< Real > &x, const Real mu, BoundConstraint< Real > &bnd)
 

Private Attributes

Teuchos::RCP< AugmentedLagrangian< Real > > augLag_
 
Teuchos::RCP< Algorithm< Real > > algo_
 
Teuchos::RCP< Vector< Real > > x_
 
Teuchos::ParameterList parlist_
 
bool scaleLagrangian_
 
Real minPenaltyReciprocal_
 
Real minPenaltyLowerBound_
 
Real penaltyUpdate_
 
Real maxPenaltyParam_
 
Real optIncreaseExponent_
 
Real optDecreaseExponent_
 
Real optToleranceInitial_
 
Real optTolerance_
 
Real feasIncreaseExponent_
 
Real feasDecreaseExponent_
 
Real feasToleranceInitial_
 
Real feasTolerance_
 
bool print_
 
int maxit_
 
int subproblemIter_
 
std::string subStep_
 
Real outerOptTolerance_
 
Real outerFeasTolerance_
 
Real outerStepTolerance_
 

Additional Inherited Members

- Protected Member Functions inherited from ROL::Step< Real >
Teuchos::RCP< StepState< Real > > getState (void)
 

Detailed Description

template<class Real>
class ROL::AugmentedLagrangianStep< Real >

Provides the interface to compute augmented Lagrangian steps.

Definition at line 69 of file ROL_AugmentedLagrangianStep.hpp.

Constructor & Destructor Documentation

template<class Real >
ROL::AugmentedLagrangianStep< Real >::~AugmentedLagrangianStep ( )
inline

Definition at line 123 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
ROL::AugmentedLagrangianStep< Real >::AugmentedLagrangianStep ( Teuchos::ParameterList &  parlist)
inline

Definition at line 125 of file ROL_AugmentedLagrangianStep.hpp.

References ROL::Step< Real >::getState().

Member Function Documentation

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::computeGradient ( Vector< Real > &  g,
const Vector< Real > &  x,
const Real  mu,
BoundConstraint< Real > &  bnd 
)
inlineprivate
template<class Real >
void ROL::AugmentedLagrangianStep< Real >::initialize ( Vector< Real > &  x,
const Vector< Real > &  g,
Vector< Real > &  l,
const Vector< Real > &  c,
Objective< Real > &  obj,
EqualityConstraint< Real > &  con,
BoundConstraint< Real > &  bnd,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual
template<class Real >
void ROL::AugmentedLagrangianStep< Real >::compute ( Vector< Real > &  s,
const Vector< Real > &  x,
const Vector< Real > &  l,
Objective< Real > &  obj,
EqualityConstraint< Real > &  con,
BoundConstraint< Real > &  bnd,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual

Compute step (equality and bound constraints).

Reimplemented from ROL::Step< Real >.

Definition at line 199 of file ROL_AugmentedLagrangianStep.hpp.

References ROL::Vector< Real >::axpy(), ROL::BoundConstraint< Real >::isActivated(), and ROL::Vector< Real >::set().

template<class Real >
void ROL::AugmentedLagrangianStep< Real >::update ( Vector< Real > &  x,
Vector< Real > &  l,
const Vector< Real > &  s,
Objective< Real > &  obj,
EqualityConstraint< Real > &  con,
BoundConstraint< Real > &  bnd,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual
template<class Real >
std::string ROL::AugmentedLagrangianStep< Real >::printHeader ( void  ) const
inlinevirtual

Print iterate header.

Implements ROL::Step< Real >.

Definition at line 267 of file ROL_AugmentedLagrangianStep.hpp.

Referenced by ROL::AugmentedLagrangianStep< Real >::print().

template<class Real >
std::string ROL::AugmentedLagrangianStep< Real >::printName ( void  ) const
inlinevirtual

Print step name.

Implements ROL::Step< Real >.

Definition at line 288 of file ROL_AugmentedLagrangianStep.hpp.

Referenced by ROL::AugmentedLagrangianStep< Real >::print().

template<class Real >
std::string ROL::AugmentedLagrangianStep< Real >::print ( AlgorithmState< Real > &  algo_state,
bool  pHeader = false 
) const
inlinevirtual
template<class Real >
void ROL::AugmentedLagrangianStep< Real >::compute ( Vector< Real > &  s,
const Vector< Real > &  x,
Objective< Real > &  obj,
BoundConstraint< Real > &  con,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual

Compute step for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring.

Implements ROL::Step< Real >.

Definition at line 343 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
void ROL::AugmentedLagrangianStep< Real >::update ( Vector< Real > &  x,
const Vector< Real > &  s,
Objective< Real > &  obj,
BoundConstraint< Real > &  con,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual

Update step, for bound constraints; here only to satisfy the interface requirements, does nothing, needs refactoring.

Implements ROL::Step< Real >.

Definition at line 350 of file ROL_AugmentedLagrangianStep.hpp.

Member Data Documentation

template<class Real >
Teuchos::RCP<AugmentedLagrangian<Real> > ROL::AugmentedLagrangianStep< Real >::augLag_
private

Definition at line 71 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Teuchos::RCP<Algorithm<Real> > ROL::AugmentedLagrangianStep< Real >::algo_
private

Definition at line 72 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Teuchos::RCP<Vector<Real> > ROL::AugmentedLagrangianStep< Real >::x_
private

Definition at line 73 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Teuchos::ParameterList ROL::AugmentedLagrangianStep< Real >::parlist_
private

Definition at line 75 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
bool ROL::AugmentedLagrangianStep< Real >::scaleLagrangian_
private

Definition at line 77 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::minPenaltyReciprocal_
private

Definition at line 78 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::minPenaltyLowerBound_
private

Definition at line 79 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::penaltyUpdate_
private

Definition at line 80 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::maxPenaltyParam_
private

Definition at line 81 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::optIncreaseExponent_
private

Definition at line 83 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::optDecreaseExponent_
private

Definition at line 84 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::optToleranceInitial_
private

Definition at line 85 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::optTolerance_
private
template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::feasIncreaseExponent_
private

Definition at line 88 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::feasDecreaseExponent_
private

Definition at line 89 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::feasToleranceInitial_
private

Definition at line 90 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::feasTolerance_
private
template<class Real >
bool ROL::AugmentedLagrangianStep< Real >::print_
private

Definition at line 93 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
int ROL::AugmentedLagrangianStep< Real >::maxit_
private

Definition at line 94 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
int ROL::AugmentedLagrangianStep< Real >::subproblemIter_
private
template<class Real >
std::string ROL::AugmentedLagrangianStep< Real >::subStep_
private

Definition at line 96 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::outerOptTolerance_
private

Definition at line 97 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::outerFeasTolerance_
private

Definition at line 98 of file ROL_AugmentedLagrangianStep.hpp.

template<class Real >
Real ROL::AugmentedLagrangianStep< Real >::outerStepTolerance_
private

Definition at line 99 of file ROL_AugmentedLagrangianStep.hpp.


The documentation for this class was generated from the following file: