Computing optimal solutions is intractable for many optimization problems of industrial
and scientific importance. In practice, we are usually satisfied with “good”
solutions, which are obtained by heuristic or metaheuristic algorithms. Metaheuristics
represent a family of approximate1 optimization techniques that gained a lot of
popularity in the past two decades. They are among the most promising and successful
techniques. Metaheuristics provide “acceptable” solutions in a reasonable time
for solving hard and complex problems in science and engineering. This explains
the significant growth of interest in metaheuristic domain. Unlike exact optimization
algorithms, metaheuristics do not guarantee the optimality of the obtained solutions.
Instead of approximation algorithms, metaheuristics do not define how close are the
obtained solutions from the optimal ones.