|
ROL
|
Provides the interface for and implements a bundle. The semidefinite quadratic subproblem is solved using TT algorithm by Antonio Frangioni (1996). More...
#include <ROL_Bundle_U_TT.hpp>
Inheritance diagram for ROL::Bundle_U_TT< Real >:Public Member Functions | |
| Bundle_U_TT (const unsigned maxSize=10, const Real coeff=0.0, const Real omega=2.0, const unsigned remSize=2) | |
| 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) | |
| virtual void | initialize (const Vector< Real > &g) |
| 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 | |
| Real | sgn (const Real x) const |
| void | swapRowsL (unsigned ind1, unsigned ind2, bool trans=false) |
| void | updateK (void) |
| void | addSubgradToBase (unsigned ind, Real delta) |
| void | deleteSubgradFromBase (unsigned ind, Real tol) |
| void | solveSystem (int size, char tran, LA::Matrix< Real > &L, LA::Vector< Real > &v) |
| bool | isFeasible (LA::Vector< Real > &v, const Real &tol) |
| unsigned | solveDual_TT (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) |
| unsigned | solveDual_arbitrary (const Real t, const unsigned maxit=1000, const Real tol=1.e-8) |
Private Attributes | |
| LAPACK< int, Real > | lapack_ |
| int | QPStatus_ |
| int | maxind_ |
| int | entering_ |
| int | LiMax_ |
| int | LiMin_ |
| unsigned | maxSize_ |
| unsigned | dependent_ |
| unsigned | currSize_ |
| bool | isInitialized_ |
| bool | optimal_ |
| Real | rho_ |
| Real | lhNorm |
| Real | ljNorm |
| Real | lhz1_ |
| Real | lhz2_ |
| Real | ljz1_ |
| Real | kappa_ |
| Real | objval_ |
| Real | minobjval_ |
| Real | deltaLh_ |
| Real | deltaLj_ |
| std::vector< int > | taboo_ |
| std::vector< int > | base_ |
| LA::Matrix< Real > | L_ |
| LA::Matrix< Real > | Id_ |
| LA::Vector< Real > | tempv_ |
| LA::Vector< Real > | tempw1_ |
| LA::Vector< Real > | tempw2_ |
| LA::Vector< Real > | lh_ |
| LA::Vector< Real > | lj_ |
| LA::Vector< Real > | z1_ |
| LA::Vector< Real > | z2_ |
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 a bundle. The semidefinite quadratic subproblem is solved using TT algorithm by Antonio Frangioni (1996).
Definition at line 27 of file ROL_Bundle_U_TT.hpp.
| ROL::Bundle_U_TT< Real >::Bundle_U_TT | ( | const unsigned | maxSize = 10, |
| const Real | coeff = 0.0, |
||
| const Real | omega = 2.0, |
||
| const unsigned | remSize = 2 |
||
| ) |
Definition at line 27 of file ROL_Bundle_U_TT_Def.hpp.
References ROL::Bundle_U_TT< Real >::Id_, ROL::Bundle_U_TT< Real >::maxind_, and ROL::Bundle_U_TT< Real >::maxSize_.
|
virtual |
Implements ROL::Bundle_U< Real >.
Definition at line 48 of file ROL_Bundle_U_TT_Def.hpp.
References ROL::Bundle_U< Real >::solveDual_dim1(), and ROL::Bundle_U< Real >::solveDual_dim2().
|
private |
Definition at line 41 of file ROL_Bundle_U_TT_Def.hpp.
References zero.
|
private |
Definition at line 63 of file ROL_Bundle_U_TT_Def.hpp.
References zero.
|
private |
Definition at line 88 of file ROL_Bundle_U_TT_Def.hpp.
|
private |
Definition at line 110 of file ROL_Bundle_U_TT_Def.hpp.
References ROL::Bundle_U< Real >::alpha().
|
private |
Definition at line 144 of file ROL_Bundle_U_TT_Def.hpp.
References zero.
|
private |
Definition at line 371 of file ROL_Bundle_U_TT_Def.hpp.
|
private |
Definition at line 386 of file ROL_Bundle_U_TT_Def.hpp.
|
private |
Definition at line 397 of file ROL_Bundle_U_TT_Def.hpp.
References ROL::Bundle_U< Real >::alpha(), ROL::Bundle_U< Real >::getDualVariable(), ROL::Bundle_U< Real >::resetDualVariables(), ROL::Bundle_U< Real >::setDualVariable(), and zero.
|
private |
Definition at line 765 of file ROL_Bundle_U_TT_Def.hpp.
|
private |
Definition at line 29 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 31 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 32 of file ROL_Bundle_U_TT.hpp.
Referenced by ROL::Bundle_U_TT< Real >::Bundle_U_TT().
|
private |
Definition at line 33 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 34 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 35 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 37 of file ROL_Bundle_U_TT.hpp.
Referenced by ROL::Bundle_U_TT< Real >::Bundle_U_TT().
|
private |
Definition at line 38 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 39 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 41 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 42 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 44 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 45 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 46 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 47 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 48 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 49 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 50 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 51 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 52 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 53 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 54 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 56 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 57 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 59 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 60 of file ROL_Bundle_U_TT.hpp.
Referenced by ROL::Bundle_U_TT< Real >::Bundle_U_TT().
|
private |
Definition at line 61 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 62 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 63 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 64 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 65 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 66 of file ROL_Bundle_U_TT.hpp.
|
private |
Definition at line 67 of file ROL_Bundle_U_TT.hpp.
1.8.5