Hybrid simulation – does it add value or is it a passing craze?
Frances Sneddon / May 16, 2016
This question was posed by Sally Braislford posed at SW16. Is there value in combining system dynamics, agent based and discrete event simulation? Will it get simulation used for a wider class of real world problems?
Our hybrid experience
It’s a very interesting question and one we’ve debated at SIMUL8 HQ for many years, virtually since our inception. SIMUL8 at its heart is discrete event simulation but we’ve had continuous simulation features in SIMUL8 since version 3 (we were doing hybrid before hybrid became cool!). Our continuous functionality is not the full breadth you’d get in a native system dynamics tool but it’s the exact set of functionality you need to enhance discrete event simulation to solve some problems – neither discrete or continuous can do on their own. For example, oil and gas production is a continuous and discrete problem – or simulating obesity control in populations.
Agent based simulation we began experimenting with about 10 years ago, we developed a very rich feature set. After beta testing it with two government departments we decided to pull the release. The full compliment of features was adding no value to our users, it was confusing and hadn’t better helped them solve their problems. We dropped all the features around population infection and passing of information between agents (I was disappointed – if nothing else they made for incredibly impressive demos with all these swirling entities changing in color as they moved through different states. It was like a software driven lava lamp!).
We kept and released the functionality that was game-changing for discrete event simulation: state charts and Visual Logic for work items. This transformed work items from the traditional passive objects they are in discrete event simulation into intelligent objects that could drive action within the simulation.
Will hybrid simulations transform the simulation world and the problems we can solve?
I’m not convinced. I don’t think the data is there yet particularly for agent that can allow us to concretely solve the new world of problems hybrid could tackle, so in practical business terms it’s interesting for people but not valuable. It also takes a new level of skill to master the art of true hybrid simulation. However…
Is it a passing phase? No. Is there value in hybrid simulations? Yes. 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.
Full disclosure – I am a discrete event simulation specialist. I will always see discrete as the most valuable approach and, yes, I fully accept that may mean I use my hammer to fit a screw! However, I think everyone would agree that in terms of business decision making discrete event simulation is the most widely used technique, largely because it provides the most concrete value for decision makers so I believe that’s why hybrid simulation will be driven by discrete event simulation vendors.
Sometimes hybrid is best
For some problems hybrid is definitely the best approach and there is huge potential to better and more easily simulate some problems. Healthcare is a perfect example of where hybrid can transform the accuracy and range of potential decisions simulations can solve. The progression of disease in an individual is critical to the care they receive, the rate and way that disease progresses in patients varies though. To try and simulate the treatment with only discrete is incredibly difficult.
For example patients will go into sepsis shock at different rates, when they do their treatment must be escalated. We cannot replicate their treatment by solely modeling the medical process they go through: you end up approximating far too much and have a very complicated flow with lots of looping and conditional flows. Equally we cannot simulate the impact on staff and generate the most effective treatment process by only looking at the disease progression from a population perspective as you would in agent based simulation.
This is a perfect example of where a hybrid approach works. You use state charts to simulate the patients and their disease progression, so the entities are intelligent and exert control on the system, traditionally agent based simulation functionality. They have probabilities, timings and rates of how their disease will progress. Untreated, their sepsis will develop into shock and even death. The core model is the discrete event process flow. Here you replicate the treatment process, staffing being the constraints of the system. If the system is bottle necked then patients will potentially progress through their disease to death and this can happen as they queue for service as it would in the real world.
This combination also works in manufacturing, supply chain, service delivery, anywhere where you have equipment that degrades over time partially depending on its use. For example in working out the number of aircraft needed to service all routes whilst minimizing costs. You can incorporate agent aspects by simulating the engines and other critical pieces of equipment as work items and use state charts to control their current usage state to drive equipment failures and maintenance schedules. It’s a far more effective way to simulate unplanned and planned maintenance where that is a key constraint on how well the system can perform and the level of spare equipment that will be required.
Formulating the right problem
Now the above is a technical view of hybrid simulation, the practical integration of the techniques for modeling. There is also the soft side of hybrid which is about how the different techniques are used to generate different types of thinking in the simulation builder. There are definite possibilities for learning how to generate better studies that drive full well rounded thinking of the simulation builder. A common and justified criticism of discrete event simulation builders is that many jump in too fast and start building a simulation that mimicks the system and the single question, rather than stopping to check the question being asked is the right one.
So for example should you use system dynamics first then discrete event second to encourage better problem formulation? Starting with the problem exploration rather than the technique is always the best approach hybrid or not, we all get out our hammers too quickly! The problem formulation is a critical stage that verifies the right question is being answered and in my experience often provides even more value than the building of the actual end simulation.
What do you think?
Would Sally agree with me? What’s your view? Have you combined discrete and system dynamics or discrete and agent based simulation? Would you like to see us develop more hybrid simulation functionality in SIMUL8? Or maybe you think this is a passing craze and we should ignore it entirely? Get in touch, share your thoughts!