8.6: Logistic Growth
- Page ID
- 34223
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\( \newcommand{\id}{\mathrm{id}}\) \( \newcommand{\Span}{\mathrm{span}}\)
( \newcommand{\kernel}{\mathrm{null}\,}\) \( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\) \( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\) \( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\id}{\mathrm{id}}\)
\( \newcommand{\Span}{\mathrm{span}}\)
\( \newcommand{\kernel}{\mathrm{null}\,}\)
\( \newcommand{\range}{\mathrm{range}\,}\)
\( \newcommand{\RealPart}{\mathrm{Re}}\)
\( \newcommand{\ImaginaryPart}{\mathrm{Im}}\)
\( \newcommand{\Argument}{\mathrm{Arg}}\)
\( \newcommand{\norm}[1]{\| #1 \|}\)
\( \newcommand{\inner}[2]{\langle #1, #2 \rangle}\)
\( \newcommand{\Span}{\mathrm{span}}\) \( \newcommand{\AA}{\unicode[.8,0]{x212B}}\)
\( \newcommand{\vectorA}[1]{\vec{#1}} % arrow\)
\( \newcommand{\vectorAt}[1]{\vec{\text{#1}}} % arrow\)
\( \newcommand{\vectorB}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vectorC}[1]{\textbf{#1}} \)
\( \newcommand{\vectorD}[1]{\overrightarrow{#1}} \)
\( \newcommand{\vectorDt}[1]{\overrightarrow{\text{#1}}} \)
\( \newcommand{\vectE}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash{\mathbf {#1}}}} \)
\( \newcommand{\vecs}[1]{\overset { \scriptstyle \rightharpoonup} {\mathbf{#1}} } \)
\( \newcommand{\vecd}[1]{\overset{-\!-\!\rightharpoonup}{\vphantom{a}\smash {#1}}} \)
\(\newcommand{\avec}{\mathbf a}\) \(\newcommand{\bvec}{\mathbf b}\) \(\newcommand{\cvec}{\mathbf c}\) \(\newcommand{\dvec}{\mathbf d}\) \(\newcommand{\dtil}{\widetilde{\mathbf d}}\) \(\newcommand{\evec}{\mathbf e}\) \(\newcommand{\fvec}{\mathbf f}\) \(\newcommand{\nvec}{\mathbf n}\) \(\newcommand{\pvec}{\mathbf p}\) \(\newcommand{\qvec}{\mathbf q}\) \(\newcommand{\svec}{\mathbf s}\) \(\newcommand{\tvec}{\mathbf t}\) \(\newcommand{\uvec}{\mathbf u}\) \(\newcommand{\vvec}{\mathbf v}\) \(\newcommand{\wvec}{\mathbf w}\) \(\newcommand{\xvec}{\mathbf x}\) \(\newcommand{\yvec}{\mathbf y}\) \(\newcommand{\zvec}{\mathbf z}\) \(\newcommand{\rvec}{\mathbf r}\) \(\newcommand{\mvec}{\mathbf m}\) \(\newcommand{\zerovec}{\mathbf 0}\) \(\newcommand{\onevec}{\mathbf 1}\) \(\newcommand{\real}{\mathbb R}\) \(\newcommand{\twovec}[2]{\left[\begin{array}{r}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\ctwovec}[2]{\left[\begin{array}{c}#1 \\ #2 \end{array}\right]}\) \(\newcommand{\threevec}[3]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\cthreevec}[3]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \end{array}\right]}\) \(\newcommand{\fourvec}[4]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\cfourvec}[4]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \end{array}\right]}\) \(\newcommand{\fivevec}[5]{\left[\begin{array}{r}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\cfivevec}[5]{\left[\begin{array}{c}#1 \\ #2 \\ #3 \\ #4 \\ #5 \\ \end{array}\right]}\) \(\newcommand{\mattwo}[4]{\left[\begin{array}{rr}#1 \amp #2 \\ #3 \amp #4 \\ \end{array}\right]}\) \(\newcommand{\laspan}[1]{\text{Span}\{#1\}}\) \(\newcommand{\bcal}{\cal B}\) \(\newcommand{\ccal}{\cal C}\) \(\newcommand{\scal}{\cal S}\) \(\newcommand{\wcal}{\cal W}\) \(\newcommand{\ecal}{\cal E}\) \(\newcommand{\coords}[2]{\left\{#1\right\}_{#2}}\) \(\newcommand{\gray}[1]{\color{gray}{#1}}\) \(\newcommand{\lgray}[1]{\color{lightgray}{#1}}\) \(\newcommand{\rank}{\operatorname{rank}}\) \(\newcommand{\row}{\text{Row}}\) \(\newcommand{\col}{\text{Col}}\) \(\renewcommand{\row}{\text{Row}}\) \(\newcommand{\nul}{\text{Nul}}\) \(\newcommand{\var}{\text{Var}}\) \(\newcommand{\corr}{\text{corr}}\) \(\newcommand{\len}[1]{\left|#1\right|}\) \(\newcommand{\bbar}{\overline{\bvec}}\) \(\newcommand{\bhat}{\widehat{\bvec}}\) \(\newcommand{\bperp}{\bvec^\perp}\) \(\newcommand{\xhat}{\widehat{\xvec}}\) \(\newcommand{\vhat}{\widehat{\vvec}}\) \(\newcommand{\uhat}{\widehat{\uvec}}\) \(\newcommand{\what}{\widehat{\wvec}}\) \(\newcommand{\Sighat}{\widehat{\Sigma}}\) \(\newcommand{\lt}{<}\) \(\newcommand{\gt}{>}\) \(\newcommand{\amp}{&}\) \(\definecolor{fillinmathshade}{gray}{0.9}\)In our basic exponential growth scenario, we had a recursive equation of the form
\(P_{n}=P_{n-1}+r P_{n-1}\)
In a confined environment, however, the growth rate may not remain constant. In a lake, for example, there is some maximum sustainable population of fish, also called a carrying capacity.
The carrying capacity, or maximum sustainable population, is the largest population that an environment can support.
For our fish, the carrying capacity is the largest population that the resources in the lake can sustain. If the population in the lake is far below the carrying capacity, then we would expect the population to grow essentially exponentially. However, as the population approaches the carrying capacity, there will be a scarcity of food and space available, and the growth rate will decrease. If the population exceeds the carrying capacity, there won’t be enough resources to sustain all the fish and there will be a negative growth rate, causing the population to decrease back to the carrying capacity.
If the carrying capacity was 5000, the growth rate might vary something like that in the graph shown. Note that this is a linear equation with intercept at \(0.1\) and slope \(-\frac{0.1}{5000}\), so we could write an equation for this adjusted growth rate as:
\(r_{\text {adjusted}}=0.1-\frac{0.1}{5000} P=0.1\left(1-\frac{P}{5000}\right)\)
Substituting this in to our original exponential growth model for \(r\) gives
\(P_{n}=P_{n-1}+0.1\left(1-\frac{P_{n-1}}{5000}\right) P_{n-1}\)
If a population is growing in a constrained environment with carrying capacity \(K\), and absent constraint would grow exponentially with growth rate \(r\), then the population behavior can be described by the logistic growth model:
\(P_{n}=P_{n-1}+r\left(1-\frac{P_{n-1}}{K}\right) P_{n-1}\)
Unlike linear and exponential growth, logistic growth behaves differently if the populations grow steadily throughout the year or if they have one breeding time per year. The recursive formula provided above models generational growth, where there is one breeding time per year (or, at least a finite number); there is no explicit formula for this type of logistic growth.
A forest is currently home to a population of 200 rabbits. The forest is estimated to be able to sustain a population of 2000 rabbits. Absent any restrictions, the rabbits would grow by 50% per year. Predict the future population using the logistic growth model.
Solution
Modeling this with a logistic growth model, \(r = 0.50\), \(K = 2000\), and \(P_0 = 200\). Calculating the next year:
\(P_{1}=P_{0}+0.50\left(1-\frac{P_{0}}{2000}\right) P_{0}=200+0.50\left(1-\frac{200}{2000}\right) 200=290\)
We can use this to calculate the following year:
\(P_{2}=P_{1}+0.50\left(1-\frac{P_{1}}{2000}\right) P_{1}=290+0.50\left(1-\frac{290}{2000}\right) 290 \approx 414\)
A calculator was used to compute several more values:
\(\begin{array}{|l|l|l|l|l|l|l|l|l|l|l|l|}
\hline n & 0 & 1 & 2 & 3 & 4 & 5 & 6 & 7 & 8 & 9 & 10 \\
\hline P_{n} & 200 & 290 & 414 & 578 & 784 & 1022 & 1272 & 1503 & 1690 & 1821 & 1902 \\
\hline
\end{array}\)
Plotting these values, we can see that the population starts to increase faster and the graph curves upwards during the first few years, like exponential growth, but then the growth slows down as the population approaches the carrying capacity.
On an island that can support a population of 1000 lizards, there is currently a population of 600. These lizards have a lot of offspring and not a lot of natural predators, so have very high growth rate, around 150%. Calculating out the next couple generations:
Solution
\(P_{1}=P_{0}+1.50\left(1-\frac{P_{0}}{1000}\right) P_{0}=600+1.50\left(1-\frac{600}{1000}\right) 600=960\)
\(P_{2}=P_{1}+1.50\left(1-\frac{P_{1}}{1000}\right) P_{1}=960+1.50\left(1-\frac{960}{1000}\right) 960=1018\)
Interestingly, even though the factor that limits the growth rate slowed the growth a lot, the population still overshot the carrying capacity. We would expect the population to decline the next year.
\(P_{3}=P_{2}+1.50\left(1-\frac{P_{3}}{1000}\right) P_{3}=1018+1.50\left(1-\frac{1018}{1000}\right) 101\)
Calculating out a few more years and plotting the results, we see the population wavers above and below the carrying capacity, but eventually settles down, leaving a steady population near the carrying capacity.
A field currently contains 20 mint plants. Absent constraints, the number of plants would increase by 70% each year, but the field can only support a maximum population of 300 plants. Use the logistic model to predict the population in the next three years.
- Answer
-
\(P_{1}=P_{0}+0.70\left(1-\frac{P_{0}}{300}\right) P_{0}=20+0.70\left(1-\frac{20}{300}\right) 20=33\)
\(P_{2}=54\)
\(P_{3}=85\)
On a neighboring island to the one from the previous example, there is another population of lizards, but the growth rate is even higher – about 205%.
Solution
Calculating out several generations and plotting the results, we get a surprise: the population seems to be oscillating between two values, a pattern called a 2-cycle.
While it would be tempting to treat this only as a strange side effect of mathematics, this has actually been observed in nature. Researchers from the University of California observed a stable 2-cycle in a lizard population in California[1].
Taking this even further, we get more and more extreme behaviors as the growth rate increases higher. It is possible to get stable 4-cycles, 8-cycles, and higher. Quickly, though, the behavior approaches chaos (remember the movie Jurassic Park?).
[1] users.rcn.com/jkimball.ma.ult...ulations2.html