Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 9 additions & 8 deletions paper/paper.bib
Original file line number Diff line number Diff line change
Expand Up @@ -92,14 +92,15 @@ @article{Tejada2018
keywords={Investment;Power system modeling;Energy storage;Analytical models;Power system planning;Energy storage systems;power system planning;power system modeling;system states;representative days},
doi={10.1109/TPWRS.2018.2819578}
}
@article{Elgersma2025,
title={Tight MIP Formulations for Optimal Operation and Investment of Storage Including Reserves},
author={Maaike B. Elgersma and Germán Morales-España and Karen I. Aardal and Niina Helistö and Juha Kiviluoma and Mathijs M. de Weerdt},
year={2025},
eprint={2411.17484},
archivePrefix={arXiv},
primaryClass={math.OC},
url={https://arxiv.org/abs/2411.17484},
@article{Elgersma2026,
title={Tight MIP Formulations for Optimal Operation and Investment of Storage Including Reserves},
author={Maaike B. Elgersma and Germán Morales-España and Karen I. Aardal and Niina Helistö and Juha Kiviluoma and Mathijs M. de Weerdt},
year={2026},
url={http://dx.doi.org/10.1109/TPWRS.2026.3669407},
DOI={10.1109/tpwrs.2026.3669407},
journal={IEEE Transactions on Power Systems},
publisher={Institute of Electrical and Electronics Engineers (IEEE)},
pages={1-13}
}


Expand Down
6 changes: 3 additions & 3 deletions paper/paper.md
Original file line number Diff line number Diff line change
Expand Up @@ -96,7 +96,7 @@ TulipaEnergyModel.jl focuses on model quality and efficient implementation, allo
Existing models and frameworks in Energy System Optimisation include [EnergyModelsX](https://github.com/EnergyModelsX) [@EnergyModelsX], [PowerModels](https://github.com/lanl-ansi/PowerModels.jl) [@PowerModels], [SpineOpt](https://www.tools-for-energy-system-modelling.org/) [@SpineOpt], [Sienna](https://www.nrel.gov/analysis/sienna) [@Sienna], [GenX](https://github.com/GenXProject/GenX) [@GenX], [PyPSA](https://pypsa.org) [@PyPSA], and [Calliope](https://github.com/calliope-project/calliope) [@Calliope].
However, they run into computational limits when solving large-scale problems and must resort to (over)simplifying the model to reduce computational burden. The common misconception is that the only strategy to speed up solving times without sacrificing model fidelity is through faster solvers or computers.
However, the strategy that is widely overlooked is improving the quality of the mathematical formulations, which increases model fidelity while simultaneously solving faster than standard formulations.
This insight inspired the development of TulipaEnergyModel.jl, with the core philosophy of advancing the state-of-the-art in formulation quality by: 1) lowering computational cost while maintaining model fidelity, by reducing the problem size [@Tejada2025], and by creating tighter mixed-integer programs (MIP) [@MoralesEspana2013]. 2) increasing model fidelity without extra computational cost, e.g., by developing more accurate linear programming (LP) approximations [@Elgersma2025; @gentile2016; @MoralesEspana2022]. Finally, 3) balancing computational burden with adaptive/flexible model fidelity, i.e., having different levels of detail in various parts of the model, in the temporal [@Gao2025], technological [@MoralesEspana2022] and spatial dimensions.
This insight inspired the development of TulipaEnergyModel.jl, with the core philosophy of advancing the state-of-the-art in formulation quality by: 1) lowering computational cost while maintaining model fidelity, by reducing the problem size [@Tejada2025], and by creating tighter mixed-integer programs (MIP) [@MoralesEspana2013]. 2) increasing model fidelity without extra computational cost, e.g., by developing more accurate linear programming (LP) approximations [@Elgersma2026; @gentile2016; @MoralesEspana2022]. Finally, 3) balancing computational burden with adaptive/flexible model fidelity, i.e., having different levels of detail in various parts of the model, in the temporal [@Gao2025], technological [@MoralesEspana2022] and spatial dimensions.
These modelling strategies offer significant computational benefits, especially when handling large-scale problems: covering a continent with multiple energy carriers, and optimising over decades while maintaining hourly resolution for key aspects (e.g., renewable generation).
TulipaEnergyModel.jl had to be developed from scratch to be able to include all of these modelling breakthroughs, since they alter the foundation and structure of the model.
Below, we present some of core modelling and software design innovations.
Expand All @@ -116,9 +116,9 @@ For the fully flexible temporal resolution, consider the 6-hour duration of this

For the direct connection between assets, the storage “phs” is directly connected to the “wind“ to charge, and to “balance” to discharge. This direct connection between assets completely avoids intermediate elements (connections/nodes), thereby eliminating unnecessary variables and constraints. Thus, accelerating solving times without any loss of accuracy [@Tejada2025].

TulipaEnergyModel.jl is fundamentally focused on high-quality mathematical formulations. The model also includes other key features such as seasonal storage modelling using representative periods [@Tejada2018; @greg2025], tight and compact MIP formulations for storage [@Elgersma2025], unit commitment [@MoralesEspana2013], and compact formulations for multi-year investment [@wang2025a; @wang2025b].
TulipaEnergyModel.jl is fundamentally focused on high-quality mathematical formulations. The model also includes other key features such as seasonal storage modelling using representative periods [@Tejada2018; @greg2025], tight and compact MIP formulations for storage [@Elgersma2026], unit commitment [@MoralesEspana2013], and compact formulations for multi-year investment [@wang2025a; @wang2025b].

Although TulipaEnergyModel.jl is a relatively young package, it already shows promising results in breaking the trade-off between computational burden and model details. As presented in initial benchmark results, TulipaEnergyModel.jl allows to: 1) solve large capacity expansion problems faster [@greg2025], 2) include uncertainty through more computationally demanding stochastic programming [@Kremer2025], 3) create computationally efficient approximations by exploiting the flexible temporal resolution [Gao2025], and 4) reduce the problem size without sacrificing any accuracy [@Tejada2025]. All these studies demonstrate how TulipaEnergyModel.jl does not rely on (over)simplifying the problem, leading to unreliable results/conclusions, to solve more computationally demanding problems.
Although TulipaEnergyModel.jl is a relatively young package, it already shows promising results in breaking the trade-off between computational burden and model details. As presented in initial benchmark results, TulipaEnergyModel.jl allows to: 1) solve large capacity expansion problems faster [@greg2025], 2) include uncertainty through more computationally demanding stochastic programming [@Kremer2025], 3) create computationally efficient approximations by exploiting the flexible temporal resolution [@Gao2025], and 4) reduce the problem size without sacrificing any accuracy [@Tejada2025]. All these studies demonstrate how TulipaEnergyModel.jl does not rely on (over)simplifying the problem, leading to unreliable results/conclusions, to solve more computationally demanding problems.

## Software Design Innovations

Expand Down
Loading