different versions of Gurobi give different results
AnsweredHi,
We are solving a mixed-integer linear problem using Gurobi 9.5.1 on a personal computer and using Gurobi 9.0.1 on the university's HPC. We use a c++ interface to interact with Gurobi.
The two ways give different solutions. For example, for the instance attached below, using 9.0.1 we get a trivial solution of 0, and using 9.5.1 the non-trivial solution with an optimal value of -0.0704458.
We have tried different ways to solve the problem
- We set the numeric focus to 3 which did improve the situation. Our experiment consists of multiple instances, and the majority of instances that caused trouble were resolved, but some still remain.
- We simplified our original input data to 4 decimal places. This did not significantly improve the issue although the resulting data in the mixed-integer formulation did somewhat simplify.
- We have also tried to get the non-trivial solution from Gurobi 9.5.1 and check its feasibility in Gurobi 9.0.1 indicating that the solution is infeasible.
Do you have any thoughts on what might be causing this issue or ideas on how to resolve it?
The input and solution files are as follows:
- lp model used by both solvers
https://www.dropbox.com/scl/fi/0e05weh7mewg6e4bmjmmi/ModelSolved.lp?rlkey=1z4c1uf68y1vry0qcoqvprka4&dl=0
- Solution file of Gurobi 9.5.1
https://www.dropbox.com/scl/fi/qofdgtxq3qxb31zuds2co/Solution_PersonalComputer.sol?rlkey=61ybwffptgmrj84gxh99lno9w&dl=0
- Solution file of Gurobi 9.0.1
https://www.dropbox.com/scl/fi/k3r0isfdl73dmu16083d1/Solution_HPC.sol?rlkey=co8rc31v49ba6g2b62xqsx9yx&dl=0
Thanks for your help!!
-
Using 9.0.1 with NumericFocus>=1 produces the same result.
We simplified our original input data to 4 decimal places. This did not significantly improve the issue although the resulting data in the mixed-integer formulation did somewhat simplify.
Generally, we advise against this: Avoid rounding of input.
I think this is a numerical issue, please try increasing the precision to as high as possible.
If you can also try improve the range of the constraints:
R34: dual_20 + dual_21 + dual_22 + dual_23 + dual_24 + dual_25
+ 6.2611e-05 dual_26 + 1.0523 dual_27 + 0.0448426 dual_28
+ 1.6692 dual_29 + 0.262138 dual_30 + 0.000313055 dual_31
+ 5.26151 dual_32 + 0.224213 dual_33 + 8.34601 dual_34 + 1.31069 dual_35
+ 0.000313055 dual_36 + 6.2611e-05 dual_37 + 0.0448426 dual_38
- epigraph <= 0Cheers,
David0
Please sign in to leave a comment.
Comments
1 comment