Genetic algorithm: Difference between revisions
No edit summary |
|||
Line 9: | Line 9: | ||
The Genetic Algorithm was first introduced by John H. Holland | The Genetic Algorithm was first introduced by John H. Holland | ||
<ref> Holland, J. H. (1973). Genetic algorithms and the optimal allocation of trials. SIAM Journal on Computing, 2(2), 88–105 </ref> | <ref> Holland, J. H. (1973). Genetic algorithms and the optimal allocation of trials. SIAM Journal on Computing, 2(2), 88–105 </ref> | ||
in 1973. It is an optimization technique based on Charles Darwin’s theory of evolution by natural selection. | |||
Before diving into the algorithm, here are definitions of the basic terminologies. | |||
* Gene: The smallest unit that makes up the chromosome (decision variable) | |||
* Chromosome: A group of genes, where each chromosome represents a solution (potential solution) | |||
* Population: A group of chromosomes (a group of potential solutions) | |||
GA involves the following seven steps: | |||
# Initialization | |||
# Evaluation | |||
# Selection | |||
# Crossover | |||
# Mutation | |||
# Insertion | |||
# Repeat 2-6 until a stopping criteria is met<br /> | |||
== Numerical Example == | == Numerical Example == | ||
Revision as of 22:00, 12 December 2024
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.
Before diving into the algorithm, here are definitions of the basic terminologies.
- Gene: The smallest unit that makes up the chromosome (decision variable)
- Chromosome: A group of genes, where each chromosome represents a solution (potential solution)
- Population: A group of chromosomes (a group of potential solutions)
GA involves the following seven steps:
- Initialization
- Evaluation
- Selection
- Crossover
- Mutation
- Insertion
- Repeat 2-6 until a stopping criteria is met
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:
References
- ↑ Holland, J. H. (1973). Genetic algorithms and the optimal allocation of trials. SIAM Journal on Computing, 2(2), 88–105