public class BFGSMinimizer extends QuasiNewtonMinimizer
| Modifier and Type | Class and Description |
|---|---|
protected class |
BFGSMinimizer.BFGSImpl
an implementation of the BFGS algorithm
|
QuasiNewtonMinimizer.QuasiNewtonImplSteepestDescentMinimizer.SteepestDescentImplepsilon, 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
SteepestDescentMinimizersolve in interface Optimizer<C2OptimProblem,IterativeSolution<Vector>>solve in class SteepestDescentMinimizerproblem - a minimization problem with a C2 objective functionException - when there is an error solving the problemCopyright © 2010-2020 NM FinTech Ltd.. All Rights Reserved.