From 99348466cbeb7ec873c270d35a420a19d443ef57 Mon Sep 17 00:00:00 2001 From: Hallie Dunham <70401017+hdunham@users.noreply.github.com> Date: Wed, 18 Sep 2024 11:55:49 -0600 Subject: [PATCH] loop effic (flexible_hvac) --- src/constraints/flexible_hvac.jl | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/constraints/flexible_hvac.jl b/src/constraints/flexible_hvac.jl index 5cfefb28d..a66cac800 100644 --- a/src/constraints/flexible_hvac.jl +++ b/src/constraints/flexible_hvac.jl @@ -17,10 +17,10 @@ function add_flexible_hvac_constraints(m, p::REoptInputs; _n="") if !isempty(p.techs.heating) && !isempty(p.techs.cooling) # space temperature evolution based on state-space model # TODO: Add indicator constraint workaround for FlexibleHVAC - @constraint(m, [n in 1:N, ts in 2:length(p.time_steps)], + @constraint(m, [ts in 2:length(p.time_steps), n in 1:N], binFlexHVAC => { dvTemperature[n, ts] == dvTemperature[n, ts-1] + - sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i=1:N) + - sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j=1:J) + + sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i in 1:N) + + sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j in 1:J) + input_vec[n] * p.s.flexible_hvac.input_matrix[n, p.s.flexible_hvac.control_node] * ( sum(m[Symbol("dvHeatingProduction"*_n)][t, "SpaceHeating", ts-1] for t in p.techs.heating) - sum(m[Symbol("dvCoolingProduction"*_n)][t, ts-1] for t in p.techs.cooling) @@ -37,10 +37,10 @@ function add_flexible_hvac_constraints(m, p::REoptInputs; _n="") elseif !isempty(p.techs.heating) - @constraint(m, [n in 1:N, ts in 2:length(p.time_steps)], + @constraint(m, [ts in 2:length(p.time_steps), n in 1:N], binFlexHVAC => { dvTemperature[n, ts] == dvTemperature[n, ts-1] + - sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i=1:N) + - sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j=1:J) + + sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i in 1:N) + + sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j in 1:J) + input_vec[n] * p.s.flexible_hvac.input_matrix[n, p.s.flexible_hvac.control_node] * ( sum(m[Symbol("dvHeatingProduction"*_n)][t, "SpaceHeating", ts-1] for t in p.techs.heating) )} @@ -58,10 +58,10 @@ function add_flexible_hvac_constraints(m, p::REoptInputs; _n="") elseif !isempty(p.techs.cooling) - @constraint(m, [n in 1:N, ts in 2:length(p.time_steps)], + @constraint(m, [ts in 2:length(p.time_steps), n in 1:N], binFlexHVAC => { dvTemperature[n, ts] == dvTemperature[n, ts-1] + - sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i=1:N) + - sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j=1:J) - + sum(p.s.flexible_hvac.system_matrix[n, i] * dvTemperature[i, ts-1] for i in 1:N) + + sum(p.s.flexible_hvac.input_matrix[n, j] * p.s.flexible_hvac.exogenous_inputs[j, ts-1] for j in 1:J) - input_vec[n] * p.s.flexible_hvac.input_matrix[n, p.s.flexible_hvac.control_node] * ( sum(m[Symbol("dvCoolingProduction"*_n)][t, ts-1] for t in p.techs.cooling) )}