In real life, problems becoming more complicated, among them NP-Hard problems. To resolve them, two families of methods exist, exact and approximate methods. When exact methods provide the optimal solution in an unacceptable amount of time, the approximate ones provide good solutions in a reasonable amount of time. Approximate methods are two kinds, heuristics and metaheuristics. The first ones are problem specific, while metaheuristics are independent from problems. A broad number of metaheuristics are inspired from nature, specially from biology. These bio-inspired metaheuristics are easy to implement and provide interesting results. This paper aims to provide a comprehensive survey of bio-inspired metaheuristics, their classification, principals, algorithms, their application domains, and a comparison between them.