I am solving scheduling problems with Python and Gurobi. Due to script being regularly updated, I save major updates as newer versions. Part of my script is a function which uses Gurobi to implement MIP with only binary variables.
One of my older versions solves a problem very efficiently (finds optimal solution in 2 minutes and best bound = 1906). The latest version performs very poorly for the exact same problem (Reaches time limit of 2 hours, finds a solution with 0.1% gap, and best bound = 1959). In the latest version I did some changes but none of those affecting the model formulation, or Gurobi's parameters, or the order of variables/constraints. I also noticed that the model fingerprints are different.
After many failed attempts to replicate the same results, I decided to copy the whole function from the older version and paste it to the latest version and even this attempt failed. In other words, I have two different python scripts, I run the exact same MIP function in both scripts, and obtain completely different results. How could this be possible? Why best bounds are different?
I would really appreciate your thoughts on this.
Please sign in to leave a comment.