ROL
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.
 
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.
 
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.
 
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.
 
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]

◆ 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

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

◆ 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.

References OptimizationProblem().

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

Definition at line 214 of file ROL_OptimizationProblem.hpp.

Referenced by initialize().

◆ setRiskLessObj()

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

Definition at line 223 of file ROL_OptimizationProblem.hpp.

Referenced by initialize().

◆ computeSampleMean()

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

Definition at line 232 of file ROL_OptimizationProblem.hpp.

References dim.

Referenced by setMeanValueEquality(), setMeanValueInequality(), and setMeanValueObjective().

◆ initStochastic()

◆ buildRiskVec()

◆ buildRiskBnd()

◆ getObjective()

◆ getSolutionVector()

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

◆ getBoundConstraint()

◆ getConstraint()

◆ getMultiplierVector()

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

◆ getProblemType()

◆ 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 buildRiskBnd(), buildRiskVec(), computeSampleMean(), gsampler_, hsampler_, initStochastic(), INPUT_bnd_, INPUT_obj_, INPUT_sol_, INTERMEDIATE_obj_, isInitialized_, and vsampler_.

Referenced by 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 buildRiskBnd(), buildRiskVec(), gsampler_, hsampler_, initStochastic(), INPUT_bnd_, INPUT_obj_, INPUT_sol_, INTERMEDIATE_obj_, isInitialized_, and vsampler_.

Referenced by 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 buildRiskBnd(), buildRiskVec(), gsampler_, hsampler_, initStochastic(), INPUT_bnd_, INPUT_obj_, INPUT_sol_, INTERMEDIATE_obj_, isInitialized_, needRiskLessObj_, parlistObj_, and vsampler_.

Referenced by 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

Definition at line 804 of file ROL_OptimizationProblem.hpp.

References setStochasticEquality().

◆ 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

Definition at line 954 of file ROL_OptimizationProblem.hpp.

References setStochasticInequality().

◆ 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 INTERMEDIATE_icon_, INTERMEDIATE_obj_, and INTERMEDIATE_sol_.

Referenced by main().

◆ getObjectiveStatistic()

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

Definition at line 996 of file ROL_OptimizationProblem.hpp.

References INTERMEDIATE_sol_.

◆ getConstraintStatistic()

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

Definition at line 1014 of file ROL_OptimizationProblem.hpp.

References INTERMEDIATE_sol_.

◆ reset()

◆ 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

Definition at line 1040 of file ROL_OptimizationProblem.hpp.

References checkSolutionVector().

Referenced by check(), and checkSolutionVector().

◆ checkSolutionVector() [2/2]

◆ 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

Definition at line 1065 of file ROL_OptimizationProblem.hpp.

References checkObjective(), and ROL_NUM_CHECKDERIV_STEPS.

Referenced by check(), and checkObjective().

◆ checkObjective() [2/2]

◆ 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

Definition at line 1098 of file ROL_OptimizationProblem.hpp.

References checkMultiplierVector().

Referenced by check(), and checkMultiplierVector().

◆ checkMultiplierVector() [2/2]

◆ 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

Definition at line 1122 of file ROL_OptimizationProblem.hpp.

References checkConstraint(), and ROL_NUM_CHECKDERIV_STEPS.

Referenced by check(), and checkConstraint().

◆ checkConstraint() [2/2]

◆ 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]

Member Data Documentation

◆ INPUT_obj_

◆ INPUT_sol_

◆ INPUT_bnd_

◆ INPUT_econ_

◆ INPUT_emul_

◆ INPUT_icon_

◆ INPUT_imul_

◆ INPUT_ibnd_

◆ INTERMEDIATE_obj_

◆ INTERMEDIATE_sol_

◆ INTERMEDIATE_bnd_

◆ INTERMEDIATE_econ_

◆ INTERMEDIATE_emul_

◆ INTERMEDIATE_icon_

◆ INTERMEDIATE_imul_

◆ INTERMEDIATE_ibnd_

◆ 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

Definition at line 112 of file ROL_OptimizationProblem.hpp.

Referenced by initStochastic(), and setRiskNeutralEquality().

◆ 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

Definition at line 114 of file ROL_OptimizationProblem.hpp.

Referenced by initStochastic(), and setRiskNeutralInequality().

◆ 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

Definition at line 120 of file ROL_OptimizationProblem.hpp.

Referenced by check(), getSolutionVector(), and initialize().

◆ bnd_

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

Definition at line 121 of file ROL_OptimizationProblem.hpp.

Referenced by getBoundConstraint(), and initialize().

◆ con_

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

◆ mul_

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

Definition at line 123 of file ROL_OptimizationProblem.hpp.

Referenced by check(), getMultiplierVector(), and initialize().

◆ conManager_

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

Definition at line 125 of file ROL_OptimizationProblem.hpp.

Referenced by initialize(), and reset().

◆ problemType_

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

Definition at line 127 of file ROL_OptimizationProblem.hpp.

Referenced by getProblemType(), and initialize().

◆ isInitialized_

◆ needRiskLessObj_

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

Definition at line 131 of file ROL_OptimizationProblem.hpp.

Referenced by initialize(), initStochastic(), and setRiskAverseObjective().

◆ needRiskLessEcon_

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

Definition at line 132 of file ROL_OptimizationProblem.hpp.

Referenced by initialize(), and initStochastic().

◆ needRiskLessIcon_

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

◆ isStochastic_


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