Graph 3-coloring with a hybrid self-adaptive evolutionary algorithm