3 #include <geneial/algorithm/criteria/BaseStoppingCriterion.h>
4 #include <geneial/core/population/Population.h>
6 geneial_private_namespace(geneial)
8 geneial_private_namespace(algorithm)
10 geneial_private_namespace(stopping_criteria)
12 using ::geneial::population::management::BaseManager;
13 using ::geneial::population::Population;
15 geneial_export_namespace
18 template<
typename FITNESS_TYPE>
19 class MaxGenerationCriterion:
public BaseStoppingCriterion<FITNESS_TYPE>
22 const typename Population<FITNESS_TYPE>::population_age _max;
25 explicit MaxGenerationCriterion(
const long num_max_iterations) :
26 _max(num_max_iterations)
30 virtual ~MaxGenerationCriterion()
34 virtual inline bool wasReached(BaseManager<FITNESS_TYPE> &manager)
36 return !(manager.getPopulation().getAge() < _max);
39 virtual void print(std::ostream& os)
const
41 os <<
"MaxGenerationCriterion (" << _max <<
")";