I'm studying different stop criteria in genetic algorithm and advantages and disadvantages of each of them for evaluating different algorithms. One of these methods is 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 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 disadvantage or limitation about using this stop criteria, but I didn't find anything. So I wanted to know if applying this stop criteria in my algorithm has any disadvantages or there is nothing wrong about using this criteria.


I imagine that using the MaxNFFC as stop criteria 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).

$ N*(E+1) $

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

$ 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 of 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.

| improve this answer | |

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.