Conventional and classical optimization methods are not efficient enough to deal with complicated, NP-hard, high-dimensional, non-linear, and hybrid problems. In recent years, the application of meta-heuristic algorithms for such problems has increased dramatically and it is widely used in various fields. These algorithms, in contrast to exact optimization methods, find the solutions which are very close to the global optimum solution as possible, in such a way that this solution satisfies the threshold constraint with an acceptable level. Most of the meta-heuristic algorithms are inspired by natural phenomena. In this research, a comprehensive review on meta-heuristic algorithms is presented to introduce a large number of them (i.e. about 110 algorithms). Moreover, this research provides a brief explanation along with the source of their inspiration for each algorithm. Also, these algorithms are categorized based on the type of algorithms (e.g. swarm-based, evolutionary, physics-based, and human-based), nature-inspired vs. non-nature-inspired based, population-based vs. single-solution based, and finally, we present a novel classification of meta-heuristic algorithms based on the country of origin.