Extending a Simulation Problem
Oct 14, 2022 | Jagannath Rajagopal | 3 min read
What are some ways to do this? Simulation is great for scenario analysis is great, but once confidence in the model has been established, the process can become tedious.
Perhaps you just want to figure out the right answer for solving the problem based on an objective — lowest wait time, highest efficiency, lowest operating cost, etc.
As we covered previously, that is optimization. You could wrap the optimization process around the simulation model to develop the right harbour configuration to meet your objective. And once you do, the answer won’t be a black box; you’ll be able to demonstrate how it comes together.
When simulations are coupled with optimization where you optimize the parameters of a simulation — for example: the right number of tugboats and operation cycles, you need to run the simulations multiple times.
Sometimes, this is computationally expensive. If so, a common practice is to use surrogate learning models.
A surrogate learner is one that reasonably approximates the output of the simulation model. This learner can be used to replace the original computer simulation.
In place of multiple simulation tests, you first “estimate” the solution with the surrogate. If this produces promising results, you run the simulation. If not you discard that configuration. Results from promising configurations are then fed back to the optimization process, and forth until a suitable solution is found.
You could replace this approach with a pure Reinforcement Learning architecture and it may work, you lose the visibility that a simulation would give you.
I’ve created a LOT of resources on this topic. Here’s my course on Design Thinking for Hero Methods. Here’s my YouTube channel with previews of course videos. Here’s my website; navigate through the courses to find free previews & pdfs.
- - -
Sometimes, the inputs to simulations are painted with a broad brush. Nuanced inputs that are themselves related to other factors in a complex way may sometimes be modelled as random variables ignoring all the richness. In those cases, a learning model might be used to feed the simulation with realistic data learned from a database of past cases sampled to produce the nuanced output. This approach is, in fact, a more sophisticated input data generator than a plain random variable.
Also, a simulation can extend a simulation. Agent-based simulations, for instance, may use a discrete event simulator as the foundation.
At Kado, we are interested in combining pieces in an architecture. A key question then would be integration. By asking the question about how two or more methods can be combined together — especially when they belong to different families, it opens up the options and possibilities. Of course, one has to be careful here; it is not trivial to get one method to feed another and have the subsequent one work fine. This space is non-linear, and that particular combination for that particular problem may just not work. Needless to say, the key here is to combine prior insight with an experimental approach.