-
Notifications
You must be signed in to change notification settings - Fork 73
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
Time limit for deferrable loads #153
Conversation
Deferrable end
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #153 +/- ##
==========================================
+ Coverage 89.52% 89.56% +0.03%
==========================================
Files 6 6
Lines 1442 1485 +43
==========================================
+ Hits 1291 1330 +39
- Misses 151 155 +4 ☔ View full report in Codecov by Sentry. |
OK, automated tests have passed. I will continue doing functional testing, therefore changed it into a draft PR |
Ok so this will catch incoherent time windows entered by the user? |
Correct. I only enforce an extra constraint if the specified More concretely:
|
Code is ready for review |
In this specific example for day-ahead optimization no constraint was added to the LP problem right? |
There was: deferrable load 1 was only allowed to operate after the first timestep. |
Yes but then what is the meaning of fixing |
Ok, understood. Thanks for the clarifications. |
Hi David, I was thinking the same. Let me see if I can find some time to do this. |
@davidusb-geek will have some time on Tuesday to work on documentation. Will make a new pull request for that |
This pull request introduces a new parameter, allowing the user to specify a time limit for each deferrable load (in MPC optimization).
The new parameter in the optimizer, called
def_end_timestep
, is defined as "The timestep before which each deferrable load should operate."The optimizer will get an extra constraint stating that the deferrable load should not consume any energy after the specified timestep. If a value of 0 (or negative) is provided, no extra constraint is added.
Example:
"def_end_timestep": [3,0]
This is the case of two deferrable loads, whereby the first load should operate in the first three timesteps of the optimization window. The second load can use the complete optimization window (cf the value of 0).
There's also a check that the available timeframe until def_end_timestep is > the timesteps needed to run the load for the specified operating hours (def_total_hours). If not, the def_end_timestep is updated automatically to respect that constraint.