Courses: Introduction to GoldSim:

Unit 8 - Representing Complex Dynamics: Loops and Delays

Lesson 13 - Unit 8 Summary

In this Unit, we explored the complex dynamics that can be generated by feedback loops and time delays.

Feedback loops are present in one form or another in most real-world systems. Feedback loops represent a looping chain of cause and effect. A simple example of a feedback is as follows: the more chickens we have, the more eggs that are produced; the more eggs that are produced, the more chickens we have. Note that the terms “feedback” and “cause and effect” intentionally imply that the relationship between the variables is dynamic and the system changes over time.

In addition to feedback loops, many systems involve significant time delays.  For example, there are time delays in the simple example mentioned above. From the time an egg is laid, there is a delay (an incubation period) until it hatches and produces a chicken.  Also, once an egg hatches, there is a delay before a female chicken can produce more eggs.

This Unit illustrated how the combination of feedback loops and time delays can generate complex dynamic behavior in models. 

The key points that we covered were as follows:

  • There are two kinds of feedback loops: positive feedback loops and negative feedback loops. Positive feedback loops are self-reinforcing. Positive feedback loops generate growth and amplify changes. Negative feedback loops are self-correcting. Negative feedback loops drive systems toward equilibrium and balance.
  • There is a very well-developed and extensive academic literature surrounding the methodology and modeling techniques for analyzing and understanding the behavior of systems governed by such loops (and delays) referred to as system dynamics. The system dynamics methodology uses causal loop diagrams as a visual tool to represent the feedback structure of systems.
  • GoldSim automatically analyzes your entire model to identify "who affects who", in order to ensure that the "upstream" elements are calculated prior to the "downstream" elements. This is referred to as the causality sequence.
  • Feedback loops have a looping causality sequence. GoldSim allows you to create looping systems if and only if the loop contains a state variable.  State variables are outputs whose value is computed based on the historical value of the element’s inputs (as opposed to being a function of the current value of the element’s inputs).  These outputs can be thought of as having “memory” of what has happened before. The primary output of a Reservoir is a classic example. All state variables have, by definition, an initial value.
  • The interaction of multiple feedback loops can generate very complex endogenous behavior in a system, even in cases where the system appears to be conceptually simple. Predator-prey systems provide a good example of this.
  • In many engineered (and social and organizational) systems, there is active feedback control designed directly into the system to make it behave in a specified manner.  A thermostat is the classic example of this (the heating and/or cooling rate is adjusted based on the current temperature). Feedback control systems will be discussed in detail in Unit 13.
  • Lookup Table elements can be used to create lookup tables, or more generally (if there is more than one independent variable), a response surface. Response surfaces provide a powerful and flexible way to represent complex relationships between variables that cannot readily be expressed using equations.
  • Many systems involve significant time delays, and like feedback loops, these can have important impacts on the dynamic behavior of a system.  In fact, without such delays, it may not be possible to realistically represent the system.  In many real-world systems, such delays can result in complex behavior such as oscillations (e.g., commodity markets, supply chains).
  • There are two kinds of delays that can be represented in a model: material delays and information delays. GoldSim provides a separate element for each. Material Delays are used to model the delay associated with the movement/transport or with a change of state (e.g., eggs to chickens) of material within a system.  Within a Material Delay material is conserved while it is delayed (i.e., what comes in comes out). Information Delays are used to model the delay in receiving (or correctly perceiving) information (as opposed to material).  
  • Within a Material Delay, material may be dispersed while in transit. For example, if you send 100 letters all at once, they will not be delivered at the same time. Rather, there will be some variability in the time at which they are delivered. In other cases, the material is not dispersed. If a conveyor belt moves at a fixed speed, there will be no variability in the transit times for items that are placed on the conveyor.
  • Another important use for Material Delays is handling recirculating (recursive) logic.  Because the output of a Material Delay is a state variable, it can be inserted in a recirculating system to “close the loop”.

Now that we have covered the fundamentals of modeling material flows and have explored how to represent some of the complex dynamics that often occur in such systems, we are ready to tackle some of the more advanced concepts in GoldSim. We will start doing that in the next Unit by discussing how to create hierarchical models, a necessity for creating a model of even moderate complexity.