The simple genetic algorithm is the canonical baseline genetic algorithm. It deliberately assumes:
- A single representation (often fixed-length strings)
- A single fitness function to rank candidates
- Standard crossover + mutation
- Selection with constant pressure
- Fitness-proportional selection
Algorithm
- Initialize a population of candidate solutions, .
- Evaluate fitness of each individual .
- Define .
- Repeat until termination:
- Select parents from
- Apply crossover to parents
- Apply mutation to offspring
- Evaluate
Population initialization
Typical initialization strategies involve:
- Uniform random sampling
- Random but feasible (constraint-aware)
- Seeding with heuristic solutions.
Initialization affects early diversity, convergence speed, and risk of bias.
Fitness function
Fitness is the only feedback the algorithm receives. It can represent objective value, penalize value, or a ranking/dominance score. The key requirement is that fitness must be comparable across individuals.
Parent selection vs. survivor selection
There are two distinct solutions in SGA:
- Parent solution: who reproduces? This control the selection pressure
- Survivor solution: who remains? This controls the diversity retention
Termination criteria
Typical termination conditions:
- Maximum number of generations
- Maximum number of fitness evaluations
- Convergence of population
- Target fitness reached
Note that termination does not imply optimality!