Class 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 Details

    • REL_TOL_UNUSED

      private static final double REL_TOL_UNUSED
      Value that will pass the precondition check for BrentOptimizer but will not pass the convergence check, so that the custom checker will always decide when to stop the line search.
      See Also:
    • ABS_TOL_UNUSED

      private static final double ABS_TOL_UNUSED
      Value that will pass the precondition check for BrentOptimizer but will not pass the convergence check, so that the custom checker will always decide when to stop the line search.
      See Also:
    • bracket

      private final BracketFinder bracket
      Automatic bracketing.
  • Constructor Details

    • 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 Details

    • search

      public UnivariatePointValuePair search(double[] p, double[] d)
      Find the minimum of the function f(p + alpha * d).
      Parameters:
      p - Starting point.
      d - Search direction.
      Returns:
      the optimum.
      Throws:
      TooManyEvaluationsException - if the number of evaluations is exceeded.