Vous êtes sur la page 1sur 116

An Introduction to Systems Thinking & Modelling

Assignment 1:
Modelling the Ecology of the Kaibab
Plateau
TE R15
January 2015

Report Submission

Due on Monday, 17 February at 9AM

No longer than 10 pages, not including appendices

Compiling the report, including exercises 7 and 8, should take about 10 hours

Report only needs to include:


o

Problem definition and context: 1-2 pages

Model content and dynamic hypothesis: 1-2 pages; equations can be listed in an
appendix

Answers to Exercise 7: 2-3 pages

Answers to Exercise 8: 4-5 pages, with graphs and equations where needed

See the mark sheet at the end of this document for complete information on what is
expected in the submission

Formatting:
o

Single-spaced with a blank line between paragraphs

Clearly indicate exercise numbers and answers

Do not include vertical data tables

Submit two files:


o

Report as Word document

Vensim model with modifications and policy experiments

Upload to IVLE in Student Submissions > 1. Kaibab Report folder

Kaibab Plateau Exercise TE R15

2 / 116

(Blank Page)

Kaibab Plateau Exercise TE R15

3 / 116

Table of Contents

1.0

Introduction .......................................................................................................................................................... 7

2.0

Creating a Model ................................................................................................................................................... 9

2.1

Purpose of Modelling ...................................................................................................................................... 9

2.2

Modelling Process and Terminology ............................................................................................................. 11

2.3

Modelling Conventions ................................................................................................................................. 15

3.0
3.1

Modelling the Kaibab Plateau ............................................................................................................................. 16


Exercise 1: Deer Births .................................................................................................................................. 17
How Do I Calculate Units?..................................................................................................................... 20

3.2

Exercise 2: Deer Deaths ................................................................................................................................ 23

3.3

Exercise 3: Deer Killed by Mountain Lions .................................................................................................... 28

3.4

Exercise 4: Lions and Lion Hunting ................................................................................................................ 35

3.5

Exercise 5: Creating Vegetation Consumption.............................................................................................. 41


What Are Limiting Factors?................................................................................................................... 44

3.6

Exercise 6: Creating Vegetation Supply ........................................................................................................ 49


How Much Does Data Impact Results? ................................................................................................. 56

3.7

Exercise 7: Validating the Model .................................................................................................................. 57

3.8

Exercise 8: Using the Model to Examine Policies .......................................................................................... 59

4.0
4.1

Using Vensim and Vensim Resources ................................................................................................................. 62


Starting Vensim and Entering the Model Settings ........................................................................................ 63
Should I Save the Model? ..................................................................................................................... 65

4.2

Drawing Causal Loop Diagrams..................................................................................................................... 66

4.3

Drawing Stock-and-Flow Diagrams ............................................................................................................... 68

4.4

Adding Loop Polarities .................................................................................................................................. 71

4.5

Displaying Initial Causes ................................................................................................................................ 73

4.6

Entering Numeric Equations ......................................................................................................................... 74

4.7

Entering Text Equations ................................................................................................................................ 76

4.8

Naming Runs ................................................................................................................................................. 78

Kaibab Plateau Exercise TE R15

4 / 116

4.9

Selecting Runs ............................................................................................................................................... 79

4.10

Exporting Equations, Tables, and Data ......................................................................................................... 80

4.11

Understanding Sensitivity Analysis ............................................................................................................... 81

4.12

Performing Sensitivity Analysis via Sim Setup .............................................................................................. 83

4.13

Changing Time Settings ................................................................................................................................. 84

4.14

Understanding Lookup Functions ................................................................................................................. 85

4.15

Creating Lookup Functions............................................................................................................................ 86

4.16

Exporting Lookup Graphs .............................................................................................................................. 87

4.17

Creating STEP Functions................................................................................................................................ 90

4.18

Adding Shadow Variables.............................................................................................................................. 92

4.19

Deleting Shadow Variables ........................................................................................................................... 93

4.20

Understanding Warnings .............................................................................................................................. 94

4.21

Finalising a Model ......................................................................................................................................... 95

4.22

Graphing Multiple Variables ......................................................................................................................... 96

4.23

Creating Custom Graphs ............................................................................................................................... 97

4.24

Colouring Arrows and Variables.................................................................................................................... 99

5.0

Goodmans Diagrams ........................................................................................................................................ 101

5.1

Goodmans Causal Loop Diagram ............................................................................................................... 101

5.2

Goodmans Stock-and-Flow Diagram.......................................................................................................... 102

5.3

Goodmans Model Behaviour ..................................................................................................................... 103

6.0

Model Reference Material ................................................................................................................................ 104

6.1

Causal Loop Diagram................................................................................................................................... 104

6.2

Stock-and-Flow Diagram ............................................................................................................................. 105

6.3

Vensim Equations........................................................................................................................................ 106

7.0

Report Elements................................................................................................................................................ 110

7.1

Report Checklist .......................................................................................................................................... 110

7.2

Written Report Mark Sheet ........................................................................................................................ 114

8.0

Bibliography ...................................................................................................................................................... 116

Kaibab Plateau Exercise TE R15

5 / 116

List of Figures

Figure 1 Map of the continental USA; the tip of the arrow marks the Kaibab Plateau ................................................ 7
Figure 2 Deer population from 1906 to 1939 ............................................................................................................... 8
Figure 3 Reference mode with different stages highlighted ....................................................................................... 11
Figure 4 Policy intervention in 1930 ............................................................................................................................ 16
Figure 5 Causal loop diagram for deer births............................................................................................................... 17
Figure 6 The simulation file name field ........................................................................................................................ 20
Figure 7 The Deer Births stock-and-flow diagram ....................................................................................................... 22
Figure 8 Causal loop diagram for deer births............................................................................................................... 23
Figure 9 The Deer population stock-and-flow diagram ............................................................................................... 26
Figure 10 Causal loop diagram for deer ....................................................................................................................... 28
Figure 11 Lookup graph for deer density and deer killed per lion ............................................................................... 31
Figure 12 The Deer population stock-and-flow diagram ............................................................................................. 34
Figure 13 Causal loop diagram for lions ....................................................................................................................... 35
Figure 14 Stock-and-flow diagram for Deer and Lions................................................................................................. 40
Figure 15 Causal loop diagram for deer, lions, and vegetation ................................................................................... 41
Figure 16 Changes in deer average lifetime caused by vegetation availability ........................................................... 43
Figure 17 Deer population from 1906 to 1939 ............................................................................................................ 45
Figure 18 Smooth S-curve function ............................................................................................................................ 46
Figure 19 Stock-and-flow diagram for Deer, Lions, and constant Vegetation ............................................................. 48
Figure 20 Causal loop diagram for deer, lions, and vegetation ................................................................................... 50
Figure 21 Lookup graph for vegetation available per deer .......................................................................................... 52
Figure 22 Lookup for vegetation regeneration time .................................................................................................... 54
Figure 23 Stock-and-flow diagram for Deer, Lions, and Vegetation ............................................................................ 55
Figure 24 Reference mode ........................................................................................................................................... 57
Figure 25 Deer population from 1906 to 1939 ............................................................................................................ 61
Figure 26 Vensim Interface .......................................................................................................................................... 63
Figure 27 Model settings.............................................................................................................................................. 64
Figure 28 Sample causal loop diagram ........................................................................................................................ 66
Figure 29 Variables, stocks, and flows in Vensim ........................................................................................................ 68
Figure 30 Sample stock-and-flow diagram................................................................................................................... 68
Figure 31 Sample stock-and-flow diagram with arrowhead highlighted ..................................................................... 71
Figure 32 Polarity selections highlighted ..................................................................................................................... 71
Figure 33 Vensim toolbar with Equations box highlighted ........................................................................................ 74
Figure 34 Equation editor with Units, Equations, and Comments fields highlighted ............................................ 74

Kaibab Plateau Exercise TE R15

6 / 116

Figure 35 Equations editor with Variables field highlighted ...................................................................................... 76


Figure 36 Control Panel ................................................................................................................................................ 79
Figure 37 Export options .............................................................................................................................................. 80
Figure 38 Sim Setup options ........................................................................................................................................ 83
Figure 39 Lookup options ............................................................................................................................................. 86
Figure 40 STEP function selections highlighted ........................................................................................................... 91
Figure 41 Options to delete shadow variables ............................................................................................................ 93
Figure 42 Stock-and-flow diagram with two variables selected .................................................................................. 96
Figure 43 Selecting a new graph .................................................................................................................................. 97
Figure 44 Fields needed for custom graph................................................................................................................... 98
Figure 45 Toolbar with colour selection box highlighted............................................................................................. 99
Figure 46 Arrow colour selection highlighted ............................................................................................................ 100
Figure 47 Causal loop diagram ................................................................................................................................... 101
Figure 48 Stock-and-Flow Diagram ............................................................................................................................ 102
Figure 49 Growth and decline of deer on the Kaibab Plateau ................................................................................... 103

Kaibab Plateau Exercise TE R15

7 / 116

1.0 Introduction
The Kaibab Plateau is a large, flat area of about 800,000 acres (3,238 km2) located on the northern rim of the Grand
Canyon in the United States of America. The plateau has an elevation of about 6,000 feet (1,829 meters) and is
bounded by steep slopes and cliffs. The wildlife living there includes rabbits, deer, mountain lions, wolves, coyotes,
and bobcats.

Figure 1 Map of the continental USA; the tip of the arrow marks the Kaibab Plateau 1

In 1907, President Theodore Roosevelt created the Grand Canyon National Game Preserve, which includes the
Kaibab Plateau. Deer hunting was prohibited and a bounty was established to encourage the hunting of mountain
lions and other predators of deer. From 1906 to 1931, nearly 800 mountain lions were trapped or shot. As a result,
the deer population grew quite rapidly, from about 4,000 in 1906 to nearly 100,000 in 1924.

As the population grew, Forest Service officials warned that the deer would exhaust the vegetation supply on the
plateau. One observer wrote: Never before have I seen such deplorable conditions 30,000 to 40,000 deer were on
the verge of starvation. Over the winters of 1924 and 1925, nearly 60% of the deer population died of starvation,
and continued to decline over the next fifteen years, finally stabilizing at about 10,000 in 1939.

From maps.google.com.

Kaibab Plateau Exercise TE R15

8 / 116

Figure 2 Deer population from 1906 to 1939 2

For more information on the plateau, read the article on Wikipedia at https://en.wikipedia.org/wiki/Kaibab_Plateau.

[it is important to bear in mind that the idea of feedback control systems used for any purpose let alone for policy
analysis is a relatively new phenomenon. . Norbert Weiner (1894-1964), Cybernetics (1948), The Human Use of
Human Beings (1950), God and Golem, Inc. (1964). W.Ross Ashby (1903-1972) Design for a Brain (1952);
Introduction to Cybernetics (1955), Stafford Beer (1926-2002), Cybernetics and Management (1959), Dcision and
Control (1966), Platform for Change (1975)

The Kaibab Plateau model was originally published in Goodman (1974). The version used here is from Goodman (1989), Exercise 15 Kaibab Plateau Model,

pg. 377.

Kaibab Plateau Exercise TE R15

9 / 116

2.0 Creating a Model

2.1

Purpose of Modelling

There are two very important points to remember regarding system dynamics modelling:
1. Model problems, not systems This means that you should have a specific, well-defined problem, normally
framed as a question, to investigate. You should also have a reference mode (also called a behaviour-overtime graph) to reproduce before creating a model. Without these, you may be unsure of what variables to
include and exclude, resulting in a model that is ever expanding, including more and more variables to
account for problematic behaviour. This leads to the second point.
2. In general, a small, simple model is better than a large, complex one This means that a model that
reproduces the problematic behaviour in a compact, understandable form is better than one that
reproduces the behaviour in an expansive, complex one. This may be contrary to what you have learned,
where complex models are viewed as better because their complexity is seen to capture the nuances of a
complex problem more fully. However, in system dynamics, simplicity and parsimony are seen as norms
when developing models; systems can be complex, but you should simplify whenever possible and only add
complexity until you have approximated the reference mode.

The problem of the deer population on the Kaibab Plateau is an ideal exercise3 with which to start modelling systems
for the following reasons:
1. Policy
a. It is a problem based on a historical scenario that involved a policy intervention
b. The full implications of the policy intervention were unanticipated
c. The limiting factor changes as a consequence of the policy intervention
2. Design
a. There is empirical information with which to investigate the problem at hand
b. The system in which the problem occurred started in a state of equilibrium; i.e., variables were in a
state of natural balance, without outside interference [Ecosystems often converge to that state and
can be quite resilient].
c. There is an reference mode that provides a clear example the relationship between structure and
behaviour4

The model is based on the work of Michael Goodman and Donella Meadows, from Roberts, et al, pg. 337-352. The exercise has been adapted by Professor John

Richardson, Corbett Hix, and Rehan Ali. Please do not reproduce or share this document without permission.
4

See Section 2.2, Modelling Process and Terminology, for definitions of unfamiliar terms.

Kaibab Plateau Exercise TE R15

10 / 116

d. There is a long time horizon. [Different methologies for different time horizons]
e. There is an unambiguous dynamic hypothesis [What is a dynamic hypothesis]
f.

The model is of manageable size with three stocks, and is an exemplar for your own projects

g. The model boundaries are relatively straightforward [What is a model boundary?}


3. Concepts [Who are stakeholders; what are there values; intersecting ecological and political systems]
a. The Issues involve stakeholders with conflicting values.
b. The issue population growth that exceeds carrying capacity and is therefore unsustainable is
generic and can be applied to multiple problems, such as those faced by humans on Earth

This assignment will provide you with practice in: [

Replicating a model (How does learn about a model).

Documenting a model

Analysing a model

Experimenting with and reporting on policy analysis

This document takes you through the process of building a model of the problem of the deer population on the
Kaibab Plateau using Vensim, a modelling application.

Section 2 gives you a basic background in modelling.

Section 3 contains the steps you need to build the model, and the questions that you need to answer in the
report you will submit.
o

Sections 3.1 to 3.6 guide you through the process of constructing the model, step-by-step; we will go
through these in class as a group.

In Section 3.7 you validate the model and in Section 3.8 you experiment with various scenarios using
the model.

In the report, you only need to include answers to the questions in Sections 3.7 and 3.8.

Section 5 contains steps on how to use Vensim.


o

Since we will be going through this in class, you will probably only need to use Section 5 as a
reference in case you forget how to do something in Vensim.

Section 7.1, Report Checklist, contains the elements needed in a complete system dynamics report.

Section 7.2, Written Report Mark Sheet, contains the mark sheet that will be used to grade your report.

There are hyperlinks between sections 3 and 4, so use them to move between different parts of the text. In Section
4, an arrow () indicates the hyperlinks back to section 3.

This symbol marks best practice when modelling, so keep an eye out for it.

Kaibab Plateau Exercise TE R15

2.2

11 / 116

Modelling Process and Terminology

This section gives an overview of the thinking process to follow when investigating a problem using system dynamics
modelling.
1. Before modelling a problem, it is best to have a reference mode or behaviour-over-time graph; Figure 3
(below, with the stages of dynamic behaviour highlighted) is an example of one. A reference mode is a visual
representation of the problematic behaviour exhibited by a key variable over a fixed period of time, called
the time horizon. In this exercise, the problematic behaviour is exhibited by the deer population over a
period of 33 years, from 1906 to 1939. When creating a model, one goal is to reproduce the reference mode
because this shows that the model has validity and be can be used to run further simulations to explore
other solutions to the problem you are trying to resolve.5 (Whats wrong; how does it work; how can we fix
things; how can we do better)

Historical

New

Limit

Growth

Collapse

Figure 3 Reference mode with different stages highlighted

2. Along with the reference mode, system dynamics modelling also requires that the problem be expressed as
a question to investigate; this is called the problem definition. The problem definition for this exercise can be
put as:

What explains the rapid growth, decline, and stabilisation of the deer population from 1906 to 1939?

See Sterman, Chapter 21, for more information.

Kaibab Plateau Exercise TE R15

12 / 116

Though the problem definition here is simple, it raises a number of questions that need to be answered:

What is the problem?

What caused the problem?

What would be a desirable end-state or goal?

How can that goal be attained?

3. The problem definition is answered by a dynamic hypothesis, which states what caused the problematic
behaviour; for example:

The policy allowing the hunting of mountain lions removed a factor (mountain lions) that limited the
natural growth of the deer population, leading to the overpopulation of deer and their subsequent
death through mass starvation.

In answering the problem definition, the dynamic hypothesis makes explicit the relationship between
structure and behaviour, which is a cornerstone of the modelling process in system dynamics.

Structure
The way variables are linked6

Behaviour
generates what is seen in the reference mode; i.e., the
trajectory of important variables over time, in this the
deer population.

4. In order to contextualise the problem, we need a state-of-knowledge assessment, which provides


background information, in a summarised, narrative form. Section 1.0, Introduction, is an example of a
basic state-of-knowledge assessment. A state of knowledge assessment differs from a typical literature
review in that the assessment only focuses on literature that is directly relevant to the problem being
investigated. The assessment is often summarised in a set of propositions, called a propositional inventory,
discussing variables and the causal relationships between them. We will look at a more complete assessment
in the next assignment.

See Section 4.2, Drawing Causal Loop, for information on how variables are labelled.

Kaibab Plateau Exercise TE R15

13 / 116

5. From the state-of-knowledge assessment, compile a list of stakeholders and parties involved in the problem.
Deciding who a stakeholder is depends on vantage point and judgement, but it is basically a party whose
points-of-view and values matter in the policy process. Some of the following may not be considered
stakeholders because of their lack of volition, but they are nonetheless involved in the problem:

Deer

Environmentalists

Forest Service officials

Hunters

Mountain lions

Policy makers

(Stakeholders are often found on model boundaries but can also be within the model; what are boundaries?)
6. Policy makers are a sub-set of stakeholders who are able to bring about change within the boundaries of the
problem by accessing and changing leverage points, which are variables or sectors in a model that can
directly be influenced and where policies can be implemented to have maximum impact. In this problem,
hunting of lions is a leverage point. [How do we identify leverage points]

7. Once youve identified the leverage points, you should think of policy interventions that contributed to the
problem. In this case, Forest Service officials (policy makers) provided incentives to hunters to kill mountain
lions but not deer. [Most often, the are interventions on model boundaries]

8. The problem also demonstrates the principle of loop dominance, which is when a feedback loop, in this case
deer growth, causes the problematic behaviour seen in the reference mode.

9. You also must determine what the model boundaries are. In short, these are limits that help to determine
the problematic behaviour of key variables. For example, the years that we are focusing on, 1906 to 1939,
are one set of temporal boundaries. Another is the size of the plateau, 800,000 acres, which is a physical
boundary. [Endogenous vs. exogenous. Systmem dynamics emphasizes endogenous]
10. In this exercise, we will create three major sectors. Each sector includes variables that comprise the sector or
form a sub-sector. A sector can be thought of as a subsystem within a model that is important enough to
note on the macro-level. Variables and sub-sectors can be thought of elements that exist on a micro-level
within that macro-level view.In this exercise, the three sectors that are the most important and that exist on
a macro-level are. [The human body as an example, digestion, cardiovascular, neurological]

Deer

Lions

Vegetation

Kaibab Plateau Exercise TE R15

14 / 116

The reason that we focus on the major sectors is that when building a model, it is best to begin with a simple
model and then expand it over the course of several steps rather than create and run an entire model at
once. Determining the major sectors is the first step in this process. [The model may be your creation, but do
you understand your creation, not necessarily]
After identifying the major sectors, focus on one sector and identify the variables and sub-sectors that exist
within that sector. This means that our focus is always on one part of a model that we can construct with
confidence before worrying about the overall model. In this exercise, a major sub-sector, bounty hunting,
will be added to the Lions sector. While modelling, think about other variables that might be included in the
model.

The first sector we will focus on is Deer. Start with a small model focusing on a few of the factors that
influenced the size of the deer population, and then add complexity in order to replicate the ecology of the
plateau. This will result in a model that generates the behaviour shown in Figure 2. Each new sector builds
on the previous one, so be sure to understand how variables interact within the existing system and
generate feedback before adding more sectors and variables. When moving from one sector to another,
save each model under a different name so that a previous version is available if needed.

11. A deliberate, step-by-step model-building strategy is usually a good one to follow so that each variable can
be verified before adding a new one. Be sure of why a variable is being added, and what it adds to the model
as a whole in order to answer the question posed in the problem definition. Always think about what is
being constructed; a model tells a story, and that story should be conveyed clearly to the audience. When
adding a variable, also consider whether variables are endogenous (originate within the sector) or exogenous
(originate outside the sector); the boundary between endogenous and exogenous can shift depending on
what we are focusing on in the model.

12. Running a model, especially as a beginning modeller, almost always produces unanticipated results. If a
model is complex, comprising two or more stocks (see Section 4.1, Starting Vensim and Entering the Model
Settings, for a definition), and model runs produce unanticipated results, determining the source of the
results can be difficult if we dont properly document the construction of the model. If unanticipated results
appear at any stage, stop modelling and try to determine why the results are different from what was
expected by checking the model, sector-by-sector and variable-by-variable. When doing this, it is often
helpful to view the numerical results and graphs your model is generating.

After gaining confidence in the model through testing various scenarios, use it to assess proposed strategies
and devise new ones.

Kaibab Plateau Exercise TE R15

2.3

15 / 116

Modelling Conventions

There are a few conventions that are used in this document and in Vensim to visually designate different types of
content. Adhering to these conventions will be helpful in maintaining consistency in your own work and sharing it
with others. [MODELING IS A PRACTICE. YOU MASTER A PRACTICE BY PRACTICING]

Bold Used to indicate all model variables in this document to make them easier to read and find within the
text. Bolding is also used to indicate buttons and functions in Vensim. Dont worry; there is no overlap
between these two uses of bolding so this shouldnt be confusing. You dont need to bold any text in
Vensim. Bolded variables are further designated by type:

ALL UPPER CASE LETTERS A stock; for example DEER or LIONS7

Capital Letter Initials All other variables; for example Deer Births

Colours Colours are used for arrows (and text, if needed) to visually distinguish sectors and indicate
constants. See Section 4.24, Colouring Arrows and Variables, for more information.

Naming The list of equations in Vensim (See Section 4.10, Exporting Equations, Tables, and Data, for
information on viewing the list of equations) is always arranged in alphabetical order. This means that
related variables may appear apart from one another, making it difficult to see which variables belong
together. For this reason, it is useful to keep the same first word for all related variables; for example, all
variables in the deer sector start with Deer, all the variables in the lion sector start with Lion, etc. So when
we look at the list of equations, all the deer equations are grouped together, making it easy to review and
check them. [As you are creating your first model, print out equations early. This will feel for how Vensim
produces documentation and will allow you to document more USEFULLY. That is so you understand what
you have created and then so you can share it with others.]

AND NOW, BACK TO THE KAIBAB PLATEAU..

See Section 4.2, Drawing Causal Loop, for information on how variables are labelled.

Kaibab Plateau Exercise TE R15

16 / 116

3.0 Modelling the Kaibab Plateau


Imagine it is 1930 and you are an official from the National Forest Service interested in the deer population on the
Kaibab Plateau.

You are here


Figure 4 Policy intervention in 1930

To examine the population problem, we have decided to build a simulation model. Our main concerns are the
growth and rapid decline of the deer population from 1900 to 1930, and the future of the population from 1930 to
1950. Therefore, the time frame for the model we are building is 50 years, from 1900 to 1950, which covers the time
horizon for the problematic behaviour shown in Figure 2 and replicated above in Figure 4. As a first step in creating a
model to replicate the reference mode, we will create the deer population sector. [IN ADDITION TO THE PRINCIPLES
DISCUSSED UP TO THIS POINT, THIS ILLUSTRATE ANOTHER SYSTEM DYNAMICS FUNDAMENTAL WE DONT
UNDERTAKE TO SOLVE A PROBLEM UNTIL WE UDERSTAND THE PROBLEM. BUT WHAT DOES IT MEAN TO
UNDERSTAND THE PROBLEM? IT MEANS THAT WE CAN GENERATE THE PROBLEM (THAT IS, WE CAN BUILD A
SYSTEM DYNAMICS MODEL THAT REPRODUCES THE REFERENCE MODE; I.E. THE PROBLMATIC BEHAVIOR.
ALSO NOT ALL PROBLEMS LEND THEMSELVES TO SYSTEM DYNAMICS MODELING.

Kaibab Plateau Exercise TE R15

3.1

17 / 116

Exercise 1: Deer Births

The deer population serves as a basic population model with births and deaths flowing into and out of a stock named
DEER; this is the total number of deer in the population at any given time.

Step 1.

Start by drawing a causal loop diagram showing the relationship between DEER, deer births, and deer
birth rate.

See Section 4.1, Starting Vensim and Entering the Model Settings, for information on starting a
model in Vensim. You do not need to enter any initial values for causal loop diagram.

Step 2.

If DEER is the total number of deer on the plateau, naturally the size of the population is increased by
deer births, so add that variable.

Is the loop reinforcing (positive) or balancing (negative)?8

See Section 4.2, Drawing Causal Loop Diagrams for information on adding polarities.

Step 3.

Add a new variable, deer birth rate. What the link polarity between it and deer births.

Step 4.

Save the model with a name such as KaibabCL-Deer.

Deer Birth Rate


Deer Population
Growth
Deer Births

+
Deer

+
+
Figure 5 Causal loop diagram for deer births

The next step is to translate the causal loop diagram into a stock-and-flow diagram that explicitly identifies which
variables are stocks (levels) and which are flows (rates).9
1. See Section 4.1, Starting Vensim and Entering the Model Settings for information on stocks, flows, and
variables in Vensim.

Causal loop diagrams and notation are discussed in brief in Section 4.2, Drawing Causal Loop, and in more detail in Sterman, Chapter 5.

Terminology has changed over the years, so be aware that both are used. Vensim, however, uses the older terminology, level and rate, consistently.

Kaibab Plateau Exercise TE R15

18 / 116

2. See Sections 4.2, Drawing Causal Loop Diagrams, and 4.3, Drawing Stock-and-Flow Diagrams, for
information on the differences between causal loop and stock-and-flow diagrams.

Step 5.

Create a new model and use the following for the initial values: INITIAL TIME = 1900
Units: Year

FINAL TIME = 1950


Units: Year

THEN CREATE A STOCK AND FLOW (OR LEVEL AND RATE DIAGRAM) WE ARE STILL SORTING OUT THE TERMINLOGY
It is a good idea to keep the causal loop diagram in mind or in front of you as you create the stock-and-flow
diagram.

Step 6.

Add DEER and Deer Births to the stock-and-flow diagram.

What units are they measured in? What are the polarities of the links between them?

DEER is a stock variable. We know this because it is an accumulation of deer at any given moment in
time.

Deer Births is a flow variable that is used as an input to a stock, in this case DEER.

Discipline yourself to add link polarities as you draw the links between variables. You can place the polarity on the
handle of the link rather than the arrow to reduce clutter.

Step 7.

Since a model is used to simulate reality and we have a defined time horizon, add a new variable, Deer
Initial. [WHY DO WE NEED INITIAL VALUES BECAUSE OF THE WAY VENSIM COMPUTES]

Deer Initial is an initial variable, which is a type of constant. This initial tells Vensim the total number
of deer that existed at the start of the run, in this case, 1900. You dont need to change its value
unless you want the model to run under different conditions. Even though an initial is a type of
constant, Vensim treats initials differently, so See Section 4.5, Displaying Initial Causes, for more
information.

According to our state-of-knowledge assessment, what is the initial value for DEER?10 What units is it
measured in?

Now that we have a few variables and some data, we can think about how variables are linked by formulating
equations for two new variables, Deer Births and Deer Birth Rate. The number of deer births per year equals the
10

See Figure 4.

Kaibab Plateau Exercise TE R15

19 / 116

population of DEER multiplied by the number of births per deer per year. We will assume that each female deer
gives birth to one deer per year. Since half the deer population is female, this requires a new variable, Deer Birth
Rate, which equals 0.5 deer born per deer per year.

When writing equations, a good rule of thumb is to enter the simplest values first in the order of constants >
initial values > STOCKS > FLOWS. As you enter equations, Vensim will auto-populate values for auxiliaries and
flows, which tend to have more complex equations. Even though these have auto-populated values, you must
check them AND YOU MOST TYPICALLY WRITE THE EQUATIONS.
3. For each equation, be sure to add the units of measurement and to include comments such as the source
of the values or equations you are using. In some cases, the source will not be hard data, but your intuitive
estimate of an order-of-magnitude value, based on interviews or other means of estimation. If you are
doing this, be sure to include the rationale for your estimate. This will be of great value when you are
documenting results.
4. Check the syntax of each equation as you write it; this will save you problems later on.
5. See Sections 4.6, Entering Numeric Equations, and 4.7, Entering Text Equations, for more information on
entering values and equations.

Step 8.

Write the equations using the following values.


Constant

Deer Birth Rate = 0.5


Units: Deer/Deer/Year

Initial

Deer Initial = 4000


Units: Deer

Flow (Rate)

Deer Births = DEER*Deer Birth Rate


Units: Deer/Year

Stock (LEVEL)

DEER = INTEG (Deer Births-Deer Deaths, Deer Initial)


Units: Deer

For Deer Birth Rate, 0.5 represents our best estimate of rate under normal conditions, which is that one-half of
the deer population consists of fecund females and that each female foals one new deer each year.

Kaibab Plateau Exercise TE R15

20 / 116

How Do I Calculate Units?

So far, we have created a stock, DEER, a flow, Deer Births, and a fraction, Deer Birth Rate. Lets take a moment to
compare the units for each of these:
6. DEER This is a stock that is calculated as the number of deer in existence at any given point in time, so its
units are simply Deer. [IF YOU TAKE A SNAPSHOT OF THE MODEL THE LEVELS ARE ALWAYS PRESENT]
7. Deer Births This is a flow or rate, that is, the number of new deer that are added to the total number of
deer in any given year; Year is the unit of measurement of time that we selected when we set up the
model. Therefore, the units are Deer/Year.
8. Deer Birth Rate This is a fraction used by Deer Births to calculate the number of new deer, so the units
for this are Deer/Deer/Year, that is, the fraction of deer that are born per deer per year. REMEMBER
HOW WE TOOK GENDER INTO ACCOUNT. HOW DID WE DO IT?

As variables are added, be sure to think about the units for each variable and enter them in in the equations box.
This can help to make sure that you are using comparable variables that can be balanced by the model.

Now that we have created a basic stock-and-flow diagram and populated it with values and equations, we can
perform a simulation run.

Step 9.

In the Simulation results file name field above the modelling area, enter Baseline Ex1p9 DBR=0p5 and
click Simulate; this gives a baseline or reference run. In the complete model, the baseline run will
replicate the reference mode, but at this point it will simply generate data on the deer population.

See Section 4.8, Naming Runs, for information on naming runs.

Figure 6 The simulation file name field

Step 10.

Vensim generates a variety of graphs. Select a variable whose graph we want to see, for example, DEER,
and click the Graph button in the toolbar to the left of the modelling area.11

The graph appears in a separate window above the modelling area, at the top of the sketchpad. The selected
variable, DEER, is called the workbench variable.

11

See Appendix I for information on how to create custom graphs.

Kaibab Plateau Exercise TE R15

21 / 116

9. See Section 4.22, Graphing Multiple Variables, for information on viewing multiple variables on one graph.
10. Note that aside from graph, there is another button, Causes Strip. Whereas Graph shows you a single
variable by default, Causes Strip shows you graphs for the workbench variable as well as the flows into and
out of it (if it is a level) and the values of variables that cause it to change over time. We will use this in the
next exercise.

In addition to graphs, Vensim also generates data organised into tables.

Step 11.

Select a variable, for example, DEER, and click the Table button, below the Graph button.

The table also appears in a separate window above the modelling area. Table shows data in a horizontal table. Table
Time, below Table, shows data in a vertical table. In general, you will find the Table Time display to be useful
because cause it shows patterns of change, over time, more clearly than the Table display.

The time step at which data is recorded depends on the value selected in Model Settings when you created a new
model.

See Section 4.10, Exporting Equations, Tables, and Data, for information on exporting information
from Vensim.

Get into the habit of viewing both tabulations and graphs for all key variables.

Now that we have an initial run, we will perform some sensitivity analysis.
11. For information on sensitivity analysis, see Section 4.11, Understanding Sensitivity Analysis.

Step 12.

Since Deer Birth Rate is a variable for which we theorised a value, we will try a few runs with different
values. Run the model under new run names, per the new values being tested for Deer Birth Rate:

0.3 Ex1p12 DBR=0p3

0.7 Ex1p12 DBR=0p7


INSERT

Instead of simulating by permanently changing a value (in this case, Deer Birth Rate), you can use a feature called
Sim Setup, in which you temporarily change the value; see Section 4.12, Performing Sensitivity Analysis via Sim
Setup, for information on how to use this tool.

Step 13.

Compare the results from the three runs via graphs and tables.

Kaibab Plateau Exercise TE R15

22 / 116

How do these results differ?

For information on viewing and comparing multiple runs, see Section 4.9, Selecting Runs.

Note that as we graph more variables, the colour for each variable changes; the last run will always appear as the
blue line, so do not compare runs by looking at the colour of a variable. Instead, use the label, which is the label you
specified when you defined the run. This is one of many reasons why labelling runs clearly is important.

Step 14.

View the data via Table Time.

How does this compare with the reference mode?

Step 15.

Open the Control panel and move the following runs to the Available Info column.

Ex1p12 DBR=0p3

Ex1p12 DBR=0p7

Now Vensim is only using the run with Deer Birth Rate = 0.5. This is the normal run that we want to use for the
remainder of this exercise.

Step 16.

Save the model.

We have completed part of the stock-and-flow model. We will build on this model in the following sections.

Deer Birth Rate

Deer Initial

S
S
DEER
Deer Births
DEER
GROWTH
S

DEE
R
HE
RD
G
ROW
TH

Figure 7 The Deer Births stock-and-flow diagram

Kaibab Plateau Exercise TE R15

3.2

23 / 116

Exercise 2: Deer Deaths

In this exercise, we will focus on the other half of the deer sector: deer deaths. Adding deaths to the model gives us a
more realistic deer population sector with deaths balancing out births.

Step 1.

Return to your causal loop diagram and add the relationship between DEER and Deer Deaths.

Is this loop reinforcing or balancing?

Deer Birth Rate


Deer Population
Growth
Deer Births
+
+

+
Deer

Deer Population
Decline

+
Deer Deaths

Figure 8 Causal loop diagram for deer births

Step 2.

Save the causal loop diagram under a new name and open the stock-and-flow diagram.

Step 3.

Save your stock-and-flow model under a new name. That way, you have a saved model from each
exercise so that you can go back to previous version of the model if needed. This is important because as
your model becomes more complex, the probability of errors increases, so Its good to be able to return
to an error-free model if you get into trouble.

Step 4.

Now add Deer Deaths to the stock-and-flow model. Be sure to add the polarity (+ or ) of variables and
loops, and the name of each causal loop.

In the deer birth loop, births were represented by a fixed value of 0.5.

Based on the birth loop, what is missing in the death loop?

It can be theorised as something like fractional death rate of deer, which is a decimal representation of the fraction
of deer that die each year. However, we dont have this information in the state-of-knowledge assessment and it is
hard to theorise what this value could be. Instead, lets go with something more intuitive: the average lifetime of

Kaibab Plateau Exercise TE R15

24 / 116

deer, called Deer Average Lifetime, since that is something on which information exists. Let us assume that Deer
Average Lifetime is 5 years; this is called a normal value. Normal values are used in situations where we assume
ceteris paribus. The inverse of Deer Average Lifetime determines the percentage of deer that die each year so we
could also use a crude death rate, which is mathematically equivalent. When two representations of a constant are
mathematically equivalent, think about when youre presenting your model to a non-technical audience, so choose a
representation that makes more intuitive sense.

Step 5.

In the Vensim toolbar, go to Windows > Control Panel > Datasets and transfer any datasets in Loaded
Info to Available Info and delete them.

Remember that you can use runs for comparison purposes, so be sure to label them clearly.

Step 6.

Add Deer Deaths and Deer Average Lifetime to the stock-and-flow diagram.

What is the equation for Deer Deaths?

Step 7.

Add it to the model.

Deer Average Lifetime = 5


Units: Years

Deer Deaths = DEER / Deer Average Lifetime


Units: Deer/Year

Step 8.

Label the run Baseline Ex2p8 ALD=5 and run the model.

Step 9.

Select DEER and view its graph. Also view the Causes Strip graph.

The Causes Strip graph displays graphs for the selected variable and its input and output variables so we can directly
see causes and effects in one view.

Step 10.

View a data table of the values.

Since the model takes place over a few decades, we dont need to see annual data; instead, we will look at the
values for every 5 years. You can change this in the Settings menu; see 4.13, Changing Time Settings, for more
information.

Step 11.

Run the model with the title Baseline Ex2p11 ALD=5.

Kaibab Plateau Exercise TE R15

25 / 116

See Section 4.13, Changing Time Settings for information on changing the time step.

How does the behaviour of the run differ from that in Step 10? Do these results seem plausible? Why or
why not?

Step 12.

Now, run the model with Deer Birth Rate = 0.2. Label the run Baseline Ex2p12 DBR=0p2.

How do the results differ from those in Step 9? Do these results seem plausible?

Step 13.

Perform a few other experiments and explain the results in brief. Before experimenting:

Be sure to have a hypothesis about what you are doing or the adjustment you are making

A clear rationale for why you are doing it

An expectation of what should happen

Document the hypothesis, rationale, and expected result

Compare the actual result to the expected result

Document the differences and account for any discrepancies

Step 14.

Now, run the model with Deer Birth Rate = 0.3. Label the run Baseline Ex2p14 DBR=0p3.

Step 15.

Now do a few additional runs, changing and testing variables and look at the results.

Does this replicate the reference mode?

Step 16.

If you changed the value for Deer Birth Rate via the equation window, dont forget to change it back to
0.5. We also changed the time step to 5, so revert it to the original setting, 1.

Step 17.

Save the model.

This completes the deer sector. We have created a stock (DEER) with an input (Deer Births) and an output (Deer
Deaths). This is an example of a basic population stock.

Kaibab Plateau Exercise TE R15

26 / 116

Figure 9 The Deer population stock-and-flow diagram

Note that the deer population has not equilibrated; births still outnumber deaths to a significant degree. We will
work on equilibrating the deer population in the next section.

Kaibab Plateau Exercise TE R15

27 / 116

(Review 1).

About the reading in Sterman, Chapter 3. The modeling process. Focus on


Tabel 3-1
Why are we spending so much time with the Kaibab Pleateau problem
(Review)
1. A real world policy problem the problem is created by a policy intervention
2. The system begins in a state of equilibrium (whether or not it is desirable is a
matter of judgement)
3. The full implications of the policy intervention are unanticipated
4. An empirical reference mode, that provides a clear example the
relationship between structure and behaviour.
5. A long time horizon.
6. There is an unambiguous dynamic hypothesis - structure and behavior
7. The model is of manageable size - 3 stocks it is a good exemplar for your
projects
8. The model boundaries are relatively straightforward.
9. The Issues involve stake holders with conflicting values
10. The issue population growth that is unsustainable, that exceeds the
carrying capacity of the species niche, is generic
11. The limiting factor changes as a consequence of the policy intervention.
12. The model provides a metaphor for a larger problem, the challenges faced
by the human species as a consequence of behaviours that are exceeding the
carrying capacity of planet earth.

Kaibab Plateau Exercise TE R15

3.3

28 / 116

Exercise 3: Deer Killed by Mountain Lions

Now that we have a basic population stock, we are going to add mountain lions, which are a natural predator of
deer. It is useful to think about the story that we are modelling, in this case a story about how lions hunting deer
affects the deer population. The rate at which deer are killed by mountain lions is a bit more complicated than
natural birth and death rates. How many deer might be killed by mountain lions on the Kaibab Plateau during one
year? The answer depends on two assumptions:
1. The number of mountain lions; obviously, the more mountain lions, the more deer that will be killed
2. The number of deer; the fewer deer per acre, the more difficult they are to track, so the fewer that will be
killed

Step 1.

Following the first assumption, add deer killed by mountain lions to the causal loop diagram, assuming
that the number of mountain lions on the plateau is constant.

Deer Average
Lifetime

Deer Birth Rate


Deer Population
Growth
Deer Births
+

+
Deer

Deer Population
Decline

+
Deer Deaths

Deer Killed by
Lions

Figure 10 Causal loop diagram for deer

Is the loop reinforcing or balancing?

Representing a system as a structure of feedback loops does not require data but it does require clear thinking.
When you are documenting your model and explaining it to others, your causal loop diagram and the thinking
behind it will be useful, especially as you integrate increasingly complex feedback loops.

Step 2.

Open your stock-and-flow model from the last exercise and save it under a new name. That way, you
have a saved model from each exercise so that you can go back to previous version of the model if
needed.

Step 3.

In the Control Panel, clear the datasets from the last exercise.

Kaibab Plateau Exercise TE R15

Step 4.

29 / 116

In the stock-and-flow diagram, add a new variable, Deer Killed by Lions.

Which existing variable should this variable connect to? It can connect to Deer Deaths or DEER; is one
better than the other?

An important principle when modelling is to keep the model consistent. DEER is a stock of the total number of
deer in the population. Deer Deaths is the total number of deer that are killed. As such, it makes sense to link
Deer Killed by Lions to Deer Deaths instead of DEER so that Deer Deaths comprises the total number of deer
deaths, regardless of cause.

Step 5.

Add the equation.

Deer Deaths = (DEER/Deer Average Lifetime)+Deer Killed by Lions


Units: Deer/Year

Following the second assumption, think about variables associated with that scenario.

What do we need to add?

The plateau is bounded, so there is a fixed Land Area. We have the total deer population so we can calculate the
resulting Deer Density. Since we are talking about predation, we also need to add Lions. Land Area and Deer Density
are quantitative variables, so we dont need to add them to the causal loop diagram, but it is necessary to think
about their dimensionality (units).

Step 6.

Add the variables to the stock-and-flow diagram and add the units when linking the variables in the
equations editor.

Land Area = 800000


Units: Acres

Lions = 400
Units: Lions

Deer Density = DEER / Land Area


Units: Deer/Acre

Kaibab Plateau Exercise TE R15

Step 7.

30 / 116

Add the polarity for each relationship, beginning with the constants.

We have created a new feedback loop.

Is the loop reinforcing or balancing? What is a good name for the loop?

We have one variable left: what is the equation for Deer Killed by Lions?

Per assumptions 1 and 2 at the start of this exercise, it depends on the number of mountain lions and the number of
deer each lion can kill.

How can we link these variables?

We need to add a new variable, Deer Killed per Lion, which depends on Deer Density, measured in deer per acre, on
the plateau; naturally, the more deer on the plateau, the more deer for lions to eat, so this relationship can be
thought of as showing the efficiency of lions in their search for deer to kill. Deer Killed per Lion is the first lookup
function (also called a table function) that we will create.

CREATIING A LOOKUP FUNCTION

See Sections 4.14, Understanding Lookup Functions, 4.15, Creating Lookup Functions, and 4.16,
Exporting Lookup Graphs, for information on what lookup functions are and how to use them
when modelling.

ANOTHER EXAMPLE OF CREATING ELEMENTS OF A MODEL WITH INCOMPLETE


INFORMATION
Before we create the lookup function, we should think about the information we have. According to the state-ofknowledge assessment, in 1900, there were 4,000 deer on the plateau, which measured about 800,000 acres.
Therefore, Deer Density in 1900 was 4,000/800,000, or 0.005 deer per acre. Lets assume that when Deer Density =
0.005 deer per acre, each mountain lion can kill 3 deer per year. How might be arrive at this assumption? We might
have historical or biological data, or this is a value that may have come up though conversations with Park Services
employees. What we do know from the historical record is that the deer and lion populations were in a state of
equilibrium. Note that that the number of lions on the plateau does not enter into this lookup equation, though it
does depend on the behaviour of lions. Also if we didnt know the behaviour of lions in the Kaibab Plateau, we could
use proxy information on the behaviour of lions elsewhere.

As the density of deer on the plateau increases, it becomes easier for the mountain lions to find and kill more deer.
So when Deer Density = 0.025 (five times the density in 1900), many deer are unable to find cover, and as a result,
each lion can kill 30 deer per year. Eventually, when Deer Density = 0.05 deer per acre (ten times the density in

Kaibab Plateau Exercise TE R15

31 / 116

1900), the number of deer each lion can kill reaches its maximum value of 60 deer per year. Think of this data as (x,
y) values on a graph. These values can be summarised as:
12. (0, 0) the lower bound; if there are no deer on the plateau, no deer can be killed
13. (0.005, 3) the values for 1900
14. (0.025, 30) useful mid-point values for the S-shaped relationship being represented
15. (0.05, 60) the upper bound

HOW DO YOU KNOW WHEN A LOOKUP FUNCTION IS CALLED FOR. (CLUES)


[1] WHEN YOU ARE MOVING BETWEEN SECTORS AND CHANGING THE DIMENSION OF
VARIABLES
[2] WHEN IN A CAUSAL LOOP OR STOCK FLOW DIAGRAM YOU HAVE ONE INPUT
VARIABLE AND ONE OUTPUT VARIABLE
Step 8.

Use this data to create a lookup function.

The lookup window with data is shown below.

Figure 11 Lookup graph for deer density and deer killed per lion

Step 9.

Two additional points:

Kaibab Plateau Exercise TE R15

Be sure to label the x and y axes (in the blue boxes)

Adjust the minimums and maximums (in the red boxes)

32 / 116

REMEMBER TO INCLUDE A COMMENT DESCRIBING THE RATIONALE BEHOND


YOUR LOOKUP FUNCTION. ALSO, A LOOKUP FUNCTION LIKE ALL OTHER
FUNCTIONS IN SYSTEM DYNAMICS MODELING IMPLIES CAUSALITY
Numbers that quantify relationships are very important to modelling. The above data captures the relationships
between deer, land, and mountain lions. As the values of Deer Density and Deer Killed per Lion change, the pattern
exhibited by the reference mode variable, DEER, changes. Even though it seems simple, make sure that you
understand this. The Causes Strip is helpful in understanding this behaviour of cause and effect.

Step 10.

Now that we have entered lookup data, write the equation for Deer Killed per Lion. The comment box is
a good place to explain the logic behind how this equation was constructed.

Deer Killed per Lion = WITH LOOKUP (Deer Density,


([(0,0)(0.05,60),(0,0),(0.005,3),(0.025,30),(0.05,60)],(0,0), (0.005,3),(0.025,30),(0.05,60) ))
Units: Deer/lion

Step 11.

Now that we have the equation for Deer Killed per Lion, write the equation for Deer Killed by Lions.

Deer Killed by Lions = Deer Killed per Lion*Lions


Units: Deer/Year

You may ask, What is the difference between these two variables? Deer Killed per Lion is a lookup function whose
input is dependent on the area in the plateau, the number of deer, and the number of lions. Deer Killed by Lions is
the total number of deer killed by lions. As such, the number of Deer Killed by Lions per year is equal to the number
of Lions multiplied by Deer Killed per Lion. At this point we are assuming that there were 400 mountain lions on the
plateau in 1900. We will later complicate this further by creating a dynamic mountain lion population and bounty
killing.

Step 12.

Run the new model under the name Baseline Ex3p12.

Step 13.

View the graphs for Deer Deaths and Deer Killed by Lions.

What behaviour does the deer population exhibit?

A model will be in equilibrium, as it is here, whenever the inflows and outflows to a stock are equal. Creating a set of
assumptions in which a model is in equilibrium can be helpful in understanding the model and performing

Kaibab Plateau Exercise TE R15

33 / 116

comparative runs. In its present state, the model is in a state of equilibrium because we are working on the
assumption that the Kaibab Plateau was in a state of equilibrium between the deer and mountain lion populations
before policy makers intervened.

EQUILIBRIATING A MODEL HAVING IT IN STATE OF EQUIBRIUIUM INVOLVES TWO


CONSIDERATIONS ONE THEORETICAL AND ONE EMPIRICAL. IN THIS CASE BOTH ARE
PRESENT. HOWEVER WE CAN ALWAYS CREATE EQUILBRIUM BY HAVING THE INFLOWS
OF OUR STOCKS BE EQUAL.

Was this a desirable state?

Step 14.

Run the model with Lions = 600. Name the run Baseline Ex3Step 14 L=600. Before looking at the
results, frame a hypothesis about what will happen. What is the rationale behind the hypothesis?

Step 15.

Now look at the results.

What did happen? How do the results differ from the hypothesis? What have we learnt?

Step 16.

Run the model again with Lions = 200. Name the run Baseline Ex3p16 L=200.

Step 17.

Frame a hypothesis about what will happen. What is the rationale?

Step 18.

Now look at the results.

What did happen? How do the results differ? What has been learnt?

Step 19.

Now lets compare some runs. Go to the Control Panel and load all three runs. Note the value of naming
the runs to denote their properties.

What does the comparison show?

Does this replicate the reference mode?

Step 20.

Save the model.

Below is the complete stock-and-flow diagram for the deer sector.

Kaibab Plateau Exercise TE R15

34 / 116

Deer Initial

Deer Birth Rate

DEER
DECLINE

S
DEER
Deer Births

Deer Deaths
DEER
GROWTH

DEE
R
HE
RD
G
ROW
TH

S
Deer Killed by
Lions

Deer Density
O

S
Land Area

<LIONS>

DEER KILLED
BY LIONS

Deer Killed per


Lion

Figure 12 The Deer population stock-and-flow diagram

Kaibab Plateau Exercise TE R15

3.4

35 / 116

Exercise 4: Lions and Lion Hunting

You will have noticed that we are slowly adding complexity to the model in order to reproduce our reference mode.
You may ask, How much complexity do we need? This is to some degree a theoretical question, but when
modelling there is also an empirical element involved. After all, we are adding values and equations at each step of
the way so we are building the model in a coherent, mathematical way, adding exactly the amount of complexity
needed to reproduce the reference mode. Once the reference mode has been replicated, you can add additional
complexity to explore additional policy options.

REMINDER: REPRODUCTING THE REFERENCE MODE IS NOT THE ONLY OR A SUFFICIENT


TEST OF VALIDITY.
In the previous section, the lion population was constant while the deer population was dynamic. Now, the model
will be modified to create a dynamic mountain lion population with the following variables:
16. Lion births
17. Lion deaths
18. Lions killed by hunters

+
+
Deer Killed by
Lions
Lion Average
Lifetime

Lion Birth Rate

Lion Births

Lion Population
Growth

+
Lions

Lion Population
Decline

+
Lion Deaths
+

+
+

Lion Hunting

Figure 13 Causal loop diagram for lions

Step 1.

Open your stock-and-flow model from the last exercise and save it under a new name. That way, you
have a saved model from each exercise so that you can go back to previous version of the model if
needed.

Step 2.

In the Control Panel, clear the datasets from the last exercise.

Step 3.

Instead of a constant, reformulate Lions as a stock, LIONS. Create this as part of a new sector below the
DEER sector. You will have to delete the variable Lions first; Vensim does not allow two variables with the

Kaibab Plateau Exercise TE R15

36 / 116

same name. LIONS, Lion Births, and Lion Deaths are formulated exactly like the birth and death rates for
deer.

Step 4.

Write equations for Lion Births and Lion Deaths, starting with the constants.

Lion Birth Rate = 0.2


Units: Lions/Lion/Year

Lion Average Lifetime = 10


Units: Years

Lions Initial = 400


Units: Lions

Lion Births = LIONS*Lion Birth Rate


Units: LIONS/year

Lion Deaths = LIONS*Lion Average Lifetime


Units: LIONS/year

LIONS = INTEG (Lion Births-Lion Deaths, Lions Initial)


Units: LIONS

Step 5.

Run the model with the name Baseline Ex4c.

SHIFT IN LOOP DOMINANCE: THIS IS ANOTHER EXAMPLE OF THE RLEATIONSHIP


BETWEEN STRUCTURE AND BEHAVIOR
What we will see is called a shift in loop dominance, in system dynamics terminology. This is when the activity in one
loop, in this case, exponential growth in the deer population, begins to change because of activity in another loop, in
this case, the lion population. What has happened is that the deer population is initially dominated by the positive
feedback loop of deer births, but as the lion population grows, the deer population becomes dominated by the
negative feedback loop, deer deaths, and the deer population begins to decline.

NOW WE ARE GOING TO LOOK AT OUR FIRST POLICY INTERVENTION, A VERY SIMPLE ONE. THERE ARE
TWO QUALITIES. FIRST, THE INTERVENTION OCCURS AT THE BOUNDARY. SECOND IT OFFERS POLICY
OPTIONS, BOTH THE SIZE OF THE INTERVENTION AND WHEN IT OCCURS.
So far, there are no predators for lions. Now, we will add a new element, Lions Killed, which is the rate of mountain
lions killed by hunters per year. The hunting of lions had always been allowed on the Kaibab Plateau, so this is similar
to Deer Killed by Lions because hunters were predators of lions as lions were predators of deer. There are a few
different ways to represent hunting depending on the policy that we want to model. One way is as a constant (e.g.
x number of lions can be killed per year) and another is as a constant fraction (e.g. 10% of the lion population can
be killed each year). For now, let us assume the latter.

Kaibab Plateau Exercise TE R15

Step 6.

37 / 116

Call this Lions Killed Normal, because this was the amount of hunting that took place before the bounty
was offered. Assume that in 1900, Lions Killed Normal = 0.1 (10% as a decimal number).

Lions Killed Normal = 0.1


Units: Lions/Year

Lions Killed = See the next step for more information

Per the state-of-knowledge assessment, a problem arose in 1906 when a bounty was offered on the hunting of lions,
which went above the normal amount of hunting, which was 10% of the lion population. Add bounty hunting to the
mix to examine the effects of this policy imposed by the Forest Service. This is the first example of a policy
intervention.

We will do this in Vensim using a mathematical function called a STEP function (see Section 4.17, Creating STEP
Functions, for more information); here are the variables we need:

Lions Killed Bounty = 0.2


Units: Lions/Year

Lion Bounty Start Time = 1906


Units: Years

Lion Bounty End Time = 1950


Units: Years

Lion Deaths = (LIONS/Lions Average Lifetime)+Lions Killed


Units: Lions/Year

Lions Killed = LIONS*(Lions Killed Normal+STEP(Lions Killed Bounty, Lion Bounty Start Time)STEP(Lions Killed Bounty, Lion Bounty End Time))
Units: Lions

In the state-of-knowledge assessment, it was indicated that the bounty remained in force indefinitely. It could be
interesting to examine what might have happened had the bounty been stopped sometime after 1906. This can be
tested by choosing a year between 1906 and 1950 for the Bounty End Time.

In the days before the bounty was started, Lions Killed (the total number of lions killed) = Lions Killed Normal. After
1906, with the bounty, we have a new formula:

Lions Killed = Lions Killed Normal + Lions Killed Bounty

NORMAL IS A TERM YOU WILL ENCOUNTER FREQUENTLY IN PROFESSOR FORRESTERS


MODELS. IT TYPICALLY REFERES TO CONDITIONS IN THE ABSENCE OF INTERVENTION ON
THE PART OF THE MODELER.

Kaibab Plateau Exercise TE R15

Step 7.

38 / 116

Add this to the diagram.

This gives us a total of 0.1 + 0.2 = 0.3 for the percentage of lions killed each year.

Before running the model, answer a few questions about anticipated model behaviour!!.
How many mountain lions were born in 1900? How many died? How many were killed by hunters? What
does this indicate about the mountain lion population?

How many mountain lions were born in 1906? How many died? How many were killed by hunters? What
does this indicate about the mountain lion population?

What will happen to the deer population beginning in 1906?

Step 8.

Now that the LIONS sector has been created, link it to the DEER sector.

This is done using a new type of variable called a shadow variable, which is discussed in more detail in Section 4.18,
Adding Shadow Variables.

Step 9.

Clear the previous datasets in Control Panel > Datasets > Loaded Info.

Step 10.

Run the model under the title Baseline Ex4p10 L=400.

What behaviour does the deer population exhibit after 1906? Why?

What behaviour does Deer Killed by Lions exhibit? What explains this seemingly puzzling behaviour? Use
the causes strip graphs to help find the answer.

Step 11.

Run the model with Lion Bounty Start Time = 1920 under the title Baseline Ex4p11 BST=1920.

How does the behaviour in this run compare with the behaviour in the initial run?

Kaibab Plateau Exercise TE R15

Step 12.

39 / 116

Run the model under the title Baseline Ex4p12 L=600 ALD=20setting Deer Average Lifetime = 20 years
and Lions Initial = 600.

Step 13.

Using the causes strip graphs, compare the values of DEER, LIONS, and Deer Killed by Lions. Describe and
explain the differences between the two runs.

Does this reproduce the reference mode?

Step 14.

Step 15.

Return the variables to their original values:

Lion Bounty Start Time = 1906

Lions Initial = 400

Deer Average Lifetime = 5

Save the model.

This completes the population stocks-and-flows for deer and lions. We have two similar sectors with an input for
births and an output for deaths. Deaths are determined through two calculations, one for normal deaths and the
other for deaths through predation. In the case of deer, normal deaths occur because of Deer Average Lifetime
while predation deaths occur from mountain lions. In the case of lions, death occurs because of hunting, which is of
two types, normal hunting, which kills 10% of the population, and bounty hunting, which kills 20% of the
population.

Kaibab Plateau Exercise TE R15

40 / 116

Deer Average
Lifetime

Deer Initial

Deer Birth Rate

DEER
DECLINE

S
DEER

Deer Births

Deer Deaths
DEER
GROWTH

DEE
R
HE
RD
G
ROW
TH

DEER KILLED
BY LIONS

<LIONS>

S
Deer Killed by
Lions

Deer Density
O

S
Deer Killed per
Lion

Land Area

Lions Average
Lifetime

LION DECLINE

Lions Initial

Lion Birth Rate

S
LIONS
Lion Births

Lion Deaths
LION GROWTH

Lion Bounty
Start Time

S
S
O

S
Lions Killed

Lion Bounty
End Time

S
Lions Killed
Normal

Lions Killed
Bounty

Figure 14 Stock-and-flow diagram for Deer and Lions

NEXT WEEKS READING IS IN STERMAN CHAPTER SIX, STOCKS AND FLOWS. WE WONT BE GIVING MUCH
CLASS TIME TO DISCUSSING THIS. THE READING IS NOT TECHNICALLY DIFFICULT. BUT THAT DOESNT
MEAN YOU SHOULD JUST SKIM OVER IT. BY MY COUNT THERE ARE 43 DIFFERENT EXAMPLES OF
STOCKS. THE GOAL IS TO DEVELOP AND INTUITIVE UNDERSTANDING OF STOCK AND STERMANS
CHAPTER GIVES YOU PLENTY OF OPPORTUNITY TO DO THIS. I WOULD SUGGEST THE FOLLOWING:
(1) COMPILE A LIST OF THE STOCKS, AND FLOWS FOR EACH BY LOOKING AT THE EXAMPLES. (43)
(2) TO REDUCE THE COMPLEXITY AND SIMPLIFY THE PROCESS OF GAINING AN INTUITIVE
UNDERSTANDING, GROUP THE STOCKS INTO CATEGORIES.
(3) FOR EACH CATEGORY, COME UP WITH SIMILAR EXAMPLES OF STOCKS ON YOUR OWN.
(4) THIS MIGHT BE AN EXERCISE TO DO WITH A FRIEND.
(5) SINCE WE WILL ALSO BE DISCUSSING THE REPLICATION PROJECTS YOU COULD ALSO CHECK THOSE
OUT.

Kaibab Plateau Exercise TE R15

3.5

41 / 116

Exercise 5: Creating Vegetation Consumption

Like any herbivore, deer depend on vegetation for sustenance. How should the amount of vegetation available per
deer be incorporated into the model? One way is to assume a constant vegetation supply, Vegetation, on the
plateau; this makes sense since the plateau is a bounded area.

Step 1.

Add Vegetation as a new variable to the causal loop diagram, perhaps to the right of DEER. Use a
different colour, for example, green, to colour the arrows added.
+
Deer Average
Lifetime

Deer Birth Rate


Deer Population
Growth
Deer Births
+

+
Deer

Deer Population
Decline

+
Deer Deaths
+

Vegetation

+
Deer Killed by
Lions
Lion Average
Lifetime

Lion Birth Rate

Lion Births

Lion Population
Growth

+
Lions

Lion Population
Decline

+
Lion Deaths
+

+
+

Lion Hunting

Figure 15 Causal loop diagram for deer, lions, and vegetation

Is the new relationship positive or negative?

Step 2.

Open your stock-and-flow model from the last exercise and save it under a new name. That way, you
have a saved model from each exercise so that you can go back to previous version of the model if
needed.

Step 3.

In the Control Panel, clear the datasets from the last exercise.

Since our goal in building this model is to understand the overall dynamics of the Kaibab Plateau, the ecosystem we
create will be somewhat general. If, in our policy analysis, the need to be more specific later arises, we can do so.

To measure Vegetation, we need to create a unit. Assume that the normal amount of vegetation grown on 4 acres is
one unit. Following this, in 1900 there were 800,000/4 = 200,000 units of vegetation on the plateau. These 200,000

Kaibab Plateau Exercise TE R15

42 / 116

units of vegetation supported 4,000 deer, meaning that on average, each deer consumed 200,000/4000 = 50 units;
this is the calculated value for a new variable: Vegetation Available per Deer.

Step 4.

Add DEER as a shadow variable.

Step 5.

Add Vegetation and Vegetation Available per Deer.

Vegetation = 200000
Units: Units

Vegetation Available per Deer = Vegetation/DEER


Units: Units/Deer

Although 50 units are what is available to eat per deer under equilibrium conditions, in order to survive and live an
average lifetime (5 years), a deer only requires 1 unit. Naturally, as the deer population increases, following the
bounty, Vegetation Available per Deer decreases, reducing Deer Average Lifetime. As Vegetation Available per
Deer falls below 1 unit, Deer Average Lifetime falls as well. Assume:
19. 0 units = 0 years
20. 0.4 units = 2 years
21. 0.6 units = 4 years
22. 1 unit = 5 years

These values represent the relationship between Vegetation Available per Deer (the independent variable) and
Deer Average Lifetime (the dependent variable). Naturally, when no vegetation is available, deer cannot survive. As
the vegetation supply increases, Deer Average Lifetime increases, first slowly and then more rapidly. Beyond a
certain point (Vegetation Available per Deer = 0.6 in the lookup), the effects of Vegetation Available per Deer on
Deer Average Lifetime begin to slow. When Vegetation Available per Deer = 1, the normal Deer Average Lifetime
is assumed. If Vegetation Available per Deer exceeds the maximum value of 1, it is assumed that vegetation
availability has no further effect on longevity.

Step 6.

Draw a lookup function showing the relationship between Vegetation Available per Deer and Deer
Average Lifetime.

Kaibab Plateau Exercise TE R15

43 / 116

When there are only given a few values for a lookup, as we have here, it raises the question, What should be done
about the discontinuities or values that seem implausible in a lookup function? For example, it might be expected
that the graph would be flatter at the lower end and that the graphs S shape might be smoother. It is possible to
supplement the data with research on the biology of deer and the relationship between their consumption of
vegetation and average lifetime. We should also perform sensitivity analysis to see how variations in the shape of
this curve can impact results in the model. Including sensitivity analysis on this and other lookup functions in the
report you will submit at the end of this exercise is entirely appropriate.

Figure 16 Changes in deer average lifetime caused by vegetation availability

Kaibab Plateau Exercise TE R15

44 / 116

What Are Limiting Factors?

This is a good time to discuss the idea of a limiting factor. We have already been exposed to limiting factors, but
have not labelled them as such. Limiting factors play an important role in systems where behaviour is determined
by the dominance of one or more positive feedback loops. In the Kaibab Plateau exercise, the deer population
grew until it encountered its limiting factors:
23. Lions The first limiting factor, which created a naturally equilibrated population level for the deer
population, prior to the introduction of the lion hunting bounty.
24. Vegetation The second limiting factor, which came into play after the removal (or reduction) of the first
limiting factor and the limits on the system (the plateau is a bounded space).

As with stakeholders, it is useful to think of the limiting factors that exist in a model when we are creating it
because no system in which growth in generated by a positive feedback (the growth of a population, a cancer,
or a stock of capital that is being reinvested), can grow forever; all systems are bounded, and therefore have
limiting factors. Limiting factors can also help to determine what the leverage points are so that we can think
clearly about where to apply changes in a system.

Step 7.

Now write the equation for the relationship between Deer Average Lifetime and Vegetation Available
per Deer as a lookup function.

Deer Average Lifetime = WITH LOOKUP (Vegetation Available per Deer, ([(0,0)(1,5)],(0,0),(0.4,2),(0.6,4),(1,5) ))
Units: Years

Without actually running the model, what growth pattern will be generated in the deer population?
Why?

This lookup function shows that changes in Deer Average Lifetime are caused by changes in the amount of
Vegetation Available per Deer. Before considering this lookup function, it is helpful to recall the equation for Deer
Deaths. Excluding Deer Killed by Lions, the equation is Deer Deaths = DEER / Deer Average Lifetime.

Recall that in Exercise 2 in Deer Deaths (excluding lions and possible vegetation-supply shortfalls), Deer Average
Lifetime was defined as 5 years. Think of this as the biologically determined lifetime of deer, on average, living on
the Kaibab Plateau. Therefore, 1/5th (20% or 0.2) of the deer die each year. We could obtain a more precise number
by consulting naturalists or publications knowledgeable about the Kaibab Plateau, but 1/5th is a reasonable

Kaibab Plateau Exercise TE R15

45 / 116

approximation. This is another example of a normal, that is, a value entered under the assumption of all things
being equal. When might all other things not be equal? They may be unequal, for example, during a shortage in the
vegetation supply.

At this point, it is useful to introduce a new concept, that of carrying capacity. Carrying capacity is the maximum size
of a given population that an ecosystem (or ecological niche) can sustain. It is determined by the limiting factor or
factors, which are different for different species. For example, the amount of vegetation determines the carrying
capacity of the Kaibab Plateau ecosystem for deer. The size of the deer population determines the carrying capacity
of the ecosystem for lions, and so forth. What we will see in the reference mode is the decimation of the deer
population as the population exceeds the carrying capacity of the land. The reference mode shows an alternative
scenario for the carrying capacity of the land under the title of Probable Capacity if Herd Reduced in 1918, as seen
below.

Figure 17 Deer population from 1906 to 1939

What if the value of the independent variable exceeds the upper bound (X-max value) specified in a lookup function?
In Vensim, the function continues to output the highest dependent variable value specified, no matter how large the
independent variable value becomes. The model that we are building is not intended to deal with the effects of
overconsumption of vegetation on Deer Average Lifetime, so we do not need to include it in the model. Remember
that a model should focus on the problem at hand and not try to replicate an ecosystem in all its details.

Obviously we use the most precise data that we have. However if we dont have precise data, we can ask the
question: how much difference does the absence of precise data make?

What about problems introduced by the lack of precision in the representation of the S curve? There can be no
question that the simple representation of the S curve between Vegetation Available per Deer and Deer Average
Lifetime is only a crude approximation. A more accurate representation is found in Figure 18; note that the shape of

Kaibab Plateau Exercise TE R15

46 / 116

the curve is more important than the specific numbers. The most accurate line would be a smooth S curve with no
discontinuities.

Figure 18 Smooth S-curve function

Now, instead of focusing on the simple representation of the S curve, perform some sensitivity analysis and look at
the different outcomes generated by these representations to see if the differences are relevant to the problem and
conclusions that we are using the model to analyse.

Before moving on, it is useful to note that some data points and values in a lookup graph are more important than
others. In this case, it is the lower bound of the independent variable and the upper bound of the dependent
variable. When creating a lookup function, begin by defining the upper and lower bounds.

Assume that when Deer Average Lifetime = 5, 20% of the deer population dies. What percentage of the
deer population dies when Deer Average Lifetime = 4? 3? 2? 1?12

Recall that the Deer Birth Rate = 0.5. For what value of Deer Average Lifetime will Deer Birth Rate and
Deer Deaths be equal?

What value of Vegetation Available per Deer results in the value of Deer Average Lifetime determined in
Q4?

12

Respectively: 0.25, 0.33, 0.5, and 1.0.

Kaibab Plateau Exercise TE R15

47 / 116

What size deer population is required to produce this value for Vegetation Available per Deer? What
does this imply?

Step 8.

In the Control Panel, clear the datasets and do a new run Baseline Ex5p8 V=200,000. Record the results,
focusing in particular on DEER.

See Section 4.20, Understanding Warnings, for information on warnings that may appear.

Step 9.

Run the model again, setting Vegetation = 300,000. Label the run Baseline Ex5p9 V=300,000.

Step 10.

Run the model with Vegetation = 100,000. Label the run Baseline Ex5p10 V=100,000.

Step 11.

Now use the causes strip graph to compare the three runs.

What explains the pattern that each of the runs exhibits? What explains the differences between the
three runs?

Does this replicate the reference mode?

Step 12.

Save the model.

Now that we have a partial model of the vegetation sector, we will complete it in the next exercise.

Kaibab Plateau Exercise TE R13

48 / 116

Vegetation
Available per Deer
O
S
S
<DEER>

Deer Average
Lifetime

Vegetation

Deer Initial

Deer Birth Rate

DEER
DECLINE

O
DEER
Deer Births

Deer Deaths
DEER
GROWTH

DEE
R
HE
RD
G
ROW
TH

<LIONS>

DEER KILLED
BY LIONS
S

S
Deer Killed by
Lions

Deer Density
O

S
Deer Killed per
Lion

Land Area

Lions Average
Lifetime

LION DECLINE

Lions Initial

Lion Birth Rate

S
LIONS
Lion Births

Lion Deaths
LION GROWTH

Lion Bounty
Start Time

S
S
O

S
Lions Killed
S

Lion Bounty
End Time

S
Lions Killed
Normal

Lions Killed
Bounty

Figure 19 Stock-and-flow diagram for Deer, Lions, and constant Vegetation

Kaibab Plateau Exercise TE R13

3.6

49 / 116

Exercise 6: Creating Vegetation Supply

The model discussed in the last section generates S-shaped growth in the deer population beginning in 1906. The
discrepancy between model behaviour in the last section and the reference mode in Figure 2 indicates that
something is still missing from the model. What could this be?

This is the most difficult part of the vegetation model to understand, so lets look at a causal loop diagram first to get
the overall picture. Note that the major feedback loops are colour-coded and have loop polarities indicated.
In the last section, we assumed a constant vegetation supply of 200,000 units. Now, lets examine the supply in more
detail. Vegetation is not a population in the way that we normally think of a population, but it is living and so can be
formulated as a population stock influenced by two principal flows, similar to what we have already made:
25. Vegetation Growth Similar to births
26. Vegetation Consumption Similar to deaths

Deer Average
Lifetime

Deer Birth Rate


+

Deer Population
Growth
Deer Births

Deer Population
Decline

Deer

+
Deer Deaths
+

+
Deer Killed by
Lions

Lion Average
Lifetime

Lion Birth Rate

Lion Births

Lion Population
Growth

Lion Population
Decline

Lions

+
Lion Deaths
+

Lion Hunting

Vegetation Growth
Vegetation Growth
-

Vegetation
-

Vegetation
Consumed

Vegetation
Consumption

Vegetation
Consumed per Deer

Kaibab Plateau Exercise TE R13

50 / 116

Figure 20 Causal loop diagram for deer, lions, and vegetation

Lets consider Vegetation Consumption. Who is eating vegetation? Based on the state-of-knowledge assessment,
the amount consumed each year is determined by the number of DEER and a new variable, the amount of
Vegetation Consumed per Deer; this is a variation on the variable we created in the previous section, Vegetation
Available per Deer. Why do we have two different variables? In reality, the amount of vegetation available and the
amount of vegetation consumed are two different things, the latter being a subset of the former. So naturally, the
amount of Vegetation Consumed per Deer is influenced by the Vegetation Available per Deer. Remember that in
the scenario we are modelling, as the deer population grew, the number of deer exceeded the equilibrium rate for
the deer-to-vegetation ratio, meaning that Vegetation Available per Deer and Vegetation Consumed per Deer both
decreased as the deer population increased, leading to mass starvation.

As with deer and lions, lets also assume a new variable, Vegetation Initial, to show how much vegetation was
available on the plateau at the start of the model. Assume that in 1900, under normal conditions, the plateau
supported 196,000 units of vegetation instead of the maximum, 200,000.

Step 1.

Open your stock-and-flow model from the last exercise and save it under a new name so you have a
saved model from each exercise so that you can go back to previous version of the model if needed.

Step 2.

In the Control Panel, clear the datasets from the last exercise.

Step 3.

Add the new variables.

Vegetation Initial = 196000


Units: Units

VEGETATION = INTEG (Vegetation Growth-Vegetation Consumption, Vegetation Initial)


Units: Units

Step 4.

Draw a lookup function showing the relationship between Vegetation Available per Deer and Vegetation
Consumed per Deer.

Step 5.

Change the link to Deer Average Lifetime from Vegetation Available per Deer to Vegetation Consumed
per Deer.

For Vegetation Consumed per Deer, assume:


27. When vegetation is freely available, defined as being greater than 2.0 units, the maximum a deer can eat is
1.0 unit per year, giving us the standard Deer Average Lifetime of 5 years.

Kaibab Plateau Exercise TE R13

51 / 116

28. When vegetation available is less than 2.0 units, grazing becomes more difficult and the amount each deer
consumes falls slowly.
29. When vegetation available reaches 1.0 unit, each deer consumes 0.8 units.
30. When vegetation available falls below 1.0 unit, the amount each deer consumes falls more rapidly.

Note that the data provided is more limited than for previous lookups. How should we decide on ranges for the
independent and dependent variables? How should we decide on the shape of the curve and the number of data
points used? This is a case where inserting variables in the New fields to smoothen the shape may be helpful.

Here is how this relationship appears as a lookup function.

Kaibab Plateau Exercise TE R13

52 / 116

Figure 21 Lookup graph for vegetation available per deer

Here, the lower bound of the independent variable, Vegetation Available per Deer, is defined as 0 and the upper
bound is defined as 2. The range of the dependent variable, Food Consumed per Deer, is defined as (0, 1).
31. Vegetation Consumption = Vegetation Consumed per Deer*DEER
Units: Units/year
32. Vegetation Consumed per Deer = WITH LOOKUP (Vegetation Available per Deer, ([(0,0)(2,1)],(0,0),(1,0.8),(2,1)))
Units: Units/Deer

As a living thing, vegetation grows after it has been consumed. We have added Vegetation Growth in the model as a
flow, but now we need to think about how it grows. The amount of vegetation that can be grown each year depends
on the difference between the Vegetation Capacity (which is 200,000 units, the total amount of vegetation that can
grow on the plateau) and the actual level of vegetation (VEGETATION) present. This difference between Vegetation
Capacity and VEGETATION will be expressed via a new variable, Vegetation Deficit. When VEGETATION equals
Vegetation Capacity, no growth occurs. When VEGETATION falls below Vegetation Capacity, it requires a period of
time for the level to return to full capacity. To express this relationship between the difference and the amount of
time it takes to grow, we will use the flow called Vegetation Growth.

Step 6.

Add this to the stock-and-flow diagram.

Vegetation Deficit = Vegetation Capacity-VEGETATION


Units: Units

Kaibab Plateau Exercise TE R13

53 / 116

Vegetation Growth = Vegetation Deficit/Vegetation Regeneration Time


Units: Units/year

This leads to two observations on the stock of vegetation and the stocks of deer and lions:
33. Unlike with LIONS and DEER (the more of either, the more that are produced), the relationship between
VEGETATION and vegetation growth is inverse: the more VEGETATION, the less vegetation growth.
34. The maximum for vegetation growth is reached sooner than that for LIONS and DEER.

Assume that the amount of time required for vegetation to return to full capacity increases as the amount of
vegetation on the plateau declines.

Step 7.

Name this new variable Vegetation Regeneration Time.

How does this variable depend on the level of vegetation? Where does this variable feed into?

Assume:
35. When VEGETATION = 0, Vegetation Regeneration Time = 40 years
36. When VEGETATION = 0.5, Vegetation Regeneration Time = 5 years
37. When VEGETATION nearly = 1.0, Vegetation Regeneration Time = 1 year

Here (and in other models) a ratio value of 1 (Food Capacity = Food Supply) is used to define an equilibrium
condition. When the ratio is equal to 1 or nearly equal, the Food Supply Deficit will regenerate in one year. A value
of 0 represents a state of near desertification in which, even assuming there is no foraging, it will take forty years
for the plateau to return to full growth. Vegetation Regeneration Time depends on how much vegetation is already
available relative to the total capacity.

Step 8.

To calculate this, create a new variable, Vegetation Supply / Capacity Ratio.

Vegetation Supply / Capacity Ratio = VEGETATION/Vegetation Capacity


Units: Dmnl13

Step 9.

Now you can create a lookup function for Vegetation Regeneration Time; as noted, the data provided in
the exercise is relatively limited.

13

Dmnl means dimensionless. It is used as a unit measure when we are talking about something that cannot be measured, in this case a ratio. If we balance

the units for this ratio, we get Units/Units which equals 1.

Kaibab Plateau Exercise TE R13

54 / 116

Vegetation Regeneration Time = WITH LOOKUP ("Vegetation Supply / Capacity Ratio",([(0,0)(1,40)],(0,40),(0.5,5),(1,1)))


Units: Years

What should the upper and lower bounds of the lookup function be? What intermediate values are
given? What should the shape of the function be?

Figure 22 Lookup for vegetation regeneration time

Step 10.

Click the Equations button to see if any variables do not have equations. Enter any remaining ones.

See Section 4.21, Finalising a Model, for information on how to check a model once it is complete.

Before running the model, think about the following: How much vegetation is consumed by deer in 1900?
How much vegetation is grown? If 200,000 were used for Vegetation Initial, how much vegetation would
have been grown in 1900?

Does this replicate the reference mode?

Step 11.

Save the model.

The stock-and-flow for this model is now complete.

Kaibab Plateau Exercise TE R13

55 / 116

Vegetation
Available per Deer

O
S

Vegetation
Consumed per
Deer

VEGETATION
CONSUMPTION

Vegetation Initial
<DEER>
S

S
S
VEGETATION

Vegetation
Consumption

Vegetation
Growth
O

Vegetation
Deficit

Vegetation
Capacity

Deer Average
Lifetime

VEGETATION
REGENERATION

Vegetation Supply /
Capacity Ratio

Vegetation
Regeneration Time
O

Deer Initial

Deer Birth Rate

DEER
DECLINE

O
DEER
Deer Births

Deer Deaths
DEER
GROWTH

DEE
R
HE
RD
G
ROW
TH

<LIONS>

DEER KILLED
BY LIONS
S

S
Deer Killed by
Lions

Deer Density
O

S
Deer Killed per
Lion

Land Area

Lions Average
Lifetime

LION DECLINE

Lions Initial

Lion Birth Rate

S
LIONS
Lion Births

Lion Deaths
LION GROWTH

Lion Bounty
Start Time

S
S
O

S
Lions Killed
S

Lion Bounty
End Time

S
Lions Killed
Normal

Lions Killed
Bounty

Figure 23 Stock-and-flow diagram for Deer, Lions, and Vegetation

Kaibab Plateau Exercise TE R13

56 / 116

How Much Does Data Impact Results?

For VEGETATION, a value of 1.0 is used, but, logically, if vegetation is full, then regeneration time is not required,
which is why the word nearly is used. Can this semantic difference in input data impact the output data we get
from the model? Try the following experiment using various close values and view the graph for DEER to see the
impact of vegetation on the deer population in this model:
38. VEGETATION = 1.0
39. VEGETATION = 0.99
40. VEGETATION = 0.9

Kaibab Plateau Exercise TE R13

3.7

57 / 116

Exercise 7: Validating the Model

The model is now complete and should have enough information to reproduce the reference mode with some
fidelity. In your report, include answers to the following questions, along with any relevant graphs and data tables.

Before running the model, verify that you:


41. Are using data values from the state-of-knowledge assessment instead of experimental data
42. Have cleared any previous datasets via Control Panel > Datasets > Loaded Info

Step 1.

Open your stock-and-flow model from the last exercise and save it under a new name. That way, you
have a saved model from each exercise so that you can go back to previous version of the model if
needed.

Step 2.

In the Control Panel, clear the datasets from the last exercise.

Step 3.

Run the model with the name Baseline Ex70 VC=200,000.

What behaviour does it exhibit? How well does the behaviour match the reference mode? Is the model a
sufficiently good representation? Can it be used for policy analysis?

Figure 24 Reference mode

Kaibab Plateau Exercise TE R13

58 / 116

There are several aspects of the behaviour generated by the model that can be compared with the data shown in
Figure 2.

How do the maximum values of DEER compare in the simulation and Figure 2? When does the turning
point in the deer population occur in the simulation run and in the reference mode? What is the stock of
deer in 1940 in the simulation and Figure 2?

Another important question to ask is How sensitive to errors in assumption is the behaviour generated? For
example, consider the vegetation capacity on the plateau. The model created assumes Vegetation Capacity =
200,000 and Vegetation Initial = 196,000. Suppose that there is uncertainty whether these numbers are correct and
that Vegetation Capacity actually = 150,000 and Vegetation Initial = 146,000.

Step 4.

Run the model with these new values and label the run Baseline Ex7p4 VC=150,000, VI=146,000.

What behaviour does the deer population exhibit?

How does the behaviour differ from the behaviour in Step 4? Does this difference seem important?
Which of the values for Vegetation Capacity is correct?

How much confidence do you have that the model provides a reasonable explanation for the growth and
rapid decline of the deer population on the plateau? Are there additional factors that should be included
in the model? Are there assumptions that should be changed?

Kaibab Plateau Exercise TE R13

3.8

59 / 116

Exercise 8: Using the Model to Examine Policies

This is the most important part of the assignment because this is the focus of the report. Be sure to provide clear
answers to the questions, and include data and graphs where they support the arguments presented. Thinking about
and clearly justifying desirable conditions on the plateau is an important part of the exercise. For example, which
do you think is a better policy goal?
43. A sustainable, high Deer Average Lifetime?
44. A sustainable, high Deer population?

This is a classic debate, and opinions differ on what to consider as the optimal outcome. Both are valid and
arguments can be made to prefer one to the other, so there isnt one correct single answer. Both are related, after
all, so if the goal is sustainability, then there probably is a point where equilibrium is reached for both, as existed
before the lion hunting policy. However, if you focus on optimisation of one variable instead of sustainability, you
may end up with a different answer, with one benefitting to the detriment of the other. For the report, you can pick
one, justify the selection, and document the process to optimize it in the report, or you can try to aim for overall
sustainability as in the pre-hunting years. What matters the most for Exercise 8 is the justification and
documentation of a recommended policy, not a single, correct answer.

In the introduction, you were asked to imagine that you were a Forest Service Officer in 1930, interested in the fate
of the deer population on the Kaibab Plateau. Now that we have completed a working model use it to test
alternative policies. The main problem on the plateau in 1930 was starvation. The deer population had become too
large to be supported by the vegetation supply. One approach to solving this problem might be to permit hunters to
kill a portion of the deer herd each year to reduce the size of the herd and balance deer births. Test the effects of
this policy by adding the following variables:
45. Deer Killed Hunting = STEP(Deer Hunters Can Kill, Hunting Begin Time)
Units: Deer/Year
46. Hunting Start Time = 1930
Units: Years
47. Deer Hunters Can Kill = ?
Units: Deer/Year

For this purpose of this exercise, if you want, you can assume different scenarios, such as excluding lion hunting or
changing the years when it started and ended.

Kaibab Plateau Exercise TE R13

60 / 116

Remember, before making any modifications or additions to the model, be sure that you have an idea or theory
on what behaviour should appear and why, and document both. Do not make random changes. While there are
artistic elements to modelling, it is also a science and experiments with models should be treated as such.

Before modifying, be sure that you:


48. Have a hypothesis about what you are doing or the adjustment you are making
49. A clear rationale for why you are doing it
50. An expectation of what should happen
51. Document the hypothesis, rationale, and expected result
52. Compare the actual result to the expected result
53. Document the differences and account for any discrepancies

For each policy that you come up with, also ask who the stakeholders and probable beneficiaries are. Depending on
the stakeholder or beneficiary you want to focus on, the policy may change.

Be sure to identify stakeholders and beneficiaries for every policy recommendation.

Step 1.

Open your stock-and-flow model from the last exercise and save it under a new name. That way, you
have a saved model from each exercise so that you can go back to previous version of the model if
needed.

Step 2.

In the Control Panel, clear the datasets from the last exercise.

For (Q1) to (Q7) assume that you are in 1930. This means that any policies that you come up with can only start in
1930, not earlier.

How many deer should the Forest Service permit hunters to kill each year? Should the number be a
constant? Should it depend on the size of the deer population? Try various formulations for Deer
Hunters Can Kill and decide which formulation is best.

Do you think permitting hunters to kill deer is a good policy? Why or why not? What other policies do you
think should be tested using the model?

Use the model to examine some what if questions. For example, what would have happened if the bounty on
mountain lions, imposed in 1906, ended in 1910, before the mountain lion population was exterminated?

Kaibab Plateau Exercise TE R13

Step 3.

61 / 116

Run the model with the new value for Bounty End Time and label the run Baseline Ex8p3 BET=1910.

What behaviour does the deer population exhibit? How does it differ from that in Q1? Why?

Note that in Q1 and Q3, the deer population eventually equilibrates, but the equilibrium conditions in the two runs
are quite different. In Q1, a vegetation shortage reduced Deer Average Lifetime to two years. In Q3, Deer Average
Lifetime remains at its initial value of 5 years, but some deer are killed by mountain lions.

Which simulation run do you think generates more desirable conditions? Why?

Step 4.

Run the model with the Bounty End Time = 1909; label it Baseline Ex8p4 BET=1909. Run it with Bounty
End Time = 1911; label this run Baseline Ex8p4 BET=1911.

How do the results differ? Why?

If you were a Forest Service Range officer in 1930, what policies would you recommend? Why?

For Q7, assume that you are in 1918. This means that any policies that you come up with can only start in 1918.

Step 5.

Look at the original reference mode, reproduced below. The damage was first noticed around 1918.

Figure 25 Deer population from 1906 to 1939

If you were a Forest Service Range officer in 1918, what policies would you recommend? Why?

Kaibab Plateau Exercise TE R13

62 / 116

4.0 Using Vensim and Vensim Resources


A model requires software to construct. In this class, we use Vensim as the modelling software for all the exercises. A
free, educational version of Vensim 6.1 for Windows and OSX can be downloaded from:
54. http://www.vensim.com/freedownload.html

Vensim includes extensive technical documentation, a modelling guide, a user guide, and sample models; these can
be accessed via the Help feature. In addition to Help, there are a number of other resources:

Ventana Systems forums The makers of Vensim: http://www.ventanasystems.co.uk/forum/

Vensim resources http://vensim.com/resources/

System Dynamics Society forum http://www.systemdynamics.org/forum/

The 2014 class Facebook group https://www.facebook.com/groups/DynamicModelling2014/

The 2013 class Facebook group https://www.facebook.com/groups/DynamicModelling/

The System Dynamics Society also hosts:


55. Case studies http://cases.systemdynamics.org/
56. Abstracts and papers from past conferences http://conference.systemdynamics.org/past_conferences/

Kaibab Plateau Exercise TE R13

4.1

Step 1.

63 / 116

Starting Vensim and Entering the Model Settings

Start Vensim.
The program starts.

Step 2.

Click the New Model button near the top-left.

Figure 26 Vensim Interface

The Model Settings window appears.

Kaibab Plateau Exercise TE R13

64 / 116

Figure 27 Model settings

Step 3.

Enter the settings for the model per the reference mode and problem background; these are a few of
the initial values needed to run the model. These settings can also be viewed by going to the toolbar >
Model > Settings

INITIAL TIME = 1900

FINAL TIME = 1950

TIME STEP = 1; in modelling terminology, this is called the resolution level

Units for Time = Year

By entering INITIAL TIME, FINAL TIME, and TIME STEP, we have made time a variable in the model. While it does not
appear in the area where we will create the model, it exists in the background and can be brought to the foreground,
for example, as a shadow variable; see Section 4.18, Adding Shadow Variables, for more information.

Now that we have entered the settings, we can begin modelling. During the rest of the modelling exercise, we will
have other initial values that provide the data to start a run, such as
57. Initial deer population (in the year the simulation starts); see Section 4.6, Displaying Initial Causes, for
information on how Vensim treats certain initial values.
58. Size of the plateau

Each of these will come into play as we add them to the model.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

65 / 116

Should I Save the Model?

At some point after creating the model, a pop-up may appear asking if Vensim should to save the model being
created. Save it to a familiar location or else the pop-up will keep appearing.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.2

66 / 116

Drawing Causal Loop Diagrams

Causal loop14 and stock-and-flow diagrams serve different purposes in system dynamics modelling.
59. A causal loop diagram is created to give an outline of the model on the macro-level, showing feedback links,
loops, and the relationship between variables.

Constant
+

Variable 1

STOCK

Variable 2

Figure 28 Sample causal loop diagram

60. You can create a causal loop diagram using pen and paper, meaning that you dont have to worry about the
technical aspects of Vensim, allowing you to focus solely on the diagram.
61. Creating a causal loop diagram is an important intervening step in creating a stock-and-flow diagram. Since a
stock-and-flow diagram is more specific about the variables it represents, it provides a more detailed
description of the model structure, although that may be less useful for people who have no background in
system dynamics modelling. Unlike a causal loop diagram, a stock-and-flow diagram also requires technical
expertise in order to create equations in order to operationalize the relationship between variables and run
the model to generate data and results.
62. As a macro-level illustration, a causal loop diagram serves as a visual that can be shared with people who are
unfamiliar with system dynamics, or those uninterested in or confused by the technical aspects of modelling.

In summary, a causal loop diagram is for planning a model, while a stock-and-flow diagram is for running the model
in a software application. Remember these differences when creating diagrams so you dont confuse their purposes.

With causal loop diagrams, you should also pay attention to the polarities of each loop (balancing or reinforcing) and
note it in the centre of each. To quickly calculate their polarities:
63. Count the number of negative () signs.
o

If the number is zero (0) or even (2, 4), the loop is reinforcing.

If the number is odd (1, 3), the loop is balancing.

So in the diagram above, the loop for Variable 1 is reinforcing (no negative signs) and the loop for Variable 2 is
balancing (one negative sign). In this document, + and are used in the causal loop diagrams.
14

Causal loop diagrams and notation are discussed in Sterman, Chapter 5.

Kaibab Plateau Exercise TE R13

Go back to Section 3.1, Exercise 1: Deer Births.

67 / 116

Kaibab Plateau Exercise TE R13

4.3

68 / 116

Drawing Stock-and-Flow Diagrams

Stock-and-flow diagrams are used to show the details of a model in order to create equations that can generate data
for analysis.

Variable

Stock

Flow

Figure 29 Variables, stocks, and flows in Vensim

In general:
64. Stocks are the cores of a system. The value of a stock is variable, based on flows, variables, and constants,
but it can be understood as a frozen moment in time.
65. Flows are either inflows into or outflows from stocks. A stock can have an inflow or an outflow, or both. The
values for a flow are calculated based on stocks, variables, and constants. Depending on the inflow and
outflow, a stock can either be balanced (inflow and outflow are null or equal), increasing (inflow is greater
than outflow), or decreasing (inflow is less than outflow). Stakeholders use leverage points to change flows.
66. Variables are auxiliary variables. Their values are calculated based on stocks, flows, and constants.
67. Constants are variables that have fixed values and provide the initial data to start a run. Values for constants
are fixed, and are not re-calculated in a run. In Vensim, constants are created using the Variable button. For
clarity, give constants a specific colour, e.g. red, to distinguish them from variables; see Section 4.24,
Colouring Arrows and Variables, for more information.
Tap

Variable 2

Constant
STOCK

Source

Sump
Outflow

Inflow
Variable 1

Figure 30 Sample stock-and-flow diagram

In the most common stock-and-flow variables in Vensim (shown above), the cloud at either end is a source (if to
the left of a stock) or a sump (if to the right), showing where the flow comes from. The bow tie in the middle of a
flow arrow is a tap, which can be used to control flow.

Kaibab Plateau Exercise TE R13

69 / 116

A common metaphor for a basic stock-and-flow is a bathtub (the stock) with a tap (the inflow) and a drain (the
outflow). Water flows from the tap into the tub, and flows out through the drain; the amount of water that gathers
depends on the inflow and outflow, which can be controlled.

Within variables, we have the following basic types:15


68. Auxiliary Any dynamic (i.e. changing) variable that is computed based on other variables. Auxiliaries are
typically the most numerous types of variables. An auxiliary variable has an expression involving other
variables in its equation.
69. Constant A variable whose value does not change over time. Constants have numbers on the right side of
their equations. A constant can be temporarily changed prior to simulating a model.
70. Data These have values that change over time, but do not depend on other model variables, except,
possibly, other data. Data use an empty equation to denote raw data or a := equation to indicate the way in
which they are derived. If a variable is used in a model, but not defined, it will be assumed exogenous and
therefore treated as a Data variable. This makes it easy to run sections of a model without writing new
equations.
71. Initial Like a constant, except that it is the result of combining different variables at initialization time.
72. Level The dynamic variables in the model. Levels all have INTEG equations.
73. Lookup Nonlinear functions with numerical parameters (where the parameters are the x- and y-axis
values). They are defined in equations beginning with a left parenthesis and ending with a right parenthesis.

There are also the following sub-types:


74. Normal A standard equation using the available variables.
75. with Initial An equation that explicitly uses an initial variable.
76. with Lookup An equation that uses a lookup function.
77. Unchangeable These are constants that cant be changed during simulation experiments. For example, the
number of days per year can be defined as unchangeable. Equations for Unchangeable Constants are the
same as those for Constants but use a double equal sign == for assignment. Unchangeable Constants are not
given sliders in SyntheSim and are not included in Constant lists for Sensitivity, Optimization or Setting of
Parameters.

Over the course of the semester, we will look at various stock-and-flow diagrams, during which it is useful to keep in
mind that our goal is not simply to learn what stocks, flows, and auxiliaries are, but to learn how to identify and
properly model them in the problems we are working on. When defining stocks and flows, it is also important to
think about the dimensions (units of measurement) of the variables so that you can be sure that they are calculated

15

Adapted from Vensim Help, Variable Types. More complex types of variables are also described in this section.

Kaibab Plateau Exercise TE R13

70 / 116

in complementary units, ensuring that your equations are balanced. For numerous good examples of stocks and
flows and how to identify and construct them, see Sterman, Chapter 6, Stocks and Flows.

In this document, S and O are used in the stock-and-flow diagrams.

Go back to Section 2.3, Modelling Conventions.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.4

71 / 116

Adding Loop Polarities

When creating a stock-and-flow model, be sure to add loop polarities to identify the relationships between all the
variables. It is best to do this when we add each variable rather than all together once the model is complete.

To add a loop polarity:

Step 1.

Right-click on the arrow of the variable to which you want to add the polarity.

Variable 2

Constant
STOCK

Outflow

Inflow
Variable 1

Figure 31 Sample stock-and-flow diagram with arrowhead highlighted

The Options for Arrow window appears.

Step 2.

In the Polarity box, select the polarity that you want to use.

Figure 32 Polarity selections highlighted

Kaibab Plateau Exercise TE R13

72 / 116

Polarities can be designated by the following signs:

+ or S These mean that a change in the variable from which the arrow originates (for example, Variable
1 in the above stock-and-flow image) causes the same change in the variable into which the arrow goes; the
S stands for same. For example, in the above image, an increase in Variable 1 will cause an increase in
the Inflow.

- or O These mean that a change in the variable from which the arrow originates (for example, Variable
2 in the above stock-and-flow image) causes the opposite change in the variable into which the arrow goes;
the O stands for opposite. For example, in the above image, an increase in Variable 2 will cause a
decrease in the outflow.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.5

73 / 116

Displaying Initial Causes

Vensim treats initial variables differently than other variables. After creating Deer Initial in the model, the arrow
linking it to DEER may disappear; by default, Vensim hides links from initial variables, also called initial causes. To
change this so that links from initial causes are visible, in the Vensim toolbar:

Step 1.

Go to Model > Settings

Step 2.

Open the Sketch tab.

Step 3.

Click on the checkbox to the left of Show initial causes on model diagrams.

Step 4.

Click OK.

The model refreshes and a grey arrow appears from Deer Initial to DEER; the grey arrow designates Deer Initial as
an initial value.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.6

Entering Numeric Equations

In Vensim, numbers and equations are entered in the equation editor. To open the editor:

Step 1.

Select Equations.

Figure 33 Vensim toolbar with Equations box highlighted

All the variables that do not have equations or data are highlighted in black.

Step 2.

Select the variable, in this case Deer Initial.


The equation editor appears.

Figure 34 Equation editor with Units, Equations, and Comments fields highlighted

Step 3.

Enter numeric values in the Equations box, highlighted in green.

74 / 116

Kaibab Plateau Exercise TE R13

75 / 116

Numbers can be entered in two ways; e.g. 4,000 can be entered:


78. Without punctuation as 4000 instead of 4,000
79. Exponentially as 4e3 (4*10^3)

Step 4.

Enter the units in the Units field, near the top-left of the window and is highlighted in green.

Be sure to add units for every variable for clarity. Vensim keeps a log of these units, which can be checked when a
model is being finalised. This is used to verify that the units are consistent, making the model easier to interpret by
others. See Section 3.6, Exercise 6: Creating Vegetation Supply, for more information.

Step 5.

Enter relevant comments in the Comment field, located near the bottom of the window; it is highlighted
in orange in the above image.

Comments are used to explain or give the source of the equation or data as a reference. This is helpful for
documenting the model or recalling why an equation was formulated in a certain way. Writing clear, relevant
comments can go a long way to helping to make a model clear to people trying to understand it, much as footnotes
are used to note sources or expand on a topic for curious readers. When the time comes to document your model
and, in particular, to describe how you have chosen values for constants and how you have constructed lookup
functions, writing comments as you were developing your model will prove invaluable. This is particularly important
when numerical (parameter) values and the shape of lookup functions are drawn from published literature.
Sometimes, as in the case of Professor Forresters classic models, functions will be drawn from interviews or more
qualitative, contextual sources.

Be sure to always complete Steps 3, 4, and 5 so that you are following best practice when modelling.

Step 6.

Click Check Syntax near the bottom left.


Vensim checks if the equation makes sense. If there are no errors, Equation OK appears in the Errors
field, above the Check Syntax button. If there is an error, the type of error appears in the Errors field.

Step 7.

If there is an error, correct the error and click Check Syntax near the bottom left.
Vensim checks if the equation makes sense.

Step 8.

If there are no errors, click OK.


The equations editor closes.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.7

76 / 116

Entering Text Equations

Now that we have a few different variables, we can create equations to link them.

When entering equations and using mathematical operators, be sure that variables are properly grouped. Use
brackets ([ and ]) and parentheses (( and )) to separate them to ensure that the mathematical order of operations
is followed.

Step 1.

Open the equation editor.


Once variables have been linked to one another, they appear in the Variables box.

Step 2.

Select a variable in the Variables field.


The variable appears in the Equations field.

Figure 35 Equations editor with Variables field highlighted

Step 3.

Select a mathematical operator to link the selected variable to another variable; they are selected via
the Keypad Buttons. Operators can also be entered via keyboard.

Step 4.

Select the next variable in Variables. Continue as needed.

Kaibab Plateau Exercise TE R13

Step 5.

77 / 116

Once you have entered all the variables, click Check Syntax at the bottom of the window.

Vensim checks the equation that you have written to make sure that it is formulated correctly and uses
variables and operators in a manner that is understands. If the equation is correct, Equation OK appears
in the Errors field near the bottom of the window; errors in the equation will also appear here.

Step 6.

Once Vensim has approved the equation, click OK to close the equation editor.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.8

78 / 116

Naming Runs

There are a number of ways to name runs, but optimally, a name should contain information that makes a run easily
identifiable by mentioning what is unique in that run. For example, the name used, Baseline Ex1p2 DBR=0p5,
identifies the following:
80. Baseline A baseline run
81. Ex1p2 from exercise 1, question or step 2
82. DBR with Deer Birth Rate as the constant that is being focusing on
83. =0p5 with a value was 0.5. p is used instead of . because Vensim does not accept . as a decimal point
when naming runs.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

4.9

79 / 116

Selecting Runs

By default, Vensim includes all runs for graphing and tabular display. To only view particular runs instead of all runs,
in the Vensim toolbar:

Step 1.

Go to Windows > Control Panel.


The Control Panel appears.

Figure 36 Control Panel

The Control Panel can also be accessed via the Control Panel button near the top right of the Vensim window.

Step 2.

Select Datasets.
A list of runs appears, organised into the following columns:

Loaded Info A list of runs that will be displayed in graphs and tables.

Available Info A list of runs that are available, but will not be displayed.

Use >> and << to move runs between the two columns or click Delete to delete a run completely.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

80 / 116

4.10 Exporting Equations, Tables, and Data

Vensim automatically provides a list of equations that are being using in the model and generates graphs and table
data after runs. When documenting a model, this information may need to be exported to another program such as
Microsoft Word. Equations can be exported and formatted for readability. Comments are also included in the
exported text, so be sure to write comments for each equation before you export the information. That way, all the
numeric and textual information for your model is consistent in the model and your report.

To export equations, tables, or graphs:

Step 1.

In the toolbar in the left column, select Document All (for equations), Table (for tables), or Graph (for
graphs).
A window appears displaying the equations, table data, or graphs used in the model.

Print

Copy to the clipboard

Export as a text or image file

Figure 37 Export options

In a Graph window, selecting Export gives the option to save the graph as a Windows Metafile, which is an image
file.

Go back to Section 2.2, Modelling Process and Terminology.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

81 / 116

4.11 Understanding Sensitivity Analysis

Sensitivity analysis is an important part of modelling and analysis, done for a variety of reasons:
1. Look at the consequences of interventions in order to perform policy analysis
2. Determine and analyse leverage points
3. Determine areas of uncertainty
4. See how results vary when the values (also called assumptions) of variables (usually constants) are changed.

To perform sensitivity analysis:


1. Determine a set of values with which you want to experiment
2. Develop a theory or hypothesis on what will happen when you change the values
3. Document your theory or hypothesis
4. Change the values in the model
5. Run the model
6. Graph and tabulate the results
7. Compare the new run or runs with the baseline run

When performing sensitivity analysis, it is best to only change one value at a time so that you can analyse and
understand the results from one set of changes before making a second set.

You may wonder, Is high sensitivity or low sensitivity better for a model? In general, however, sensitivity is used to
see how sensitive a variable is to changes in its inputs. As such, high or low sensitivity is not a goal but an
observation. Once you have determined how sensitive a variable is, you also know whether or not it is a good
leverage point to bring about change. If something has low sensitivity, then you know that it will require a lot of new
input to create change, meaning that it may be useless as a policy practise. Also, you test sensitivity when a
parameter value is only an approximation and you are interested in whether variability within a reasonable range
makes any difference to outcomes that you care about. Is more precision needed on a value that you are using or
does it not matter? In summary, if you show that the system does not react greatly to a change in a parameter value,
you reduce uncertainty in the behaviour of the model. On the other hand, if you find that the model is highly
sensitive to changes in a certain variable, you can target that variable for policy interventions.

Kaibab Plateau Exercise TE R13

82 / 116

Don't confuse sensitivity analysis with validation. Validation is the process of checking if the model matches the
reference mode or expected behaviour; it usually ends once you can match the reference mode or meet other tests
for establishing confidence in your model. . Sensitivity analysis tells you which variables are most susceptible to
change so know where to best apply leverage in order to enact change. You perform sensitivity analysis while
constructing the model and after completing it in order to evaluate changes and make policy decisions.

Also, if a variable is sensitive contrary to expectations, it can mean that there may be something wrong with the
model or with the expected results. In that case, you should do further validation, sensitivity testing, and analysis
before coming to a conclusion.

For more detailed information, read Sterman, Section 21.4.11, Sensitivity Analysis.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

83 / 116

4.12 Performing Sensitivity Analysis via Sim Setup

The quickest way to perform sensitivity analysis in Vensim is via Sim Setup, which performs immediate sensitivity
analysis; these runs are not stored in Vensim. To generate runs that you want to save, use the normal naming and
simulating function.

Figure 38 Sim Setup options

Step 1.

Click Sim Setup.


The variables that can be changed are highlighted.

Step 2.

Select the variable whose value you want to change and enter the new value.

Step 3.

Click Simulate.
After running the model with the new value, the model reverts to the default value.

Note: Remember that when you change values via Sim Setup, the value is only retained for the duration of the run. If
you want to permanently change the value, you must do so via the Equations box. When using Sim Setup, it is
particularly important to take careful notes on your experiments. You must resist the temptation to treat Sim Setup
as a game and perform haphazard experiments in place of the careful, recommended modelling process
documented here.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

84 / 116

4.13 Changing Time Settings

If you have a model that takes place over a long period of time, you can change the time step so that major trends
are highlighted instead of being obscured by too much data.

To view a table with fewer values, in the toolbar:

Step 1.

Go to Model > Settings > Time Bounds.

Step 2.

Remove the check for Save results every TIME STEP.

Step 3.

In or use SAVPER enter 5.


This displays information for every 5 years instead of every year.

Note the difference between the time step and the save period: the time step is how often Vensim will record data
(which is every year for this model, by default) while the save period is the iteration at which Vensim will display
data, in this case, every 5 years.

Go back to Section 3.2, Exercise 2: Deer Deaths.

Kaibab Plateau Exercise TE R13

85 / 116

4.14 Understanding Lookup Functions

Lookup functions are used to represent non-linear, causal relationships between two variables. This is particularly
useful where quantitative data is limited but contextual knowledge exists. You may need a lookup function in
situations where you have:
1. One input variable and one output variable
2. Variables that transition across two sectors

In older model descriptions, lookup functions are called Table Functions.

In order to create a lookup function, for each variable on the X and Y axes, you need:
1. The upper bound values
2. The lower bound values
3. To understand how the variables are linked; i.e., the relationship between the two must make sense within
the boundaries of the problem you are modelling

For more information on lookups, see the Vensim Reference Manual, Chapter 4: Lookups, and the Vensim Users
Guide, Chapter 8.

Kaibab Plateau Exercise TE R13

86 / 116

4.15 Creating Lookup Functions

Step 1.

Open the equation editor for Deer Killed per Lion.

Step 2.

Keep Type as Auxiliary but change Sub-Type to with Lookup.

Figure 39 Lookup options

Step 3.

In Equations, select Deer Density as the variable. This is what appears on the x-axis of the graph we will
make.

Step 4.

Click As Graph.
The Graph Lookup dialog box appears.

Step 5.

Enter the input and output values, the name of the independent variable on the horizontal axis, and the
name of the dependent variable in the box on the right hand side.

Kaibab Plateau Exercise TE R13

87 / 116

4.16 Exporting Lookup Graphs

The lookup function appears in the model, but when documenting a model, the initial lookup graph may be needed
as well. Unfortunately, Vensim does not offer a way to directly export this graph. As a workaround, either:
84. Rebuild the graphs/tables in a program such as Microsoft Excel and then insert them into reports
85. Use screen capture software
86. Open a graph or Causes Strip graph. The lookup should appear and can be exported as a normal graph.
Go back to Section 0,

Kaibab Plateau Exercise TE R13

88 / 116

(Review 1).
About the reading

in Sterman, Chapter 3. The modeling process. Focus on Tabel

3-1
Why are we spending so much time with the Kaibab Pleateau problem
(Review)
13. A real world policy problem the problem is created by a policy
intervention
14. The system begins in a state of equilibrium (whether or not it is desirable
is a matter of judgement)
15. The full implications of the policy intervention are unanticipated
16. An empirical reference mode, that provides a clear example the
relationship between structure and behaviour.
17. A long time horizon.
18. There is an unambiguous dynamic hypothesis - structure and behavior
19. The model is of manageable size - 3 stocks it is a good exemplar for
your projects
20. The model boundaries are relatively straightforward.
21. The Issues involve stake holders with conflicting values
22. The issue population growth that is unsustainable, that exceeds the
carrying capacity of the species niche, is generic
23. The limiting factor changes as a consequence of the policy intervention.
24. The model provides a metaphor for a larger problem, the challenges faced
by the human species as a consequence of behaviours that are exceeding the
carrying capacity of planet earth.

Kaibab Plateau Exercise TE R13

Exercise 3: Deer Killed by Mountain Lions.

89 / 116

Kaibab Plateau Exercise TE R13

90 / 116

4.17 Creating STEP Functions

STEP functions are used to inject data into a constant (often as a policy intervention) at a fixed point in time. When
formulating a STEP function, think of a narrative to describe it. For example, to get a stereo to turn on at 30% volume
at 7 AM, the function would look like:
87. STEP (0.3, 7)

Lions Killed Bounty is a bit trickier and involves more than one STEP command in addition to basic arithmetic. This is
because you are modelling the start and end of a policy intervention, in this case, the effect of a bounty-hunting
program. In the beginning, the normal rate of mountain lions killed by hunters was 10% (0.1). In 1906, a bounty was
imposed and the rate of mountain lions killed by hunters was 20% (0.2). So the total number of lions killed jumps up
to 30% (0.1 + 0.2 = 0.3). Sometime after our period of study, it returns to 10%.

Another way to think about it is:


88. Normal rate (0.1), followed by STEP UP (0.1 + 0.2 = 0.3), then STEP DOWN (0.3 - 0.2 = 0.1), where STEP UP is
when the STEP function should start and STEP DOWN is where is the function should end.

To create a STEP function:

Step 1.

Open the equation editor for Lions Killed.

Step 2.

Scroll through the Functions list and select STEP.


A formula appears in the Equations box.

Step 3.

Select the variables to enter for +STEP and STEP from the Variables table on the right.

Step 4.

Click Check Syntax.


Vensim verifies that the equation is formulated correctly.

Step 5.

Click OK.

Kaibab Plateau Exercise TE R13

91 / 116

Figure 40 STEP function selections highlighted

Go back to Section 3.4, Exercise 4: Lions and Lion Hunting.

Kaibab Plateau Exercise TE R13

92 / 116

4.18 Adding Shadow Variables

To connect LIONS with Deer Killed by Lions, a long connecting arrow can be used, but this is inelegant because a
good model should also be pleasing to the eye, without loops crossing over one another and across the page.
Instead, a shadow variable is used. A shadow variable is like a shortcut connecting two existing variables that may be
located away from one another.

To add a shadow variable:

Step 1.

In the Vensim toolbar, in the second row, click on the shadow variable icon.

Step 2.

Click on the location where you want to insert the shadow variable.
A list of all of the variables in the model appears.

Step 3.

Select the variable you want to add, in this case LIONS.


The shadow variable appears in grey on the page, bracketed by single chevrons.

Step 4.

Link the shadow variable to another variable as you normally would.

While shadow variables resemble normal variable there are a few important differences:

Inputs and Outputs Shadow variables can only serve as an input, not an output, meaning that you can link
from a shadow variable to another variable but from another variable to a shadow variable. Any input to a
shadow variable must go to the original variable instead.

Deletion Be careful when deleting shadow variables. Shadow variables are not just proxies for the original
variable, meaning that if you erase a shadow variable using the Delete button on the toolbar, the original
variable is also erased. There are ways to simply delete a shadow variable, however.

Go back to Section 3.4, Exercise 4: Lions and Lion Hunting.

Kaibab Plateau Exercise TE R13

93 / 116

4.19 Deleting Shadow Variables

You must be careful when deleting shadow variables since they are not just proxies for the original variable. If you
erase a shadow variable using the Delete button on the toolbar, the original variable is also erased. There are ways
to simply delete a shadow variable, however.

Step 1.

Select the variable via the Move/Size button in the toolbar.

Step 2.

In the menu bar, select Cut.


The following window appears with three deletion options:

1
2
3

Figure 41 Options to delete shadow variables

1. The shadow variable and the original variable are deleted, changing the structure of the model. This is the
same as clicking Delete.
2. Only the shadow variable is deleted, not the original variable. Vensim will also automatically link the original
variables.
3. The same as number 2.

Remember that time is present as a background variable in the model per the settings you entered when you started
the model. If needed, you can add it to the modelling area as a shadow variable. You will not need it as such in
modelling assignment, but it is useful to keep this functionality in mind.
Go back to Section 3.4, Exercise 4: Lions and Lion Hunting.

Kaibab Plateau Exercise TE R13

94 / 116

4.20 Understanding Warnings

When running the model, warnings may appear; do not be alarmed. Warnings simply mean that values of
independent variables in lookup functions are outside the minimum or maximum ranges that have been specified.
For example:
89. In 1900, the value of Vegetation Available per Deer is greater than the upper bound of 1.0 vegetation unit
per deer that was specified. When this happens, the output (Deer Average Lifetime) will not exceed the five
years set as the upper bound.
90. In 1921, the deer population rises above 60 per acre (the maximum number that lions can kill in a year) and
remains at that level for the remainder of the simulation.
91. In 1927, Vegetation Available per Deer falls below 1.0 unit.

Go back to Section 3.5, Exercise 5: Creating Vegetation Consumption.

Kaibab Plateau Exercise TE R13

95 / 116

4.21 Finalising a Model

Once a model is complete, perform the following checks:

Check Model Checks the structure of the model.

Units Check Checks units for consistency. Be sure that all units have been entered and checked before
doing this. Assuming that the units are clear and have been entered consistently, this should not be a
problem.

Step 1.

In the Vensim menu bar, go to Model and select a check.


Vensim will present a report with the errors or inconsistencies in the model.

Vensim can run a model with unit errors, but will not run if there are structural problems in the model, so pay
attention to the error messages.

If you get a Simultaneous Equations error, this means that the values for the noted variables are interdependent,
so Vensim can't calculate them since they are in a loop that has no stock variable; this is usually the result of an
incorrect formulation when linking variables, or incorrectly entering the type of variable, e.g. auxiliary vs. level.
Go back to Section 3.6, Exercise 6: Creating Vegetation Supply.

Kaibab Plateau Exercise TE R13

96 / 116

4.22 Graphing Multiple Variables

To show multiple variables on a single graph, hold the Shift key on the keyboard before selecting the variables that
you want to display. As you select additional variables, the variable is highlighted and a dotted border appears
around the variables. In the example below, Vegetation Growth and Vegetation Consumed have been selected.

Figure 42 Stock-and-flow diagram with two variables selected

For variables that do not use commensurate values, separate values will appear for each axis.

Go back to Section 3.1, Exercise 1: Deer Births.

Kaibab Plateau Exercise TE R13

97 / 116

4.23 Creating Custom Graphs

The Control Panel is used to create custom graphs and switch the runs that are being viewed, in addition to the data
that is in the graphs. This can be useful for viewing changes and when doing sensitivity analysis with the model. If
you are using different datasets, you need to keep a separate listing of your dataset names, because when you are
creating a custom graph, you will not be able to access the control panel where the names of your datasets are
listed.

Step 1.

First, click on Control Panel near the top-right of the window, or go to Window > Control Panel.
The Control Panel appears.

Step 2.

Select Graphs.
The graphs tab opens.

Click on Graphs

Select New

Figure 43 Selecting a new graph

Step 3.

Click on New.
The custom graph page appears.

Step 4.

At a minimum, fill in the fields indicated by the arrows.

Kaibab Plateau Exercise TE R13

98 / 116

Figure 44 Fields needed for custom graph

Step 5.

Set the minimum and maximum values for each graph; this is useful for comparing sets of data with
widely divergent data ranges.

Step 6.

Click on Sel to choose which variables to display in the graph. Usually, only key information such as
stocks and levels need to be shown.

Step 7.

Click OK, then Display in the Control Panel Window.


The graph appears in a window.

This window can be closed and accessed from the Control Panel. Feel free to experiment with the types of graphs
made for reports and presentations.

Kaibab Plateau Exercise TE R13

99 / 116

4.24 Colouring Arrows and Variables

For each sector, and often to make certain variables more discernible, it is useful to colour arrows in different
colours to visually distinguishable sectors from one another; this is especially useful if you have a lot of variables on
one page. For example, in this exercise, we use blue for deer, red for lions, and green for vegetation.

To colour arrows and variables:

Step 1.

Select the arrow you want to colour. You can select multiple arrows by holding down CTRL and selecting
a sector or selecting multiple arrows.

Method 1

Step 2.

In the toolbar at the bottom of the window, click on the colour box and select a colour.

Figure 45 Toolbar with colour selection box highlighted

The arrows and/or variables are coloured.

Or

Method 2

Step 2.

Right-click on the arrow.


The Options for Arrow menu appears.

Kaibab Plateau Exercise TE R13

100 / 116

Figure 46 Arrow colour selection highlighted

Step 3.

In Color, select a colour.


The arrows and/or variables are coloured.

Go back to Section 2.2, Modelling Process and Terminology.

Kaibab Plateau Exercise TE R13

101 / 116

5.0 Goodmans Diagrams


The Kaibab Plateau exercise is described in some detail in Exercise 15 in Goodman (1989). His formulations of the
causal loop and stock-and-flow diagrams differ from the ones we have done in a few different ways that may be of
interest to the reader. As a reference, both are included here (Sections 5.1, Goodmans Causal Loop Diagram and
5.2, Goodmans Stock-and-Flow Diagram), along with a graph of the results he obtained (Section 5.3, Goodmans
Model Behaviour).

5.1

Goodmans Causal Loop Diagram

Figure 47 Causal loop diagram16

16

From Goodman, pg. 381.

Kaibab Plateau Exercise TE R13

5.2

102 / 116

Goodmans Stock-and-Flow Diagram

Figure 48 Stock-and-Flow Diagram17

17

From Goodman, pg. 382.

Kaibab Plateau Exercise TE R13

5.3

Goodmans Model Behaviour

Figure 49 Growth and decline of deer on the Kaibab Plateau18

18 18

From Goodman, pg. 388.

103 / 116

Kaibab Plateau Exercise TE R13

104 / 116

6.0 Model Reference Material

6.1

Causal Loop Diagram

Deer Average
Lifetime

Deer Birth Rate


+

Deer Population
Growth
Deer Births

Deer Population
Decline

Deer

+
Deer Deaths
+

+
Deer Killed by
Lions

Lion Average
Lifetime

Lion Birth Rate

Lion Births

Lion Population
Growth

Lion Population
Decline

Lions

+
Lion Deaths
+

Lion Hunting

Vegetation Growth
Vegetation Growth
-

Vegetation
-

Vegetation
Consumed

Vegetation
Consumption

Vegetation
Consumed per Deer

Kaibab Plateau Exercise TE R13

6.2

105 / 116

Stock-and-Flow Diagram

Vegetation
Available per Deer

O
S

Vegetation
Consumed per
Deer

VEGETATION
CONSUMPTION

Vegetation Initial
<DEER>
S

S
S
VEGETATION

Vegetation
Consumption

Vegetation
Growth
O

Vegetation
Deficit

Vegetation
Capacity

Deer Average
Lifetime

VEGETATION
REGENERATION

Vegetation Supply /
Capacity Ratio

Vegetation
Regeneration Time
O

Deer Initial

Deer Birth Rate

DEER
DECLINE

O
DEER
Deer Births

Deer Deaths
DEER
GROWTH

DEE
R
HE
RD
G
ROW
TH

<LIONS>

DEER KILLED
BY LIONS
S

S
Deer Killed by
Lions

Deer Density
O

S
Deer Killed per
Lion

Land Area

Lions Average
Lifetime

LION DECLINE

Lions Initial

Lion Birth Rate

Legend

Rate

S
LIONS
Lion Births

Initial

Lion Deaths
LION GROWTH

Lion Bounty
Start Time

S
S
O

S
Lions Killed
S

Step
Lion Bounty
End Time

S
Lions Killed
Normal

Lookup

Lions Killed
Bounty

Kaibab Plateau Exercise TE R13

6.3

106 / 116

Vensim Equations

Legend
Rate
Initial
Lookup
Step

(01)

DEER = INTEG (Deer Births-Deer Deaths, Deer Initial)


Units: Deer

(02)

Deer Average Lifetime = WITH LOOKUP (Vegetation Available per Deer, ([(0,0)-(1,5)], (0,0),(0.4,2),(0.6,4),(1,5)
))
Units: Years

(03)

Deer Birth Rate = 0.5


Units: Deer/Deer/Year

(04)

Deer Births = DEER*Deer Birth Rate


Units: Deer/Year

(05)

Deer Deaths = (DEER/Deer Average Lifetime)+Deer Killed by Lions


Units: Deer/Year

(06)

Deer Density = DEER/Land Area


Units: Deer/acre

(07)

Deer Initial = 4000


Units: Deer

(08)

Deer Killed by Lions = Deer Killed per Lion*LIONS


Units: Deer/Year

Kaibab Plateau Exercise TE R13

(09)

Deer Killed per Lion = WITH LOOKUP (Deer Density,


([(0,0)(0.05,60),(0,0),(0.005,3),(0.025,30),(0.05,60)],(0,0),(0.005,3),(0.025,30),(0.05,60) ))
Units: Deer/lion

(10)

FINAL TIME = 1950


Units: Year

(11)

INITIAL TIME = 1900


Units: Year

(12)

Land Area = 800000


Units: acre

(13)

Lion Birth Rate = 0.2


Units: LIONS/LIONS/Year

(14)

Lion Births = LIONS*Lion Birth Rate


Units: LIONS/Year

(15)

Lion Bounty End Time = 1950


Units: Year

(16)

Lion Bounty Start Time = 1906


Units: Year

(17)

Lion Deaths = (LIONS/Lions Average Lifetime)+Lions Killed


Units: LIONS/Year

(18)

LIONS = INTEG (Lion Births-Lion Deaths, Lions Initial)


Units: LIONS

(19)

Lions Average Lifetime = 10


Units: Years

(20)

Lions Initial = 400


Units: LIONS

107 / 116

Kaibab Plateau Exercise TE R13

(21)

Lions Killed = LIONS*(Lions Killed Normal+STEP(Lions Killed Bounty, Lion Bounty Start Time)-STEP(Lions Killed
Bounty, Lion Bounty End Time))
Units: LIONS

(22)

Lions Killed Bounty = 0.2


Units: LIONS

(23)

Lions Killed Normal = 0.1


Units: LIONS

(24)

SAVEPER = TIME STEP


Units: Year [0,?]

(25)

TIME STEP = 1
Units: Year [0,?]
The time step for the simulation

(26)

VEGETATION = INTEG (Vegetation Growth-Vegetation Consumption, Vegetation Initial)


Units: Vegetation Units

(27)

Vegetation Available per Deer = VEGETATION/DEER


Units: Units/Deer

(28)

Vegetation Capacity = 200000


Units: Units

(29)

Vegetation Consumed per Deer = WITH LOOKUP (Vegetation Available per Deer, ([(0,0)(2,1)],(0,0),(1,0.8),(2,1)))
Units: Units/Deer

(30)

Vegetation Consumption = Vegetation Consumed per Deer*DEER


Units: Units/Year

(31)

108 / 116

Vegetation Deficit = Vegetation Capacity-VEGETATION


Units: Units

Kaibab Plateau Exercise TE R13

(32)

Vegetation Growth = Vegetation Deficit/Vegetation Regeneration Time


Units: Units/Year

(33)

Vegetation Initial = 200000


Units: Units

(34)

Vegetation Regeneration Time = WITH LOOKUP ("Vegetation Supply / Capacity Ratio",([(0,0)(1,40)],(0,40),(0.5,5),(1,1)))


Units: Years

(35)

"Vegetation Supply / Capacity Ratio" = VEGETATION/Vegetation Capacity


Units: Dmnl

109 / 116

Kaibab Plateau Exercise TE R13

110 / 116

7.0 Report Elements

7.1

Report Checklist

Below is a list and description of the elements that are useful to include in almost any policy analysis deliverable
based on a system dynamics model.

92. Problem context, problem definition, and reference mode

Why is the problem significant?

Why is addressing the issues it raises a matter of consequence?

What I find most helpful is a very brief framing of the problem as a question, specifically
referring to:

A reference mode, followed by

A further elaboration of the problem context, significance, and more general


relevance

93. State-of-knowledge Assessment

What is known about the problem being analysed or question(s) to be answered?

The term literature review is often used to describe this element of research projects,
system dynamics modelling and otherwise. However, in system dynamics, state-ofknowledge assessment is preferred because it emphasizes that the review should focus
on what is known and not known about the problem being investigated.

94. (Sub) Systems or Sectors

What are the principal (sub) systems and sectors?

What are the relationships between them?

This is particularly helpful for larger models, but useful even where the model is relatively
small.

95. Causal loop Diagram(s)

Have you included a representation and contextual description of the major causal loops?

It is useful to represent the causal loop diagrams for different model sectors separately.

96. Dynamic Hypothesis

How does the model structure generate the reference mode?

The dynamic hypothesis posits why the structure represented by the causal loop diagram
generates the behaviour pictured and described in the reference mode.

Kaibab Plateau Exercise TE R13

111 / 116

97. Stock-and-Flow Diagram and Equations


o

Have you included a representation and contextual description of the stocks-and-flows of


the model?

Have you linked the variables via equations with units?

Have you included a propositional inventory? A propositional inventory is a list describing


the relations between two or more variables, stating how and why they are linked, and
how their behaviour influences other variables.

Jay Forresters work provides an excellent example of how equations should be


documented. Note that Professor Forrester does not use causal loop diagrams, especially
in is classic models, Urban Dynamics and World Dynamics. However, he does discuss that
the behaviour of his models is determined by the model structure, that is, by the models
positive and negative feedback loops and by how shifts in loop dominance produce
changes in behavioural patterns.

98. Testing and Validation

Does the model reproduce the reference mode with some degree of fidelity?

Does the model provide an adequate explanation of the problematic behaviour in the
reference mode?

Are you confident in the model? What justifies this confidence?

Testing and validation justify using the model for policy analysis and recommendations.

99. Analysis and Recommendations

What policies will be tested and analysed in the model?

What are the results?

Kaibab Plateau Exercise TE R13

112 / 116

Also see Sterman pg. 86, Table 3-1, Steps of the modeling process for a list of steps that you should perform while
modelling:

100.

Problem Articulation (Boundary Selection)

Theme selection: What is the problem? Why is it a problem?

Key variables: What are the key variables and concepts we must consider?

Time horizon: How far in the future should we consider? How far back in the past lie the
roots of the problem?

Dynamic problem definition (reference modes): What is the historical behaviour of the key
concepts and variables? What might their behaviour be in the future?

101.

Formulation of Dynamic Hypothesis

Initial hypothesis generation: What are current theories of the problematic behaviour?

Endogenous focus: Formulate a dynamic hypothesis that explains the dynamics as


endogenous consequences of the feedback structure.

Mapping: Develop maps of causal structure based on initial hypotheses, key variables,
reference modes, and other available data, using tools such as

Model boundary diagrams,

Subsystem diagrams,

Causal loop diagrams,

Stock and flow maps,

Policy structure diagrams,

Other facilitation tools.

102.

Formulation of a Simulation Model

Specification of structure, decision rules.

Estimation of parameters, behavioural relationships, and initial conditions.

Tests for consistency with the purpose and boundary.

103.

Testing
o

Comparison to reference modes: Does the model reproduce the problem behaviour
adequately?

Robustness under extreme conditions: Does the model behave realistically when stressed
by extreme conditions?

Sensitivity: How does the model behave given uncertainty in parameters, initial
conditions, model boundary, and aggregation?

... Many other tests (see chapter 21).

Kaibab Plateau Exercise TE R13

104.

113 / 116

Policy Design and Evaluation

Scenario specification: What environmental conditions might arise?

Policy design: What new decision rules, strategies, and structures might be tried in the real
world? How can they be represented in the model?

"What if..." analysis: What are the effects of the policies?

Sensitivity analysis: How robust are the policy recommendations under different scenarios
and given uncertainties?

Interactions of policies: Do the policies interact? Are there synergies or compensatory


responses?

Go back to Section 2.3, Modelling Conventions.

Kaibab Plateau Exercise TE R13

7.2

114 / 116

Written Report Mark Sheet

This mark sheet is a template used to evaluate system dynamics reports. For this exercise, however, because we
already know about the Kaibab Plateau, content for the Problem Definition and Context and Model Content and
Dynamic Hypothesis sections can be short. Instead, for this report, focus on answering the questions in Exercises 7
and 8 to complete the Validation and Conclusions sections.

Kaibab Plateau Assignment Written Report Mark Sheet


Name(s)

Subject

Problem

Problem Definition and Context (1)

0.75

Is there a reference mode with a narrative description?

Is there a problem definition with questions that the model will be used to answer?

Is there a problem context explaining the relevance of the problem?

Is there a state-of-knowledge assessment?


Subtotal 1 0.75

Model Content and Dynamic Hypothesis (1)


105.

0.5

Is the structure of the model described? Are there causal loop and stock-and-flow

diagrams? Are major sectors identified and described, with polarities? Are the variables of
each sector relevant to generating the reference mode and answering the problem
definition? Is there a narrative description of the sectors, variables, and linkages? Is the
model technically correct?

Model

106.

Does the dynamic hypothesis describe how the loops generate the behaviour in the

reference mode?
107.

Are there equations with rationales, including parameter values (constants) and

functions? Do the variables have dimensions?


Validation (3)

2.5

108.

Does the report answer the questions in Exercise 7?

109.

Does the model reproduce the reference mode?

110.

Does it generate stable behaviour that is realistic and understandable? If applicable,

does the report include plausible rationales for transient behaviour, instability, or failure to
reproduce the reference mode?

Kaibab Plateau Exercise TE R13

115 / 116

Conclusions (3)

111.

Does the report answer the questions in Exercise 8?

112.

Are there multiple runs (especially policy analysis runs) to examine model

behaviour?
113.

Is there a clear discussion of the policy implications of the model and areas for

further research?
114.

Do the policies identify actors and stakeholders who will be impacted by the

policies?
115.

Are the conclusions clearly presented? Are they interesting or innovative?


Subtotal 2 5

Content (1)

0.5

Presentation

Is the report sufficient? Is it accurate? Does it meet or exceed expectations?


It is presented in a professional manner? Is it well organised, clear, and accessible?
Is it well written?
Is it free of errors in spelling, grammar, and punctuation?
Creativity (1)

0.75

Is it creative, original, or brilliant? Is it memorable?


Subtotal 3 1.25
Penalty -0.5
Total (10) 6.5

Overall

Comments

Kaibab Plateau Exercise TE R13

116 / 116

8.0 Bibliography
1. Goodman, Michael R. Exercise 15 Kaibab Plateau Model Study Notes in System Dynamics. Cambridge,
MA: MIT Press, 1989, pg. 377-388.

2. Richardson, John and Rehan Ali, Kaibab Model Complete R0.

3. Roberts, Nancy, et al., Chapter 18 Modeling the Ecology of the Kaibab Plateau, Introduction to Computer
Simulation: The System Dynamics Approach. Addison Wesley Publishing Co. 1983, pg. 337-352.

4. Sterman, John, Business Dynamics: Systems Thinking and Modeling for a Complex World. Boston:
Irwin/McGraw-Hill, 2004.

Vous aimerez peut-être aussi