Hi, I have a numerically unstable MIQCP (logs attached) for which I have tried setting the read scale parameter to 1. Aggressive scaling reduces the amount of reported instability but still has the "CPLEX encountered numerical difficulties while solving this model" message, and overall results in essentially the same objective function.
I was thinking of re-scaling the constraints in the problem to larger coefficients, and was wondering what is the difference to CPLEX (if any?) in scaling the coefficients to the variables vs. scaling the variable bounds (this would require un-scaling the variables post-optimization as well as possibly scaling the objective weights). I am interested if anyone has any thoughts or guidance. Thanks!
Below is an example of what I mean:
Example original constraints:
0 < X < 1, 0 < Y < 1
X2 + Y2 < 0.01
X + Y < 0.05
Scaling coefficients:
0 < X < 1, 0 < Y < 1
100 * X2 + 100 * Y2 < 1
10 * X + 10 * Y < 0.5
Scaling variable ranges by 10x:
0 < X' < 10, 0 < Y' < 10
(X')2 + (Y')2 < 1
X' + Y' < 0.5
(After running the problem, convert back to X = X' / 10, Y = Y' / 10)
------------------------------
Michael Han
------------------------------
#DecisionOptimization