-
Notifications
You must be signed in to change notification settings - Fork 9
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
Introducing Learning for Storages #464
base: main
Are you sure you want to change the base?
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #464 +/- ##
==========================================
- Coverage 76.86% 74.85% -2.02%
==========================================
Files 50 50
Lines 6229 6411 +182
==========================================
+ Hits 4788 4799 +11
- Misses 1441 1612 +171
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Sentry. |
@kim-mskw thanks a lot for the work! Maybe we should start the process with only one strategy from the paper and introduce the second one in a seperate PR? It might be a bit too much to have both in a single PR, since it will be hard to test both properly. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Would be very good to have a test for the initialization of the Bidding Strategies.
I think it is fine to include both, as long as there is also code which somehow tests the functionality of it.
data_format = "local_db" # "local_db" or "timescale" | ||
example = "small" | ||
data_format = "timescale" # "local_db" or "timescale" | ||
example = "small_learning_storage" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
please do not adjust the default values of the examples file
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nick wanted to continue working on both startegies, so I pushed the example I used, but yes indeed it should be changed back!
-switch max_volume and min_volume in storages to max_soc and min_soc -move load_actor_params to base LearningStrategy -refine drl storage reward function -add energy cost calculation to DRL storage strategy -adjust input data in Example_02e to generate better price profile for storage tests -adjust storage tests to new soc notion
Pull Request
Related Issue
Closes #457
Description
This PR introduces two learning strategies for storages.
One is based on the work of @ModdyLP, and the other is based on the original flexRL implementation by @nick-harder.
The former introduces bidding of storage with a two-stage bidding curve. Yet the convergence does not look promising. Needs to be debugged potentially?
The latter is implemented in accordance with the published strategy by @nick-harder, where the storage decides on the direction and the price height. Here the convergence looks way better!
Changes Proposed
Testing
So far, only general runablility was tested. No convergeence analysis was made!
Checklist
Please check all applicable items:
doc
folder updates)pyproject.toml
doc/release_notes.rst
of the upcoming release is includedAdditional Notes (if applicable)
[Any additional information, concerns, or areas you want reviewers to focus on]
Screenshots (if applicable)
@nick-harder
@ModdyLP