类 LineSearch
java.lang.Object
org.hipparchus.optim.nonlinear.scalar.LineSearch
在给定方向上找到目标函数的最小值的类。
-
构造器概要
构造器说明LineSearch
(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange) BrentOptimizer
默认的停止准则使用容差来检查定义域(点)的值,而不是函数值。 -
方法概要
修饰符和类型方法说明search
(double[] startPoint, double[] direction) 找到优化f(startPoint + alpha * direction)
的数值alpha
。
-
构造器详细资料
-
LineSearch
public LineSearch(MultivariateOptimizer optimizer, double relativeTolerance, double absoluteTolerance, double initialBracketingRange) BrentOptimizer
默认的停止准则使用容差来检查定义域(点)的值,而不是函数值。因此,relativeTolerance
和absoluteTolerance
参数被传递给一个自定义检查器
,该检查器将使用函数值。- 参数:
-
optimizer
- 代表进行线搜索的优化器。其computeObjectiveValue
方法将被search
方法调用。 -
relativeTolerance
- 当连续迭代之间的函数相对差值低于此值时,搜索将停止。 -
absoluteTolerance
- 当连续迭代之间的函数绝对差值低于此值时,搜索将停止。 -
initialBracketingRange
- 用于找到包围最优解的初始区间的范围。如果在最优解附近优化的函数变化很大,可能需要提供一个低于连续局部极小值之间距离的值。
-
-
方法详细资料
-
search
找到优化f(startPoint + alpha * direction)
的数值alpha
。- 参数:
-
startPoint
- 起始点。 -
direction
- 搜索方向。 - 返回:
- 最优解。
- 抛出:
-
MathIllegalStateException
- 如果超过评估次数。
-