Answers.Body: <p>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.</p>
  <p>Maybe, if your problem has multiple solutions, the population can be formed by clusters of solutions that improve between them.</p>
  <p>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.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2021-11-26T02:38:58.997Z
Answers.LastActivityDate: 2021-11-26T11:36:13.633Z
Answers.LastEditDate: 2021-11-26T11:36:13.633Z
Answers.UserDisplayName: StandardIO
Answers.Body: <p>Genetic algorithms like many other machine learning algorithms have two forces in action, exploration and exploitation.</p>
  <p>For GAs these are crossover and mutation.  Crossover (the production of a child from two parent members) can often produce wildly different children dispersing them around the solution space.  Exploring the solution space, if you will.</p>
  <p>If two parents are near optimal solutions and their alleles are significantly different unless the crossover happens to also be near another optimal solution it is likely to produce a poorly scoring child.</p>
  <p>But that is not the only mechanism.  Mutation makes minor adjustments to a member of the population.  Along with elitism, often nudging the population towards nearby optimums, exploiting their proximity to a good solution.</p>
  <p>So, while crossover between two parents near different optimums may not produce strong children, mutation may move the children of similar parents towards a local optimum.  Lastly, lets not forget that crossover need not necessarily widely spread children.  It is possible in both single and two point crossover to produce a child which differs from a parent by a single allele.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2023-12-17T01:47:40.283Z
Answers.LastActivityDate: 2023-12-17T01:47:40.283Z
Answers.UserDisplayName: foreverska
Body: <p>I was wondering if a genetic algorithm is useful if the optimization problem has several optimal solutions.</p>
  <p>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.</p>
  <p>Is this thinking wrong? If so, why?</p>
  
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-11-26T01:35:58.777Z
Comments.Text: 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.
Comments.UserDisplayName: David Hoelzer
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2021-12-26T15:33:40.010Z
Comments.Text: have you checked this article on wikipedia about evolutionary multimodal optimization? https://en.wikipedia.org/wiki/Evolutionary_multimodal_optimization
Comments.UserDisplayName: Sanyou
Comments.ContentLicense: CC BY-SA 4.0
Comments.CreationDate: 2022-04-26T12:17:01.227Z
Comments.Text: I don't think I've ever seen a genetic algorithm applied to a problem where there was a unique optimal solution!
Comments.UserDisplayName: Stef
Tags: <optimization><genetic-algorithms>
Title: Are Genetic Algorithms suitable for a problem with a non-unique optimal solution?
UserDisplayName: nuemlouno
ThreadText: # Are Genetic Algorithms suitable for a problem with a non-unique optimal solution?
  
  (Asked by: username_0 on 2021-11-25)
  
  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?
  
  **Tags:** optimization, genetic-algorithms
  > **Comments:**
  > **username_1**: 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.  
  > **username_2**: have you checked this article on wikipedia about evolutionary multimodal optimization? https://en.wikipedia.org/wiki/Evolutionary_multimodal_optimization  
  > **username_3**: I don't think I've ever seen a genetic algorithm applied to a problem where there was a unique optimal solution!  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_4 on 2021-11-26. Score: 1
  
  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.
  
  
  ---
  
  ### Answer by username_5 on 2023-12-17. Score: 0
  
  Genetic algorithms like many other machine learning algorithms have two forces in action, exploration and exploitation.
  
  For GAs these are crossover and mutation. Crossover (the production of a child from two parent members) can often produce wildly different children dispersing them around the solution space. Exploring the solution space, if you will.
  
  If two parents are near optimal solutions and their alleles are significantly different unless the crossover happens to also be near another optimal solution it is likely to produce a poorly scoring child.
  
  But that is not the only mechanism. Mutation makes minor adjustments to a member of the population. Along with elitism, often nudging the population towards nearby optimums, exploiting their proximity to a good solution.
  
  So, while crossover between two parents near different optimums may not produce strong children, mutation may move the children of similar parents towards a local optimum. Lastly, lets not forget that crossover need not necessarily widely spread children. It is possible in both single and two point crossover to produce a child which differs from a parent by a single allele.
  
  
  ---
  
  