SimQuick Process Simulation with Excel
Second Edition
by David Hartvigsen
Mendoza College of Business Administration University of Notre Dame
Prentice Hall Upper Saddle River, NJ 07458
v
Table of Contents Preface Motivation................................................................................................................x
How to use the booklet ............................................................................................x Chapter 1: Introduction .............................................................................................1 Sec. 1: What is process simulation?.........................................................................2 Sec. 2: What does SimQuick do?.............................................................................3 Sec. 3: How does SimQuick incorporate uncertainty? ............................................4 Sec. 4: System requirements and “installation”.......................................................6 Chapter 2: Waiting Lines...........................................................................................8 Sec. 1: Solving a problem with SimQuick...............................................................9 Example 1: A Bank..................................................................................................9
Modeling the process (with a process flow map) ......................................10 Entering the model into SimQuick ............................................................10 Interpreting SimQuick results ....................................................................15 Improving the process, Variation 1............................................................19 Improving the process, Variation 2............................................................22
Sec. 2: Additional waiting line processes ..............................................................23
Example 2: A grocery store checkout........................................................23 Example 3: A call center............................................................................24 Example 4: A fast-food restaurant drive-thru ............................................25 Example 5: A bank with a discrete distribution.........................................26 Example 6: A bank with changing demand ...............................................27
Sec. 3: Waiting lines with Decision Points............................................................29
Example 7: An airport security system......................................................30 Example 8: A department of motor vehicles .............................................33 Example 9: A hospital emergency room....................................................34
x
Sec. 4: Waiting lines with priorities and resources................................................36
Example 10: Cross-trained workers at a fast-food restaurant....................36 Example 11: Value meals at a fast-food restaurant ...................................40
Chapter 3: Inventory in Supply Chains..............................................................44 Sec. 1: A periodic review inventory policy ...........................................................46
Example 12: Grocery store inventory........................................................46 Sec. 2: Reorder point inventory policies................................................................49
Example 13: An electronics superstore .....................................................49 Example 14: A warehouse .........................................................................53 Example 15: Two stores and a warehouse.................................................54
Sec. 3: More complex inventory policies ..............................................................56
Example 16: An appliance store ................................................................57 Example 17: A department store................................................................62
Chapter 4: Manufacturing ......................................................................................69 Sec. 1: Linear flow processes ................................................................................70
Example 18: A generic linear flow process ...............................................71 Example 19: A manufacturing cell ............................................................73
Sec. 2: Assembly/disassembly processes...............................................................75
Example 20: Box manufacturing ...............................................................75 Sec. 3: Batch and job shop processes ....................................................................79
Example 21: Pharmaceutical manufacturing .............................................79 Example 22: A single machine job shop....................................................83
Sec. 4: Quality and reliability in processes............................................................86
Example 23: A quality control station .......................................................86 Example 24: A machine with breakdowns ................................................89
vii
Chapter 5: Project Management ...........................................................................91 Example 25: A software development project.................................................92 Example 26: A house addition project.............................................................96
Appendix 1: The Steps in a Simulation Project ...............................................98 Appendix 2: Enhancing SimQuick with Excel Features...............................99 Appendix 3: Using Custom Schedules .......................................................................... 105 Appendix 4: SimQuick Reference Manual ......................................................108
x
Preface Motivation Process simulation is one of the conceptually simplest and most often applied techniques in Operations Management and Management Science, yet it has not been widely taught to business students. A key reason for this is that performing process simulation requires the use of software, and the software that is available tends to be complex and expensive. Even the more graphics-based packages, although often beautifully designed, frequently have an enormous number of features that place an unnecessary burden on students (and instructors) in classes that are not devoted to simulation. SimQuick is a computer package for process simulation that is easy to learn (most of its features can be learned in under an hour of class time or independent reading) and inexpensive. It is aimed primarily at business students and managers who want to understand process simulation and be able to quickly analyze and improve real-world processes. SimQuick is flexible in its modeling capability; that is, it is not a “hardwired” set of examples; it requires true modeling. In addition, SimQuick runs in the widely-known Microsoft Excel spreadsheet environment (it is an ordinary Excel 2000 file with some hidden macros). Hence, users of Excel will already be familiar with much of the interface, and the results are already in the spreadsheet, ready for analysis. This booklet accompanies SimQuick. It presents the basics of process simulation by having the reader construct, run, and analyze simulations of realistic processes using SimQuick. Chapter 1 contains a brief introduction to process simulation and the concepts underlying SimQuick. The next four chapters contain a variety of examples of process simulation. These examples are organized as follows: waiting lines (Chapter 2), inventory in supply chains (Chapter 3), manufacturing (Chapter 4), and project management (Chapter 5). Each example is followed by an exercise. All of the examples and exercises have been designed with business students and managers in mind. In addition to presenting the basics of process simulation, this booklet introduces a number of key concepts from the analysis of processes: service level, cycle (or waiting) time, throughput, bottleneck, batch size, setup, priority rule, and so on. The booklet also introduces some key trade-offs from the analysis of processes: number of servers vs. service level, inventory level vs. service level, working time variability vs. throughput, batch size vs. service level, and so on. These notions are presented through computer models that the reader constructs and experiments with using SimQuick. How to use the booklet The booklet is self-contained; that is, all technical terms involving processes or operations are defined. (The reader is assumed to have a rudimentary understanding of how to use Excel on the level of knowing how to save files and how to enter information into cells.) The chapters are
ix
organized around typical topics in Operations Management and Management Science courses so that this booklet can easily be used in these types of courses. The reader should first read Chapter 1 (which contains a conceptual explanation of process simulation and SimQuick) and Section 1 of Chapter 2 (which contains a step-by-step explanation of how to use SimQuick by completely working through a simple example). After this the reader has a lot of freedom: The remaining sections in Chapters 2, 4, and 5 can be read in any order (except Example 7 should be read before Example 11). However, the sections in Chapter 3 build on one another and should be read in sequence. The bulk of Chapters 2 through 5 consists of examples of processes that can be modeled using SimQuick. When needed, an example discusses how to build the SimQuick model. Each example is followed by an exercise. A very quick treatment of process simulation could consist of working through Example/Exercise 1, followed by Examples/Exercises 2-4 for waiting lines and Example/Exercise 18 for manufacturing. With just this material, many real-world processes can be easily modeled and studied. Adding Example/Exercise 7 with Decision Points would allow the modeling of many more types of processes. Adding Examples/Exercises 12 and 13 would provide a quick introduction to the modeling of inventory in supply chains. The booklet contains four appendices. Appendix 1 contains a list of the basic steps in conducting a simulation project. Appendix 2 contains tips on how to enhance SimQuick by using some of the features built into Excel. These tips are tied to examples in the booklet. Appendix 3 describes how to use a feature of SimQuick called Custom Schedules. Appendix 4 contains a succinct description of all the features of SimQuick and can be used for reference. Hence, the features of SimQuick are presented in two ways: through examples and in a reference manual. Solutions to exercises: Instructors are provided with complete solutions (in Excel) to every exercise. These solutions may be distributed to the students at the instructor’s discretion. Web site: Refer to www.prenhall.com/hartvigsen for additional information on SimQuick, this booklet, technical support, and process simulation in general. Over the past four years, I have used SimQuick in the classroom with executive MBAs, full-time MBAs, and undergraduate business students. After a one-hour introduction in class (basically, covering Section 1 of Chapter 2), the students successfully solve a variety of modeling problems with little help. This introduction also serves as a launching pad for term projects, whereby students identify and analyze real-world processes of their choice.
x
New to the 2nd edition: The SimQuick software in the second edition has been changed in a number of ways from its first incarnation. These changes include the following (the manual in Appendix 4 contains all the features of SimQuick):
• SimQuick runs considerably more quickly. This allows more simulations to be performed in a reasonable amount of time, which leads to more accurate results. As a result, more simulations are allowed.
• SimQuick accepts larger models: up to 250 elements (new tables can be added by pasting copies of the 20 tables given for each element).
• Essentially arbitrary statistical distributions can be constructed using discrete distributions (introduced in Example 5).
• A “View Model” button has been added to the Control Panel. Clicking this button produces a copy of the tables used in the model in a format convenient for printing and logic checking.
• The initial number of objects at Buffers can be generated randomly. This allows models to capture demand patterns that change over time (see Example 6).
• Decision Points can have up to ten outputs. • The simulation details appearing on the Results worksheet can be suppressed, which
allows SimQuick to run faster, especially when many simulations are performed. • The method for using Custom Schedules for modeling arrivals and departures has been
simplified (see Appendix 3). The text has also been updated; these changes include the following:
• Four completely new models have been added. Two of these models deal with services: airport security and a hospital emergency room (Examples 7 and 9); and two deal with inventory in supply chains: a base stock policy used in an appliance store (Example 16) and a periodic review policy used in a department store (Example 17).
• The key introductory section (Section 1 of Chapter 2) on how to use SimQuick has been streamlined (by removing the introduction of Decision Points). As a result, learning the basics of SimQuick is even easier than in the first edition. This makes possible a shorter treatment of process simulation, if the instructor wishes.
• Decision Points are now introduced in a separate section (Section 3 of Chapter 1) via an airport security example. This example is more timely than the ATM bank example from the first edition, which has been removed. Thus the topic of Decision Points may be skipped altogether.
• The issue of how to model observed data with a statistical distribution, particularly when it does not follow a built-in SimQuick distribution, is an important topic and is addressed as a new variation on the introductory bank example (see Example 5).
• The initial conditions of a simulation (particularly how much inventory is initially in the buffers) are of critical importance. This topic is now explicitly dealt with as a new variation on the bank example (see Example 6).
xi
• An important issue in manufacturing environments is that, over the long run, inventory will pile up to fill the available space. This issue is now addressed in the exercise on linear flow processes (see Exercise 18).
• The general model for project management has been simplified. • An appendix has been added that lists the basic steps in a simulation project.
x
To Nancy
Acknowledgments The design of SimQuick was inspired by the breakthrough simulation product XCELL, so I want to begin by acknowledging its authors: Richard Conway, William L. Maxwell, John O. McClain, and Steven L. Worona. Next, I want to thank my editor Tom Tucker at Prentice Hall. He has been indispensable in helping me to define this project and bring it to fruition. I want to thank the following reviewers for their careful reading and excellent suggestions on a draft of the first edition: Sue Abdinnour-Helm, Arundhati Kumar, Larry Meile, Kelly B. Nichols, Jeffrey L. Rummel, and Billy M. Thornton. I’d also like to thank the reviewers of the second edition for their thoughtful suggestions based on their classroom use of SimQuick: C.H. Aikens, Stephen N. Chapman, Christos Koulamas, Michael Schwartz, and Billy M. Thornton. I still haven’t been able to implement all the great ideas I’ve received; I wish there was more time! I want to thank my colleagues Lee Krajewski and Hojung Shin for a number of helpful discussions of this project. I want to thank Kristin Ann Steffeck for her copy editing on the first edition. Finally, I want to thank my many students (executive MBAs, full-time MBAs, and undergraduate business students) of the past four years who have made many helpful suggestions during the development of this software and booklet. In particular, I’d like to single out Douglas Wait, Ben Gaw, Patrick Dahman, Xuejun Zhang, and Katy Delany for their insights.
1
Chapter 1: Introduction Learning objectives: • To understand the idea of process simulation • To understand the general structure of SimQuick models • To understand the role of uncertainty in process simulation • To get SimQuick running on your computer
2
Overview This chapter contains a brief definition of process simulation, an overview of how SimQuick works, and instructions for how to run SimQuick on a computer. Most of the details of how to use SimQuick are covered in Chapter 2, Section 1. Section 1: What is process simulation? Process simulation is a widely used technique for improving the efficiency of processes. Following are some examples of processes and some related efficiency problems that can be addressed with process simulation (and SimQuick): Examples of processes: • People moving through a bank or post office • Telephone calls moving through a call center • Parts moving along an assembly line or through a batch process or a job shop • Inventory moving through a retail store or warehouse • Products moving by trucks, trains, or ships through a supply chain • A software development project Examples of efficiency problems: • How many tellers are needed to keep waiting times at a bank reasonably short? • What effect will a new answering system have on how long customers wait at a call center? • What effect will a new just-in-time (JIT) inventory system have on the number of units
produced per day on an assembly line? • What is the best batch size to use in a factory? • What is the best delivery policy for goods at a warehouse? • How much inventory should be kept on the shelves in a grocery store? • How many machines should each worker operate in a manufacturing cell? • How should inventory be distributed along a supply chain? • What is the expected duration of a software development project? With process simulation, you begin by building a computer model of a real-world process. Your initial goal is to have the computer model behave in a way similar to the real process, except much more quickly. You then try out various ideas for efficiency improvements on the computer model and use the best ideas on the real process. Thus, a lot of time and money can be saved. Simulation is particularly useful when there is uncertainty in a process (e.g., the arrival times of customers, the demand for a product, the supply of parts, the time it takes to perform the work, the quality of the work). With uncertainty, it is often difficult to predict the effects of making changes to a process, especially if there are two or more sources of uncertainty that interact.
3
Section 2: What does SimQuick do? SimQuick allows you to perform process simulation within the Excel spreadsheet environment. There are three basic steps involved in using SimQuick (for a more detailed list of steps, see Appendix 1): 1. Conceptually build a model of the process using the building blocks of SimQuick
(introduced below). 2. Enter this conceptual model into SimQuick (this is done by filling in tables in a special
Excel spreadsheet). 3. Test process improvement ideas on this computer model. The building blocks in SimQuick are objects, elements, and statistical distributions. Objects typically represent things that move in a process: people, parts in a factory, paperwork, phone calls, e-mail messages, and so on. Elements typically represent things that are stationary in a process. There are five types of elements: Entrances: This is where objects enter a process. Entrances can represent a loading dock at a warehouse, a door at a store, and so on. You must specify when objects arrive at an Entrance and in what numbers (using a statistical distribution or an explicit “custom” schedule). Buffers: This is where objects can be stored. Buffers can represent a location in a warehouse or factory where inventory can be stored, a place where people can stand in line at a post office, a memory location in a computer for e-mail messages, and so on. You must specify how many objects a Buffer can hold. Work Stations: This is where work is performed on objects. Work Stations can represent machines in a factory, cashiers in a store, operators at a call center, computers in a network, and so on. You must specify how long a Work Station works on an object (using a statistical distribution). Decision Points: This is where an object goes in one of two or more (up to 10) directions. Decision Points can represent the outcome of a quality control station, different routings in the processing of a mortgage application, and so on. You must specify a rule for deciding in which direction an object goes (using a statistical distribution). Exits: This is where objects leave a process. Exits can represent a loading dock at a warehouse, a customer buying a product at a store, and so on. You must specify when objects depart from an Exit and in what numbers (using a statistical distribution or an explicit “custom” schedule). The third building block, statistical distributions, is discussed in the next section. A SimQuick model describes how the objects move between the elements. You have a great deal of freedom in constructing models using the building blocks of SimQuick; hence, you can
4
model a variety of real processes. However, because the number of building blocks is small and they are simple, some complex real-world processes will be difficult to model in SimQuick. For such situations, a more powerful simulation package may be needed. When a SimQuick simulation begins, a “simulation clock” starts in the computer and runs for the designated duration of the simulation. While this clock is running, a series of events sequentially takes place. There are three types of events in SimQuick: the arrival of objects at an Entrance, the departure of objects from an Exit, and the finish of work on an object at a Work Station. Whenever an event occurs, SimQuick moves objects from element to element as much as possible. SimQuick keeps track of various statistics during the simulation (e.g., the mean inventory at each Buffer) so you can analyze what happened when the simulation is over. Section 3: How does SimQuick incorporate uncertainty? As in a real process, the timing of events in SimQuick can be uncertain or random. Here is an example: Suppose you are entering a model into SimQuick that contains a Work Station. You must specify how much time this Work Station works on an object. What do you do if this time varies in a random fashion at the real work station? A typical approach is to observe the real work station and record a list of real working times. Following are four common possibilities and the ways in which SimQuick models them. Case 1: The list of real working times has a “bell-shaped” histogram:
Then, a list of numbers taken randomly from a normal distribution, with the same mean and standard deviation as your list, is likely to have a similar-looking histogram. So, for example, if your list of numbers has a mean of 3 minutes and a standard deviation of 1 minute, then you would enter Nor(3,1) into SimQuick. Thus, you are instructing SimQuick to randomly pick each working time for this Work Station from the normal distribution with mean of 3 and standard deviation of 1.
Histogram
0 5
10 15 20 25 30 35 40
0.7 9
1.1 7
1.5 6
1.9 4
2.3 2
2.7 0
3.0 9
3.4 7
3.8 5
4.2 3
4.6 2
5.0 0
5.3 8
5.7 6
Real working times
Fr eq
ue nc
y
5
Case 2: The list of real working times has a histogram that is “skewed to the right” as follows:
Then, a list of numbers taken randomly from an exponential distribution, with the same mean as your list, is likely to have a similar-looking histogram. So, for example, if your list of numbers has a mean of 3 minutes, then you would enter Exp(3) into SimQuick. Thus, you are instructing SimQuick to randomly pick each working time for this Work Station from the exponential distribution with mean of 3. Case 3: The list of real working times has a histogram whose bar heights are all roughly the same:
Then, a list of numbers taken randomly from a uniform distribution, with the same minimum and maximum values as your list, is likely to have a similar-looking histogram. So, for example, if your list of numbers has minimum and maximum values of 1 and 6, then you would enter Uni(1,6) into SimQuick. Thus, you are instructing SimQuick to randomly pick each working time for this Work Station from the uniform distribution with minimum and maximum values of 1 and 6.
Histogram
0 20 40 60 80
100
1.3 2
2.5 4
3.7 6
4.9 8
6.2 0
7.4 2
8.6 4
9.8 6
11 .08
12 .30
13 .52
14 .74
15 .96
17 .18
Real working times
Fr eq
ue nc
y
Histogram
0 20 40
1.5 2 2.5 3 3.5 4 4.5 5 5.5 6 Mo re
Real working times
Fr eq
ue nc
y
6
Case 4: The list of real working times is described by a histogram with at most ten bars:
Histogram
0 10 20 30
0 1 2 3 4 5 6 7 8
Real working times
Fr eq
ue nc
y
A discrete distribution in SimQuick has up to ten output numbers, each chosen with a specified probability. To model a histogram as above, we choose one number from each interval as an output number and we set its probability to be proportional to the height of its bar. Then, a list of numbers taken randomly from this output list, according to the associated probabilities, is likely to have a similar-looking histogram. In SimQuick this is modeled with the Dis function. The details of how to use the “Nor,” “Exp,” “Uni,” and “Dis” functions are provided in Chapters 2 through 5 and Appendix 4. To input fixed schedules, see Appendix 3. Section 4: System requirements and “installation” System requirements: To run SimQuick, you must have a PC that is running Microsoft Excel, version 2000 or later. Excel can be run from your hard drive or from a network. “Installing” and running SimQuick: The disk accompanying this booklet contains a file called “SimQuick-v2.xls.” It is a standard Excel spreadsheet file (with some special worksheets and hidden macros). To use SimQuick, simply launch the application Excel and, within Excel, open your copy of SimQuick-v2.xls (see note below). You are now ready to go! It is probably most convenient to put a copy of SimQuick-v2.xls on your computer or network space and open this copy when you want to use SimQuick. Note: When opening SimQuick-v2.xls, you may see a window with the message: “The workbook you are opening contains macros...” If this occurs, just click the “Enable macros” button. If Excel does not allow you to enable the SimQuick macros, do the following: Look under Tools / Macro / Security / Security Level. If the level is set at high, change it to medium. Saving a SimQuick model: After opening SimQuick-v2.xls, you may save your work at any time just as you do with any Excel spreadsheet: Simply click on “Save As” under the “File” menu, rename SimQuick-v2.xls., and specify a location on your computer or network space.