Class PowellMinimizer
- java.lang.Object
-
- dev.nm.solver.multivariate.unconstrained.c2.steepestdescent.SteepestDescentMinimizer
-
- dev.nm.solver.multivariate.unconstrained.c2.conjugatedirection.PowellMinimizer
-
- All Implemented Interfaces:
Minimizer<C2OptimProblem,IterativeSolution<Vector>>
,IterativeC2Minimizer
,IterativeMinimizer<C2OptimProblem>
,MultivariateMinimizer<C2OptimProblem,IterativeSolution<Vector>>
,Optimizer<C2OptimProblem,IterativeSolution<Vector>>
public class PowellMinimizer extends SteepestDescentMinimizer
Powell's algorithm, starting from an initial point, performs a series of line searches in one iteration. The line 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. However, 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 the set of linearly independent directions that span En, even in the case of a convex quadratic problem.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
PowellMinimizer.PowellImpl
an implementation of Powell's algorithm-
Nested classes/interfaces inherited from class dev.nm.solver.multivariate.unconstrained.c2.steepestdescent.SteepestDescentMinimizer
SteepestDescentMinimizer.SteepestDescentImpl
-
-
Field Summary
-
Fields inherited from class dev.nm.solver.multivariate.unconstrained.c2.steepestdescent.SteepestDescentMinimizer
epsilon, maxIterations
-
-
Constructor Summary
Constructors Constructor Description PowellMinimizer(double epsilon, int maxIterations)
Construct a multivariate minimizer using the Powell method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description IterativeSolution<Vector>
solve(C2OptimProblem problem)
Solve a minimization problem with a C2 objective function.
-
-
-
Method Detail
-
solve
public IterativeSolution<Vector> solve(C2OptimProblem problem) throws Exception
Description copied from class:SteepestDescentMinimizer
Solve a minimization problem with a C2 objective function.- Specified by:
solve
in interfaceOptimizer<C2OptimProblem,IterativeSolution<Vector>>
- Specified by:
solve
in classSteepestDescentMinimizer
- Parameters:
problem
- a minimization problem with a C2 objective function- Returns:
- a minimizer
- Throws:
Exception
- when there is an error solving the problem
-
-