1
Stock & Flow Diagrams
James R. Burns
2
What are stocks and flows?? A way to characterize systems as stocks
and flows between stocks Stocks are variables that accumulate
the affects of other variables Rates are variables the control the flows
of material into and out of stocks Auxiliaries are variables that modify
information as it is passed from stocks to rates
3
Stock and Flow Notation--Quantities STOCK
RATE
Auxiliary
Stock
Rate
i1
i2
i3
Auxiliary
o1
o2
o3
4
Stock and Flow Notation--Quantities
Input/Parameter/Lookup
Have no edges directed toward them Output
Have no edges directed away from them
i1
i2
i3
Auxiliary
o1
o2
o3
5
Inputs and Outputs Inputs Parameters Lookups
Inputs are controllable quantities Parameters are environmentally defined
quantities over which the identified manager cannot exercise any control
Lookups are TABLES used to modify information as it is passed along
Outputs Have no edges directed away from them
Input/Parameter/Lookup
a
b
c
6
Stock and Flow Notation--edges Information
Flow
a b
x
7
Review of the Methodology Acquire verbal descriptions List variables, constants, parameters Delineate Causal Loop Diagram Translate CLD to Stock-and-Flow Diagram Delineate SFT in VENSIM Determine equations Run simulations, conducting “what if”
experiments
8
Some rules There are two types of causal links in
causal models Information Flow
Information proceeds from stocks and parameters/inputs toward rates where it is used to control flows
Flow edges proceed from rates to states (stocks) in the causal diagram always
9
Robust Loops In any loop involving a pair of
quantities/edges, one quantity must be a rate the other a state or stock, one edge must be a flow edge the other an information edge
10
CONSISTENCY All of the edges directed toward a
quantity are of the same type All of the edges directed away
from a quantity are of the same type
Monday, Nov. 24, 2003 11
Rates and their edges
q1
q2
q3
RATES
q4
q5
q6
Informationedges
Flow edges
12
Parameters and their edges
PARAMETER
q1
q2
q3
Informationedges
13
Stocks and their edges
q1
q2
q3
STOCK
q4
q5
q6
Flow edges Information edges
14
Auxiliaries and their edges
AUXILIARY
q1
q2
q3
q4
q5
q6
Informationedges
Informationedges
Monday, Nov. 24, 2003 15
Outputs and their edges
OUTPUT
q1
q2
q3
Informationedges
16
STEP 1: Identify parameters Parameters have no edges
directed toward them
17
STEP 2: Identify the edges directed from parameters These are information edges
always
18
STEP 3: By consistency identify as many other edge types as you can
Monday, Nov. 24, 2003 19
STEP 4: Look for loops involving a pair of quantities only
Use the rules for robust loops identified above
Monday, Nov. 24, 2003 20
q1
q2
q3 q4
q5
q6
q7
q8
Monday, Nov. 24, 2003 21
q3
q6
q2
q7
q1
q4
q5 q8
Monday, Nov. 24, 2003 22
Monday, Nov. 24, 2003 23
Distinguishing Stocks & Flows by NameNAME UNITS
Stock or flow Revenue Liabilities Employees Depreciation Construction starts Hiring material standard of living
Monday, Nov. 24, 2003 24
System Dynamics Software STELLA and I think
High Performance Systems, Inc. best fit for K-12 education
Vensim Ventana systems, Inc. Free from downloading off their web site:
www.vensim.com Robust--including parametric data fitting and
optimization best fit for higher education
Powersim What Arthur Andersen is using
Monday, Nov. 24, 2003 25
The VENSIM User Interface The Time bounds Dialog box
Monday, Nov. 24, 2003 26
Monday, Nov. 24, 2003 27
Monday, Nov. 24, 2003 28
Monday, Nov. 24, 2003 29
A single-sector Exponential growth Model Consider a simple population with infinite
resources--food, water, air, etc. Given, mortality information in terms of birth and death rates, what is this population likely to grow to by a certain time?
Over a period of 200 years, the population is impacted by both births and deaths. These are, in turn functions of birth rate norm and death rate norm as well as population.
A population of 1.6 billion with a birth rate norm of .04 and a death rate norm of .028
Monday, Nov. 24, 2003 30
Let’s Begin by Listing Quantities Population Births Deaths Birth rate norm Death rate norm
Monday, Nov. 24, 2003 31
Births
population
Deaths
Birth rate normal
Death rate normal
R
B
++
+
+
+
--
Monday, Nov. 24, 2003 32
Birth rate norm
Death rate norm
Population
Birth rate
Death rate
P
BRN
DRN
BR
DR
Monday, Nov. 24, 2003 33
Equations Birth rate = Birth rate norm * Population Death rate = Death rate norm *
Population Population(t + dt) = Population(t) +
dt*(Birth rate – Death rate) t = t + dt Population must have an initial defining
value, like 1.65E9
Monday, Nov. 24, 2003 34
Units Dissection Birth rate = Birth rate Norm *
Population [capita/yr] = [capita/capita*yr] *
[capita]
Monday, Nov. 24, 2003 35
Monday, Nov. 24, 2003 36
A single-sector Exponential goal-seeking Model
Sonya Magnova is a resources planner for a school district. Sonya wishes to a maintain a desired level of resources for the district. Sonya’s new resource provision policy is quite simple--adjust actual resources AR toward desired resources DR so as to force these to conform as closely as possible. The time required to add additional resources is AT. Actual resources are adjusted with a resource adjustment rate
Monday, Nov. 24, 2003 37
What are the quantities?? Actual resources Desired resources Resource adjustment rate Adjustment time
Monday, Nov. 24, 2003 38
Desired resources
Actual resources
Resourceadjustment rate
Adjustment time
+
--
--
+
Monday, Nov. 24, 2003 39
Desired Resources Adjustment time
ActualResources
Resourceadjustment rate
+-
-
Monday, Nov. 24, 2003 40
Equations Adjustment time = constant Desired resources = variable or constant Resource adjustment rate = (Desired
resources – Actual resources)/Adjustment time
Actual resources(t + dt) = Actual resources(t) + dt*Resource adjustment rate
Initial defining value for Actual resources
Monday, Nov. 24, 2003 41
Equation dissection Resource adjustment rate = (Desired
resources – Actual resources)/Adjustment time
An actual condition—Actual resources A desired condition—Desired resources A GAP—(Desired resources – Actual
resources) A way to express action based on the GAP:(Desired resources – Actual
resources)/Adjustment time
Monday, Nov. 24, 2003 42
Units checkResource adjustment rate = (Desired
resources – Actual resources)/Adjustment time
[widgets/yr] = ([widgets] – [widgets])/[yr]
CHECKS
Notice that rates ALWAYS HAVE THE UNITS OF THE ASSOCIATED STOCK DIVIDED BY THE UNITS OF TIME, ALWAYS
Monday, Nov. 24, 2003 43
(1) Actual Resources= INTEG (Resource adjustment rate, 10)Units: **undefined**
(2) Adjustment time= 10Units: **undefined**
(3) Desired Resources= 1000Units: **undefined**
(4) FINAL TIME = 100Units: MonthThe final time for the simulation.
Monday, Nov. 24, 2003 44
(5) INITIAL TIME = 0Units: MonthThe initial time for the simulation.
(6) Resource adjustment rate=(Desired Resources - Actual
Resources)/Adjustment timeUnits: **undefined**
(7) SAVEPER = TIME STEP Units: Month [0,?]The frequency with which output is stored.
(8) TIME STEP = 1Units: Month [0,?]The time step for the simulation.
Monday, Nov. 24, 2003 45
Shifting loop Dominance Rabbit populations grow rapidly with a
reproduction fraction of .125 per month When the population reaches the carrying
capacity of 1000, the net growth rate falls back to zero, and the population stabilizes
Starting with two rabbits, run for 100 months with a time step of 1 month
(This model has two loops, an exponential growth loop (also called a reinforcing loop) and a balancing loop)
Monday, Nov. 24, 2003 46
Shifting loop Dominance Assumes the following relation for Effect of
Resources Effect of Resources = (carrying capacity -
Rabbits)/carrying capacity This is a multiplier Multipliers are always dimless
(dimensionless) When rabbits are near zero, this is near 1 When rabbits are near carrying capacity, this
is near zero This will shut down the net rabbit birth rate
Monday, Nov. 24, 2003 47
RabbitsNet Rabbit Birth rate
Effect of resourcesCarrying capacity
Normal Rabbit Growth Rate
B
R
Monday, Nov. 24, 2003 48
Rabbits
1,00040
00
0 20 40 60 80 100Time (Month)
Rabbits : rab1Net Rabbit Birth rate : rab1
Monday, Nov. 24, 2003 49
Dimensionality Considerations VENSIM will check for dimensional
consistency if you enter dimensions Rigorously, all models must be
dimensionally consistent What ever units you use for stocks,
the associated rates must have those units divided by TIME
An example follows
Monday, Nov. 24, 2003 50
Cascaded rate-state (stock) combinations In the oil exploration industry, unproven
reserves (measured in barrels) become proven reserves when they are discovered. The extraction rate transforms proven reserves into inventories of crude. The refining rate transforms inventories of crude into refined petroleum products. The consumption rate transforms refined products into pollution (air, heat, etc.)
Monday, Nov. 24, 2003 51
Another cascaded rate-stock combination Population cohorts. Suppose
population is broken down into age cohorts of 0-15, 16-30, 31-45, 46-60, 61-75, 76-90
Here each cohort has a “lifetime” of 15 years
Again, each rate has the units of the associated stocks divided by time
Monday, Nov. 24, 2003 52
Project Dynamics Projects begin with a huge block of
uncompleted work. Eventually, all of this work gets completed. The rate at which uncompleted work gets finished and thus enters the realm of completed work is called the work rate. Obviously, the work rate would be a function of the number of workers, the efficiency with which they work and so forth.
Monday, Nov. 24, 2003 53
Stock & Flow Diagram for Projects
Uncompletedwork
Completedworkwork rate
Monday, Nov. 24, 2003 54
The Sector Approach to the Determination of Structure What is meant by “sector?” What are the steps…
to determination of structure within sectors?
to determination of structure between sectors?
Monday, Nov. 24, 2003 55
Definition of sector All the structure associated with a
single flow Note that there could be several
states associated with a single flow The next sector in the pet population
model has three states in it
Monday, Nov. 24, 2003 56
Sector Methodology, Overall Identify flows (sectors) that must
be included within the model Develop the structure within each
sector of the model. Use standard one-sector sub-models
or develop the structure within the sector from scratch using the steps in Table 15.5
Monday, Nov. 24, 2003 57
Sector Methodology, Overall Cont’d Develop the structure between all
sectors that make up the model Implement the structure in a
commercially available simulation package
Monday, Nov. 24, 2003 58
Steps Required to Formulate the Structure for a Sector from Scratch
Specify the quantities required to delineate the structure within each sector
Determine the interactions between the quantities and delineate the resultant causal diagram
Classify the quantity and edge types and delineate the flow diagram
Monday, Nov. 24, 2003 59
Resource, facility and infrastructure (desks, chairs, computers, networks, labs, etc.) needs for an educational entity are driven by a growing population that it serves. Currently, the population stands at 210,000 and is growing at the rate of two percent a year. One out of every three of these persons is a student.
One teacher is needed for every 25 students. Currently, there are 2,300 actual teachers; three percent of these leave each year. Construct a structure for each that drives the actual level toward the desired level. Assume an adjustment time of one year. Set this up in VENSIM to run for 25 years, with a time-step of .25 years.
Monday, Nov. 24, 2003 60
One-hundred square feet of facility space is needed for each student. Thirty-five hundred dollars in infrastructure is needed for each student. Currently, there is five million sq. ft of facility space, but this becomes obsolescent after fifty years. Currently, there is $205,320,000 in infrastructure investment, but this is fully depreciated after ten years. For each of infrastructure, teachers and facility space, determine a desired level or stock for the same. Construct a structure for each that drives the actual level toward the desired level.
Monday, Nov. 24, 2003 61
Set this up in VENSIM to run for 25 years, with a time-step of .25 years. Assume adjustment times of one year. DETERMINE HOW MUCH IN THE WAY OF FACILITIES, TEACHERS AND INFRASTRUCTURE ARE NEEDED PER YEAR OVER THIS TIME PERIOD.
Monday, Nov. 24, 2003 62
What are the main sectors and how do these interact?
Population Teacher resources Facilities Infrastructure
Monday, Nov. 24, 2003 63
Factors affecting teacher departures Inside vs. outside salaries Student-teacher ratios How might these affects be
included?
Monday, Nov. 24, 2003 64
Teacher departure description It is known that when the ratio of average
“inside the district” salary is comparable to outside salaries of positions that could be held by teachers, morale is normal and teacher departures are normal
When the inside-side salary ratio is less than one, morale is low and departures are greater than normal
The converse is true as well
Monday, Nov. 24, 2003 65
Teacher departure description When student-teacher ratios
exceed the ideal or desired student teacher ratio, which is twenty four, morale is low and again departures are greater than normal
The converse is true as well
Monday, Nov. 24, 2003 66
A Two-sector Housing/population Model A resort community in Colorado has
determined that population growth in the area depends on the availability of housing as well as the persistent natural attractiveness of the area. Abundant housing attracts people at a greater rate than under normal conditions. The opposite is true when housing is tight. Area Residents also leave the community at a certain rate due primarily to the availability of housing.
Monday, Nov. 24, 2003 67
Two-sector Population/ housing Model, Continued The housing construction industry, on the
other hand, fluctuates depending on the land availability and housing desires. Abundant housing cuts back the construction of houses while the opposite is true when the housing situation is tight. Also, as land for residential development fills up (in this mountain valley), the construction rate decreases to the level of the demolition rate of houses.
Monday, Nov. 24, 2003 68
What are the main sectors and how do these interact? Population Housing
Monday, Nov. 24, 2003 69
What is the structure within each sector? Determine state/rate interactions
first Determine necessary supporting
infrastructure PARAMETERS AUXILIARIES
Monday, Nov. 24, 2003 70
What does the structure within the population sector look like? RATES: in-migration, out-
migration, net death rate STATES: population PARAMETERS: in-migration normal,
out-migration normal, net death-rate normal
Monday, Nov. 24, 2003 71
What does the structure within the housing sector look like?
RATES: construction rate, demolition rate STATES: housing AUXILIARIES: Land availability multiplier,
land fraction occupied PARAMETERS: normal housing
construction, average lifetime of housing PARAMETERS: land occupied by each unit,
total residential land
Monday, Nov. 24, 2003 72
What is the structure between sectors? There are only AUXILIARIES,
PARAMETERS, INPUTS and OUTPUTS
Monday, Nov. 24, 2003 73
What are the between-sector auxiliaries? Housing desired Housing ratio Housing construction multiplier Attractiveness for in-migration
multiplier PARAMETER: Housing units
required per person
Monday, Nov. 24, 2003 74
Top Related