# Computing Idle Times in Fuzzy Flexible Job Shop Scheduling
## 3 Idle Times with Fuzzy Durations
### The Total Core Idle Time  
Regardless of how the core idle time, \(\widehat{\text{CIT}}_{\phi}(r)\), for each resource, \(r\in\mathbf{R}\), is computed, the total core idle time of a schedule is obtained as the sum across all resources of their core idle time:\[\widehat{\Gamma\Gamma\Pi}_{\phi}=\sum_{r\in\mathbb{R}}\widehat{\Gamma\Pi}_{\phi}(r). \tag{22}\]  
We may add a superscript, \(N,K,C\), if we want to highlight that this function is computed using (17), (19), or (20), respectively. Let us illustrate the three different ways in which \(\widehat{\Gamma\Gamma}\) can be computed with a toy example. Suppose that we have the schedule \(\phi\) depicted in Figure 2, comprising eight operations scheduled in three resources. To represent the different values of the operations in the schedule, we will use grids as the following:  
\[ \begin{bmatrix}o_{2}&o_{8}\\ o_{1}&o_{7}&o_{5}\\ o_{4}&o_{6}&o_{3}\end{bmatrix} \]  
where each row corresponds to the operations scheduled in a resource. This way, the processing times of operations are as follows:  
\[ \begin{bmatrix}(30,30,40)&(10,10,10)\\ (20,30,40)&(10,20,30)&(35,40,40)\\ (15,20,30)&(20,20,40)&(10,30,30)\end{bmatrix} \]  
Their starting times are given by the following:  
\[ \begin{bmatrix}(20,30,40)&(50,60,100)\\ (0,0,0)&(35,40,70)&(45,60,100)\\ (0,0,0)&(15,20,30)&(50,60,80)\end{bmatrix} \]  
And their completion times are given by:  
\[ \begin{bmatrix}(50,60,80)&(60,70,110)\\ (20,30,40)&(45,60,100)&(80,100,140)\\ (15,20,30)&(35,40,70)&(60,90,110)\end{bmatrix} \]  
If we compute operations' idle times, \(\widehat{\Gamma\Pi}_{\phi}^{N}\), using the naive approach from (16), we obtain the following values:  
\[ \begin{bmatrix}(0,0,0)&(0,0,50)\\ (0,0,0)&(0,10,50)&(0,0,55)\\ (0,0,0)&(0,0,15)&(0,20,45)\end{bmatrix} \]  
This results in resource core idle times \(\widehat{\Gamma\Pi}_{\phi}^{N}(r_{1})=(0,0,50)\), \(\widehat{\Gamma\Pi}_{\phi}^{N}(r_{2})=(0,10,105)\), and \(\widehat{\Gamma\Pi}_{\phi}^{N}(r_{3})=(0,20,60)\) and, thus, a total core idle time,  
\[\widehat{\Gamma\Gamma\Pi}_{\phi}^{N}=(0,30,215).\]  
If operation idle times are instead computed with the knowledge-based approach, as proposed in (18), we obtain the following values of \(\widehat{\Gamma}_{\phi}^{K}\) for all operations:  
\[ \begin{bmatrix}(0,0,0)&(0,0,50)\\ (0,0,0)&(0,10,50)&(0,0,0)\\ (0,0,0)&(0,0,0)&(0,20,45)\end{bmatrix} \]These yield resource core idle times \(\widehat{\mathrm{CIT}}_{\phi}^{K}(r_{1})=(0,0,50)\), \(\widehat{\mathrm{CIT}}_{\phi}^{K}(r_{2})=(0,10,50)\), and \(\widehat{\mathrm{CIT}}_{\phi}^{K}(r_{3})=(0,20,45)\), so the total core idle time will be  
\[\widehat{\mathrm{TCI}}_{\phi}^{K}=(0,30,145).\]  
Finally, using the coarse approach to directly compute the core idle time of resources as per (20), we obtain \(\widehat{\mathrm{CIT}}_{\phi}^{C}(r_{1})=(0,0,50)\), \(\widehat{\mathrm{CIT}}_{\phi}^{C}(r_{2})=(0,10,75)\), and \(\widehat{\mathrm{CIT}}_{\phi}^{C}(r_{3})=(0,20,65)\). Then, the total core idle time according to this method is  
\[\widehat{\mathrm{TCI}}_{\phi}^{C}=(0,30,190).\]  
We can appreciate how, unlike the deterministic case, in the fuzzy framework, each approach yields a different value for \(\widehat{\mathrm{TCI}}\). The three different TFNs can be seen in Figure 3. It is clear that the support (and, hence, the spread) of the resulting TFN is different in each case. Given their definitions, it is guaranteed that the spread of \(\widehat{\mathrm{TCI}}_{\phi}^{K}\) will always be less than or equal to the spread of \(\widehat{\mathrm{TCI}}_{\phi}^{N}\), i.e., computing the total core idle time with the knowledge-based approach accumulates less uncertainty, as illustrated by the example. In this particular case, the spread for \(\widehat{\mathrm{TCI}}_{\phi}^{C}\) is also larger than the one for \(\widehat{\mathrm{TCI}}_{\phi}^{K}\). However, it is not guaranteed that this will always be so, as shown in the experimental results in Section 4.