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.
Back to CIS 22 home page