Interface ConvergenceChecker<P>

Type Parameters:
P - Type of the (point, objective value) pair.
All Known Implementing Classes:
AbstractConvergenceChecker, ADMMQPConvergenceChecker, ConvergenceCheckerAndMultiplexer, ConvergenceCheckerOrMultiplexer, EvaluationRmsChecker, SimplePointChecker, SimpleUnivariateValueChecker, SimpleValueChecker, SimpleVectorValueChecker

public interface ConvergenceChecker<P>
This interface specifies how to check if an optimization algorithm has converged.
Deciding if convergence has been reached is a problem-dependent issue. The user should provide a class implementing this interface to allow the optimization algorithm to stop its search according to the problem at hand.
For convenience, three implementations that fit simple needs are already provided: SimpleValueChecker, SimpleVectorValueChecker and SimplePointChecker. The first two consider that convergence is reached when the objective function value does not change much anymore, it does not use the point set at all. The third one considers that convergence is reached when the input point set does not change much anymore, it does not use objective function value at all.
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    boolean
    converged(int iteration, P previous, P current)
    Check if the optimization algorithm has converged.
  • Method Details

    • converged

      boolean converged(int iteration, P previous, P current)
      Check if the optimization algorithm has converged.
      Parameters:
      iteration - Current iteration.
      previous - Best point in the previous iteration.
      current - Best point in the current iteration.
      Returns:
      true if the algorithm is considered to have converged.