240 likes | 507 Views
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
E N D
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
Births Example 1 (Population and birth) Population
- Children maturing Births + Example 2 (Children and adults) 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 dt L: future J: past K: present
DYNAMO Program(Population and birth model) Births * Population Growth L POP.K = POP.J + DT*BIRTH.JK N POP = 10 R BIRTH.KL = (POP.K)(PAR) C PAR = 0.1 SPEC DT = 1.0 Population Star statement Level statement present one time interval earlier between J and K Initial value statement Rate statement Constant statement SPEC statement
Integral/Differential Equations • Diagran R1 R2 L • Integral Equation L(t) = ∫ [R1(s) – R2(s) ] ds + L(t0) t 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 DiagramTo Simulation Models 1 • Equations dL/dt = k1*R(t) R(t) = k2*L(t) dL/dt = k1*k2*L(t) • Causal Graph • Flow Graph R L • Block Model L’ L ∫ k1*k2
From Causal Loop DiagramTo Simulation Models 2 • Flow Graph • Equations dL/dt = R1 – R2 R2 = k2*L R1 = k1 dL/dt = k1 - k2*L R1 R2 L • Block Model L1’ L1 ∫ k2 k1 -
From Causal Loop DiagramTo Simulation Models 3 • Flow Graph • Equations dL1/dt = R1 – R2 dL2/dt = R2 – R3 R1 = k1 R2 = K2 * L1 R3 = K3 * L2 dL1/dt = k1 – k2*L1 dL2/dt = k2*L1 – K3*L2 R2 R3 R1 L2 L1 • Block Model L1’ L2’ L2 L1 ∫ ∫ - k3 k2 k1 -
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 - - - -
Simulation models • Flow Graph • Equations dBl/dt = Cr – Dr Cr = f1(CF, Bl) Dr = f2(AL,Bl) CF = f3(FLO) FLO = f4(LA,AA,Bl) Construction (C) Demolition (D) Industrial Buildings (B) Average lifetime for buildings (AL) Construction fraction (CF) Fraction of land occupied (FLO) Land available for industrial buildings (LA) Average area per building (AA)
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