Is your feature request related to a problem? Please describe.
Currently, the solver directly references the Random class in many places such as Move Selectors, Acceptors, and SolverScope. This make it difficult to use the new RandomGenerator implementations.
Describe the solution you'd like
Refactor the solver to use RandomGenerator wherever Random was used.