Do large implied variable ranges in nonlinear terms affect numerical stability, or only explicit coefficients and rhs matter?
I have a question about numerical scaling guidelines in Gurobi.
The documentation emphasizes keeping matrix coefficients, RHS values, and bounds within reasonable ranges as shown here. However, I am unsure whether this guideline applies only to the explicit coefficients in the model, or also to the magnitude of expressions implied by variable bounds.
Consider the following example:
x * y + z^2 <= 10
x = a^2
z = b^2
with bounds (still within the range in the guideline):
0 <= a <= 1000, 0 <= b <= 1000, 0 <= y <= 1000
From this, we can derive:
0 <= x <= 10^6
0 <= z <= 10^6
and therefore:
0 <= x * y <= 10^9
0 <= z^2 <= 10^12
Even though the constraint x*y + z^2 <= 10 has coefficients equal to 1 and a small RHS (10), the magnitudes of the terms inside the constraint can become very large.
My question is:
Do these large implied ranges (e.g., x*y or z^2 reaching up to 10^9 or 10^12) affect numerical stability and solver performance, or do Gurobi’s scaling guidelines mainly concern the explicit coefficients and RHS values in the model?
In other words, should we also try to control the range of nonlinear or auxiliary expressions?
I would like to confirm whether I am misunderstanding the guideline or missing an important aspect of numerical scaling.
Please sign in to leave a comment.
Comments
0 comments