g54sim (spring 2014) - nottinghampszps/g54sim/2014/documents... · g54sim (spring 2014) lecture 06...

49
G54SIM (Spring 2014) Lecture 06 Simulation Methods: System Dynamics Simulation Peer-Olaf Siebers [email protected]

Upload: buidung

Post on 18-Aug-2018

218 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

G54SIM (Spring 2014)

Lecture 06

Simulation Methods: System Dynamics Simulation

Peer-Olaf Siebers

[email protected]

Page 2: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Motivation

• Introduce the concepts of – Systems Thinking

– System Dynamics

• Provide some insight into the design of SD simulation models – Patterns of Behaviour

– Feedback and Causal Loop Diagrams

– Stock and Flow Diagrams

• Provide some ideas for application opportunities of SD and hybrid SD/AB simulation models

G54SIM 2

Page 3: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Reminder: Simulation Paradigms

G54SIM 3

Page 4: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Systems Thinking

• We are quick problem solvers. We quickly determine a cause for any event that we think is a problem. Usually we conclude that the cause is another event. – Example: Sales are poor (event) because staff are insufficient

motivated (cause); staff are insufficient motivated (event) because ...

• Difficulty: You can always find yet another event that caused the one that you thought was the cause. This makes it very difficult to determine what to do to improve performance.

G54SIM 4

Page 5: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Systems Thinking

G54SIM 5

Page 6: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Systems Thinking

G54SIM 6

Page 7: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Systems Thinking

G54SIM 7

Page 8: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Systems Thinking

• Idea of Systems Thinking: – Move away from looking at isolated events and their causes

– Look at the organisation as a system made up of interacting parts

– Internal structure of the system is often more important than external events in generating the problem

– If we shift from the event orientation to focussing on the internal system structure we improve our possibility of improving system performance as the system structure is often the underlying source of the difficulty.

• Systems Thinking: The process of understanding how things influence one another within a whole. [Wikipedia]

G54SIM 8

Page 9: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

• System Dynamics (SD): An approach to understanding the behaviour of complex systems over time. It deals with internal feedback loops and time delays that affect the behaviour of the entire system. [Wikipedia]

– The basis of the methodology is the recognition that the structure of any system (relationships amongst its components) is just as important in determining its behaviour as the individual components themselves.

– It is mostly used in long-term, strategic models and assumes high level of aggregation of the objects being modelled.

– The range of applications includes business, urban, social, ecological types of systems.

System Dynamics

G54SIM 9

Page 10: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics

• Norbert Wiener (1940s) studied how biological, engineering, social, and economic systems are controlled and regulated ... Cybernetics

• Jay Forrester (1950s) applied the principles of Cybernetics to industrial systems ... Industrial Dynamics

• John Collins (1970s) and John Sterman (1980s) applied the principles of Industrial Dynamics to urban, business, social, and ecological types of systems ... System Dynamics

G54SIM 10

Page 11: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics

• Model representations – Causal loop diagrams (qualitative)

– Stock and Flow diagrams (quantitative)

• Example: Simple causal loop diagram of food intake [Morecroft 2007]

G54SIM 11

if cause increases ... effect decreases

(above what it would otherwise have been)

if cause increases ... effect increases

(above what it would otherwise have been)

Page 12: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

How to build SD simulation models

• System Dynamics Simulation Project Life Cycle – Dynamic Hypothesis: Preliminary

sketch by the modeller of the main interactions and feedback loops that could explain observed or anticipated performance

G54SIM 12

[Morecroft 2007 (after Sterman 2000)]

Page 13: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

How to build SD simulation models

• Conceptualisation – Define the purpose of the model

– Define the model boundaries and identify key variables

– Describe the behaviour of the key variables

– Diagram the basic mechanisms (feedback loops) of the system

• Formulation – Convert diagrams to stock and flow equations

– Estimate and select parameter values

– Create the simulation model

G54SIM 13

Page 14: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

How to build SD simulation models

• Testing – Test the dynamic hypothesis (the potential explanation of how

structure is causing observed behaviour)

– Test model behaviour and sensitivity to perturbations

• Implementation – Test model's responses to different policies

– Translate study insight to an accessible form

G54SIM 14

Page 15: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Patterns of Behaviour

• Generalise from the specific events to consider patterns of behaviour that characterise the situation

• Once we have identified a pattern of behaviour that is a problem, we can look for the system structure that is known to cause this pattern

• By finding and modifying this system structure you have the possibility to permanently eliminate the problem pattern of behaviour.

G54SIM 15

Page 16: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Patterns of Behaviour

• Common patterns that show up either individually or combined

G54SIM 16

Page 17: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Feedback and Causal Loop Diagrams

• Notation for presenting system structures – Short descriptive phrases

represent the elements which make up the sector.

– Arrows represent causal influences between these elements

G54SIM 17

Feedback

structure of a

basic production

sector

... directly influenced by ...

... influences ...

... directly influenced by ...

Page 18: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Feedback and Causal Loop Diagrams

• Feedback loop or causal loop: Element of a system indirectly influences itself

G54SIM 18

Page 19: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Feedback and Causal Loop Diagrams

• Causal link – Causal link from element A to B is positive (+ or s) if either A adds to B

or a change in A produces a change in B in the same direction

– Causal link from element A to B is negative (- or o) if either A subtracts from B or a change in A produces a change in B in the opposite direction

• Feedback loop – A feedback loop is positive (+ or R) if it contains an even number of

negative causal links

– A feedback loop is negative (- or B) if it contains an uneven number of negative causal links

G54SIM 19

s=same; o=opposite; R=reinforcing; B=balancing

Page 20: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Feedback and Causal Loop Diagrams

G54SIM 20

Page 21: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Feedback and Causal Loop Diagrams

• Self regulating biosphere

G54SIM 21

Sunshine

EvaporationAmount of

water on earth

RainClouds

Earth’s

temperature

Page 22: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Feedback and Causal Loop Diagrams

• Self regulating biosphere

G54SIM 22

Sunshine

EvaporationAmount of

water on earth

RainClouds

Earth’s

temperature

+

-

+

+

-

+

+

+

+

-

-

+

-

Page 23: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Modelling Example

• Aim: Getting a set of open tasks done by a particular deadline – Qualitative analysis: Ask questions ...

• What influences this part?

• Which other parts of the system does this part influence?

G54SIM 23

Source: Introduction to System Dynamics with iThink

http://www.youtube.com/watch?v=V3pPQk5Opc8

Page 24: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Modelling Example

• Aim: Getting a set of open tasks done by a particular deadline – Qualitative analysis: Ask questions ...

• What influences this part?

• Which other parts of the system does this part influence?

G54SIM 24

Source: Introduction to System Dynamics with iThink

http://www.youtube.com/watch?v=V3pPQk5Opc8

Page 25: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Modelling Example

• Aim: Getting a set of open tasks done by a particular deadline – Qualitative analysis: Ask questions ...

• What influences this part?

• Which other parts of the system does this part influence?

G54SIM 25

Source: Introduction to System Dynamics with iThink

http://www.youtube.com/watch?v=V3pPQk5Opc8

Page 26: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Modelling Exercise

• Aim: Reduce road congestion – Consider things like: road construction; highway capacity; pressure to

reduce congestion; attractiveness of driving; trips per day; traffic volume; average trip length; cars per person; public transit fare; desired travel time; cars in region

– Feel free to add your own phrases!

G54SIM 26

Page 27: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Modelling Exercise

G54SIM 27

[Morecroft 2007]

Page 28: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Structures and Patterns of Behaviour

• Positive (reinforcing) feedback loop [e.g. growth of bank balance]

G54SIM 28

Page 29: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Structures and Patterns of Behaviour

• Negative (balancing) feedback loop [e.g. electric blanket]

G54SIM 29

Page 30: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Structures and Patterns of Behaviour

• Negative feedback loop with delay [e.g. service quality]

G54SIM 30

Page 31: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Structures and Patterns of Behaviour

• Combination of positive and negative loop [e.g. sales growth]

G54SIM 31

Page 32: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Stock and Flow Diagrams

• Example: Advertising for a durable good

G54SIM 32

-

Page 33: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Stock and Flow Diagrams

• Stock and flow diagram: – Shows relationships among variables which have the potential to

change over time (like causal loop diagrams)

– Distinguishes between different types of variables (unlike causal loop diagrams)

• Basic notation: – Stock (level, accumulation, or state variable) {Symbol: Box}

• Accumulation of "something" over time

• Value of stock changes by accumulating or integrating flows

• Physical entities which can accumulate and move around (e.g. materials, personnel, capital equipment, orders, stocks of money)

G54SIM 33

Page 34: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Stock and Flow Diagrams

• Basic notation (cont.) – Flow (rate, activity, movement) {Symbol: valve}

• Flow or movement of the "something" from one stock to another

• The value of a flow is dependent on the stocks in a system along with exogenous influences

– Information {Symbol: curved arrow}

• Between a stock and a flow: Indicates that information about a stock influences a flow

G54SIM 34

Page 35: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Stock and Flow Diagrams

• Additional notation – Auxiliary {Symbol: Circle}

• Arise when the formulation of a stock’s influence on a flow involves one or more intermediate calculations

• Often useful in formulating complex flow equations

– Source and Sink {Symbol: Cloud}

• Source represents systems of stocks and flows outside the boundary of the model

• Sink is where flows terminate outside the system

G54SIM 35

Page 36: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Stock and Flow Diagrams

• Growth of population through birth – Find the causal links and feedback loops

G54SIM 36

Births ChildrenChildren maturing

AdultsAdults

maturing

Page 37: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Stock and Flow Diagrams

• Growth of population through birth

G54SIM 37

Births ChildrenChildren maturing

AdultsAdults

maturing

+ + + +

-+

-

+

Page 38: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics Simulation

• Computation behind the System Dynamics simulation – Time slicing

• At each time point ...

– Compute new stock levels at time point

– Compute new flow rates after the stocks have been updated (flow rate held constant over dt)

– Move clock forward to next time point

– The software must apply numerical methods to solve the integrations

• Integration errors

G54SIM 38

Page 39: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

• Back to the advertising example ... – Can our stock and flow diagram below help us answering the question:

How will the number of potential customers vary with time?

– We need to consider the quantitative features of the process

• Initial number of potential and actual customers

• Specific way in which sales flow depends on potential customers

System Dynamics Simulation

G54SIM 39

No!

Page 40: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics Simulation

• Simplifying assumptions – Aggregate approach is sufficient

– Flows within processes are continuous

– Flows do not have a random component

• Analogy: Plumbing system – Stocks are tanks full of liquid

– Flows are pumps that control the flow between the tanks

• To completely specify the process model – Initial value of each stock + equation for each flow

G54SIM 40

Page 41: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics Simulation

• Number of potential customers at any time t

• Number of actual customers at any time t

• Many possible flow equations! It is up to the modeller to choose a realistic one

G54SIM 41

Page 42: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics Simulation

G54SIM 42

Page 43: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

• Bass Diffusion (simple) [see tutorial in AnyLogic Help]

Advertising Effectiveness: 0.011; Total Population: 10,000; Adoption Fraction: 0.015; Contact Rate: 100; Model Runtime: 10

AdoptionFromAd = PotentialAdopters * AdEffectiveness;

AdoptionFromWOM = Adopters * ContactRate * AdoptionFraction * PotentialAdopters / TotalPopulation

AdoptionRate = AdoptionFromAd + AdoptionFromWOM

Automatically created by AnyLogic:

d(PotentialAdopters)/dt = -AdoptionRate

d(Adopters)/dt = AdoptionRate

G54SIM 43

System Dynamics Simulation

Page 44: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

G54SIM 44

System Dynamics Simulation

• Bass Diffusion (+ product consumption) [see tutorial in AnyLogic Help]

ProductLifeTime = 2

DiscardRate = delay(AdoptionRate, ProductLifeTime)

Automatically created by AnyLogic:

d(PotentialAdopters)/dt = DiscardRate - AdoptionRate

d(Adopters)/dt = AdoptionRate - DiscardRate

Page 45: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

System Dynamics Simulation

G54SIM 45

Page 46: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Multi-Method Simulation (SD+ABS)

G54SIM 46

Page 47: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Further Reading & Acknowledgement

• Further reading: – Kirkwood (1998) System Dynamics Methods: A Quick Introduction

– Morecroft (2007) Strategic Modelling and Business Dynamics

– Sterman (2000) Business Dynamics: Systems Thinking and Modeling for a Complex World (all simulation models in this book are available as AnyLogic sample models - see AnyLogic Help)

– Proceedings of the International System Dynamics Conference

– VenSim User's Guide

• Acknowledgement: – Slides are based on Kirkwood (1998) and Fishwick (2011)

G54SIM 47

Page 48: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

Comments or Questions?

G54SIM 48

Page 49: G54SIM (Spring 2014) - Nottinghampszps/g54sim/2014/documents... · G54SIM (Spring 2014) Lecture 06 ... – Feedback and Causal Loop Diagrams ... • Example: Simple causal loop diagram

References

• Fishwick P (2011) CAP4800/5805 Computer Simulation: System Dynamics Lecture Slides (http://www.cise.ufl.edu/~fishwick/cap4800/sd1.ppt)

• Kirkwood CW (1998) System Dynamics Methods: A Quick Introduction (http://www.public.asu.edu/~kirkwood/sysdyn/SDIntro/SDIntro.htm)

• Morecroft JD (2007) Strategic Modelling and Business Dynamics. Wiley, Chichester, UK.

• Proceedings of the International System Dynamics Conference (1983-2012) (http://conference.systemdynamics.org/past_conference/)

• Sterman JD (2000) Business Dynamics: Systems Thinking and Modeling for a Complex World. McGraw Hill, Boston, USA.

• VenSim User's Guide (http://www.vensim.com/ffiles/VensimUsersGuide.zip)

G54SIM 49