A population is a set of candidate solutions searched together. In a genetic algorithm, each candidate is an individual or chromosome. Starting with several candidates gives the search different places to explore, including possibilities a single-solution search might miss. section 7.2.3 section 7.1
Initialize candidates randomly or with a heuristic, then evaluate each one with a fitness function. Select parents, create offspring through crossover and mutation, evaluate them, and choose survivors for the next generation. Repeat until a stopping condition is met, such as a generation limit, adequate fitness, stalled improvement, or a resource limit. For constrained problems, check and repair offspring after they are created. section 7.2.3 section 7.3
Table 7.1 Initialization strategies for population-based metaheuristics (view table figure)
| Initialization strategy |
Diversity |
Computational cost |
Quality of initial solution |
|---|---|---|---|
| Pseudo-random |
Moderate |
Low |
Low |
| Quasi-random |
High |
Low |
Low |
| Sequential diversification |
Very high |
Moderate |
Low |
| Parallel diversification |
Very high |
Low |
Low |
| Heuristics (e.g., local search or greedy heuristic) |
Low |
High |
High |
Compare initial-population strategies by diversity, computational cost, and initial-solution quality. Random sampling is inexpensive; heuristic initialization can produce stronger starting solutions at higher cost and lower diversity. section 7.1
Population size is a tuning choice, not simply a number to maximize. A larger population can explore more solutions, but a very large one need not improve performance. Try different sizes and compare results against problem complexity, chromosome length, desired accuracy, and available computation. Survivor selection matters too: elitism retains the best candidates, while tournament selection can help preserve diversity. section 7.2.3 section 7.3.2 section 7.3.5
Ticket-price candidates
For a ticket-pricing search, five initial candidates represent prices of 77, 203, 110, 145, and 230, each with a binary encoding and a calculated profit. A Python implementation builds a random population of binary chromosomes, scores them, and evolves them over generations; its reported best price is 155, with profit of 130,500. A separate pymoo configuration uses a population of 100, showing that population size can change with the implementation. section 7.3.2 section 7.4








