## 4 Numerical Simulation Analysis
### Determining the Step Height Parameters Based on the NSGA-II Multi-Objective Optimization Algorithm
#### 4.2.2 NSGA-II Optimization Algorithm  
NSGA-II (Non-dominated Sorting Genetic Algorithm-II) is a fast, non-dominated multi-objective optimization algorithm that uses an elitist preservation strategy. It is based on Pareto optimal solutions [40; 41; 42; 43].  
The core idea of Pareto optimal solutions is that when the system's state evolves to another state, at least one objective function is improved, provided that the other objective functions do not worsen. This process is called Pareto improvement, and the process of obtaining the optimal solution through iterative application of this improvement strategy is defined as Pareto optimization.  
Additionally, in NSGA-II, the method of crowding distance and crowding comparison is used to replace the traditional sharing function method. The crowding distance refers to the number of solutions surrounding a particular solution xi, and in the iterative computation process, the crowding distance is used to maintain the diversity of the population. The main calculation process of the crowding distance is as follows:  
First, initialize the crowding distance of each point: i\({}_{\mathrm{d}}\) = 0.  
Next, perform non-dominated sorting on the population, and set the crowding distance of the two individuals at the boundary to infinity.  
Figure 10: Step height parameters.  
Finally, calculate the crowding distance for the remaining (i \(-\) 2) individuals:  
\[i_{d}=\sum_{j=1}^{m}\left|f_{j}^{i+1}-f_{j}^{i-1}\right|, \tag{5}\]  
where i\({}_{d}\) represents the crowding distance of point i, f\({}_{j}^{i+1}\) represents the value of the j-th objective function at point i + 1, and f\({}_{j}^{i-1}\) represents the value of the j-th objective function at point i \(-\) 1.  
Then, compare the two attributes, i.e., non-dominated sorting (i\({}_{rank}\)) and crowding distance (i\({}_{d}\)). If any of the following conditions is met, individual i wins.  
(1) \(i_{rank}<j_{rank}\). At this point, the non-dominated layer of individual i is superior to that of individual j.  
(2) \(i_{rank}=j_{rank}\cap i_{d}>j_{d}\). When individual i and individual j belong to the same level, individual i has a larger crowding distance.  
For ease of the subsequent programming calculations, Figure 11 shows a flowchart of the NSGA-II optimization algorithm.  
Among various multi-objective optimization algorithms, NSGA-II was selected for this study because of its reliable performance and compatibility with numerical simulation workflows. Compared with other popular methods, such as SPEA2 and MOPSO, NSGA-II has the following advantages:  
(1) NSGA-II offers efficient non-dominated sorting, elitist selection, and a crowding distance mechanism, which together ensure good solution diversity and convergence speed with relatively simple parameter settings.  
Figure 11: Flowchart of the NSGA-II optimization algorithm.  
(2) SPEA2 provides enhanced elitism and external archive management but typically involves more complex memory and computational overhead.  
(3) MOPSO (Multi-Objective Particle Swarm Optimization) is known for fast convergence and global search capability; however, it is prone to premature convergence and is sensitive to inertia weight and velocity update strategies.  
Considering the trade-off between robustness, ease of implementation in Python, and computational efficiency during integration with FLAC3D, NSGA-II was deemed the most suitable choice for this study.