# Modified, Reliability-Based Robust Geotechnical Design Method, in accordance with Eurocode 7
## 2 Materials and Methods
### A Modification of the RGD Procedure
#### 2.2.4 Optimisation Using the Non-Dominated Sorting Genetic Algorithm II (NSGA-II)  
Genetic algorithms (GA) are the heuristic optimisation and search techniques that mimic nature's evolutionary principles. The concept of the genetic algorithm was developed by [PERSON], and it is used in solving problems from various problem domains, including sciences, commerce, and engineering [27]. The non-dominated sorting genetic algorithm II (NSGA-II) was first suggested by [PERSON] et al. [28] with the aim of improving the existing multi-objective evolutionary algorithms that use non-dominated sorting. A flowchart of the NSGA-II algorithm is shown in Figure 5.  
In the original RGD procedure, objectives are calculated for every design in the design space, followed by non-dominated sorting to determine the Pareto front (Figure 1). Such an approach results in a high number of reliability analyses, which depends on the number of designs in the design space, as well as on the number of noise factors. In the example from [1], the number of designs is 450, and the number of noise factors is 4 and 5 for ULS and SLS, respectively. In that case, the RGD procedure includes \(7\times 4\times 450=12\),600 FORM and 450 PEM analyses, and \(7\times 5\times 450=15\),750 FORM and 450 PEM analyses for SLS (the number 7 refers to the 7 estimating points according to the PEM procedure). We suggest calculating objectives only for the designs chosen in the procedures included in the NSGA-II algorithm. In that case, the number of computations for every objective depends on the given termination criterion, which can be, e.g., the number of  
Figure 5: A flowchart of the NSGA-II algorithm. function evaluations, the number of iterations, or an advanced criterion based on the defined performance metric. Due to a number of reasons, applying any of the algorithmic methods will rarely enable determining the true Pareto front, with only its approximation being possible. The approximation quality can be measured using various indicators, among which the hypervolume indicator (HI) [29] is highly important. An increase in the value of HI is an indicator of convergence towards the true Pareto front. When its value ceases to change significantly, in relation to the number of evaluations of objective functions, the algorithm is considered to have converged. An example of the hypervolume indicator for a two-objective case is shown in Figure 6, and includes a hatched region bound by the reference point \(r\). We analysed the performance of the NSGA-II algorithm in the case of the RGD procedure, modified as described in Sections 2.2.1-2.2.3. An optimisation was conducted, with three objectives defined as follows: minimise foundation cost, maximise ULS and SLS robustness with the decision variables being foundation width (B) and depth (D). Since the choice of genetic algorithm parameters directly influences the quality of solutions and convergence [30], we conducted a parametric analysis of crossover and mutation of operator parameters, with the aim of determining their optimum values. The analysis was conducted for different \(COV_{\phi}\) values. The work included the usage of a simulated binary crossover (SBX) operator, which was shown to be efficient for real variables [31]. The parameters of the SBX operator are crossover probability \((p_{c})\) and distribution index \((\eta_{c})\). Crossover probability is the number of realised crossovers in one generation. If its value is 0%, then the entire new generation equals the preceding one; if the crossover rate is 100%, the entire generation is substituted with new offsprings, yielded from the crossover of units in the previous generation. The distance of the offsprings from the parent solution will depend on the value of \(\eta_{c}\): if \(\eta_{c}\) is large, the resulting offsprings will be near the parent solution, with the opposite being the case for smaller values. The mutation operator ensures the maintaining of genetic diversity in the genetic algorithm population.