0% found this document useful (0 votes)
24 views60 pages

System Dynamics

System dynamics modeling involves identifying key system variables and their relationships through causal loop diagrams and stock and flow diagrams. Causal loop diagrams show how variables causally impact each other through feedback loops. Stock and flow diagrams then represent levels or "stocks" of system variables and the "flows" that change these stock levels over time. Together these diagrams capture the structure and feedbacks that generate behavior in complex systems. Building system dynamics models in this way provides insights into how policies or interventions might shift system behavior.

Uploaded by

Kjara Hatia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
24 views60 pages

System Dynamics

System dynamics modeling involves identifying key system variables and their relationships through causal loop diagrams and stock and flow diagrams. Causal loop diagrams show how variables causally impact each other through feedback loops. Stock and flow diagrams then represent levels or "stocks" of system variables and the "flows" that change these stock levels over time. Together these diagrams capture the structure and feedbacks that generate behavior in complex systems. Building system dynamics models in this way provides insights into how policies or interventions might shift system behavior.

Uploaded by

Kjara Hatia
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 60

Introduction to System Dynamics

Overview

• Introduction
• General Information
• How to Build a System Dynamics Model
– System Variables and Boundaries
– Causal Loop Diagrams
– Stock-and-Flow Diagrams
• Helpful Tools
• Analysis
• Simulators
• Conclusion
• Further Steps
General Information (1)

• System Dynamics (short SD) is a modelling and


simulation method developed by Jay W. Forrester.
• He adapted methods formerly used for system
analysis of technological systems to social systems
(MIT Sloan School of Management, 1956).
• Thus he was criticising mathematical models
developed for management sciences.
• SD has roots on control theory and nonlinear
dynamics
• SD is very intuitive, supported by graphics
General Information (2)

Problem
Modelling
Model Structure
Model NOT OK
Model Analysis Identification:
Numeric/Programming Parameter Determination
Model Structure
Simulator OK

Basic Simulation

Simulation Results
Simulation Circle

Validation: Comparison & Validation: Analysis


Fit of Simulation / Reality Parameter / Model

Bad Fit

Good Fit
System Dynamics is a method
Experiments with Model
(„Simulation“)
to develop a conceptual/formal
model…
Problem Solution
General Information (2)

Problem
Modelling
Model Structure
Model NOT OK
Model Analysis Identification:
Numeric/Programming Parameter Determination
Model Structure
Simulator OK

Basic Simulation

Simulation Results
Simulation Circle

Validation: Comparison & Validation: Analysis


Fit of Simulation / Reality Parameter / Model

Bad Fit

Good Fit
…but it additionally gives
Experiments with Model
(„Simulation“)
guidelines how this model is
simulated
Problem Solution
General Information (3)

Hypothesis:
– Manager usually know very good about
processes and their causal relationships within
their companies (system).
– The behaviour of a system is mostly
predetermined by its (complex) structure.
– Practically useful models can usually not be
simulated by analytic calculations.
General Information (4)

Literature:
• 1961: Industrial Dynamics (Forrester)
• 1969: Urban Dynamics (Forrester), first use of
System Dynamics apart from economic
businesses.
• 1970: World Dynamics (Forrester), superwised by
Club of Rome, use of System Dynamics for
development of a so called „World Model“.
Similar:
• 1972: Meadows et al.: The Limits to Growth
General Information (5)

Relationship: SD & Differential Equations Modelling


• Each System Dynamics model is equvalent to
exactly one differential-equation (DE) system. It
can be seen to be a graphical way for development
of DE models.
• Advantages:
– Picturesque
– Optimized to understand dynamics and causal
relationships of the system.
– Finally calculated like a DE model.
General Information (5)

Relationship: SD & Differential Equations Modelling


• Each System Dynamics model is equvalent to
exactly one differential-equation (DE) system. It
can be seen to be a graphical way for development
of DE models.
• Advantages:
– Picturesque
– Optimized to understand dynamics and causal
relationships of the system.
– Finally calculated like a DE model.
Perfect starting-point for learning about
Modelling and Simulation
Key to develop SD Models

Causal thinking is the key to organizing


ideas in a system dynamics study
(Roberts et al. 1983)

cause effect
How to build a SD Model?

1. Identify system variables and system


boundaries
2. Capture links of variables in a
Causal Loop Diagram (CLD)
3. Build a Stock and Flow Diagram (SFD)
-----------------------------------------------------------
• Implement the model in a simulator
1. System Variables and Boundaries

a. Analysis of the problem - Determining the


purpose and the use of the model and
defining a target for the simulation.
b. Start collecting information and data. Start
developing hypothesis about the parts of the
system.
c. Determine the elements of the system.
d. Determine causal relationships between the
elements.
1. System Variables and Boundaries

System boundary
Links

System variables
Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not
the structure of the system
• Causation represents the causal links of the
structure

Wrong: Right:
Ice Cream Murder Ice Cream Murder
+ Sales + + Rate
Sales Rate

Average
Temperature
Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not the structure of the
system
• Causation represents the causal links of the structure
Correlation Wrong Causal Lesson?
Implication

Smoking, Lung People suffering from ??


Cancer (+) lung cancer are more
likely to start smoking
Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not the structure of the
system
• Causation represents the causal links of the structure
Correlation Wrong Causal Lesson?
Implication

Smoking, Lung People suffering from Causality is always directed! Be


Cancer (+) lung cancer are more careful to take the correct one.
likely to start smoking

Darkness, If it was darker, we ??


Electricity could reduce our
Consumption (-) energy problems
Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not the structure of the
system
• Causation represents the causal links of the structure
Correlation Wrong Causal Lesson?
Implication

Smoking, Lung People suffering from Causality is always directed! Be


Cancer (+) lung cancer are more careful to take the correct one.
likely to start smoking

Darkness, If it was darker, we Always look for direct


Electricity could reduce our causalities! Don‘t foget that
Consumption (-) energy problems people sleep when its dark...
Murder Rate, Ice cream makes ??
Ice Cream Sales people potential
(+) murderes
Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not the structure of the
system
• Causation represents the causal links of the structure
Correlation Wrong Causal Lesson?
Implication

Smoking, Lung People suffering from Causality is always directed! Be


Cancer (+) lung cancer are more careful to take the correct one.
likely to start smoking

Darkness, If it was darker, we Always look for direct


Electricity could reduce our causalities! Don‘t foget that
Consumption (-) energy problems people sleep when its dark...
Murder Rate, Ice cream makes Always look for confounding
Ice Cream Sales people potential factors! E.g. the average
(+) murderes Temperature?
Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not the structure of the
system
• Causation represents the causal links of the structure

Famous example (1):


Causality vs Correlation

Causation vs. Correlation


• Correlation represents past behavior and not the structure of the
system
• Causation represents the causal links of the structure

Famous example (2):


2. Causal Loop Diagram

Capture the behavior and links of and within the


system by interlinking system variables that are related
to each other

Behavior of system due to:


• Feedback Loops
• System memory (stocks)
• Delays in material and information delays
2. Causal Loop Diagram

Main components of CLDs:


• System variables: names of elements
• Link - positive:

Eating Weight
+

Represented by a plus-sign
Increase in variable Eating results in an increase in
variable Weight
2. Causal Loop Diagram

Main components of CLDs:


• Link – negative:
Diet Weight
-

Represented by minus-sign.
Increase in variable Diet results in a
decrease in variable Weight
2. Causal Loop Diagram

Main components of CLDs:


• Feedback Loops: are closed loops of arrows,
represented by a:
“(+)” (or ”(R)” for reinforcing) or
“(-)” (or “(B)” for balancing) sign in the middle.
2. Causal Loop Diagram

Main components of CLDs:


• Feedback Loops: are closed loops of arrows,
represented by a
“(+)” (or ”(R)” for reinforcing) or
“()” (or “(B)” for balancing) sign in the middle.
2. Causal Loop Diagram

Feedback Loops:
– Reinforcing: A system variable effects itself
(via other system variable(s) of the loop), resulting
in a reinforcing of the original state of the system
variable
Even number of negative links

D C
value
A
E B

F A
time
2. Causal Loop Diagram

Feedback Loops:
– Balancing: A system variable effects itself (via
other system variable(s) of the loop), resulting in
a balancing of the original state of the system
variable
Uneven number of negative links

D C
value
A
E B

F A
time
2. Causal Loop Diagram

Feedback Loops
▪ Search to identify closed, causal feedback loops
is one key element of System Dynamics
▪ The most important causal influences will be
exactly those that are enclosed within feedback
loops
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Exponential Growth: arises from positive
(reinforcing) feedback loop.
Example:

Population Births
2. Causal Loop Diagram

Types of behavior due to loops:


▪ S-shaped Growth: arises from a combination of positive
and negative feedback loops (nonlinear interactions)
Important here:
− Carrying capacity: Number of organisms a habitat can
support and it is determined by the resources available in the
environment and the resource requirements of the
population. When the population reaches its carrying
capacity the net increase rate slows down until it is zero and
the population reaches its equilibrium (limit of growth)
2. Causal Loop Diagram

Types of behavior due to loops:


▪ S-shaped Growth: arises from a combination of
positive and negative feedback loops (nonlinear
interactions)
Carrying
Capacity

Lack of Space Population Births


2. Causal Loop Diagram

Types of behavior due to loops:


▪ S-shaped Growth: arises from a combination of
positive and negative feedback loops (nonlinear
interactions)
Necessary requirements:
− Negative feedback loops must not
include any significant delays
− Carrying capacity must be fixed
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Goal Seeking Behavior: arises from negative
(balancing) feedback loop.
Example:

Corrective action
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Oscillation: arises from negative feedback with
delays.
Example:
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Oscillation: arises from negative feedback with
delays.
The state of the system is compared to the
desired state of the system and corrective actions
are taken. The goal is constantly overshot, then
corrects / reverses and then undershoots the
system and so on.
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Oscillation: arises from negative feedback with
delays.
Special oscillations are:
− Damped oscillation: e.g. pendulum
− Chaotic oscillations
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Oscillation: arises from negative feedback with
delays.
Special oscillations are:
− Expanding oscillation and limit cycles: If an
oscillatory system is given a nudge off its
equilibrium, its swings grow larger and larger
until they are constrained by various
nonlinearities this oscillation is called limit
cycles. Predator prey populations are cycles.
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Growth with overshoot and oscillation: is
basically s-shaped growth with additional delay
in the negative feedback loop.
Example:
2. Causal Loop Diagram

Types of behavior due to loops:


▪ Overshoot and collapse: is basically s-shaped
growth but with a not fixed carrying capacity
Example: A population in a forest that grows so
large, that they overbrowse the vegetation, leading
to starvation and a
decline in the population. If there
is no regeneration of the carrying
capacity, the equilibrium of the
system is extinction.
2. Causal Loop Diagram

Dominating Loop
▪ There are systems which have more than one
feedback loop within them
▪ A particular loop in a system of more than one
loop is most responsible for the overall behavior
of that system
▪ The dominating loop might shift over time
▪ When a feedback loop is within another, one
loop must dominate
▪ Stable conditions will exist when negative loops
dominate positive loops
2. Causal Loop Diagram

Example:

- - +
+
+ - + -
+ + + + + - ++ -
- + -

+ + + +
+ + + + +
+ +
+ +
+

+ + + +
+
3. Stock and Flow Diagram

Problem: Not all system elements are system variables!

Solution: distinguish between


• Sources/Sinks
• Levels/Stocks
• Flows
• Auxiliaries
• Paramters
• Links
SFM – Sources/Sinks

Sources/Sinks:
Source represents systems of levels and
rates outside the boundary of the
model
Sink is where flows terminate outside
the system

E.g.: Raw Material (Source for


„Construction“ Flow), Graveyard (Sink for
„Dying“ Flow)
SFM - Stocks

Levels/Stocks/System variables:
A quantity that accumulates over
time and changes its value
continuously.

E.g.: Size of a population, Number of


people waiting in a queue, Number of
goods waiting to be transported, etc.
SFM – Flow

Flow/Rate/Activity/Movement:
Changes the values of levels. Every level
has at least to be connected to one flow
in order to change its value.

E.g.: Birth (Changes the value of the


stock „population“), Eating (Changes the
value of the stock „amount of food“), etc.
SFM – Auxiliary

Auxiliary:
Everything that can directly/analytically be
calculated out of stocks and constants.
Often useful, to avoid confusing models.

E.g.: Density (can directly be calculated


by the stocks/constants „mass“ and
„volume“), Quelength (calculated by stock
„people in queue“ and constant „average
size of one person“), etc.
SFM – System/Input Parameters

Parameter /Constant
Everything that is predefined for the
whole simulation – usually it is a
constant but can be a function too.

E.g.: Average Temperature, Number of


Cash Desks (In a supermarket), Birth
Rate, Maximum capacity of a Room, etc.
Graphical Representation

Initial value of state

Source Change of State


State

Feedback
Rate of
change
From CLD to SFM (1)

Population Births
Initial value of
population

Population
Births
From CLD to SFM (2)

Lack of Space Population Births

Space Initial value of


Lack of Space population

Population
Births
Quantification?

𝑙𝑎𝑐𝑘_𝑜𝑓_𝑆𝑝𝑎𝑐𝑒 = 𝑆𝑝𝑎𝑐𝑒 − 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛?


𝑙𝑎𝑐𝑘𝑜𝑓𝑆𝑝𝑎𝑐𝑒 = 𝑆𝑝𝑎𝑐𝑒 − 3 ∗ 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛?
𝑆𝑝𝑎𝑐𝑒
𝑙𝑎𝑐𝑘_𝑜𝑓_𝑆𝑝𝑎𝑐𝑒 = 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛?
𝐵𝑖𝑟𝑡ℎ𝑠 = 3 ∗ 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 + 𝑙𝑎𝑐𝑘_𝑜𝑓_𝑆𝑝𝑎𝑐𝑒 ? 𝑙𝑎𝑐𝑘_𝑜𝑓_𝑆𝑝𝑎𝑐𝑒 = 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛?
𝐵𝑖𝑟𝑡ℎ𝑠 = 10 ∗ 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 − 𝑙𝑎𝑐𝑘_𝑜𝑓_𝑆𝑝𝑎𝑐𝑒? 𝑆𝑝𝑎𝑐𝑒
1
𝐵𝑖𝑟𝑡ℎ𝑠 = 0.2 ∗ 𝑃𝑜𝑝𝑢𝑙𝑎𝑡𝑖𝑜𝑛 + 𝑙𝑎𝑐𝑘_𝑜𝑓_𝑆𝑝𝑎𝑐𝑒?
Space
Lack of Space
Initial value of
population

Population ?

Births
Helpful SD Tools

Table Function
❖ Responsible for nonlinar relationships
❖ Uses pairs of numbers
❖ Interpolation inbetween:
linear, step, spline, approximation
❖ Out of range:
error, repeat, extrapolate
Helpful SD Tools

Delays
The Value of the input will be time-delayed for the
delay time:
Output = Material in Transit / Delaytime

Inflow Outflow
Material in
Transit
Average
Delaytime
Analysis of SD Models

System Dynamics - Analysemöglichkeiten


❖ Analytical: Evaluation of equilibrium, behaviour and
stability in an area (ordinary differential equations)
But: For large systems this can be difficult and not
useful for time variant values
❖ Base Run:
The Model runs with the predefined set of parameters
(which represent the best information available at this
time).
Simple Structure

Stock and Flow with two flows

Differential Equation:

Integral equation:
Equilibrium

System Dynamics – Equilibrium

Static Equilibrium:
Inflow and Outflow are 0;
State of the system remains unchanged.
Dynamic Equilibrium:
Inflow and Outflow are the same;
State of the system remains unchanged
Analysis of SD Models

❖ Optimization / Calibration:
With specific algorithms some – unknown –
parameter values can be calculated by macthing a
objective function.
❖ Parametervariation / Sensitivity Analysis:
Multiple simultion runs are simulated with different
sets of parameter values, which are gained from
❖ even distributed intervals or
❖ stocastically from a probability function
Simulators

• SD-simulators at least offer the most important


elements (Flows, Levels, Auxiliaries, Table-
functions, etc.) to be preimplemented.
• Additionally parametervariation and optimization is
possible with most SD simulators.
• Examples: AnyLogic (does not only support SD),
Vensim, Stella, PowerSim…
Conclusion

• System-Dynamics is a top-down modelling


approach. Its graphical representation is broadly
standartized.
• Important Elements: causal relationships, causal
loops, stock and flow diagrams
• It is equivalent to a DE model. Thus results can be
analysed using the same methods.
• Simulators: AnyLogic, Vensim, Stella, PowerSim…
Thank you for your attention!

Questions?

You might also like