Essentials of Metaheuristics