## 2 Background
### Genetic Algorithms  
Genetic algorithms (GAs) [59] are a class of optimization algorithms inspired by the process of natural selection and genetics. They are widely used in various fields to solve complex optimization problems. This section provides an overview of the working principle of genetic algorithms, highlighting the key components and steps involved in their operation [60]:  
1. **Initialization:** The first step in a genetic algorithm is the initialization of a population. A population consists of a set of potential solutions to the optimization problem, known as individuals or chromosomes. Each individual represents a possible solution in the search space. The population is typically randomly generated or initialized based on prior knowledge of the problem domain.
2. **Fitness evaluation:** Once the initial population is created, the fitness of each individual is evaluated. Fitness represents the quality or suitability of an individual solution with respect to the optimization objective. It is determined by an objective function that quantifies how well the individual performs. The objective function could be based on specific criteria, constraints, or a combination of both.  
3. **Selection:** The selection process simulates the concept of survival of the fittest, where individuals with higher fitness values have a higher probability of being selected for reproduction. Various selection methods can be employed, such as roulette-wheel selection, tournament selection, or rank-based selection [61]. The goal of selection is to create a mating pool consisting of individuals that are more likely to produce better offspring.
4. **Reproduction:** Reproduction involves the creation of new individuals (offspring) through genetic operators, namely crossover and mutation. Crossover is the process of exchanging genetic information between two parent individuals, typically at specific points or positions within their representation. This exchange generates offspring that inherit characteristics from both parents. Mutation introduces random changes or modifications to the offspring's genetic information, allowing for the exploration of new regions in the search space [62].
5. **Replacement:** After the offspring are generated, a replacement strategy is applied to determine which individuals from the current population will be replaced by the newly created offspring. The replacement strategy can be based on various criteria, such as fitness-based replacement, elitism (preserving the best individuals), or a combination of both. This step ensures that the population evolves over time, favoring better solutions [62].
6. **Termination criteria:** Genetic algorithms continue to iterate through the selection, reproduction, and replacement steps until a termination condition is met. Termination conditions can be based on a maximum number of generations, a specific fitness threshold, or a predefined computational budget. Once the termination condition is satisfied, the algorithm stops, and the best individual in the final population is considered the solution to the optimization problem.  
Genetic algorithms offer a powerful approach to solving complex optimization problems. By mimicking the principles of natural selection and genetics, these algorithms iteratively evolve a population of potential solutions to converge toward an optimal or near-optimal solution. Understanding the working principle of genetic algorithms is crucial for effectively applying them to various domains and harnessing their potential in solving real-world optimization challenges. The advantages and disadvantages of GAs can vary depending on the problem domain and specific implementation. Some commonly cited advantages and disadvantages are described below [58; 63].