3 #include <geneial/algorithm/criteria/BaseStoppingCriterion.h>
5 geneial_private_namespace(geneial)
7 geneial_private_namespace(algorithm)
9 geneial_private_namespace(stopping_criteria)
11 using ::geneial::utility::Printable;
12 using ::geneial::population::management::BaseManager;
14 geneial_export_namespace
19 template<
typename FITNESS_TYPE>
20 class FitnessValueReachedCriterion:
public BaseStoppingCriterion<FITNESS_TYPE>
23 const FITNESS_TYPE _desiredFitness;
26 explicit FitnessValueReachedCriterion(
const FITNESS_TYPE desiredFitness) :
27 _desiredFitness(desiredFitness)
31 virtual ~FitnessValueReachedCriterion()
35 virtual bool wasReached(BaseManager<FITNESS_TYPE> &manager)
37 return (manager.getHighestFitness() >= _desiredFitness);
40 virtual void print(std::ostream& os)
const
42 os <<
"FitnessValue (" << _desiredFitness <<
")";