I have a little aha-moment for students in every simulation training course I provide: I convince a student that she is already a highly advanced modeler, even if she never touched a simulation tool. How? Without warning, I (gently) throw a pen at her. They always catch them.
This never happens in my training courses!!
We evolved to model the physical reality around as constantly. Even what you see is only your brain’s model of reality. In fact, we don’t even think about how we model. We just do it. More importantly, we seamlessly combine different mental models to solve problems. When drinking a glass of water, you have a model of the glass behavior due to its weight, how the water behaves while drinking and how much you should drink. These are three distinctly different models that you blend in. You are a hybrid modeller!
This camel also figured out hybrid modelling.
Frances Sneddon from discrete-event vendor
Simul8 picked up this interesting question recently after Sally Brailsford posed it at the
SW16 simulation workshop. In short, I think it is the wrong question. But before diving into
Frances’ blog post, lets briefly establish the background…
You are probably either Apple or Android, right? Now if you use Apple, you will not easily switch full force to Android, and vice versa. It is also unlikely that you will mix and match: each eco-system has strong incentives to keep you locked in.
In simulation modelling, it is not too different these days: we have three main modelling paradigms:
discrete-event, system-dynamics and agent-based.
Most software vendors specialize their tools for one paradigm. Most modelers learn only one approach and aim to solve everything with their paradigm (granted, bold exaggeration to make a point ).
The idea of hybrid simulation is to allow mix-and-match: use Google’s Android for photos but Apple’s iTunes for Music because each is better in their application area. This idea for hybrid simulation has been around for a while but pro’s and con’s are still debated. Which really surprises me…
Frances Sneddon elaborated on the question and how Simul8 handled the topic in the past in her blog post. It is a really good read and provides interesting insights on how a DE vendor and a DE practitioner sees things. Let me pick up a few points from that post…
Simul8 already has some system-dynamics capability build into their system (“as much as needed”). So they agree that discrete-event alone cannot win the day anymore.
Moreover, they did develop a “very rich featureset” for agent-based modelling but pulled the plug during beta development. Officially because “it wasn’t adding value to users”…
However, despite pulling the plug, they took over core agent-based concepts like state charts, allowing entities to exhibit individual characteristics. In my view, this is another nod to hybrid simulation.
One argument brought forward against agent-based modelling is that “the data isn’t there yet”. While this might be true for certain cases, in general we live in an age of data overdose. Machine learning could be used to derive good agent heuristics from messy data. In my view, this is the best time ever to do agent-based modelling.
It is interesting to see that half of the article actually proposes that hybrid simulation can be quite useful. I think this quote sums up Frances’ view neatly:
I think it’s at the fringes of incorporating each of these technologies that the potential exists. I think discrete event simulation will remain the core technology and some elements of agent based and system dynamics can be added to accentuate discrete.
She then agrees that a hybrid approach is very useful for areas like healthcare, supply chain, logistics, asset management and reliability maintenance modelling.
Well, I fully agree but I don’t think this is a fringe market. I would argue this is a huge part of simulation modelling today. Compared to these areas, “pure discrete-event” application areas like manufacturing and production floor models look rather small.
Frances suggests to improve the problem formulation. Discrete-event modellers should not jump ahead too quickly but first think about the problem. Once tackled, they should decide something like “We should use system dynamics first then discrete event second to best model this system.“
While I agree with the fundamental approach of focusing on the actual problem, the statement reveals my fundamental criticism: Once you understand the problem, the next step shall be to think about which paradigm (or paradigms) to use. I disagree with this approach: The modeller should not even think about paradigms anymore.
Breaking free of the bonds of paradigms…
I first came across the idea of paradigm-free modelling through Stefan Bengtsson, a very experienced simulation modeller from Sweden.
In paradigm-free modelling, you do not think about which paradigm (or paradigms) to use for your model. Instead, your problem formulation (“this is the system we model and this is what we want to find”) drives your modelling.
You abstract your real system into simplified units. But instead of being biased by what your chosen paradigm dictates, you chose model objects that best describe your simplified unit. This can be an agent, a resource (DE) or a stock (SD). It doesn’t matter because any model object will work with any other object seamlessly.
If one part of your model is an agent (a fire truck) and another is an SD process (the truck empties its water onto a fire), they can be linked easily.
A fire truck agent seamlessly drains fluid using a system-dynamics process…
Links between model objects can be established following the real system: they flow into each other (SD), exchange messages (ABM) or pull resources when needed (DE).
The simulation modeler of the future should not be “brought up” in an SD, DE or ABM world. If her boss remarks “this mixes agents and SD elements” she would shrug and continue to build the best model of the system, not limit herself into paradigm boundaries.
I think we largely agree that hybrid simulation is useful (or at least offers advantages over pure paradigm models). Hence, my main surprise upon reading the article was this: “Why is this even a question anymore?”.
Well, the answer is surprisingly simple:
most simulation tools out there are still paradigm-bound. There are very sophisticated DE and SD tools. Most ABM tools are open-source research projects. Rarely do tools cross boundaries (and I applaud Simul8 for moving in that direction!). As far as I know, there is only one tool that is build upon paradigm-free modelling. It has a very apt name: “
AnyLogic”.
A sample paradigm-free model in AnyLogic: state charts next to an SD flow.
However, even this is not enough. We cannot afford to be just “discrete-event modellers” or “SD modellers”. Even grouping ourselves as “simulation modellers” will be too niche.
What we need is normal people building simulations. The factory floor manager playing with an idea. The supply chain guy looking into a new supplier. They have the expertise of their systems but they lack the time or funding to hire a simulation modeller for 95% of their problems.
To get them to start using simulation, it *has* to be paradigm-free (and very easy to use). They cannot be bothered with DE limitations or SD philosophy. They need to get things done. Quick, dirty and fast. Let’s help them.