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

Provides the interface to compute Fletcher steps. More...

#include <ROL_FletcherStep.hpp>

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

Public Member Functions

 ~FletcherStep ()
 
 FletcherStep (ROL::ParameterList &parlist)
 
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...
 
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 and bound constraints. More...
 
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 constraint). More...
 
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 and bound constraints). More...
 
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 constraint). More...
 
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 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...
 
std::string getValueString (const Real value, const bool print) const
 
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...
 
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...
 

Private Member Functions

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

Private Attributes

ROL::Ptr< Step< Real > > step_
 
ROL::Ptr< BoundConstraint< Real > > bnd_
 
ROL::ParameterList parlist_
 
ROL::Ptr< Vector< Real > > x_
 
Real penaltyUpdate_
 
bool modifyPenalty_
 
Real maxPenaltyParam_
 
Real minPenaltyParam_
 
bool print_
 
std::string subStep_
 
Real delta_
 
Real deltaMin_
 
Real deltaUpdate_
 
ETrustRegion etr_
 
bool bnd_activated_
 
ROL::Ptr< Vector< Real > > g_
 
int numSuccessSteps_
 
bool isDeltaChanged_
 
bool isPenaltyChanged_
 
AlgorithmState< Real > tr_algo_state_
 
int stepHeaderLength_
 

Additional Inherited Members

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

Detailed Description

template<class Real>
class ROL::FletcherStep< Real >

Provides the interface to compute Fletcher steps.

Definition at line 28 of file ROL_FletcherStep.hpp.

Constructor & Destructor Documentation

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

Definition at line 88 of file ROL_FletcherStep.hpp.

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

Member Function Documentation

template<class Real >
Real ROL::FletcherStep< Real >::computeProjGradientNorm ( const Vector< Real > &  g,
const Vector< Real > &  x,
BoundConstraint< Real > &  bnd 
)
inlineprivate
template<class Real >
void ROL::FletcherStep< Real >::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 
)
inlinevirtual

Initialize step with equality constraint.

Reimplemented from ROL::Step< Real >.

Definition at line 113 of file ROL_FletcherStep.hpp.

References ROL::FletcherStep< Real >::bnd_.

template<class Real >
void ROL::FletcherStep< Real >::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 
)
inlinevirtual
template<class Real >
void ROL::FletcherStep< Real >::compute ( Vector< Real > &  s,
const Vector< Real > &  x,
const Vector< Real > &  l,
Objective< Real > &  obj,
Constraint< Real > &  con,
AlgorithmState< Real > &  algo_state 
)
inlinevirtual

Compute step (equality constraint).

Reimplemented from ROL::Step< Real >.

Definition at line 185 of file ROL_FletcherStep.hpp.

References ROL::FletcherStep< Real >::bnd_.

template<class Real >
void ROL::FletcherStep< Real >::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 
)
inlinevirtual

Compute step (equality and bound constraints).

Reimplemented from ROL::Step< Real >.

Definition at line 193 of file ROL_FletcherStep.hpp.

References ROL::FletcherStep< Real >::step_, and ROL::FletcherStep< Real >::tr_algo_state_.

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

Update step, if successful (equality constraint).

Reimplemented from ROL::Step< Real >.

Definition at line 201 of file ROL_FletcherStep.hpp.

References ROL::FletcherStep< Real >::bnd_.

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

Update step, if successful (equality and bound constraints).

Reimplemented from ROL::Step< Real >.

Definition at line 209 of file ROL_FletcherStep.hpp.

References ROL::AlgorithmState< Real >::aggregateGradientNorm, ROL::AlgorithmState< Real >::cnorm, ROL::FletcherStep< Real >::computeProjGradientNorm(), ROL::FletcherStep< Real >::delta_, ROL::FletcherStep< Real >::deltaMin_, ROL::FletcherStep< Real >::deltaUpdate_, ROL::AlgorithmState< Real >::flag, ROL::FletcherStep< Real >::g_, ROL::FletcherBase< Real >::getConstraintVec(), ROL::FletcherBase< Real >::getLagrangianGradient(), ROL::FletcherBase< Real >::getMultiplierVec(), ROL::FletcherBase< Real >::getNumberConstraintEvaluations(), ROL::FletcherBase< Real >::getNumberFunctionEvaluations(), ROL::FletcherBase< Real >::getNumberGradientEvaluations(), ROL::FletcherBase< Real >::getObjectiveValue(), ROL::Step< Real >::getState(), ROL::Step< Real >::getStepState(), ROL::AlgorithmState< Real >::gnorm, ROL::Objective< Real >::gradient(), ROL::FletcherStep< Real >::isDeltaChanged_, ROL::FletcherStep< Real >::isPenaltyChanged_, ROL::AlgorithmState< Real >::iter, ROL::AlgorithmState< Real >::iterateVec, ROL::AlgorithmState< Real >::lagmultVec, ROL::FletcherStep< Real >::maxPenaltyParam_, ROL::FletcherStep< Real >::minPenaltyParam_, ROL::FletcherStep< Real >::modifyPenalty_, ROL::AlgorithmState< Real >::ncval, ROL::AlgorithmState< Real >::nfval, ROL::AlgorithmState< Real >::ngrad, ROL::FletcherStep< Real >::numSuccessSteps_, ROL::FletcherStep< Real >::penaltyUpdate_, ROL::FletcherBase< Real >::setDelta(), ROL::FletcherBase< Real >::setPenaltyParameter(), ROL::AlgorithmState< Real >::snorm, ROL::FletcherStep< Real >::step_, ROL::FletcherStep< Real >::tr_algo_state_, ROL::Objective< Real >::value(), and ROL::AlgorithmState< Real >::value.

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

Print step name.

Reimplemented from ROL::Step< Real >.

Definition at line 355 of file ROL_FletcherStep.hpp.

References ROL::FletcherStep< Real >::subStep_.

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

template<class Real >
std::string ROL::FletcherStep< Real >::print ( AlgorithmState< Real > &  algo_state,
bool  pHeader = false 
) const
inlinevirtual
template<class Real >
std::string ROL::FletcherStep< Real >::getValueString ( const Real  value,
const bool  print 
) const
inline

Definition at line 420 of file ROL_FletcherStep.hpp.

References ROL::value.

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

template<class Real >
void ROL::FletcherStep< 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.

Reimplemented from ROL::Step< Real >.

Definition at line 434 of file ROL_FletcherStep.hpp.

template<class Real >
void ROL::FletcherStep< 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.

Reimplemented from ROL::Step< Real >.

Definition at line 441 of file ROL_FletcherStep.hpp.

Member Data Documentation

template<class Real >
ROL::Ptr<Step<Real> > ROL::FletcherStep< Real >::step_
private
template<class Real >
ROL::Ptr<BoundConstraint<Real> > ROL::FletcherStep< Real >::bnd_
private
template<class Real >
ROL::ParameterList ROL::FletcherStep< Real >::parlist_
private
template<class Real >
ROL::Ptr<Vector<Real> > ROL::FletcherStep< Real >::x_
private
template<class Real >
Real ROL::FletcherStep< Real >::penaltyUpdate_
private
template<class Real >
bool ROL::FletcherStep< Real >::modifyPenalty_
private
template<class Real >
Real ROL::FletcherStep< Real >::maxPenaltyParam_
private
template<class Real >
Real ROL::FletcherStep< Real >::minPenaltyParam_
private
template<class Real >
bool ROL::FletcherStep< Real >::print_
private

Definition at line 43 of file ROL_FletcherStep.hpp.

template<class Real >
std::string ROL::FletcherStep< Real >::subStep_
private
template<class Real >
Real ROL::FletcherStep< Real >::delta_
private
template<class Real >
Real ROL::FletcherStep< Real >::deltaMin_
private
template<class Real >
Real ROL::FletcherStep< Real >::deltaUpdate_
private
template<class Real >
ETrustRegion ROL::FletcherStep< Real >::etr_
private
template<class Real >
bool ROL::FletcherStep< Real >::bnd_activated_
private

Definition at line 51 of file ROL_FletcherStep.hpp.

Referenced by ROL::FletcherStep< Real >::initialize().

template<class Real >
ROL::Ptr<Vector<Real> > ROL::FletcherStep< Real >::g_
private
template<class Real >
int ROL::FletcherStep< Real >::numSuccessSteps_
private

Definition at line 55 of file ROL_FletcherStep.hpp.

Referenced by ROL::FletcherStep< Real >::update().

template<class Real >
bool ROL::FletcherStep< Real >::isDeltaChanged_
mutableprivate
template<class Real >
bool ROL::FletcherStep< Real >::isPenaltyChanged_
mutableprivate
template<class Real >
AlgorithmState<Real> ROL::FletcherStep< Real >::tr_algo_state_
mutableprivate
template<class Real >
int ROL::FletcherStep< Real >::stepHeaderLength_
mutableprivate

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