CNDSM  1.00
FumeroTV Class Reference

Definition of the class FumeroTV. More...

#include <FumeroTV.h>

Inheritance diagram for FumeroTV:
Stepsize

Public Member Functions

Constructor
 FumeroTV (SubGrad *slvr, istream *iStrm=NULL)
 Constructor of the class. More...
 
Other initializations
void SetSTPLog (ostream *outs=0, const char lvl=0)
 
void Format (void)
 
Computing the stepsize
void NewStep (void)
 
- Public Member Functions inherited from Stepsize
 Stepsize (SubGrad *slvr, istream *iStrm=0)
 Constructor of the class. More...
 
 Stepsize (SubGrad *slvr, istream *iStrm=0)
 Constructor of the class. More...
 
virtual bool NeedsdkM1Gk (void)
 Returns true if the stepsize requires the scalar product $ d_{i-1}^{\top} g_i$. More...
 
virtual bool NeedsdkM1Gk (void)
 Returns true if the stepsize requires the scalar product $ d_{i-1}^{\top} g_i$. More...
 
virtual HpNum GetStepsize (bool StepIsIncr=false)
 This function must be called after NewStep() [see above]. More...
 
virtual HpNum GetLev (void)
 This function must be called after NewStep() [see above]. More...
 
virtual HpNum GetBeta (void)
 This function must be called after NewStep() [see above]. More...
 
virtual HpNum GetStepsize (bool StepIsIncr=false)
 This function must be called after NewStep() [see above]. More...
 
virtual HpNum GetLev (void)
 This function must be called after NewStep() [see above]. More...
 
virtual HpNum GetBeta (void)
 This function must be called after NewStep() [see above]. More...
 
virtual void SetMaxBeta (const HpNum alpha)
 Changes the maximum value of $ \beta_i $ for a target value stepsize rule. More...
 
virtual void SetMaxBeta (const HpNum alpha)
 Changes the maximum value of $ \beta_i $ for a target value stepsize rule. More...
 
virtual ~Stepsize ()
 
virtual ~Stepsize ()
 

Additional Inherited Members

- Protected Member Functions inherited from Stepsize
HpNum GetCoeffDefl (void)
 Returns the deflection coefficient $\alpha_i$. More...
 
FiOracleGetOracle (void)
 Returns the pointer to FiOracle. More...
 
cHpNum GetGiNorm (void)
 Returns the norm of the subgradient $ g_i $. More...
 
cHpNum GetDNorm (void)
 Returns the norm of the direction $ d_i $. More...
 
cHpNum GetdGk (void)
 Returns the scalar product $ g_i^{\top} d_i$. More...
 
HpNum GetdkM1Gk (void)
 Returns the scalar product $ g_i^{\top} d_{i-1}$. More...
 
Index GetNItIcr (void)
 Returns NItIncr, the parameter for incremental iterations [see SubGrad.h].
 
cHpNum ReadFkVal (void)
 Returns FiLambda [ see SubGrad.h ]. More...
 
cHpNum ReadFiBar (void)
 Returns FiBar [ see SubGrad.h ]. More...
 
HpNum GetCoeffDefl (void)
 Returns the deflection coefficient $\alpha_i$. More...
 
FiOracleGetOracle (void)
 Returns the pointer to FiOracle. More...
 
cHpNum GetGiNorm (void)
 Returns the norm of the subgradient $ g_i $. More...
 
cHpNum GetDNorm (void)
 Returns the norm of the direction $ d_i $. More...
 
cHpNum GetdGk (void)
 Returns the scalar product $ g_i^{\top} d_i$. More...
 
HpNum GetdkM1Gk (void)
 Returns the scalar product $ g_i^{\top} d_{i-1}$. More...
 
Index GetNItIcr (void)
 Returns NItIncr, the parameter for incremental iterations [see SubGrad.h].
 
cHpNum ReadFkVal (void)
 Returns FiLambda [ see SubGrad.h ]. More...
 
cHpNum ReadFiBar (void)
 Returns FiBar [ see SubGrad.h ]. More...
 
- Protected Attributes inherited from Stepsize
SubGradSolver
 (pointer to) the SubGrad solver
 
ostream * STPLog
 the output stream object
 
char STPLLvl
 the "level of verbosity"
 
HpNum FiLev
 the target level $ f^{lev}_i $
 
HpNum Beta
 beta factor $ \beta_i $
 
HpNum MaxBeta
 maximum value for beta factor
 
HpNum LpsFct
 scaling factor
 

Detailed Description

Definition of the class FumeroTV.

This class implements a target value stepsize. At the beginning $ f^{lev} $ is set to the given lower bound and exponentially goes towards $ f^{rec} $. The method works in two phases. In the first one $ \beta_i $ is decremented, while in the second one $ \beta_i $ is still decremented but also incremented after a pre-set number of consecutive improving iterations.

Constructor & Destructor Documentation

FumeroTV ( SubGrad slvr,
istream *  iStrm = NULL 
)
inline

Constructor of the class.

Since the constructor of FumeroTV is executed after the one of Stepsize, the following parameters specific for the FumeroTV have to be found in the stream after those of the base class [see the comments to the constructor of Stepsize]:

  1. HpNum sigmaMin [ 1e-4 ] tolerance of the function $ sigma_r $
  2. Index r1 [ 2 ] sigma_{r1} = 1/2
  3. HpNum beta0 [ 1 ] initial value of beta
  4. Index eta1 [ 10 ] threshold on number of failures (phase I)
  5. index eta2 [ 10 ] threshold on number of failures (phase II)

References Stepsize::Beta, Stepsize::FiLev, Stepsize::Format(), FiOracle::GetLowerBound(), Stepsize::GetOracle(), Stepsize::ReadFkVal(), Stepsize::SetSTPLog(), Stepsize::STPLLvl, and Stepsize::STPLog.