Why Replications
Distributions (which we will discuss later in this lesson) are a method used in ProcessModel to introduce randomness or variability. For example, you may have an activity where the processing time is not always constant due to people performing the activity, the type of entity being processed, or a variety of other reasons. To understand the importance of running replications in a simulation, let’s suppose you have 3 consecutive activities, each having a distribution in their time fields. Because the values for those times are chosen randomly each time an entity enters the processes, it is possible that the majority of the times chosen will be in the low range of possible values. That, of course, would give your process a lower than expected overall throughput time.
Now let’s say you delete one of the processes. You would expect the average cycle time to drop because there is one less activity. However, because of the randomness of the distributions, the two remaining activities could return many time values in the high range of the scale. In that case, the average cycle time would go up instead of down. Even though this is an extreme example, it demonstrates the nature of randomness. Replications allow you to run a simulation multiple times, generating different random values for each replication. Then you can see the range of possible values and the true mean. Seeing the randomness allows you to uncover potential problems and make accurate process decisions.
Open the last model used in Lesson 1, Lesson 1 – Solution 4. Click on the Simulation menu and select Options. Update the replications to 30, and simulate the model.
Once simulation end, click the model name, on the left side to display the average of the replications. Click on the replication number to view the specific replication statistics.
Click on the Stats button to access additional statistics for replications.
Review
You’ll remember that the simulations in Lesson 1 ran for 40 hours. The Options menu is where the simulation run length is determined. Warmup length is the amount of time you want to run your model before collecting statistics (use to preload a production line). Replications determine the number of times a simulation is run with changed seed values in the random number generator (this mimics variation experienced (from day to day or week to week) in the world).
Turning off the animation in the Options window will make the simulation run much faster.
Click on the Replication number on the far left of the report to see the replication statistics. Click on the model name at the left top of the report to see the average values for all replications. Note the Average Cycle Time average of the replications is 68.95, above the required 60-minute maximum specified by management.
Distributions
A distribution could be defined as a set of values that specify the relative frequency with which an event has occurred or is likely to occur. In the real world, events tend to occur randomly, according to certain statistical patterns or distributions. Distributions allow you to add randomness or variability to your model to make it more accurately reflect reality.
Distributions are of two major types: discrete and continuous. Discrete distributions contain a finite number of possible outcomes. The number of people in a party arriving at a restaurant would be an example of a discrete distribution. Continuous distributions contain an infinite number of possible outcomes. Examples include service times or the time between arrivals.
Common Distributions
The following represent only 3 of the commonly used distributions in ProcessModel.
Distribution | Syntax | Parameters |
---|---|---|
Triangular | T(a, b, c, s) | a = minimum b = mode c = maximum Example: T(2, 10, 15) |
Uniform | U(a, b, s) | a = mean b = half range Example: U(20,5) |
User-defined (or discrete) | D n (% 1 , X 1 , . . . % n , X n ) | % = percentage of time the value is returned x = value to be returned n = number of return values (between 2 and 5) Example: D3(20, 35, 30, 45, 50, 37.5) |
The following diagrams show what the Triangular and Uniform distributions explained above would look like.
To see a list of possible distributions, open the Stat::Fit program from ProcessModel’s Tools menu.
Sample Uses
Triangular – Unload time for trucks could be as little as 7 minutes, typically 18 but could be as long as 45 minutes. To model this example, you would enter T(7, 18, 45) in the Time field at the Loading Dock activity.
Uniform – Every box weighs between 5 and 15 pounds. The weight is random within those bounds. The distribution would be written U(10,5) to capture the randomness.
User-defined – One of two types of prep needs to occur on each part entering your process. Thirty-four percent of the time, the time prep takes 8 minutes. Sixty-six percent of the time, it takes 14 minutes. To model this example, you would enter D2(34, 8, 66, 14) in the Time field of the Prep activity.
Practice
Close any currently open model and open the Lesson 1 – Call Center model. Save the model as Lesson 2. Double click the Perform Research activity and enter T(10,20,30) in the Time field.
Review
Adding the time distribution will cause the time to vary between 10 and 30 minutes, with most times being around 20 minutes, for each entity that enters this activity.
Double click the arrival route (line between the Call entity and the Take Call activity). Enter D2(90,1,10,2) in the Quantity field. Then enter T(2,5,12) in the Repeat Every field.
Review
90% of the time, a quantity of 1 call will arrive. 10% of the time, 2 calls will arrive together. Calls will arrive between 2 and 12 minutes apart, with the majority of arrivals occurring around 5 minutes apart.
Set this model to run 10 replications by clicking Simulation and selecting Options. Save this model as Lesson 2, then simulate it.
After opening the Smart Stats output, click on the name Lesson 2 in the tree control. Clicking on the model name in the tree control presents the replications’ average and allows viewing additional statistics.
Click on the Stats icon in the ribbon menu, hold down the CTRL key, and mouse-click on standard deviation.
Questions
1. What is the average and standard deviation for utilizing the Level 2 resource?
2. What is the average cycle time and standard deviation of the cycle time for Difficult calls?
3. Though you don’t see a typed distribution, where else do you find randomness or variability in Lesson 1 – Call Center model?
4. Think of a real-world situation where you would use a triangular distribution. What questions would you ask to obtain the parameter values you need?
Stat::Fit
Though you can estimate your randomized data values, using real data to generate reliable results based on quantitative data is better. That is where Stat::Fit comes in (available on the Tools menu). Stat::Fit is a statistical tool that allows you to create statistical distributions based on measured data.
Let’s look at one example of why it is important to use Stat::Fit. One distribution that is fairly easy to understand is the Triangular distribution. It has 3 parameters: a minimum value, a most likely value, and a maximum value. The triangular distribution works well for reasonably balanced time values. Examples might include T(1,3,10) or T(25,30,37). However, if there is a large difference in the size of the sides of the triangles, then a Triangular distribution is a poor choice. For example, if the values in the triangular distribution were T(1,2,100) the mean would be greater than 34. and look like the following:
In most cases, when there is a large difference in the most likely and the largest values, the distribution is skewed to the left, and the distribution of values looks very different. An example is shown below:
A triangular distribution wouldn’t represent the data in the case above, providing a much higher average time.
Stat::Fit Changes Raw Data Into Representative Distributions
Using collected data and Stat::Fit gives you confidence that you can depend on your output accuracy when introducing variability into your model.
For the next portion of our lesson, suppose you have collected data for the Perform Research activity but don’t know what distribution to use or how to get that data into your model.
Close your current model and open Lesson 1 – Call Center. Click the Tools menu and select Stat::Fit. In the Document1: Data Table window, click on the column to the right of the number 1.
Enter the following numbers in the Data Table (you can select, copy and paste this data):
18.7
18.3
17
20.5
20
18.4
18.7
18.2
16.5
21
17.9
24.2
19.2
19.2
17.6
22.7
18.1
16.6
16.8
17.2
21.9
18.4
22.1
17.9
15.6
20.6
21.5
16.7
18
20.1
20.6
18.1
16.5
20.4
18.9
19.4
20.6
22.5
19.2
20.5
21.1
22.2
18.5
18
23.4
20.2
18.3
18.9
22.5
22.5
18.4
19.4
17.8
18.9
23.1
16
20.8
21.4
15.8
22
22.1
17.8
19.1
21.8
16.3
20.5
28.4
20
20.6
18.4
23.2
19.8
16
18.3
22.3
18.2
19
22.9
20.8
17.4
17.6
21.5
16.8
18.9
16
19.9
17.2
21.9
17.7
20.2
22.2
17.4
19.4
17.4
23.3
19.3
19.4
18.7
17.2
16.3
18.9
17.9
19.4
21.4
17.4
20.8
20.2
24.6
20.8
16.1
16.7
22.9
19.2
21.9
27.7
16.5
16.1
21.4
18.5
16.9
19.5
16.1
19.8
18
18.6
16
15.9
18.3
17.5
20
24
20.8
16
19
19.9
16.4
21.1
18.3
20.1
17.3
21.7
19.9
16.5
17.4
16.8
17.5
20.8
23.4
15.3
19.1
If you already have your data in another application like Excel, you can copy and paste your data points rather than typing them manually.
After entering your data, click the Auto::Fit button.
Load the Weibull distribution into the Perform Research activity by clicking Stat::Fit’s Export button, then click OK.
Exit Stat::Fit and double click the Perform Research activity. Highlight the 20 in the Time field. Right-click your mouse and select Paste. This will paste the Weibull distribution you created in Stat::Fit into your model.
Self Teaching Guide
Getting Started
Lessons
- Your First Model
- Replications and Distributions
- Entity Arrivals
- Routings
- Attributes, Variables and Action Logic
- Shifts
- A More Complex Call Center
- Model Building Techniques
Case Studies
- Analysis
- Replications
- Froedtert Hospital Improves ICU Care
- Nuclear Site Cleanup
- Restaurant Customer Seating Optimization