de.jstacs.algorithms.optimization.termination
Class TimeCondition

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

public class TimeCondition
extends Object
implements TerminationCondition

This class implements a TerminationCondition that stops the optimization if the elapsed time in seconds is greater than a given value.

Author:
Jens Keilwagen
See Also:
Time

Constructor Summary
TimeCondition(double s)
          This constructor creates an instance that does not allow any further iteration after s seconds
 
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

TimeCondition

public TimeCondition(double s)
This constructor creates an instance that does not allow any further iteration after s seconds

Parameters:
s - the threshold of stopping the optimization (in seconds)
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