SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.unconstrained.quasinewton
Class BFGS

java.lang.Object
  extended by com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
      extended by com.numericalmethod.suanshu.optimization.unconstrained.quasinewton.QuasiNewton
          extended by com.numericalmethod.suanshu.optimization.unconstrained.quasinewton.BFGS
All Implemented Interfaces:
Minimizer, UnconstrainedMinimizer

public class BFGS
extends QuasiNewton

The Broyden-Fletcher-Goldfarb-Shanno method is a quasi-Newton method to solve unconstrained nonlinear optimization problems. The Hessian matrix of the function to be minimized needs not to be computed at any stage. The Hessian is updated by analyzing successive gradient vectors instead.

See Also:

Nested Class Summary
 
Nested classes/interfaces inherited from class com.numericalmethod.suanshu.optimization.unconstrained.quasinewton.QuasiNewton
QuasiNewton.QuasiNewtonImpl
 
Nested classes/interfaces inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
SteepestDescent.LineSearch
 
Field Summary
 
Fields inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
f, g, tol
 
Constructor Summary
BFGS()
           
 
Method Summary
protected  SteepestDescent.LineSearch getLineSearch()
           
 void solve(boolean isFletcherSwitch, RealScalarFunction f, RealVectorFunction g, double tol)
           
 
Methods inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
minimum, search, solve, solve, solve
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

BFGS

public BFGS()
Method Detail

solve

public void solve(boolean isFletcherSwitch,
                  RealScalarFunction f,
                  RealVectorFunction g,
                  double tol)

getLineSearch

protected SteepestDescent.LineSearch getLineSearch()
Specified by:
getLineSearch in class SteepestDescent

SuanShu, a Java numerical and statistical library

Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.