Difference in the objective value of a MIP in version 8.1.0
- original.lp is a MIP problem.
- permutation.lp is the same "original" problem but with permuted rows and columns.
- table.png is a table with the objective value for each problem in each version.
When solving both problems in versions 8.0.3 and 8.0.4, I get exactly the same solution (default parameters). However, when solving with 8.1.0 I find totally different solutions.
In "original", the objective value is very similar, so it's not necessarily a problem. But "permutation" has a very different objective value.
Can you help me understand what is happening?
Thanks for creating this issue!
Indeed, we already looked into your bug report and could reproduce a bug on original.lp. This is currently under investigation. We will let you know when there are more insights.
It could be traced back to an issue in PaPILO. So a possible workaround is to set presolving/milp/maxrounds = 0. Could you check if this leads to the same objective value on original.lp and permutation.lp in your setup?
I found very close values, such as 71882637.3662884 and 71882637.3662881. The variables are very different. It seems to me that this option really avoids the bug. I'll keep it that way until we have a more definitive solution. Thanks!
I will close this issue for now, as we have a separate internal issue tracking the bug.
This issue persists.
Besides resolved issues in PaPILO, it seems that generally unstable aggregations applied in SCIP mainly contributed to this issue. This is fixed with b9f6213184b3cf3b28fbbce9b41349c77cea85ef among further improvements, so this will be available in SCIP 10 due to the required interface extension. Thanks to @svigerske for the support.