1 Stock & Flow Diagrams James R. Burns Fall 2010
Tuesday, September 05, 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
Tuesday, September 05, Stock and Flow Notation-- Quantities STOCK RATE Auxiliary
Tuesday, September 05, Stock and Flow Notation-- Quantities Input/Parameter/Lookup Have no edges directed toward them Output Have no edges directed away from them
Tuesday, September 05, 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
Tuesday, September 05, Stock and Flow Notation-- edges Information Flow
Tuesday, September 05, 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
Tuesday, September 05, 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
Tuesday, September 05, 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
Tuesday, September 05, Rates and their edges
Tuesday, September 05, Parameters and their edges
Tuesday, September 05, Stocks and their edges
Tuesday, September 05, Auxiliaries and their edges
Tuesday, September 05, Outputs and their edges
Tuesday, September 05, STEP 1: Identify parameters Parameters have no edges directed toward them
Tuesday, September 05, STEP 2: Identify the edges directed from parameters These are information edges always
Tuesday, September 05, STEP 3: By consistency identify as many other edge types as you can
Tuesday, September 05, STEP 4: Look for loops involving a pair of quantities only Use the rules for robust loops identified above
Tuesday, September 05,
Tuesday, September 05,
Tuesday, September 05, Distinguishing Stocks & Flows by Name NAME UNITS Stock or flow Revenue Liabilities Employees Depreciation Construction starts Hiring material standard of living
Tuesday, September 05, 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: Robust--including parametric data fitting and optimization best fit for higher education Powersim What Arthur Andersen is using
Tuesday, September 05, The VENSIM User Interface The Time bounds Dialog box
Tuesday, September 05,
Tuesday, September 05,
Tuesday, September 05,
Tuesday, September 05, 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
Tuesday, September 05, Let’s Begin by Listing Quantities Population Births Deaths Birth rate norm Death rate norm
Tuesday, September 05,
Tuesday, September 05,
Tuesday, September 05, 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.6E9
Tuesday, September 05, Units Dissection Birth rate = Birth rate Norm * Population [capita/yr] = [capita/capita*yr] * [capita]
Tuesday, September 05, 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
Tuesday, September 05, What are the quantities?? Actual resources Desired resources Resource adjustment rate Adjustment time
Tuesday, September 05,
Tuesday, September 05,
Tuesday, September 05, 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
Tuesday, September 05, Equation dissection Resource adjustment rate = (Desired resources – Actual resources)/Adjustment time 1. An actual condition—Actual resources 2. A desired condition—Desired resources 3. A GAP—(Desired resources – Actual resources) 4. A way to express action based on the GAP: (Desired resources – Actual resources)/Adjustment time
Tuesday, September 05, Units check Resource 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
Tuesday, September 05, (1) Actual Resources= INTEG (Resource adjustment rate, 10) Units: **undefined** (2)Adjustment time= 10 Units: **undefined** (3)Desired Resources= 1000 Units: **undefined** (4)FINAL TIME = 100 Units: Month The final time for the simulation.
Tuesday, September 05, (5)INITIAL TIME = 0 Units: Month The initial time for the simulation. (6)Resource adjustment rate= (Desired Resources - Actual Resources)/Adjustment time Units: **undefined** (7)SAVEPER = TIME STEP Units: Month [0,?] The frequency with which output is stored. (8)TIME STEP = 1 Units: Month [0,?] The time step for the simulation.
Tuesday, September 05, 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)
Tuesday, September 05, 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
Tuesday, September 05,
Tuesday, September 05,
Tuesday, September 05, 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
Tuesday, September 05, 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.)
Tuesday, September 05, 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, Here each cohort has a “lifetime” of 15 years Again, each rate has the units of the associated stocks divided by time
Tuesday, September 05, 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?
Tuesday, September 05, Definition of sector All the structure associated with a single flow Note that there could be several stocks associated with a single flow The uranium sector in the energy model has eight stocks in it
Tuesday, September 05, 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
Tuesday, September 05, 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
Tuesday, September 05, 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
Tuesday, September 05, 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.
Tuesday, September 05, 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.
Tuesday, September 05, 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.
Tuesday, September 05, What are the main sectors and how do these interact? Population Teacher resources Facilities Infrastructure
Tuesday, September 05, Factors affecting teacher departures Inside vs. outside salaries Student-teacher ratios How might these affects be included?
Tuesday, September 05, 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-outside salary ratio is less than one, morale is low and departures are greater than normal The converse is true as well
Tuesday, September 05, 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
Tuesday, September 05, 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.
Tuesday, September 05, 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.
Tuesday, September 05, What are the main sectors and how do these interact? Population Housing
Tuesday, September 05, What is the structure within each sector? Determine state/rate interactions first Determine necessary supporting infrastructure PARAMETERS AUXILIARIES
Tuesday, September 05, What does the structure within the population sector look like? RATES: in-migration, out-migration, net growth rate STATES: population PARAMETERS: in-migration normal, out- migration normal, net growth-rate normal
Tuesday, September 05, 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: construction time, average lifetime of housing PARAMETERS: land occupied by each unit, total residential land
Tuesday, September 05, What is the structure between sectors? There are only AUXILIARIES, PARAMETERS, INPUTS and OUTPUTS
Tuesday, September 05, What are the between-sector auxiliaries? Housing desired Housing ratio Housing construction multiplier Attractiveness for in-migration multiplier PARAMETER: Housing units required per person
Tuesday, September 05,
Tuesday, September 05, The Adjacency Matrix ||
Tuesday, September 05, The meaning of the adjacency matrix A way to store info about CLD’s internally within the computer A “1” in row i and column j means that the quantity associated with row i has an arrow directed to quantity associated with column j
Tuesday, September 05, Also known as the Square Ternary Matrix Be able to convert it to a causal loop diagram Be able to convert the CLD to a SDF Be able to write the rate equations associated with the SFD Assumes rates are multiplicative functions of their antecedents