On metaheuristic algorithms for combinatorial optimization problems