Interface ConvergenceChecker<PAIR>
-
- Type Parameters:
PAIR
- Type of the (point, objective value) pair.
- All Superinterfaces:
OptimizationData
- All Known Implementing Classes:
AbstractConvergenceChecker
,EvaluationRmsChecker
,SimplePointChecker
,SimpleUnivariateValueChecker
,SimpleValueChecker
,SimpleVectorValueChecker
public interface ConvergenceChecker<PAIR> extends OptimizationData
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
andSimplePointChecker
. 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.- Since:
- 3.0
- See Also:
SimplePointChecker
,SimpleValueChecker
,SimpleVectorValueChecker
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
converged(int iteration, PAIR previous, PAIR current)
Check if the optimization algorithm has converged.
-
-
-
Method Detail
-
converged
boolean converged(int iteration, PAIR previous, PAIR 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.
-
-