SpineOpt.jl
SpineOpt.jl copied to clipboard
Problems with unit ramp limits
Description
Ramping down will be difficult when time resolution changes.
How to reproduce
Set the following unit and unit-output node parameters for a simple generator unit:
fix_units_on: 1 unit_capacity: 100 minimum_operating_point: 0.4 ramp_up_limit: 0.1 ramp_down_limit: 0.1
Set the following model parameters:
temporal block resolution ["1h","1h","1h","1h","4h","4h"] model start: 2021-05-01T00:00:00
We will then have the ramp down limit constraint with t_before and t_after as follows:
t_before=2021-05-01T03:00 (1_hour)->2021-05-01T04:00, t_after=2021-05-01T04:00 (4_hours) ->2021-05-01T08:00
Realized constraint:
3.6 * unit_flow[t_after] >= 640 * units_on[t_after] -200 * units_on[t_before] + 0.9 * unit_flow[t_before] -800 * units_shut_down[t_after]
Let's suppose the the demand (and thus unit output) is as follows:
unit_flow[t_before] = 90 unit_flow[t_after] = 70
It should be possible within the 0.1 ramp limit but the constraint will not be fulfilled unless units_shut_down[t_after] > 0.
Expected behavior The ramping should be possible without shutting down units.
Desktop (please complete the following information):
- Which SpineOpt version? 0.7.2
- Which Spineinterface version? 0.13.7