As stated in [1], evolutionary computation consists of methods using "computational models of evolutionary processes as key elements in the design and implementation of computer-based problem-solving systems".
An evolutionary algorithm (as in EA) works on a "population", which is a set of solutions to a problem encoded in a form allowing manipulation by a computer. This population is evolved through reproduction and selection of individuals, until a satisfying solution to the initial problem is found.
An EA usually begins its work with a population initialized
at random (a set of preliminary solutions given by the user, or obtained
through another method could also be used). The EA then selects the parents
for the next generation, reproduces the chosen individuals, and (if necessary)
selects part of the offspring to compose the new population (most of the
EAs work with a stable population, meaning that the number of individuals
does not vary in the time).
The EA goes through these different operations in a loop until the population
offers a satisfying solution or set of solutions.
As can be seen above, the operations of selection and
reproduction compose the heart of the EA. The details may vary from one
model to another, but the general principle is always the same.
Selection is done in two steps. The EA first evaluates the fitness
of each individual (the fitness and the function used to measure it
are defined by the user, along with the representation of individuals,
as parameters of the EA). The different individuals are then classified,
and only the ones with the best fitness are used for the next stage. The
others are discarded.
Quite logically an EA looks for the "best" (according to predefined
criteria) solutions to the problem.
But selection is meaningless if the individuals remain
the same generation after generation. An EA must create at least a few
new solutions at every generation, and then select for the best ones (which
may or not include the new ones).
Reproduction uses recombination or mutation (inspired from the biological
mechanisms bearing the same name) to create individuals different from
the parents.
Recombination requires at least two parents. Children are created
by combining part of the "genome" (computer representation of
a solution) of each parent to form a new individual different from them.
The parameters for recombination are the point(s) of crossover (position
in the genome of parents from which the sections of genome will be swapped),
which may be always the same, or, better, chosen according to a probabilistic
function.
The other operation for reproduction is mutation, which modifies
part of the genome of a parent to create a child. The modification is controlled
by a probabilistic function, which can be as simple as flipping a bit in
the genome with a (low) fixed probability, or as complicated as a set of
different and possibly quite complex functions for each part of the genome.
An EA can use mutation or recombination or both to create new individuals
at each generation, thus exploring the space of solutions without perturbing
too much the set of existing solutions. Because in every cycle the new
individuals with a fitness inferior to the others' are discarded, the average
fitness of the population grows steadily.
As will be seen in section I.1.3, different models of EA exist. They differ by the representation of individuals, the selection mechanism, and the operator(s) for reproduction. These choices are often conditioned by the nature of the problem being treated.