Description
In order to experiment with the various options in the heuristic solvers, it would be helpful to use them in a deterministic fashion where the same parameters always lead to the same solution. Single threaded, I think this can be achieved by simply calling random.seed() before using the module, but this does not work multi threaded where calls to the global random number generator occur in an unpredictable order. Would it be possible to add an optional argument to the heuristic solvers where an already initialized instance of random.Random can be passed in so as to allow deterministic solutions?
I don't know if this may be an excessively niche request, but if this is something you're interested in including but don't want to spend time on, I can try making a pull request.