Our optimization model tends to have very large coefficient ranges.
Gurobi already often warns that this could cause numerical problems. The model statistics look e.g. like this:
Coefficient statistics:
Matrix range [4e-03, 3e+02]
Objective range [4e-04, 5e+04]
Bounds range [7e+07, 7e+07]
RHS range [6e-25, 2e+08]
In this example, the RHS are the main problem (which is often the case). These include e.g. possible dispatch timeseries (p_max_pu * p_nom) and p_set of loads.
The range might be even bigger as soon as we introduce focus regions which have a higher spatial resolution.
We should try to replace very small values (under the FeasibilityTolerance) with 0, to lower the RHS range. The impact on the results would be negligible, esp. when it is in the tolerance anyhow.
I already did some tryouts in commit c8050e8, but it somehow created more problems, so I reverted it again.
Our optimization model tends to have very large coefficient ranges.
Gurobi already often warns that this could cause numerical problems. The model statistics look e.g. like this:
In this example, the RHS are the main problem (which is often the case). These include e.g. possible dispatch timeseries (p_max_pu * p_nom) and p_set of loads.
The range might be even bigger as soon as we introduce focus regions which have a higher spatial resolution.
We should try to replace very small values (under the FeasibilityTolerance) with 0, to lower the RHS range. The impact on the results would be negligible, esp. when it is in the tolerance anyhow.
I already did some tryouts in commit c8050e8, but it somehow created more problems, so I reverted it again.