Optimization And Simulation Can Be Used Together
JeanFrancoisPuget 2700028FGP Visits (3911)
Optimization and Simulation are two different techniques that can be used to optimize a given system (system is used in a very broad sense here). In Optimization And Simulation Are Not The same I provided an example where optimization was the tool of choice when people might think that simulation was the tool of choice. As a conclusion of that post I discussed when optimization was best, and when simulation was best.
What I didn't discuss though was when both should be used together.
Here is such case. Simply put, simulation is required when you want to apply mathematical optimization to a system that isn't built yet. In that case, you need to create a simulator for the future system, and use the simulator to generate data for your optimization model. I've seen this used many times during my career, and a good example of it is provided by Edelman Prize winner Indeval.
Indeval, a privately-held company that manages the central securities depository and trade settlements for Mexico’s financial markets, is pioneering near-real-time securities trade settlements with a system called Dalí. The system makes it possible to settle trades in seconds, reducing risks for the parties involved and cutting in half the amount of money institutions must have on hand to cover trades. As a result, Mexican banks have saved more than $240 million in interest in 18 months. Readers interested to know more can read the IBM user case description and this Interfaces paper. The latter contains interesting comments on how the system was built. in particular it documents the use of a simulation of financial markets used to select the best possible optimization approach to the problem. Here is how the authors describe it (SSS means Securities Settlement System):
The last sentence is key. The simulation is not only used to provide input data to an optimization system. It is also used to assess the effect of applying the results of mathematical optimization back to the system. Having such assessment helps a lot selling optimization to the people who runs the business.
There is another, related case, where simulation and optimization should be used together. It is when the system to be optimized exists, but the data to describe it isn't available. This often happens at the start of an optimization project. The definition of data to be collected and the implementation of the corresponding data warehouse and associated tooling is done concurrently with the development of the optimization part of the application. Since they cannot wait for real data availability, optimization practitioners need to generate data for testing their models and algorithms. Such data is created by simulating the real system.
The frontier between this case and the previous case, as exemplified by Indeval, is blurry. What matters is that simulation is a good way to generate useful data when developing an optimization application. It helps tune the application for better performance. It helps making sure the application answers the right business questions.