mckelvey@stolaf.edu
http://www.stolaf.edu/people/mckelvey/
P(t+1)=P(t)+aP(t)(1-P(t)/K)
where a is the intrinsic growth rate (the exponential growth rate at low population levels) and K is the carrying capacity of the habitat under consideration.
With this model populations move toward the carrying capacity K as time goes on regardless of the initial population. Even a very tiny population will eventually reach the carrying capacity. Extinction never occurs under the logistic model.
P(t+1)=P(t)+aP(t)(1-P(t)/K)-H
The Stella model for this modification could look like:
The exercises below assume a Stella model has been built with an intrinsic growth rate a of 10 percent and a carrying capacity K of 1000.
How would you incorporate the possibility of a random detrimental event into your Stella models?
If we leave behind the idea of hunting for the time being, there is a second modification to the logistic model which increases the model's realism and usefulness. This is the addition of the ecological idea of a minimum viable population. The idea here is that a population of any species has a minimum level at which the population can thrive. If the population drops below this minimum level various environmental and genetic factors lead to the elimination of the population. The relevant factors might include inability to find mates, loss of genetic diversity and increased vulnerability to short and long term environmental changes and disease events.
The logistic model can be modified to account for the existence of a minimum viable population. One way of doing this is to use the difference equation:
P(t+1)=P(t)+aP(t)(P(t)/M-1)(1-P(t)/K)
where a and K have the same meanings as before. M is the minimum viable population. A Stella model of this situation might look like:
Conveyors always occur in concert with an outgoing valve. The outgoing valve cannot take a formula, it is always open to whatever level of material is leaving the conveyor.
Conveyors work by accepting flows into the conveyor and then holding it there for a specified length of time. When the time is up the material is disgorged from the conveyor into its outgoing valve which carries it away from the conveyor. The time delay for a given conveyor is fixed for an entire run of the model, but different conveyors can have different delays.
One important limitation of conveyors is that they only hold positive amounts of flow (as near as I can tell.) It is still possible to delay decreases in quantities, but it requires some obscure messing around with the model to accomplish.
Time delays are important to real world modeling because often decisions are made based on historical information. Any changes in hunting levels, for example, would be based on population estimates made well before the hunting season actually begins. Both the delay in taking a census and the lag time between the determination of hunting levels and the actual hunt begins lead to time delays in the hunting model.
As an example, suppose we wanted to model a quota setting algorithm as well as the population of deer in a certain part of Minnesota. We might start with a modified logistic model incorporating both hunting and minimum viable populations. Instead of having a fixed hunting level, however, we might want to incorporate a specific method for determining the hunting quota every year. Such a technique might be implemented by a large bureaucracy to simplify and depoliticize the annual determination of bag limits.
One possible decision making model would be to determine a population target T for the deer herd under study. It might then be reasonable to set the hunting quota to be the difference between the deer population and the target T. If we let H(t) denote the hunting quota during year T, then this scheme is equivalent to setting
H(t)=P(t)-T.
Recall that P(t) is the deer population at time t.
In the real world we do not know the population P(t) at the exact time we need it to determine the hunting quota H(t). There is always a delay in processing and distributing field information. In addition, the quota must be set long before the hunting season begins, perhaps years ahead of time. It is important to be able to model this delay because it has serious implications for the long term behavior of populations.
The Stella model whose diagram appears below is a model which incorporates the delay in information gathering about the population. The top part of the model should resemble the model you built in the exercise above. The delta_population valve is a two-directional valve to allow for population increases and decreases. Parameters used to determine this valve's setting are the instrinsic growth rate (a), the minimum viable population (M), the habitat's carrying capacity (K) and the annual hunt (H(t)).
The hunting level is determined by a method that uses both the population target and a (delayed) estimate of the true herd population. The delayed population is computed in the lower part of the model, which we now consider in detail.
The key to this part of the model is to understand that the refusal of conveyors to hold negative quantities (population decreases) necessitates the separate handling of population increases and population decreases. This is the reason for the two separate flows which lead to the delayed population converter.
The process begins with delta_population, the same quantity as is held in the valve in the upper part of the model. The delta_population which appears in the bottom part of the picture is a ghost of the valve from the upper part of the model. This "ghosting" allows us easy access to the value of the valve without having to draw long and confusing connectors all over our diagram.
The value of delta_population can be either positive or negative, depending on whether the population is increasing or decreasing. If delta_population is positive, the valve Pop_Inc (for population increase) is set to this value. If delta_population is negative, the valve Pop_Dec (for population decrease) is set to the absolute value of delta_population. Whichever valve is not set to a positive number as a result of this process is set to zero. The equations which acheive this are:
Pop_Inc = max(0,delta_population)
Pop_Dec = max(0,-1*delta_population)
These population changes are then placed on the appropriate conveyor belt where they sit for the appropriate length of time, whatever time lag we are modeling. It is important to be certain that both conveyors are using the same time lag.
After the appropriate amount of time has passed the material leaves the conveyor belt, passes through the valves Thru_Inc or Thru_Dec (which are automatically set to move exactly the flow which is leaving the conveyor) into a reservoir which holds all the accumulated increases and all the accumulated decreases in population. The difference between the quantity in Accum_Inc and Accum_Dec gives the total population change during the course of the model's run (except for the most recent changes still in the conveyors).
The trick is to convert the accumulated population change information to population data itself. To accomplish this we set the initial value of Accum_Dec to zero while we set the initial value of Accum_Inc to be the initial population of deer as found in Deer_Population.
With these initial values set (the initial values of the conveyors are all set to zero) the sum of Accum_Inc and Accum_Dec will of the total population, delayed by the lag time specified in the conveyors. You can plot both Deer_Population and Delayed_Pop on the same graph to convince yourself of this.
Now that we have a way of accessing the population as observed at some time in the past, we can investigate several possible hunting quota rules.
This model concerns itself with trying to keep a system at a specified level. In our case the quantity being controlled is the deer population. The control itself is achieved through the process is setting hunting quotas based on deer population. This concept of controlling a system based on ongoing observations about the system is called dynamical systems control. The theory of such system manipulations is called control theory, a subfield of classical applied mathematics. The problems in this discipline are both important and hard.
The goal of this model is to demonstrate the complexities introduced by time lags in just about any evolving system. The idea of controlling a system is also introduced in a way which, I hope, demonstrates some of the subtle challenges to trying to control a complicated situation. Perhaps some students will begin to appreciate the difficult decisions policy makers must make in the area of natural resources management and other arenas. Lastly, perhaps the idea of control theory will motivate a student of mathematics to continue his or her studies with a renewed sense of purpose.