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.
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.
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.
The following represent only 3 of the commonly used distributions in ProcessModel.
|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
|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.
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.
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.
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.
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.