This warning is an indication of a numerically challenging problem. It was introduced in Gurobi Version 11.0.0.
Assume that a solution hits the feasibility tolerances and, therefore, does not truly satisfy the constraints. When "uncrushing" the solution (i.e., mapping it from the presolved model back to the original model), a more accurate solution is found that is taken instead. This can imply a change in the objective value. The warning tells if the objective value is degraded or improved in this step.
Constraints that can cause this behavior are big-M constraints. An example is a trickle flow where a continuous variable that is meant to be zero when an associated binary variable is zero instead takes a non-zero value. This can happen due to a large big-M value, which allows a non-zero value of the continuous variable by setting the binary variable to a small value below the integer feasibility tolerance IntFeasTol. In this way, the binary variable is also considered as zero.
If you see such a warning, we recommend to reformulate your model, see our Guidelines for Numerical Issues.
You can also try to set Gurobi parameters:
- NumericFocus=1 (or 2, 3)
- Aggregate=0
- Tighten the tolerances FeasibilityTol and IntFeasTol.
- In the case of trickle flow, the parameter IntegralityFocus might help.
Comments
0 comments
Article is closed for comments.