A Metaheuristic Approach for the Vertex Coloring Problem