diff options
Diffstat (limited to 'gi/posterior-regularisation/prjava/src/optimization/stopCriteria/CompositeStopingCriteria.java')
-rw-r--r-- | gi/posterior-regularisation/prjava/src/optimization/stopCriteria/CompositeStopingCriteria.java | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/gi/posterior-regularisation/prjava/src/optimization/stopCriteria/CompositeStopingCriteria.java b/gi/posterior-regularisation/prjava/src/optimization/stopCriteria/CompositeStopingCriteria.java new file mode 100644 index 00000000..15760f18 --- /dev/null +++ b/gi/posterior-regularisation/prjava/src/optimization/stopCriteria/CompositeStopingCriteria.java @@ -0,0 +1,33 @@ +package optimization.stopCriteria; + +import java.util.ArrayList; + +import optimization.gradientBasedMethods.Objective; + +public class CompositeStopingCriteria implements StopingCriteria { + + ArrayList<StopingCriteria> criterias; + + public CompositeStopingCriteria() { + criterias = new ArrayList<StopingCriteria>(); + } + + public void add(StopingCriteria criteria){ + criterias.add(criteria); + } + + public boolean stopOptimization(Objective obj){ + for(StopingCriteria criteria: criterias){ + if(criteria.stopOptimization(obj)){ + return true; + } + } + return false; + } + + public void reset(){ + for(StopingCriteria criteria: criterias){ + criteria.reset(); + } + } +} |