liveBook · Manning

Population

As explained in Optimization Algorithms: AI techniques for design, planning, and control problems

In evolutionary computation, a population is a set of candidate solutions maintained and evolved across iterations or generations.

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

How Optimization Algorithms: AI techniques for design, planning, and control problems covers it

How deep it goes
Defines individuals and details initialization, fitness evaluation, reproduction, survivor selection, and size tuning through a worked Python implementation.
Examples
Works through five binary-encoded ticket-price candidates and compares Python implementations with populations of five and 100.
What it assumes
Introduces population and evolutionary-computation components before applying binary encodings and Python implementations.
What you can do after
Build it from scratch in Python or apply it via pymoo, then experiment with population size and initialization.
How it connects
Connects population to fitness functions, chromosome encoding, parent selection, crossover, mutation, survivor selection, and exploration.

Also explained in

Compare how 9 books explain population →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Optimization Algorithms: AI techniques for design, planning, and control problems. The section links point to the parts of the book it draws on.