Applications of metaheuristics in real-life problems

The extensive use of computers has raised a large number of real-life optimization problems in different fields that are complex and difficult to solve. Metaheuristics define algorithmic frameworks that can be applied to solve such problems in an approximate way, by combining constructive methods with local and population-based search strategies, as well as strategies for escaping local optima. Metaheuristics present a trade-off between exact methods, which may guarantee an optimal solution, although generally at the expense of a huge amount of computer resources, and greedy methods, which are very fast, but usually provide a low-quality or unsatisfactory solution. Classical metaheuristics, such as Iterated Local Search, Hill Climbing, Genetic Algorithms, Simulated Annealing, TabuSearch and Ant Colony Optimization, have shown their suitability to solve complex scheduling problems, space allocation problems, and clustering problems, among others. The number of metaheuristics is growing and the last years have shown an increasing interest in the scientific community, which has adopted techniques derived from artificial intelligence, operations research, soft-computing, and others. New metaheuristics provide more robust and efficient ways to address traditional optimization problems, and also discover novel ways to attack unsolved problems. There is not a single metaheuristic that can provide the best results for any kind of optimization problem (what is known as the No Free Lunch theorem, as defined by Wolpert and Macready 1996), so practitioners should get familiar with the mechanics of metaheuristics and their scope of application. In