The area of optimization in engineering and science evolves because of the human need to solve real-life problems efficiently and in structured way1. The optimization model that represents said real-life problems can have different shapes: from linear programming to mixed-integer nonlinear programming models2. In addition, mathematical models in optimization can have a single objective function or multiple objectives in conflict. Due to the complexity of some optimization problems in engineering and science, exact optimization methods are inefficient for several reasons3: (i) due to the large dimensions of the solution spaces, (ii) non-linearities and non-convexities in objective functions and/or constraints, and (iii) failure to guarantee that the global optimum is reached. Moreover, for most of these optimization problems, processing times increase with non-polynomial forms, which is why most optimization problems belong to the NP-hard family. These complications make it necessary to employ alternative solution methods for addressing multiple programming models, with the aim of finding suitable solutions (local optima) that require low computational effort and are implementable in any programming environment4. These optimization algorithms are known as metaheuristic or combinatorial optimization methods. The main characteristic of these algorithms is that they begin the exploration of the solution space from an initial solution (a single solution or a group of solutions), which advances during the iteration process using different evolution rules. Algorithms which use a single solution are known as trajectory-based optimization algorithms5, while the methods that work with a group of solutions are known as population-based optimizers6.
Metaheuristic optimization methodologies are well accepted in science and engineering, as these work directly with the exact problem formulation by using penalty factors in order to explore and exploit the solution space, with the main advantage that infeasible solutions can be used during the evolution process in order to find promissory solution regions with excellent objective function values7.
Depending on the philosophy that inspires metaheuristic optimizers, these can be grouped into many different families. Here, we present a possible classification of the most common combinatorial optimization methods applied in science and engineering.
Bio-inspired algorithms
These algorithms are inspired by the biological processes and behaviors of living beings in nature. Genetic algorithms, inspired by Darwin’s evolution theory, are the most classical examples of their kind. They work with an initial population of parents that evolves during the iteration process by applying three main concepts: (i) selection, (ii) recombination, and (iii) mutation. They yield a set of offspring that will be part of the population if they improve the worst objective function values of some parents and are different from them. In the current literature, the most implemented version of genetic algorithms corresponds to the Chu and Beasley algorithm given its computational efficiency in terms of processing times, as it only replaces one individual in the population at each iteration8.
Bio-inspired algorithms may also be based on the behavior of groups of living beings searching for food. Some of the most recognized methodologies are (i) particle swarm optimization (flocks of birds and fish), (ii) the crow search algorithm (flocks of crows), (iii) the salp swarm algorithm (flocks of salps), (iv) the whale optimization algorithm (flocks of whales), and (v) the ant lion and ant colony optimizers (flocks of ants).
Mathematics-inspired algorithms
These optimization algorithms correspond to approaches that are based on nonlinear functions, numerical methods, statistical behaviors, or distributed permutation flow9, 10. These algorithms exploit the properties of some well-known functions and statistical distributions in order to model different behaviors present in nature. The most common methods are: (i) the sine-cosine algorithm, (ii) the gradient-based metaheuristic optimizer, (iii) the Newton-metaheuristic algorithm, (iv) the generalized normal distribution algorithm, and (v) Tabu search, among others.
Physics-inspired algorithms
This family of algorithms is based on the behaviors observed in nature that are not related to biological processes. In general, they are based on physical observation and experimentation11. Some of the most recognized and widely used physics-inspired optimization algorithms are (i) the gravitational search algorithm, (i) the black hole optimizer, (iii) the supernova optimizer, (iv) the vortex search algorithm, (v) the charged system search algorithm, (vi) the galaxy-based search algorithm, (vii) the multiverse optimization algorithm, and (viii) the simulated annealing algorithm.
Socially inspired algorithms
Socially inspired algorithms are search optimization methodologies that emulate human interactions in different environments12. These algorithms exploit the behavior of humans in groups in order to solve real-life problems and learn new skills. Some of the most common socially inspired algorithms are (i) the nomadic people optimizer, (ii) teaching-learning-based optimization, (iii) the socio-evolution and learning optimization algorithm, (iv) artificial memory optimization, (v) human mental search, and (vi) the cultural evolution algorithm.
Remark 1 In general, the use of metaheuristic optimization algorithms in science and engineering offers hundreds of possibilities regarding algorithms from different families. Furthermore, their research is also under continuous development, i.e., several papers and many literature every year provide multiple new optimizers trying to emulate situations and processes observed in nature in order to reach optimal solutions for engineering and real-life problems.