ROL
ROL::ConstraintAssembler< Real > Class Template Reference

Provides a wrapper for multiple constraints. More...

#include <ROL_ConstraintAssembler.hpp>

Public Member Functions

virtual ~ConstraintAssembler ()
 ConstraintAssembler (const std::unordered_map< std::string, ConstraintData< Real > > &con, const Ptr< Vector< Real > > &xprim, const Ptr< Vector< Real > > &xdual, const Ptr< BoundConstraint< Real > > &bnd=nullPtr)
 ConstraintAssembler (const std::unordered_map< std::string, ConstraintData< Real > > &con, const std::unordered_map< std::string, ConstraintData< Real > > &linear_con, const Ptr< Vector< Real > > &xprim, const Ptr< Vector< Real > > &xdual, const Ptr< BoundConstraint< Real > > &bnd=nullPtr)
const Ptr< Constraint< Real > > & getConstraint () const
const Ptr< Vector< Real > > & getMultiplier () const
const Ptr< Vector< Real > > & getResidual () const
const Ptr< Constraint< Real > > & getLinearConstraint () const
const Ptr< Vector< Real > > & getLinearMultiplier () const
const Ptr< Vector< Real > > & getLinearResidual () const
const Ptr< Vector< Real > > & getOptVector () const
const Ptr< Vector< Real > > & getDualOptVector () const
const Ptr< BoundConstraint< Real > > & getBoundConstraint () const
bool isNull () const
bool hasInequality () const
void resetSlackVariables ()

Private Member Functions

void initializeSlackVariable (const Ptr< Constraint< Real > > &con, const Ptr< BoundConstraint< Real > > &cbnd, const Ptr< Vector< Real > > &s, const Ptr< Vector< Real > > &x) const
void initialize (const std::unordered_map< std::string, ConstraintData< Real > > &input_con, const Ptr< Vector< Real > > &xprim, const Ptr< Vector< Real > > &xdual, const Ptr< BoundConstraint< Real > > &bnd)
void initialize (const std::unordered_map< std::string, ConstraintData< Real > > &input_con, const std::unordered_map< std::string, ConstraintData< Real > > &input_lcon, const Ptr< Vector< Real > > &xprim, const Ptr< Vector< Real > > &xdual, const Ptr< BoundConstraint< Real > > &bnd)

Private Attributes

Ptr< Constraint< Real > > con_
Ptr< Vector< Real > > mul_
Ptr< Vector< Real > > res_
Ptr< Constraint< Real > > linear_con_
Ptr< Vector< Real > > linear_mul_
Ptr< Vector< Real > > linear_res_
Ptr< Vector< Real > > xprim_
Ptr< Vector< Real > > xdual_
Ptr< BoundConstraint< Real > > bnd_
std::vector< Ptr< Constraint< Real > > > cvec_
std::vector< Ptr< Vector< Real > > > lvec_
std::vector< Ptr< Vector< Real > > > rvec_
std::vector< Ptr< Constraint< Real > > > lcvec_
std::vector< Ptr< Vector< Real > > > llvec_
std::vector< Ptr< Vector< Real > > > lrvec_
std::vector< Ptr< Vector< Real > > > psvec_
std::vector< Ptr< Vector< Real > > > dsvec_
std::vector< Ptr< BoundConstraint< Real > > > sbnd_
std::vector< bool > isInequality_
std::vector< bool > isLinearInequality_
bool isNull_
bool hasInequality_

Detailed Description

template<typename Real>
class ROL::ConstraintAssembler< Real >

Provides a wrapper for multiple constraints.


Definition at line 42 of file ROL_ConstraintAssembler.hpp.

Constructor & Destructor Documentation

◆ ~ConstraintAssembler()

template<typename Real>
virtual ROL::ConstraintAssembler< Real >::~ConstraintAssembler ( )
inlinevirtual

Definition at line 86 of file ROL_ConstraintAssembler.hpp.

◆ ConstraintAssembler() [1/2]

template<typename Real>
ROL::ConstraintAssembler< Real >::ConstraintAssembler ( const std::unordered_map< std::string, ConstraintData< Real > > & con,
const Ptr< Vector< Real > > & xprim,
const Ptr< Vector< Real > > & xdual,
const Ptr< BoundConstraint< Real > > & bnd = nullPtr )

Definition at line 249 of file ROL_ConstraintAssembler_Def.hpp.

References hasInequality_, initialize(), and isNull_.

◆ ConstraintAssembler() [2/2]

template<typename Real>
ROL::ConstraintAssembler< Real >::ConstraintAssembler ( const std::unordered_map< std::string, ConstraintData< Real > > & con,
const std::unordered_map< std::string, ConstraintData< Real > > & linear_con,
const Ptr< Vector< Real > > & xprim,
const Ptr< Vector< Real > > & xdual,
const Ptr< BoundConstraint< Real > > & bnd = nullPtr )

Definition at line 258 of file ROL_ConstraintAssembler_Def.hpp.

References hasInequality_, initialize(), and isNull_.

Member Function Documentation

◆ initializeSlackVariable()

template<typename Real>
void ROL::ConstraintAssembler< Real >::initializeSlackVariable ( const Ptr< Constraint< Real > > & con,
const Ptr< BoundConstraint< Real > > & cbnd,
const Ptr< Vector< Real > > & s,
const Ptr< Vector< Real > > & x ) const
private

Definition at line 16 of file ROL_ConstraintAssembler_Def.hpp.

References ROL::ROL_EPSILON().

Referenced by initialize(), initialize(), and resetSlackVariables().

◆ initialize() [1/2]

template<typename Real>
void ROL::ConstraintAssembler< Real >::initialize ( const std::unordered_map< std::string, ConstraintData< Real > > & input_con,
const Ptr< Vector< Real > > & xprim,
const Ptr< Vector< Real > > & xdual,
const Ptr< BoundConstraint< Real > > & bnd )
private

◆ initialize() [2/2]

template<typename Real>
void ROL::ConstraintAssembler< Real >::initialize ( const std::unordered_map< std::string, ConstraintData< Real > > & input_con,
const std::unordered_map< std::string, ConstraintData< Real > > & input_lcon,
const Ptr< Vector< Real > > & xprim,
const Ptr< Vector< Real > > & xdual,
const Ptr< BoundConstraint< Real > > & bnd )
private

◆ getConstraint()

template<typename Real>
const Ptr< Constraint< Real > > & ROL::ConstraintAssembler< Real >::getConstraint ( ) const

Definition at line 268 of file ROL_ConstraintAssembler_Def.hpp.

References con_.

Referenced by ROL::Problem< Real >::finalize().

◆ getMultiplier()

template<typename Real>
const Ptr< Vector< Real > > & ROL::ConstraintAssembler< Real >::getMultiplier ( ) const

Definition at line 273 of file ROL_ConstraintAssembler_Def.hpp.

References mul_.

Referenced by ROL::Problem< Real >::finalize().

◆ getResidual()

template<typename Real>
const Ptr< Vector< Real > > & ROL::ConstraintAssembler< Real >::getResidual ( ) const

Definition at line 278 of file ROL_ConstraintAssembler_Def.hpp.

References res_.

Referenced by ROL::Problem< Real >::finalize().

◆ getLinearConstraint()

template<typename Real>
const Ptr< Constraint< Real > > & ROL::ConstraintAssembler< Real >::getLinearConstraint ( ) const

Definition at line 283 of file ROL_ConstraintAssembler_Def.hpp.

References linear_con_.

Referenced by ROL::Problem< Real >::finalize().

◆ getLinearMultiplier()

template<typename Real>
const Ptr< Vector< Real > > & ROL::ConstraintAssembler< Real >::getLinearMultiplier ( ) const

Definition at line 288 of file ROL_ConstraintAssembler_Def.hpp.

References linear_mul_.

Referenced by ROL::Problem< Real >::finalize().

◆ getLinearResidual()

template<typename Real>
const Ptr< Vector< Real > > & ROL::ConstraintAssembler< Real >::getLinearResidual ( ) const

Definition at line 293 of file ROL_ConstraintAssembler_Def.hpp.

References linear_res_.

Referenced by ROL::Problem< Real >::finalize().

◆ getOptVector()

template<typename Real>
const Ptr< Vector< Real > > & ROL::ConstraintAssembler< Real >::getOptVector ( ) const

Definition at line 298 of file ROL_ConstraintAssembler_Def.hpp.

References xprim_.

Referenced by ROL::Problem< Real >::finalize().

◆ getDualOptVector()

template<typename Real>
const Ptr< Vector< Real > > & ROL::ConstraintAssembler< Real >::getDualOptVector ( ) const

Definition at line 303 of file ROL_ConstraintAssembler_Def.hpp.

References xdual_.

Referenced by ROL::Problem< Real >::finalize().

◆ getBoundConstraint()

template<typename Real>
const Ptr< BoundConstraint< Real > > & ROL::ConstraintAssembler< Real >::getBoundConstraint ( ) const

Definition at line 308 of file ROL_ConstraintAssembler_Def.hpp.

References bnd_.

Referenced by ROL::Problem< Real >::finalize().

◆ isNull()

template<typename Real>
bool ROL::ConstraintAssembler< Real >::isNull ( ) const

Definition at line 313 of file ROL_ConstraintAssembler_Def.hpp.

References isNull_.

◆ hasInequality()

template<typename Real>
bool ROL::ConstraintAssembler< Real >::hasInequality ( ) const

Definition at line 318 of file ROL_ConstraintAssembler_Def.hpp.

References hasInequality_.

Referenced by ROL::Problem< Real >::finalize().

◆ resetSlackVariables()

template<typename Real>
void ROL::ConstraintAssembler< Real >::resetSlackVariables ( )

Member Data Documentation

◆ con_

template<typename Real>
Ptr<Constraint<Real> > ROL::ConstraintAssembler< Real >::con_
private

Definition at line 44 of file ROL_ConstraintAssembler.hpp.

Referenced by getConstraint(), initialize(), and initialize().

◆ mul_

template<typename Real>
Ptr<Vector<Real> > ROL::ConstraintAssembler< Real >::mul_
private

Definition at line 45 of file ROL_ConstraintAssembler.hpp.

Referenced by getMultiplier(), initialize(), and initialize().

◆ res_

template<typename Real>
Ptr<Vector<Real> > ROL::ConstraintAssembler< Real >::res_
private

Definition at line 46 of file ROL_ConstraintAssembler.hpp.

Referenced by getResidual(), initialize(), and initialize().

◆ linear_con_

template<typename Real>
Ptr<Constraint<Real> > ROL::ConstraintAssembler< Real >::linear_con_
private

Definition at line 47 of file ROL_ConstraintAssembler.hpp.

Referenced by getLinearConstraint(), and initialize().

◆ linear_mul_

template<typename Real>
Ptr<Vector<Real> > ROL::ConstraintAssembler< Real >::linear_mul_
private

Definition at line 48 of file ROL_ConstraintAssembler.hpp.

Referenced by getLinearMultiplier(), and initialize().

◆ linear_res_

template<typename Real>
Ptr<Vector<Real> > ROL::ConstraintAssembler< Real >::linear_res_
private

Definition at line 49 of file ROL_ConstraintAssembler.hpp.

Referenced by getLinearResidual(), and initialize().

◆ xprim_

template<typename Real>
Ptr<Vector<Real> > ROL::ConstraintAssembler< Real >::xprim_
private

Definition at line 50 of file ROL_ConstraintAssembler.hpp.

Referenced by getOptVector(), initialize(), and initialize().

◆ xdual_

template<typename Real>
Ptr<Vector<Real> > ROL::ConstraintAssembler< Real >::xdual_
private

Definition at line 51 of file ROL_ConstraintAssembler.hpp.

Referenced by getDualOptVector(), initialize(), and initialize().

◆ bnd_

template<typename Real>
Ptr<BoundConstraint<Real> > ROL::ConstraintAssembler< Real >::bnd_
private

Definition at line 52 of file ROL_ConstraintAssembler.hpp.

Referenced by getBoundConstraint(), initialize(), and initialize().

◆ cvec_

template<typename Real>
std::vector<Ptr<Constraint<Real> > > ROL::ConstraintAssembler< Real >::cvec_
private

Definition at line 54 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), initialize(), and resetSlackVariables().

◆ lvec_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ConstraintAssembler< Real >::lvec_
private

Definition at line 55 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), and initialize().

◆ rvec_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ConstraintAssembler< Real >::rvec_
private

Definition at line 56 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), and initialize().

◆ lcvec_

template<typename Real>
std::vector<Ptr<Constraint<Real> > > ROL::ConstraintAssembler< Real >::lcvec_
private

Definition at line 57 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), and resetSlackVariables().

◆ llvec_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ConstraintAssembler< Real >::llvec_
private

Definition at line 58 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize().

◆ lrvec_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ConstraintAssembler< Real >::lrvec_
private

Definition at line 59 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize().

◆ psvec_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ConstraintAssembler< Real >::psvec_
private

Definition at line 60 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), initialize(), and resetSlackVariables().

◆ dsvec_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ConstraintAssembler< Real >::dsvec_
private

Definition at line 61 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), and initialize().

◆ sbnd_

template<typename Real>
std::vector<Ptr<BoundConstraint<Real> > > ROL::ConstraintAssembler< Real >::sbnd_
private

Definition at line 62 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), initialize(), and resetSlackVariables().

◆ isInequality_

template<typename Real>
std::vector<bool> ROL::ConstraintAssembler< Real >::isInequality_
private

Definition at line 64 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), initialize(), and resetSlackVariables().

◆ isLinearInequality_

template<typename Real>
std::vector<bool> ROL::ConstraintAssembler< Real >::isLinearInequality_
private

Definition at line 64 of file ROL_ConstraintAssembler.hpp.

Referenced by initialize(), and resetSlackVariables().

◆ isNull_

template<typename Real>
bool ROL::ConstraintAssembler< Real >::isNull_
private

◆ hasInequality_

template<typename Real>
bool ROL::ConstraintAssembler< Real >::hasInequality_
private

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