Closed junglegobs closed 2 years ago
For day 214, RSL=0.05, infeasibility if the highest reserve level is included in the redispatch, feasible otherwise.
Tried the same for RSL=0.02 and no reserve level redispatch, no reserves are shed. So looking good...
Running all the days for RSL=0.02, there seems to be no issue. So cool! I just need to wrap my head around why the network re-dispatch constraints could lead to infeasibilities...
I noticed a mistake in my node injection relationship:
@constraint(gep.model, [n=N,l=L⁻,y=Y,p=P,t=T],
rLInj⁻[n,l,y,p,t] ==
sum(rL⁻[rpn,l,y,p,t] for rpn in N2RPN[n])
)
# Should have been
@constraint(gep.model, [n=N,l=L⁻,y=Y,p=P,t=T],
rLInj⁻[n,l,y,p,t] ==
sum(rL⁻[rpn,l,y,p,t] for rpn in N2RPN[n])
+ rsL⁻[n,l,y,p,t]
)
This has now been fixed, however I am a little confused as to how this would have led to infeasibilities.
I think there's actually something fundamentally wrong in my formulation... The sum of the additional injections over the network, rLInj⁻
or rLInj+
, should be equal to 0, not to D-
or D+
.
I think the issue is that I need to define an additional free variable which is some realisation of the net load forecast error on a particular node. So.... I should do that :D
My new formulation appears to work for day 214, RSL=0.06 and L=1:10, woooo! Needs more investigation, but let's see.
[ Info: Running GEPM (save path is /home/gobs/Desktop/ASoSEPOC/data/sims/DUCPR_reserve_shedding_sensitivity/309/RSL=0.0_L=1:10)...
...
Optimal solution found (tolerance 1.00e-04)
Best objective 2.448973798967e+06, best bound 2.448827141540e+06, gap 0.0060%
Wooo! This is the day with the most scarcity I should add.
However, no reserves appear to be shed anymore, at least for this day, and this is whether or not I include the levels in the redispatch.
I think the current formulation (see the .pdf
in papers
) (almost) makes sense, however I need to be careful with my signs for my downwards reserves.
I think I can close this as I fixed the issue
Again I'm getting feasibility issues, I just hadn't noticed them since the reserve shedding limit constraint isn't binding even for very low levels, i.e. it only becomes binding for values < 0.1.
Some thoughts: