|
ROL
|
#include <ROL_RiskBoundConstraint.hpp>
Inheritance diagram for ROL::RiskBoundConstraint< Real >:Public Member Functions | |
| RiskBoundConstraint (ROL::Ptr< ROL::ParameterList > &parlist, const ROL::Ptr< BoundConstraint< Real > > &bc=ROL::nullPtr) | |
| RiskBoundConstraint (std::vector< ROL::Ptr< ROL::ParameterList > > &parlist, const ROL::Ptr< BoundConstraint< Real > > &bc=ROL::nullPtr) | |
| RiskBoundConstraint (ROL::Ptr< ROL::ParameterList > &parlistObj, std::vector< ROL::Ptr< ROL::ParameterList > > &parlistCon, const ROL::Ptr< BoundConstraint< Real > > &bc=ROL::nullPtr) | |
| RiskBoundConstraint (const Ptr< BoundConstraint< Real > > &bc) | |
| 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) |
| 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) |
| 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) |
| 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) |
| 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 Member Functions | |
| void | setBoundInfo (ROL::ParameterList &parlist, int &nStat, std::vector< Real > &lower, std::vector< Real > &upper, bool &augmented, bool &activated) |
| bool | buildObjStatBnd (ROL::Ptr< ROL::ParameterList > &parlist) |
| bool | buildConStatBnd (std::vector< ROL::Ptr< ROL::ParameterList > > &parlist) |
Private Attributes | |
| ROL::Ptr< BoundConstraint< Real > > | bc_ |
| ROL::Ptr< StdBoundConstraint < Real > > | statObj_bc_ |
| std::vector< Real > | lowerObj_ |
| std::vector< Real > | upperObj_ |
| std::vector< ROL::Ptr < StdBoundConstraint< Real > > > | statCon_bc_ |
| std::vector< std::vector< Real > > | lowerCon_ |
| std::vector< std::vector< Real > > | upperCon_ |
| bool | augmentedObj_ |
| bool | activatedObj_ |
| int | nStatObj_ |
| bool | augmentedCon_ |
| std::vector< bool > | activatedCon_ |
| std::vector< int > | nStatCon_ |
| bool | isLOinitialized_ |
| bool | isHIinitialized_ |
| ROL::Ptr< RiskVector< Real > > | lo_ |
| ROL::Ptr< RiskVector< Real > > | hi_ |
Definition at line 54 of file ROL_RiskBoundConstraint.hpp.
|
inline |
Definition at line 171 of file ROL_RiskBoundConstraint.hpp.
References ROL::BoundConstraint< Real >::activate(), ROL::RiskBoundConstraint< Real >::buildObjStatBnd(), and ROL::BoundConstraint< Real >::deactivate().
|
inline |
Definition at line 188 of file ROL_RiskBoundConstraint.hpp.
References ROL::BoundConstraint< Real >::activate(), ROL::RiskBoundConstraint< Real >::buildConStatBnd(), and ROL::BoundConstraint< Real >::deactivate().
|
inline |
|
inline |
Definition at line 224 of file ROL_RiskBoundConstraint.hpp.
References ROL::BoundConstraint< Real >::activate(), ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::bc_, and ROL::BoundConstraint< Real >::deactivate().
|
inlineprivate |
Definition at line 74 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd(), and ROL::RiskBoundConstraint< Real >::buildObjStatBnd().
|
inlineprivate |
Definition at line 103 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::lowerObj_, ROL::RiskBoundConstraint< Real >::nStatObj_, ROL::RiskBoundConstraint< Real >::setBoundInfo(), ROL::RiskBoundConstraint< Real >::statObj_bc_, and ROL::RiskBoundConstraint< Real >::upperObj_.
Referenced by ROL::RiskBoundConstraint< Real >::RiskBoundConstraint().
|
inlineprivate |
Definition at line 127 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::lowerCon_, ROL::RiskBoundConstraint< Real >::nStatCon_, ROL::RiskBoundConstraint< Real >::setBoundInfo(), ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::upperCon_.
Referenced by ROL::RiskBoundConstraint< Real >::RiskBoundConstraint().
|
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 236 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
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 256 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
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 276 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
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 296 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
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 319 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
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 345 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
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 368 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
inlinevirtual |
Return the ref count pointer to the lower bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 394 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::isLOinitialized_, ROL::RiskBoundConstraint< Real >::lo_, ROL::RiskBoundConstraint< Real >::lowerCon_, ROL::RiskBoundConstraint< Real >::lowerObj_, and ROL::RiskBoundConstraint< Real >::statCon_bc_.
|
inlinevirtual |
Return the ref count pointer to the upper bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 410 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::hi_, ROL::RiskBoundConstraint< Real >::isHIinitialized_, ROL::RiskBoundConstraint< Real >::statCon_bc_, ROL::RiskBoundConstraint< Real >::upperCon_, and ROL::RiskBoundConstraint< Real >::upperObj_.
|
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 426 of file ROL_RiskBoundConstraint.hpp.
References ROL::RiskBoundConstraint< Real >::activatedCon_, ROL::RiskBoundConstraint< Real >::activatedObj_, ROL::RiskBoundConstraint< Real >::augmentedCon_, ROL::RiskBoundConstraint< Real >::augmentedObj_, ROL::RiskBoundConstraint< Real >::bc_, ROL::RiskBoundConstraint< Real >::statCon_bc_, and ROL::RiskBoundConstraint< Real >::statObj_bc_.
|
private |
Definition at line 56 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::getLowerBound(), ROL::RiskBoundConstraint< Real >::getUpperBound(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 58 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildObjStatBnd(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 59 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildObjStatBnd(), and ROL::RiskBoundConstraint< Real >::getLowerBound().
|
private |
Definition at line 59 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildObjStatBnd(), and ROL::RiskBoundConstraint< Real >::getUpperBound().
|
private |
Definition at line 61 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd(), ROL::RiskBoundConstraint< Real >::getLowerBound(), ROL::RiskBoundConstraint< Real >::getUpperBound(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 62 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd(), and ROL::RiskBoundConstraint< Real >::getLowerBound().
|
private |
Definition at line 62 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd(), and ROL::RiskBoundConstraint< Real >::getUpperBound().
|
private |
Definition at line 64 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildObjStatBnd(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 64 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildObjStatBnd(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), ROL::RiskBoundConstraint< Real >::RiskBoundConstraint(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 65 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildObjStatBnd().
|
private |
Definition at line 67 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 68 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd(), ROL::RiskBoundConstraint< Real >::isFeasible(), ROL::RiskBoundConstraint< Real >::project(), ROL::RiskBoundConstraint< Real >::projectInterior(), ROL::RiskBoundConstraint< Real >::pruneLowerActive(), ROL::RiskBoundConstraint< Real >::pruneUpperActive(), and ROL::RiskBoundConstraint< Real >::update().
|
private |
Definition at line 69 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::buildConStatBnd().
|
mutableprivate |
Definition at line 71 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::getLowerBound().
|
mutableprivate |
Definition at line 71 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::getUpperBound().
|
mutableprivate |
Definition at line 72 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::getLowerBound().
|
mutableprivate |
Definition at line 72 of file ROL_RiskBoundConstraint.hpp.
Referenced by ROL::RiskBoundConstraint< Real >::getUpperBound().
1.8.5