We consider two approaches for solving the classical minimum vertex coloring problem, that is the problem of coloring the vertices of a graph so that adjacent vertices have different colors, minimizing the number of used colors, namely Constraint Programming and Column Generation. Constraint Programming is able to solve very efficiently many of the benchmarks, but suffers from the lack of effective bounding methods.On the contrary, Column Generation provides tight lower bounds by solving the fractional vertex coloring problem exploited in a Branch-and-Price algorithm, as already proposed in the literature. The Column Generation approach is here enhanced by using Constraint Programming to solve the pricing subproblem and to compute heuristic solutions. Moreover new techniques are introduced to improve the performance of the Column Generation approach in solving both the linear relaxation and the integer problem. We report extensive computational results applied to the benchmark instances: we are able to prove optimality of 11 new instances, and to improve the best known lower bounds on other 17 instances. Moreover we extend the solution approaches to a generalization of the problem known as Minimum Vertex Graph Multicoloring Problem where a given number of colors has to be assigned to each vertex.