org.apache.commons.math.optimization.direct
public class PowellOptimizer extends AbstractScalarDifferentiableOptimizer
optimize.py
v0.5 of
SciPy).Modifier and Type | Class and Description |
---|---|
private class |
PowellOptimizer.LineSearch
Class for finding the minimum of the objective function along a given
direction.
|
Modifier and Type | Field and Description |
---|---|
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).
|
private PowellOptimizer.LineSearch |
line
Line search.
|
checker, DEFAULT_MAX_ITERATIONS, goal, point
Constructor and Description |
---|
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) |
Modifier and Type | Method and Description |
---|---|
private double[] |
copyOf(double[] source,
int newLen)
Java 1.5 does not support Arrays.copyOf()
|
protected RealPointValuePair |
doOptimize()
Perform the bulk of optimization algorithm.
|
private double[][] |
newPointAndDirection(double[] p,
double[] d,
double optimum)
Compute a new point (in the original space) and a new direction
vector, resulting from the line search.
|
computeObjectiveGradient, computeObjectiveValue, getConvergenceChecker, getEvaluations, getGradientEvaluations, getIterations, getMaxEvaluations, getMaxIterations, incrementIterationsCounter, optimize, setConvergenceChecker, setMaxEvaluations, setMaxIterations
public static final double DEFAULT_LS_RELATIVE_TOLERANCE
public static final double DEFAULT_LS_ABSOLUTE_TOLERANCE
private final PowellOptimizer.LineSearch line
public PowellOptimizer()
other constructor
).public PowellOptimizer(double lsRelativeTolerance)
other constructor
).lsRelativeTolerance
- Relative error tolerance for
the line search algorithm (BrentOptimizer
).public PowellOptimizer(double lsRelativeTolerance, double lsAbsoluteTolerance)
lsRelativeTolerance
- Relative error tolerance for
the line search algorithm (BrentOptimizer
).lsAbsoluteTolerance
- Relative error tolerance for
the line search algorithm (BrentOptimizer
).protected RealPointValuePair doOptimize() throws FunctionEvaluationException, OptimizationException
doOptimize
in class AbstractScalarDifferentiableOptimizer
FunctionEvaluationException
- if the objective function throws one during
the searchOptimizationException
- if the algorithm failed to convergeprivate double[][] newPointAndDirection(double[] p, double[] d, double optimum)
p
and d
will be changed in-place.p
- Point used in the line search.d
- Direction used in the line search.optimum
- Optimum found by the line search.private double[] copyOf(double[] source, int newLen)
source
- the array to be copiednewLen
- the length of the copy to be returnedCopyright (c) 2003-2014 Apache Software Foundation