Contents
The book has 11 chapters and 109 sections: 75 at the BasicB level, 23 at the AdvancedA level, and 11 at the Further reading+ level. The basic path consists of the blue sections: they can be read in order, chapter by chapter, without the others. The advanced sections extend the basic path and usually build on it; “Further reading” closes each chapter with readings and topics the book does not develop.
The activities—67 reproducible examples, 54 “In the Application” boxes, and 91 exercises—are listed in the activity index, by tool and by chapter.
The Book at a Glance
| Chapter | B | A | + | Examples | In the Application | Exercises |
|---|---|---|---|---|---|---|
| 1. Evolution and Optimization | 6 | 0 | 1 | 0 | 1 | 7 |
| 2. The Cycle and Design Decisions | 9 | 1 | 1 | 3 | 3 | 9 |
| 3. Representing Solutions | 7 | 5 | 1 | 10 | 8 | 12 |
| 4. Initialization and Evaluation | 8 | 5 | 1 | 13 | 11 | 14 |
| 5. Selecting Parents | 6 | 1 | 1 | 6 | 6 | 4 |
| 6. Crossover | 8 | 2 | 1 | 10 | 9 | 8 |
| 7. Mutation | 7 | 2 | 1 | 9 | 8 | 7 |
| 8. Replacement and Stopping | 6 | 2 | 1 | 5 | 4 | 6 |
| 9. Parameters and Randomness | 7 | 3 | 1 | 5 | 2 | 10 |
| 10. The Traveling Salesman from Start to Finish | 6 | 2 | 1 | 6 | 1 | 8 |
| 11. Recap | 5 | 0 | 1 | 0 | 1 | 6 |
| Total | 75 | 23 | 11 | 67 | 54 | 91 |
1. Evolution and Optimization
2. The Cycle and Design Decisions
- 2.1 A Population of Solutions B
- 2.2 The Cycle B
- 2.3 From the Cycle to Pseudocode B
- 2.4 A Generation by Hand: Represent and Evaluate B
- 2.5 Selecting with the Roulette Wheel B
- 2.6 Crossover and Mutation B
- 2.7 Replace and Compare B
- 2.8 Nine Design Decisions B
- 2.9 From a Generation to a Run B
- 2.10 Variants of the Cycle A
- 2.11 Further Reading +
3. Representing Solutions
- 3.1 Genotype and Phenotype B
- 3.2 Binary: Integers and Real Numbers B
- 3.3 Binary: How Many Bits Are Needed? B
- 3.4 Integer: One Number per Decision B
- 3.5 Permutations: An Ordering B
- 3.6 Real-Valued: The Chromosome Is the Point B
- 3.7 Valid Chromosomes and Feasible Solutions B
- 3.8 Binary: Hamming Cliffs and Gray Code A
- 3.9 Binary Matrix: When the Constraint Is Not Absorbed A
- 3.10 Handling Infeasible Chromosomes A
- 3.11 Real Values Outside the Box A
- 3.12 What Makes a Good Representation? A
- 3.13 Further Reading +
4. Initialization and Evaluation
- 4.1 A Random Population B
- 4.2 Shuffling a Permutation B
- 4.3 Diversity and Feasibility of the Initial Population B
- 4.4 Seeding with a Heuristic: A Counterexample B
- 4.5 From Chromosome to Fitness B
- 4.6 Minimizing a Cost: From Objective to Fitness B
- 4.7 Handling Constraints with Penalties B
- 4.8 The Cost of Evaluation B
- 4.9 Covering the Box: Quasi-Random Sequences and Latin Hypercube Sampling A
- 4.10 Sequential Diversification A
- 4.11 Feasible Initialization A
- 4.12 Fitness Landscapes A
- 4.13 Noisy Fitness A
- 4.14 Further Reading +
5. Selecting Parents
6. Crossover
- 6.1 Why Cross Over? B
- 6.2 One-Point and Two-Point Crossover B
- 6.3 Uniform Crossover B
- 6.4 Crossover with Real Numbers B
- 6.5 Permutations: Why One-Point Crossover Fails B
- 6.6 OX Crossover B
- 6.7 PMX Crossover B
- 6.8 CX Crossover B
- 6.9 Other Crossovers A
- 6.10 What Each Operator Preserves A
- 6.11 Further Reading +
7. Mutation
- 7.1 Why Mutate? B
- 7.2 Binary: Bit-Flip Mutation B
- 7.3 Integers: Random Resetting and Creep Mutation B
- 7.4 Real Numbers: Gaussian Mutation B
- 7.5 Permutations: Why Random Resetting Fails B
- 7.6 Swap, Insertion, and Inversion B
- 7.7 How Much to Mutate? B
- 7.8 Other Mutations A
- 7.9 What Each Operator Changes and Preserves A
- 7.10 Further Reading +
8. Replacement and Stopping
9. Parameters and Randomness
- 9.1 An Algorithm That Depends on Chance B
- 9.2 Crossover and Mutation Probabilities B
- 9.3 One Run Is Not Enough B
- 9.4 Comparing Two Configurations B
- 9.5 Tuning with Similar Cases B
- 9.6 What Are You Looking For? B
- 9.7 Selection Pressure and Diversity B
- 9.8 How Many Replicates? A
- 9.9 Interacting Parameters A
- 9.10 Operators, Representation, and Locality A
- 9.11 Further Reading +