## 1 Introduction  
Optimization is a fundamental principle in science and technology that involves finding the optimal solution to a given problem [1]. In computer science, optimization is widely used, including in the development of algorithms for task scheduling in operating systems. These algorithms aim to optimize the allocation of system resources, such as Central Process Unit (CPU) time and memory, to improve system utilization and performance. As a result, they contribute to higher efficiency, shorter response times, and higher throughput [2]. Mathematically, optimization problems involve finding the best solution to a given problem, usually seeking the maximum or minimum within certain constraints or conditions [3]. Such problems consist of an objective function that evaluates the quality, performance, or value of the solution and constraints to be satisfied. Real-world optimization problems often fall into the category of NP (Non-deterministic Polynomial time) problems, which require the use of non-deterministic algorithms for their solution. However, the resource-intensive nature of finding the optimal solution makes them impractical. To address this challenge, the use of metaheuristics proves to be highly beneficial. The authors in [4]have given a definition of metaheuristic algorithms in computer science and mathematical optimization as follows:  
_In computer science and mathematical optimization, a metaheuristic is a higher-level procedure or heuristic that aims to find, generate, or select a heuristic (partial search algorithm) that can provide a sufficiently good solution to an optimization problem, especially in the presence of incomplete or imperfect information or limited computational capacity._  
Metaheuristic algorithms, unlike numerical optimization methods, offer no guarantee of finding a global optimal solution. However, they provide faster and computationally efficient satisfying solutions. Metaheuristics are popular, because they are easy to understand, implement, and very powerful [5]. These algorithms use stochastic optimization techniques that introduce randomness into the solutions. They undergo exploration (randomization of variable values) and exploitation (exploration of the solution space around high quality solutions). The random nature of metaheuristics means that a superior performance on one problem is no guarantee of similar results on other problems, which is known as the No Free Lunch (NFL) theorem [6]. For this reason, new metaheuristic algorithms are constantly being introduced in the scientific literature [7]. Nature-inspired metaheuristic algorithms are widely recognized and appreciated for their ability to model natural behaviors and optimize objective functions. The development of such algorithms began in 1975 with the proposal of a genetic algorithm [8], mimicking natural selection and genetics. Numerous new nature-inspired metaheuristic algorithms have emerged in the literature since then. In engineering fields, these metaheuristic algorithms are used for various applications, such as optimizing data clustering [9], determining an accurate diagnosis of patients in medicine [10], solving planetary gear problems and the crashworthiness of cars [11], solving optimization problems in the tire industry [12], optimizing threshold-based image segmentation [13], solving optimization problems in computer science [14], reducing carbon emissions [15], etc. For real-world problems of significant scale, it becomes clear that the approach of relying only on a single metaheuristic algorithm is limited [7]. When using a single algorithm to solve different optimization problems, it becomes clear that the algorithm reaches its limits in certain problems that do not correspond to its strengths. Premature convergence and the tendency toward local optima are widely known as the main limitations of metaheuristic algorithms that can occur when solving a particular optimization problem.