Modeling S-shaped Population Growth

In this tutorial we will demonstrate how easy it is to simulate the behavior of real-life systems. We are going to design a model that reproduces the S-shaped or sigmoidal curve typical of limited population growth.

The characteristic feature of limited population growth is that the relative growth rate is not constant but decreases as the population size increases. The idea of limited population growth applies at the molecular and the cellular level. For plants and animals, the population may be limited by shortage of food, lack of space or the accumulation of toxic substances in the environment, leading to increased mortality rates or reduced rates of reproduction. Chemical reactions can involve an increase in concentration of a product substance which is limited by the amount of reactant present.

In our model, we will consider an animal population in which the reproduction rate is eventually limited by available space. Thus, the population size is determined by the balance of births and deaths.

Initially, we shall make the following assumptions:

  1. The change in population size over time is proportional to the number of births minus the number of deaths
  2. The birth rate is proportional to 25% of the population
  3. The death rate is proportional to 5% of the population

We will use a compartment to represent Population and variables to represent Births and Deaths. As Births and Deaths both effect and are affected by Population, we will use influences to connect these components together.

  • Add a compartment, C1, and two variables, V1 and V2, to your model window
  • Add influences from V1 to C1, C1 to V1, V2 to C1 and C1 to V2
  • Double click C1 to open its definition dialog box and enter Population in the Symbol edit box
  • Repeat for V1 and V2, entering Births and Deaths in their respective Symbol edit boxes
  • Double click Population to open its definition dialog and enter Births - Deaths in the Equation edit box and 0.1 in the Initial Value edit box
  • Repeat for Births, entering 0.25*Population in the Equation edit box
  • Repeat for Deaths entering 0.05*Population in the Equation edit box

Now the model is ready to run.

  • Run the model using the default run options from t=0 to t=100
  • Plot a graph of Population against time

The graph shows that the population is increasing exponentially. To reproduce an S-shaped curve, the rate of population growth must decrease following a period of rapid population growth until the number of births is equal to the number of deaths. To model this, we will introduce a third variable and call it Environment. The value of Environment will be determined by Population and by two parameters, Pop_maxsize and Birth_rate. We will use the value of Environment to determine the value of Births.

First, we will define the two new parameters, Pop_maxsize and Birth_rate, which will limit the size of the population and control the birth rate respectively.

  • Click the Parameters icon to activate the Parameters view
  • Click the Parameter icon to add a parameter, p1
  • Repeat to add a second parameter, p2
  • Double click p1 to open its definition dialog and enter Pop_maxsize in the Symbol edit box and 1000 in the Value edit box
  • Repeat for p2, entering Birth_rate in the Symbol edit box and 4000 in the Value edit box

Now we can configure the Environment variable.

  • Add a variable, V1, to your model
  • Add influences from Population to V1 and from V1 to Births
  • Enter Environment in the Symbol edit box and (Pop_maxsize-Population)/Birth_rate in the Equation edit box

Now we must update Births so that it uses the value of Environment.
  • Double click Births to open its definition dialog and update the Equation edit box to Environment*Population

Now we can re-run our model.

  • Select the graph of Population and re-run the model
The Population variation now follows an S-shaped curve.

You can download this model from the ModelMaker exchange.

  
ModelKinetix is a trade name of FamilyGenetix, managed by AP Benson.
© FamilyGenetix 2001-2003