Population-based search keeps multiple agents or candidate solutions in play while seeking an optimal or near-optimal global solution. Imagine a team searching for treasure: members share what they learn instead of relying on one hunter’s route. A varied starting population can explore regions that a single-agent search might miss; it does not, by itself, ensure the best solution. section 2.2 section 7.1
Two major families differ in how agents use promising discoveries:
- Evolutionary computation, including genetic algorithms and differential evolution, selects candidate solutions and creates offspring through operations such as crossover and mutation. section 7.1
- Swarm intelligence, including particle swarm optimization and ant colony optimization, uses interacting agents and mechanisms such as communication and cooperation. section 7.1
Start by choosing candidate representations and generating an initial population. Initialization is a trade-off: pseudo-random sampling has moderate diversity and low cost, while heuristic initialization offers better initial solutions at higher cost and lower diversity. In a genetic algorithm, selection, crossover, and mutation then shape later populations. Crossover shares traits between candidates; mutation introduces small changes that help maintain diversity. These choices balance exploration of new regions against exploitation of existing solutions. section 7.1 section 7.5
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 initialization strategies by diversity, computational cost, and initial-solution quality before choosing how to seed a search. section 7.1
Try two initial populations
For a two-variable problem bounded between 0 and 1, use pymoo’s FloatRandomSampling to generate 200 candidates, then repeat with LHS (Latin hypercube sampling). Plot both populations and compare their spread before running an optimizer. For route candidates instead, random initial routes provide a discrete search example. section 7.1
The key contrast is with trajectory-based search, such as simulated annealing or tabu search: one agent traces a sequence of moves, whereas population-based search starts with several agents and is generally more exploration-oriented. More exploration creates opportunities to find better solutions, not a promise of optimality. section 5.1 section 7.1
