|
ROL
|
Provides the interface for and implements an active set bundle. More...
#include <ROL_Bundle_U_AS.hpp>
Inheritance diagram for ROL::Bundle_U_AS< Real >:Public Member Functions | |
| Bundle_U_AS (const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2) | |
| void | initialize (const Vector< Real > &g) |
| unsigned | solveDual (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) |
Public Member Functions inherited from ROL::Bundle_U< Real > | |
| virtual | ~Bundle_U (void) |
| Bundle_U (const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2) | |
| const Real | linearizationError (const unsigned i) const |
| const Real | distanceMeasure (const unsigned i) const |
| const Vector< Real > & | subgradient (const unsigned i) const |
| const Real | getDualVariable (const unsigned i) const |
| void | setDualVariable (const unsigned i, const Real val) |
| void | resetDualVariables (void) |
| const Real | computeAlpha (const Real dm, const Real le) const |
| const Real | alpha (const unsigned i) const |
| unsigned | size (void) const |
| void | aggregate (Vector< Real > &aggSubGrad, Real &aggLinErr, Real &aggDistMeas) const |
| void | reset (const Vector< Real > &g, const Real le, const Real dm) |
| void | update (const bool flag, const Real linErr, const Real distMeas, const Vector< Real > &g, const Vector< Real > &s) |
Private Member Functions | |
| void | initializeDualSolver (void) |
| void | computeLagMult (std::vector< Real > &lam, const Real mu, const std::vector< Real > &g) const |
| bool | isNonnegative (unsigned &ind, const std::vector< Real > &x) const |
| Real | computeStepSize (unsigned &ind, const std::vector< Real > &x, const std::vector< Real > &p) const |
| unsigned | solveEQPsubproblem (std::vector< Real > &s, Real &mu, const std::vector< Real > &g, const Real tol) const |
| void | applyPreconditioner (std::vector< Real > &Px, const std::vector< Real > &x) const |
| void | applyG (std::vector< Real > &Gx, const std::vector< Real > &x) const |
| void | applyPreconditioner_Identity (std::vector< Real > &Px, const std::vector< Real > &x) const |
| void | applyG_Identity (std::vector< Real > &Gx, const std::vector< Real > &x) const |
| void | applyPreconditioner_Jacobi (std::vector< Real > &Px, const std::vector< Real > &x) const |
| void | applyG_Jacobi (std::vector< Real > &Gx, const std::vector< Real > &x) const |
| void | applyPreconditioner_SymGS (std::vector< Real > &Px, const std::vector< Real > &x) const |
| void | applyG_SymGS (std::vector< Real > &Gx, const std::vector< Real > &x) const |
| void | computeResidualUpdate (std::vector< Real > &r, std::vector< Real > &g) const |
| void | applyFullMatrix (std::vector< Real > &Hx, const std::vector< Real > &x) const |
| void | applyMatrix (std::vector< Real > &Hx, const std::vector< Real > &x) const |
| unsigned | projectedCG (std::vector< Real > &x, Real &mu, const std::vector< Real > &b, const Real tol) const |
| Real | dot (const std::vector< Real > &x, const std::vector< Real > &y) const |
| Real | norm (const std::vector< Real > &x) const |
| void | axpy (const Real a, const std::vector< Real > &x, std::vector< Real > &y) const |
| void | scale (std::vector< Real > &x, const Real a) const |
| void | scale (std::vector< Real > &x, const Real a, const std::vector< Real > &y) const |
| unsigned | solveDual_arbitrary (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) |
| void | project (std::vector< Real > &x, const std::vector< Real > &v) const |
| Real | computeCriticality (const std::vector< Real > &g, const std::vector< Real > &sol) const |
Private Attributes | |
| Ptr< Vector< Real > > | tG_ |
| Ptr< Vector< Real > > | eG_ |
| Ptr< Vector< Real > > | yG_ |
| Ptr< Vector< Real > > | gx_ |
| Ptr< Vector< Real > > | ge_ |
| std::set< unsigned > | workingSet_ |
| std::set< unsigned > | nworkingSet_ |
| bool | isInitialized_ |
Additional Inherited Members | |
Protected Member Functions inherited from ROL::Bundle_U< Real > | |
| const Real | GiGj (const unsigned i, const unsigned j) const |
| const Real | dotGi (const unsigned i, const Vector< Real > &x) const |
| void | addGi (const unsigned i, const Real a, Vector< Real > &x) const |
| Real | evaluateObjective (std::vector< Real > &g, const std::vector< Real > &x, const Real t) const |
| unsigned | solveDual_dim1 (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) |
| unsigned | solveDual_dim2 (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) |
Provides the interface for and implements an active set bundle.
Definition at line 22 of file ROL_Bundle_U_AS.hpp.
| ROL::Bundle_U_AS< Real >::Bundle_U_AS | ( | const unsigned | maxSize = 10, |
| const Real | coeff = 0.0, |
||
| const Real | omega = 2.0, |
||
| const unsigned | remSize = 2 |
||
| ) |
Definition at line 16 of file ROL_Bundle_U_AS_Def.hpp.
|
virtual |
Reimplemented from ROL::Bundle_U< Real >.
Definition at line 23 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Vector< Real >::clone(), and ROL::Bundle_U< Real >::initialize().
|
virtual |
Implements ROL::Bundle_U< Real >.
Definition at line 36 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::solveDual_dim1(), and ROL::Bundle_U< Real >::solveDual_dim2().
|
private |
Definition at line 51 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::getDualVariable(), ROL::Bundle_U< Real >::setDualVariable(), and zero.
|
private |
Definition at line 79 of file ROL_Bundle_U_AS_Def.hpp.
References zero.
|
private |
Definition at line 95 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::size().
|
private |
Definition at line 115 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::size(), and zero.
|
private |
Definition at line 133 of file ROL_Bundle_U_AS_Def.hpp.
References zero.
|
private |
Definition at line 157 of file ROL_Bundle_U_AS_Def.hpp.
References zero.
|
private |
Definition at line 170 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 180 of file ROL_Bundle_U_AS_Def.hpp.
References dim.
|
private |
Definition at line 198 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 203 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 232 of file ROL_Bundle_U_AS_Def.hpp.
References dim.
|
private |
Definition at line 241 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::addGi(), dim, ROL::Bundle_U< Real >::dotGi(), and ROL::Bundle_U< Real >::GiGj().
|
private |
Definition at line 290 of file ROL_Bundle_U_AS_Def.hpp.
References dim.
|
private |
Definition at line 299 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 321 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::dotGi().
|
private |
Definition at line 339 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::dotGi().
|
private |
Definition at line 361 of file ROL_Bundle_U_AS_Def.hpp.
References zero.
|
private |
Definition at line 408 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 423 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 428 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 436 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 443 of file ROL_Bundle_U_AS_Def.hpp.
|
private |
Definition at line 451 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::evaluateObjective(), ROL::Bundle_U< Real >::getDualVariable(), ROL::Bundle_U< Real >::setDualVariable(), and zero.
|
private |
Definition at line 506 of file ROL_Bundle_U_AS_Def.hpp.
References ROL::Bundle_U< Real >::size(), and zero.
|
private |
Definition at line 528 of file ROL_Bundle_U_AS_Def.hpp.
References zero.
|
private |
Definition at line 28 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 29 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 30 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 31 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 32 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 34 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 35 of file ROL_Bundle_U_AS.hpp.
|
private |
Definition at line 37 of file ROL_Bundle_U_AS.hpp.
1.8.5