230 std::string risk = parlist.sublist(
"SOL").sublist(
"Risk Measure").get(
"Name",
"CVaR");
234 return makePtr<CVaR<Real>>(parlist);
236 return makePtr<ExpectationQuadRisk<Real>>(makePtr<MoreauYosidaCVaR<Real>>(parlist));
238 return makePtr<ExpectationQuadRisk<Real>>(makePtr<GenMoreauYosidaCVaR<Real>>(parlist));
240 return makePtr<MixedCVaR<Real>>(parlist);
242 return makePtr<SpectralRisk<Real>>(parlist);
244 return makePtr<SecondOrderCVaR<Real>>(parlist);
246 return makePtr<ChebyshevSpectral<Real>>(parlist);
248 return makePtr<QuantileRadius<Real>>(parlist);
250 return makePtr<HMCR<Real>>(parlist);
252 return makePtr<EntropicRisk<Real>>(parlist);
254 return makePtr<CoherentEntropicRisk<Real>>();
256 return makePtr<MeanSemiDeviation<Real>>(parlist);
258 return makePtr<MeanSemiDeviationFromTarget<Real>>(parlist);
260 return makePtr<MeanDeviationFromTarget<Real>>(parlist);
262 return makePtr<MeanDeviation<Real>>(parlist);
264 return makePtr<MeanVarianceFromTarget<Real>>(parlist);
266 return makePtr<MeanVariance<Real>>(parlist);
268 return makePtr<ExpectationQuadRisk<Real>>(makePtr<TruncatedMeanQuadrangle<Real>>(parlist));
270 return makePtr<ExpectationQuadRisk<Real>>(makePtr<LogQuantileQuadrangle<Real>>(parlist));
272 return makePtr<ExpectationQuadRisk<Real>>(makePtr<SmoothedWorstCaseQuadrangle<Real>>(parlist));
274 return makePtr<ExpectationQuadRisk<Real>>(makePtr<LogExponentialQuadrangle<Real>>(parlist));
276 return makePtr<ExpectationQuadRisk<Real>>(makePtr<MeanVarianceQuadrangle<Real>>(parlist));
278 return makePtr<Chi2Divergence<Real>>(parlist);
280 return makePtr<KLDivergence<Real>>(parlist);
282 ROL_TEST_FOR_EXCEPTION(
true,std::invalid_argument,
283 "Invalid risk measure type " << risk <<
"!");