-
Notifications
You must be signed in to change notification settings - Fork 18
add joss paper #482
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Open
maurerle
wants to merge
7
commits into
main
Choose a base branch
from
paper
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
add joss paper #482
Changes from all commits
Commits
Show all changes
7 commits
Select commit
Hold shift + click to select a range
28934d0
add joss paper
maurerle affb745
- first feedback on paper.md
kim-mskw 551dfff
improve paper storyline
maurerle b83fa3b
update paper
maurerle 88414b4
add acknowledgement
maurerle a6ffe2d
-update project acknowledgement
nick-harder aafd888
fixup affiliations and license issues
maurerle File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
Large diffs are not rendered by default.
Oops, something went wrong.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,44 @@ | ||
{ | ||
"@context": "https://raw.githubusercontent.com/codemeta/codemeta/master/codemeta.jsonld", | ||
"@type": "Code", | ||
"author": [ | ||
{ | ||
"@id": "https://orcid.org/0000-0001-8345-3889", | ||
"@type": "Person", | ||
"email": "[email protected]", | ||
"name": "Florian Maurer", | ||
"affiliation": "FH Aachen" | ||
}, | ||
{ | ||
"@id": "https://orcid.org/0000-0003-1897-3671", | ||
"@type": "Person", | ||
"email": "[email protected]", | ||
"name": "Nick Harder", | ||
"affiliation": "Universität Freiburg" | ||
}, | ||
{ | ||
"@id": "https://orcid.org/0009-0009-1389-4844", | ||
"@type": "Person", | ||
"email": "[email protected]", | ||
"name": "Kim K. Miskiw", | ||
"affiliation": "Karlsruhe Institute of Technology" | ||
}, | ||
{ | ||
"@id": "https://orcid.org/0000-0002-3347-9922", | ||
"@type": "Person", | ||
"email": "[email protected]", | ||
"name": "Manish Khanra", | ||
"affiliation": "Fraunhofer ISI" | ||
} | ||
], | ||
"identifier": "https://doi.org/10.5281/zenodo.8088760", | ||
"codeRepository": "https://github.com/assume-framework/assume/", | ||
"datePublished": "2024-11-15", | ||
"dateModified": "2024-11-13", | ||
"dateCreated": "2024-11-13", | ||
"description": "ASSUME - Agent-based Simulation for Studying and Understanding Market Evolution", | ||
"keywords": "agent-based, energy market, simulation, reinforcement learning, bidding", | ||
"license": "AGPL-3.0-or-later", | ||
"title": "ASSUME", | ||
"version": "v0.4.3" | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
SPDX-FileCopyrightText: ASSUME Developers | ||
|
||
SPDX-License-Identifier: AGPL-3.0-or-later |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,123 @@ | ||
@Comment{ | ||
SPDX-FileCopyrightText: ASSUME Developers | ||
|
||
SPDX-License-Identifier: AGPL-3.0-or-later | ||
} | ||
|
||
@incollection{maurerMarketAbstractionEnergy2023, | ||
title = {Market {{Abstraction}} of {{Energy Markets}} and {{Policies}} - {{Application}} in an {{Agent-Based Modeling Toolbox}}}, | ||
booktitle = {Energy {{Informatics}}}, | ||
author = {Maurer, Florian and Miskiw, Kim K. and Acosta, Rebeca Ramirez and Harder, Nick and Sander, Volker and Lehnhoff, Sebastian}, | ||
editor = {J{\o}rgensen, Bo N{\o}rregaard and Da Silva, Luiz Carlos Pereira and Ma, Zheng}, | ||
year = {2023}, | ||
month = dec, | ||
volume = {14468}, | ||
pages = {139--157}, | ||
publisher = {Springer Nature Switzerland}, | ||
address = {Cham}, | ||
doi = {10.1007/978-3-031-48652-4_10}, | ||
isbn = {978-3-031-48652-4}, | ||
} | ||
|
||
@inproceedings{maurerKnowYourTools2024, | ||
title = {Know {{Your Tools}} - {{A Comparison}} of {{Two Open Agent-Based Energy Market Models}}}, | ||
booktitle = {2024 20th {{International Conference}} on the {{European Energy Market}} ({{EEM}})}, | ||
author = {Maurer, Florian and Nitsch, Felix and Kochems, Johannes and Schimeczek, Christoph and Sander, Volker and Lehnhoff, Sebastian}, | ||
year = {2024}, | ||
month = jun, | ||
pages = {1--8}, | ||
issn = {2165-4093}, | ||
doi = {10.1109/EEM60825.2024.10609021}, | ||
} | ||
|
||
@inproceedings{miskiwExplainableDeepReinforcement2024, | ||
title = {Explainable {{Deep Reinforcement Learning}} for {{Multi-Agent Electricity Market Simulations}}}, | ||
booktitle = {2024 20th {{International Conference}} on the {{European Energy Market}} ({{EEM}})}, | ||
author = {Miskiw, Kim K. and Staudt, Philipp}, | ||
year = {2024}, | ||
month = jun, | ||
pages = {1--9}, | ||
issn = {2165-4093}, | ||
doi = {10.1109/EEM60825.2024.10608907}, | ||
} | ||
|
||
|
||
@inproceedings{khanraEconomicEvaluationElectricity2024, | ||
title = {Economic {{Evaluation}} of {{Electricity}} and {{Hydrogen-Based Steel Production Pathways}}: {{Leveraging Market Dynamics}} and {{Grid Congestion Mitigation}} through {{Demand Side Flexibility}}}, | ||
shorttitle = {Economic {{Evaluation}} of {{Electricity}} and {{Hydrogen-Based Steel Production Pathways}}}, | ||
booktitle = {2024 20th {{International Conference}} on the {{European Energy Market}} ({{EEM}})}, | ||
author = {Khanra, Manish and Klobasa, Marian and Patil, Parag and Scholz, Daniel}, | ||
year = {2024}, | ||
month = jun, | ||
pages = {1--6}, | ||
issn = {2165-4093}, | ||
doi = {10.1109/EEM60825.2024.10608890}, | ||
} | ||
|
||
@inproceedings{adamsBlockOrdersMatter2024, | ||
title = {Do {{Block Orders Matter}}? {{Impact}} of {{Regular Block}} and {{Linked Orders}} on {{Electricity Market Simulation Outcomes}}}, | ||
shorttitle = {Do {{Block Orders Matter}}?}, | ||
booktitle = {2024 20th {{International Conference}} on the {{European Energy Market}} ({{EEM}})}, | ||
author = {Adams, Johanna and Harder, Nick and Weidlich, Anke}, | ||
date = {2024-06}, | ||
pages = {1--7}, | ||
issn = {2165-4093}, | ||
doi = {10.1109/EEM60825.2024.10608956}, | ||
} | ||
|
||
|
||
@article{harderHowSatisfactoryCan2024, | ||
title = {How {{Satisfactory Can Deep Reinforcement Learning Methods Simulate Electricity Market Dynamics}}? {{Bechmarking}} via {{Bi-level Optimization}}}, | ||
shorttitle = {How {{Satisfactory Can Deep Reinforcement Learning Methods Simulate Electricity Market Dynamics}}?}, | ||
author = {Nick Harder and Lesia Mitridati and Farzaneh Pourahmadi and Anke Weidlich and Jalal Kazempour}, | ||
year = {2024}, | ||
month = oct, | ||
journal = {Energy Informatics Review}, | ||
} | ||
|
||
|
||
@inproceedings{bublitzAgentbasedSimulationGerman2014, | ||
title = {Agent-Based {{Simulation}} of the {{German}} and {{French Wholesale Electricity Markets}}}, | ||
booktitle = {Proceedings of the 6th {{International Conference}} on {{Agents}} and {{Artificial Intelligence}} - {{Volume}} 2}, | ||
author = {Bublitz, Andreas and Ringler, Philipp and Genoese, Massimo and Fichtner, Wolf}, | ||
year = {2014}, | ||
month = mar, | ||
series = {{{ICAART}} 2014}, | ||
pages = {40--49}, | ||
publisher = {{SCITEPRESS - Science and Technology Publications, Lda}}, | ||
address = {Setubal, PRT}, | ||
doi = {10.5220/0004760000400049}, | ||
urldate = {2023-05-15}, | ||
isbn = {978-989-758-016-1}, | ||
} | ||
|
||
@article{schimeczekAMIRISAgentbasedMarket2023, | ||
title = {{{AMIRIS}}: {{Agent-based Market}} Model for the {{Investigationof Renewable}} and {{Integrated}} Energy {{Systems}}}, | ||
shorttitle = {{{AMIRIS}}}, | ||
author = {Schimeczek, Christoph and Nienhaus, Kristina and Frey, Ulrich and Sperber, Evelyn and Sarfarazi, Seyedfarzad and Nitsch, Felix and Kochems, Johannes and Ghazi, A. Achraf El}, | ||
year = {2023}, | ||
month = apr, | ||
journal = {Journal of Open Source Software}, | ||
volume = {8}, | ||
number = {84}, | ||
issn = {2475-9066}, | ||
doi = {10.21105/joss.05041}, | ||
} | ||
|
||
@article{harderFitPurposeModeling2023, | ||
title = {Fit for Purpose: {{Modeling}} Wholesale Electricity Markets Realistically with Multi-Agent Deep Reinforcement Learning}, | ||
shorttitle = {Fit for Purpose}, | ||
author = {Harder, Nick and Qussous, Ramiz and Weidlich, Anke}, | ||
date = {2023-10-01}, | ||
journaltitle = {Energy and AI}, | ||
shortjournal = {Energy and AI}, | ||
volume = {14}, | ||
pages = {100295}, | ||
issn = {2666-5468}, | ||
doi = {10.1016/j.egyai.2023.100295}, | ||
url = {https://www.sciencedirect.com/science/article/pii/S2666546823000678}, | ||
urldate = {2024-03-03}, | ||
abstract = {Electricity markets need to continuously evolve to address the growing complexity of a predominantly renewable energy-driven, highly interconnected, and sector-integrated energy system. Simulation models allow testing market designs before implementation, which offers advantages for market robustness and efficiency. This work presents a novel approach to simulate the electricity market by using multi-agent deep reinforcement learning for representing revenue-maximizing market participants. The learning capability makes the agents highly adaptive, thereby facilitating a rigorous performance evaluation of market mechanisms under challenging yet practical conditions. Through distinct test cases that vary the number and size of learning agents in an energy-only market, we demonstrate the ability of the proposed method to diagnose market manipulation and reflect market liquidity. Our method is highly scalable, as demonstrated by a case study of the German wholesale energy market with 145 learning agents. This makes the model well-suited for analyzing large and complex electricity markets. The capability of the presented simulation approach facilitates market design analysis, thereby contributing to the establishment future-proof electricity markets to support the energy transition.}, | ||
keywords = {Agent-based modeling,Electricity markets,Machine learning,Multi-agent reinforcement learning,Reinforcement learning}, | ||
file = {/home/maurer/Zotero/storage/88ED8A4Z/S2666546823000678.html} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,88 @@ | ||
--- | ||
title: 'ASSUME - Agent-based Simulation for Studying and Understanding Market Evolution' | ||
tags: | ||
- Python | ||
- agent based modeling | ||
- energy market | ||
- reinforcement learning | ||
- software simulation | ||
authors: | ||
maurerle marked this conversation as resolved.
Show resolved
Hide resolved
|
||
- name: Florian Maurer | ||
orcid: 0000-0001-8345-3889 | ||
corresponding: true | ||
equal-contrib: true | ||
affiliation: 1 | ||
- name: Nick Harder | ||
orcid: 0000-0003-1897-3671 | ||
equal-contrib: true | ||
affiliation: 2 | ||
- name: Kim K. Miskiw | ||
orcid: 0009-0009-1389-4844 | ||
equal-contrib: true | ||
affiliation: 3 | ||
- name: Manish Khanra | ||
orcid: 0000-0002-3347-9922 | ||
equal-contrib: true | ||
affiliation: 4 | ||
|
||
affiliations: | ||
- name: University of Applied Sciences Aachen, Germany | ||
index: 1 | ||
- name: Institute for Sustainable Systems Engineering, University of Freiburg, Freiburg, Germany | ||
index: 2 | ||
- name: Institute of Information Systems and Marketing, Karlsruhe Institute of Technology, Karlsruhe, Germany | ||
index: 3 | ||
- name: Fraunhofer Institute for Systems and Innovation Research, Karlsruhe, Germany | ||
index: 4 | ||
date: 13 November 2024 | ||
bibliography: paper.bib | ||
--- | ||
|
||
# Summary | ||
|
||
**ASSUME** is an open-source toolbox for agent-based simulations of various energy markets, with a primary focus on European electricity markets. Developed as an open-source model, its objectives are to ensure usability and customizability for a wide range of users and use cases in the energy system modeling community. | ||
|
||
A unique feature of the `ASSUME` toolbox is its integration of **Deep Reinforcement Learning** methods into the behavioral strategies of market agents. The model offers various predefined agent representations for both the demand and generation sides, which can be used as plug-and-play modules, simplifying the usage of reinforcement learning strategies. This setup enables research of new market designs and evolving dynamics in energy markets. | ||
|
||
# Statement of need | ||
|
||
Various open-source agent-based models have been developed for studying energy markets, such as PowerACE [@bublitzAgentbasedSimulationGerman2014] and AMIRIS [@schimeczekAMIRISAgentbasedMarket2023]. | ||
Yet, the possible integration of reinforcement learning methods into the behavioral strategies of market agents is currently unique to `ASSUME` and is build upon prior research on multi-agent reinforcement learning [@harderFitPurposeModeling2023]. | ||
Simulations which solely rely on rule-based bidding strategy representation, limit the ability to represent future markets or alternative markets designs, as in reality bidding agents would adapt to the new market design. | ||
Most notably, `ASSUME` enables the highest number of simultanelously learning market agents in literature [@miskiwExplainableDeepReinforcement2024]. | ||
This feature allows for the exploration of new market designs and emergent dynamics in energy markets using a common open-source simulation framework. | ||
Further unique features of `ASSUME` are the extensive market abstraction which allows to define complex multi-market scenarios as shown in [@maurerMarketAbstractionEnergy2023]. | ||
maurerle marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Even redispatch markets and nodal markets are supported, making it possible to represent network constraints and market coupling. | ||
`ASSUME` is designed to provide results which are easily comparable and interactable. | ||
This is set in contrast to other agent-based simulation frameworks, which are often designed to be used for a specific use case. | ||
Instead, various moving parts can be configured, such as the market abstraction, the agent properties and bidding strategies, or the reinforcement learning methods. | ||
|
||
# Architecture | ||
|
||
`ASSUME` builds on the open-source agent-based simulation library [mango-agents](https://pypi.org/project/mango-agents/) to model the simulation world and to give users continuous feedback during the simulation runs. | ||
maurerle marked this conversation as resolved.
Show resolved
Hide resolved
|
||
Interaction with the results of the simulation is possible through the preconfigured provided Grafana dashboards, which do have direct access to the simulation database. | ||
Additionally, writing the output to CSV files is supported for scenarios in which a database is not available or needed. | ||
|
||
 | ||
|
||
New scenarios can be created by providing CSV files, accessing simulation data from a database or by using the object-oriented API. | ||
The object-oriented API makes it possible to integrate new classes, maket mechanisms and bidding strategies as well. | ||
|
||
Less technical users can adjust the examples from the yaml config and csv inputs directly, while new bidding strategies and methods can be implemented using the provided base classes. | ||
This is possible through the decoupled architecture which separates the declaration of simulation behavior from the input data, while allowing to define either externally without changes to the core. | ||
The overview of available classes and the interaction with the world is shown in \autoref{fig:architecture}. | ||
Extensive documentation about these features is available at [https://assume.readthedocs.io/en/latest/](https://assume.readthedocs.io/en/latest/examples_basic.html). | ||
This also includes a variety of notebooks which clarify the usage through examples. | ||
|
||
# Publications | ||
maurerle marked this conversation as resolved.
Show resolved
Hide resolved
|
||
|
||
`ASSUME` has been used to investigate the usage of complex order types like block bids in wholesale markets [@adamsBlockOrdersMatter2024] as well as for the integration of demand-side flexibility and redispatch markets in [@khanraEconomicEvaluationElectricity2024]. | ||
Studies of applicability of reinforcement learning methods in energy markets were tackled in [@harderHowSatisfactoryCan2024], while an analysis of explainable AI methods was applied to `ASSUME` in [@miskiwExplainableDeepReinforcement2024]. | ||
For better interoperability with other energy system model data, adapters to interact from `ASSUME` with PyPSA and AMIRIS are available and make a comparison to other renomated market simulation tools possible [@maurerKnowYourTools2024]. | ||
|
||
# Acknowledgements | ||
|
||
This work was conducted as part of the project "ASSUME: Agent-Based Electricity Markets Simulation Toolbox," funded by the German Federal Ministry for Economic Affairs and Energy under grant number BMWK 03EI1052A. | ||
We express our gratitude to all contributors to ASSUME. | ||
|
||
# References |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,3 @@ | ||
SPDX-FileCopyrightText: ASSUME Developers | ||
|
||
SPDX-License-Identifier: AGPL-3.0-or-later |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Uh oh!
There was an error while loading. Please reload this page.