Skip to content

Deal with very small values to avoid numerical problems #844

Description

@ClaraBuettner

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.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions