Lotka-Volterra Two Species Model

Two Species Models

The models we have discussed so far (Malthus and Logistic) are single species models. Many of the most interesting dynamics in the biological world have to do with interactions between species. Mathematical models which incorporate these interactions are required if we hope to simulate these dynamics.

One of the first models to incorporate interactions between predators and prey was proposed in 1925 by the American biophysicist Alfred Lotka and the Italian mathematician Vito Volterra.


The Lotka-Volterra model describes interactions between two species in an ecosystem, a predator and a prey. This represents our first multi-species model. Since we are considering two species, the model will involve two equations, one which describes how the prey population changes and the second which describes how the predator population changes.

For concreteness let us assume that the prey in our model are rabbits, and that the predators are foxes. If we let R(n) and F(n) represent the number of rabbits and foxes, respectively, that are alive at time period n, then the Lotka-Volterra model is:

R(n+1) = R(n) + a*R(n) - b*R(n)*F(n)
F(n+1) = F(n) + e*b*R(n)*F(n) - c*F(n)

where the parameters are defined by:

The Stella model representing the Lotka-Volterra model will be slightly more complex than the single species models we've dealt with before. The main difference is that our model will have two stocks (reservoirs), one for each species. Each species will have its own birth and death rates. In addition, the Lotka-Volterra model involves four parameters rather than two. All told, the Stella representation of the Lotka-Volterra model will use two stocks, four flows, four converters and many connectors.


  1. Split the rabbit's difference equation into the births part and the deaths part.
  2. Do the same for the fox's equation.
  3. Using the following parameter values, write down the difference equations for the Lotka-Volterra model and find all equilibrium points. This will involve solving two equations for two unknowns (namely R(*) and F(*)). HINT: this model produces two steady states, one of which should be unsurprising.
  4. Optional: Try to find expressions for the Lotka-Volterra steady states in terms of the parameters. In other words, try to find formulas for R(*) and F(*) without plugging in specific values for the parameters.
  5. Create a Stella model for the Lotka-Volterra model. Use the parameter values given above as values for the four converters in your model. Try various initial conditions for the rabbits and fox populations; choose some to be near the equilibria you determined above, and have some be far away. Use different running times. Which equilibrium is stable, unstable?
  6. Try both the usual time series graph and the scatter graph to examine the model output. A scatter plot of rabbit versus fox population is particularly interesting. To produce such a graph pull down the graph icon, place it somewhere in the model, double click on the graph when it appears and select the scatter plot option. This will require you to choose two quantities to plot. Pick the rabbit and fox populations. You should get some interesting pictures if you let the model run long enough.

Analysis of Lotka-Volterra

The Lotka-Volterra model is one of the earliest predator-prey models to be based on sound mathematical principles. It forms the basis of many models used today in the analysis of population dynamics. Unfortunately, in its original form Lotka-Volterra has some significant problems. As you may have noted in your experiments, neither equilibrium point is stable. Instead the predator and prey populations seem to cycle endlessly without settling down quickly. It can be shown (see any undergraduate differential equations book for details) that this behavior will be observed for any set of values of the model's four parameters. While this cycling has been observed in nature, it is not overwhelmingly common. It appears that Lotka-Volterra by itself is not sufficient to model many predator-prey systems. Context specific information must be added.