Solving the same model on different machines can result in different solution paths.
This effect is a well-known phenomenon called "Performance Variability". Hardware plays an important role as the search path within the branch-and-bound tree can be significantly different. In addition, changing the order of variables or constraints or using random seeds can also drastically impact the performance even when the mathematical models are identical. This is described in the MIPLIB 2010 paper by Koch et al.
The reasons for performance variability are quite diverse. Gurobi makes many decisions in the search for an optimal solution. Whenever there is a decision that is a tie or even close to a tie, a difference in the computing environment, even if it is seemingly insignificant, can lead to a different outcome. These differences can originate from differences in operating systems, underlying libraries, computer hardware, etc.
Gurobi attempts to exploit this when running in ConcurrentMIP mode.
To get a sense of how susceptible your model is in regards to performance variability, you can compare the performance of several runs that only differ in the random seed parameter.
Comments
0 comments
Article is closed for comments.