com.numericalmethod.suanshu.optimization.unconstrained.conjugatedirection
Class Zangwill
java.lang.Object
com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
com.numericalmethod.suanshu.optimization.unconstrained.conjugatedirection.Zangwill
- All Implemented Interfaces:
- Minimizer, UnconstrainedMinimizer
public class Zangwill
- extends SteepestDescent
Zangwill's algorithm is an improved version of Powell's algorithm.
It enhances the algorithm to generate a set of conjugate directions that are always linearly independent.
Despite the "improvement", in practice however,
Zangwill's algorithm seems to produce results that are less accurate than those of Powell's algorithm.
A conjugate direction optimization method is performed by using
sequential search directions that bear a strict mathematical relationship to one another.
- See Also:
- "Algorithm 6.5. Practical Optimization: Algorithms and Engineering Applications. Andreas Antoniou, Wu-Sheng Lu."
| Fields inherited from class com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent |
f, g, tol |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Zangwill
public Zangwill()
solve
public void solve(RealScalarFunction f,
RealVectorFunction g,
double tol,
double tol2)
- Solve an instance of Zangwill to minimize a function
f.
- Parameters:
f - the real valued function to be minimizedg - a function that computes the gradient of f for a given xtol - the convergence tolerancetol2 - a tolerance to decide whether there is linear dependence among the conjugate directions
solve
public void solve(RealScalarFunction f,
RealVectorFunction g,
double tol)
- Construct an instance of Zangwill to minimize a function.
- Overrides:
solve in class SteepestDescent
- Parameters:
f - the real valued function to be minimizedg - a function that computes the gradient of f for a given xtol - the convergence tolerance
getLineSearch
protected SteepestDescent.LineSearch getLineSearch()
- Specified by:
getLineSearch in class SteepestDescent
Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.