类 SimpleVectorValueChecker
java.lang.Object
org.hipparchus.optim.AbstractConvergenceChecker<PointVectorValuePair>
org.hipparchus.optim.SimpleVectorValueChecker
- 所有已实现的接口:
-
ConvergenceChecker<PointVectorValuePair>
ConvergenceChecker
接口的简单实现,仅使用目标函数值。如果目标函数值之间的相对差小于一个阈值,或者目标函数值之间的绝对差对于所有向量元素都小于另一个阈值,则认为已达到收敛。
如果迭代次数已设置,
converged
方法也将返回true
(请参见此构造函数
)。
-
构造器概要
构造器说明SimpleVectorValueChecker
(double relativeThreshold, double absoluteThreshold) 使用指定的阈值构建一个实例。SimpleVectorValueChecker
(double relativeThreshold, double absoluteThreshold, int maxIter) 使用指定的容差阈值和迭代计数构建一个实例。 -
方法概要
修饰符和类型方法说明boolean
converged
(int iteration, PointVectorValuePair previous, PointVectorValuePair current) 检查优化算法是否已收敛,考虑最后两个点。从类继承的方法 org.hipparchus.optim.AbstractConvergenceChecker
getAbsoluteThreshold, getRelativeThreshold
-
构造器详细资料
-
SimpleVectorValueChecker
public SimpleVectorValueChecker(double relativeThreshold, double absoluteThreshold) 使用指定的阈值构建一个实例。为了执行仅相对检查,必须将绝对容差设置为负值。为了执行仅绝对检查,必须将相对容差设置为负值。- 参数:
-
relativeThreshold
- 相对容差阈值 -
absoluteThreshold
- 绝对容差阈值
-
SimpleVectorValueChecker
public SimpleVectorValueChecker(double relativeThreshold, double absoluteThreshold, int maxIter) 使用指定的容差阈值和迭代计数构建一个实例。为了执行仅相对检查,必须将绝对容差设置为负值。为了执行仅绝对检查,必须将相对容差设置为负值。- 参数:
-
relativeThreshold
- 相对容差阈值。 -
absoluteThreshold
- 绝对容差阈值。 -
maxIter
- 最大迭代次数。 - 抛出:
-
MathIllegalArgumentException
- 如果maxIter <= 0
。
-
-
方法详细资料
-
converged
public boolean converged(int iteration, PointVectorValuePair previous, PointVectorValuePair current) 检查优化算法是否已收敛,考虑最后两个点。此方法可以在同一算法迭代中多次调用,使用不同的点。如果需要,可以通过检查每次调用时的迭代次数来检测。每次调用此方法时,前一个点和当前点对应于每次迭代中具有相同角色的点,因此它们可以进行比较。例如,基于单纯形的算法会为单纯形的所有点调用此方法,而不仅仅是最佳或最差的点。- 指定者:
-
converged
在接口中ConvergenceChecker<PointVectorValuePair>
- 指定者:
-
converged
在类中AbstractConvergenceChecker<PointVectorValuePair>
- 参数:
-
iteration
- 当前迭代的索引 -
previous
- 上一次迭代中的最佳点。 -
current
- 当前迭代中的最佳点。 - 返回:
-
如果参数满足收敛标准,则返回
true
。
-