## 4 Improved Non-Dominated Sorting Genetic Algorithm
### Decoding Rules Based on the Equipment Utilization Rate  
With regards to the said encoding rule, we adopted the decoding rule based on the equipment utilization rate, and still took the heat treatment process as a node. The machining process before and after the heat treatment process follows the decoding rule based on the bottleneck equipment, while the heat treatment process follows the decoding rule based on the utilization rate of the heat treatment equipment. In this section, let's take the scheduling of five jobs (including the heat treatment process) on four pieces of machining equipment and one piece of heat treatment equipment as an example, and their settings are shown in Tables 1 and 2. Figure 3: Process Encoding with the Heat Treatment as a Node. Figure 2: Improved NSGA. Decoding rules for machining processes before and after the heat treatment process  
The machining process follows the decoding rules based on the bottleneck equipment to guarantee full utilization of equipment resources, reduce uneven distribution of bottleneck equipment, improve the coordination of the scheduling solution in resources, and maximize the equipment utilization rate. Take the chromosome [2, 1, 1, 3, 5, 4, 4, 4, 2, 3, H1, H3, H2, H4, H5, 4, 5, 2, 1, 3] as an example to perform decoding based on the equipment utilization rate of the machining process with the procedure as follows:  
1. Find the process corresponding to the next gene in the chromosome without equipment, and judge whether it is a machining process. If it is not, implement Step 1.4. If it is, judge whether it is a process before the heat treatment process, and if it is, implement Step 1.2, otherwise implement Step 1.5;
2. Traverse the set of optional machining equipment for this process, and calculate the bottleneck degree \(BN_{p}\) of each optional equipment \(M_{p}\) according to Equation (18). The larger the \(BN_{p}\) value is, the more the processes are on this equipment. So this equipment is the bottleneck equipment. \[BN_{p}=LE_{p}+\sum_{j=1}^{n}\sum_{i=1}^{G_{j}}(T_{ji}\cdot N_{j})\cdot X_{jp} \tag{18}\]  
Among them, \(LE_{p}\) indicates the end time of the last process on the equipment \(M_{p}\) at the current time node. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Workpiece** & **Batch** & **Process** & **Single Piece Processing Time/\(h\)** & **Whether Heat Treatment** & **Processable Equipment** \\ \hline \multirow{4}{*}{Job1} & \multirow{4}{*}{12} & O\({}_{11}\) & 3 & N & M1/M3 \\  & & O\({}_{12}\) & 2 & N & M2/M3/M4 \\  & & O\({}_{13}\) & 5 & Y & B1 \\  & & O\({}_{14}\) & 3 & N & M1/M4 \\ \hline \multirow{4}{*}{Job2} & \multirow{4}{*}{16} & O\({}_{21}\) & 4 & N & M1/M2 \\  & & O\({}_{22}\) & 2 & N & M2/M4 \\  & & O\({}_{23}\) & 5 & Y & B1 \\  & & O\({}_{24}\) & 3 & N & M1/M3/M4 \\ \hline \multirow{4}{*}{Job3} & \multirow{4}{*}{15} & O\({}_{31}\) & 2 & N & M2/M3 \\  & & O\({}_{32}\) & 4 & N & M1/M4 \\  & & O\({}_{33}\) & 6 & Y & B1 \\  & & O\({}_{34}\) & 3 & N & M1/M2 \\ \hline \multirow{4}{*}{Job4} & \multirow{4}{*}{14} & O\({}_{41}\) & 2 & N & M1/M4 \\  & & O\({}_{42}\) & 3 & N & M1/M2 \\ \cline{1-1}  & & O\({}_{43}\) & 3 & N & M1/M3/M4 \\ \cline{1-1}  & & O\({}_{44}\) & 5 & Y & B1 \\ \cline{1-1}  & & O\({}_{45}\) & 2 & N & M1/M3 \\ \hline \multirow{4}{*}{Job5} & \multirow{4}{*}{17} & O\({}_{51}\) & 3 & N & M1/M2 \\ \cline{1-1}  & & O\({}_{52}\) & 2 & N & M2/M3/M4 \\ \cline{1-1}  & & O\({}_{53}\) & 6 & Y & B1 \\ \cline{1-1}  & & O\({}_{54}\) & 2 & N & M1/M4 \\ \hline \hline \end{tabular}
\end{table} 
Table 1: Processing scheduling of 5 jobs on 4 equipment and 1 heat treatment equipment. \begin{table}
\begin{tabular}{l c c c c c} \hline \hline
**Job** & **Workpiece Quantity in Job** & **Single Workpiece Volume** & **Heat Treatment Time** & **Delivery Date** & **Jobs to Form Batches** \\ \hline Job1 & 12 & 2 & 5 & 150 & Job2; Job4 \\ Job2 & 16 & 3 & 5 & 200 & Job1; Job4 \\ Job3 & 15 & 3 & 6 & 230 & Job5 \\ Job4 & 14 & 2.5 & 5 & 185 & Job1; Job2 \\ Job5 & 17 & 2 & 6 & 160 & Job3 \\ \hline \hline \end{tabular}
\end{table}