Evaluate each of the attempted solution Keep the best solutions Produce next generation from these solutions (using mutation and crossover) Quit when you have a satisfactory solution (or you run out of time) [7] Genetic algorithm contains a population of trial solutions to a problem. In genetic programming the individuals in the population are computer programs.