Gurobi inconsistent performance when solving the MIP problems in parallel and in sequence
AnsweredI am using Lagrangian decomposition method to solve a large-scale decomposable MIP instance. However, when trying to parallelise solving the subproblems of it with gurobi for some of the instacens I am constantly getting different final results comparing to when I solve them sequentially. I did not compare the log file of each of subproblem at each iteration since this would be extremely time-consuming.
What I am suspecting is gurobi different initial setting when solving the same problems in parallel or in sequence. Could please tell me if this could be the case?
I am trying to manually set some of the parameters (I am using JuMP in Julia to define the model) as the following
OutputFlag = 0, MIPGap = 0, Threads = 1.
Could you please tell me if there is probably some other parameters that could cause inconsistent performance in the context of my issue?
-
With a single thread the runs should be deterministic, but you can also try setting Method to value 4 or 5 to make sure, https://www.gurobi.com/documentation/9.0/refman/method.html
(we cannot guarantee what goes on in JuMP).
With the above, Gurobi runs are deterministic, meaning that for the identical models the runs with the same parameter settings on the same hardware-and-software configuration will give same solve trajectory,
Another thing to keep in mind that the row or column permutations matter as well, and we have seen examples where the "outer software layer" used to build the model does effect the ordering, not necessarily in a deterministic fashion. So, I would suggest also checking that your models are exactly the same -- you can write these into a model file, and compare the data on the disc.
Hope this helps.
0
Please sign in to leave a comment.
Comments
1 comment