This repository contains the code that accompanies the paper "Evaluating the Impact of Model Accuracy for Optimizing Battery Energy Storage Systems".
Paper preprint: https://arxiv.org/abs/2506.17059
The project is organized as follows:
benchmark/: Contains the code to set up the optimization and simulation models, along with utility functions for analyzing and plotting results.benchmark/run.py: Script to run the MPC simulations in parallel.analysis.ipynb: Jupyter notebook for analyzing and displaying the results of the simulations.notebooks/efficiency.ipynb: Jupyter notebook for system efficiency characterization (refer to Fig. 1 of the paper).
To set up the project environment, follow these steps:
-
Download and install the Bonmin Solver from the following link: https://portal.ampl.com/user/ampl/download/coin.
-
Set Up the Environment:
- Install the Python package manager
uvby following the instructions here: https://docs.astral.sh/uv/. - Install all dependencies by running the following command in your terminal:
uv sync
- Install the Python package manager
The uv lock file ensures a completely reproducible environment, for example by intalling the specific experimental version of simses used in this study.
To run the simulations, execute the following command in your terminal:
python benchmark/run.pyAll scenarios are run in parallel, which significantly speeds up the simulation process. The original simulations were executed on an Intel Xeon W-2295 processor with 18 cores (36 threads). Please note that using processors with fewer parallelization capabilities may result in longer simulation times. For optimal performance, it is recommended to run the simulations on a multi-core processor.
The version of pyomo used in this study has known issues on Windows (Pyomo/pyomo#3587). Therefore, it is recommended to run the simulations in Linux environment. If you are using Windows, it is advisable to utilize WSL.
After running the simulations, you can analyze the results using the analysis.ipynb notebook.
@inproceedings{cornejo_evaluating_2025,
title = {Evaluating the {Impact} of {Model} {Accuracy} for {Optimizing} {Battery} {Energy} {Storage} {Systems}},
url = {https://ieeexplore.ieee.org/document/11305340},
doi = {10.1109/ISGTEurope64741.2025.11305340},
booktitle = {2025 {IEEE} {PES} {Innovative} {Smart} {Grid} {Technologies} {Conference} {Europe} ({ISGT} {Europe})},
author = {Cornejo, Martin and Graner, Melina and Hesse, Holger and Jossen, Andreas},
month = oct,
year = {2025},
pages = {1--5},
}