Search code examples
selectiongenetic-algorithmevolutionary-algorithm

Ideally how many chromosomes in the population should I kill during steady state selection?


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


Solution

  • 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.