## 2 Materials and Methods
### Regression Models and Genetic Algorithm
#### 2.1.7 Genetic Algorithms  
To optimize the hyperparameters of the models, a genetic algorithm (GA) was integrated into the training process. Originally developed by [PERSON] [81], GA is a population-based metaheuristic and an evolutionary algorithm inspired by Darwinian evolution. Over multiple generations, the fittest individuals prevail, gradually refining solutions to optimization problems. A standard GA consists of defining an initial population, evaluating each individual's fitness function, selecting parents, performing crossover to generate offspring, and applying mutation to introduce variability. These newly generated offspring then serve as parents for the next generation. Figure 2: Hyperparameters of the models used in this study, subjected to tuning procedures. In a GA, each chromosome represents a potential solution where variables are arranged sequentially. Continuous variables are typically encoded in binary form, requiring decoding to compute the fitness function, while discrete variables assume predefined values without encoding. Due to these characteristics, continuous and discrete hyperparameters must undergo different mutation and crossover operations. In this study, the GA was executed for a maximum of 100 generations in all experiments, with five different population sizes tested for each ML model: 20, 35, 50, 65, and 80 individuals. The fitness function was defined using the mean absolute error (\(MAE\)), ensuring that lower \(MAE\) values represented superior hyperparameter configurations. Continuous hyperparameters were encoded using 8-bit binary representation. Parent selection was performed via a tournament of three randomly chosen individuals, with replacement into the selection pool. Crossover for continuous hyperparameters followed a two-point strategy with a probability of 0.90, while mutation was applied by flipping a binary allele with a probability of 0.10. For discrete hyperparameters, crossover involved swapping alleles between parents with a probability of 0.30, while mutation randomly replaced an allele with another feasible value with a probability of 0.10. Figure 3 illustrates an example of a chromosome representing one encoded continuous hyperparameter and two discrete hyperparameters, while Figure 4 presents a flowchart of the GA process used to optimize model hyperparameters. In addition to the standard GA, an adaptive genetic algorithm (AGA) was implemented. This variant maintains the fundamental structure of GA but incorporates two key  
Figure 4: Flowchart of the genetic algorithm used to optimize model hyperparameters. Figure 3: Example of a chromosome representing one encoded continuous hyperparameter and two discrete hyperparameters. enhancements: an elitism mechanism and dynamically adjusted probabilities for crossover and mutation. The adaptive probability mechanism follows Equation (5):  
\[Prob(t)=prob\_ub-(prob\_ub-prob\_lb)(t/T) \tag{5}\]  
where \(t\) represents the current iteration (generation), \(T\) is the total number of iterations, \(Prob(t)\) is the operator probability at iteration \(t\), and \(prob\_ub\) and \(prob\_lb\) denote the upper and lower bounds for the probability, respectively. By adapting the probabilities throughout the evolution process, the AGA prioritizes exploration in the early generations and progressively shifts towards exploitation as the population converges. This controlled transition helps balance diversity and convergence efficiency. Furthermore, an elitism operator was included to ensure that the best individual found so far is retained in the current population. After applying genetic operators and computing fitness values, the worst-performing individual is replaced by the best-performing individual from the previous generation. For the AGA in this study, the probability of continuous crossover and mutation ranged from 0.50 to 0.90 and from 0.05 to 0.20, respectively, while the discrete crossover and mutation probabilities ranged from 0.10 to 0.30 and from 0.01 to 0.10, respectively.