org.apache.commons.math.optimization.direct
Class PowellOptimizer

java.lang.Object
  extended by org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
      extended by org.apache.commons.math.optimization.direct.PowellOptimizer
All Implemented Interfaces:
DifferentiableMultivariateRealOptimizer

public class PowellOptimizer
extends AbstractScalarDifferentiableOptimizer

Powell algorithm. This code is translated and adapted from the Python version of this algorithm (as implemented in module optimize.py v0.5 of SciPy).

Since:
2.2
Version:
$Revision$ $Date$

Field Summary
static double DEFAULT_LS_ABSOLUTE_TOLERANCE
          Default absolute tolerance for line search (1.0E-11).
static double DEFAULT_LS_RELATIVE_TOLERANCE
          Default relative tolerance for line search (1.0E-7).
 
Fields inherited from class org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
checker, DEFAULT_MAX_ITERATIONS, goal, point
 
Constructor Summary
PowellOptimizer()
          Constructor with default line search tolerances (see the other constructor).
PowellOptimizer(double lsRelativeTolerance)
          Constructor with default absolute line search tolerances (see the other constructor).
PowellOptimizer(double lsRelativeTolerance, double lsAbsoluteTolerance)
           
 
Method Summary
protected  RealPointValuePair doOptimize()
          Perform the bulk of optimization algorithm.
 
Methods inherited from class org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
computeObjectiveGradient, computeObjectiveValue, getConvergenceChecker, getEvaluations, getGradientEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementIterationsCounter, optimize, setConvergenceChecker, setMaxEvaluations, setMaxIterations
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

DEFAULT_LS_RELATIVE_TOLERANCE

public static final double DEFAULT_LS_RELATIVE_TOLERANCE
Default relative tolerance for line search (1.0E-7).

See Also:
Constant Field Values

DEFAULT_LS_ABSOLUTE_TOLERANCE

public static final double DEFAULT_LS_ABSOLUTE_TOLERANCE
Default absolute tolerance for line search (1.0E-11).

See Also:
Constant Field Values
Constructor Detail

PowellOptimizer

public PowellOptimizer()
Constructor with default line search tolerances (see the other constructor).


PowellOptimizer

public PowellOptimizer(double lsRelativeTolerance)
Constructor with default absolute line search tolerances (see the other constructor).

Parameters:
lsRelativeTolerance - Relative error tolerance for the line search algorithm (BrentOptimizer).

PowellOptimizer

public PowellOptimizer(double lsRelativeTolerance,
                       double lsAbsoluteTolerance)
Parameters:
lsRelativeTolerance - Relative error tolerance for the line search algorithm (BrentOptimizer).
lsAbsoluteTolerance - Relative error tolerance for the line search algorithm (BrentOptimizer).
Method Detail

doOptimize

protected RealPointValuePair doOptimize()
                                 throws FunctionEvaluationException,
                                        OptimizationException
Perform the bulk of optimization algorithm.

Specified by:
doOptimize in class AbstractScalarDifferentiableOptimizer
Returns:
the point/value pair giving the optimal value for objective function
Throws:
FunctionEvaluationException - if the objective function throws one during the search
OptimizationException - if the algorithm failed to converge


Copyright © 2003-2011 The Apache Software Foundation. All Rights Reserved.