ROL
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.
 
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.
 
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).
 
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).
 
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).
 
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).
 
std::string printHeader (void) const
 Print iterate header.
 
std::string printName (void) const
 Print step name.
 
std::string print (AlgorithmState< Real > &algo_state, bool pHeader=false) const
 Print iterate status.
 
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.
 
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.
 
- Public Member Functions inherited from ROL::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.
 
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.
 
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.
 
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.
 
virtual void compute (Vector< Real > &s, const Vector< Real > &x, Objective< Real > &obj, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Compute step.
 
virtual void update (Vector< Real > &x, const Vector< Real > &s, Objective< Real > &obj, BoundConstraint< Real > &bnd, AlgorithmState< Real > &algo_state)
 Update step, if successful.
 
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).
 
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).
 
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).
 
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).
 
virtual std::string print (AlgorithmState< Real > &algo_state, bool printHeader=false) const
 Print iterate status.
 
const ROL::Ptr< const StepState< Real > > getStepState (void) const
 Get state for step object.
 
void reset (const Real searchSize=1.0)
 Get state for step object.
 

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::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 62 of file ROL_FletcherStep.hpp.

Constructor & Destructor Documentation

◆ ~FletcherStep()

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

Definition at line 122 of file ROL_FletcherStep.hpp.

◆ FletcherStep()

Member Function Documentation

◆ computeProjGradientNorm()

template<class Real>
Real ROL::FletcherStep< Real >::computeProjGradientNorm ( const Vector< Real > & g,
const Vector< Real > & x,
BoundConstraint< Real > & bnd )
inlineprivate

◆ initialize() [1/2]

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 )
inline

Initialize step with equality constraint.

Definition at line 147 of file ROL_FletcherStep.hpp.

References bnd_, and initialize().

Referenced by initialize().

◆ initialize() [2/2]

◆ compute() [1/3]

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 )
inline

Compute step (equality constraint).

Definition at line 219 of file ROL_FletcherStep.hpp.

References bnd_, and compute().

Referenced by compute().

◆ compute() [2/3]

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 )
inline

Compute step (equality and bound constraints).

Definition at line 227 of file ROL_FletcherStep.hpp.

References step_, and tr_algo_state_.

◆ update() [1/3]

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 )
inline

Update step, if successful (equality constraint).

Definition at line 235 of file ROL_FletcherStep.hpp.

References bnd_, and update().

Referenced by update().

◆ update() [2/3]

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 )
inline

◆ printHeader()

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

Print iterate header.

Reimplemented from ROL::ROL::Step< Real >.

Definition at line 348 of file ROL_FletcherStep.hpp.

References etr_, step_, stepHeaderLength_, subStep_, and ROL::TRUSTREGION_TRUNCATEDCG.

Referenced by print().

◆ printName()

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

Print step name.

Reimplemented from ROL::ROL::Step< Real >.

Definition at line 389 of file ROL_FletcherStep.hpp.

References subStep_.

Referenced by print().

◆ print()

◆ getValueString()

template<class Real>
std::string ROL::FletcherStep< Real >::getValueString ( const Real value,
const bool print ) const
inline

Definition at line 454 of file ROL_FletcherStep.hpp.

References print(), and ROL::value().

Referenced by print().

◆ compute() [3/3]

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 )
inline

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

Definition at line 468 of file ROL_FletcherStep.hpp.

◆ update() [3/3]

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 )
inline

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

Definition at line 475 of file ROL_FletcherStep.hpp.

Member Data Documentation

◆ step_

template<class Real>
ROL::Ptr<Step<Real> > ROL::FletcherStep< Real >::step_
private

Definition at line 64 of file ROL_FletcherStep.hpp.

Referenced by compute(), initialize(), print(), printHeader(), and update().

◆ bnd_

template<class Real>
ROL::Ptr<BoundConstraint<Real> > ROL::FletcherStep< Real >::bnd_
private

Definition at line 65 of file ROL_FletcherStep.hpp.

Referenced by compute(), initialize(), and update().

◆ parlist_

template<class Real>
ROL::ParameterList ROL::FletcherStep< Real >::parlist_
private

Definition at line 67 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and initialize().

◆ x_

template<class Real>
ROL::Ptr<Vector<Real> > ROL::FletcherStep< Real >::x_
private

Definition at line 69 of file ROL_FletcherStep.hpp.

Referenced by computeProjGradientNorm(), and initialize().

◆ penaltyUpdate_

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

Definition at line 72 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ modifyPenalty_

template<class Real>
bool ROL::FletcherStep< Real >::modifyPenalty_
private

Definition at line 73 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ maxPenaltyParam_

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

Definition at line 74 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ minPenaltyParam_

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

Definition at line 75 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ print_

template<class Real>
bool ROL::FletcherStep< Real >::print_
private

Definition at line 77 of file ROL_FletcherStep.hpp.

◆ subStep_

template<class Real>
std::string ROL::FletcherStep< Real >::subStep_
private

Definition at line 78 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), initialize(), print(), printHeader(), and printName().

◆ delta_

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

Definition at line 80 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), print(), and update().

◆ deltaMin_

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

Definition at line 81 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ deltaUpdate_

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

Definition at line 82 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ etr_

template<class Real>
ETrustRegion ROL::FletcherStep< Real >::etr_
private

Definition at line 83 of file ROL_FletcherStep.hpp.

Referenced by initialize(), print(), and printHeader().

◆ bnd_activated_

template<class Real>
bool ROL::FletcherStep< Real >::bnd_activated_
private

Definition at line 85 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and initialize().

◆ g_

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

Definition at line 87 of file ROL_FletcherStep.hpp.

Referenced by initialize(), and update().

◆ numSuccessSteps_

template<class Real>
int ROL::FletcherStep< Real >::numSuccessSteps_
private

Definition at line 89 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ isDeltaChanged_

template<class Real>
bool ROL::FletcherStep< Real >::isDeltaChanged_
mutableprivate

Definition at line 92 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), print(), and update().

◆ isPenaltyChanged_

template<class Real>
bool ROL::FletcherStep< Real >::isPenaltyChanged_
mutableprivate

Definition at line 93 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), print(), and update().

◆ tr_algo_state_

template<class Real>
AlgorithmState<Real> ROL::FletcherStep< Real >::tr_algo_state_
mutableprivate

Definition at line 95 of file ROL_FletcherStep.hpp.

Referenced by compute(), initialize(), print(), and update().

◆ stepHeaderLength_

template<class Real>
int ROL::FletcherStep< Real >::stepHeaderLength_
mutableprivate

Definition at line 97 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), print(), and printHeader().


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