|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.apache.commons.math.optimization.general.AbstractScalarDifferentiableOptimizer
org.apache.commons.math.optimization.direct.PowellOptimizer
public class PowellOptimizer
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).
| Nested Class Summary | |
|---|---|
private class |
PowellOptimizer.LineSearch
Class for finding the minimum of the objective function along a given direction. |
| 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). |
private PowellOptimizer.LineSearch |
line
Line search. |
| 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 | |
|---|---|
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. |
| 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 |
|---|
public static final double DEFAULT_LS_RELATIVE_TOLERANCE
public static final double DEFAULT_LS_ABSOLUTE_TOLERANCE
private final PowellOptimizer.LineSearch line
| Constructor Detail |
|---|
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).| Method Detail |
|---|
protected RealPointValuePair doOptimize()
throws FunctionEvaluationException,
OptimizationException
doOptimize in class AbstractScalarDifferentiableOptimizerFunctionEvaluationException - if the objective function throws one during
the search
OptimizationException - if the algorithm failed to converge
private 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 returned
|
|||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||