Illustrating the Benefits of Openness: A Large-scale Spatial Economic Dispatch Model Using the Julia Language

Jens Weibezahn*, Mario Kendziorski

*Corresponding author for this work

Research output: Contribution to journalJournal articleResearchpeer-review


In this paper we introduce a five-fold approach to open science comprised of open data, open-source software (that is, programming and modeling tools, model code, and numerical solvers), as well as open-access dissemination. The advantages of open energy models are being discussed. A fully open-source bottom-up electricity sector model with high spatial resolution using the Julia programming environment is then being developed, describing source code and a data set for Germany. This large-scale model of the electricity market includes both generation dispatch from thermal and renewable sources in the spot market as well as the physical transmission network, minimizing total system costs in a linear approach. It calculates the economic dispatch on an hourly basis for a full year, taking into account demand, infeed from renewables, storage, and exchanges with neighboring countries. Following the open approach, the model code and used data set are fully publicly accessible and we use open-source solvers like ECOS and CLP. The model is then being benchmarked regarding runtime of building and solving against a representation in GAMS as a commercial algebraic modeling language and against Gurobi, CPLEX, and Mosek as commercial solvers. With this paper we demonstrate in a proof-of-concept the power and abilities, as well as the beauty of open-source modeling systems. This openness has the potential to increase the transparency of policy advice and to empower stakeholders with fewer financial possibilities.
Original languageEnglish
Article number1153
Issue number6
Number of pages21
Publication statusPublished - 2019
Externally publishedYes


  • Algebraic modeling language
  • Benchmarking
  • Julia
  • JuMP
  • Open source
  • Optimization
  • Power systems modeling

Cite this