类 LineSearch

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

public class LineSearch extends Object
在给定方向上找到目标函数的最小值的类。
  • 构造器详细资料

    • LineSearch

      public LineSearch(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange)
      BrentOptimizer 默认的停止准则使用容差来检查定义域(点)的值,而不是函数值。因此,relativeToleranceabsoluteTolerance参数被传递给一个自定义检查器,该检查器将使用函数值。
      参数:
      optimizer - 代表进行线搜索的优化器。其computeObjectiveValue方法将被search方法调用。
      relativeTolerance - 当连续迭代之间的函数相对差值低于此值时,搜索将停止。
      absoluteTolerance - 当连续迭代之间的函数绝对差值低于此值时,搜索将停止。
      initialBracketingRange - 用于找到包围最优解的初始区间的范围。如果在最优解附近优化的函数变化很大,可能需要提供一个低于连续局部极小值之间距离的值。
  • 方法详细资料

    • search

      public UnivariatePointValuePair search(double[] startPoint, double[] direction)
      找到优化f(startPoint + alpha * direction)的数值alpha
      参数:
      startPoint - 起始点。
      direction - 搜索方向。
      返回:
      最优解。
      抛出:
      MathIllegalStateException - 如果超过评估次数。