# Elements of Discrete Event simulation

The simulation of the repair operation just described is an example of a discrete event simulation. In such simulations, the events of interest (e.g. breakdowns, completion of repair etc) occur at discrete moments in time rather than continuously with time. We will now describe the key steps of a discrete event simulation. A flowchart of these steps is shown in Figure. These steps may be modified to suit a particular application and are not strictly sequential as depicted.

Objectives of the Simulation

The purpose of conducting a simulation analysis and the decisions for which the simulation results will be used should be clearly specified. The objectives of simulation are many and varied. For example, simulation may be employed to study the behavior of a system to gain insights into its workings. Alternatively, one may use simulation to design a system or to evaluate a few chosen policies. A simulation may be used to train operators or managers by providing them with feedback on system performance resulting from their decisions. Clarity in specifying the objectives of simulation is most important. The cost and time expended in developing a simulation model will be wasted if the information provided by the model is not useful to the decision maker. The analyst and the managers must interact closely so that the model developed by the analyst is useful and consistent with the intended objectives of the managers.

Elements of Discrete Event Simulation

1. Define objectives of the simulation
2. Build conceptual model
3. Collect Data
4. Validation
5. Programming and verification
6. Experimental design and simulation runs
7. Analysis and evaluation
8. Validation
9. Documentation and implementation.

Model Building

Once the objectives of the simulation are defined, the next step is to build a conceptual model of the real world system using mathematical and logical relationships. A useful approach for model building is to start with a simple aggregate model by defining decision variables, uncontrollable variables that influence the outcome, output variables, and constraints. A schematic of such an aggregate model for the repair example discussed earlier is shown in Figure. The box in Figure represents the relationships that are used to derive the levels of the output variables from the given levels of the decision variables, the uncontrollable variables, and the constraints. Most often, the uncomfortable variables are random variables.

The aggregate model, can then be made detailed if necessary. The model should capture the essence of the system and should provide useful information to the decision maker. Modeling is an art; however, recently some attempts have been made to formalize the process of modeling (see Geoffrion, 1985).

Data collection

There are three types of data that should be collected. The first type of data is used to estimate that input parameters. The input parameters are fixed values that do not vary during the simulation. Examples include the estimate of demand, the yield of a process, or the cost of an item.

The second type of data is collected to estimate probability distribution for the random variables used in the model. For example, repair times and breakdown times are random variables in the repair simulation discussed earlier. There are two approaches for estimating probability distributions. One approach is simply to use past observations and plot a frequency distribution or histogram to obtain an empirical distribution, as was done. We then sample directly from the empirical distribution to determine the specific values of the random variables to use in the simulation. A procedure for drawing a sample from the empirical distribution was discussed Step 3 of the computed example.

The second approach is to “fit” a theoretical distribution to the collected data. Some common continuous distributions, in which a variable can take on any of an infinite number of possible values, include uniform, exponential, normal, and beta distributions. Discrete distributions, in which a variable can take on one of a finite number of possible values, that are commonly employed in simulation include Bernoulli, binomial, geometric, and Poisson distributions. We need to determine which of the possible theoretical distributions is appropriate for a particular random variable and then estimate its parameter values. In some cases, prior knowledge about the random variable can help us exclude some distribution. For example repair times should not be generated from a normal distribution because repair times cannot take on negative values. In general, however, we will have to plot, the data and use our judgment in selecting an appropriate distribution. Once a particular distribution has been chosen for a random variable, the values of its parameters are estimated from the data. A completely specified probability distribution for the random variable is thereby obtained. Visual inspection and goodness of fit tests are used to determine whether the fitted distribution is in agreement with the collected data. Procedures and programs for generating a random representative sample from a specified theoretical distribution are available.

What should we do if we have no data for a random variable of interest? Such a situation may arise in a design simulation for a system that does not actually exist. In these situations, we will have to use either the expert opinion of engineers, managers, vendors, and the like or a historical analogy to subjectively specify distributions.

Finally, the data should be collected on the performance of the real system. For example, real data on the idle time of the mechanic and machine waiting times will be useful in validating the simulation model since the results of the simulation can be compared with actual observations of existing system conditions.