# An Approach to Multi-Objective Path Planning Optimization for Underwater Gliders
## 3 Experimental Setup
### NSGA-II Configuration  
As previously commented, NSGA-II algorithm is considered a standard for solving MOOP. Briefly, NSGA-II starts by initializing a population, which is evaluated and ranked based on non-dominated sorting and the crowding distance operator. After, it runs a main loop composed by selection, crossover, and mutation operators, to generate an offspring which is evaluated through the fitness functions. Next, it combines and evaluates the parent and the newly obtained offspring and selects some individuals by their rank. This loop runs until a stopping criterion is met, and the final population is reported. A more detailed explanation and the respective pseudo-code is presented in the detailed description of the algorithm [3; 23].  
The chromosome is constituted by a total of 10 real variables, representing different headings to the glider at every surfacing, and set to be kept by the vehicle along each underwater stint. Without loss of generality, an incremental heading change codification is chosen instead of absolute waypoint coordinates to avoid undesirable target hit conditions and waypoint transition effects. Minimum and maximum values of all the genes are \(-180\) and \(+180\) sexagesimal degrees, respectively.  
The objective of these experiments is to find the best parameter combination through the execution of multiple optimizations, analyse and present the best results according to statistical tests, and interpret those results in the context of glider path planning.  
A total of 27 different configurations were considered for the NSGA-II, combining three values of mutation probability (0.05, 0.1, 0.15) around the \(\frac{1}{n}\) rule [57], with \(n=10\) in our case, and crossover probability (1, 0.9, 0.8), with population size (40, 100, and 160) for 500, 200, and 125 generations, respectively. To guarantee a fair comparison, the same total number of 20,000 fitness evaluations (FES) was set as stopping criterion. All parameter value combinations are presented in Table 3.  
The glider simulator was coupled with NSGA-II, that was configured combining values of multiple parameters (Table 3). Every configuration of each case is repeated for 51 independent random executions in order to obtain statistically significant results for the evaluation of the performance of the meta-heuristic optimization. The coupled system output for every run is a list composed by the vehicle position on a 4D representation (Latitude, Longitude, and Depth over time), according to the provided headings and ocean circulation data.  
Figure 4: Areas of simulation for overlapping (**left**) and separated (**right**) obstacles, with surface ocean current directions.  
With the configurations presented, and using a regular laptop (i7 6700 HQ, 16 GB RAM, running Linux Ubuntu 18.04) executing 4 optimizations simultaneously, each one of the 8 cases (27 configurations \(\times\) 51 random seed values, each) was performed in about one hour.  
As the version of NSGA-II used and the simulator are written in the C-Language, the requirements to run these experiments are, essentially, a computer with a C compiler and the netCDF libraries (in order to read the ocean forecast data). The amount of time needed to optimize will depend on the hardware specifications of the machine used.