Math Insight

Introducing rabbit predators


It all started innocently enough. A family let loose a few rabbits on Foxless Island, thinking the rabbits would be happier outside than inside being rough handled by their children. Without predators on the island, though, the rabbits became a little too happy, and soon the island became overrun by rabbits.

The ability for rabbits to multiply has turned into a big headache for you, the head the Foxless animal control team (FACT). In your first attempt to control the rabbit population, you and your team tried “harvesting” each month a fixed fraction of the rabbit population, hoping to reach a steady population of around a thousand rabbits. The effort turned into a colossal failure, as no matter what fraction you tried, you seemed to be either harvesting too many or too few rabbits. You couldn't get the balance right.

Then, you tried being smarter, counting the number of rabbits on the island each month, and adjusting the fraction of rabbits harvested based on that count. This effort seemed promising, but it was much too difficult for you and your small team to keep up. For one thing, counting rabbits is hard work, and FACT simply doesn't have enough resources to keep up the monthly count. You can't push your team members any harder, as they have begun to rebel against your demands for frequent rabbit counting. Moreover, your “rabbit harvesting” activities have made your solution increasingly unpopular among key segments of Foxless residents. To keep the situation from spinning further out of control, you must devise a new method for rabbit control.

While brooding about the incorrigible nature of Foxless human and animal populations, you realize the perfect solution to your woes. Introducing foxes to the island will provide a natural way to control the rabbit population. Foxes don't need to count rabbits each month in order to decide how many rabbits to eat. They can respond naturally to fluctuations in the rabbit population size, reproducing to yield more foxes should more rabbits need to be eaten. The best part is that the foxes will do their work for free and without complaining.

Before you propose this radical change to the Foxless community, you better do your homework well. You can already hear the objections. “The fox population will explode, and soon we'll have a bigger problem with the foxes than we had with the rabbits.” “The foxes will eat all the rabbits and we won't have any rabbits left to watch.” You'll make sure you are prepared to address all these concerns before you propose your fox solution.

The mathematical model

The best way to have a persuasive argument in factor of your proposal, you believe, is to have it backed by a mathematical model. You decide to make some important changes from your initial rabbit model. The first change is to move from discrete time to continuous time. That way, you'll have a more impressive sounding differential equation model. You let $t$ represent time in years, denoting the rabbit population size at time $t$ by $r(t)$ and the fox population size at time $t$ by $p(t)$ ($p$ for predator).

As you've discovered, the rabbits population will grow exponentially without foxes to control them. You imagine that Greek letters will make the model look sophisticated and choose $\alpha$ (alpha) for the growth rate parameter of the rabbits, modeling their fox-free evolution with the differential equation \begin{align} \diff{r}{t} = \alpha r. \label{rabbits_alone}\tag{1} \end{align}

You model the rabbit-free foxes a bit differently. Assuming that they depend on rabbits for food, their population size should shrink in the absence of rabbits. Using $\gamma > 0$ (gamma) for this rate of decay, you can model the hungry, rabbitless, fox population as \begin{align} \diff{p}{t} = - \gamma p. \label{foxes_alone}\tag{2} \end{align}

As a warm up, solve the foxless rabbit equation \eqref{rabbits_alone} and the rabbitless fox equation \eqref{foxes_alone}, to obtain an expression for these separate populations. (Guessing the solution is an OK method.) What happens to the rabbit population as time increases? What happens to the fox population as time increases?

Your main goal for your modeling effort is to show how the foxes will decrease the rabbit population. To model the harvesting of rabbits by foxes, you subtract a harvesting term off the rabbit-change equation, (i.e., the $\diff{r}{t}$ equation \eqref{rabbits_alone}). Letting the rate of rabbit kills be proportional to the number of rabbits and the number of foxes, you write the harvesting term as $\beta r p$, where the Greek letter $\beta$ (beta) is a parameter that indicates how quickly a fox can reduce the rabbit population. The rabbit equation becomes \begin{align} \diff{r}{t} = \alpha r - \beta r p. \label{rabbits_with_foxes}\tag{3} \end{align}

If the fox population size $p$ remained constant, this harvesting by the foxes is strikingly similar to your initial harvesting strategy, where a fixed fraction were harvested each month. The new feature is that the foxes can increase their population size when there are plenty of rabbits around. Again, to keep everything as simple as possible, you model the addition to the fox population as being proportional to the rate that rabbits are eaten. You add a term to the fox equation of the form $\delta r p$, where $\delta$ (delta) captures how efficiently the eaten rabbits are turned into new foxes. (Since each rabbit consumed doesn't lead to a new fox, you expect that $\delta$ should be quite a bit smaller than $\beta$.) The fox equation becomes \begin{align} \diff{p}{t} = - \gamma p + \delta rp. \label{foxes_with_rabbits}\tag{4} \end{align}

Equations \eqref{rabbits_with_foxes} and \eqref{foxes_with_rabbits} form a system of two autonomous differential equations for the joint evolution of the rabbit and fox populations. This equations, known as the Lotka-Volterra equations, are a simple example of predator-prey equations that model the interactions among these two populations.

Solving the model

The next step is to determine what the equations predict about the future of the rabbit and fox population in the event that you add some foxes to the island. Having these four unknown parameters $\alpha$, $\beta$, $\gamma$, and $\delta$ is too confusing, so you realize you better give them specific values. Based on your intuition on animal behavior, you decide to set the parameters to $\alpha=1$, $\beta=0.01$, $\gamma=0.5$, and $\delta = 0.0005$. Since you aren't certain these are exactly the right values, you'll have to check out the effect of changing them later.

You are left with the system of equations \begin{align} \diff{r}{t} &= r - 0.01 r p\notag\\ \diff{p}{t} &= - 0.5 p + 0.0005 rp. \label{system_with_parameters}\tag{5} \end{align} They look simple enough, but you don't know how to solve them. To determine what they predict about the future of the rabbits and foxes, you'll need to somehow estimate the solution.

Computer visualization

As best as you can tell, the rabbit population has grown to about 3000 rabbits. Your plan is to introduce 70 foxes to Foxless Island. You'll use those values as your initial conditions. By plugging those values, you calculate that the initial rates of change are \begin{align*} \diff{r}{t}\bigg|_{t=0} &= 3000 - 0.01 (3000)(70)=900\notag\\ \diff{p}{t}\bigg|_{t=0} &= - 0.5(70) + 0.0005 (3000)(70)= 70. \end{align*} Oh no, $\diff{r}{t}$ is positive. This means the change in the number of rabbits is positive: the rabbit population is still growing! Aren't the foxes doing their job? It looks like 70 foxes isn't enough to keep the rabbits in check. But, the fact that the fox population is growing at a healthy rate is promising. Once the fox population gets larger, you hope they'll start to bring down the rabbit population.

You realize it would be too difficult to estimate this evolution yourself, using an algorithm like the Forward Euler algorithm. You doubt you could do all the required calculations accurately yourself (and you don't feel like spending all day crunching numbers) and decide to hire a computer programmer to create a tool to let you see the solution to the differential equations. You figure the programmer will be worth the expense, as such a tool will also be useful in persuading others that you have a good solution.

The programmer scoffs at your suggestion of using of the Forward Euler algorithm. Why are you using an algorithm from the 1700's, he asks, when you can at least get into the 1900's with the Runge-Kutta algorithm? You have no idea what he is talking about, but you like the solution he made for you, which is shown in the following applet.

Use the applet to investigate what happens to the rabbits and foxes when you use the above parameters and start with 3000 rabbits and 70 foxes. Describe the behavior of the system as time evolves. Using the model equation, explain why this occurs. Does this make sense for the biological system? Do you expect the evolution of the rabbit and fox populations to have this type of behavior?

Since the applet is slow to load, we just include a link here.

You find the oscillatory behavior of the solution to your system of equations a bit surprising. You wonder if maybe the result was just a strange coincidence given that you started with 3000 rabbits and 70 foxes. If you try different initial conditions, do you get similar behavior? Does the solution still oscillate?

Maybe the oscillations are just an artifact of the value of the four parameters that you chose. Change the parameters $(\alpha$, $\beta$, $\gamma$, and $\delta$) by small amounts, and see if the behavior of the system is roughly similar or has dramatically different behavior.

Not only does the above applet show the plots of $r$ and $p$ versus time, but it also shows a representation of the state $(r,p)$ of the system as a phase plane plot of $p$ versus $r$. In the phase plane, the oscillation looks like loop. The phase plane visualization helps you better see how the oscillations work and what controls the size of the oscillations. By dragging the initial condition point $(r(0),p(0))$ around the phase plane, you can see how the initial conditions influence the oscillations. What initial conditions lead to the largest oscillations in the population sizes? What initial conditions lead to the smallest oscillations? Can you find an initial condition where the oscillations are essentially eliminated (using the original parameters $\alpha=1$, $\beta=0.01$, $\gamma=0.5$, and $\delta=0.0005$)?


As always, equilibria are an important feature of a dynamical system and can be used to understand the behavior of the system. For the two-dimensional system \eqref{system_with_parameters}, an equilibrium is a point $(r_e, p_e)$ in the phase plane where both derivatives $\diff{r}{t}$ and $\diff{p}{t}$ are zero. If you start with an initial condition that is an equilibrium, the system will stay at the value forever.

Show that the system \eqref{system_with_parameters} has the trivial equilibrium $(0,0)$ with no rabbits or foxes. You just need to plug in $(r,p)=(0,0)$ into the right hand sides for $\diff{r}{t}$ and $\diff{p}{t}$ to show you get zero for both derivatives. This makes sense, as we shouldn't get rabbits or foxes materializing out of nowhere.

Is there another equilibrium to the system? When you were exploring the behavior of the system for different initial conditions in the phase plane, did you find a point where the oscillations are essentially eliminated? If you found a point where the system did not change at all, then you found an equilibrium. You should be able to get an idea of its value by exploring the phase plane. From that, you may be able to guess what are the values of $r$ and $p$ at the non-zero equilibrium.

You can also calculate the equilibria analytically from the equations \eqref{system_with_parameters}. If you set both $\diff{r}{t}$ and $\diff{p}{t}=0$, you obtain a system of two equations and two unknowns: \begin{align*} r - 0.01 r p &=0\\ - 0.5 p + 0.0005 rp &=0. \end{align*} At an equilibrium, both equations have to be zero. To find the equilibrium points, you can easily factor both equations. You should be able to find two equilibria, confirming the results that you obtained when you were exploring the phase plane.

Are the equilibria stable or unstable? If you start with any initial condition close to the equilibrium, does the solution stay close to that equilibrium or even converge to the equilibrium? In that case, it is stable. Can you find an initial condition close to the equilibrium for which the solution diverges away from the equilibrium? In that case, the equilibrium is unstable. Classify both equilibria as stable or unstable.

For the trivial equilibrium (0,0), we know that if we start without any rabbits, the system will evolve toward to the equilibrium. However, that is not enough to state that the equilibrium is stable. If you can find any other initial conditions close to (0,0) from which the solution moves away from (0,0), that's enough to conclude that the equilibrium is unstable.

Model stupidity

What does the model predict will happen if you introduced only two foxes rather than 70? Look closely at the values of $r(t)$ after the rabbit population size is brought down from its initial peak. Does that value make any sense? Or, more importantly, does it make sense that the rabbit population eventually recovers from that value to shoot upward again? What should have happened to the rabbit population if it got that low? Also, does it make any sense that the fox population survives for many years on so few rabbits? (The model isn't suppose to be including other food sources for the foxes.) If you want people to believe your model, you probably shouldn't focus on such initial conditions.


What can you conclude from your model analysis? Can you make a convincing case that introducing foxes to Foxless Island will help control the rabbit population? Even if it doesn't show that one will get good results in all cases, can you use the model to develop a strategy that will lead to a more or less stable population of around a thousand rabbits?

If we estimate that Foxless Island currently has around 3000 rabbits, can you get to a more or less stable population of a thousand rabbits just by introducing an appropriate number of foxes? In other words, if you set the initial condition for rabbits to be $r(0)=3000$, can you find a solution (by changing the number of foxes $f(0)$ introduced) where $r(t)$ eventually stays close to 1000?

Can you improve your result if you help the foxes out by initially harvesting some rabbits yourself? In other words, if you lower the initial condition $r(0)=3000$ to a smaller number, can you find a solution (by changing the number of foxes $f(0)$ introduced) where $r(t)$ eventually stays close to 1000?

Does the model help you address the two objections that you envisioned people making? Why or why not?


The introducing rabbit predators project page gives instructions for writing up a project report based on this analysis.