EXAMPLE: A PACKAGING LINE

11.3 EXAMPLE: A PACKAGING LINE

Consider a generic packaging line for some product, such as a pharmaceutical plant producing a packaged medicinal product, or a food processing plant producing pack- aged foods or beverages. The line consists of workstations that perform the processes of filling, capping, labeling, sealing, and carton packing. Individual product units will be referred to simply as units.

We make the following assumptions:

1. The filling workstation always has material in front of it, so that it never starves.

2. The buffer space between workstations can hold at most five units.

226 Modeling Production Lines

3. A workstation gets blocked if there is no space in the immediate downstream buffer (manufacturing blocking).

4. The processing times for filling, capping, labeling, sealing, and carton packing are

6.5, 5, 8, 5, and 6 seconds, respectively. Note that these assumptions render our packaging line a push-regime production

line. To keep matters simple, no randomness has been introduced into the system, that is, our packaging line is deterministic.

It is worthwhile to elaborate and analyze the behavior of the packaging line under study. The first workstation (filling) drives the system in that it feeds all downstream workstations with units. Clearly, one of the workstations in the line is the slowest (if there are several slowest workstations, we take the first among them). The throughput (output rate) of that workstation then coincides with the throughput of the entire packaging line. Furthermore, workstations upstream of the slowest one will experience excessive buildup of WIP inventory in their buffers. In contrast, workstations down- stream of the slowest one will always have lightly occupied or empty WIP inventory buffers. Thus, the slowest workstation acts as a bottleneck in our packaging line. Of course, this behavior holds for any deterministic push-regime production line.

11.3.1 A N A RENA M ODEL

Figure 11.2 depicts an Arena model for the packaging line, in which Arena modules represent each process and units are transferred from process to process. The model logic strives to maintain a sufficient number of units (Arena entities) in the filling station, so as to keep it busy for as long as possible. To achieve this goal, a total of 30 unit entities are created at time 0, and their arrival time attribute, ArrTime, is assigned the current value of TNOW in the Assign Arrival Times module. These are promptly fed into the filling process buffer (still at time 0). Prior to exiting the system from the Tally module, called Interdeparture Time, unit entities are not disposed of, but are sent back to the Assign Arrival Times module. Note carefully that this is merely a modeling device to avoid starvation in the filling station, in compliance with the first assumption above. Starting with the filling process, unit entities go through the modules associated with the filling, capping, labeling, sealing, and packing processes in that order, and finally proceed to statistics collection modules. The model logic will be discussed in some detail in the next section.

11.3.2 M ANUFACTURING P ROCESS M ODULES

Each production line process is modeled in Figure 11.2 by a Process module from the Basic Process template panel. Every process was declared to have a queue in front of it, as evidenced by the T-bar graphics in Figure 11.2. Recall that queue parameters can be examined in spreadsheet view in the Queue module from the Basic Process template panel. As an example, consider the Process module called Filling Process, whose dialog box is displayed in Figure 11.3. This Process module has a queue called Filling Process. Queue in front of a resource called Filler. The Action field in the Filling Process dialog box is Seize Delay, so that unit entities wait in the queue Filling Process.Queue whenever resource Filler is busy. As soon as resource Filler becomes available, it is

Modeling Production Lines 227

Figure 11.2 Arena model for the packaging line system.

seized by the first unit entity (if any) in the queue Filling Process.Queue, and a processing time delay of 6.5 seconds is then implemented in the associated DELAY block.

On processing completion, the unit entity proceeds to the next Hold module, called Filler Blocked, which implements blocking as necessary (this is explained in detail in

Section 11.3.3). Only when space is available in the capping process that follows the filling process, will the unit entity be permitted to proceed to the Release module, called Release Filler, where resource Filler is released, thereby completing the filling process. In fact, the sequence of Process, Hold, and Release modules is repeated for each of the first four processes (the fifth and last process, Packing Process, does not experience blocking).

11.3.3 M ODEL B LOCKING U SING T HE H OLD M ODULE

Recall that the Hold module is used to hold entities in an associated queue until a condition is satisfied or until a future event takes place. In particular, such modules may

be used to implement production blocking. The Arena model of Figure 11.2 employs four Hold modules to this end (observe the corresponding queue T-bar graphics in Figure 11.2). As an example, Figure 11.4 displays the dialog box for the Hold module, called Filler Blocked, associated with the Filling Process module.

228 Modeling Production Lines

Figure 11.3 Dialog box of the Process module Filling Process.

The Condition field in the Hold module dialog box was set to scan for the condition

NQ(Capping Process :Queue) < 5:

In other words, it tests whether buffer space is available in the capping process—the manufacturing stage that immediately follows the filling process. If this condition is

true, the corresponding unit entity leaves the filling process and joins the capping buffer. Otherwise, that unit entity becomes blocked and remains in the Hold module, or more specifically, in the associated queue (in our example, Filler Blocked.Queue) until the condition is satisfied. As soon as the unit entity leaves the Hold module, it enters the Release module, called Release Filler, and joins queue Capping Process.Queue. Clear- ly, the resource Filler must perforce be busy whenever a unit entity resides in the queue Filler Blocked.Queue. Furthermore, since the capacity of resource Filler was declared to

be one unit, there can be at most one unit entity in the queue Filler Blocked.Queue at any point in time. It follows that

Time Filler Blocked :Queue is occupied Pr{NQ(Filler Blocked :Queue) > 0} ¼

, Total simulation time

which also happens to be the average number of unit entities in Filler Blocked.Queue. This fact will later be used in obtaining blocking probabilities for any process some_process simply by defining (in the Statistic module) a Time Persistent statistic for the expression NQ(some_process.Queue).

Modeling Production Lines 229

Figure 11.4 Dialog box of the Hold module associated with the filling process.

Note that a Release module follows each Hold module for each process. Conse- quently, the time spent by a unit entity in the Hold module's blocking queue is measured by Arena as part of the preceding Process module’s resource busy time. This point will

be revisited in Section 11.3.6 when we study the model’s effective process utilizations.

11.3.4 R ESOURCES AND Q UEUES

Recall that the Resource module in the Basic Process template panel provides a spreadsheet view of all resources in the model, as illustrated in Figure 11.5. Similarly, the Queue module provides a spreadsheet view of all queues in the model, including blocking queues, as illustrated in Figure 11.6.

Figure 11.5 Dialog spreadsheet of the Resource module.

230 Modeling Production Lines

Figure 11.6 Dialog spreadsheet of the Queue module.

The column under the Type heading in Figure 11.6 is used to specify a service discipline for each queue via an option from a pull-down menu in each selected entry. Service discipline options are FIFO, LIFO, Lowest Attribute Value, and Highest Attribute

Value. The last two options are implemented using a particular attribute of unit entities in the queue. A common example is priority-based service using a Priority attribute in entities. Another example is the SPT rule, which admits into service the job with the shortest processing time. An implementation of this rule would require the modeler to declare an attribute, say Processing_Time, and to select the options Lowest Attribute Value or Highest Attribute Value in the Type column. This selection would automatically create an additional column in Figure 11.6, labeled Attribute Name, in which the user would enter the appropriate attribute name (in our case, Processing_Time). Modeling a finite capacity for a queue can be implemented analogously to blocking (see Section 11.3.3). Entries in the column under the Shared heading are checked if a queue is shared by more than one Seize module or SEIZE block.

11.3.5 S TATISTICS C OLLECTION

Figure 11.7 displays the dialog box of the Record module, called Tally Flow Time, which tallies the time elapsed since the time stored in the unit entity attribute ArrTime. In particular, if we arrange for ArrTime to be a unit entity attribute that stores its arrival time in the system and set the Type field to the Time Interval option, and if unit entities proceed from the Record module Tally Flow Time to be disposed of, then this Record module will tally unit entity flow times through the system.

Figure 11.8 displays the dialog spreadsheet of the Statistic spreadsheet module for the packaging line model. Rows 1–4 and row 9 collect Frequency statistics (steady-state

probability estimates) for the states of the filling, capping, sealing, packing, and labeling resources, respectively. The probability of any prescribed event can be similarly speci- fied via an expression, provided that the Type field is set to the Time Persistent option. For example, the probability that the filling resource queue has two or more jobs in its buffer can be specified by the expression.

Modeling Production Lines 231

Figure 11.7 Dialog box of the Record module Tally Flow Time.

NQ (Filling_ R_Q) > ¼ 2:

Row 5 collects an Output type statistic specified by an expression that defines the reciprocal of the time average of the variable, called Interdeparture Time, which computes interdeparture times of unit entities from the system. Recalling that the expression is computed after the replication terminates, it follows that this Output statistic provides an estimate of the system throughput.

Finally, rows 6 through 10 collect blocking probabilities of the filling, capping, sealing, and labeling processes, respectively (recall that the packing process does not experience blocking). Note that each associated expression collects a time average of the size of the blocking queue in the corresponding Hold module. Since each blocking queue can hold at most one job, the computed time average is just the respective blocking probability.

11.3.6 S IMULATION O UTPUT R EPORTS

The packaging line model was simulated for 100,000 seconds. Figure 11.9 displays the Queues report of the Reports panel for this model. Note that each queue has Waiting Time and Number Waiting statistics, including the blocking queues of the Hold modules. The queue Filling Process.Queue had a maximum of 29 units (recall that 30 unit entities were placed there initially), and an average of 15.64 units. The queue Capping Process.Queue was nearly full most of the time, holding an average of 4.96 units with an average delay of 39.9 seconds. The labeling queue Labeling Process.Queue was also full most of the time holding an average of 4.99 units. In contrast, the sealing and packing queues were empty all the time. The Queues report also includes hold (blocking) queue statistics. These will

be discussed, however, later in the context of blocking probabilities.

Modeling

Production Figure 11.8 Dialog spreadsheet of the Statistic module.

Lines

Modeling Production Lines 233 Figure 11.10 displays the Resources report of the Reports panel for the packaging

line model. The Inst Util column in the report shows that the resources Capper, Filler, and Labeler were 100% occupied. This is expected of the Filler resource, since the system was designed that way. The Capper and Filler resources did not experience idleness, while the Sealer and Packer resources were busy with 75% and 62% utiliza- tion, respectively. The Resources report has additional detailed statistics similar to the Queues report, which are not shown here.

Figure 11.11 displays the User Specified report of the Reports panel for the packag- ing line model. Recall that these statistics are collected as a result of declarations in the

234 Modeling Production Lines

Figure 11.9 Queues report for the packaging line model.

Statistic and Record modules. The Tally section in Figure 11.11 provides interdeparture time and flow-time statistics. The mean interdeparture time for the run was estimated at

8 seconds (with all observations having the same value, 8). In spite of its apparent triviality, this statistic contributes to the verification of the simulation model—a topic

that will be treated in more detail in Section 11.4. The mean flow time from the Filling

Modeling Production Lines 235

Figure 11.10 Resources report for the packaging line model.

Process module to the Interdeparture Time module was estimated at 239.78 seconds, based on 12,497 observations (unit entity departures). The minimal and maximal flow times observed were 30.5 seconds and 262.5 seconds, respectively. Note that the mean flow time is closer to the maximal rather than the minimal observation, showing that the majority of flow-time observations were skewed toward 262.5 seconds.

The Counter section indicates that a total of 12,497 departures from the system were observed over the replication interval. The Time Persistent section provides estimates for blocking probabilities. Evidently, the system experienced acute blocking in Capping Process (blocking occurred 37% of the time) due to long labeling times. Blocking at Capping Process has propagated upstream to Filling Process, which experiences 18.7% blocking.

The Output section estimates the system throughput as 0.125 units per second (equivalently, one unit every 8 seconds), in agreement with the mean interdeparture time in the Tally section.

Figure 11.12 displays the Frequencies statistics of the Reports panel for the first replication of the packaging line model. The displayed statistics pertain to the prob- abilities of the busy and idle states for each resource. An immediate observation is that the estimated busy probabilities for the resources Filler, Labeler, Packer, and Sealer include the corresponding blocking probabilities, since a blocked resource is not released, and therefore, is considered busy. Thus, in order to estimate the effective utilization of a resource (the fraction of time that it performs “actual work”), its estimated blocking probability is subtracted from its estimated probability in the busy state. Table 11.1 displays the effective utilization of each process resource.

236 Modeling Production Lines

Figure 11.11 User Specified report for the packaging line model.

Modeling Production Lines 237

Figure 11.12 Frequencies report for the packaging line model.

Table 11.1 Effective process utilization from Filling to Packing

Process Filling

Sealing Packing Utilization