ROL
Public Member Functions | Private Member Functions | Private Attributes | List of all members
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 
)

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

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.

◆ 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

Definition at line 114 of file ROL_ConstraintAssembler_Def.hpp.

◆ getConstraint()

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

Definition at line 268 of file ROL_ConstraintAssembler_Def.hpp.

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.

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.

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.

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.

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.

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.

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.

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.

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.

◆ hasInequality()

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

Definition at line 318 of file ROL_ConstraintAssembler_Def.hpp.

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

◆ resetSlackVariables()

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

Definition at line 323 of file ROL_ConstraintAssembler_Def.hpp.

Member Data Documentation

◆ con_

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

Definition at line 44 of file ROL_ConstraintAssembler.hpp.

◆ mul_

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

Definition at line 45 of file ROL_ConstraintAssembler.hpp.

◆ res_

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

Definition at line 46 of file ROL_ConstraintAssembler.hpp.

◆ linear_con_

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

Definition at line 47 of file ROL_ConstraintAssembler.hpp.

◆ linear_mul_

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

Definition at line 48 of file ROL_ConstraintAssembler.hpp.

◆ linear_res_

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

Definition at line 49 of file ROL_ConstraintAssembler.hpp.

◆ xprim_

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

Definition at line 50 of file ROL_ConstraintAssembler.hpp.

◆ xdual_

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

Definition at line 51 of file ROL_ConstraintAssembler.hpp.

◆ bnd_

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

Definition at line 52 of file ROL_ConstraintAssembler.hpp.

◆ cvec_

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

Definition at line 54 of file ROL_ConstraintAssembler.hpp.

◆ lvec_

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

Definition at line 55 of file ROL_ConstraintAssembler.hpp.

◆ rvec_

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

Definition at line 56 of file ROL_ConstraintAssembler.hpp.

◆ lcvec_

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

Definition at line 57 of file ROL_ConstraintAssembler.hpp.

◆ llvec_

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

Definition at line 58 of file ROL_ConstraintAssembler.hpp.

◆ lrvec_

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

Definition at line 59 of file ROL_ConstraintAssembler.hpp.

◆ psvec_

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

Definition at line 60 of file ROL_ConstraintAssembler.hpp.

◆ dsvec_

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

Definition at line 61 of file ROL_ConstraintAssembler.hpp.

◆ sbnd_

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

Definition at line 62 of file ROL_ConstraintAssembler.hpp.

◆ isInequality_

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

Definition at line 64 of file ROL_ConstraintAssembler.hpp.

◆ isLinearInequality_

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

Definition at line 64 of file ROL_ConstraintAssembler.hpp.

◆ isNull_

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

Definition at line 66 of file ROL_ConstraintAssembler.hpp.

◆ hasInequality_

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

Definition at line 67 of file ROL_ConstraintAssembler.hpp.


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