ROL
|
Provides an interface for the mean plus variance risk measure using the expectation risk quadrangle. More...
#include <ROL_MeanVarianceQuadrangle.hpp>
Public Member Functions | |
MeanVarianceQuadrangle (const Real coeff=1) | |
Constructor. More... | |
MeanVarianceQuadrangle (Teuchos::ParameterList &parlist) | |
Constructor. More... | |
Real | error (Real x, int deriv=0) |
Real | regret (Real x, int deriv=0) |
Evaluate the scalar regret function at x. More... | |
![]() | |
ExpectationQuad (void) | |
virtual void | checkRegret (void) |
Run default derivative tests for the scalar regret function. More... | |
void | reset (Teuchos::RCP< Vector< Real > > &x0, const Vector< Real > &x) |
Reset internal risk measure storage. Called for value and gradient computation. More... | |
void | reset (Teuchos::RCP< Vector< Real > > &x0, const Vector< Real > &x, Teuchos::RCP< Vector< Real > > &v0, const Vector< Real > &v) |
Reset internal risk measure storage. Called for Hessian-times-a-vector computation. More... | |
void | update (const Real val, const Real weight) |
Update internal risk measure storage for value computation. More... | |
void | update (const Real val, const Vector< Real > &g, const Real weight) |
Update internal risk measure storage for gradient computation. More... | |
void | update (const Real val, const Vector< Real > &g, const Real gv, const Vector< Real > &hv, const Real weight) |
Update internal risk measure storage for Hessian-time-a-vector computation. More... | |
Real | getValue (SampleGenerator< Real > &sampler) |
Return risk measure value. More... | |
void | getGradient (Vector< Real > &g, SampleGenerator< Real > &sampler) |
Return risk measure (sub)gradient. More... | |
void | getHessVec (Vector< Real > &hv, SampleGenerator< Real > &sampler) |
Return risk measure Hessian-times-a-vector. More... | |
![]() | |
virtual | ~RiskMeasure () |
RiskMeasure (void) | |
Private Member Functions | |
void | checkInputs (void) const |
Private Attributes | |
Real | coeff_ |
Additional Inherited Members | |
![]() | |
Real | val_ |
Real | gv_ |
Teuchos::RCP< Vector< Real > > | g_ |
Teuchos::RCP< Vector< Real > > | hv_ |
Teuchos::RCP< Vector< Real > > | dualVector_ |
bool | firstReset_ |
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 78 of file ROL_MeanVarianceQuadrangle.hpp.
|
inline |
Constructor.
[in] | coeff | is the weight for variance term |
Definition at line 93 of file ROL_MeanVarianceQuadrangle.hpp.
References ROL::MeanVarianceQuadrangle< Real >::checkInputs().
|
inline |
Constructor.
[in] | parlist | is 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
Definition at line 106 of file ROL_MeanVarianceQuadrangle.hpp.
References ROL::MeanVarianceQuadrangle< Real >::checkInputs(), and ROL::MeanVarianceQuadrangle< Real >::coeff_.
|
inlineprivate |
Definition at line 82 of file ROL_MeanVarianceQuadrangle.hpp.
References ROL::MeanVarianceQuadrangle< Real >::coeff_.
Referenced by ROL::MeanVarianceQuadrangle< Real >::MeanVarianceQuadrangle().
|
inline |
Definition at line 114 of file ROL_MeanVarianceQuadrangle.hpp.
References ROL::MeanVarianceQuadrangle< Real >::coeff_.
Referenced by ROL::MeanVarianceQuadrangle< Real >::regret().
|
inlinevirtual |
Evaluate the scalar regret function at x.
[in] | x | is the scalar input |
[in] | deriv | is the derivative order |
This function returns \(v(x)\) or a derivative of \(v(x)\).
Implements ROL::ExpectationQuad< Real >.
Definition at line 128 of file ROL_MeanVarianceQuadrangle.hpp.
References ROL::MeanVarianceQuadrangle< Real >::error().
|
private |
Definition at line 80 of file ROL_MeanVarianceQuadrangle.hpp.
Referenced by ROL::MeanVarianceQuadrangle< Real >::checkInputs(), ROL::MeanVarianceQuadrangle< Real >::error(), and ROL::MeanVarianceQuadrangle< Real >::MeanVarianceQuadrangle().