Population Growth Simulator: Logistic Model & Carrying Capacity

simulator beginner ~8 min
Loading simulation...
Population follows S-curve from 10 to carrying capacity 1000 in ~12 generations

With r=1 and K=1000, a population starting at 10 individuals follows the classic logistic S-curve, reaching carrying capacity in approximately 12 generations. The steepest growth occurs at N=K/2=500.

Formula

dN/dt = rN(1 - N/K)
MSY = rK/4 at N = K/2
N(t) = K / (1 + ((K - N₀)/N₀) * Math.pow(Math.E, -r*t))

The Logistic Growth Model

Pierre-Francois Verhulst introduced the logistic equation in 1838 to describe population growth with limited resources. Unlike exponential growth, which assumes unlimited resources and produces unbounded J-shaped curves, logistic growth introduces carrying capacity K — the maximum population an environment can sustain. The result is the characteristic S-curve (sigmoid) seen in populations from bacteria to buffalo.

Exponential vs. Logistic Growth

When a population is small relative to K, growth is approximately exponential: N(t) = N₀ * e^(rt). As N approaches K, the growth rate decelerates. The inflection point — where growth is fastest — occurs at exactly N = K/2. This is the point of maximum per-capita resource availability balanced against population size, making it critical for resource management.

Harvesting and Sustainability

Harvesting adds a removal term: dN/dt = rN(1 - N/K) - hN. The maximum sustainable yield (MSY) occurs when the population is at K/2, yielding rK/4 individuals per generation. Harvesting above MSY drives the population toward collapse — a lesson learned painfully in fisheries worldwide. The simulation lets you explore the razor-thin line between sustainable and unsustainable harvesting.

Beyond Simple Logistic Growth

Real populations exhibit complexities beyond the basic model: time delays cause oscillations, Allee effects create minimum viable populations, stochastic events add randomness, and age structure affects growth rates. When the growth rate r exceeds 2, the discrete logistic map can even exhibit chaos — connecting population ecology to the mathematics of nonlinear dynamics.

FAQ

What is carrying capacity?

Carrying capacity (K) is the maximum population size that an environment can sustain indefinitely given available resources — food, space, water. As population approaches K, per-capita growth rate decreases due to resource competition.

What is the logistic growth equation?

The logistic equation is dN/dt = rN(1 - N/K), where N is population size, r is the intrinsic growth rate, and K is carrying capacity. The term (1 - N/K) represents the fraction of unused carrying capacity.

What is maximum sustainable yield?

MSY is the largest harvest that can be taken indefinitely without depleting the population. It occurs at N = K/2 with yield = rK/4. Harvesting above MSY causes population decline; below it allows recovery.

Why does the logistic curve have an S-shape?

The S-shape arises because growth starts exponentially when N is small (abundant resources), then decelerates as N approaches K (resources become limiting), and finally levels off at K where births equal deaths.

Sources

Embed

<iframe src="https://homo-deus.com/lab/ecology/carrying-capacity/embed" width="100%" height="400" frameborder="0"></iframe>
View source on GitHub