I. Introduction
Metaheuristics have been established as one of the most practical approaches to optimization problems. They have been designed primarily to address problems that cannot be tackled through traditional optimization algorithms. Although still there is no guarantee, metaheuristic methods usually turn out to achieve better results and better performances in contrast to their classic counterparts. There are some algorithms for solving different optimization problems. However, there is no specific algorithm to achieve the best solution for all optimization problems. Some algorithms give a better solution for some particular problems than others. Hence, searching for new metaheuristic optimization algorithms is always needed.