I'm studying different stop criteria in genetic algorithms and the advantages and disadvantages of each of them for evaluating different algorithms. One of these methods is the max number of fitness function calls (max NFFC), so that we define a value for max NFFC and, if the number of fitness function calls reached this value, the algorithm will stop. Fitness function is called for calculating the fitness of the initial population and whenever a crossover or mutation happens (if parents are chosen as offspring there is no need to compute fitness function).

I searched if there is a disadvantage or limitation about using this stop criterion, but I didn't find anything. So, I wanted to know if applying this stop criterion in my algorithm has any disadvantages or there is nothing wrong with using this criterion.


1 Answer 1


I imagine that using the MaxNFFC as a stop criterion only happens in very particular implementations. And this is its main disadvantage.

Normally, you'd evaluate each individual, each generation. So, NFFC will always be the same as the size of the population times the number of epochs (+1 to consider the initial population).


As the population size is generally constant, MaxNFFC looks a lot like an MaxEpoch stop.

$$ \frac{\text{NFFC}}{N} = E + 1 $$

So, it seems that it might be used in scenarios where:

  • the population size is not constant (in this case you want to make sure that at least K individuals have been evaluated before stopping).
  • not all individuals are evaluated each epoch. There might be a high abortive rate (individuals with invalid genomes that are kept in the population but not considered). In this case, as above, you want to perform a minimum amount of evaluations.

I wouldn't see the usage of MaxNFFC in other cases.


You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .