3. What is an Evolutionary Algorithm?

The most important aim of this chapter is to describe what an evolutionary algorithm (EA) is.

In order to give a unifying view we present a general scheme that forms the common basis for all the different variants of evolutionary algorithms. The main components of EAs are discussed, explaining their role and related issues of terminology.

This is immediately followed by two example applications to make things more concrete. We then go on to discuss general issues concerning the operation of EAs, to place them in a broader context and explain their relationship with other global optimisation techniques.

Contents:
3.1 What Is an Evolutionary Algorithm?………………….. 25
3.2 Components of Evolutionary Algorithms ………………. 28
3.2.1 Representation (Definition of Individuals) . . . . . . . . . . . . 28
3.2.2 Evaluation Function (Fitness Function) ………….. 30
3.2.3 Population ………………………………… 30
3.2.4 Parent Selection Mechanism …………………… 31
3.2.5 Variation Operators (Mutation and Recombination) . . . 31
3.2.6 Survivor Selection Mechanism (Replacement) . . . . . . . . . 33
3.2.7 Initialisation……………………………….. 34
3.2.8 TerminationCondition……………………….. 34
3.3 An Evolutionary Cycle by Hand……………………… 34
3.4 Example Applications……………………………… 36
3.4.1 The Eight-Queens Problem ……………………. 36
3.4.2 The Knapsack Problem ………………………. 39
3.5 The Operation of an Evolutionary Algorithm …………… 41
3.6 Natural Versus Artificial Evolution …………………… 44
3.7 Evolutionary Computing, Global Optimisation, and Other Search Algorithms ………………………………… 46

Suggested Reading

Exercises

The on-line accompaniment to the book Introduction to Evolutionary Computing