NDOSolver / FiOracle
Interfaces and Solvers for NonDifferentiable Optimization
|
#include <Polyak.h>
Public Member Functions | |
Polyak (SubGrad *slvr, std::istream *iStrm) | |
void | SetSTPLog (ostream *outs=0, const char lvl=0) |
void | Format (void) |
void | NewStep (void) |
![]() | |
Stepsize (SubGrad *slvr, istream *iStrm=0) | |
virtual void | SetSTPLog (std::ostream *outs=0, const char lvl=0) |
virtual bool | NeedsdkM1Gk (void) |
virtual HpNum | GetStepsize (bool StepIsIncr=false) |
virtual HpNum | GetLev (void) |
virtual HpNum | GetBeta (void) |
virtual void | SetMaxBeta (const HpNum alpha) |
Protected Member Functions | |
bool | UpdateTargetLevel (void) |
![]() | |
HpNum | GetCoeffDefl (void) |
FiOracle * | GetOracle (void) |
HpNum | GetGiNorm (void) |
HpNum | GetDNorm (void) |
HpNum | GetdGk (void) |
HpNum | GetdkM1Gk (void) |
Index | GetNItIcr (void) |
HpNum | ReadFkVal (void) |
HpNum | ReadFiBar (void) |
Additional Inherited Members | |
![]() | |
SubGrad * | Solver |
(pointer to) the SubGrad solver | |
std::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 | |
Definition of the class Polyak. This class implements a target value stepsize rule, whereby \(\beta_i\) and \(f^{lev}_i\) are constant (they do not depend on $i$).
|
inlinevirtual |
The method initializes the stepsize rule.
Reimplemented from Stepsize.
|
inlinevirtual |
This method must be called before GetStepsize() [see below]. This is indeed the core of every derived class, producing a new step.
If the derived class implements a target value stepsize rule, the method must compute both the scalar \( \beta_i \) and the level \( f^{lev}_i \).
Typically, the previous step will be unavailable after the call to NewStep() [see GetStepsize()].
Implements Stepsize.
|
inlineprotectedvirtual |
It tries to provide a new target level \( f^{lev}_i \). It true is returned, the level has been changed. By default, it returns false.
Reimplemented from Stepsize.