Class 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].
    • Field Detail

      • epsilon

        protected final double epsilon
        the convergence tolerance
      • maxIterations

        protected final int maxIterations
        the maximum number of iterations
    • 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