From Cornell University Computational Optimization Open Textbook - Optimization Wiki
Author: Yunchen Huo (yh2244), Ran Yi (ry357), Yanni Xie (yx682), Changlin Huang (ch2269), Jingyao Tong (jt887) (ChemE 6800 Fall 2024)
Stewards: Nathan Preuss, Wei-Han Chen, Tianqi Xiao, Guoqing Hu
Introduction
Algorithm Discussion
The Genetic Algorithm was first introduced by John H. Holland[1] in 1973. It is an optimization technique based on Charles Darwin’s theory of evolution by natural selection.
Numerical Example
1. Simple Example
We aim to maximize
, where
. Chromosomes are encoded as 5-bit binary strings since the binary format of the maximum value 31 is 11111.
1.1 Initialization (Generation 0)
The initial population is randomly generated:
| Chromosome (Binary)
|
x (Decimal)
|
| 10010
|
18
|
| 00111
|
7
|
| 11001
|
25
|
| 01001
|
9
|
1.2 Generation 1
1.2.1 Evaluation
Calculate the fitness values:
| Chromosome
|
|
|
| 10010
|
18
|
324
|
| 00111
|
7
|
49
|
| 11001
|
25
|
625
|
| 01001
|
9
|
81
|
1.2.2 Selection
Use roulette wheel selection to choose parents for crossover. Selection probabilities are calculated as:
Thus,
Total Fitness
Compute the selection probabilities:
| Chromosome |
 |
Selection Probability
|
| 10010 |
 |
|
| 00111 |
 |
|
| 11001 |
 |
|
| 01001 |
 |
|
Cumulative probabilities:
| Chromosome |
Cumulative Probability
|
| 10010 |
|
| 00111 |
|
| 11001 |
|
| 01001 |
|
Random numbers for selection:
Selected parents:
- Pair 1: 00111 and 11001
- Pair 2: 11001 and 10010
3. Crossover
Crossover probability:
Pair 1: Crossover occurs at position 2.
- Parent 1:

- Parent 2:

- Children:
, 
Pair 2: No crossover.
- Children: Child 3:
, Child 4: 