System Dynamics 2 CAP4800/5805 Systems Simulation

Download Report

Transcript System Dynamics 2 CAP4800/5805 Systems Simulation

System Dynamics 2
CAP4800/5805
Systems Simulation
What we covered last time




What is System Dynamics
Causal Loop Diagram
Augmenting Causal CLD
Loop dominance
 Labeling link polarity
 Determining loop polarity
 Exogenous items and delays
System Dynamics Modeling
 Identify a problem
 Develop a dynamic hypothesis explaining the cause of
the problem
 Create a basic causal graph
 Augment the causal graph with more information
 Convert the augmented causal graph to a
System Dynamics flow graph
 Translate a System Dynamics flow graph into
DYNAMO programs or equations
 Simulate the DYNAMO programs or equations
Casual-loops
 Provide insight into a system's structure
 Often difficult to infer the behavior of a
system from its casual-loop representation
 Need to use computer simulation
 Simulation model: flow diagrams, equations,
simulation language
 DYNAMO (DYNAmic Models):
 Not a general-purpose language but special
purpose language to aid in building
computer models
Flow Graph Symbols
Level
Rate
Flow arc
Auxiliary
Cause-and-effect arc
Source/Sink
Constant
Level:
 AKA stock, accumulation, or state
variable
 A quantity that accumulates over
time
 Change its value by accumulating or
integrating rates
 Change continuously over time even
when the rates are changing
discontinuously
Rate/Flow:
 AKA flow, activity, movement
 Change the values of levels
 The value of a rate is
 Not dependent on previous values of that
rate
 But dependent on the levels in a system
along with exogenous influences
Auxiliary:
 Arise when the formulation of a level’s
influence on a rate involves one or more
intermediate calculations
 Often useful in formulating complex rate
equations
 Used for ease of communication and clarity
 Value changes immediately in response to
changes in levels or exogenous influences
Source and Sink:
 Source represents systems of levels
and rates outside the boundary of the
model
 Sink is where flows terminate outside
the system
Example 1
(Population and birth)
+
Births
Population
+
Births
Population
Example 2
(Children and adults)
+
Births
+
Children
-
+
-
+
Children maturing
Adults
+
Children
maturing
Births
children
Adults
DYNAMO
 Originally developed by Jack Pugh at MIT
 First system dynamics simulation language
 For a long time the language and the field were
considered synonymous
 Provides an equation based development
environment for system dynamics models
 DYNAMO today runs on PC compatibles under
Dos/Windows.
Time in DYNAMO
 LEVEL.K: a level calculated at the present time
 LEVEL.J: a level calculated one time interval
earlier
 DT: the length of the time interval between J
and K
dt
J: past
dt
K: present
L: future
DYNAMO Program
(Population and birth model)
Births
Population
Star statement
* Population Growth
Level statement
L POP.K = POP.J + DT*BIRTH.JK
present
one time interval earlier
between J and K
Initial value statement
N POP = 10
Rate statement
R BIRTH.KL = (POP.K)(PAR)
Constant statement
C PAR = 0.1
SPEC statement
SPEC DT = 1.0
Integral/Differential Equations
 Diagran
R1
R2
L
 Integral Equation
t
L(t) = ∫t0 [R1(s) – R2(s) ] ds + L(t0)
 Differential Equation
dL/dt = Net Change in L = R1(t) - R2(t)
System Dynamics Algorithm
Program Main
We are given a concept graph with modes and arcs
The arcs require sign (+,-) labeling
The nodes require labeling: source, rate, level, constant,
auxiliary
For each level node (L) with an input rate node (R1) and
and output rate node (R2) write:
dL/dt = k1 * R1 – k2 * R2 ; k1 and k2 are rate constants
End for
For all other nodes (N) write:
N(t) = a linear function of all inset members of this node
End for
End Main
From Causal Loop Diagram
To Simulation Models 1
 Causal Graph
 Flow Graph
R
+
R
L
L
+
 Equations
dL/dt = k1*R(t)
R(t) = k2*L(t)
 dL/dt = k1*k2*L(t)
 Block Model
L’
∫
L
k1*k2
From Causal Loop Diagram
To Simulation Models 2
 Flow Graph
R1
 Equations
R2
L
dL/dt = R1 – R2
R2 = k2*L
R1 = k1
 Block Model
L1’
∫
-
L1
k2
k1
 dL/dt = k1 - k2*L
From Causal Loop Diagram
To Simulation Models 3
 Equations
 Flow Graph
R2
R1
dL1/dt = R1 – R2
R3
dL2/dt = R2 – R3
L2
L1
R1 = k1
R2 = K2 * L1
R3 = K3 * L2
 dL1/dt = k1 – k2*L1
 Block Model
L1’
∫
-
L1
k2
k1
 dL2/dt = k2*L1 – K3*L2
-
L2’
∫
L2
k3
Building construction
 Problem statement



Fixed area of available land for construction
New buildings are constructed while old buildings are
demolished
Primary state variable will be the total number of buildings
over time
 Causal Graph
-
+
Industrial
buildings
Construction
+
Construction
fraction
Land available for
Industrial buildings
+
Demolition
+
+
Fraction of
land occupied
-
+
Average area
per building
-
Average
lifetime
for buildings
Simulation models
 Equations
Flow Graph
Construction (C)
Demolition (D)
Industrial
dBl/dt = Cr – Dr
Cr = f1(CF, Bl)
Buildings (B)
Dr = f2(AL,Bl)
Average lifetime
for buildings
(AL)
Construction
fraction
(CF)
Land available for
industrial buildings
(LA)
Fraction of
land occupied
(FLO)
Average area
per building
(AA)
CF = f3(FLO)
FLO = f4(LA,AA,Bl)
Next Class
 VenSim
 System Dynamics Simulation Tool
 http://www.vensim.com/
References
 Simulation Model Design and Execution,
Fishwick, Prentice-Hall, 1995 (Textbook)
 Introduction to Computer Simulation: A
system dynamics modeling approach,
Nancy Roberts et al, Addison-wesley, 1983
 Business Dynamics: Systems thinking and
modeling for a complex world, John D.
Sterman, McGraw-Hill,2000