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 double
Default absolute tolerance for line search (1.0E-11).static final double
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
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 RealPointValuePair
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
-
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:
doOptimize
in 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
-