So I have two .mps files (lets name them a.mps and b.mps). The only difference between them is that b.mps has objective offset:
RHS OBJROW -268550900
Gurobi finds feasible solution with the gap of 3.2052% for model in a.mps in 36 seconds, with best objective of -254'444'789.3. If we account for objective offset we get 14'106'110.7. As for the b.mps Gurobi finds feasible solution with the gap of 9.9425% in 19 minutes, with best objective of 6'716'250.0. Why it may be happening?
a.mps was created using python-mip library with Coin-or-Cbc as backend solver. I added objective offset line into b.mps manually. If I use Gurobi as backend solver in python-mip, the resultant .mps is solved by Gurobi in a manner, similar to b.mps, which leads me to believe that solution of b.mps is the right one.
I guess, it may be to do with tolerances? Maybe while parsing .mps file, when it encounters value of particular magnitude it affects some tolerance settings?
Gurobi version: 9.5.1
Please sign in to leave a comment.