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

◆ ~OptimizationProblem()

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

Definition at line 293 of file ROL_OptimizationProblem.hpp.

◆ OptimizationProblem() [1/19]

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

Definition at line 296 of file ROL_OptimizationProblem.hpp.

◆ OptimizationProblem() [2/19]

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.

◆ OptimizationProblem() [3/19]

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

◆ OptimizationProblem() [4/19]

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

◆ OptimizationProblem() [5/19]

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

◆ OptimizationProblem() [6/19]

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.

◆ OptimizationProblem() [7/19]

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.

◆ OptimizationProblem() [8/19]

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.

◆ OptimizationProblem() [9/19]

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.

◆ OptimizationProblem() [10/19]

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.

◆ OptimizationProblem() [11/19]

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.

◆ OptimizationProblem() [12/19]

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.

◆ OptimizationProblem() [13/19]

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.

◆ OptimizationProblem() [14/19]

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.

◆ OptimizationProblem() [15/19]

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.

◆ OptimizationProblem() [16/19]

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.

◆ OptimizationProblem() [17/19]

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.

◆ OptimizationProblem() [18/19]

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.

◆ OptimizationProblem() [19/19]

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

◆ initialize()

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

◆ setRiskLessCon()

template<class Real>
const Ptr<Constraint<Real> > ROL::OptimizationProblem< Real >::setRiskLessCon ( const Ptr< Constraint< Real >> &  con,
const bool  needRiskLess 
) const
inlineprivate

◆ setRiskLessObj()

template<class Real>
const Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::setRiskLessObj ( const Ptr< Objective< Real >> &  obj,
const bool  needRiskLess 
) const
inlineprivate

◆ computeSampleMean()

template<class Real>
std::vector<Real> ROL::OptimizationProblem< Real >::computeSampleMean ( const Ptr< SampleGenerator< Real >> &  sampler) const
inlineprivate

◆ initStochastic()

template<class Real>
void ROL::OptimizationProblem< Real >::initStochastic ( void  )
inlineprivate

◆ buildRiskVec()

template<class Real>
void ROL::OptimizationProblem< Real >::buildRiskVec ( Ptr< Vector< Real >> &  x)
inlineprivate

◆ buildRiskBnd()

template<class Real>
void ROL::OptimizationProblem< Real >::buildRiskBnd ( Ptr< BoundConstraint< Real >> &  bnd)
inlineprivate

◆ getObjective()

template<class Real>
virtual Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::getObjective ( void  )
inlinevirtual

◆ getSolutionVector()

template<class Real>
virtual Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::getSolutionVector ( void  )
inlinevirtual

◆ getBoundConstraint()

template<class Real>
virtual Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::getBoundConstraint ( void  )
inlinevirtual

◆ getConstraint()

template<class Real>
virtual Ptr<Constraint<Real> > ROL::OptimizationProblem< Real >::getConstraint ( void  )
inlinevirtual

◆ getMultiplierVector()

template<class Real>
virtual Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::getMultiplierVector ( void  )
inlinevirtual

◆ getProblemType()

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

◆ setMeanValueObjective()

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().

◆ setRiskNeutralObjective()

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().

◆ setRiskAverseObjective()

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().

◆ 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

◆ setMeanValueEquality()

template<class Real>
void ROL::OptimizationProblem< Real >::setMeanValueEquality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline

◆ setRiskNeutralEquality()

template<class Real>
void ROL::OptimizationProblem< Real >::setRiskNeutralEquality ( const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman,
const int  index = 0 
)
inline

◆ setAlmostSureEquality()

template<class Real>
void ROL::OptimizationProblem< Real >::setAlmostSureEquality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline

◆ setStochasticEquality() [1/2]

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

◆ setStochasticEquality() [2/2]

template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticEquality ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman 
)
inline

◆ setMeanValueInequality()

template<class Real>
void ROL::OptimizationProblem< Real >::setMeanValueInequality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline

◆ setRiskNeutralInequality()

template<class Real>
void ROL::OptimizationProblem< Real >::setRiskNeutralInequality ( const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman,
const int  index = 0 
)
inline

◆ setRiskAverseInequality()

template<class Real>
void ROL::OptimizationProblem< Real >::setRiskAverseInequality ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline

◆ setAlmostSureInequality()

template<class Real>
void ROL::OptimizationProblem< Real >::setAlmostSureInequality ( const Ptr< SampleGenerator< Real >> &  sampler,
const int  index = 0 
)
inline

◆ setStochasticInequality() [1/2]

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

◆ setStochasticInequality() [2/2]

template<class Real>
void ROL::OptimizationProblem< Real >::setStochasticInequality ( ParameterList &  parlist,
const Ptr< SampleGenerator< Real >> &  xsampler,
const Ptr< BatchManager< Real >> &  cbman 
)
inline

◆ getSolutionStatistic()

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().

◆ getObjectiveStatistic()

template<class Real>
std::vector<Real> ROL::OptimizationProblem< Real >::getObjectiveStatistic ( void  ) const
inline

◆ getConstraintStatistic()

template<class Real>
std::vector<Real> ROL::OptimizationProblem< Real >::getConstraintStatistic ( const int  index = 0) const
inline

◆ reset()

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

◆ checkSolutionVector() [1/2]

template<class Real>
void ROL::OptimizationProblem< Real >::checkSolutionVector ( Vector< Real > &  x,
Vector< Real > &  y,
Vector< Real > &  u,
std::ostream &  outStream = std::cout 
)
inline

◆ checkSolutionVector() [2/2]

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

◆ checkObjective() [1/2]

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

◆ checkObjective() [2/2]

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

◆ checkMultiplierVector() [1/2]

template<class Real>
void ROL::OptimizationProblem< Real >::checkMultiplierVector ( Vector< Real > &  w,
Vector< Real > &  q,
Vector< Real > &  l,
std::ostream &  outStream = std::cout 
)
inline

◆ checkMultiplierVector() [2/2]

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

◆ checkConstraint() [1/2]

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

◆ checkConstraint() [2/2]

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

◆ check() [1/2]

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

◆ check() [2/2]

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

◆ INPUT_obj_

template<class Real>
Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::INPUT_obj_
private

◆ INPUT_sol_

template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::INPUT_sol_
private

◆ INPUT_bnd_

template<class Real>
Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::INPUT_bnd_
private

◆ INPUT_econ_

template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INPUT_econ_
private

◆ INPUT_emul_

template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INPUT_emul_
private

◆ INPUT_icon_

template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INPUT_icon_
private

◆ INPUT_imul_

template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INPUT_imul_
private

◆ INPUT_ibnd_

template<class Real>
std::vector<Ptr<BoundConstraint<Real> > > ROL::OptimizationProblem< Real >::INPUT_ibnd_
private

◆ INTERMEDIATE_obj_

template<class Real>
Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::INTERMEDIATE_obj_
private

◆ INTERMEDIATE_sol_

template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::INTERMEDIATE_sol_
private

◆ INTERMEDIATE_bnd_

template<class Real>
Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::INTERMEDIATE_bnd_
private

◆ INTERMEDIATE_econ_

template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_econ_
private

◆ INTERMEDIATE_emul_

template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_emul_
private

◆ INTERMEDIATE_icon_

template<class Real>
std::vector<Ptr<Constraint<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_icon_
private

◆ INTERMEDIATE_imul_

template<class Real>
std::vector<Ptr<Vector<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_imul_
private

◆ INTERMEDIATE_ibnd_

template<class Real>
std::vector<Ptr<BoundConstraint<Real> > > ROL::OptimizationProblem< Real >::INTERMEDIATE_ibnd_
private

◆ vsampler_

template<class Real>
Ptr<SampleGenerator<Real> > ROL::OptimizationProblem< Real >::vsampler_
private

◆ gsampler_

template<class Real>
Ptr<SampleGenerator<Real> > ROL::OptimizationProblem< Real >::gsampler_
private

◆ hsampler_

template<class Real>
Ptr<SampleGenerator<Real> > ROL::OptimizationProblem< Real >::hsampler_
private

◆ exsampler_

template<class Real>
std::vector<Ptr<SampleGenerator<Real> > > ROL::OptimizationProblem< Real >::exsampler_
private

◆ ecbman_

template<class Real>
std::vector<Ptr<BatchManager<Real> > > ROL::OptimizationProblem< Real >::ecbman_
private

◆ ixsampler_

template<class Real>
std::vector<Ptr<SampleGenerator<Real> > > ROL::OptimizationProblem< Real >::ixsampler_
private

◆ icbman_

template<class Real>
std::vector<Ptr<BatchManager<Real> > > ROL::OptimizationProblem< Real >::icbman_
private

◆ parlistObj_

template<class Real>
Ptr<ParameterList> ROL::OptimizationProblem< Real >::parlistObj_
private

◆ parlistCon_

template<class Real>
std::vector<Ptr<ParameterList> > ROL::OptimizationProblem< Real >::parlistCon_
private

◆ obj_

template<class Real>
Ptr<Objective<Real> > ROL::OptimizationProblem< Real >::obj_
private

◆ sol_

template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::sol_
private

◆ bnd_

template<class Real>
Ptr<BoundConstraint<Real> > ROL::OptimizationProblem< Real >::bnd_
private

◆ con_

template<class Real>
Ptr<Constraint<Real> > ROL::OptimizationProblem< Real >::con_
private

◆ mul_

template<class Real>
Ptr<Vector<Real> > ROL::OptimizationProblem< Real >::mul_
private

◆ conManager_

template<class Real>
Ptr<ConstraintManager<Real> > ROL::OptimizationProblem< Real >::conManager_
private

◆ problemType_

template<class Real>
EProblem ROL::OptimizationProblem< Real >::problemType_
private

◆ isInitialized_

template<class Real>
bool ROL::OptimizationProblem< Real >::isInitialized_
private

◆ needRiskLessObj_

template<class Real>
bool ROL::OptimizationProblem< Real >::needRiskLessObj_
private

◆ needRiskLessEcon_

template<class Real>
std::vector<bool> ROL::OptimizationProblem< Real >::needRiskLessEcon_
private

◆ needRiskLessIcon_

template<class Real>
std::vector<bool> ROL::OptimizationProblem< Real >::needRiskLessIcon_
private

◆ isStochastic_

template<class Real>
bool ROL::OptimizationProblem< Real >::isStochastic_
private

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