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::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.
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::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

◆ ~FletcherStep()

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

Definition at line 88 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 )
inlinevirtual

Initialize step with equality constraint.

Reimplemented from ROL::Step< Real >.

Definition at line 113 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 )
inlinevirtual

Compute step (equality constraint).

Reimplemented from ROL::Step< Real >.

Definition at line 186 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 )
inlinevirtual

Compute step (equality and bound constraints).

Reimplemented from ROL::Step< Real >.

Definition at line 194 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 )
inlinevirtual

Update step, if successful (equality constraint).

Reimplemented from ROL::Step< Real >.

Definition at line 202 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 )
inlinevirtual

◆ printHeader()

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

Print iterate header.

Reimplemented from ROL::Step< Real >.

Definition at line 315 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::Step< Real >.

Definition at line 356 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 421 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 )
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 435 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 )
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 442 of file ROL_FletcherStep.hpp.

Member Data Documentation

◆ step_

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

Definition at line 30 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 31 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 33 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 35 of file ROL_FletcherStep.hpp.

Referenced by computeProjGradientNorm(), and initialize().

◆ penaltyUpdate_

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

Definition at line 38 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ modifyPenalty_

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

Definition at line 39 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ maxPenaltyParam_

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

Definition at line 40 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ minPenaltyParam_

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

Definition at line 41 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ print_

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

Definition at line 43 of file ROL_FletcherStep.hpp.

◆ subStep_

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

Definition at line 44 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 46 of file ROL_FletcherStep.hpp.

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

◆ deltaMin_

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

Definition at line 47 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ deltaUpdate_

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

Definition at line 48 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ etr_

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

Definition at line 49 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 51 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 53 of file ROL_FletcherStep.hpp.

Referenced by initialize(), and update().

◆ numSuccessSteps_

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

Definition at line 55 of file ROL_FletcherStep.hpp.

Referenced by FletcherStep(), and update().

◆ isDeltaChanged_

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

Definition at line 58 of file ROL_FletcherStep.hpp.

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

◆ isPenaltyChanged_

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

Definition at line 59 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 61 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 63 of file ROL_FletcherStep.hpp.

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


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