ROL
ROL::ROL::Bundle_U_AS< Real > Class Template Reference

#include <ROL_Constraint_SerialSimOpt.hpp>

Inheritance diagram for ROL::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::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::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)

Detailed Description

template<typename Real>
class ROL::ROL::Bundle_U_AS< Real >

Definition at line 56 of file ROL_Constraint_SerialSimOpt.hpp.

Constructor & Destructor Documentation

◆ Bundle_U_AS()

template<typename Real>
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 51 of file ROL_Constraint_SerialSimOpt.hpp.

Member Function Documentation

◆ initialize()

template<typename Real>
void ROL::Bundle_U_AS< Real >::initialize ( const Vector< Real > & g)
virtual

Reimplemented from ROL::ROL::Bundle_U< Real >.

Definition at line 58 of file ROL_Constraint_SerialSimOpt.hpp.

◆ solveDual()

template<typename Real>
unsigned ROL::Bundle_U_AS< Real >::solveDual ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
virtual

Implements ROL::ROL::Bundle_U< Real >.

Definition at line 71 of file ROL_Constraint_SerialSimOpt.hpp.

◆ initializeDualSolver()

template<typename Real>
void ROL::Bundle_U_AS< Real >::initializeDualSolver ( void )
private

Definition at line 86 of file ROL_Constraint_SerialSimOpt.hpp.

◆ computeLagMult()

template<typename Real>
void ROL::Bundle_U_AS< Real >::computeLagMult ( std::vector< Real > & lam,
const Real mu,
const std::vector< Real > & g ) const
private

Definition at line 114 of file ROL_Constraint_SerialSimOpt.hpp.

◆ isNonnegative()

template<typename Real>
bool ROL::Bundle_U_AS< Real >::isNonnegative ( unsigned & ind,
const std::vector< Real > & x ) const
private

Definition at line 130 of file ROL_Constraint_SerialSimOpt.hpp.

◆ computeStepSize()

template<typename Real>
Real ROL::Bundle_U_AS< Real >::computeStepSize ( unsigned & ind,
const std::vector< Real > & x,
const std::vector< Real > & p ) const
private

Definition at line 150 of file ROL_Constraint_SerialSimOpt.hpp.

◆ solveEQPsubproblem()

template<typename Real>
unsigned ROL::Bundle_U_AS< Real >::solveEQPsubproblem ( std::vector< Real > & s,
Real & mu,
const std::vector< Real > & g,
const Real tol ) const
private

Definition at line 168 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyPreconditioner()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyPreconditioner ( std::vector< Real > & Px,
const std::vector< Real > & x ) const
private

Definition at line 192 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyG()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyG ( std::vector< Real > & Gx,
const std::vector< Real > & x ) const
private

Definition at line 205 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyPreconditioner_Identity()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyPreconditioner_Identity ( std::vector< Real > & Px,
const std::vector< Real > & x ) const
private

Definition at line 215 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyG_Identity()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyG_Identity ( std::vector< Real > & Gx,
const std::vector< Real > & x ) const
private

Definition at line 233 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyPreconditioner_Jacobi()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyPreconditioner_Jacobi ( std::vector< Real > & Px,
const std::vector< Real > & x ) const
private

Definition at line 238 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyG_Jacobi()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyG_Jacobi ( std::vector< Real > & Gx,
const std::vector< Real > & x ) const
private

Definition at line 267 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyPreconditioner_SymGS()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyPreconditioner_SymGS ( std::vector< Real > & Px,
const std::vector< Real > & x ) const
private

Definition at line 276 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyG_SymGS()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyG_SymGS ( std::vector< Real > & Gx,
const std::vector< Real > & x ) const
private

Definition at line 325 of file ROL_Constraint_SerialSimOpt.hpp.

◆ computeResidualUpdate()

template<typename Real>
void ROL::Bundle_U_AS< Real >::computeResidualUpdate ( std::vector< Real > & r,
std::vector< Real > & g ) const
private

Definition at line 334 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyFullMatrix()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyFullMatrix ( std::vector< Real > & Hx,
const std::vector< Real > & x ) const
private

Definition at line 356 of file ROL_Constraint_SerialSimOpt.hpp.

◆ applyMatrix()

template<typename Real>
void ROL::Bundle_U_AS< Real >::applyMatrix ( std::vector< Real > & Hx,
const std::vector< Real > & x ) const
private

Definition at line 374 of file ROL_Constraint_SerialSimOpt.hpp.

◆ projectedCG()

template<typename Real>
unsigned ROL::Bundle_U_AS< Real >::projectedCG ( std::vector< Real > & x,
Real & mu,
const std::vector< Real > & b,
const Real tol ) const
private

Definition at line 396 of file ROL_Constraint_SerialSimOpt.hpp.

◆ dot()

template<typename Real>
Real ROL::Bundle_U_AS< Real >::dot ( const std::vector< Real > & x,
const std::vector< Real > & y ) const
private

Definition at line 443 of file ROL_Constraint_SerialSimOpt.hpp.

◆ norm()

template<typename Real>
Real ROL::Bundle_U_AS< Real >::norm ( const std::vector< Real > & x) const
private

Definition at line 458 of file ROL_Constraint_SerialSimOpt.hpp.

◆ axpy()

template<typename Real>
void ROL::Bundle_U_AS< Real >::axpy ( const Real a,
const std::vector< Real > & x,
std::vector< Real > & y ) const
private

Definition at line 463 of file ROL_Constraint_SerialSimOpt.hpp.

◆ scale() [1/2]

template<typename Real>
void ROL::Bundle_U_AS< Real >::scale ( std::vector< Real > & x,
const Real a ) const
private

Definition at line 471 of file ROL_Constraint_SerialSimOpt.hpp.

◆ scale() [2/2]

template<typename Real>
void ROL::Bundle_U_AS< Real >::scale ( std::vector< Real > & x,
const Real a,
const std::vector< Real > & y ) const
private

Definition at line 478 of file ROL_Constraint_SerialSimOpt.hpp.

◆ solveDual_arbitrary()

template<typename Real>
unsigned ROL::Bundle_U_AS< Real >::solveDual_arbitrary ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
private

Definition at line 486 of file ROL_Constraint_SerialSimOpt.hpp.

◆ project()

template<typename Real>
void ROL::Bundle_U_AS< Real >::project ( std::vector< Real > & x,
const std::vector< Real > & v ) const
private

Definition at line 541 of file ROL_Constraint_SerialSimOpt.hpp.

◆ computeCriticality()

template<typename Real>
Real ROL::Bundle_U_AS< Real >::computeCriticality ( const std::vector< Real > & g,
const std::vector< Real > & sol ) const
private

Definition at line 563 of file ROL_Constraint_SerialSimOpt.hpp.

Member Data Documentation

◆ tG_

template<typename Real>
Ptr<Vector<Real> > ROL::ROL::Bundle_U_AS< Real >::tG_
private

Definition at line 62 of file ROL_Constraint_SerialSimOpt.hpp.

◆ eG_

template<typename Real>
Ptr<Vector<Real> > ROL::ROL::Bundle_U_AS< Real >::eG_
private

Definition at line 63 of file ROL_Constraint_SerialSimOpt.hpp.

◆ yG_

template<typename Real>
Ptr<Vector<Real> > ROL::ROL::Bundle_U_AS< Real >::yG_
private

Definition at line 64 of file ROL_Constraint_SerialSimOpt.hpp.

◆ gx_

template<typename Real>
Ptr<Vector<Real> > ROL::ROL::Bundle_U_AS< Real >::gx_
private

Definition at line 65 of file ROL_Constraint_SerialSimOpt.hpp.

◆ ge_

template<typename Real>
Ptr<Vector<Real> > ROL::ROL::Bundle_U_AS< Real >::ge_
private

Definition at line 66 of file ROL_Constraint_SerialSimOpt.hpp.

◆ workingSet_

template<typename Real>
std::set<unsigned> ROL::ROL::Bundle_U_AS< Real >::workingSet_
private

Definition at line 68 of file ROL_Constraint_SerialSimOpt.hpp.

◆ nworkingSet_

template<typename Real>
std::set<unsigned> ROL::ROL::Bundle_U_AS< Real >::nworkingSet_
private

Definition at line 69 of file ROL_Constraint_SerialSimOpt.hpp.

◆ isInitialized_

template<typename Real>
bool ROL::ROL::Bundle_U_AS< Real >::isInitialized_
private

Definition at line 71 of file ROL_Constraint_SerialSimOpt.hpp.


The documentation for this class was generated from the following files: