## 1 Introduction  
Over the past decades, conventional search methods have been applied to solve optimization problems, providing promising results in many cases. However, these methods may fail in more complex real-world problems where nonlinearity and multimodality are fundamental issues. If both constraints and objective functions are linear, the problem can be addressed with techniques specifically designed for solving linear programming problems, such as the simplex method. However, in most situations such problems are nonlinear, hindering the solution. Another difficulty arises when the problem is non-convex, the gradient is unknown, or the first derivatives do not exist. In these cases, it is not possible to apply gradient-based optimization methods, which is also common in real-world problems. Another challenge arises when the number of decision variables is large, affecting the search space. For instance, the well-known travelling salesman problem with a number of decision variables equalling 100 implies a number of possible combinations of \(9.3\times 10^{157}\), meaning that it is not practical to search all possible combinations. Thus, most real-world problems cannot be handled by conventional methods, which fall into local optima. Most real-world problems are NP-hard, which means that they require exponential time to be optimally solved. Thus, more efficient optimization methods are needed as metaheuristics [1]. Metaheuristics have shown promising results when solving extremely nonlinear and multimodal optimization problems. This type of algorithm combines randomization and local search to define strategies for solving difficult optimization problems with an approximate focus, i.e., it finds good solutions, but there is no guarantee that optimal solutions will be reached [1]. As expected, these techniques can be applied successfully to solve some problems, though they do not provide the desired success for others [2]. Different types of metaheuristics have been proposed in the literature during the last decades. Among the most promising metaheuristics are those inspired by natural phenomena (e.g., physical and chemical processes) and biological systems (fireflies, bees, and ant colonies) which have proven to be especially relevant for solving problems in different fields [3]. These metaheuristics can be classified depending on whether they are based on a single solution during the search (also called trajectory methods) or several solutions (also called population-based method) [4]. Among single solution-based metaheuristics, we focus on simulated annealing (SA) [5] (it is based on the annealing of metals, which consists of heating and then slowly cooling the metals to modify their physical properties), variable neighbourhood search (VNS) [6] (it performs the search by methodically modifying the local environment), greedy randomized adaptive search procedure (GRASP) [7] (an iterative procedure composed of an initial generation stage with heuristics and random selection processes and a second stage of improvement with local search), guided local search (GLS) [8] (it dynamically modifies the objective function during the search through a penalty factor, changing the search landscape to avoid being trapped in local optima), iterated local search (ILS) [9] (it performs a local search starting from an initial solution until a local minimum is reached, and then, the search starts again after modifying the solution found), and tabu search (TS) [10; 11] (it considers an iterative local search procedure, which explores the search space from one solution to another, while accepting worsening movements if no improvement is available). Population-based metaheuristics have been applied to different areas, including data mining [12], machine learning [13], computer science [14], simulation and system modelling [15], image processing [16], industry [17], and engineering and scheduling [18; 19].