Mathematics 36, section 5 -- AP Analysis

Discussion/Lab 6: Population Growth Models

November 19 and 22, 1999

Background

One mathematical model of population growth for a species (that is, a differential equation whose solutions are supposed to exhibit all or some of the same behavior as actual populations, and allow us to make predictions about the real-world population under consideration). This is the ``exponential growth'' equation:
(1)

dy/dt = ky

(k > 0), which has general solution
(2)
y(t) = y(0)ekt

Saying that a population satisfies the equation (1) for all t is the same as saying that

(*) the rate of change of the population (dy/dt) is always proportional to y.

The constant of proportionality k in the equation represents the net growth rate per unit time -- birth rate minus death rate.

Discussion Questions

A) For example, suppose you had k = .07, y(0) = 1000, t in years, and you used (2) to calculate a prediction of the population at t = 100 years. What number does (2) give you?

B) What are some of the limitations of the functions (2) as mathematical descriptions of real populations? What are we ``leaving out''? Are we ``leaving out'' too much of the real world to get realistic results?

C) If our population is living in a fixed habitat with limited, but self-renewing, resources (for instance, plants as food for the individuals of our species to eat), then one possible additional constraint we might want to build into our population model is that there is a limited sustainable maximum population M that the habitat can support. In biology, M would be called the carrying capacity. One mathematical model along these lines was proposed by the Belgian scientist P.F. Verhulst in the 1830's, and intensively studied by biologists and demographers since. Verhulst's idea was to consider, instead of (*), the proposed relationship:

(**) The ratio of the rate of change of the population to the population is proportional at each time to the difference between M (the maximum sustainable population) and the population.

Write Verhulst's proposed model as a differential equation of the form dy/dt = f(t,y) for the appropriate function f(t,y).

D) Solve your equation using the separation of variables technique, and the table of integrals as necessary. You should be able to transform your answer to

y = M/(1 + c e-Mkt)

by algebraic manipulations, where c is an arbitrary constant.
Next, we want to study these equations, their solutions, and see how an actual population problem might be attacked using this model.

Lab Questions

E) Take k = 0.1, M = 10 (made-up numbers) in (1), and plot the slope field for this equation together with some solutions, using the phaseportrait command from the last lab. Take t in [0,10], P in [0,15], and plot solutions with y(0) = 1, y(0) = 5, y(0) = 12. Compare these with graphs of the symbolic solutions y(t) = M / (1+ce-Mkt) from question D on the Discussion part above.

Enough of the made-up numbers! In a "real-world" population study in biology or demographics, the idea might be to

We are going to do this for the following table of data from the U.S. Census through the 19th century:

t (year)179018001810182018301840
y (pop. in millions)3.9295.3087.2409.63812.86617.069

If these points were exactly on some logistic equation solution graph, then for each of these t values, the points (y, y'/y) would lie on some line z = k(M - y) in the (y,z)-plane. To begin,

F) Using the table of values above, estimate the rate of change y' (in million people per year) at each of the given times, using a forward difference (y(t + Delta t) - y(t))/Delta t and divide by y to get an approximate value for the ratio y'/y. For instance, to estimate y' at 1790, you will use (5.308 - 3.929)/10 = .1379. (The whole calculation can be done by hand, or using Maple as a calculator.)

G) In Maple, make a list of your approximate data points (y,y'/y) in the following format. Your first data point (corresponding to t = 1790) should have y' = .1379 as above and y = 3.929 from the table. Then .1379/3.929 = .0351 (approx.) is your first y'/y value, and the first point in the list is as here:

dl:=[[3.929,.0351],[y2,y2'/y2],...,[y5,y5'/y5]];

(Since there's no obvious good way to estimate y'(1840) from the table, only include data points for t = 1790 through t = 1830.) You can plot your list of (y,y'/y) points to see how close they come to lying on a line, using a plot command like this

plot(dl,style=point);

Try this, take a careful look at the scale on the vertical axis(!), maybe add an option view = [2..14,0.03..0.04] to the plotting command to scale things more reasonably, and try to "eyeball" a line fitting these points. For example, what sign will the slope have? Approximately where is the z-intercept? We'll derive the equation of the best fitting line by a statistical method in the next question. H) From (1) again, if our population values were all on the graph of a logistic function, then the points we have plotted here would all lie on a straight line z = k(M - y) in the (y,z)-plane. That isn't true here, but we can still try to determine the line that fits the data the best. You may have seen a method called linear regression or least-squares curve fitting for doing this in another course. We will do this now, using Maple's least-squares routine. Enter the following command to load the stats package that contains this routine:

with(stats):

Next, to put the data into the form Maple wants, we will need to separate out the y- and z=y'/y-coordinates of the data from dl, as follows:

ylist := [dl[1][1],dl[2][1],dl[3][1],dl[4][1],dl[5][1]];
zlist := [dl[1][2],dl[2][2],dl[3][2],dl[4][2],dl[5][2]];

Now we're ready to compute the best-fit line. Enter

fit[leastsquare[[y,z]]]([ylist,zlist]);

If all your [, ]'s and (, )'s match, this should generate the equation of a line in the form

z = (intercept) + (slope) y

From the slope and intercept values, determine the best-fit k and M for the logistic model, for this data. (Recall, M is the maximum sustainable population in the logistic equation.)

I) Now comes the ``moment of truth''! Using your k and M values, and the population in 1790, determine an analytic solution of the logistic equation that should model the U.S. population. Plot your solution curve as a function of time for the period 1790 - 1990. What U.S. population do you predict for 1990? How close is your prediction to the actual census figure of 248.7 million?)

J) Discuss your results and compare the values of your function and the population data given in table 10.10 on page 535 of our text book. In particular, think about the following questions:

  1. Is there a time interval when your predicted populations are pretty accurate? If so, what is that time interval?
  2. What might account for the growing divergence between your results and the actual U.S. population? What are some trends that might affect population size that are not included in the logistic model we have been using? Has the U.S. population been affected by any of these over the period 1790 - 1990?
  3. Is a fixed carrying capacity for human populations realistic? What might be a more realistic model?

Technical note: As in the last part of question G above, it is possible to plot lists of points in Maple. Once you have such a plot, you can combine a point plots with an ordinary plot and display them together using a command called display from the plots package. For example, you might plot your exact solution of the logistic equation together with the (t,y) data points from the table given above. See the online Help for the info you need to do this, by entering the command ?plots[display]. The help listing has several examples that you can try to follow.

Assignment

Solutions will be due on Tuesday, November 23. One set of solutions per group. This assignment will count as two of the parts of the lab/discussion grade for the course.