10#ifndef ROL_MEANVARIANCEQUAD_HPP
11#define ROL_MEANVARIANCEQUAD_HPP
49 std::string type = parlist.sublist(
"SOL").get(
"Type",
"Risk Averse");
50 ROL::ParameterList list;
51 if (type ==
"Risk Averse") {
52 list = parlist.sublist(
"SOL").sublist(
"Risk Measure").sublist(
"Safety Margin");
54 else if (type ==
"Regret") {
55 list = parlist.sublist(
"SOL").sublist(
"Regret Measure").sublist(
"Mean L2");
57 else if (type ==
"Error" || type ==
"Deviation") {
58 coeff_ =
static_cast<Real
>(1);
61 coeff_ = list.get<Real>(
"Coefficient");
66 ROL_TEST_FOR_EXCEPTION((
coeff_ <=
zero), std::invalid_argument,
67 ">>> ERROR (ROL::MeanVarianceQuadrangle): Coefficient must be positive!");
94 Real
error(Real x,
int deriv = 0) {
109 Real
zero(0), one(1);
110 Real X = ((deriv==0) ? x : ((deriv==1) ? one :
zero));
111 Real reg =
error(x,deriv) + X;
Objective_SerialSimOpt(const Ptr< Obj > &obj, const V &ui) z0_ zero()
Provides a general interface for risk and error measures generated through the expectation risk quadr...
Provides an interface for the mean plus variance risk measure using the expectation risk quadrangle.
void checkInputs(void) const
Real error(Real x, int deriv=0)
Evaluate the scalar error function at x.
MeanVarianceQuadrangle(ROL::ParameterList &parlist)
Constructor.
Real regret(Real x, int deriv=0)
Evaluate the scalar regret function at x.
MeanVarianceQuadrangle(const Real coeff=1)
Constructor.
void parseParameterList(ROL::ParameterList &parlist)