ROL
Bundle_U Class Referenceabstract

Provides the interface for and implements a bundle. More...

#include <ROL_Bundle_U.hpp>

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

Provides the interface for and implements a bundle.

Constructor & Destructor Documentation

◆ ~Bundle_U()

virtual Bundle_U::~Bundle_U ( void )
inlinevirtual

Definition at line 93 of file ROL_Bundle_U.hpp.

◆ Bundle_U()

Bundle_U::Bundle_U ( const unsigned maxSize = 10,
const Real coeff = 0.0,
const Real omega = 2.0,
const unsigned remSize = 2 )

Member Function Documentation

◆ remove()

void Bundle_U::remove ( const std::vector< unsigned > & ind)
private

◆ add()

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

◆ initialize()

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

Reimplemented in Bundle_U_AS.

◆ solveDual()

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

Implemented in Bundle_U_AS, and Bundle_U_TT.

◆ linearizationError()

const Real Bundle_U::linearizationError ( const unsigned i) const

◆ distanceMeasure()

const Real Bundle_U::distanceMeasure ( const unsigned i) const

◆ subgradient()

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

◆ getDualVariable()

const Real Bundle_U::getDualVariable ( const unsigned i) const

◆ setDualVariable()

void Bundle_U::setDualVariable ( const unsigned i,
const Real val )

◆ resetDualVariables()

void Bundle_U::resetDualVariables ( void )

◆ computeAlpha()

const Real Bundle_U::computeAlpha ( const Real dm,
const Real le ) const

◆ alpha()

const Real Bundle_U::alpha ( const unsigned i) const

◆ size()

unsigned Bundle_U::size ( void ) const

◆ aggregate()

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

◆ reset()

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

◆ update()

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

◆ GiGj()

const Real Bundle_U::GiGj ( const unsigned i,
const unsigned j ) const
protected

◆ dotGi()

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

◆ addGi()

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

◆ evaluateObjective()

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

◆ solveDual_dim1()

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

◆ solveDual_dim2()

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

Member Data Documentation

◆ subgradients_

std::vector<Ptr<Vector<Real> > > Bundle_U::subgradients_
private

Definition at line 64 of file ROL_Bundle_U.hpp.

◆ linearizationErrors_

std::vector<Real> Bundle_U::linearizationErrors_
private

Definition at line 65 of file ROL_Bundle_U.hpp.

◆ distanceMeasures_

std::vector<Real> Bundle_U::distanceMeasures_
private

Definition at line 66 of file ROL_Bundle_U.hpp.

◆ dualVariables_

std::vector<Real> Bundle_U::dualVariables_
private

Definition at line 68 of file ROL_Bundle_U.hpp.

◆ tG_

Ptr<Vector<Real> > Bundle_U::tG_
private

Definition at line 70 of file ROL_Bundle_U.hpp.

◆ eG_

Ptr<Vector<Real> > Bundle_U::eG_
private

Definition at line 71 of file ROL_Bundle_U.hpp.

◆ yG_

Ptr<Vector<Real> > Bundle_U::yG_
private

Definition at line 72 of file ROL_Bundle_U.hpp.

◆ gx_

Ptr<Vector<Real> > Bundle_U::gx_
private

Definition at line 73 of file ROL_Bundle_U.hpp.

◆ ge_

Ptr<Vector<Real> > Bundle_U::ge_
private

Definition at line 74 of file ROL_Bundle_U.hpp.

◆ size_

unsigned Bundle_U::size_
private

Definition at line 76 of file ROL_Bundle_U.hpp.

◆ maxSize_

unsigned Bundle_U::maxSize_
private

Definition at line 78 of file ROL_Bundle_U.hpp.

◆ remSize_

unsigned Bundle_U::remSize_
private

Definition at line 79 of file ROL_Bundle_U.hpp.

◆ coeff_

Real Bundle_U::coeff_
private

Definition at line 80 of file ROL_Bundle_U.hpp.

◆ omega_

Real Bundle_U::omega_
private

Definition at line 81 of file ROL_Bundle_U.hpp.

◆ isInitialized_

bool Bundle_U::isInitialized_
private

Definition at line 83 of file ROL_Bundle_U.hpp.


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