de.jstacs.algorithms.optimization.termination
Class IterationCondition

java.lang.Object
  extended by de.jstacs.algorithms.optimization.termination.IterationCondition
All Implemented Interfaces:
TerminationCondition

public class IterationCondition
extends Object
implements TerminationCondition

This class will stop an optimization if the number of iteration reaches a given number.

Author:
Jens Keilwagen

Constructor Summary
IterationCondition(int maxIter)
          This constructor creates an instance that does not allow any further iteration after maxIter iterations.
 
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.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

IterationCondition

public IterationCondition(int maxIter)
This constructor creates an instance that does not allow any further iteration after maxIter iterations.

Parameters:
maxIter - the maximal number of iterations
Method Detail

doNextIteration

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

Specified by:
doNextIteration in interface TerminationCondition
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