SuanShu, a Java numerical and statistical library

com.numericalmethod.suanshu.optimization.unconstrained.conjugatedirection
Class Powell

java.lang.Object
  extended by com.numericalmethod.suanshu.optimization.unconstrained.steepestdescent.SteepestDescent
      extended by 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."

Nested Class Summary
 
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
Powell()
           
 
Method Summary
protected  SteepestDescent.LineSearch getLineSearch()
           
 
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

Powell

public Powell()
Method Detail

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.