More Realistic Population Models

In practice, the functions f(p) that describe the way the population changes from one generation to the next via the equation

pn = f(pn-1)

are rarely given by neat algebraic expressions like the logistic models that we studied in the last module. In this module we look at more realistic models of population growth.

We start with a population multiplier function, m(p), and work with a function, f(p), that looks like

f(p) = m(p) p

The equilibrium points for this model are points at which m(p) = 1.

Click here to open a new window with a Java applet that we will use to study these models. Arrange these two windows so you can easily move back-and-forth between them. When you are done working on this module you should close the window with the applet.

When the applet starts you should see a graph drawn on brown graph paper. This is the graph of a population multiplier function, m(p). The values of the population multiplier (the vertical axis) range from zero to two. The value one is marked by a heavy red line. The horizontal (population) axis runs from zero to 1,000. Notice there is one equilibrium point, at p = 200 .

This population multiplier describes a species that grows at the rate of 20% from one generation to the next if the population is below 700. When the population is above 700 the population multiplier drops because there is not enough food, water, and shelter to go around.

Now click on the blue button at the bottom of the applet. You will see a display that is very similar to the Java applet in the last module. The green graph shows the diagonal line and (in red) the graph of the function

f(p) = m(p) p

On this graph equilibrium points are points at which the red curve crosses the diagonal line. Notice there is one equilibrium point, at p = 750, the same point we saw in the graph of the population multiplier, m(p).

The dot on the bottom of the green graph paper marks the initial population. You can change the initial population by clicking any place along the bottom edge of the green graph. Try it. Change the initial population to 150. You can change the initial population as often and at any time that you want.

Now click anyplace in the upper two thirds of the applet. Each time you click, one more term of the sequence will be computed and shown on the green cobweb diagram and the blue graph of the sequence. Experiment a bit with different initial conditions.

At the bottom of the applet there is a brown button. This button will return you to the brown population multiplier graph. Press this button now.

Now you should see the same screen you saw when the applet first started. You can get to this screen by clicking the brown button in the other screen and to the other screen by clicking the blue button here. In this (brown) screen you can change the population multiplier function. In practice, you would build a model based on data. In this module we can study many different models quickly based on intuition. Suppose, for example, that you wanted to study a model in which the population multiplier looked like the graph below.

Missing figure

This is a fairly realistic population multiplier function. The population multiplier is a constant 1.1 as long as the population is below 700. Then it begins to drop steadily until when the population is 900, it levels off at 0.30.

You can input this population multiplier on the brown screen of the Java applet as follows.

When you are done, click the blue button to return to the other applet screen. Notice that the function f(p) has changed. Experiment with this new model by trying various initial conditions and drawing the cobweb and sequence graphs.


Experiment with various models using the Java applet and your computer algebra system. Compare your observations in this module with your observations about logistic models in the last module.

Some very interesting species cooperate in some way -- for example, some species hunt in packs. For these species the population multiplier is often below one if the population is very low because without the benefits of cooperation the species cannot survive. Use this applet to experiment with species that cooperate.

Click here for a hint if you have trouble getting started on this problem.


This module has two very important goals. The first goal is the obvious goal of experimenting with many different models and observing that the unexpected behavior we saw for logistic models is not at all unusual. The second goal is not so obvious. Students come away from many traditional mathematics classes with the impression that functions are algebraic expressions. In practice, this is rarely true. The functions we need to describe real-world phenomena are based on data and intuition more often than clean algebraic expressions. This module gives students some experience with the kinds of functions that often are found outside the mathematics classroom.

[Next section -- Two Theorems on Stability]


Copyright c 1998 by Frank Wattenberg, Department of Mathematics, Montana State University, Bozeman, MT 59717