## 4 Improved Non-Dominated Sorting Genetic Algorithm
### Decoding Rules Based on the Equipment Utilization Rate

Table 2: Basic data of the decoding rule example. * 1.3: Choose the equipment with the smallest equipment bottleneck degree from the set of optional equipment for this process, and implement Step 1.4;
* 1.4: Judge whether there is any unscheduled process in the current chromosome. If there is, implement Step 1.1; otherwise, stop decoding;
* 1.5: If the process is the machining process after the corresponding heat treatment process, judge whether the heat treatment process of the job corresponding to this process is arranged. If so, implement Step 1.2, otherwise the implement decoding rule 2.1 of the heat treatment process;
* 2. Decoding rule of the heat treatment process  
During the production scheduling process of the heat treatment, to maximize the utilization rate of the heat treatment equipment volume, (1) it is required to batch the workpieces of the same job, and combine them with the workpieces of other jobs. However, the larger the number of batches in the same job, the smaller the number of workpieces in each batch. If the same job is distributed in a scattered manner, there is a time interval for heat treatment operation between different small batches. The batch that has completed heat treatment processing prior to the last batch has to wait in the waiting area for the last batch of this job to complete heat treatment processing before they are uniformly delivered to the next machining equipment for processing, which is not in favor of minimizing the maximum makespan of the job; (2) Meanwhile, because the job is dynamically delivered to the heat treatment process, it is unknown when the job that can be batched with the pending job will arrive. If it is only considered to maximize the heat treatment equipment volume, the job waiting time must be increased, and thus the job delivery date cannot be satisfied as required. Therefore, we designed a decoding rule based on the heat treatment equipment volume and job delivery date herein. When maximizing the utilization rate of the heat treatment equipment volume in combination of considering the job delivery date, we tried to reduce the batching quantity of workpieces in the same job and waiting time of pending jobs. This decoding rule introduces a combined batch processing acceptance factor \(\delta\), which balances the effects of both the delay rate td of the job delivery date and the increase rate \(\Delta_{\eta}\) of the utilization rate \(\eta\) of the heat treatment equipment volume in an all-round manner. The risk factor of the combined batch processing at the current time is \(\delta_{t}=\frac{\text{td}_{d}}{\Delta_{\eta}}\). The smaller the delay rate of the current job delivery date, the larger the utilization rate of the heat treatment equipment volume, and the smaller the risk probability of combined pending batch processing. Among them, the increase rate of the utilization rate of the heat treatment equipment volume is \(\Delta_{\eta}=\eta-\eta^{\prime}\), where \(\eta^{\prime}\) is the utilization rate of the previous equipment volume. The decoding rule based on the heat treatment equipment volume and job delivery date designed herein can be executed as follows:  
* 2.1: Initialize the remaining volume \(C^{\prime}=C\) of the current heat treatment equipment;
* 2.2: Judge whether this process is the heat treatment process, if it is, obtain the job \(J_{j}\) corresponding to the current process, its unit volume \(S_{j}\), job quantity \(N\), and quantity \(N^{\prime}\) of workpieces without the combined batch, and then implement Step 2.3. Otherwise implement Step 1.2;
* 2.3: \(J_{j}\) can be combined with a batch \(C^{h}\) in the uncompleted batch set, and implement Step 2.4; otherwise reset \(C^{h+1^{\prime}}=C-N^{\prime}\times S_{j}\) to generate a new batch \(C^{h+1}\), and then implement Step 2.8;
* 2.4: If the remaining volume of the heat treatment equipment of the current batch is \(C^{h^{\prime}}\geq N^{\prime}\times S_{j}\), update \(C^{h^{\prime}}=C^{h^{\prime}}-N^{\prime}\times S_{j}\), and the current job batch grouping is completed.