The genetic algorithm operates on a population of candidate solutions.

- Initialize the set of candidate solutions.
- Evaluate each solution in the population.
- Solutions that are good are allowed to reproduce, with mutations
(changes to variable values) in some copies; the amount of
reproduction can depend on how good a solution is. (Koza uses 9%
clones of the best in the old population, 90% recombinations,
and 1% mutations.)
- Poor solutions can be eliminated to keep the total population constant.
- If the population is dominated by one solution, stop and return that solution; otherwise, go to step 2.

Compare: hill climbing, beam search.