de.jstacs.algorithms.optimization.termination
Class CombinedCondition
java.lang.Object
de.jstacs.algorithms.optimization.termination.CombinedCondition
- All Implemented Interfaces:
- TerminationCondition
public class CombinedCondition
- extends Object
- implements TerminationCondition
This class allows to use many TerminationConditions at once.
- Author:
- Jens Keilwagen
|
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 |
CombinedCondition
public CombinedCondition(int threshold,
TerminationCondition... condition)
- This constructor creates an instance that allows to use many
TerminationConditions at one.
- Parameters:
threshold - the number of conditions that has to be fulfilled;
if all conditions should be fulfilled than threshold=condition.length (equal to AND);
if at least one condition should be fulfilled than threshold=1 (equal to OR);condition - the conditions that are used to create this instance and that are used to determine whether another iteration should be done
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