ROL
ROL::NewConstraintManager< Real > Class Template Reference

Provides a wrapper for multiple constraints. More...

#include <ROL_NewConstraintManager.hpp>

Public Member Functions

virtual ~NewConstraintManager (void)
 NewConstraintManager (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)
 NewConstraintManager (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 (void) const
const Ptr< Vector< Real > > getMultiplier (void) const
const Ptr< Vector< Real > > getResidual (void) const
const Ptr< Constraint< Real > > getLinearConstraint (void) const
const Ptr< Vector< Real > > getLinearMultiplier (void) const
const Ptr< Vector< Real > > getLinearResidual (void) const
const Ptr< Vector< Real > > getOptVector (void) const
const Ptr< Vector< Real > > getDualOptVector (void) const
const Ptr< BoundConstraint< Real > > getBoundConstraint (void) const
bool isNull (void) const
bool hasInequality (void) const
void resetSlackVariables (void)

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::NewConstraintManager< Real >

Provides a wrapper for multiple constraints.


Definition at line 42 of file ROL_NewConstraintManager.hpp.

Constructor & Destructor Documentation

◆ ~NewConstraintManager()

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

Definition at line 86 of file ROL_NewConstraintManager.hpp.

◆ NewConstraintManager() [1/2]

template<typename Real>
ROL::NewConstraintManager< Real >::NewConstraintManager ( 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_NewConstraintManager_Def.hpp.

References hasInequality_, initialize(), and isNull_.

◆ NewConstraintManager() [2/2]

template<typename Real>
ROL::NewConstraintManager< Real >::NewConstraintManager ( 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_NewConstraintManager_Def.hpp.

References hasInequality_, initialize(), and isNull_.

Member Function Documentation

◆ initializeSlackVariable()

template<typename Real>
void ROL::NewConstraintManager< 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_NewConstraintManager_Def.hpp.

References ROL::ROL_EPSILON().

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

◆ initialize() [1/2]

template<typename Real>
void ROL::NewConstraintManager< 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::NewConstraintManager< 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::NewConstraintManager< Real >::getConstraint ( void ) const

Definition at line 268 of file ROL_NewConstraintManager_Def.hpp.

References con_.

◆ getMultiplier()

template<typename Real>
const Ptr< Vector< Real > > ROL::NewConstraintManager< Real >::getMultiplier ( void ) const

Definition at line 273 of file ROL_NewConstraintManager_Def.hpp.

References mul_.

◆ getResidual()

template<typename Real>
const Ptr< Vector< Real > > ROL::NewConstraintManager< Real >::getResidual ( void ) const

Definition at line 278 of file ROL_NewConstraintManager_Def.hpp.

References res_.

◆ getLinearConstraint()

template<typename Real>
const Ptr< Constraint< Real > > ROL::NewConstraintManager< Real >::getLinearConstraint ( void ) const

Definition at line 283 of file ROL_NewConstraintManager_Def.hpp.

References linear_con_.

◆ getLinearMultiplier()

template<typename Real>
const Ptr< Vector< Real > > ROL::NewConstraintManager< Real >::getLinearMultiplier ( void ) const

Definition at line 288 of file ROL_NewConstraintManager_Def.hpp.

References linear_mul_.

◆ getLinearResidual()

template<typename Real>
const Ptr< Vector< Real > > ROL::NewConstraintManager< Real >::getLinearResidual ( void ) const

Definition at line 293 of file ROL_NewConstraintManager_Def.hpp.

References linear_res_.

◆ getOptVector()

template<typename Real>
const Ptr< Vector< Real > > ROL::NewConstraintManager< Real >::getOptVector ( void ) const

Definition at line 298 of file ROL_NewConstraintManager_Def.hpp.

References xprim_.

◆ getDualOptVector()

template<typename Real>
const Ptr< Vector< Real > > ROL::NewConstraintManager< Real >::getDualOptVector ( void ) const

Definition at line 303 of file ROL_NewConstraintManager_Def.hpp.

References xdual_.

◆ getBoundConstraint()

template<typename Real>
const Ptr< BoundConstraint< Real > > ROL::NewConstraintManager< Real >::getBoundConstraint ( void ) const

Definition at line 308 of file ROL_NewConstraintManager_Def.hpp.

References bnd_.

◆ isNull()

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

Definition at line 313 of file ROL_NewConstraintManager_Def.hpp.

References isNull_.

◆ hasInequality()

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

Definition at line 318 of file ROL_NewConstraintManager_Def.hpp.

References hasInequality_.

◆ resetSlackVariables()

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

Member Data Documentation

◆ con_

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

Definition at line 44 of file ROL_NewConstraintManager.hpp.

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

◆ mul_

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

Definition at line 45 of file ROL_NewConstraintManager.hpp.

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

◆ res_

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

Definition at line 46 of file ROL_NewConstraintManager.hpp.

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

◆ linear_con_

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

Definition at line 47 of file ROL_NewConstraintManager.hpp.

Referenced by getLinearConstraint(), and initialize().

◆ linear_mul_

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

Definition at line 48 of file ROL_NewConstraintManager.hpp.

Referenced by getLinearMultiplier(), and initialize().

◆ linear_res_

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

Definition at line 49 of file ROL_NewConstraintManager.hpp.

Referenced by getLinearResidual(), and initialize().

◆ xprim_

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

Definition at line 50 of file ROL_NewConstraintManager.hpp.

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

◆ xdual_

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

Definition at line 51 of file ROL_NewConstraintManager.hpp.

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

◆ bnd_

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

Definition at line 52 of file ROL_NewConstraintManager.hpp.

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

◆ cvec_

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

Definition at line 54 of file ROL_NewConstraintManager.hpp.

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

◆ lvec_

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

Definition at line 55 of file ROL_NewConstraintManager.hpp.

Referenced by initialize(), and initialize().

◆ rvec_

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

Definition at line 56 of file ROL_NewConstraintManager.hpp.

Referenced by initialize(), and initialize().

◆ lcvec_

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

Definition at line 57 of file ROL_NewConstraintManager.hpp.

Referenced by initialize(), and resetSlackVariables().

◆ llvec_

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

Definition at line 58 of file ROL_NewConstraintManager.hpp.

Referenced by initialize().

◆ lrvec_

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

Definition at line 59 of file ROL_NewConstraintManager.hpp.

Referenced by initialize().

◆ psvec_

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

Definition at line 60 of file ROL_NewConstraintManager.hpp.

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

◆ dsvec_

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

Definition at line 61 of file ROL_NewConstraintManager.hpp.

Referenced by initialize(), and initialize().

◆ sbnd_

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

Definition at line 62 of file ROL_NewConstraintManager.hpp.

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

◆ isInequality_

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

Definition at line 64 of file ROL_NewConstraintManager.hpp.

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

◆ isLinearInequality_

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

Definition at line 64 of file ROL_NewConstraintManager.hpp.

Referenced by initialize(), and resetSlackVariables().

◆ isNull_

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

◆ hasInequality_

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

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