When it comes to specifying a system, we use something called a modeling methodology. There are three main types: Continuous modeling (sometimes known as process modeling) is used to describe a flow of values, Discrete Event simulation tracks unique entities, and Discrete Rate simulation which shares some aspects of both continuous and discrete event modeling. Each has its unique way of describing how a system changes over time.
In all three types of simulations, what is of concern is the granularity of what is being modeled and what causes the state of the model to change.
Continuous
Imagine a smooth, flowing river. Continuous modeling is like that—it describes a flow of values that change steadily over time. For example, think of an airplane on autopilot. Its position and speed change continuously, just like the river’s flow.
In a continuous model, the time step is fixed at the beginning of the simulation, time advances in equal increments, and values change based directly on changes in time. In this type of model, values reflect the state of the modeled system at any particular time, and simulated time advances evenly from one time step to the next.
Learn more about continuous process modeling with ExtendSim >>
Discrete Event
Now, picture a factory assembly line. Here, the system changes only when specific events occur, like when a new part arrives. Time doesn’t matter as much; it’s all about the events. It’s like buckets of water moving through a pipe at random intervals.
With discrete event simulation, the system changes state as events occur and only when those events occur; the mere passing of time has no direct effect on the model. Unlike a continuous model, simulated time advances from one event to the next and it is unlikely that the time between events will be equal.
Learn more about discrete event simulation with ExtendSim >>
Discrete Rate
This one’s a mix of the first two. It’s like a river that changes its flow rate when certain events happen. It combines the steady flow of continuous modeling with the event-driven changes of discrete event modeling.
Discrete rate models are like continuous models in that they simulate the flow of stuff rather than items; like discrete event models, discrete rate models recalculate rates and values whenever events occur.
These 3 main modeling types are compared and contrasted in the tables below.
Note: In some branches of engineering, the term discrete is used to describe a system with periodic or constant time steps. Discrete, when it refers to time steps, indicates a continuous model; it does not have the same meaning as discrete event or discrete rate. Continuous models in ExtendSim are stepped using constant time intervals; discrete event and discrete rate models are not.
Other modeling approaches
There are also some specialized modeling approaches worth mentioning:
Monte Carlo
These are great for dealing with uncertainty. By running many simulations with random inputs, you get a range of possible outcomes. It’s like rolling the dice multiple times to see all the possible results. This approach can be applied to any ExtendSim model and used wherever uncertainty is a factor.
Monte Carlo modeling uses random numbers to vary input parameters for a series of calculations. These calculations are performed many times and the results from each individual calculation are recorded as an observation. The individual observations are statistically summarized, giving an indication of the likely result and the range of possible results. This not only tells what could happen in a given situation, but how likely it is that it will happen.
Monte Carlo simulations in ExtendSim are built by incorporating random elements in a model and obtaining multiple observations. There are two ways to do this:
- The classical Monte Carlo method is to take a single mathematical equation or set of equations, then cause the equation to be calculated many times. In this type of simulation, time is not a factor. The entire model is run to completion and evaluated at each step; each subsequent step performs a new calculation.
- An alternative Monte Carlo approach, typically applied in a discrete event model, is to either divide a single simulation run into multiple sections (batch means) or run the simulation many times (Multicore Analysis). Monte Carlo is incorporated by adding randomness to the model, running it many times, and analyzing the results. This method can be applied to any continuous, discrete event, or discrete rate model.
Agent-Based
In this approach, individual entities, or “agents,” interact with each other based on a set of rules. Think of it like a community where everyone follows certain guidelines but also has some freedom to act independently. Agents can have intelligence, memory, social interaction, contextual and spatial awareness, and the ability to learn.
With agent-based modeling you usually do not know model dynamics in advance; instead, you obtain that information from the interaction of the agents in the model. Agent-based models share the following characteristics:
- The identification of individual entities within the model.
- A set of rules that govern individual behavior.
- The premise that local entities affect each other's behavior.
State/Action
Here, the system is seen as a series of states that change based on events. It’s like a flowchart where each step depends on the previous one, but any state or action can lead to any other state based on certain conditions.
A state has an associated action and an event that will cause that state to change to another. The transition from one state to the next is not sequential; each state can lead to any other state. There are rules that govern the communication and transition between the states:
- All states accept events.
- One or more states may create an event as a result of a transition by another state or group of states.
- A group of states can be set to transition conditionally, for instance to only change if another state or group of states achieve a specific stage. These are known as guard conditions.
State/action models are independent of any of the three modeling methodologies (continuous, discrete event, or discrete rate.) They are useful for specification and verification in many areas, from computer programs to business processes.
Comparing modeling methodologies
Continuous | Discrete event | Discrete rate | |
---|---|---|---|
ExtendSim library | Value library Electronics library |
Item library | Rate library |
What is modeled | Processes | Individual items | Flows of stuff |
Examples | Processes: chemical, biological, economic, electronic, ecological. |
Things: traffic, equipment, work product, people. Information: data, messages, network protocols at the packet level. |
Rate-based flows of stuff: homogeneous products (powders, fluids, oil, and gas), high-speed or high-volume production and packaging lines, data feeds and streams, mining. |
Continuous, discrete event, and discrete rate factors
Use this table as a guide to help determine which style to use when modeling a system.
Continuous | Discrete event | Discrete rate | |
---|---|---|---|
What is modeled | Values that flow through the model. | Distinct entities ("items" or "things"). | Bulk flows of homogeneous stuff. Or flows of otherwise distinct entities where sorting or separating is not necessary. |
What causes a change in state | A time change | An event | An event |
Time steps | Interval between time steps is constant. Model recalculations are sequential and time dependent. | Interval between events is dependent on when events occur. Model only recalculates when events occur. | Interval between events is dependent on when events occur. Model only recalculates when events occur. |
Characteristics of what is modeled | Track characteristics in a database or assume the flow is homogeneous. | Using attributes, items are assigned unique characteristics and can then be tracked throughout the model. | Track characteristics in a database or assume the flow is homogeneous. |
Ordering | FIFO | Items can move in FIFO, LIFO, Priority, time-delayed, or customized order. | FIFO |
Routing | Values need to be explicitly routed by being turned off at one branch and turned on at the other (values can go to multiple places at the same time). | By default, items are automatically routed to the first available branch (items can only be in one place at a time). | Flow is routed based on constraint rates and rules that are defined in the model (flow can be divided into multiple branches). |
Statistical detail | General statistics about the system: amount, efficiency, etc. | In addition to general statistics, each item can be individually tracked: count, utilization, cycle time. | In addition to general statistics, effective rates, cumulative amount. |
Typical uses | Scientific (biology, chemistry, physics), engineering (electronics, control systems), finance and economics, System Dynamics. | Manufacturing, service industries, business operations, networks, logistics, systems engineering. | Manufacturing of powders, fluids, and high speed, high volume processes. Chemical processes, ATM transactions, supply chains. |
Recommended package | ExtendSim CP |
ExtendSim DE |
ExtendSim Pro |