I was wondering if a genetic algorithm is useful if the optimization problem has several optimal solutions.

My thought was that I should not use it since when combining two members of a population who have good fitness but are close to different optimal solutions, the child will get retarded.

Is this thinking wrong? If so, why?

  • $\begingroup$ It sounds as though your approach results in a single child. In our genetic implementations, we always have multiple children; some are averages, some are mutations, etc. However, our generations always additionally contain $n$ top performers from the previous generation and slightly mutated versions of those top performers. We find this allows us to find multiple optimal solutions since we allow multiple paths to be followed. $\endgroup$ Nov 26 '21 at 1:35
  • $\begingroup$ have you checked this article on wikipedia about evolutionary multimodal optimization? en.wikipedia.org/wiki/Evolutionary_multimodal_optimization $\endgroup$
    – Sanyou
    Dec 26 '21 at 15:33

Genetic algorithms (GA) have populations where it has an offspring in every generation usually the same quantity than the original population, so, if a child results from two good solutions (parents) but very different and it has a bad fitness, it will be not selected for being part of the next generation (elitism, where only the best n individual survive). But maybe you can find a new and good solution from that combination, and, in that case, it will be part of the new generation.

Maybe, if your problem has multiple solutions, the population can be formed by clusters of solutions that improve between them.

But there are many algorithms in GA (and Evolutionary Algorithms in general), so you need to read the details. Fortunately, there are many frameworks where only you need to define your problem and it can rapidly make comparisons between them.


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.