de.jstacs.algorithms.optimization.termination
Interface TerminationCondition

All Superinterfaces:
Cloneable, InstantiableFromParameterSet, Storable
All Known Implementing Classes:
AbsoluteValueCondition, AbstractTerminationCondition, CombinedCondition, IterationCondition, SmallDifferenceOfFunctionEvaluationsCondition, SmallGradientConditon, SmallStepCondition, TimeCondition

public interface TerminationCondition
extends Cloneable, InstantiableFromParameterSet, Storable

This interface declares a method that can be used to decide whether another iteration in an optimization should be done or not.

Author:
Jens Keilwagen
See Also:
Optimizer

Method Summary
 boolean doNextIteration(int iteration, double f_last, double f_current, double[] gradient, double[] direction, double alpha, Time t)
          This method allows to decide whether to do another iteration in an optimization or not.
 boolean isSimple()
          This method returns false if the TerminationCondition uses either the gradient or the direction for the decision, otherwise it returns true.
 
Methods inherited from interface de.jstacs.InstantiableFromParameterSet
getCurrentParameterSet
 
Methods inherited from interface de.jstacs.Storable
toXML
 

Method Detail

doNextIteration

boolean doNextIteration(int iteration,
                        double f_last,
                        double f_current,
                        double[] gradient,
                        double[] direction,
                        double alpha,
                        Time t)
This method allows to decide whether to do another iteration in an optimization or not.

Parameters:
iteration - the number of performed iterations
f_last - last value of the function
f_current - current value of the function
gradient - the gradient of the function
direction - the last direction of the optimization
alpha - the last step size
t - a time object measuring the time that has been elapsed in the optimization
Returns:
true if another iteration should be done

isSimple

boolean isSimple()
This method returns false if the TerminationCondition uses either the gradient or the direction for the decision, otherwise it returns true.

Returns:
false for gradient or direction based TerminationConditions