A visual approach to modeling, simulation and analysis
By Raymond L. Major
As we approach the year 2000 few things are changing as rapidly as computer technology. Trying to keep up with several areas of interest in this field can be challenging; however, it is essential to do so since computer systems have a proven track record for helping to solve the increasingly complex business problems addressed in the managerial domain. Organizations involved in government, manufacturing and services are realizing that the old ways of doing business will be inadequate in the future and decision-makers will require flexible and complex tools to help them meet the challenges that lie ahead. Simulation is a powerful tool for modeling sophisticated systems, and this technique has gained acceptance in an expanding range of applications. As our military, manufacturing and communications systems become more complex, simulation plays an indispensable role in predicting the impact of change as we try to improve these systems.
Simulation software must also keep the pace with improvements in the operating environments of computer systems. This translates into being able to take advantage of the new capabilities provided by the Microsoft Windows operating environment due to the near-total conversion to Windows in education and industry. SIMUL8 is a visual, discrete-event simulation software tool developed by Visual Thinking that is also capable of being interfaced with Excel, Visual Basic or other software packages that use standard Windows application interfacing techniques. This feature allows programmers to develop more powerful, analytical applications that also include a standard, user-friendly Windows interface. Thus, SIMUL8 can be easily combined with a standard suite of software applications commonly used for storing and manipulating the information required in the day-to-day operations of an organization.
The developers of SIMUL8 consider simulation in the business decision-making sense and define simulation as "a process of building and using a time-based visual model which emulates every significant step that occurs in a process and every significant interaction between resources in a process so as to gain insight about the impact of potential decisions on that process." A SIMUL8 simulation model visually shows you what will happen in the process if you make changes to it, and it records performance measures of your system under different scenarios. Simulation is an analytical tool as well as a communication and thinking tool that addresses the following needs that business analysts require of a simulation study:
System Requirements and Installation
System requirements are moderate. SIMUL8 requires about 25 MB of hard disk space on an IBM-compatible personal computer running Windows 3.1x, NT3.5x, Windows 95 or NT 4.0. SIMUL8 can also be set up to run on a network and has been designed to work from shared network directories. Version 4.2 of SIMUL8 comes on four 3.5-inch, 1.44MB floppy diskettes, and installation is accomplished in the customary Windows manner after placing disk 1 into the computer system's A: drive. The installation process flows very smoothly presenting standard options to the user such as choosing the location where SIMUL8 will be stored and whether a 32-bit version of the software should be installed.
We evaluated version 4.2 of SIMUL8, a 32-bit release, using both a standard desktop system, a Gateway P5 (Pentium processor) running at 133-MHz with 48 MB of RAM under Microsoft NT 4.0, and a laptop Ð a Gateway 2000 SOLO system with a Pentium processor running at 90MHz with 16 MB of RAM using Microsoft Windows 95. We did not detect any meaningful differences when building, running, revising and viewing the results of the two models that are described in the following discussion. Running the models with the animation turned on or off did not seem to have a major impact on how quickly the simulation results were produced on either system. However, these models may have been too small to detect a noticeable difference in calculation time(s) for the two systems. Also, certain other application software did not run very smoothly while SIMUL8 was running. Thus, we suggest that you close SIMUL8 before starting to use other application software such as Word for Windows.
SIMUL8 User's Manual and Online Help
The user's manual that accompanies the software contains full documentation on how to use each feature. The manual also includes a section devoted to describing the entire process of conducting a simulation study written from the point of view of someone undertaking a consultancy role. Guidelines are offered for addressing the key steps of a simulation study that include the level of detail for a model, using a "warm-up" time, the importance of making multiple runs of the model, and how to analyze the results statistically. A clear distinction is not made in this section, however, between the two most important issues in establishing the credibility of the model before implementing any suggested improvements.
We verify a model by making sure that the model works the way that a modeler intended. Validation is the process of making sure that the model reflects the operation of the real system under study. When describing the key steps needed to ensure the "validity" of the insights gained after running the model, the section on verification begins with the following sentence: "The first of these steps is to verify that the model is running in the same way that the real world would work in the same circumstances." This statement is somewhat misleading; however, the manual emphasizes the key point of carefully examining a model's behavior before adopting any of the potential solutions identified by the simulation study. This part of the manual can perhaps benefit by making a distinction between verifying and validating a model in addition to describing the steps that show how one chooses the statistical distributions used in a model for representing the stochastic processes in the system under study.
The technical section of the manual describing the SIMUL8/Excel (VBA) extension comes with many easy-to-use examples for building completely tailored front ends or back ends to a model. Visual Thinking also offers a free service of adding any extra facility required in order for a Visual Basic program to know more about what is happening inside your SIMUL8 model.
The on-line help information is well developed and quite extensive. In addition to providing context-sensitive help, an example library is included that contains a number of examples that cover many of the key features of the software. Another useful feature for someone in the initial stages of learning the software is that, for many of the objects in the simulation window, helpful hints (i.e., Tool Tips) automatically appear on the screen whenever the mouse cursor remains stationary on the object. Additionally, Lotus ScreenCam movies are included along with hyperlinks to Visual Thinking's well-established presence on the World Wide Web.
Modeling a Service System with SIMUL8
One builds a SIMUL8 model by drawing it on the screen using the mouse after selecting the appropriate icon(s). The icons appearing on the screen are associated with the "SERVICE INDUSTRY." The user's manual states that the icons that appear depend on "an option chosen during installation;" however, this option was not presented for the version of the software that we installed. Note that the user can create, replace or enhance the icons used in the simulation models. Each icon in the simulation window represents an object in the simulation model that include:
The first model we describe is a telephone call center simulation where a call center receives three levels of inquiry (A, B and C) fielded by three grades of technicians (X, Y and Z). Technician Z can deal with all calls; Y can only answer A & B inquiries and X can only answer call type A. Calls enter the system throughout the day and the system can handle eight lines Ð five callers waiting and three being processed. Calls made when all lines are busy are "lost." Callers are only prepared to wait a certain period of time before they hang up. This time, called "reneg time," varies according to the level of inquiry of the call. We are interested in determining what level of service this operation can provide.
Figure 1 is a snapshot of the simulation window for the telephone call center after running the model. The model was configured to have SIMUL8 automatically display the simulation results in the window.
Figure 1. A telephone call center simulation model
The model uses a "telephone handset" icon to represent the three Work Entry Points modeling the different levels of inquiry. We specify the arrival information using a dialog box that appears after clicking on any of these icons. This includes choosing a probability distribution to model the arrival of phone calls coming to the system. In addition to creating user-defined distributions, SIMUL8 also provides the following 10 statistical distributions for generating random numbers: 1. Exponential, 2. Log Normal, 3. Negative Exponential, 4. Normal, 5. Uniform, 6. Weibull, 7. Beta, 8. Gamma, 9. Triangular, 10. Pearson V & VI.
We can also view certain simulation results for the Work Entry Points using the dialog box to find, for example, that 245 work items of type 'A' entered the system.
Incoming calls are routed to their respective Storage Bins or Queues. Details for each Storage Bin are also specified using dialog boxes that appear after clicking on an icon. In addition to specifying the capacity for the queue and the "shelf life" for items in the queue, one also uses dialog boxes to define the queueing discipline or the rule for selecting items that leave the queue. These include first-in-first-out (FIFO Ð the default), last-in-first-out (LIFO), and prioritization based on the value of some attribute for the items in the queue. A high volume option is also available for cases where the work tends to be done in batches instead of distinguishing between individual pieces of work. The high volume mode lets SIMUL8 process large numbers of transactions very quickly in batches while still retaining the ability to consider work individually.
Items leaving the Storage Bins are routed to their respective Work Centers. Observe that the 'Answer Desk' in Figure 1 displays a different icon depending on whether or not the Work Center is busy. Figure 2 shows the dialog box used to specify options for a work center along with a summary of the simulation results and a pie chart, which appear after clicking on the appropriate buttons.
Figure 2. Work center options and results
The Work Center Options dialog box in Figure 2 allows the user to: (1) specify the type of statistical distribution and its parameters used to supply values used in the model; (2) select the resources required to do work at the work center; (3) fix the efficiency or down time of the work center; (4) describe the rules used to route items in and out of the work center; (5) specify how work item attributes are changed as the items leave the work center ('Actions'); and (6) define how this work center competes against other work centers for resources ('Priority').
Clicking on the 'Results' button in the options dialog box displays the Work Center Results summary window that shows the simulation results for a given work center. Clicking on the line chart icon in the summary window displays a graph that shows the number of work items in the work center across time. The pie chart shown in Figure 2 appears after clicking on the pie chart icon in the results summary window. The pie chart shows the percentage of time the work center spent working and awaiting work.
Work Complete and Resource Details dialog boxes are displayed after clicking on one of the "Calls Answered" or "Technician" icons, respectively. The Work Complete results window gives the minimum, average, maximum and standard deviation for the time that the work item spent in the system. The Resource results show the percent utilization for a given resource. Also, the simulated time can be displayed using a digital readout instead of the clock display shown in Figure 1.
Producing a series of runs (i.e., a Trial) for this model simply requires that we choose "Trials" from the main menu (or click the appropriate button on the Toolbar) and then specify the appropriate information regarding the random number streams that are used. SIMUL8 comes with 30,000 sets of random number streams, and each place where random numbers are used in a model uses a separate stream of random numbers. The Results Summary Window for a trial can show a 95 percent or 99 percent confidence interval (along with the average value) for any piece of information in the model. The user can also elect to view the results at the end of a run or the results of a trial.
Modeling a Machining Operation
The second simulation model we developed is one where pallets arrive at "In" one at a time every 30 minutes on average. Each pallet has five castings on it that are unloaded and sent one at a time to "Machine 1." After spending an average of three minutes at "Machine 1," the casting is routed to "Machine 2" where it spends roughly six minutes before going to "Inspect." At "Inspect" 1.5 minutes (on average) are required to examine each casting before sending it to "Out." Once five castings have arrived at "Out," they are re-palletized and then sent to "Shipping" where they exit the system. A forklift truck is required to transport the empty pallets from "In" to "Out" and also to transport the re-palletized castings to "Shipping." The purpose for studying this system is to determine if any bottlenecks exist and how many forklift trucks we should use. Note that this process is not a "service" operation and calls for unbatching and batching operations along with using a dynamic resource (i.e., one that moves between work centers).
Attempting to model this process with SIMUL8 revealed several features missing from the software. We were able to model this process using attributes created for the work items along with adding Storage Bin objects to the model instead of, say, renaming the work items at the arriving location. It is usually best to connect Work Entry Points to Storage Bins first in SIMUL8 since work items will be discarded if they cannot immediately proceed from a work entry point to the next object on the screen. Using attributes, for example, we can distinguish between a "pallet" and a "casting" in the system. Batching (and unbatching) is accomplished in SIMUL8 using attribute values for the work items to be batched. Thus, we were able to model the pallet unloading and re-palletizing actions; however, the actual model's description was a slightly altered version of the actual process scenario. Also, resources in SIMUL8 are items that are required at work centers in order for a work center to work on a work item, which means that dynamic resources (i.e., a forklift truck) were not included in the model. We can establish travel links in the SIMUL8 model along which work items require time to travel. However, we were unable to model the use of forklift truck(s) in the process in a very straightforward manner.
The de-bugging feature or diagnostic facilities of SIMUL8 also appears to be somewhat underdeveloped. The user's manual essentially devotes only one page to describing the Simulation Monitor which lets you see the detailed activities taking place within SIMUL8's internal simulation engine. A "Next Step" tab is described that shows a description of the next event which is going to happen; however, the Simulation Monitor does not contain a tab labeled "Next Step." It does contain a tab labeled "Now" that shows the next event that the simulation will schedule. The History information in the Simulation Monitor is a list of the previous 100 "Steps." The history only shows the successful steps. In general, we were able to view the events taking place in our model using the Now and History information along with adjusting the speed for the simulation, although it was rather awkward to do so.
Other shortcomings of the program revolved around the kinds of printouts produced by the application. For example, having a printout of the History information may help users locate problems more quickly, but we could not print this information. Also, the File/Print menu command produces a copy of the objects and links as shown in the simulation window, and this is not as useful as having a listing of detailed information for the model especially during the initial stages of development. The File/Documentation command produces a text file that contains information about all the objects in the model along with the settings specified via dialog boxes. However, the program does not include a utility for viewing this information. Instead, one needs to start a new application like Notepad in order to view and/or print the file. It would be more convenient to have this information displayed after a couple of clicks of the mouse since it contains information that is useful when checking the simulation model to make sure that all of the settings are correct. This may be a preferred way of checking a complex model instead of examining all the dialog boxes verify the settings for the model.
SIMUL8 is a visual, discrete-event simulation software package that is capable of modeling many different types of real-world processes. SIMUL8 contains many of the standard probability distributions commonly used by business analysts when conducting a simulation study. Its object-oriented programming approach, along with its ability to be extended to other Microsoft products like Excel and Visual Basic, give a simulation analyst a considerable amount of flexibility regarding the kinds of simulation models that can be developed for an organization.
The developers of SIMUL8 can continue to improve its diagnostic facilities and other features to make them better suited to verifying that the model works the way that the modeler intended. The developers did accomplish their objectives of producing a robust, visual communication tool that has a very reasonable price. SIMUL8 represents a software tool that has kept pace with many of the recent advancements in computer hardware and software and can be used to examine a wide range of different kinds of business systems and processes.
Raymond L. Major is an assistant professor of management science and information technology in the Pamplin College of Business at Virginia Polytechnic Institute and State University. His teaching interests include advanced business computing and computer simulation in business. He received his Ph.D. in decision and information sciences from the University of Florida in 1994.
OR/MS Today copyright © 1998 by the Institute for Operations Research and the Management Sciences. All rights reserved.