add flexiramp

This commit is contained in:
oyurdakul
2022-02-03 09:45:06 +01:00
parent 5e2cdb9e0c
commit a3a71ff5a9
13 changed files with 338 additions and 15 deletions

View File

@@ -37,6 +37,7 @@ mutable struct Unit
initial_status::Union{Int,Nothing}
initial_power::Union{Float64,Nothing}
provides_spinning_reserves::Vector{Bool}
provides_flexiramp_reserves::Vector{Bool} # binary variable indicating whether the unit provides flexiramp
startup_categories::Vector{StartupCategory}
end
@@ -54,6 +55,8 @@ end
mutable struct Reserves
spinning::Vector{Float64}
upflexiramp::Vector{Float64} # up-flexiramp reserve requirements
dwflexiramp::Vector{Float64} # down-flexiramp reserve requirements
end
mutable struct Contingency
@@ -81,6 +84,7 @@ Base.@kwdef mutable struct UnitCommitmentInstance
price_sensitive_loads::Vector{PriceSensitiveLoad}
reserves::Reserves
shortfall_penalty::Vector{Float64}
flexiramp_shortfall_penalty::Vector{Float64} # penalty price for flexiramp shortfall
time::Int
units_by_name::Dict{AbstractString,Unit}
units::Vector{Unit}