com.numericalmethod.suanshu.optimization.unconstrained.conjugatedirection
Class Powell
java.lang.Object
com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
com.numericalmethod.suanshu.optimization.unconstrained.conjugatedirection.Powell
- All Implemented Interfaces:
- Minimizer, UnconstrainedMinimizer
public class Powell
- extends SteepestDescent
Powell's algorithm, starting from an initial point, performs a series
of line searches in one iteration.
The search directions, except the last one, are all linearly independent.
The major advantage of Powell’s algorithm is that
the Hessian needs not be supplied, stored or manipulated.
This algorithm has a few drawbacks and is superseded by Zangwill’s algorithm.
For example, in an iteration, linear dependence can sometimes arise,
which may fail to find complete set of linearly independent directions that span En,
even in the case of a convex quadratic problem.
A conjugate direction optimization method is performed by using
sequential search directions that bear a strict mathematical relationship to one another.
- See Also:
- "Theorem 6.5, Algorithm 6.4. 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 |
Powell
public Powell()
getLineSearch
protected SteepestDescent.LineSearch getLineSearch()
- Specified by:
getLineSearch in class SteepestDescent
Copyright © 2011 Numerical Method Inc. Ltd. All Rights Reserved.