Mudasir Soomro Mudasir Soomro - 13 days ago 7
C# Question

Termination conditions for Genetic Algorithm?

I'm using one that checks if the fittest chromosome in each generation has the same fitness for a number of generations (say.. 100) then the GA should terminate. But I don't think it's working efficiently, should it?

If not, what is/are the best termination criteria(s) for a genetic algorithm?
I know I can end it after a number of generations or a time being, but I want the ones that imply on solutions and their fitness?

I don't understand these solutions btw,
http://en.wikipedia.org/wiki/Genetic_algorithm#Termination

Answer

This termination criteria might be dangerous for certain problems if you're using an elitist GA. The best solution would be kept from generation to generation and may be far better than any other solution. This then requires a number of generations for the rest of the population to catch up, which you would detect as stagnated. I would rather base the convergence detection on the average population quality as well as the best quality. Only if both have not improved, then convergence has occurred and you can stop.