# Analysis and Visualization of Production Bottlenecks as Part of a Digital Twin in Industrial IoT
## 2 Literature Review
### Bottleneck Detection in Manufacturing Systems  
In 2001, ref. [12] came up with a practical bottleneck detection method which uses the active periods of machines, the _Average Active Period Method_. The active periods of machines are all periods in which a machine is not starved or blocked by surrounding machines. Starvation means that a machine is unable to produce parts due to lacking incoming parts to be processed. A machine is blocked if it cannot start processing because the current \begin{table}
\begin{tabular}{p{113.8 pt} p{113.8 pt} p{113.8 pt}} \hline
**Input** & **Output** & **Bottleneck Detection Method** \\ \hline Time series data of active periods & Estimation of Sole and Shifting Bottleneck machines relative to observation period & Active Period Method [13] \\ Time series data of blockage and starvation of machines & Identification of bottlenecks through starvation of downstream machines and blockage of upstream machines & Turning Point Method [14] \\ Time series data of active periods & Average of active periods for each machine & Average Active Period Method [12] \\ Observations inventory states & Ranking of bottleneck sets & Shop Floor Bottleneck Detection [15] \\ Arrival of Jobs & Identification of bottleneck machine pools through reinforcement learning & MINERVA: A Reinforcement Learning-based Technique [16] \\ \hline \end{tabular}
\end{table} 
Table 1: Literature review on existing bottleneck detection methods. workpiece is finished but has not been removed from the machine. A machine is in an active state even if it has broken down or is being equipped, because it could produce if the technical issues would be solved. When applied to shop-floor data, a set of active periods can be calculated. An example for transforming the series of states of a process into a set of active periods is shown in Figure 3.  
The next step is to calculate the mean and standard deviation over all active periods for each machine in the set of machines  
\[A_{i}=\{a_{i,1},a_{i,2},a_{i,3},...,a_{i,n}\}.\]  
A visualization of this method can be seen in Figure 4.  
The process in the graph above is active for 1.500 s on average before being interrupted by a starved or blocked process. This is by far the longest Average Active Period in the system. All other processes reach much shorter Average Active Periods in the graph, being active for only one or two process cycles before interruption. In 2004, ref. [13] came up with a new bottleneck detection method which also uses the active periods of machines, called the _Active Period Method_. The idea behind this method is that the longer a process is running without interruption by starvation or blockage, the more likely it is the bottleneck. The two fundamental rules of this method are:  
* At any given moment, the process with the longest uninterrupted active period is the bottleneck. * During the overlap at the end of the current longest uninterrupted active period and the next one, the bottleneck shifts from one process to another. A visualization of the method described in Algorithm 1 is shown in Figure 5. The figure displays the active/inactive periods of the machines. The upper part of the diagram shows the bottleneck scores for each machine. The bottleneck score measures the ratio between the duration of a machine being a bottleneck and the total observation time of the analysis. Figure 4: An example on the Average Active Period Method. M1, M2, M7 and M8 refers to different machines in the production process. We selected this subset of machines (sub-processes), because it is appropriate for the visualization of the Active Period Method. M7 (red) is the sub-process with the longest average active period. Figure 3: An example of active periods in a schematic process timeline.