Optimization Methods
Optimization methods are defined as subtypes AbstractOptBuffer
type. The structs holding the data required for core iteration logic should subtype OptBuffer <: AbstractOptBuffer
. Stopping criteria, logging, step limitations etc. are implemented as subtypes of Wrapper <: AbstractOptBuffer
.
Core Optimization Methods
Downhill.FixedRateDescent
— TypeFixedRateDescent
Descent method which minimizes the objective function in the direction of antigradient at each step.
Downhill.MomentumDescent
— TypeMomentumDescent
Descent method which minimizes the objective function in the direction of antigradient at each step.
Downhill.NesterovMomentum
— TypeNesterovMomentum
Descent method which minimizes the objective function in the direction of antigradient at each step.
Downhill.SteepestDescent
— TypeSteepestDescent
Descent method which minimizes the objective function in the direction of antigradient at each step.
Downhill.HyperGradDescent
— TypeHyperGradDescent
Descent method which minimizes the objective function in the direction of antigradient at each step.
Downhill.CGDescent
— TypeCGDescent
Conjugate gradient method (Hager-Zhang version [W.Hager, H.Zhang // SIAM J. Optim (2006) Vol. 16, pp. 170-192])
Downhill.BFGS
— TypeBFGS
Quasi-Newton descent method.
Downhill.CholBFGS
— TypeCholBFGS
Quasi-Newton descent method.