Collections.sort(vertices);
int numberOfVertices = vertices.size();
/* Indicator variables and variables for tracking used colors. */
int indicatorVars = numberOfVertices * colors;
solver.newVar(indicatorVars + colors);
/* PB constraints to enforce assignment of exactly one color. */
for (int i = 0; i < numberOfVertices; i++) {
IVecInt literals = new VecInt(colors);
IVec<BigInteger> coefficients = new Vec<BigInteger>(colors);