ROL
ROL::ROL::Bundle_U< Real > Class Template Referenceabstract

#include <ROL_Constraint_SerialSimOpt.hpp>

Inheritance diagram for ROL::ROL::Bundle_U< Real >:

Public Member Functions

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)
virtual unsigned solveDual (const Real t, const unsigned maxit=1000, const Real tol=1.e-8)=0
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)

Protected Member Functions

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)

Private Member Functions

void remove (const std::vector< unsigned > &ind)
void add (const Vector< Real > &g, const Real le, const Real dm)

Private Attributes

std::vector< Ptr< Vector< Real > > > subgradients_
std::vector< Real > linearizationErrors_
std::vector< Real > distanceMeasures_
std::vector< Real > dualVariables_
Ptr< Vector< Real > > tG_
Ptr< Vector< Real > > eG_
Ptr< Vector< Real > > yG_
Ptr< Vector< Real > > gx_
Ptr< Vector< Real > > ge_
unsigned size_
unsigned maxSize_
unsigned remSize_
Real coeff_
Real omega_
bool isInitialized_

Detailed Description

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

Definition at line 59 of file ROL_Constraint_SerialSimOpt.hpp.

Constructor & Destructor Documentation

◆ ~Bundle_U()

template<typename Real>
virtual ROL::ROL::Bundle_U< Real >::~Bundle_U ( void )
inlinevirtual

Definition at line 93 of file ROL_Constraint_SerialSimOpt.hpp.

◆ Bundle_U()

template<typename Real>
ROL::Bundle_U< Real >::Bundle_U ( const unsigned maxSize = 10,
const Real coeff = 0.0,
const Real omega = 2.0,
const unsigned remSize = 2 )

Definition at line 86 of file ROL_Constraint_SerialSimOpt.hpp.

Member Function Documentation

◆ remove()

template<typename Real>
void ROL::Bundle_U< Real >::remove ( const std::vector< unsigned > & ind)
private

Definition at line 52 of file ROL_Constraint_SerialSimOpt.hpp.

◆ add()

template<typename Real>
void ROL::Bundle_U< Real >::add ( const Vector< Real > & g,
const Real le,
const Real dm )
private

Definition at line 76 of file ROL_Constraint_SerialSimOpt.hpp.

◆ initialize()

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

Reimplemented in ROL::ROL::Bundle_U_AS< Real >.

Definition at line 107 of file ROL_Constraint_SerialSimOpt.hpp.

◆ solveDual()

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

◆ linearizationError()

template<typename Real>
const Real ROL::Bundle_U< Real >::linearizationError ( const unsigned i) const

Definition at line 128 of file ROL_Constraint_SerialSimOpt.hpp.

References ui_.

◆ distanceMeasure()

template<typename Real>
const Real ROL::Bundle_U< Real >::distanceMeasure ( const unsigned i) const

Definition at line 133 of file ROL_Constraint_SerialSimOpt.hpp.

◆ subgradient()

template<typename Real>
const Vector< Real > & ROL::Bundle_U< Real >::subgradient ( const unsigned i) const

Definition at line 138 of file ROL_Constraint_SerialSimOpt.hpp.

◆ getDualVariable()

template<typename Real>
const Real ROL::Bundle_U< Real >::getDualVariable ( const unsigned i) const

Definition at line 143 of file ROL_Constraint_SerialSimOpt.hpp.

◆ setDualVariable()

template<typename Real>
void ROL::Bundle_U< Real >::setDualVariable ( const unsigned i,
const Real val )

Definition at line 148 of file ROL_Constraint_SerialSimOpt.hpp.

◆ resetDualVariables()

template<typename Real>
void ROL::Bundle_U< Real >::resetDualVariables ( void )

Definition at line 153 of file ROL_Constraint_SerialSimOpt.hpp.

◆ computeAlpha()

template<typename Real>
const Real ROL::Bundle_U< Real >::computeAlpha ( const Real dm,
const Real le ) const

Definition at line 159 of file ROL_Constraint_SerialSimOpt.hpp.

◆ alpha()

template<typename Real>
const Real ROL::Bundle_U< Real >::alpha ( const unsigned i) const

Definition at line 168 of file ROL_Constraint_SerialSimOpt.hpp.

◆ size()

template<typename Real>
unsigned ROL::Bundle_U< Real >::size ( void ) const

◆ aggregate()

template<typename Real>
void ROL::Bundle_U< Real >::aggregate ( Vector< Real > & aggSubGrad,
Real & aggLinErr,
Real & aggDistMeas ) const

Definition at line 178 of file ROL_Constraint_SerialSimOpt.hpp.

◆ reset()

template<typename Real>
void ROL::Bundle_U< Real >::reset ( const Vector< Real > & g,
const Real le,
const Real dm )

Definition at line 205 of file ROL_Constraint_SerialSimOpt.hpp.

◆ update()

template<typename Real>
void ROL::Bundle_U< Real >::update ( const bool flag,
const Real linErr,
const Real distMeas,
const Vector< Real > & g,
const Vector< Real > & s )

Definition at line 233 of file ROL_Constraint_SerialSimOpt.hpp.

◆ GiGj()

template<typename Real>
const Real ROL::Bundle_U< Real >::GiGj ( const unsigned i,
const unsigned j ) const
protected

Definition at line 260 of file ROL_Constraint_SerialSimOpt.hpp.

◆ dotGi()

template<typename Real>
const Real ROL::Bundle_U< Real >::dotGi ( const unsigned i,
const Vector< Real > & x ) const
protected

Definition at line 265 of file ROL_Constraint_SerialSimOpt.hpp.

◆ addGi()

template<typename Real>
void ROL::Bundle_U< Real >::addGi ( const unsigned i,
const Real a,
Vector< Real > & x ) const
protected

Definition at line 270 of file ROL_Constraint_SerialSimOpt.hpp.

◆ evaluateObjective()

template<typename Real>
Real ROL::Bundle_U< Real >::evaluateObjective ( std::vector< Real > & g,
const std::vector< Real > & x,
const Real t ) const
protected

Definition at line 275 of file ROL_Constraint_SerialSimOpt.hpp.

◆ solveDual_dim1()

template<typename Real>
unsigned ROL::Bundle_U< Real >::solveDual_dim1 ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
protected

Definition at line 303 of file ROL_Constraint_SerialSimOpt.hpp.

◆ solveDual_dim2()

template<typename Real>
unsigned ROL::Bundle_U< Real >::solveDual_dim2 ( const Real t,
const unsigned maxit = 1000,
const Real tol = 1.e-8 )
protected

Definition at line 310 of file ROL_Constraint_SerialSimOpt.hpp.

Member Data Documentation

◆ subgradients_

template<typename Real>
std::vector<Ptr<Vector<Real> > > ROL::ROL::Bundle_U< Real >::subgradients_
private

Definition at line 64 of file ROL_Constraint_SerialSimOpt.hpp.

◆ linearizationErrors_

template<typename Real>
std::vector<Real> ROL::ROL::Bundle_U< Real >::linearizationErrors_
private

Definition at line 65 of file ROL_Constraint_SerialSimOpt.hpp.

◆ distanceMeasures_

template<typename Real>
std::vector<Real> ROL::ROL::Bundle_U< Real >::distanceMeasures_
private

Definition at line 66 of file ROL_Constraint_SerialSimOpt.hpp.

◆ dualVariables_

template<typename Real>
std::vector<Real> ROL::ROL::Bundle_U< Real >::dualVariables_
private

Definition at line 68 of file ROL_Constraint_SerialSimOpt.hpp.

◆ tG_

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

Definition at line 70 of file ROL_Constraint_SerialSimOpt.hpp.

◆ eG_

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

Definition at line 71 of file ROL_Constraint_SerialSimOpt.hpp.

◆ yG_

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

Definition at line 72 of file ROL_Constraint_SerialSimOpt.hpp.

◆ gx_

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

Definition at line 73 of file ROL_Constraint_SerialSimOpt.hpp.

◆ ge_

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

Definition at line 74 of file ROL_Constraint_SerialSimOpt.hpp.

◆ size_

template<typename Real>
unsigned ROL::ROL::Bundle_U< Real >::size_
private

Definition at line 76 of file ROL_Constraint_SerialSimOpt.hpp.

◆ maxSize_

template<typename Real>
unsigned ROL::ROL::Bundle_U< Real >::maxSize_
private

Definition at line 78 of file ROL_Constraint_SerialSimOpt.hpp.

◆ remSize_

template<typename Real>
unsigned ROL::ROL::Bundle_U< Real >::remSize_
private

Definition at line 79 of file ROL_Constraint_SerialSimOpt.hpp.

◆ coeff_

template<typename Real>
Real ROL::ROL::Bundle_U< Real >::coeff_
private

Definition at line 80 of file ROL_Constraint_SerialSimOpt.hpp.

◆ omega_

template<typename Real>
Real ROL::ROL::Bundle_U< Real >::omega_
private

Definition at line 81 of file ROL_Constraint_SerialSimOpt.hpp.

◆ isInitialized_

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

Definition at line 83 of file ROL_Constraint_SerialSimOpt.hpp.


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