ROL
ROL::MeanVarianceQuadrangle< Real > Class Template Reference

Provides an interface for the mean plus variance risk measure using the expectation risk quadrangle. More...

#include <ROL_MeanVarianceQuadrangle.hpp>

Inheritance diagram for ROL::MeanVarianceQuadrangle< Real >:

Public Member Functions

 MeanVarianceQuadrangle (const Real coeff=1)
 Constructor.
 MeanVarianceQuadrangle (ROL::ParameterList &parlist)
 Constructor.
Real error (Real x, int deriv=0)
 Evaluate the scalar error function at x.
Real regret (Real x, int deriv=0)
 Evaluate the scalar regret function at x.
Public Member Functions inherited from ROL::ExpectationQuad< Real >
virtual ~ExpectationQuad (void)
 ExpectationQuad (void)
virtual void check (void)
 Run default derivative tests for the scalar regret function.

Private Member Functions

void parseParameterList (ROL::ParameterList &parlist)
void checkInputs (void) const

Private Attributes

Real coeff_

Detailed Description

template<class Real>
class ROL::MeanVarianceQuadrangle< Real >

Provides an interface for the mean plus variance risk measure using the expectation risk quadrangle.

The mean plus variances risk measure is

\[ \mathcal{R}(X) = \mathbb{E}[X] + c \mathbb{E}[|X-\mathbb{E}[X]|^2] \]

where \(c \ge 0\). \(\mathcal{R}\) is law-invariant, but not coherent since it violates positive homogeneity. The associated scalar regret function is

\[ v(x) = c x^2 + x \]

and the mean-plus-variance risk measure is computed as

\[ \mathcal{R}(X) = \inf_{t\in\mathbb{R}}\left\{ t + \mathbb{E}[v(X-t)] \right\}. \]

ROL implements this by augmenting the optimization vector \(x_0\) with the parameter \(t\), then minimizes jointly for \((x_0,t)\).

Definition at line 44 of file ROL_MeanVarianceQuadrangle.hpp.

Constructor & Destructor Documentation

◆ MeanVarianceQuadrangle() [1/2]

template<class Real>
ROL::MeanVarianceQuadrangle< Real >::MeanVarianceQuadrangle ( const Real coeff = 1)
inline

Constructor.

Parameters
[in]coeffis the weight for variance term

Definition at line 75 of file ROL_MeanVarianceQuadrangle.hpp.

References checkInputs(), coeff_, and ROL::ExpectationQuad< Real >::ExpectationQuad().

◆ MeanVarianceQuadrangle() [2/2]

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

Constructor.

Parameters
[in]parlistis a parameter list specifying inputs

parlist should contain sublists "SOL"->"Risk Measure"->"Mean-Variance Quadrangle" and within the "Mean-Variance Quadrangle" sublist should have the following parameters

  • "Coefficient" (array of positive scalars).

Definition at line 88 of file ROL_MeanVarianceQuadrangle.hpp.

References checkInputs(), ROL::ExpectationQuad< Real >::ExpectationQuad(), and parseParameterList().

Member Function Documentation

◆ parseParameterList()

template<class Real>
void ROL::MeanVarianceQuadrangle< Real >::parseParameterList ( ROL::ParameterList & parlist)
inlineprivate

Definition at line 48 of file ROL_MeanVarianceQuadrangle.hpp.

References coeff_.

Referenced by MeanVarianceQuadrangle().

◆ checkInputs()

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

Definition at line 64 of file ROL_MeanVarianceQuadrangle.hpp.

References coeff_, and zero.

Referenced by MeanVarianceQuadrangle(), and MeanVarianceQuadrangle().

◆ error()

template<class Real>
Real ROL::MeanVarianceQuadrangle< Real >::error ( Real x,
int deriv = 0 )
inlinevirtual

Evaluate the scalar error function at x.

Parameters
[in]xis the scalar input
[in]derivis the derivative order

This function returns \(e(x)\) or a derivative of \(e(x)\).

Reimplemented from ROL::ExpectationQuad< Real >.

Definition at line 94 of file ROL_MeanVarianceQuadrangle.hpp.

References coeff_.

Referenced by regret().

◆ regret()

template<class Real>
Real ROL::MeanVarianceQuadrangle< Real >::regret ( Real x,
int deriv = 0 )
inlinevirtual

Evaluate the scalar regret function at x.

Parameters
[in]xis the scalar input
[in]derivis the derivative order

This function returns \(v(x)\) or a derivative of \(v(x)\).

Implements ROL::ExpectationQuad< Real >.

Definition at line 108 of file ROL_MeanVarianceQuadrangle.hpp.

References error(), and zero.

Member Data Documentation

◆ coeff_

template<class Real>
Real ROL::MeanVarianceQuadrangle< Real >::coeff_
private

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