Discrete Event Simulation


Discrete event simulation is a method of modeling what happens in the real world. Its aim is to break the actions of the simulated process into a series of sequential steps, each of which takes a certain amount of time. For example, discrete event simulation could model a customer being serviced by a bank (see Listing 4) . The three events are: a customer arrives at the bank, a customer gains the attention of a teller, and finally, the customer leaves. After the customer arrives at the bank, he must wait some amount of time before he gains the attention of a teller, even if that amount of time is zero. Once the customer has the teller's attention, it takes time for the transaction to occur. Finally, the customer leaves, and returns after some longer length of time.

Generally in this type of simulation, what is known is the amount of time required by the teller to service the transaction, the amount of time between visits by the customer and the number of customers. The banker is interested in the minimum number of tellers that may be hired to service customers. The banker is also interested in not forcing customers to wait longer then a certain average time.

To solve this problem for the banker, a simulation may be written that has customers arriving at a certain rate, requiring a certain amount of time to be serviced by a teller, and a variable number of tellers, starting at one and working up to some reasonable upper limit of tellers. The simulation would try each number of tellers for a period of time and accumulate statistics on the average line length and wait time for customers. This simulation would allow the banker to select an appropriate number of tellers to hire for this bank site.

When the simulation is run, it moves from event to event. The simulation doesn't spend any processing time looking at what occurs between events, since what happens to the customer when he is waiting in line or being serviced has no effect on the outcome of the simulation.