44#ifndef ROL_MEANVARIANCEQUAD_HPP
45#define ROL_MEANVARIANCEQUAD_HPP
83 std::string type = parlist.sublist(
"SOL").get(
"Type",
"Risk Averse");
84 ROL::ParameterList list;
85 if (type ==
"Risk Averse") {
86 list = parlist.sublist(
"SOL").sublist(
"Risk Measure").sublist(
"Safety Margin");
88 else if (type ==
"Regret") {
89 list = parlist.sublist(
"SOL").sublist(
"Regret Measure").sublist(
"Mean L2");
91 else if (type ==
"Error" || type ==
"Deviation") {
92 coeff_ =
static_cast<Real
>(1);
95 coeff_ = list.get<Real>(
"Coefficient");
100 ROL_TEST_FOR_EXCEPTION((
coeff_ <=
zero), std::invalid_argument,
101 ">>> ERROR (ROL::MeanVarianceQuadrangle): Coefficient must be positive!");
143 Real
zero(0), one(1);
144 Real X = ((deriv==0) ? x : ((deriv==1) ? one :
zero));
145 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)