# NSGA-III-XGBoost-Based Stochastic Reliability Analysis of Deep Soft Rock Tunnel
## 3 NSGA-III Algorithm  
To solve the nine hyper-parameter optimization problem of XGBoost model, NSGA-III proposed by [PERSON] and [PERSON] (2014) was adopted in this paper. The NSGA-III algorithm is proposed based on the NSGA-II algorithm. Compared with NSGA-II, NSGA-III has the less computation time and higher quality of Pareto solutions [29]. NSGA-III is the most widely used multi-objective optimization algorithm in the field of multi-objective optimization. NSGA-III adopts a reference point-based sorting mechanism, while NSGA-II adopts a congestion distance-based sorting mechanism. The basic idea of GA is as follows: population initialization \(\rightarrow\) entering the main loop \(\rightarrow\) selection operation \(\rightarrow\) crossover operation \(\rightarrow\) mutation operation \(\rightarrow\) population update operation \(\rightarrow\) outputting the global optimal solution. Here, \(H\) is the number of target axis partitions for the reference point; \(Z^{s}\) is the reference point, and the parent population for the \(t\)-th iteration is \(P_{t};\mathbf{f}^{t}\) is objective function. The main process of the NSGA-III algorithm is as follows. 1. Obtain the offspring population \(Q_{t}\) from the mutation of the parent population \(P_{t}\), and then obtain the total population \(R_{t}=P_{t}\cup Q_{t}\), assuming an empty population \(S_{t}=\varnothing\). 2. Perform non-dominated sort of \(R_{t}\) to obtain the non-dominated layer \(F_{1},F_{2},\cdots,F_{k}\). 3. Fill individuals in \(S_{t}\) according to the order of non-dominated layers until they reach Layer \(l\). If \(|F_{l}|+|S_{t}|>N\) and \(|S_{t}|<N\), proceed to Step (4); otherwise, if \(|S_{t}|=N\), \(P_{t+1}=S_{t}\). 4. Adaptive normalization is performed on the individuals in \(F_{l}\), calculating the distance \(d(s)\) between each individual and the reference line, and corresponding each individual to the reference point corresponding to the closest reference line, completing the reference point correspondence. 5. According to the corresponding results, the reference points are arranged in ascending order based on the number of individuals corresponding to each reference point. Individuals are selected from the reference points and added to \(S_{t}\) with the priority given to the corresponding number of individuals. The iteration is repeated until the filling is completed. 6. Output \(P_{t+1}\). The pseudocode for the NSGA-III algorithm (see Algorithm 3) is as follows [29]. Generation \(t\) of NSGA-III procedure:  
``` Input:\(H\) structured reference points \(Z^{s}\) or provided aspiration points \(Z^{a}\), parent population \(P_{t}\) Output:\(P_{t+1}\). 1. \(S_{t}=\varnothing_{i}=1\)
2. \(Q_{t}\)= Recombination + Mutation (\(P_{t}\))
3. \(R_{t}=P_{t}\cup Q_{t}\)
4. \((F_{1},F_{2},\cdots,F_{k})\)= Non-dominated-sort (\(R_{t}\))
5.repeat
6. \(S_{t}=S_{t}\cup F_{i}\) and \(i=i+1\)
7.until\(|S_{t}|\geq N\)
8. Last front to be included: \(F_{l}=F_{i}\)
9.if\(|S_{t}|=N\)then
10. \(P_{t+1}=S_{t}\), break
11.else
12. \(P_{t+1}=\cup_{j=1}^{t-1}F_{j}\)
13. Points to be selected from \(F_{l}\): \(K=N-|P_{t+1}|\)
14. Normalize objectives and create reference set \(Z^{r}\): \(Normalize=\left(\mathbf{f}^{t},S_{t},Z^{r},Z^{s},Z^{a}\right)\)
15. Associate each member \(\mathbf{s}\) of \(S_{t}\) with a reference point: \([\pi(\mathbf{s}),d(\mathbf{s})]=Associate(S_{t},Z^{r})\) % \(\pi(\mathbf{s})\): closest reference point, \(d\): distance between \(\mathbf{s}\) and \(\pi(\mathbf{s})\)
16.