Skip to content

Commit

Permalink
improvements to reserve creation
Browse files Browse the repository at this point in the history
  • Loading branch information
jd-lara committed Feb 5, 2025
1 parent 7275aa1 commit e845d95
Showing 1 changed file with 16 additions and 15 deletions.
31 changes: 16 additions & 15 deletions src/services_models/reserves.jl
Original file line number Diff line number Diff line change
Expand Up @@ -161,19 +161,23 @@ function add_constraints!(
param = get_parameter_column_refs(param_container, service_name)
for t in time_steps
if use_slacks
resource_expression = sum(reserve_variable[:, t]) + slack_vars[t]
resource_expression = JuMP.@expression(
jump_model, sum(@view reserve_variable[:, t]) + slack_vars[t])
else
resource_expression = sum(reserve_variable[:, t])
resource_expression = JuMP.@expression(
jump_model, sum(@view reserve_variable[:, t]))
end
constraint[service_name, t] =
JuMP.@constraint(jump_model, resource_expression >= param[t] * requirement)
end
else
for t in time_steps
if use_slacks
resource_expression = sum(reserve_variable[:, t]) + slack_vars[t]
resource_expression = JuMP.@expression(
jump_model, sum(@view reserve_variable[:, t]) + slack_vars[t])
else
resource_expression = sum(reserve_variable[:, t])
resource_expression = JuMP.@expression(
jump_model, sum(@view reserve_variable[:, t]))
end
constraint[service_name, t] = JuMP.@constraint(
jump_model,
Expand Down Expand Up @@ -224,12 +228,12 @@ function add_constraints!(
cons[name, t] =
JuMP.@constraint(
jump_model,
var_r[name, t] <= param[t] * requirement * max_participation_factor
var_r[name, t] <= (requirement * max_participation_factor) * param[t]
)
else
cons[name, t] = JuMP.@constraint(
jump_model,
var_r[name, t] <= ts_vector[t] * requirement * max_participation_factor
var_r[name, t] <= (requirement * max_participation_factor) * ts_vector[t]
)
end
end
Expand Down Expand Up @@ -268,15 +272,11 @@ function add_constraints!(
jump_model = get_jump_model(container)
for t in time_steps
resource_expression = JuMP.GenericAffExpr{Float64, JuMP.VariableRef}()
JuMP.add_to_expression!(resource_expression, sum(reserve_variable[:, t]))
JuMP.add_to_expression!(resource_expression,
JuMP.@expression(jump_model, sum(@view reserve_variable[:, t])))
# consider a for loop
if use_slacks
resource_expression = JuMP.@expression(
jump_model,
sum(@view reserve_variable[:, t]) + slack_vars[t])
else
resource_expression = JuMP.@expression(
jump_model,
sum(@view reserve_variable[:, t]))
JuMP.add_to_expression!(resource_expression, slack_vars[t])
end
constraint[service_name, t] =
JuMP.@constraint(jump_model, resource_expression >= requirement)
Expand Down Expand Up @@ -322,7 +322,7 @@ function add_constraints!(
for t in time_steps
constraint[service_name, t] = JuMP.@constraint(
jump_model,
sum(reserve_variable[:, t]) >= requirement_variable[service_name, t]
sum(@view reserve_variable[:, t]) >= requirement_variable[service_name, t]
)
end

Expand Down Expand Up @@ -559,6 +559,7 @@ function add_proportional_cost!(
for index in Iterators.product(axes(reserve_variable)...)
add_to_objective_invariant_expression!(
container,
# possibly decouple
DEFAULT_RESERVE_COST / base_p * reserve_variable[index...],
)
end
Expand Down

0 comments on commit e845d95

Please sign in to comment.