Replies: 7 comments 51 replies
-
Can anybody please confirm that the above is correct and we are all onboard with the changes? It seems like the new design trades some of the flexibility by simplicity - maybe that's good, I don't know. The lack of ramp costs in the new design is more concerning, maybe we want to introduce them? The difficulty then is we do not have the dedicated ramp up/down flow variables to write the objective function... |
Beta Was this translation helpful? Give feedback.
-
So the following variables will remain in the new implementation concerning that:
and
Is that correct? Common Variables
Specific Variables
|
Beta Was this translation helpful? Give feedback.
-
Since nobody seems to complain I think it's time for us to finally try and implement these changes. If you are ok @gnawin @datejada I can take the first stab, seems pretty straightforward since it's mostly getting rid of old stuff and adding new stuff (no code transformation so to say.) I can work on a new branch and publish as soon as possible. Maybe I can write the code and you @gnawin can write the tests, does that sound ok? |
Beta Was this translation helpful? Give feedback.
-
Hi @manuelma, It was my initial idea to write this test as well. But since your part is already done, and I have not started fully on the other test (for the unit capacity), time-wise, it will be most favorable if you can do this now. Meanwhile, I will try my best on the other one, but it may be not ideal in case it takes too long (either because I'm stuck somewhere and/or I'm short of time) and you're already on top of this. Will keep you closely posted on my progress, and say if I can't finish it this week I'll hand it to you. Does that sound okay? |
Beta Was this translation helpful? Give feedback.
-
Hi folks, Not sure if this is the right place to comment - but we just had a discussion on ramp rates and there was an issue where the actual ramp rate in the old formulation depended on the temporal resolution of the unit_flow variable. That is one issue. A second issue is that if the temporal changes over time, as it can and as we support, then the effective ramp rate changes too which would not be expected behaviour. For example - we have models that have a low resolution look-ahead for long term storage and if a ramp rate was imposed, this would likely lead to infeasibilities. I think we need to make sure of three things:
|
Beta Was this translation helpful? Give feedback.
-
I have one more question here @gnawin @datejada @g-moralesespana The new contraints do not consider the variables |
Beta Was this translation helpful? Give feedback.
-
Quick question @g-moralesespana - the term in red above is a mistake, right? You corrected it in a comment in this discussion but the overleaf (where the equation is numbered as 11) still has it, see here https://www.overleaf.com/project/6454fde7fdf7f1c73ceeb2a0 |
Beta Was this translation helpful? Give feedback.
-
Introduction
The purpose of this post is to present the current SpineOpt's ramp implementation and then the changes introduced by the new design. The ultimate goal is to allow for a more clear appreciation of the benefits and drawbacks and also to help the development work.
@gnawin @datejada @g-moralesespana @mihlema @DillonJ @nnhjy
Common stuff
This stuff is required by the current and/or the new implementations (but none of them introduces it).
Variables
unit_flow
units_on
units_started_up
units_shut_down
nonspin_units_started_up
nonspin_units_shut_down
Parameters
minimum_operating_point
Current implementation
Parameters
ramp_up_limit
ramp_down_limit
min_startup_ramp
,max_startup_ramp
min_shutdown_ramp
,max_shutdown_ramp
min_res_startup_ramp
,max_res_startup_ramp
min_res_shutdown_ramp
,max_res_shutdown_ramp
ramp_up_cost
,ramp_down_cost
Variables
ramp_up_unit_flow
ramp_down_unit_flow
start_up_unit_flow
shut_down_unit_flow
nonspin_ramp_up_unit_flow
nonspin_ramp_down_unit_flow
NOTE: These variables are not generated unless they are used.
Constraints
Ramp up and down flows within the limits
NOTE: It feels that we should also subtract
nonspin_units_shut_down
tounits_on
on the rhs of the first constraintto make it more symmetrical to the second constraint, but I'm just guessing...
Start up and shut down flows within the limits
Non-spinning ramp up and down flows within the limits
Split ramps
Objective
New design
Parameters
ramp_up_limit
ramp_down_limit
startup_limit
shutdown_limit
Variables
No new variables.
Constraints
Ramp up flow within the limits
Ramp down flow within the limits
Objective
No new objective terms.
Changes
min_startup_ramp
,min_shutdown_ramp
,min_res_startup_ramp
,min_res_shutdown_ramp
; we just needminimum_operating_point
.max_res_startup_ramp
andmax_res_shutdown_ramp
parameters; instead, usemax_startup_ramp
andmax_shutdown_ramp
also for the non-spinning reserve flows - but rename these parameters tostartup_limit
andshutdown_limit
.Beta Was this translation helpful? Give feedback.
All reactions