Hi,
I have a use-case where seed stability is very important: we run the whole flow with a known seed, and we want to be able to reproduce the flow given the same seed.
I call CPLEX like this (using the Python docplex.cp interface):
fail_limit = None
verbosity = 0
params = CpoParameters(
FailLimit=fail_limit,
RandomSeed=seed,
SearchType="MultiPoint",
LogVerbosity="Verbose" if verbosity else "Quiet",
WarningLevel=verbosity,
)
solver = CpoSolver(model, params=params)
solution = solver.solve()
Recently we noticed that running the same flow with the same seed can result in different solutions.
It seems that running on the same machine always gives the same result, but running on different machines gives different results.
Specifically, when running on a machine with 28 threads we get one solution, and when running on a machine with less threads we get other solutions.
Is this a know issue? Can we somehow work around it? It's very important to us to have seed stability, even across different machines.
------------------------------
Tomer Vromen
------------------------------
#DecisionOptimization