3

According to the book Essentials of Metaheuristics and this Stack Overflow thread, I should select parent chromosomes in the population upon which I should kill to make room for the new ones. My question is from your experience, ideally how many should I kill, say if my size of population is 100? or what if my population size is 50?

Note: I also assumed here that the number of offspring == number of parents to kill

Community
  • 1
  • 1
Mestica
  • 1,489
  • 4
  • 23
  • 33

3 Answers3

1

There's no real "right answer" to this question, because GAs in general are used on hugely complex problems with large search spaces. While the assumption you make is valid (though, quite naturally, there's room to experiment with mechanisms that grow/shrink the population over time), the only way to answer your question is to experiment - set up a number of different copies of your system, using the same fitness function(s), and see which ones work best with which settings.

Sebastian Lenartowicz
  • 4,695
  • 4
  • 28
  • 39
1

I'd start with one or two children and a fixed population size(1).

Steady state populations often exhibit premature convergence issues so you should use some techniques to limit that problem.

Some simple ideas are:

  • try tournament selection with a low selective pressure (even 2 individuals could be enough)
  • use a elitism-related parameter to control the probability of replacement
  • don't replace random individuals. Child competes with one of its two parents ("family competition" algorithm).

(1) At least initially. There are many papers that describe the advantages of a variable size population, but they introduce various parameters that are harder to tune and require more effort.

E.g. in "Genetic Algorithm with Variable Population Size" (by Arabs) each individual has an age and lifetime.

manlio
  • 18,345
  • 14
  • 76
  • 126
1

It depends on how many offsprings your algorithm produces in each generation. For example,you have m parents individuals which you calls chromosomes.And you produce n offsprings. Now you have m+n individuals,and you should keep your population size fix. So you need to select n individuals to kill. Generally, you can choose the worst n individuals to kill. And for my experience, m is equal to n.

Kevin Yang
  • 76
  • 5