Class BracketSearchMinimizer
- java.lang.Object
-
- dev.nm.root.univariate.bracketsearch.BracketSearchMinimizer
-
- All Implemented Interfaces:
UnivariateMinimizer
,Minimizer<C2OptimProblem,UnivariateMinimizer.Solution>
,Optimizer<C2OptimProblem,UnivariateMinimizer.Solution>
- Direct Known Subclasses:
BrentMinimizer
,FibonaccMinimizer
,GoldenMinimizer
public abstract class BracketSearchMinimizer extends Object implements UnivariateMinimizer
This class provides implementation support for those univariate optimization algorithms that are based on bracketing. Examples are Bisection method, Fibonacci search, and Golden-section search. Starting with a 3-point bracketing interval of a minimum, i.e., xl, xa, xu, the search iteratively reduce the length of the interval. It computes a 4th point, xb, according to an interval dividing schedule, to form two overlapping sub-intervals, e.g., [xl, xa], and [xb, xu]. The sub-interval that contains the new minimum is chosen. Repeat the procedure until convergence. This algorithm is most effective for a uni-modal function in interval [xl, xu].
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
BracketSearchMinimizer.Solution
-
Field Summary
Fields Modifier and Type Field Description protected double
epsilon
the convergence toleranceprotected int
maxIterations
the maximum number of iterations
-
Constructor Summary
Constructors Modifier Constructor Description protected
BracketSearchMinimizer(double epsilon, int maxIterations)
Construct a univariate minimizer using a bracket search method.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description UnivariateMinimizer.Solution
solve(UnivariateRealFunction f)
Minimize a univariate function.
-
-
-
Constructor Detail
-
BracketSearchMinimizer
protected BracketSearchMinimizer(double epsilon, int maxIterations)
Construct a univariate minimizer using a bracket search method.- Parameters:
epsilon
- the convergence tolerance; It should be no less than the square root of the machine precision.maxIterations
- the maximum number of iterations
-
-
Method Detail
-
solve
public UnivariateMinimizer.Solution solve(UnivariateRealFunction f) throws Exception
Minimize a univariate function.- Parameters:
f
- the objective function- Returns:
- the minimizer
- Throws:
Exception
-
-