|
ROL
|
#include <example_04.hpp>
Inheritance diagram for L2BoundConstraint< Real >:Public Member Functions | |
| L2BoundConstraint (std::vector< Real > &l, std::vector< Real > &u, const ROL::Ptr< BurgersFEM< Real > > &fem, Real scale=1.0) | |
| bool | isFeasible (const ROL::Vector< Real > &x) |
| Check if the vector, v, is feasible. More... | |
| void | project (ROL::Vector< Real > &x) |
| Project optimization variables onto the bounds. More... | |
| void | pruneLowerActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the lower \(\epsilon\)-active set. More... | |
| void | pruneUpperActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-active set. More... | |
| void | pruneActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| void | pruneLowerActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-binding set. More... | |
| void | pruneUpperActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-binding set. More... | |
| void | pruneActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| const ROL::Ptr< const ROL::Vector< Real > > | getLowerBound (void) const |
| Return the ref count pointer to the lower bound vector. More... | |
| const ROL::Ptr< const ROL::Vector< Real > > | getUpperBound (void) const |
| Return the ref count pointer to the upper bound vector. More... | |
| L2BoundConstraint (std::vector< Real > &l, std::vector< Real > &u, const ROL::Ptr< BurgersFEM< Real > > &fem, Real scale=1.0) | |
| bool | isFeasible (const ROL::Vector< Real > &x) |
| Check if the vector, v, is feasible. More... | |
| void | project (ROL::Vector< Real > &x) |
| Project optimization variables onto the bounds. More... | |
| void | pruneLowerActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the lower \(\epsilon\)-active set. More... | |
| void | pruneUpperActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-active set. More... | |
| void | pruneActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| void | pruneLowerActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-binding set. More... | |
| void | pruneUpperActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-binding set. More... | |
| void | pruneActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| const ROL::Ptr< const ROL::Vector< Real > > | getLowerBound (void) const |
| Return the ref count pointer to the lower bound vector. More... | |
| const ROL::Ptr< const ROL::Vector< Real > > | getUpperBound (void) const |
| Return the ref count pointer to the upper bound vector. More... | |
| L2BoundConstraint (std::vector< Real > &l, std::vector< Real > &u, const ROL::Ptr< BurgersFEM< Real > > &fem, Real scale=1.0) | |
| bool | isFeasible (const ROL::Vector< Real > &x) |
| Check if the vector, v, is feasible. More... | |
| void | project (ROL::Vector< Real > &x) |
| Project optimization variables onto the bounds. More... | |
| void | pruneLowerActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the lower \(\epsilon\)-active set. More... | |
| void | pruneUpperActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-active set. More... | |
| void | pruneActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &x, Real eps=Real(0)) |
| void | pruneLowerActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| Set variables to zero if they correspond to the \(\epsilon\)-binding set. More... | |
| void | pruneUpperActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| Set variables to zero if they correspond to the upper \(\epsilon\)-binding set. More... | |
| void | pruneActive (ROL::Vector< Real > &v, const ROL::Vector< Real > &g, const ROL::Vector< Real > &x, Real xeps=Real(0), Real geps=Real(0)) |
| const ROL::Ptr< const ROL::Vector< Real > > | getLowerBound (void) const |
| Return the ref count pointer to the lower bound vector. More... | |
| const ROL::Ptr< const ROL::Vector< Real > > | getUpperBound (void) const |
| Return the ref count pointer to the upper bound vector. More... | |
Public Member Functions inherited from ROL::BoundConstraint< Real > | |
| virtual | ~BoundConstraint () |
| BoundConstraint (void) | |
| BoundConstraint (const Vector< Real > &x) | |
| virtual void | projectInterior (Vector< Real > &x) |
| Project optimization variables into the interior of the feasible set. More... | |
| virtual void | applyInverseScalingFunction (Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const |
| Apply inverse scaling function. More... | |
| virtual void | applyScalingFunctionJacobian (Vector< Real > &dv, const Vector< Real > &v, const Vector< Real > &x, const Vector< Real > &g) const |
| Apply scaling function Jacobian. More... | |
| 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=Real(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 xeps=Real(0), Real geps=Real(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=Real(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=Real(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 xeps=Real(0), Real geps=Real(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 xeps=Real(0), Real geps=Real(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=Real(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 xeps=Real(0), Real geps=Real(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 | cast_vector (ROL::Ptr< std::vector< Real > > &xvec, ROL::Vector< Real > &x) const |
| void | cast_const_vector (ROL::Ptr< const std::vector< Real > > &xvec, const ROL::Vector< Real > &x) const |
| void | axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const |
| void | projection (std::vector< Real > &x) |
| void | cast_vector (ROL::Ptr< std::vector< Real > > &xvec, ROL::Vector< Real > &x) const |
| void | cast_const_vector (ROL::Ptr< const std::vector< Real > > &xvec, const ROL::Vector< Real > &x) const |
| void | axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const |
| void | projection (std::vector< Real > &x) |
| void | cast_vector (ROL::Ptr< std::vector< Real > > &xvec, ROL::Vector< Real > &x) const |
| void | cast_const_vector (ROL::Ptr< const std::vector< Real > > &xvec, const ROL::Vector< Real > &x) const |
| void | axpy (std::vector< Real > &out, const Real a, const std::vector< Real > &x, const std::vector< Real > &y) const |
| void | projection (std::vector< Real > &x) |
Private Attributes | |
| int | dim_ |
| std::vector< Real > | x_lo_ |
| std::vector< Real > | x_up_ |
| Real | min_diff_ |
| Real | scale_ |
| ROL::Ptr< BurgersFEM< Real > > | fem_ |
| ROL::Ptr< ROL::Vector< Real > > | l_ |
| ROL::Ptr< ROL::Vector< Real > > | u_ |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::BoundConstraint< Real > | |
| Real | computeInf (const Vector< Real > &x) const |
Protected Attributes inherited from ROL::BoundConstraint< Real > | |
| Ptr< Vector< Real > > | lower_ |
| Ptr< Vector< Real > > | upper_ |
Definition at line 1139 of file example_04.hpp.
|
inline |
Definition at line 1185 of file example_04.hpp.
References L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::l_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::u_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1262 of file example_07.hpp.
References L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::l_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::u_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1048 of file example_08.hpp.
References L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::l_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::u_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
inlineprivate |
Definition at line 1150 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::project(), L2BoundConstraint< Real >::pruneActive(), L2BoundConstraint< Real >::pruneLowerActive(), and L2BoundConstraint< Real >::pruneUpperActive().
|
inlineprivate |
Definition at line 1160 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::isFeasible(), L2BoundConstraint< Real >::pruneActive(), L2BoundConstraint< Real >::pruneLowerActive(), and L2BoundConstraint< Real >::pruneUpperActive().
|
inlineprivate |
Definition at line 1170 of file example_04.hpp.
References L2BoundConstraint< Real >::dim_.
|
inlineprivate |
Definition at line 1178 of file example_04.hpp.
References L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
Referenced by L2BoundConstraint< Real >::project().
|
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 1204 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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 1216 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_vector(), and L2BoundConstraint< Real >::projection().
|
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) \le 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 1221 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_lo_.
|
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) \ge 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 1232 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1243 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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) \le 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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1255 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_lo_.
|
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) \ge b(\xi)-\epsilon_x,\; g(\xi) < -\epsilon_g \,\}. \]
| [out] | v | is the variable to be pruned. |
| [in] | g | is the negative search direction. |
| [in] | x | is the current optimization variable. |
| [in] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1267 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1279 of file example_04.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
inlinevirtual |
Return the ref count pointer to the lower bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1292 of file example_04.hpp.
References L2BoundConstraint< Real >::l_.
|
inlinevirtual |
Return the ref count pointer to the upper bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1296 of file example_04.hpp.
References L2BoundConstraint< Real >::u_.
|
inlineprivate |
Definition at line 1227 of file example_07.hpp.
|
inlineprivate |
Definition at line 1237 of file example_07.hpp.
|
inlineprivate |
Definition at line 1247 of file example_07.hpp.
References L2BoundConstraint< Real >::dim_.
|
inlineprivate |
Definition at line 1255 of file example_07.hpp.
References L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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 1281 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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 1293 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_vector(), and L2BoundConstraint< Real >::projection().
|
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) \le 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 1298 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_lo_.
|
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) \ge 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 1309 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1320 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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) \le 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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1332 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_lo_.
|
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) \ge b(\xi)-\epsilon_x,\; g(\xi) < -\epsilon_g \,\}. \]
| [out] | v | is the variable to be pruned. |
| [in] | g | is the negative search direction. |
| [in] | x | is the current optimization variable. |
| [in] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1344 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1356 of file example_07.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
inlinevirtual |
Return the ref count pointer to the lower bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1369 of file example_07.hpp.
References L2BoundConstraint< Real >::l_.
|
inlinevirtual |
Return the ref count pointer to the upper bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1373 of file example_07.hpp.
References L2BoundConstraint< Real >::u_.
|
inlineprivate |
Definition at line 1013 of file example_08.hpp.
|
inlineprivate |
Definition at line 1023 of file example_08.hpp.
|
inlineprivate |
Definition at line 1033 of file example_08.hpp.
References L2BoundConstraint< Real >::dim_.
|
inlineprivate |
Definition at line 1041 of file example_08.hpp.
References L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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 1067 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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 1079 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_vector(), and L2BoundConstraint< Real >::projection().
|
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) \le 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 1084 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_lo_.
|
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) \ge 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 1095 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1106 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
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) \le 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] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1118 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_lo_.
|
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) \ge b(\xi)-\epsilon_x,\; g(\xi) < -\epsilon_g \,\}. \]
| [out] | v | is the variable to be pruned. |
| [in] | g | is the negative search direction. |
| [in] | x | is the current optimization variable. |
| [in] | xeps | is the active-set tolerance \(\epsilon_x\). |
| [in] | geps | is the binding-set tolerance \(\epsilon_g\). |
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1130 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, and L2BoundConstraint< Real >::x_up_.
|
inline |
Definition at line 1142 of file example_08.hpp.
References L2BoundConstraint< Real >::cast_const_vector(), L2BoundConstraint< Real >::cast_vector(), L2BoundConstraint< Real >::dim_, L2BoundConstraint< Real >::min_diff_, L2BoundConstraint< Real >::scale_, L2BoundConstraint< Real >::x_lo_, and L2BoundConstraint< Real >::x_up_.
|
inlinevirtual |
Return the ref count pointer to the lower bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1155 of file example_08.hpp.
References L2BoundConstraint< Real >::l_.
|
inlinevirtual |
Return the ref count pointer to the upper bound vector.
Reimplemented from ROL::BoundConstraint< Real >.
Definition at line 1159 of file example_08.hpp.
References L2BoundConstraint< Real >::u_.
|
private |
Definition at line 1141 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::axpy(), L2BoundConstraint< Real >::isFeasible(), L2BoundConstraint< Real >::L2BoundConstraint(), L2BoundConstraint< Real >::projection(), L2BoundConstraint< Real >::pruneActive(), L2BoundConstraint< Real >::pruneLowerActive(), and L2BoundConstraint< Real >::pruneUpperActive().
|
private |
Definition at line 1142 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::isFeasible(), L2BoundConstraint< Real >::L2BoundConstraint(), L2BoundConstraint< Real >::projection(), L2BoundConstraint< Real >::pruneActive(), and L2BoundConstraint< Real >::pruneLowerActive().
|
private |
Definition at line 1143 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::isFeasible(), L2BoundConstraint< Real >::L2BoundConstraint(), L2BoundConstraint< Real >::projection(), L2BoundConstraint< Real >::pruneActive(), and L2BoundConstraint< Real >::pruneUpperActive().
|
private |
Definition at line 1144 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::L2BoundConstraint(), L2BoundConstraint< Real >::pruneActive(), L2BoundConstraint< Real >::pruneLowerActive(), and L2BoundConstraint< Real >::pruneUpperActive().
|
private |
Definition at line 1145 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::pruneActive(), L2BoundConstraint< Real >::pruneLowerActive(), and L2BoundConstraint< Real >::pruneUpperActive().
|
private |
Definition at line 1146 of file example_04.hpp.
|
private |
Definition at line 1147 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::getLowerBound(), and L2BoundConstraint< Real >::L2BoundConstraint().
|
private |
Definition at line 1148 of file example_04.hpp.
Referenced by L2BoundConstraint< Real >::getUpperBound(), and L2BoundConstraint< Real >::L2BoundConstraint().
1.8.5