ROL
|
Provides an interface for a smoothed version of the worst-case scenario risk measure using the expectation risk quadrangle. More...
#include <ROL_SmoothedWorstCaseQuadrangle.hpp>
Public Member Functions | |
SmoothedWorstCaseQuadrangle (const Real eps) | |
Constructor. More... | |
SmoothedWorstCaseQuadrangle (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... | |
void | checkRegret (void) |
Run default derivative tests for the scalar regret function. More... | |
![]() | |
ExpectationQuad (void) | |
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 | eps_ |
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 a smoothed version of the worst-case scenario risk measure using the expectation risk quadrangle.
The worst-case scenario risk measure is
\[ \mathcal{R}(X) = \sup_{\omega\in\Omega} X(\omega). \]
\(\mathcal{R}\) is a law-invariant coherent risk measure. Clearly, \(\mathcal{R}\) is not differentiable. As such, this class defines a smoothed version of \(\mathcal{R}\) the expectation risk quadrangle. In the nonsmooth case, the scalar regret function is \(v(x) = 0\) if \(x \le 0\) and \(v(x) = \infty\) if \(x > 0\). Similarly, the scalar error function is \(e(x) = -x\) if \(x \le 0 \) and \(e(x) = \infty\) if \(x > 0\). To smooth \(\mathcal{R}\), we perform Moreau-Yosida regularization on the scalar error function, i.e.,
\[ e_\epsilon(x) = \inf_{y\in\mathbb{R}} \left\{ e(y) + \frac{1}{2\epsilon} (x-y)^2\right\} % = \left\{\begin{array}{l l} % -\left(x+\frac{\epsilon}{2}\right) & % \text{if \f$x \le -\epsilon\f$}\\ % \frac{1}{2\epsilon}x^2 & \text{if \f$x > -\epsilon\f$}. % \end{array}\right. \]
for \(\epsilon > 0\). The corresponding scalar regret function is \(v_\epsilon(x) = e_\epsilon(x) + x\). \(\mathcal{R}\) is then implemented as
\[ \mathcal{R}(X) = \inf_{t\in\mathbb{R}}\left\{ t + \mathbb{E}[v_\epsilon(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 89 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
|
inline |
Constructor.
[in] | eps | is the regularization parameter |
Definition at line 105 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::checkInputs().
|
inline |
Constructor.
[in] | parlist | is a parameter list specifying inputs |
parlist should contain sublists "SOL"->"Risk Measure"->"Smoothed Worst-Case Quadrangle" and within the "Smoothed Worst-Case Quadrangle" sublist should have the following parameters
Definition at line 118 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::checkInputs(), and ROL::SmoothedWorstCaseQuadrangle< Real >::eps_.
|
inlineprivate |
Definition at line 94 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::eps_.
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::SmoothedWorstCaseQuadrangle().
|
inline |
Definition at line 125 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::eps_.
Referenced by ROL::SmoothedWorstCaseQuadrangle< 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 139 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::error().
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::checkRegret().
|
inlinevirtual |
Run default derivative tests for the scalar regret function.
Reimplemented from ROL::ExpectationQuad< Real >.
Definition at line 146 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::ExpectationQuad< Real >::checkRegret(), ROL::SmoothedWorstCaseQuadrangle< Real >::eps_, and ROL::SmoothedWorstCaseQuadrangle< Real >::regret().
|
private |
Definition at line 92 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::checkInputs(), ROL::SmoothedWorstCaseQuadrangle< Real >::checkRegret(), ROL::SmoothedWorstCaseQuadrangle< Real >::error(), and ROL::SmoothedWorstCaseQuadrangle< Real >::SmoothedWorstCaseQuadrangle().