Skip to content
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

feat(scheduling): Add multiple maxima and minima constraints into StorageScheduler #680

Merged
merged 19 commits into from May 29, 2023
Merged
Show file tree
Hide file tree
Changes from 14 commits
Commits
Show all changes
19 commits
Select commit Hold shift + click to select a range
43cf12e
fix: deprecated decorator wasn't returning the value of the moved cal…
victorgarcia98 May 11, 2023
583bd28
fix: update test to check that the decorator is returning
victorgarcia98 May 11, 2023
3e0744c
feat: add SOCValueSchema
victorgarcia98 May 11, 2023
e88fa69
feat: pass soc_maxima and soc_minima to device_scheduler
victorgarcia98 May 11, 2023
633142d
feat: add test test_soc_bounds_timeseries
victorgarcia98 May 11, 2023
10de976
test: check for inequality rather than equality constraints
victorgarcia98 May 17, 2023
db317f7
Merge branch 'main' into max_min_soc_timeseries
victorgarcia98 May 18, 2023
ec60079
fix: correcting sunset version
victorgarcia98 May 18, 2023
121231a
refactor: use new function
victorgarcia98 May 18, 2023
a548145
refactor: finishing refactor (I forgot two calls).
victorgarcia98 May 18, 2023
ac70366
docs: update the endpoint trigger_schedule with an example on how to …
victorgarcia98 May 23, 2023
0211978
feat: add constraint validation
victorgarcia98 May 23, 2023
3f4df10
Merge branch 'main' into max_min_soc_timeseries
victorgarcia98 May 23, 2023
eb6f9b7
docs: add chagelog entry
victorgarcia98 May 23, 2023
fb36f49
Review fixes max min soc timeseries (#700)
Flix6x May 25, 2023
9aed98f
refactor: Constraint validation for cases A and B (#702)
Flix6x May 26, 2023
70cbb3e
style: remove left-over print
victorgarcia98 May 29, 2023
e3807ed
fix: escape backslash in regex
victorgarcia98 May 29, 2023
f2ee39e
Merge branch 'main' into max_min_soc_timeseries
victorgarcia98 May 29, 2023
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
1 change: 1 addition & 0 deletions documentation/changelog.rst
Expand Up @@ -10,6 +10,7 @@ New features
-------------

* Introduction of the classes `Reporter` and `PandasReporter` [see `PR #641 <https://www.github.com/FlexMeasures/flexmeasures/pull/641>`_]
* Add multiple maxima and minima constraints into `StorageScheduler` [see `PR #680 <https://www.github.com/FlexMeasures/flexmeasures/pull/680>`_]


Bugfixes
Expand Down
14 changes: 13 additions & 1 deletion flexmeasures/api/v3_0/sensors.py
Expand Up @@ -269,7 +269,9 @@ def trigger_schedule( # noqa: C901

This message triggers a 24-hour schedule for a storage asset, starting at 10.00am,
at which the state of charge (soc) is 12.1 kWh, with a target state of charge of 25 kWh at 4.00pm.
The minimum and maximum soc are set to 10 and 25 kWh, respectively.
The global minimum and maximum soc are set to 10 and 25 kWh, respectively.
To guarantee a minimum SOC in the period prior to 4.00pm, local minima constraints are imposed (via soc-minima)
at 2.00pm and 3.00pm, for 15kWh and 20kWh, respectively.
Roundtrip efficiency for use in scheduling is set to 98%.
Aggregate consumption (of all devices within this EMS) should be priced by sensor 9,
and aggregate production should be priced by sensor 10,
Expand All @@ -289,6 +291,16 @@ def trigger_schedule( # noqa: C901
{
"value": 25,
"datetime": "2015-06-02T16:00:00+00:00"
},
],
"soc-minima" : [
{
"value": 15,
"datetime" : "2015-06-02T14:00:00+00:00"
},
{
"value": 20,
"datetime" : "2015-06-02T15:00:00+00:00"
}
],
"soc-min": 10,
Expand Down