System Dynamics
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)
Problem
Modelling
Model Structure
Model NOT OK
Model Analysis Identification:
Numeric/Programming Parameter Determination
Model Structure
Simulator OK
Basic Simulation
Simulation Results
Simulation Circle
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
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)
cause effect
How to build a SD Model?
System boundary
Links
System variables
Causality vs Correlation
Wrong: Right:
Ice Cream Murder Ice Cream Murder
+ Sales + + Rate
Sales Rate
Average
Temperature
Causality vs Correlation
Eating Weight
+
Represented by a plus-sign
Increase in variable Eating results in an increase in
variable Weight
2. Causal Loop Diagram
Represented by minus-sign.
Increase in variable Diet results in a
decrease in variable Weight
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
Population Births
2. Causal Loop Diagram
Corrective action
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
Sources/Sinks:
Source represents systems of levels and
rates outside the boundary of the
model
Sink is where flows terminate outside
the system
Levels/Stocks/System variables:
A quantity that accumulates over
time and changes its value
continuously.
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.
Auxiliary:
Everything that can directly/analytically be
calculated out of stocks and constants.
Often useful, to avoid confusing models.
Parameter /Constant
Everything that is predefined for the
whole simulation – usually it is a
constant but can be a function too.
Feedback
Rate of
change
From CLD to SFM (1)
Population Births
Initial value of
population
Population
Births
From CLD to SFM (2)
Population
Births
Quantification?
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
Differential Equation:
Integral equation:
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
Questions?