public class BracketFinder extends Object
optimize.py
v0.5).Modifier and Type | Field and Description |
---|---|
private static double |
EPS_MIN
Tolerance to avoid division by zero.
|
private int |
evaluations
Number of function evaluations.
|
private double |
fHi
Function value at
hi . |
private double |
fLo
Function value at
lo . |
private double |
fMid
Function value at
mid . |
private static double |
GOLD
Golden section.
|
private double |
growLimit
Factor for expanding the interval.
|
private double |
hi
Higher bound of the bracket.
|
private int |
iterations
Number of iterations.
|
private double |
lo
Lower bound of the bracket.
|
private int |
maxIterations
Maximum number of iterations.
|
private double |
mid
Point inside the bracket.
|
Constructor and Description |
---|
BracketFinder()
Constructor with default values
100, 50 (see the
other constructor ). |
BracketFinder(double growLimit,
int maxIterations)
Create a bracketing interval finder.
|
Modifier and Type | Method and Description |
---|---|
private double |
eval(UnivariateRealFunction f,
double x) |
int |
getEvaluations() |
double |
getFHi()
Get function value at
getHi() . |
double |
getFLow()
Get function value at
getLo() . |
double |
getFMid()
Get function value at
getMid() . |
double |
getHi() |
int |
getIterations() |
double |
getLo() |
double |
getMid() |
private void |
reset()
Reset internal state.
|
void |
search(UnivariateRealFunction func,
GoalType goal,
double xA,
double xB)
Search new points that bracket a local optimum of the function.
|
private static final double EPS_MIN
private static final double GOLD
private final double growLimit
private final int maxIterations
private int iterations
private int evaluations
private double lo
private double hi
private double mid
private double fLo
lo
.private double fHi
hi
.private double fMid
mid
.public BracketFinder()
100, 50
(see the
other constructor
).public BracketFinder(double growLimit, int maxIterations)
growLimit
- Expanding factor.maxIterations
- Maximum number of iterations allowed for finding
a bracketing interval.public void search(UnivariateRealFunction func, GoalType goal, double xA, double xB) throws MaxIterationsExceededException, FunctionEvaluationException
func
- Function whose optimum should be bracketted.goal
- Goal type
.xA
- Initial point.xB
- Initial point.MaxIterationsExceededException
- if the maximum iteration count
is exceeded.FunctionEvaluationException
- if an error occurs evaluating the function.public int getIterations()
public int getEvaluations()
public double getLo()
getFLow()
public double getHi()
getFHi()
public double getMid()
getFMid()
private double eval(UnivariateRealFunction f, double x) throws FunctionEvaluationException
f
- Function.x
- Argument.f(x)
FunctionEvaluationException
- if function cannot be evaluated at xprivate void reset()
Copyright (c) 2003-2014 Apache Software Foundation