Courses: Introduction to GoldSim:

Unit 8 - Representing Complex Dynamics: Loops and Delays

Lesson 9 - Understanding Delays

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., this is a classic mode of behavior observed in supply chains).

A simple example of the need for representing a delay can be seen by re-examining one of the Exercises we completed in Unit 7. In particular, let’s take another look at the model in which we redirected the overflow from one pond to two other ponds.  You should have saved this to your “MyModels” folder as Exercise5.  If you did not, you can find it in the “Exercises” subfolder (Exercise5_Route_Overflow.gsm).  You may recall that the model looked something like this:

When Pond1 overflowed, the overflow was directed to Pond2 and Pond3.  What makes this model potentially unrealistic is the fact that when the water overflowed from Pond1, it immediately appeared in Pond2 and Pond3. This may indeed be realistic if Pond2 and Pond3 are nearby (and hence it took less than our computational timestep of 1 day to get there).  However, if one of the ponds was a long distance away or the transport was very slow (e.g., the water flowed through the subsurface), such that it took multiple days to be delivered, it would be important to explicitly represent this delay.

Two more obvious examples of delays would be the movement of coal along a conveyor belt (there is a delay between the time the coal is added to the conveyor and when it leaves the conveyor) and the movement of packages through a delivery system (there is a delay between the time they leave the sender and are delivered to the recipient).

These are examples of material delays. Material delays represent the delay associated with the movement/transport of material within a system.  In these examples, water, coal and packages are “material”.  The key point to note here is that material is conserved while it is delayed (i.e., what comes in comes out). Of course, when simulating such delays, we may need to include some losses (e.g., a little water leaks from a pipeline, some coal falls off the conveyor, a few packages are lost in transit), but we would need to explicitly specify this and add some logic to do so.  By default, material is conserved when it is delayed.

Note, however, that material delays are not the only kind of delay that can occur in a system.  In some types of systems, of equal or greater importance are information delays. In such systems, decisions and corresponding changes are made to the system in response to the state or value of other variables in the system.  For example, a pumping rate is adjusted based on the water level in a pond, or more product is ordered based on the inventory and/or the sales rate.  Simulating such actions is critical to realistic representation of the system.  However, it is often the case that realistically, the actual value of the water level, inventory or sales rate is not available to the decision-maker.  Instead there is a delay in receiving (or correctly perceiving) that information.  For example, the pumping rate might be changed based on an observation of the water level in the pond 12 hours ago, or an order might be placed based on the inventory from 2 days ago (the last time it was measured) and a forecast of what the sales rate will be tomorrow.  To model these systems properly, it can be critical to represent these kinds of information delays.

GoldSim provides two different elements to represent these two different kinds of delays (a Material Delay element and an Information Delay element). You can learn more about Information Delays in GoldSim Help, but we will not discuss them in this Course.  For the remainder of this Unit, we will focus on the Material Delay element.

Note: GoldSim also provides two additional types of delay elements (Event Delays and Discrete Change Delays).  Whereas Material Delays and Information Delays are used to model the delay of continuous flows of material or information, respectively, Event Delays and Discrete Change Delays are used to model the delay of the discrete transmission of information or movement of material.  These two elements will be discussed in Unit 13.