Commit 3bbf20e6 authored by DanaKi404's avatar DanaKi404
Browse files

changes

parent 205bf998
relaxfixedinfeas = 1 relaxfixedinfeas 1
* feasopt 1
iis 1
...@@ -38,7 +38,7 @@ q_balance(gn(grid, node), msft(m, s, f, t)) // Energy/power balance dynamics sol ...@@ -38,7 +38,7 @@ q_balance(gn(grid, node), msft(m, s, f, t)) // Energy/power balance dynamics sol
=E= =E=
// The right side of the equation contains all the changes converted to energy terms // The right side of the equation contains all the changes converted to energy terms
+ p_stepLength(m, f, t) * [((1/p_stepLength(m, f, t))${gnGroup(grid, node,'wastewaterBalance')}) + 1${not gnGroup(grid, node,'wastewaterBalance')}]// Multiply with the length of the timestep to convert power into energy + p_stepLength(m, f, t) // Multiply with the length of the timestep to convert power into energy
* ( * (
// Self discharge out of the model boundaries // Self discharge out of the model boundaries
- p_gn(grid, node, 'selfDischargeLoss')${ gn_state(grid, node) } - p_gn(grid, node, 'selfDischargeLoss')${ gn_state(grid, node) }
...@@ -83,8 +83,8 @@ q_balance(gn(grid, node), msft(m, s, f, t)) // Energy/power balance dynamics sol ...@@ -83,8 +83,8 @@ q_balance(gn(grid, node), msft(m, s, f, t)) // Energy/power balance dynamics sol
+ ts_influx_(grid, node, s, f, t) // Incoming (positive) and outgoing (negative) absolute value time series + ts_influx_(grid, node, s, f, t) // Incoming (positive) and outgoing (negative) absolute value time series
// Dummy generation variables, for feasibility purposes // Dummy generation variables, for feasibility purposes
+ vq_gen('increase', grid, node, s, f, t) // Note! When stateSlack is permitted, have to take caution with the penalties so that it will be used first // + vq_gen('increase', grid, node, s, f, t) // Note! When stateSlack is permitted, have to take caution with the penalties so that it will be used first
- vq_gen('decrease', grid, node, s, f, t) // Note! When stateSlack is permitted, have to take caution with the penalties so that it will be used first // - vq_gen('decrease', grid, node, s, f, t) // Note! When stateSlack is permitted, have to take caution with the penalties so that it will be used first
) // END * p_stepLength ) // END * p_stepLength
; ;
...@@ -1091,14 +1091,13 @@ q_rampUpLimit(ms(m, s), gnuft_ramp(grid, node, unit, f, t)) ...@@ -1091,14 +1091,13 @@ q_rampUpLimit(ms(m, s), gnuft_ramp(grid, node, unit, f, t))
} .. } ..
// Ramp speed of the unit? // Ramp speed of the unit?
+ ( v_genRamp(grid, node, unit, s, f, t)
+ v_genRamp(grid, node, unit, s, f, t) + (sum(gnuRescapable(restype, 'up', grid, node, unit)${ ord(t) < tSolveFirst + p_gnReserves(grid, node, restype, 'reserve_length')
+ sum(gnuRescapable(restype, 'up', grid, node, unit)${ ord(t) < tSolveFirst + p_gnReserves(grid, node, restype, 'reserve_length')
and not gnuOfflineRescapable(restype, grid, node, unit) and not gnuOfflineRescapable(restype, grid, node, unit)
}, },
+ v_reserve(restype, 'up', grid, node, unit, s, f+df_reserves(grid, node, restype, f, t), t) // (v_reserve can be used only if the unit is capable of providing a particular reserve) + v_reserve(restype, 'up', grid, node, unit, s, f+df_reserves(grid, node, restype, f, t), t) // (v_reserve can be used only if the unit is capable of providing a particular reserve)
) // END sum(nuRescapable) ) // END sum(nuRescapable)
)/ p_stepLength(m, f, t) )/ p_stepLength(m, f, t)
=L= =L=
...@@ -1226,14 +1225,13 @@ q_rampDownLimit(ms(m, s), gnuft_ramp(grid, node, unit, f, t)) ...@@ -1226,14 +1225,13 @@ q_rampDownLimit(ms(m, s), gnuft_ramp(grid, node, unit, f, t))
} .. } ..
// Ramp speed of the unit? // Ramp speed of the unit?
+ ( v_genRamp(grid, node, unit, s, f, t)
+ v_genRamp(grid, node, unit, s, f, t) - (sum(gnuRescapable(restype, 'down', grid, node, unit)${ ord(t) < tSolveFirst + p_gnReserves(grid, node, restype, 'reserve_length')
- sum(gnuRescapable(restype, 'down', grid, node, unit)${ ord(t) < tSolveFirst + p_gnReserves(grid, node, restype, 'reserve_length')
and not gnuOfflineRescapable(restype, grid, node, unit) and not gnuOfflineRescapable(restype, grid, node, unit)
}, },
+ v_reserve(restype, 'down', grid, node, unit, s, f+df_reserves(grid, node, restype, f, t), t) // (v_reserve can be used only if the unit is capable of providing a particular reserve) + v_reserve(restype, 'down', grid, node, unit, s, f+df_reserves(grid, node, restype, f, t), t) // (v_reserve can be used only if the unit is capable of providing a particular reserve)
) // END sum(nuRescapable) ) // END sum(nuRescapable)
)/ p_stepLength(m, f, t) )/ p_stepLength(m, f, t)
=G= =G=
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment