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 (ROL::ParameterList &parlist) | |
Constructor. More... | |
Real | error (Real x, int deriv=0) |
Evaluate the scalar error function at x. More... | |
Real | regret (Real x, int deriv=0) |
Evaluate the scalar regret function at x. More... | |
void | check (void) |
Run default derivative tests for the scalar regret function. More... | |
Public Member Functions inherited from ROL::ExpectationQuad< Real > | |
virtual | ~ExpectationQuad (void) |
ExpectationQuad (void) | |
Private Member Functions | |
void | parseParameterList (ROL::ParameterList &parlist) |
void | checkInputs (void) const |
Private Attributes | |
Real | eps_ |
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 55 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
|
inline |
Constructor.
[in] | eps | is the regularization parameter |
Definition at line 89 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 102 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::checkInputs(), and ROL::SmoothedWorstCaseQuadrangle< Real >::parseParameterList().
|
inlineprivate |
Definition at line 60 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::eps_.
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::SmoothedWorstCaseQuadrangle().
|
inlineprivate |
Definition at line 78 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::eps_, and zero.
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::SmoothedWorstCaseQuadrangle().
|
inlinevirtual |
Evaluate the scalar error function at x.
[in] | x | is the scalar input |
[in] | deriv | is the derivative order |
This function returns \(e(x)\) or a derivative of \(e(x)\).
Reimplemented from ROL::ExpectationQuad< Real >.
Definition at line 107 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::eps_, and zero.
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 121 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::SmoothedWorstCaseQuadrangle< Real >::error(), and zero.
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::check().
|
inlinevirtual |
Run default derivative tests for the scalar regret function.
Reimplemented from ROL::ExpectationQuad< Real >.
Definition at line 128 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
References ROL::ExpectationQuad< Real >::check(), ROL::SmoothedWorstCaseQuadrangle< Real >::eps_, ROL::SmoothedWorstCaseQuadrangle< Real >::regret(), and zero.
|
private |
Definition at line 58 of file ROL_SmoothedWorstCaseQuadrangle.hpp.
Referenced by ROL::SmoothedWorstCaseQuadrangle< Real >::check(), ROL::SmoothedWorstCaseQuadrangle< Real >::checkInputs(), ROL::SmoothedWorstCaseQuadrangle< Real >::error(), and ROL::SmoothedWorstCaseQuadrangle< Real >::parseParameterList().