Simulation

Example Sheet

Several years back, when I was flying to Cincinnati via Paris, I was upgraded to Business Class from Economy. The reason given to me was that the flight was overbooked. I wondered how such a Big Airline can make such a mistake. They must have lost 100 to 200% of the Ticket price by upgrading me for free. Now I realize that I was plain lucky and the Airline did not make any mistake. Overall they must have made the maximum possible profit. They overbook the flights, being fully aware of the fact that some fliers may not show up. In that case the empty seat may be a lost sales opportunity. If they overbook too much, then fliers who can not be given seats must be compensated by upgrade, hotel stay etc. They decide the best number for overbooking by a techniques known as "What-if-analysis" or "Simulation". A very analogous situation can be seen in Hotel Room Booking case. A retailer of Perishable food item or a Newspaper Vendor also faces such a dilemma. All this cases and many more with much higher complexity can be solved by Simulation Techniques.

What is common in all these cases is that, the inputs have uncertainty attached to them. Hence number of passengers boarding the flight is uncertain (there would be no shows, last minute cancellations etc.), demand for Newspaper on a certain days is uncertain (no major events, big ticket sports matches, election results and so on) or demand for Cakes is uncertain (rainy day etc.). This uncertainty gives rise to uncertainty in the Business Outcome too, number of seats to be booked, newspaper to stock or cakes to be baked.

These problems are solved by Simulating the probable events hundreds, thousands or even millions of times. Hence a Newspaper vendor would pretend as if he has been selling newspapers for several years, with all scenarios of demand (from their likelihood), and then he would consider the best case Scenario of Stocking certain number of newspapers. The most widely used techniques in this area is called Monte Carlo Simulation. This is the best he can do, given the uncertain events. Simulation is often confused with Optimization (Linear Programming etc.), however it is not.

The Example Sheet, downloadable from the link, solves such a problem for a Baker, where he has to find the best case scenario for number of cakes to baked.

It is worthwhile to start the discussion with a simple example, then we can appreciate the process in the Example sheet.

Let us consider a Project on House Construction. We would segregate the entire project into three milestones - Laying Foundation, Building Structure and Finishing Touches (Painting, Plumbing, Electrical Fittings etc). These milestones are sequential in nature, as Structure can start only after laying the Foundation, and painting etc. can only start after building the structure. These milestones would need certain time to complete, which in all likelihood can not be completed in a constant time. Foundation can be completed between 10 to 20 days, with 15 days being the most likely value. Same is the case with building the structure (wall, roof etc.) and Finishing touches. This process can be shown as below.

The total Time to Completion is certainly not additive. There is a Probability attached to each value, with Likely Value having highest Probability. Now it is entirely possible that Foundation can take 18 days, Structure 32 days and Finishing Touches 40 days. In the same way, numerous other possibilities are there, depending on the time each milestone takes between the range. Hence Completed Home would depend on these numerous possibilities, and we need to talk in terms of Likelihood of Completed Home, instead of a Fixed Value. Hence we would say "there is 75% likelihood of completing home in 80 days". Hence we would need to Simulate these numerous possibilities.

Analogous situation would arise, when we have variable returns from several Investments, and we want to know Combined return. Or there could be variable Sales (within a range) from several Geographies and an Organization wants to know its Total Sales. In all these cases, we are building a Scenario of Business Outcome with an attached probability.

The situation can become more complex when the variables do take complex probabilities like a Normal Distribution, Binomial Distribution, Weibull Distribution and so on.

Now  look at this problem from a different angle. Let us assume, we know the Probability Distribution of Time to Complete a Home from historical data. In order to complete the Home, some forklift has to be rented, in order to move things around. If one rents the equipment for the pessimistic value (max time to complete a house), and if the house is completed before that, then he loses money by renting it for extra time. If he rents it for optimistic time, and if the house is not completed in that time, then he there would be disruption in the project, and cost associated with renting it again. What should be best case scenario (no. of days) for renting the forklift. This is again a "What-if Analysis" example, and solved by Simulation Techniques.

"Simulation" can be considered a STATISTICAL EXPERIMENT, on a computer model developed for a Real Life system. The following picture illustrates how Simulation fits into the analysis of a real life system. The comparison between Analytical Mathematical solutions and Simulation Based solutions can be understood by a simple example. The Analytical Solution for Gravity is the Newton's formula of gravity. A Simulation for Gravity would be allowing several objects of differing sizes at different height to fall and then develop a scenario  out of all the results (e.g. Terminal speed of the object at hitting the ground).

Why do we need Simulation? Because finding and solving an exact Analytical Solution is very difficult for most of the real-life complex systems. A simulation model is based on set of assumptions about the operation of a system, expressed as mathematical or logical relations between the objects of interest in the system.  The simulation process involves running the model through time, usually on a computer, to generate representative samples of the function of the System. In effect, once again we are inferring something about the Population based on Sample, which we learnt in Training Link for Inferential Statistics.