public class BFGSMinimizer extends QuasiNewtonMinimizer
Modifier and Type | Class and Description |
---|---|
protected class |
BFGSMinimizer.BFGSImpl
an implementation of the BFGS algorithm
|
QuasiNewtonMinimizer.QuasiNewtonImpl
SteepestDescentMinimizer.SteepestDescentImpl
epsilon, maxIterations
Constructor and Description |
---|
BFGSMinimizer(boolean isFletcherSwitch,
double epsilon,
int maxIterations)
Construct a multivariate minimizer using the BFGS method.
|
Modifier and Type | Method and Description |
---|---|
static Matrix |
dampedBFGSHessianUpdate(Matrix H,
Vector gamma,
Vector delta)
Damped BFGS Hessian update.
|
IterativeSolution<Vector> |
solve(C2OptimProblem problem)
Solve a minimization problem with a C2 objective function.
|
static Matrix |
updateHessianInverse1(Matrix S,
Matrix gamma,
Matrix delta)
Sk+1 = Sk + (1 + γ'Sγ/γ'δ)/γ'δ * δδ' -(δγ'S + Sγδ') / γ'δ, where S = H-1
|
static Matrix |
updateHessianInverse2(Matrix S,
Matrix gamma,
Matrix delta)
P + γγ' / γ'δ - P %*% γγ' %*% P / γ'Pδ, where P = S-1 is the Hessian.
|
public BFGSMinimizer(boolean isFletcherSwitch, double epsilon, int maxIterations)
epsilon
- a precision parameter: when a number |x| ≤ ε, it is considered 0maxIterations
- the maximum number of iterationsisFletcherSwitch
- indicate whether to use the Fletcher switchpublic static Matrix updateHessianInverse1(Matrix S, Matrix gamma, Matrix delta)
S
- the inverse of a Hessiangamma
- γdelta
- δpublic static Matrix updateHessianInverse2(Matrix S, Matrix gamma, Matrix delta)
S
- the inverse of a Hessiangamma
- γdelta
- δpublic static Matrix dampedBFGSHessianUpdate(Matrix H, Vector gamma, Vector delta)
H
- a Hessian matrixgamma
- γdelta
- δpublic IterativeSolution<Vector> solve(C2OptimProblem problem) throws Exception
SteepestDescentMinimizer
solve
in interface Optimizer<C2OptimProblem,IterativeSolution<Vector>>
solve
in class SteepestDescentMinimizer
problem
- a minimization problem with a C2 objective functionException
- when there is an error solving the problemCopyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.