Keywords

1 Introduction

Bottleneck detection is the key to improving capacity in any production system. Only the improvement of the throughput of a bottleneck process will lead to an improvement of the throughput of the overall system. This is complicated by the tendency of bottlenecks in industry to shift between different processes. We define the bottleneck as follows: “Bottlenecks are processes that influence the throughput of the entire system. The larger the influence, the more significant the bottleneck” [1].

In many bottleneck detection methods, both in academic publications as well as in industrial practice, the buffer inventory between two processes is investigated. The hypothesis is usually not explicitly stated but is often implicitly indicated to be as follows: “If the buffer between two processes is full or rather full, the bottleneck is probably downstream [...]. If the buffer is empty or rather empty, the bottleneck is probably upstream [...]. If the inventory is half full, the bottleneck may be in either direction” [1].

However, while in compliance with conventional wisdom and logical deduction, to the best of our knowledge this assumption has never before been analyzed in detail even though it is the basis of several bottleneck detection methods. This is probably due to the fact that until recently there was no reliable method available to follow the shifting of bottlenecks.

2 Literature Review

Despite this, there are many different bottleneck detection methods that use inventory levels or the closely related waiting times as an integral part of their method. Law and Kelton base their method on the average waiting time or queue length [2]. Elmasry and Hon measure the average waiting time and average queue length [3]. Roser et al. use the inventory level to determine the bottleneck direction [1, 4]. Li et al. use the largest inventory to detect the bottleneck [5]. Lawrence and Buss look at the greatest number of waiting jobs in the queue [6]. Also in industry, the inventory size is commonly used to determine bottleneck locations. Most of the above methods also include the flaw to use averages in bottleneck detection, and hence they are unable to follow shifting bottlenecks.

3 Logical Deduction

Using logical reasoning, it can be deduced that the commonly used hypothesis is approximately correct. Figure 1 shows an example material flow with four processes and five inventories. If the situation shown remains stable, it can be assumed that process P3 is the bottleneck, as material is accumulating upstream of P3 and there is a lack of material downstream of P3.

Fig. 1.
figure 1

Example of stable material flow with four processes and five inventories

Fig. 2.
figure 2

Example of unstable material flow with four processes and five inventories

Fig. 3.
figure 3

All combinations of two processes with a buffer inventory capacity of three parts

Yet, this is valid only for a stable system. It becomes more complex for an unstable system. Figure 2 shows an example of an unstable system, where it is much less clear how the inventories influence the bottleneck. For easier understanding, we narrow it down to an example of two processes with a buffer inventory with a maximum capacity of three parts. All possible inventory levels are shown in Fig. 3. It is commonly assumed that with a completely empty buffer as in (a), the bottleneck must be upstream, and with a completely full buffer as in (d), the bottleneck must be downstream. However, this is not certain. Assume in Fig. 3(a) that process P2 would normally be the bottleneck. Due to a breakdown in process P1, the buffer between P1 and P2 has emptied. Process P2 is currently still processing its last part. Despite the buffer being empty, process P2 has yet to wait on process P1. Only if P2 finishes its part, process P2 would have to wait on process P1, and P1 would definitely be the bottleneck. If the problem in P1 is fixed and P1 supplies a part before P2 needs it, P1 was not the bottleneck, despite the empty buffer.

Similar is true for Fig. 3(d) if P1 is still working on a part, and the buffer opens up one space before the part in P1 is completed and has to be added to the buffer. In both cases it cannot be said for certain if the bottleneck is upstream for (a) or downstream for (d) until process P2 and P1 respectively have to wait for the other process. Hence, for a completely empty buffer as in (a), there is still a small chance that the bottleneck is NOT upstream. Similarly, for a completely full buffer as in (d), there is still a small chance that the bottleneck is NOT downstream.

The situation becomes even more complicated for Fig. 3(b) and (c). As the inventory levels are only the result of the past behavior of P1 and P2, however, it can reasonably be assumed that these inventory levels have a likely bottleneck direction between the situations (a) and (d). Hence, the more material an inventory contains, the more likely the bottleneck is downstream. The less material an inventory contains, the more likely the bottleneck is upstream.

Manufacturing is usually seen as handing parts downstream. However, it is equally valid to see it as handing free slots upstream. Hence, we have a symmetric behavior, and for this reason of symmetry, it can be expected that the influence by the preceding process and the succeeding process be of similar magnitude. Therefore, for an inventory level of 50%, it is equally likely that the bottleneck is upstream or downstream.

Fig. 4.
figure 4

Theoretical likelihood of bottleneck direction based on inventory levels

Hence, the likelihood of the bottleneck direction can be deducted as shown in Fig. 4, with the caveat that a momentary observation of a completely full inventory is not a 100% likelihood of the bottleneck being downstream, and a completely empty buffer is not a 100% likelihood of the bottleneck being upstream.

4 Simulated System

For the experimental analysis, a simple system with two processes and one buffer inventory, as shown in Fig. 5, has been analyzed. These two processes can also stand for several processes in a system. The system has been analyzed for a buffer capacity of 10 pieces. The reason for choosing an even amount of pieces as buffer was that the filling level can be precisely 50% by having a filling level of 5 pieces. The random distribution of the cycle times has been varied both in distribution type and width to understand the bottleneck behavior for different situations. An Exponential Distribution was tested as well as two Erlang Distributions with the Standard Deviations of 10% and 100%. The benefit of all of these distributions is that at no time will they be negative. This is important for the simulated system because cycle times can never be negative. Finally, the mean cycle times have been changed so that the mean cycle time of P1 was 80% of the mean cycle time of P2. Additional simulations can be found in the underlying master’s thesis [7]. The systems have been simulated using the commercial Simul8 software package.

Fig. 5.
figure 5

Experimental system

5 The Active Period Method

The challenge is to verify the above assumptions through experiments. While the inventory level can easily be measured, the bottleneck direction is more complex, especially since we cannot use the inventory levels to avoid circular reasoning. However, the active period bottleneck detection method is able to determine the location of the bottleneck at any given time based solely on the duration a process was active without interruption [8, 9]. This method is highly accurate and can determine the influence of a process on the entire system with a very high degree of accuracy [10]. The method was also verified by independent researchers who compared this method to other bottleneck detection methods and found it to be superior [11].

The active period method looks at the durations a process is active without interruptions by being blocked or starved. This is called the active period. At any given time, the process with the longest active period is the bottleneck. If the longest active periods of the processes overlap, the bottleneck is shifting between the two processes as shown in Fig. 6. If there is no overlap, then the process is the sole bottleneck.

Fig. 6.
figure 6

Experimental system

This method has been used in the simulated system to determine the bottleneck for any given time. At any given time, there are three possible outcomes: The bottleneck is in the first process (P1); the bottleneck is in the second process (P2); or the bottleneck is unknown (shifting).

6 Simulation Results

6.1 Symmetric System, Exponential Distributions

The first experiment analyzed a system with a buffer capacity of 10 pieces and exponentially distributed cycle times, where the cycle times of process P1 and P2 had identical distribution. Figure 7 shows the results of these simulations, including the confidence intervals based on multiple repetitions of the simulation and the theoretically expected perfect result as a dashed line.

Fig. 7.
figure 7

Bottleneck location for a system with identical exponential distributed cycle times

Due to the occurrence of shifting bottlenecks, there is a gap between the two bottleneck directions where the direction of the bottleneck is not known because of shifting bottlenecks. Yet, these curves are symmetrical within the limits of the confidence intervals. Neither a completely empty nor a completely full buffer had certainty with its respective bottleneck direction. For example, a completely full buffer had an 86.4% likelihood of the downstream process being the bottleneck but also a slim but real 0.32% likelihood of the upstream process being the bottleneck. Similarly, a completely empty buffer had an 88.7% chance of an upstream bottleneck but also a 0.35% chance of a downstream bottleneck.

6.2 Symmetric System, Erlang Distributions, Standard Deviation 10%

In another experiment, the same system was tested using an Erlang distribution, where the standard deviation was 10% of the cycle time for each process. The results are shown in Fig. 8. The system behaved very symmetrically and similarly to Fig. 7.

Fig. 8.
figure 8

Bottleneck location for Erlang distributions with 10% standard deviation

6.3 Symmetric System, Erlang Distributions, Standard Deviation 100%

This experiment was repeated with a much higher standard deviation equal to 100% of the cycle time as shown in Fig. 9. Again, there was no practical difference from the previous results.

Fig. 9.
figure 9

Bottleneck location for Erlang distributions with 100% standard deviation

6.4 Asymmetric System with P1 at 80% of the Cycle Time

Finally, the average cycle time of process P1 has been reduced to 80% of the previous value, and hence to 80% of P2. In effect, P1 is now much faster than P2, and P2 is much more likely to be the bottleneck. Both cycle times are still exponentially distributed.

The result of this experiment is shown in Fig. 10. Now the bottleneck locations are no longer symmetrical to the inventory levels. For example, for an inventory level of three, the bottleneck is still with a 40.0% likelihood of being downstream, and with only a 17.1% likelihood of being upstream. The theoretical ideal value is expected to be only around 30%. For any inventory level, it is much more likely that the bottleneck is in P2 than expected theoretically (Fig. 4) or analyzed for symmetrical systems experimentally (Figs. 7, 8, and 9).

Fig. 10.
figure 10

Bottleneck location for unequal cycle times with P1 at 80% of P2

7 Conclusion

We experimentally analyzed the direction of the bottleneck based on the inventory levels and compared it to the theoretically expected results. The type of distribution and the width of the standard deviation made no difference to the outcomes. For systems with (near) identical cycle times, it is valid to assume that the buffer inventory is a good indicator of the bottleneck direction.

However, if the cycle times are different, this assumption no longer holds true. As the differences between the cycle times increase, so does the likelihood of the bottleneck direction getting skewed toward the slower processes.

Naturally, having a more pronounced bottleneck downstream creates inventory levels that are more often full. If, due to random fluctuations, the inventory empties, it is much more likely to recover to its full state due to a strong downstream bottleneck than to turn empty due to a temporary upstream bottleneck. This explains the skewedness toward the strong bottleneck. Similar but symmetrical behavior occurs in case of an upstream bottleneck [7].

Overall, a linear relation between inventory level and bottleneck direction can be assumed only for systems with similar cycle times. The more pronounced the difference in cycle times, the less valid is this assumption. Further research is needed to analyze the relation between inventory levels and the bottleneck direction for asymmetric systems.