Session 4: Predator Prey with Carrying Capacity
MIT OpenCourseWare
Model challenges 0:00
Hazhir Rahmandad opens the session on the predator-prey model with carrying capacity for prey, such as deer, wolves, and vegetation. Students describe common problems: matching behavior across density levels, handling extreme cases, and not letting wolves survive without deer. One student says the time step mattered a lot and had to be reduced from 1 to 0.25. Rahmandad says that if changing the step changes the behavior, the step is too large.
Vegetation and prey flows 7:00
He then reviews student models, starting with vegetation. One version uses a max vegetation level so growth slows as the stock nears a feasible ceiling. He explains two stories: vegetation may fail to regrow because seeds lack light and water, or it may die back faster at high density. For prey, he discusses single-flow net change models and logistic growth. He notes that these can work, but the birth and death mechanics are harder to explain.
Vegetation limits 21:00
Vegetation can be treated as a stock with carrying capacity. If growth is the only inflow, it rises until it reaches the maximum and then shuts off. If it goes above that limit, the flow turns into an outflow and brings it back down. The key is to model this as a two-way flow, not a one-way flow.
Consumption logic 24:00
The same problem appears in the deer and grass equations. A model that multiplies grass by a death rate can keep flow at zero when grass is absent, but it also lets consumption grow without bound when grass is infinite. The cleaner fix is to tie consumption to capacity and to separate desired intake from what the prey or vegetation can actually supply.
Soft saturation curves 42:32
The discussion turns to how predator consumption should level off as prey become scarce or abundant. One option is a table function, where you feed in max divided by desired and read off the shape you want. Another is an analytical form. Jason suggests x over 1 plus x, then raising it to a power to make the rise faster or slower. The key checks are that the curve starts at 0, approaches 1, and stays under the y equals x line.
Kinks and balance 57:32
A min function can enforce the maximum directly, but it creates a kink where the curve switches. That kink is not ideal, yet it keeps the balancing feedback loop active rather than turning it off suddenly. The same form can be used for prey eating vegetation, too. The group then checks Gerardo’s model and rewrites current consumption as x over 1 plus alpha x, where alpha sets the top rate by making the limit equal to 1 over alpha.
Power two and saturation 1:04:08
The choice of a power of two comes from trying to make predation depend strongly on deer density and on wolf-deer interactions. At low density, predators catch less. At higher density, catches rise and then level off. The equation can do that, but the units must still match, and the story behind the micro-mechanism is still hard to read from the formula alone.
Checking starvation feedback 1:10:30
A second formulation is cleaned up by removing extra terms that do not add anything. The 45-degree constraint is handled through a minimum of desired and feasible consumption. The same fulfillment idea should also feed starvation, but not too strongly. The fix is to soften wolf satiation with an exponent below 1, so a value like 0.7 is pushed closer to 1 before it affects death.
Births and grass growth 1:25:01
Starvation can lower deer birth rates, so birth need not be a fixed inflow. That keeps the model biologically sensible without adding more structure if you do not want it. The grass side has a separate problem, though. If you leave grass unchecked, it grows exponentially and the formulation misses that balancing effect. You can add grass death or use a saturating flow instead.
Predator efficiency choices 1:28:31
A student then compares predator hunting efficiency with required prey per predator. The point is to make hunting fall as deer become scarce, but not to assume two separate mechanisms when one will do. A single adequacy ratio can drive both consumption and lifespan. The key is to keep the ratio between 0 and 1, and to know whether you are modeling search limits, appetite, or both.
Hunting efficiency 1:46:05
Hunting efficiency is explained as how many deer one wolf hunts per month. It is set beside the desired prey per predator, which is the amount a wolf needs to eat to survive. The two are treated as close, but the speaker prefers one desired value that also shapes hunting efficiency. If prey density is too high, the model can let consumption per predator rise above the normal level, and that should be capped.
Oscillation tracing 1:58:00
The discussion then shifts to a model with prey, vegetation, and a deforestation shock. The shock is shown as a pulse in the vegetation death rate, and the graph is narrowed to the first few years so the main behavior is easier to see. By tracing the causal links, the speaker rules out vegetation restoration as the cause and follows the decline in prey birth back to falling vegetation, which points to a higher-order balancing loop that can oscillate.
Testing the feedback loop 2:09:34
The birth rate explains the prey drop because the population falls only after birth falls, not because death rises. To test that idea, the birth rate is held at its equilibrium value of 15 instead of letting it oscillate. Once that change is made, the oscillations disappear and the vegetation drops to zero, which supports the claim that this feedback loop drives the cycle. A step change is preferred over changing the whole run because you can see the oscillation begin and then stop at once.
AI-generated summary. It can be wrong or incomplete - check anything that matters against the original.

