|
ROL
|
Provides an interface for a convex combination of the expected value and the higher moment coherent risk measure. More...
#include <ROL_HMCR.hpp>
Public Member Functions | |
| HMCR (const Real prob, const Real lambda, const unsigned order, const ROL::Ptr< PlusFunction< Real > > &pf) | |
| Constructor. | |
| HMCR (ROL::ParameterList &parlist) | |
| Constructor. | |
| 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 Member Functions | |
| void | checkInputs (void) const |
Private Attributes | |
| ROL::Ptr< PlusFunction< Real > > | plusFunction_ |
| Real | prob_ |
| Real | lambda_ |
| unsigned | order_ |
| Real | coeff_ |
| ROL::Ptr< Vector< Real > > | mDualVector_ |
| Real | pnorm_ |
| Real | coeff0_ |
| Real | coeff1_ |
| Real | coeff2_ |
| bool | HMCR_firstReset_ |
Provides an interface for a convex combination of the expected value and the higher moment coherent risk measure.
The higher moment coherent risk measure of order \(p\) with confidence level \(0\le \beta < 1\) is
\[ \mathcal{R}(X) = \inf_{t\in\mathbb{R}} \left\{ t + \frac{1}{1-\beta} \mathbb{E}\left[(X-t)_+^p\right]^{1/p} \right\} \]
where \((x)_+ = \max\{0,x\}\). \(\mathcal{R}\) is a law-invariant coherent risk measure. ROL implements this by augmenting the optimization vector \(x_0\) with the parameter \(t\), then minimizes jointly for \((x_0,t)\).
The user can provide a smooth approximation of \((\cdot)_+\) using the ROL::PlusFunction class.
Definition at line 41 of file ROL_HMCR.hpp.
|
inline |
Constructor.
| [in] | prob | is the confidence level |
| [in] | lambda | is the convex combination parameter (lambda=0 corresponds to the expected value whereas lambda=1 corresponds to the higher moment coherent risk measure) |
| [in] | order | is the order of higher moment coherent risk measure |
| [in] | pf | is the plus function or an approximation |
Definition at line 100 of file ROL_HMCR.hpp.
References checkInputs(), coeff0_, coeff1_, coeff2_, coeff_, HMCR_firstReset_, lambda_, order_, plusFunction_, pnorm_, and prob_.
|
inline |
Constructor.
| [in] | parlist | is a parameter list specifying inputs |
parlist should contain sublists "SOL"->"Risk Measure"->"HMCR" and within the "HMCR" sublist should have the following parameters
Definition at line 122 of file ROL_HMCR.hpp.
References checkInputs(), coeff0_, coeff1_, coeff2_, coeff_, HMCR_firstReset_, lambda_, order_, plusFunction_, pnorm_, and prob_.
|
inlineprivate |
Definition at line 78 of file ROL_HMCR.hpp.
References lambda_, order_, plusFunction_, prob_, and zero.
Definition at line 140 of file ROL_HMCR.hpp.
References ROL::Vector< Real >::clone(), coeff0_, coeff1_, coeff2_, ROL::Vector< Real >::dual(), HMCR_firstReset_, mDualVector_, pnorm_, and zero.
|
inline |
Definition at line 154 of file ROL_HMCR.hpp.
References order_, plusFunction_, and pnorm_.
|
inline |
Definition at line 167 of file ROL_HMCR.hpp.
References coeff_, lambda_, order_, pnorm_, and ROL::SampleGenerator< Real >::sumAll().
|
inline |
Definition at line 180 of file ROL_HMCR.hpp.
References coeff0_, order_, plusFunction_, and pnorm_.
|
inline |
Definition at line 204 of file ROL_HMCR.hpp.
References ROL::Vector< Real >::axpy(), coeff0_, coeff_, lambda_, order_, pnorm_, ROL::Vector< Real >::scale(), ROL::SampleGenerator< Real >::sumAll(), and zero.
|
inline |
Definition at line 232 of file ROL_HMCR.hpp.
References coeff0_, coeff1_, coeff2_, mDualVector_, order_, plusFunction_, and pnorm_.
|
inline |
Definition at line 270 of file ROL_HMCR.hpp.
References ROL::Vector< Real >::axpy(), coeff0_, coeff1_, coeff2_, coeff_, lambda_, mDualVector_, order_, pnorm_, ROL::Vector< Real >::scale(), ROL::SampleGenerator< Real >::sumAll(), and zero.
|
private |
Definition at line 44 of file ROL_HMCR.hpp.
Referenced by checkInputs(), HMCR(), HMCR(), updateGradient(), updateHessVec(), and updateValue().
|
private |
Definition at line 45 of file ROL_HMCR.hpp.
Referenced by checkInputs(), HMCR(), and HMCR().
|
private |
Definition at line 46 of file ROL_HMCR.hpp.
Referenced by checkInputs(), getGradient(), getHessVec(), getValue(), HMCR(), and HMCR().
|
private |
Definition at line 47 of file ROL_HMCR.hpp.
Referenced by checkInputs(), getGradient(), getHessVec(), getValue(), HMCR(), HMCR(), updateGradient(), updateHessVec(), and updateValue().
|
private |
Definition at line 50 of file ROL_HMCR.hpp.
Referenced by getGradient(), getHessVec(), getValue(), HMCR(), and HMCR().
Definition at line 53 of file ROL_HMCR.hpp.
Referenced by getHessVec(), initialize(), and updateHessVec().
|
private |
Definition at line 56 of file ROL_HMCR.hpp.
Referenced by getGradient(), getHessVec(), getValue(), HMCR(), HMCR(), initialize(), updateGradient(), updateHessVec(), and updateValue().
|
private |
Definition at line 57 of file ROL_HMCR.hpp.
Referenced by getGradient(), getHessVec(), HMCR(), HMCR(), initialize(), updateGradient(), and updateHessVec().
|
private |
Definition at line 58 of file ROL_HMCR.hpp.
Referenced by getHessVec(), HMCR(), HMCR(), initialize(), and updateHessVec().
|
private |
Definition at line 59 of file ROL_HMCR.hpp.
Referenced by getHessVec(), HMCR(), HMCR(), initialize(), and updateHessVec().
|
private |
Definition at line 62 of file ROL_HMCR.hpp.
Referenced by HMCR(), HMCR(), and initialize().