ROL
ROL::ConvexCombinationRiskMeasure< Real > Class Template Reference

Provides an interface for a convex combination of risk measures. More...

#include <ROL_ConvexCombinationRiskMeasure.hpp>

Inheritance diagram for ROL::ConvexCombinationRiskMeasure< Real >:

Public Member Functions

 ConvexCombinationRiskMeasure (ROL::ParameterList &parlist)
 Constructor.
void setSample (const std::vector< Real > &point, const Real weight)
void resetStorage (bool flag=true)
void resetStorage (UpdateType type)
void initialize (const Vector< Real > &x)
void updateValue (Objective< Real > &obj, const Vector< Real > &x, const std::vector< Real > &xstat, Real &tol)
Real getValue (const Vector< Real > &x, const std::vector< Real > &xstat, SampleGenerator< Real > &sampler)
void updateGradient (Objective< Real > &obj, const Vector< Real > &x, const std::vector< Real > &xstat, Real &tol)
void getGradient (Vector< Real > &g, std::vector< Real > &gstat, const Vector< Real > &x, const std::vector< Real > &xstat, SampleGenerator< Real > &sampler)
void updateHessVec (Objective< Real > &obj, const Vector< Real > &v, const std::vector< Real > &vstat, const Vector< Real > &x, const std::vector< Real > &xstat, Real &tol)
void getHessVec (Vector< Real > &hv, std::vector< Real > &hvstat, const Vector< Real > &v, const std::vector< Real > &vstat, const Vector< Real > &x, const std::vector< Real > &xstat, SampleGenerator< Real > &sampler)

Private Types

typedef std::vector< Real >::size_type uint

Private Member Functions

void initializeCCRM (void)
void checkInputs (void)

Private Attributes

std::vector< Real > lambda_
std::vector< ROL::Ptr< RandVarFunctional< Real > > > risk_
uint size_
std::vector< int > statVec_
Ptr< ScalarController< Real > > values_
Ptr< ScalarController< Real > > gradvecs_
Ptr< VectorController< Real > > gradients_
Ptr< VectorController< Real > > hessvecs_

Detailed Description

template<class Real>
class ROL::ConvexCombinationRiskMeasure< Real >

Provides an interface for a convex combination of risk measures.

This function provides the capability to produce a convex combination of risk measure, i.e.,

\[ \mathcal{R}(X) = \sum_{k=1}^n \lambda_k \mathcal{R}_k(X) \]

where \(\mathcal{R}_k\) are risk measures and \(\lambda_k \ge 0\) with \(\lambda_1 + \ldots + \lambda_n = 1\). In general, \(\mathcal{R}\) is not law-invariant or coherent unless each \(\mathcal{R}_k\) is.

Definition at line 34 of file ROL_ConvexCombinationRiskMeasure.hpp.

Member Typedef Documentation

◆ uint

template<class Real>
typedef std::vector<Real>::size_type ROL::ConvexCombinationRiskMeasure< Real >::uint
private

Definition at line 36 of file ROL_ConvexCombinationRiskMeasure.hpp.

Constructor & Destructor Documentation

◆ ConvexCombinationRiskMeasure()

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

Constructor.

Parameters
[in]parlistis a parameter list specifying inputs

parlist should contain sublists "SOL"->"Risk Measure"->"Convex Combination Risk Measure" and within the "Convex Combination Risk Measure" sublist should have the following parameters

  • "Convex Combination Parameters" (greater than 0 and sum to 1)
  • Sublists labeled 1 to n with risk measure definitions.

Definition at line 92 of file ROL_ConvexCombinationRiskMeasure.hpp.

References checkInputs(), lambda_, risk_, ROL::RiskMeasureFactory(), ROL::RiskMeasureInfo(), size_, and statVec_.

Member Function Documentation

◆ initializeCCRM()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::initializeCCRM ( void )
inlineprivate

Definition at line 51 of file ROL_ConvexCombinationRiskMeasure.hpp.

References gradients_, gradvecs_, hessvecs_, risk_, size_, and values_.

Referenced by checkInputs().

◆ checkInputs()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::checkInputs ( void )
inlineprivate

◆ setSample()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::setSample ( const std::vector< Real > & point,
const Real weight )
inline

Definition at line 124 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, and size_.

◆ resetStorage() [1/2]

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::resetStorage ( bool flag = true)
inline

Definition at line 131 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, and size_.

◆ resetStorage() [2/2]

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::resetStorage ( UpdateType type)
inline

Definition at line 137 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, and size_.

◆ initialize()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::initialize ( const Vector< Real > & x)
inline

Definition at line 145 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, and size_.

◆ updateValue()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::updateValue ( Objective< Real > & obj,
const Vector< Real > & x,
const std::vector< Real > & xstat,
Real & tol )
inline

Definition at line 152 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, size_, and statVec_.

◆ getValue()

template<class Real>
Real ROL::ConvexCombinationRiskMeasure< Real >::getValue ( const Vector< Real > & x,
const std::vector< Real > & xstat,
SampleGenerator< Real > & sampler )
inline

Definition at line 168 of file ROL_ConvexCombinationRiskMeasure.hpp.

References lambda_, risk_, size_, and statVec_.

◆ updateGradient()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::updateGradient ( Objective< Real > & obj,
const Vector< Real > & x,
const std::vector< Real > & xstat,
Real & tol )
inline

Definition at line 185 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, size_, and statVec_.

◆ getGradient()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::getGradient ( Vector< Real > & g,
std::vector< Real > & gstat,
const Vector< Real > & x,
const std::vector< Real > & xstat,
SampleGenerator< Real > & sampler )
inline

◆ updateHessVec()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::updateHessVec ( Objective< Real > & obj,
const Vector< Real > & v,
const std::vector< Real > & vstat,
const Vector< Real > & x,
const std::vector< Real > & xstat,
Real & tol )
inline

Definition at line 225 of file ROL_ConvexCombinationRiskMeasure.hpp.

References risk_, size_, and statVec_.

◆ getHessVec()

template<class Real>
void ROL::ConvexCombinationRiskMeasure< Real >::getHessVec ( Vector< Real > & hv,
std::vector< Real > & hvstat,
const Vector< Real > & v,
const std::vector< Real > & vstat,
const Vector< Real > & x,
const std::vector< Real > & xstat,
SampleGenerator< Real > & sampler )
inline

Member Data Documentation

◆ lambda_

template<class Real>
std::vector<Real> ROL::ConvexCombinationRiskMeasure< Real >::lambda_
private

◆ risk_

◆ size_

◆ statVec_

template<class Real>
std::vector<int> ROL::ConvexCombinationRiskMeasure< Real >::statVec_
private

◆ values_

template<class Real>
Ptr<ScalarController<Real> > ROL::ConvexCombinationRiskMeasure< Real >::values_
private

Definition at line 43 of file ROL_ConvexCombinationRiskMeasure.hpp.

Referenced by initializeCCRM().

◆ gradvecs_

template<class Real>
Ptr<ScalarController<Real> > ROL::ConvexCombinationRiskMeasure< Real >::gradvecs_
private

Definition at line 44 of file ROL_ConvexCombinationRiskMeasure.hpp.

Referenced by initializeCCRM().

◆ gradients_

template<class Real>
Ptr<VectorController<Real> > ROL::ConvexCombinationRiskMeasure< Real >::gradients_
private

Definition at line 45 of file ROL_ConvexCombinationRiskMeasure.hpp.

Referenced by initializeCCRM().

◆ hessvecs_

template<class Real>
Ptr<VectorController<Real> > ROL::ConvexCombinationRiskMeasure< Real >::hessvecs_
private

Definition at line 46 of file ROL_ConvexCombinationRiskMeasure.hpp.

Referenced by initializeCCRM().


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