## 4 A Real Case Study
### The Number of Needed Operators  
We applied the allocation procedure described in Section 3.5 to determine the number of operators needed. The load imposed by each machine on an operator was calculated as the product of the number of product types assigned to the machine and the fixed setup time per product. These values, representing the total setup time per machine, are presented in Table 2 and were used to guide the machine-to-operator assignment. The feasibility of assigning multiple machines to a single operator was evaluated in two steps:  
(1) Verifying that the total load for a group of machines does not exceed one unit. (2) Applying the mathematical programming model (5) to ensure that the sequence of setup and production times across machines does not result in time conflicts (machine interference). Our analysis indicates that machines 1 through 4 can be assigned to a single operator without violating the total load or setup-time overlap constraints. However, machine 5 must be assigned to a second operator. The mathematical model (5) failed to yield a feasible solution when all five machines were assigned to one operator. Therefore, the result of our algorithm is a solution that requires two operators. Specifically, Operator 1 is assigned to machines 1-4, and Operator 2 is assigned to machine 5. We note that this solution is not necessarily optimal and is not balanced between the two operators. The heuristic algorithm does not explore all possible assignments; it maintains the original production sequence and does not permit reallocation of slot times to minimize the number of operators further. In addition, the algorithm preserves all idle \begin{table}
\begin{tabular}{c c c c c c c} \hline \hline
**Products** &
\begin{tabular}{c} **Ranking** \\ **Criterion** \\ \end{tabular} & **Ranking** & **M1** & **M2** & **M3** & **M4** & **M5** \\ \hline
7 & 0.2904 & 7 & & & & 0.2904 & \\ \hline
8 & 0.4609 & 2 & 0.4609 & & & & \\ \hline
9 & 0.3886 & 4 & & 0.3886 & & & \\ \hline
10 & 0.0925 & 17 & & & & 0.0925 \\ \hline
11 & 0.2364 & 10 & & & 0.2364 & & \\ \hline
12 & 0.1142 & 15 & & & & 0.1142 \\ \hline
13 & 0.1606 & 12 & & 0.1606 & & & \\ \hline
14 & 0.2337 & 11 & & & & 0.2337 \\ \hline
15 & 0.2629 & 9 & & & & 0.2629 & \\ \hline
16 & 0.1009 & 16 & & & & 0.1009 \\ \hline
17 & 0.1439 & 13 & & & & 0.1439 & \\ \hline SUM & 4.5344 & & 0.9487 & 0.9670 & 0.9741 & 0.9766 & 0.6681 \\ \hline \(n_{i}\) & 2 & 3 & 3 & 4 & 5 \\ \hline \(n_{i}\times T_{s}\) & 0.0576 & 0.0864 & 0.0864 & 0.1152 & 0.1440 \\ \hline Ranking & 1 & 2 & 2 & 4 & 5 \\ \hline \hline \end{tabular}
\end{table} 
Table 2: _Cont._times at the end of the cycle rather than distributing them throughout the schedule, which may further limit optimization. The assignments are illustrated in Figures 5 and 6 and summarized in Table 3. These figures confirm the result obtained via mathematical programming: machines 1-4 can be managed by a single operator without overlapping setup times, but adding machine 5 would violate the non-overlap constraint. The doughnut diagram (Figure 6) illustrates that machine 5's setup intervals conflict with those of machines 1-4. Thus, a second operator is required. Table 3 presents the allocation of products to machines and machines to operators, along with the start and end times of each product's production during a single cycle. Figure 5 provides a Gantt chart illustrating the production schedule for a representative cycle assigned to the first operator. It shows no overlapping setup times for the twelve products produced on these four machines. The schedule in Figure 5 can be directly translated into an operational timeline for the operator: starting with the setup of product 2 on machine 3, followed, after 0.1957 of the cycle, by the setup of product 6 on machine 4, and so forth.