Class PowellOptimizer.LineSearch
- java.lang.Object
-
- org.apache.commons.math3.optimization.univariate.BaseAbstractUnivariateOptimizer
-
- org.apache.commons.math3.optimization.univariate.BrentOptimizer
-
- org.apache.commons.math3.optimization.direct.PowellOptimizer.LineSearch
-
- All Implemented Interfaces:
BaseOptimizer<UnivariatePointValuePair>
,BaseUnivariateOptimizer<UnivariateFunction>
,UnivariateOptimizer
- Enclosing class:
- PowellOptimizer
private class PowellOptimizer.LineSearch extends BrentOptimizer
Class for finding the minimum of the objective function along a given direction.
-
-
Field Summary
Fields Modifier and Type Field Description private static double
ABS_TOL_UNUSED
Value that will pass the precondition check forBrentOptimizer
but will not pass the convergence check, so that the custom checker will always decide when to stop the line search.private BracketFinder
bracket
Automatic bracketing.private static double
REL_TOL_UNUSED
Value that will pass the precondition check forBrentOptimizer
but will not pass the convergence check, so that the custom checker will always decide when to stop the line search.
-
Constructor Summary
Constructors Constructor Description LineSearch(double rel, double abs)
The "BrentOptimizer" default stopping criterion uses the tolerances to check the domain (point) values, not the function values.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnivariatePointValuePair
search(double[] p, double[] d)
Find the minimum of the functionf(p + alpha * d)
.-
Methods inherited from class org.apache.commons.math3.optimization.univariate.BrentOptimizer
doOptimize
-
Methods inherited from class org.apache.commons.math3.optimization.univariate.BaseAbstractUnivariateOptimizer
computeObjectiveValue, getConvergenceChecker, getEvaluations, getGoalType, getMax, getMaxEvaluations, getMin, getStartValue, optimize, optimize
-
-
-
-
Field Detail
-
REL_TOL_UNUSED
private static final double REL_TOL_UNUSED
Value that will pass the precondition check forBrentOptimizer
but will not pass the convergence check, so that the custom checker will always decide when to stop the line search.- See Also:
- Constant Field Values
-
ABS_TOL_UNUSED
private static final double ABS_TOL_UNUSED
Value that will pass the precondition check forBrentOptimizer
but will not pass the convergence check, so that the custom checker will always decide when to stop the line search.- See Also:
- Constant Field Values
-
bracket
private final BracketFinder bracket
Automatic bracketing.
-
-
Constructor Detail
-
LineSearch
LineSearch(double rel, double abs)
The "BrentOptimizer" default stopping criterion uses the tolerances to check the domain (point) values, not the function values. We thus create a custom checker to use function values.- Parameters:
rel
- Relative threshold.abs
- Absolute threshold.
-
-
Method Detail
-
search
public UnivariatePointValuePair search(double[] p, double[] d)
Find the minimum of the functionf(p + alpha * d)
.- Parameters:
p
- Starting point.d
- Search direction.- Returns:
- the optimum.
- Throws:
TooManyEvaluationsException
- if the number of evaluations is exceeded.
-
-