ROL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
ROL::OptimizationProblem< Real > Class Template Reference

#include <ROL_OptimizationProblem.hpp>

Public Member Functions

virtual ~OptimizationProblem (void)
 
 OptimizationProblem (void)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const Ptr< Constraint< Real >> &econ, const Ptr< Vector< Real >> &emul, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul, const Ptr< Constraint< Real >> &icon, const Ptr< Vector< Real >> &imul, const Ptr< BoundConstraint< Real >> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const Ptr< Constraint< Real >> &econ, const Ptr< Vector< Real >> &emul, const Ptr< Constraint< Real >> &icon, const Ptr< Vector< Real >> &imul, const Ptr< BoundConstraint< Real >> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< Constraint< Real >> &econ, const Ptr< Vector< Real >> &emul, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul, const Ptr< Constraint< Real >> &icon, const Ptr< Vector< Real >> &imul, const Ptr< BoundConstraint< Real >> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< Constraint< Real >> &econ, const Ptr< Vector< Real >> &emul, const Ptr< Constraint< Real >> &icon, const Ptr< Vector< Real >> &imul, const Ptr< BoundConstraint< Real >> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const Ptr< Constraint< Real >> &econ, const Ptr< Vector< Real >> &emul)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const Ptr< Constraint< Real >> &icon, const Ptr< Vector< Real >> &imul, const Ptr< BoundConstraint< Real >> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< Constraint< Real >> &econ, const Ptr< Vector< Real >> &emul)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< Constraint< Real >> &icon, const Ptr< Vector< Real >> &imul, const Ptr< BoundConstraint< Real >> &ibnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd)
 
 OptimizationProblem (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x)
 
virtual Ptr< Objective< Real > > getObjective (void)
 
virtual Ptr< Vector< Real > > getSolutionVector (void)
 
virtual Ptr< BoundConstraint
< Real > > 
getBoundConstraint (void)
 
virtual Ptr< Constraint< Real > > getConstraint (void)
 
virtual Ptr< Vector< Real > > getMultiplierVector (void)
 
EProblem getProblemType (void)
 
void setMeanValueObjective (const Ptr< SampleGenerator< Real >> &sampler)
 Set objective function to mean value objective. More...
 
void setRiskNeutralObjective (const Ptr< SampleGenerator< Real >> &vsampler, const Ptr< SampleGenerator< Real >> &gsampler=nullPtr, const Ptr< SampleGenerator< Real >> &hsampler=nullPtr, const bool storage=true)
 Set objective function to risk neutral objective. More...
 
void setRiskAverseObjective (ParameterList &parlist, const Ptr< SampleGenerator< Real >> &vsampler, const Ptr< SampleGenerator< Real >> &gsampler=nullPtr, const Ptr< SampleGenerator< Real >> &hsampler=nullPtr)
 Set objective function to risk averse objective. More...
 
void setStochasticObjective (ParameterList &parlist, const Ptr< SampleGenerator< Real >> &vsampler, const Ptr< SampleGenerator< Real >> &gsampler=nullPtr, const Ptr< SampleGenerator< Real >> &hsampler=nullPtr)
 
void setMeanValueEquality (const Ptr< SampleGenerator< Real >> &sampler, const int index=0)
 
void setRiskNeutralEquality (const Ptr< SampleGenerator< Real >> &xsampler, const Ptr< BatchManager< Real >> &cbman, const int index=0)
 
void setAlmostSureEquality (const Ptr< SampleGenerator< Real >> &sampler, const int index=0)
 
void setStochasticEquality (std::vector< ParameterList > &parlist, const std::vector< Ptr< SampleGenerator< Real >>> &xsampler, const std::vector< Ptr< BatchManager< Real >>> &cbman)
 
void setStochasticEquality (ParameterList &parlist, const Ptr< SampleGenerator< Real >> &xsampler, const Ptr< BatchManager< Real >> &cbman)
 
void setMeanValueInequality (const Ptr< SampleGenerator< Real >> &sampler, const int index=0)
 
void setRiskNeutralInequality (const Ptr< SampleGenerator< Real >> &xsampler, const Ptr< BatchManager< Real >> &cbman, const int index=0)
 
void setRiskAverseInequality (ParameterList &parlist, const Ptr< SampleGenerator< Real >> &sampler, const int index=0)
 
void setAlmostSureInequality (const Ptr< SampleGenerator< Real >> &sampler, const int index=0)
 
void setStochasticInequality (std::vector< ParameterList > &parlist, const std::vector< Ptr< SampleGenerator< Real >>> &xsampler, const std::vector< Ptr< BatchManager< Real >>> &cbman)
 
void setStochasticInequality (ParameterList &parlist, const Ptr< SampleGenerator< Real >> &xsampler, const Ptr< BatchManager< Real >> &cbman)
 
Real getSolutionStatistic (int comp=0, int index=0)
 Returns the statistic from the soluton vector. More...
 
std::vector< Real > getObjectiveStatistic (void) const
 
std::vector< Real > getConstraintStatistic (const int index=0) const
 
void reset (void)
 
void checkSolutionVector (Vector< Real > &x, Vector< Real > &y, Vector< Real > &u, std::ostream &outStream=std::cout)
 
void checkSolutionVector (OptimizationProblemCheckData< Real > &data, Vector< Real > &x, Vector< Real > &y, Vector< Real > &u, std::ostream &outStream=std::cout)
 
void checkObjective (Vector< Real > &x, Vector< Real > &u, Vector< Real > &v, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
void checkObjective (OptimizationProblemCheckData< Real > &data, Vector< Real > &x, Vector< Real > &u, Vector< Real > &v, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
void checkMultiplierVector (Vector< Real > &w, Vector< Real > &q, Vector< Real > &l, std::ostream &outStream=std::cout)
 
void checkMultiplierVector (OptimizationProblemCheckData< Real > &data, Vector< Real > &w, Vector< Real > &q, Vector< Real > &l, std::ostream &outStream=std::cout)
 
void checkConstraint (Vector< Real > &x, Vector< Real > &u, Vector< Real > &v, Vector< Real > &c, Vector< Real > &l, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
void checkConstraint (OptimizationProblemCheckData< Real > &data, Vector< Real > &x, Vector< Real > &u, Vector< Real > &v, Vector< Real > &c, Vector< Real > &l, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
void check (std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 
void check (OptimizationProblemCheckData< Real > &data, std::ostream &outStream=std::cout, const int numSteps=ROL_NUM_CHECKDERIV_STEPS, const int order=1)
 

Private Member Functions

void initialize (const Ptr< Objective< Real >> &obj, const Ptr< Vector< Real >> &x, const Ptr< BoundConstraint< Real >> &bnd, const std::vector< Ptr< Constraint< Real >>> &econ, const std::vector< Ptr< Vector< Real >>> &emul, const std::vector< Ptr< Constraint< Real >>> &icon, const std::vector< Ptr< Vector< Real >>> &imul, const std::vector< Ptr< BoundConstraint< Real >>> &ibnd)
 
const Ptr< Constraint< Real > > setRiskLessCon (const Ptr< Constraint< Real >> &con, const bool needRiskLess) const
 
const Ptr< Objective< Real > > setRiskLessObj (const Ptr< Objective< Real >> &obj, const bool needRiskLess) const
 
std::vector< Real > computeSampleMean (const Ptr< SampleGenerator< Real >> &sampler) const
 
void initStochastic (void)
 
void buildRiskVec (Ptr< Vector< Real >> &x)
 
void buildRiskBnd (Ptr< BoundConstraint< Real >> &bnd)
 

Private Attributes

Ptr< Objective< Real > > INPUT_obj_
 
Ptr< Vector< Real > > INPUT_sol_
 
Ptr< BoundConstraint< Real > > INPUT_bnd_
 
std::vector< Ptr< Constraint
< Real > > > 
INPUT_econ_
 
std::vector< Ptr< Vector< Real > > > INPUT_emul_
 
std::vector< Ptr< Constraint
< Real > > > 
INPUT_icon_
 
std::vector< Ptr< Vector< Real > > > INPUT_imul_
 
std::vector< Ptr
< BoundConstraint< Real > > > 
INPUT_ibnd_
 
Ptr< Objective< Real > > INTERMEDIATE_obj_
 
Ptr< Vector< Real > > INTERMEDIATE_sol_
 
Ptr< BoundConstraint< Real > > INTERMEDIATE_bnd_
 
std::vector< Ptr< Constraint
< Real > > > 
INTERMEDIATE_econ_
 
std::vector< Ptr< Vector< Real > > > INTERMEDIATE_emul_
 
std::vector< Ptr< Constraint
< Real > > > 
INTERMEDIATE_icon_
 
std::vector< Ptr< Vector< Real > > > INTERMEDIATE_imul_
 
std::vector< Ptr
< BoundConstraint< Real > > > 
INTERMEDIATE_ibnd_
 
Ptr< SampleGenerator< Real > > vsampler_
 
Ptr< SampleGenerator< Real > > gsampler_
 
Ptr< SampleGenerator< Real > > hsampler_
 
std::vector< Ptr
< SampleGenerator< Real > > > 
exsampler_
 
std::vector< Ptr< BatchManager
< Real > > > 
ecbman_
 
std::vector< Ptr
< SampleGenerator< Real > > > 
ixsampler_
 
std::vector< Ptr< BatchManager
< Real > > > 
icbman_
 
Ptr< ParameterList > parlistObj_
 
std::vector< Ptr< ParameterList > > parlistCon_
 
Ptr< Objective< Real > > obj_
 
Ptr< Vector< Real > > sol_
 
Ptr< BoundConstraint< Real > > bnd_
 
Ptr< Constraint< Real > > con_
 
Ptr< Vector< Real > > mul_
 
Ptr< ConstraintManager< Real > > conManager_
 
EProblem problemType_
 
bool isInitialized_
 
bool needRiskLessObj_
 
std::vector< bool > needRiskLessEcon_
 
std::vector< bool > needRiskLessIcon_
 
bool isStochastic_
 

Detailed Description

template<class Real>
class ROL::OptimizationProblem< Real >

Definition at line 88 of file ROL_OptimizationProblem.hpp.

Constructor & Destructor Documentation

template<class Real>
virtual ROL::OptimizationProblem< Real >::~OptimizationProblem ( void  )
inlinevirtual

Definition at line 293 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( void  )
inline

Definition at line 296 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inline

Definition at line 300 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const Ptr< Constraint< Real >> &  econ,
const Ptr< Vector< Real >> &  emul,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inline
template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul,
const Ptr< Constraint< Real >> &  icon,
const Ptr< Vector< Real >> &  imul,
const Ptr< BoundConstraint< Real >> &  ibnd 
)
inline
template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const Ptr< Constraint< Real >> &  econ,
const Ptr< Vector< Real >> &  emul,
const Ptr< Constraint< Real >> &  icon,
const Ptr< Vector< Real >> &  imul,
const Ptr< BoundConstraint< Real >> &  ibnd 
)
inline
template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inline

Definition at line 390 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< Constraint< Real >> &  econ,
const Ptr< Vector< Real >> &  emul,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inline

Definition at line 399 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul,
const Ptr< Constraint< Real >> &  icon,
const Ptr< Vector< Real >> &  imul,
const Ptr< BoundConstraint< Real >> &  ibnd 
)
inline

Definition at line 408 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< Constraint< Real >> &  econ,
const Ptr< Vector< Real >> &  emul,
const Ptr< Constraint< Real >> &  icon,
const Ptr< Vector< Real >> &  imul,
const Ptr< BoundConstraint< Real >> &  ibnd 
)
inline

Definition at line 417 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul 
)
inline

Definition at line 427 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const Ptr< Constraint< Real >> &  econ,
const Ptr< Vector< Real >> &  emul 
)
inline

Definition at line 434 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inline

Definition at line 442 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const Ptr< Constraint< Real >> &  icon,
const Ptr< Vector< Real >> &  imul,
const Ptr< BoundConstraint< Real >> &  ibnd 
)
inline

Definition at line 450 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul 
)
inline

Definition at line 459 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< Constraint< Real >> &  econ,
const Ptr< Vector< Real >> &  emul 
)
inline

Definition at line 465 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inline

Definition at line 472 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< Constraint< Real >> &  icon,
const Ptr< Vector< Real >> &  imul,
const Ptr< BoundConstraint< Real >> &  ibnd 
)
inline

Definition at line 479 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd 
)
inline

Definition at line 487 of file ROL_OptimizationProblem.hpp.

template<class Real>
ROL::OptimizationProblem< Real >::OptimizationProblem ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x 
)
inline

Definition at line 493 of file ROL_OptimizationProblem.hpp.

Member Function Documentation

template<class Real>
void ROL::OptimizationProblem< Real >::initialize ( const Ptr< Objective< Real >> &  obj,
const Ptr< Vector< Real >> &  x,
const Ptr< BoundConstraint< Real >> &  bnd,
const std::vector< Ptr< Constraint< Real >>> &  econ,
const std::vector< Ptr< Vector< Real >>> &  emul,
const std::vector< Ptr< Constraint< Real >>> &  icon,
const std::vector< Ptr< Vector< Real >>> &  imul,
const std::vector< Ptr< BoundConstraint< Real >>> &  ibnd 
)
inlineprivate
template<class Real>
const Ptr<Constraint<Real> > ROL::OptimizationProblem< Real >::setRiskLessCon ( const Ptr< Constraint< Real >> &  con,
const bool  needRiskLess 
) const
inlineprivate
template<class Real>
const Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::setRiskLessObj ( const Ptr< Objective< Real >> &  obj,
const bool  needRiskLess 
) const
inlineprivate
template<class Real>
std::vector<Real> ROL::OptimizationProblem< Real >::computeSampleMean ( const Ptr< SampleGenerator< Real >> &  sampler) const
inlineprivate
template<class Real>
void ROL::OptimizationProblem< Real >::initStochastic ( void  )
inlineprivate
template<class Real>
void ROL::OptimizationProblem< Real >::buildRiskVec ( Ptr< Vector< Real >> &  x)
inlineprivate
template<class Real>
void ROL::OptimizationProblem< Real >::buildRiskBnd ( Ptr< BoundConstraint< Real >> &  bnd)
inlineprivate
template<class Real>
virtual Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::getObjective ( void  )
inlinevirtual
template<class Real>
virtual Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::getSolutionVector ( void  )
inlinevirtual
template<class Real>
virtual Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::getBoundConstraint ( void  )
inlinevirtual
template<class Real>
virtual Ptr<Constraint<Real> > ROL::OptimizationProblem< Real >::getConstraint ( void  )
inlinevirtual
template<class Real>
virtual Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::getMultiplierVector ( void  )
inlinevirtual
template<class Real>
EProblem ROL::OptimizationProblem< Real >::getProblemType ( void  )
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setMeanValueObjective ( const Ptr< SampleGenerator< Real >> &  sampler)
inline

Set objective function to mean value objective.

We assume the objective function is parametrized by an additional variable (other than the optimization variable). This variable could, e.g., be random. The mean value objective function evaluates the the parametrized objective function at the sample average of the auxiliary variable.

Parameters
[in]sampleris the SampleGenerator defining the distribution of the auxiliary parameter

Definition at line 560 of file ROL_OptimizationProblem.hpp.

References ROL::OptimizationProblem< Real >::buildRiskBnd(), ROL::OptimizationProblem< Real >::buildRiskVec(), ROL::OptimizationProblem< Real >::computeSampleMean(), ROL::OptimizationProblem< Real >::gsampler_, ROL::OptimizationProblem< Real >::hsampler_, ROL::OptimizationProblem< Real >::initStochastic(), ROL::OptimizationProblem< Real >::INPUT_bnd_, ROL::OptimizationProblem< Real >::INPUT_obj_, ROL::OptimizationProblem< Real >::INPUT_sol_, ROL::OptimizationProblem< Real >::INTERMEDIATE_obj_, ROL::OptimizationProblem< Real >::isInitialized_, and ROL::OptimizationProblem< Real >::vsampler_.

Referenced by ROL::OptimizationProblem< Real >::setStochasticObjective().

template<class Real>
void ROL::OptimizationProblem< Real >::setRiskNeutralObjective ( const Ptr< SampleGenerator< Real >> &  vsampler,
const Ptr< SampleGenerator< Real >> &  gsampler = nullPtr,
const Ptr< SampleGenerator< Real >> &  hsampler = nullPtr,
const bool  storage = true 
)
inline

Set objective function to risk neutral objective.

We assume the objective function is parametrized by an additional variable (other than the optimization variable). This variable could, e.g., be random. The risk neutral objective function evaluates the the average of parametrized objective function.

Parameters
[in]vsampleris the SampleGenerator defining the distribution of the auxiliary parameter for the value
[in]gsampleris the SampleGenerator defining the distribution of the auxiliary parameter for the gradient
[in]hsampleris the SampleGenerator defining the distribution of the auxiliary parameter for the Hessian
[in]storagewhether or not to store the sampled value and gradient

Definition at line 594 of file ROL_OptimizationProblem.hpp.

References ROL::OptimizationProblem< Real >::buildRiskBnd(), ROL::OptimizationProblem< Real >::buildRiskVec(), ROL::OptimizationProblem< Real >::gsampler_, ROL::OptimizationProblem< Real >::hsampler_, ROL::OptimizationProblem< Real >::initStochastic(), ROL::OptimizationProblem< Real >::INPUT_bnd_, ROL::OptimizationProblem< Real >::INPUT_obj_, ROL::OptimizationProblem< Real >::INPUT_sol_, ROL::OptimizationProblem< Real >::INTERMEDIATE_obj_, ROL::OptimizationProblem< Real >::isInitialized_, and ROL::OptimizationProblem< Real >::vsampler_.

Referenced by ROL::OptimizationProblem< Real >::setStochasticObjective().

template<class Real>
void ROL::OptimizationProblem< Real >::setRiskAverseObjective ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  vsampler,
const Ptr< SampleGenerator< Real >> &  gsampler = nullPtr,
const Ptr< SampleGenerator< Real >> &  hsampler = nullPtr 
)
inline

Set objective function to risk averse objective.

We assume the objective function is parametrized by an additional variable (other than the optimization variable). This variable could, e.g., be random. The risk averse objective function evaluates the the ``risk'' of parametrized objective function.

Parameters
[in]parlistcontains the information defining the risk measure
[in]vsampleris the SampleGenerator defining the distribution of the auxiliary parameter for the value
[in]gsampleris the SampleGenerator defining the distribution of the auxiliary parameter for the gradient
[in]hsampleris the SampleGenerator defining the distribution of the auxiliary parameter for the Hessian

Definition at line 636 of file ROL_OptimizationProblem.hpp.

References ROL::OptimizationProblem< Real >::buildRiskBnd(), ROL::OptimizationProblem< Real >::buildRiskVec(), ROL::OptimizationProblem< Real >::gsampler_, ROL::OptimizationProblem< Real >::hsampler_, ROL::OptimizationProblem< Real >::initStochastic(), ROL::OptimizationProblem< Real >::INPUT_bnd_, ROL::OptimizationProblem< Real >::INPUT_obj_, ROL::OptimizationProblem< Real >::INPUT_sol_, ROL::OptimizationProblem< Real >::INTERMEDIATE_obj_, ROL::OptimizationProblem< Real >::isInitialized_, ROL::OptimizationProblem< Real >::needRiskLessObj_, ROL::OptimizationProblem< Real >::parlistObj_, and ROL::OptimizationProblem< Real >::vsampler_.

Referenced by ROL::OptimizationProblem< Real >::setStochasticObjective().

template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticObjective ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  vsampler,
const Ptr< SampleGenerator< Real >> &  gsampler = nullPtr,
const Ptr< SampleGenerator< Real >> &  hsampler = nullPtr 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setMeanValueEquality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setRiskNeutralEquality ( const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setAlmostSureEquality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticEquality ( std::vector< ParameterList > &  parlist,
const std::vector< Ptr< SampleGenerator< Real >>> &  xsampler,
const std::vector< Ptr< BatchManager< Real >>> &  cbman 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticEquality ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setMeanValueInequality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setRiskNeutralInequality ( const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setRiskAverseInequality ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setAlmostSureInequality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticInequality ( std::vector< ParameterList > &  parlist,
const std::vector< Ptr< SampleGenerator< Real >>> &  xsampler,
const std::vector< Ptr< BatchManager< Real >>> &  cbman 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticInequality ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman 
)
inline
template<class Real>
Real ROL::OptimizationProblem< Real >::getSolutionStatistic ( int  comp = 0,
int  index = 0 
)
inline

Returns the statistic from the soluton vector.

Parameters
[in]compis the component of the risk vector (0 for objective, 1 for inequality constraint)
[in]indexis the inequality constraint index

Definition at line 968 of file ROL_OptimizationProblem.hpp.

References ROL::OptimizationProblem< Real >::INTERMEDIATE_icon_, ROL::OptimizationProblem< Real >::INTERMEDIATE_obj_, and ROL::OptimizationProblem< Real >::INTERMEDIATE_sol_.

Referenced by main().

template<class Real>
std::vector<Real> ROL::OptimizationProblem< Real >::getObjectiveStatistic ( void  ) const
inline
template<class Real>
std::vector<Real> ROL::OptimizationProblem< Real >::getConstraintStatistic ( const int  index = 0) const
inline
template<class Real>
void ROL::OptimizationProblem< Real >::reset ( void  )
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkSolutionVector ( Vector< Real > &  x,
Vector< Real > &  y,
Vector< Real > &  u,
std::ostream &  outStream = std::cout 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkSolutionVector ( OptimizationProblemCheckData< Real > &  data,
Vector< Real > &  x,
Vector< Real > &  y,
Vector< Real > &  u,
std::ostream &  outStream = std::cout 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkObjective ( Vector< Real > &  x,
Vector< Real > &  u,
Vector< Real > &  v,
std::ostream &  outStream = std::cout,
const int  numSteps = ROL_NUM_CHECKDERIV_STEPS,
const int  order = 1 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkObjective ( OptimizationProblemCheckData< Real > &  data,
Vector< Real > &  x,
Vector< Real > &  u,
Vector< Real > &  v,
std::ostream &  outStream = std::cout,
const int  numSteps = ROL_NUM_CHECKDERIV_STEPS,
const int  order = 1 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkMultiplierVector ( Vector< Real > &  w,
Vector< Real > &  q,
Vector< Real > &  l,
std::ostream &  outStream = std::cout 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkMultiplierVector ( OptimizationProblemCheckData< Real > &  data,
Vector< Real > &  w,
Vector< Real > &  q,
Vector< Real > &  l,
std::ostream &  outStream = std::cout 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkConstraint ( Vector< Real > &  x,
Vector< Real > &  u,
Vector< Real > &  v,
Vector< Real > &  c,
Vector< Real > &  l,
std::ostream &  outStream = std::cout,
const int  numSteps = ROL_NUM_CHECKDERIV_STEPS,
const int  order = 1 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::checkConstraint ( OptimizationProblemCheckData< Real > &  data,
Vector< Real > &  x,
Vector< Real > &  u,
Vector< Real > &  v,
Vector< Real > &  c,
Vector< Real > &  l,
std::ostream &  outStream = std::cout,
const int  numSteps = ROL_NUM_CHECKDERIV_STEPS,
const int  order = 1 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::check ( std::ostream &  outStream = std::cout,
const int  numSteps = ROL_NUM_CHECKDERIV_STEPS,
const int  order = 1 
)
inline
template<class Real>
void ROL::OptimizationProblem< Real >::check ( OptimizationProblemCheckData< Real > &  data,
std::ostream &  outStream = std::cout,
const int  numSteps = ROL_NUM_CHECKDERIV_STEPS,
const int  order = 1 
)
inline

Member Data Documentation

template<class Real>
Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::INPUT_obj_
private
template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::INPUT_sol_
private
template<class Real>
Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::INPUT_bnd_
private
template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INPUT_econ_
private
template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INPUT_emul_
private
template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INPUT_icon_
private
template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INPUT_imul_
private
template<class Real>
std::vector<Ptr<BoundConstraint<Real> > > ROL::OptimizationProblem< Real >::INPUT_ibnd_
private
template<class Real>
Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::INTERMEDIATE_obj_
private
template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::INTERMEDIATE_sol_
private
template<class Real>
Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::INTERMEDIATE_bnd_
private
template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_econ_
private
template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_emul_
private
template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_icon_
private
template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_imul_
private
template<class Real>
std::vector<Ptr<BoundConstraint<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_ibnd_
private
template<class Real>
Ptr<SampleGenerator<Real> > ROL::OptimizationProblem< Real >::vsampler_
private
template<class Real>
Ptr<SampleGenerator<Real> > ROL::OptimizationProblem< Real >::gsampler_
private
template<class Real>
Ptr<SampleGenerator<Real> > ROL::OptimizationProblem< Real >::hsampler_
private
template<class Real>
std::vector<Ptr<SampleGenerator<Real> > > ROL::OptimizationProblem< Real >::exsampler_
private
template<class Real>
std::vector<Ptr<BatchManager<Real> > > ROL::OptimizationProblem< Real >::ecbman_
private
template<class Real>
std::vector<Ptr<SampleGenerator<Real> > > ROL::OptimizationProblem< Real >::ixsampler_
private
template<class Real>
std::vector<Ptr<BatchManager<Real> > > ROL::OptimizationProblem< Real >::icbman_
private
template<class Real>
Ptr<ParameterList> ROL::OptimizationProblem< Real >::parlistObj_
private
template<class Real>
std::vector<Ptr<ParameterList> > ROL::OptimizationProblem< Real >::parlistCon_
private
template<class Real>
Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::obj_
private
template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::sol_
private
template<class Real>
Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::bnd_
private
template<class Real>
Ptr<Constraint<Real> > ROL::OptimizationProblem< Real >::con_
private
template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::mul_
private
template<class Real>
Ptr<ConstraintManager<Real> > ROL::OptimizationProblem< Real >::conManager_
private
template<class Real>
EProblem ROL::OptimizationProblem< Real >::problemType_
private
template<class Real>
bool ROL::OptimizationProblem< Real >::isInitialized_
private
template<class Real>
bool ROL::OptimizationProblem< Real >::needRiskLessObj_
private
template<class Real>
std::vector<bool> ROL::OptimizationProblem< Real >::needRiskLessEcon_
private
template<class Real>
std::vector<bool> ROL::OptimizationProblem< Real >::needRiskLessIcon_
private
template<class Real>
bool ROL::OptimizationProblem< Real >::isStochastic_
private

The documentation for this class was generated from the following file: