Class LineSearch

java.lang.Object
org.hipparchus.optim.nonlinear.scalar.LineSearch

public class LineSearch extends Object
Class for finding the minimum of the objective function along a given direction.
  • Constructor Summary

    Constructors
    Constructor
    Description
    LineSearch(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange)
    The BrentOptimizer default stopping criterion uses the tolerances to check the domain (point) values, not the function values.
  • Method Summary

    Modifier and Type
    Method
    Description
    search(double[] startPoint, double[] direction)
    Finds the number alpha that optimizes f(startPoint + alpha * direction).

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Constructor Details

    • LineSearch

      public LineSearch(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange)
      The BrentOptimizer default stopping criterion uses the tolerances to check the domain (point) values, not the function values. The relativeTolerance and absoluteTolerance arguments are thus passed to a custom checker that will use the function values.
      Parameters:
      optimizer - Optimizer on behalf of which the line search be performed. Its computeObjectiveValue method will be called by the search method.
      relativeTolerance - Search will stop when the function relative difference between successive iterations is below this value.
      absoluteTolerance - Search will stop when the function absolute difference between successive iterations is below this value.
      initialBracketingRange - Extent of the initial interval used to find an interval that brackets the optimum. If the optimized function varies a lot in the vicinity of the optimum, it may be necessary to provide a value lower than the distance between successive local minima.
  • Method Details

    • search

      public UnivariatePointValuePair search(double[] startPoint, double[] direction)
      Finds the number alpha that optimizes f(startPoint + alpha * direction).
      Parameters:
      startPoint - Starting point.
      direction - Search direction.
      Returns:
      the optimum.
      Throws:
      MathIllegalStateException - if the number of evaluations is exceeded.