Class PowellOptimizer
java.lang.Object
org.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
org.apache.commons.math.optimization.direct.PowellOptimizer
- All Implemented Interfaces:
DifferentiableMultivariateRealOptimizer
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
FieldsModifier and TypeFieldDescriptionstatic final doubleDefault absolute tolerance for line search (1.0E-11).static final doubleDefault 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
ConstructorsConstructorDescriptionConstructor with default line search tolerances (see theother constructor).PowellOptimizer(double lsRelativeTolerance) Constructor with default absolute line search tolerances (see theother constructor).PowellOptimizer(double lsRelativeTolerance, double lsAbsoluteTolerance) -
Method Summary
Modifier and TypeMethodDescriptionprotected RealPointValuePairPerform 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
-
Field Details
-
DEFAULT_LS_RELATIVE_TOLERANCE
public static final double DEFAULT_LS_RELATIVE_TOLERANCEDefault relative tolerance for line search (1.0E-7).- See Also:
-
DEFAULT_LS_ABSOLUTE_TOLERANCE
public static final double DEFAULT_LS_ABSOLUTE_TOLERANCEDefault absolute tolerance for line search (1.0E-11).- See Also:
-
-
Constructor Details
-
PowellOptimizer
public PowellOptimizer()Constructor with default line search tolerances (see theother constructor). -
PowellOptimizer
public PowellOptimizer(double lsRelativeTolerance) Constructor with default absolute line search tolerances (see theother 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 Details
-
doOptimize
Perform the bulk of optimization algorithm.- Specified by:
doOptimizein classAbstractScalarDifferentiableOptimizer- Returns:
- the point/value pair giving the optimal value for objective function
- Throws:
FunctionEvaluationException- if the objective function throws one during the searchOptimizationException- if the algorithm failed to converge
-