| 
    ROL
    
   | 
 
A composite composite BoundConstraint formed from bound constraints on subvectors of a PartitionedVector. More...
#include <ROL_BoundConstraint_Partitioned.hpp>
 Inheritance diagram for ROL::BoundConstraint_Partitioned< Real >:Public Member Functions | |
| ~BoundConstraint_Partitioned () | |
| BoundConstraint_Partitioned (const std::vector< ROL::Ptr< BoundConstraint< Real > > > &bnd, const std::vector< ROL::Ptr< Vector< Real > > > &x) | |
| void | update (const Vector< Real > &x, bool flag=true, int iter=-1) | 
| Update bounds.  More... | |
| void | project (Vector< Real > &x) | 
| Project optimization variables onto the bounds.  More... | |
| void | projectInterior (Vector< Real > &x) | 
| Project optimization variables into the interior of the feasible set.  More... | |
| void | pruneUpperActive (Vector< Real > &v, const Vector< Real > &x, Real eps=0.0) | 
| Set variables to zero if they correspond to the upper \(\epsilon\)-active set.  More... | |
| void | pruneUpperActive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0.0) | 
| Set variables to zero if they correspond to the upper \(\epsilon\)-binding set.  More... | |
| void | pruneLowerActive (Vector< Real > &v, const Vector< Real > &x, Real eps=0.0) | 
| Set variables to zero if they correspond to the lower \(\epsilon\)-active set.  More... | |
| void | pruneLowerActive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0.0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-binding set.  More... | |
| const ROL::Ptr< const Vector < Real > >  | getLowerBound (void) const | 
| Return the ref count pointer to the lower bound vector.  More... | |
| const ROL::Ptr< const Vector < Real > >  | getUpperBound (void) const | 
| Return the ref count pointer to the upper bound vector.  More... | |
| bool | isFeasible (const Vector< Real > &v) | 
| Check if the vector, v, is feasible.  More... | |
  Public Member Functions inherited from ROL::BoundConstraint< Real > | |
| virtual | ~BoundConstraint () | 
| BoundConstraint (void) | |
| BoundConstraint (const Vector< Real > &x) | |
| void | activateLower (void) | 
| Turn on lower bound.  More... | |
| void | activateUpper (void) | 
| Turn on upper bound.  More... | |
| void | activate (void) | 
| Turn on bounds.  More... | |
| void | deactivateLower (void) | 
| Turn off lower bound.  More... | |
| void | deactivateUpper (void) | 
| Turn off upper bound.  More... | |
| void | deactivate (void) | 
| Turn off bounds.  More... | |
| bool | isLowerActivated (void) const | 
| Check if lower bound are on.  More... | |
| bool | isUpperActivated (void) const | 
| Check if upper bound are on.  More... | |
| bool | isActivated (void) const | 
| Check if bounds are on.  More... | |
| void | pruneActive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-active set.  More... | |
| void | pruneActive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-binding set.  More... | |
| void | pruneLowerInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set.  More... | |
| void | pruneUpperInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set.  More... | |
| void | pruneLowerInactive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.  More... | |
| void | pruneUpperInactive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.  More... | |
| void | pruneInactive (Vector< Real > &v, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-inactive set.  More... | |
| void | pruneInactive (Vector< Real > &v, const Vector< Real > &g, const Vector< Real > &x, Real eps=0) | 
| Set variables to zero if they correspond to the \(\epsilon\)-nonbinding set.  More... | |
| void | computeProjectedGradient (Vector< Real > &g, const Vector< Real > &x) | 
| Compute projected gradient.  More... | |
| void | computeProjectedStep (Vector< Real > &v, const Vector< Real > &x) | 
| Compute projected step.  More... | |
Private Types | |
| typedef Vector< Real > | V | 
| typedef PartitionedVector< Real > | PV | 
| typedef std::vector< Real > ::size_type  | uint | 
Private Attributes | |
| std::vector< ROL::Ptr < BoundConstraint< Real > > >  | bnd_ | 
| ROL::Ptr< V > | l_ | 
| ROL::Ptr< V > | u_ | 
| uint | dim_ | 
| bool | hasLvec_ | 
| bool | hasUvec_ | 
A composite composite BoundConstraint formed from bound constraints on subvectors of a PartitionedVector.
Definition at line 61 of file ROL_BoundConstraint_Partitioned.hpp.
      
  | 
  private | 
Definition at line 63 of file ROL_BoundConstraint_Partitioned.hpp.
      
  | 
  private | 
Definition at line 64 of file ROL_BoundConstraint_Partitioned.hpp.
      
  | 
  private | 
Definition at line 65 of file ROL_BoundConstraint_Partitioned.hpp.
      
  | 
  inline | 
Definition at line 79 of file ROL_BoundConstraint_Partitioned.hpp.
      
  | 
  inline | 
Definition at line 81 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint< Real >::activate(), ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint< Real >::deactivate(), ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::BoundConstraint_Partitioned< Real >::getLowerBound(), ROL::BoundConstraint_Partitioned< Real >::getUpperBound(), ROL::BoundConstraint_Partitioned< Real >::hasLvec_, ROL::BoundConstraint_Partitioned< Real >::hasUvec_, ROL::BoundConstraint< Real >::isActivated(), ROL::BoundConstraint< Real >::isLowerActivated(), ROL::BoundConstraint< Real >::isUpperActivated(), ROL::BoundConstraint_Partitioned< Real >::l_, and ROL::BoundConstraint_Partitioned< Real >::u_.
      
  | 
  inlinevirtual | 
Update bounds.
The update function allows the user to update the bounds at each new iterations.
| [in] | x | is the optimization variable. | 
| [in] | flag | is set to true if control is changed. | 
| [in] | iter | is the outer algorithm iterations count. | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 141 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Project optimization variables onto the bounds.
This function implements the projection of \(x\) onto the bounds, i.e.,
\[ (P_{[a,b]}(x))(\xi) = \min\{b(\xi),\max\{a(\xi),x(\xi)\}\} \quad \text{for almost every }\xi\in\Xi. \]
| [in,out] | x | is the optimization variable. | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 150 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Project optimization variables into the interior of the feasible set.
This function implements the projection of \(x\) into the interior of the feasible set, i.e.,
\[ (\bar{P}_{[a,b]}(x))(\xi) \in (a(\xi),b(\xi)) \quad \text{for almost every }\xi\in\Xi. \]
| [in,out] | x | is the optimization variable. | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 159 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Set variables to zero if they correspond to the upper \(\epsilon\)-active set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{A}^+_\epsilon(x)\). Here, the upper \(\epsilon\)-active set is defined as
\[ \mathcal{A}^+_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = b(\xi)-\epsilon\,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 168 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Set variables to zero if they correspond to the upper \(\epsilon\)-binding set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{B}^+_\epsilon(x)\). Here, the upper \(\epsilon\)-binding set is defined as
\[ \mathcal{B}^+_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = b(\xi)-\epsilon,\; g(\xi) < 0 \,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | g | is the negative search direction. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 178 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Set variables to zero if they correspond to the lower \(\epsilon\)-active set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{A}^-_\epsilon(x)\). Here, the lower \(\epsilon\)-active set is defined as
\[ \mathcal{A}^-_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = a(\xi)+\epsilon\,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 189 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Set variables to zero if they correspond to the \(\epsilon\)-binding set.
This function sets \(v(\xi)=0\) if \(\xi\in\mathcal{B}^-_\epsilon(x)\). Here, the lower \(\epsilon\)-binding set is defined as
\[ \mathcal{B}^-_\epsilon(x) = \{\,\xi\in\Xi\,:\,x(\xi) = a(\xi)+\epsilon,\; g(\xi) > 0 \,\}. \]
| [out] | v | is the variable to be pruned. | 
| [in] | g | is the negative search direction. | 
| [in] | x | is the current optimization variable. | 
| [in] | eps | is the active-set tolerance \(\epsilon\). | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 199 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  inlinevirtual | 
Return the ref count pointer to the lower bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 210 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint< Real >::getLowerBound(), ROL::BoundConstraint_Partitioned< Real >::hasLvec_, and ROL::BoundConstraint_Partitioned< Real >::l_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned().
      
  | 
  inlinevirtual | 
Return the ref count pointer to the upper bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 219 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint< Real >::getUpperBound(), ROL::BoundConstraint_Partitioned< Real >::hasUvec_, and ROL::BoundConstraint_Partitioned< Real >::u_.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned().
      
  | 
  inlinevirtual | 
Check if the vector, v, is feasible.
This function returns true if \(v = P_{[a,b]}(v)\).
| [in] | v | is the vector to be checked. | 
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 228 of file ROL_BoundConstraint_Partitioned.hpp.
References ROL::BoundConstraint_Partitioned< Real >::bnd_, ROL::BoundConstraint_Partitioned< Real >::dim_, ROL::PartitionedVector< Real >::get(), and ROL::BoundConstraint< Real >::isActivated().
      
  | 
  private | 
Definition at line 68 of file ROL_BoundConstraint_Partitioned.hpp.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint_Partitioned< Real >::isFeasible(), ROL::BoundConstraint_Partitioned< Real >::project(), ROL::BoundConstraint_Partitioned< Real >::projectInterior(), ROL::BoundConstraint_Partitioned< Real >::pruneLowerActive(), ROL::BoundConstraint_Partitioned< Real >::pruneUpperActive(), and ROL::BoundConstraint_Partitioned< Real >::update().
      
  | 
  private | 
Definition at line 70 of file ROL_BoundConstraint_Partitioned.hpp.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), and ROL::BoundConstraint_Partitioned< Real >::getLowerBound().
      
  | 
  private | 
Definition at line 71 of file ROL_BoundConstraint_Partitioned.hpp.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), and ROL::BoundConstraint_Partitioned< Real >::getUpperBound().
      
  | 
  private | 
Definition at line 73 of file ROL_BoundConstraint_Partitioned.hpp.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), ROL::BoundConstraint_Partitioned< Real >::isFeasible(), ROL::BoundConstraint_Partitioned< Real >::project(), ROL::BoundConstraint_Partitioned< Real >::projectInterior(), ROL::BoundConstraint_Partitioned< Real >::pruneLowerActive(), ROL::BoundConstraint_Partitioned< Real >::pruneUpperActive(), and ROL::BoundConstraint_Partitioned< Real >::update().
      
  | 
  private | 
Definition at line 75 of file ROL_BoundConstraint_Partitioned.hpp.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), and ROL::BoundConstraint_Partitioned< Real >::getLowerBound().
      
  | 
  private | 
Definition at line 76 of file ROL_BoundConstraint_Partitioned.hpp.
Referenced by ROL::BoundConstraint_Partitioned< Real >::BoundConstraint_Partitioned(), and ROL::BoundConstraint_Partitioned< Real >::getUpperBound().
 1.8.5