## 4 Optimized NGSA-III Algorithm
### Algorithm Improvement  
The flowchart of the optimized NSGA-III algorithm is shown in Algorithm 1. ```
0: Generate initial population \(P_{t}\) with 40% random individuals and 60% individuals from tabu search and \(H\) structured reference points \(Z\)
0:\(P_{t+1}\)
1:for generation = 1 to MaxGeneration do
2: binary tournament selection (individuals)
3:\(P_{c}=P_{c_{max}}-(P_{c_{max}}-P_{c_{min}})\times(1-\frac{f_{i}}{f_{max}})\)
4:\(P_{m}=P_{m_{min}}+(P_{m_{max}}-P_{m_{min}})\times(1-\frac{f_{i}}{f_{max}})\)
5: generate offspring population \(Q_{t}\)
6:endfor
7:\(R_{t}=(P_{t}\cup Q_{t})\)
8:\((F_{1},F_{2},...,F_{w})=\text{non-dominated sort }(R_{t})\)
9: Set \(F_{1}\) as the initial non-dominated solution set
10:while\(|S|<N\)do
11: Move one non-dominated solution from \(F_{1}\) to \(S\)
12:endwhile
13: Adaptive normalization:
14: Find ideal point \(Z^{*}\) and calculate nadir point
15: Normalize objectives using ideal and nadir points
16: Associate individuals with reference points
17: Retain individuals
18:if termination criterion is met (e.g., number of generations) then
19: stop and return final population
20:else
21: go to step 1
22:endif
```  
**Algorithm 1** Generation of the Optimized NSGA-III Procedure  
Although NSGA-III is much better than NSGA-II in terms of population diversity, it retains the problem of premature convergence [19]. Numerous numerical experiments have shown that NSGA-III is extremely effective in solving large-scale high-dimensional problems, but its performance is poor when dealing with multi-objective optimization problems [21] and its local search ability is insufficient [22]. Therefore, this paper optimized the conventional NSGA-III by improving the population initialization method and dynamically adjusting the crossover and mutation probabilities as follows:  
1. The quality of the initial population has a significant impact on the convergence efficiency of NSGA-III [23], and random population initialization is generally applied. However, for the ship scheduling problem, random population initialization generates a large quantity of infeasible scheduling solutions that limit the evolution speed and individual quality of the population. Therefore, this paper used two methods to initialize the population: 1. The initial population was designed based on the problem background. First, a zero matrix was created to store the population information and each individual in the population was considered to randomly generate each ship's release status, delayed entry time, etc., record these data in the zero matrix, then calculate the fitness value of each individual and store it in the fitness matrix. 2. The tabu search algorithm was introduced to generate a mixed initial population. Random individuals generated based on the problem background accounted for 40% of this initial population, whereas individuals generated using the tabu search algorithm accounted for the remaining 60%. This effectively utilizes the superior local search ability of the tabu search. 2. Crossover is critical to determining the global search capability of NSGA-III [24]. As mutation operations do not play a major role in the early stages of evolution, the solution space was explored to the extent possible by making the crossover probability relatively large. However, as the number of evolutions increases, the population becomes stable and, to escape from a local optimum, the crossover probability must be reduced by increasing the mutation probability and accelerating the convergence of the algorithm [25].