An Open Energy Modeling update


Author: Oscar Dowson, Ivet Galabova, Joaquim Dias Garcia, Julian Hall

We’re now two months into our Open Energy Modeling project. Here’s a summary of some of things that we have been up to.

If you are an open energy modeller who uses JuMP or HiGHS and you want to stay in touch with our progress or provide us with feedback and examples, write to jump-highs-energy-models@googlegroups.com. We’d love to hear how you are using JuMP or HiGHS to solve problems related to open energy modelling.

open-energy-modeling-benchmarks

We have made good progress on our main task of creating the open-energy-modeling-benchmarks repository of benchmark instances. We now include models from GenX, PowerModels, Sienna, and TulipaEnergyModel.

Now that we have the initial framework in place, our focus is shifting to profiling each of the implementations to find improvements.

We’ve already started doing this with GenX. Our work identified the root cause of a performance problem as an issue in MutableArithmetics.jl that we have since fixed.

Tolerances and numerical issues

One thing that has become very clear as we look at a range of energy system models is that poor scaling and numerical issues are quite common.

Understanding the impact that problem scaling and the tolerances used within the solver have on the final solution is an important aspect of applied optimization.

We’ve added a new tutorial to the JuMP documentation, Tolerances and numerical issues, which explains how solvers like HiGHS use numerical tolerances and what can go wrong. We encourage all modelers to read it.

HiGHS

In the last two months we released HiGHS v1.8.0 and v1.8.1. See the links for the full release notes.

HiGHlights (if you will) for energy modelers include:

HiGHS.jl

We’ve had a fairly busy few months in HiGHS.jl, with frequent small releases (v1.9.3, v1.10.0, v1.10.1, v1.10.2, v1.11.0, v1.12.0, and v1.12.1; see the links for a full list of changes).

Stay tuned for future updates!