类 SimplePointChecker<P extends Pair<double[],? extends Object>>

java.lang.Object
org.hipparchus.optim.AbstractConvergenceChecker<P>
org.hipparchus.optim.SimplePointChecker<P>
类型参数:
P - (点,值) 对的类型。该对的“值”部分的类型(此类未使用)。
所有已实现的接口:
ConvergenceChecker<P>

public class SimplePointChecker<P extends Pair<double[],? extends Object>> extends AbstractConvergenceChecker<P>
ConvergenceChecker接口的简单实现,仅使用点坐标。如果每个点坐标之间的相对差小于一个阈值,或者点坐标之间的绝对差小于另一个阈值,则认为已达到收敛。
如果迭代次数已设置(请参见此构造函数),converged方法也将返回true
  • 构造器详细资料

    • SimplePointChecker

      public SimplePointChecker(double relativeThreshold, double absoluteThreshold)
      使用指定的阈值构建一个实例。为了执行仅相对检查,必须将绝对容差设置为负值。为了执行仅绝对检查,必须将相对容差设置为负值。
      参数:
      relativeThreshold - 相对容差阈值
      absoluteThreshold - 绝对容差阈值
    • SimplePointChecker

      public SimplePointChecker(double relativeThreshold, double absoluteThreshold, int maxIter)
      使用指定的阈值构建一个实例。为了执行仅相对检查,必须将绝对容差设置为负值。为了执行仅绝对检查,必须将相对容差设置为负值。
      参数:
      relativeThreshold - 相对容差阈值。
      absoluteThreshold - 绝对容差阈值。
      maxIter - 最大迭代次数。
      抛出:
      MathIllegalArgumentException - 如果maxIter <= 0
  • 方法详细资料

    • converged

      public boolean converged(int iteration, P previous, P current)
      检查优化算法是否已收敛,考虑最后两个点。此方法可以从同一算法迭代中多次调用,使用不同的点。如果需要,可以通过检查每次调用时的迭代次数来检测。每次调用此方法时,前一个点和当前点对应于每次迭代中具有相同角色的点,因此它们可以进行比较。例如,基于单纯形的算法会为单纯形的所有点调用此方法,而不仅仅是最佳或最差的点。
      指定者:
      converged 在接口中 ConvergenceChecker<P extends Pair<double[],? extends Object>>
      指定者:
      converged 在类中 AbstractConvergenceChecker<P extends Pair<double[],? extends Object>>
      参数:
      iteration - 当前迭代的索引
      previous - 上一次迭代中的最佳点。
      current - 当前迭代中的最佳点。
      返回:
      true如果参数满足收敛标准。