CIS 22 - Simulations: Purpose Of The Simulation


   Why do we use simulations in the first place? This is because most situations that are simulated are either too expensive or impossible to do in the "real world". Imagine the cost of hiring people to interview each person as they enter and leave a store. Imagine the cost of adding or removing registration stations to test for an optimal setup. It's just not feasible to test these complex situations in the "real world". Sometimes, testing in a simulation can save lives. Just imagine the danger and cost of trying to see if a new type of heating tile can withstand re-entry into our atmosphere on a space shuttle. Good luck in finding willing participants for those tests. There are many more reasons that simulations are used. In a sense, our great faith in math and science make simulations possible. Let's face it; computers got their name for their computing capabilities. They can do many more calculations faster, and with more accuracy than humans can. The computer is the perfect platform for simulations.
    The purpose of a specific simulation is usually very general at first. For our example, our original goal is to find ways to minimize student waiting time without too much cost. If money was no object, we could simply say that we'll have ten stations fully-staffed. That is one solution, but money is a BIG factor in our example. We need to find a balanced solution. Since we're basing our simulation on serving 500 students for registration, we have to see what variables we can modify to achieve our goal. One obvious variable is the number of stations. Of course, the registration station room can only hold so many stations, so let's say the maximum we could have is ten. Always remember the constraints (physical and financial) before determining variables. A simulation won't care if you do a run with 20 stations, even if the room can't accommodate them. Sometimes modifying one variable is enough to reach a particular goal. It's a no-brainer that if you max-out your stations, student waiting time will drop. Where simulations REALLY shine is when there are multiple variables. In our example, we can also control the actual registration process. If we could find a way to decrease the time, we should see differences. How can this be done? I'm sure there are many ways. One way would be to require that the students complete a certain percentage at home.
    Another variable could be staggering the arrival times of the students. Brooklyn College does this. They tell students a specific date and time to register. For our example, let's focus on the number of stations and the inter-arrival time. I believe we can minimize waiting. As we do various runs, we can hone in on a specific waiting time target. At first, we should see what waiting times are possible. A good way to start is to log how many students come in on a given day and at what times. Try to emulate what you currently have. This way, you have a reference point, and can modify parameters to find the optimum situation for your needs. Since our simulations aren't "real-time" applications, a simulation of a 24hr period could be completed in an instant of "real-world" time. This makes it possible to run thousands of variations in very little actual time. This is an extremely powerful feature of computer simulations. Of course, a poorly-coded/designed simulation may wield incorrect results, so be mindful of emulating you environment as realistically as possible.

Changing Parameters


Thomas Erno, 2003

Back to CIS 22 home page