de.jstacs.algorithms.optimization.termination
Class TimeCondition
java.lang.Object
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 |
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)
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 iterationsf_last
- last value of the functionf_current
- current value of the functiongradient
- the gradient of the functiondirection
- the last direction of the optimizationalpha
- the last step sizet
- a time object measuring the time that has been elapsed in the optimization
- Returns:
true
if another iteration should be done