## 5 Methodologies for Problem Solving
### Multi-Objective Evolutionary Algorithm
#### 5.2.1 [PERSON] et al. [32] introduced the widely used non-dominated sorting genetic algorithm II (NSGAII), a multi-objective evolutionary algorithm (MOEA) with elitism. The preservation of better candidate solutions in subsequent populations is the means by which elitism is accomplished. First, from a population known as \(P_{0}\), the process randomly generatessolutions. In order to ensure that each parent population, \(P_{q}\), produces an equal number of progenies, genetic operators including selection, crossover, and mutation are used during a given generation, \(q\). These descendants make up the offspring population, \(C_{q}\). Due to this, the parent and offspring populations are combined to form a new population \(S_{q}\) with a size of \(~{}2N\). To identify the best \(N\) solutions for \(S_{q}\) from a pool of \(2N\) options, the crowded tournament selection operator is utilized in the next generation of NSGAII. If the rank of solution \(r\) (\(r_{rank}\)) is lower than the rank of solution \(s\) (\(s_{rank}\)), then solution \(r\) will be prioritized by the crowded tournament selection operator. Furthermore, if \(r\) and \(s\) have equal rank, we compute their crowding distances separately, which are expressed as \(r_{distance}\) and \(s_{distance}\), respectively. If \(r_{distance}\) is more than \(s_{distance}\), then \(r\) is favored over \(s\) in the order of priority. The solutions' ranking and crowding distance are the main topics of the ensuing discussion.  
**Solution ranking**: A rank is given to each solution, \(r\), in the population, \(S_{q}\), denoted as \(r_{rank}\). Therefore, the solutions are ranked and then divided into separate non-dominated fronts \(N_{1},~{}N_{2},...,~{}N_{w}\). All solutions in the front, \(N_{k}\), are non-dominated to each other, and are given the same rank, \(k\), where \(k\in\{1,2,\ldots,w\}\). It is essential to remember that the rank of a solution \(r\) in \(S_{q}\) and its associated front number are the same. There is an inherent preference for solutions when \(k\) is small since they are better. We start by selecting all the non-dominated solutions that stand for the front \(N_{1}\) in order to create the population \(P_{q+1}\) for the \((q+1)^{th}\) generation. The solutions on non-dominated fronts with higher ranks in \(S_{q}\) are disregarded if the number of solutions in \(N_{1}\) is equivalent to the initial population size, \(N\). However, when \(P_{q+1}\) is generated, the solutions of the subsequent higher-order fronts are taken into account. The aforementioned procedure persists until a certain front, \(N_{k}\), possesses solutions that are not entirely encased inside \(P_{q+1}\).  
**Evaluating crowding distances for the solutions**: [PERSON] et al. [32] established the crowding distance as a metric to quantify the density of solutions around a given solution. If the solutions in \(N_{k}\) are not entirely contained in \(P_{q+1}\), then a crowding distance value (\(r_{distance}\)) is assigned to every non-dominated solution, \(r\), in the front, \(N_{k}\). The crowding distance measures how close the neighboring solutions in the search space are to a certain solution. There is a greater crowding distance between solutions in less densely inhabited regions of the search space compared to those in more densely populated regions. In order to fill the remaining slots of \(P_{q+1}\), solutions with a larger crowding distance are always given more priority and chosen from \(N_{k}\). In the subsequent generation, \(P_{q+1}\) takes the place of \(P_{q}\) as the parent population following the generation of it. This process iteratively creates a new population for each generation until something like the maximum number of function evaluations or generations is encountered, which are examples of termination conditions.  
The time complexity of NSGAII is \(O\big{(}MN^{2}\big{)}\), as suggested by [PERSON] et al. [32] where \(M\) and \(N\) are, respectively, the number of objective functions and the population size considered for the problem.