Shadow prices on a "dormant" bus...

66 views
Skip to first unread message

barry.m...@dcu.ie

unread,
Mar 1, 2021, 7:23:47 AM3/1/21
to pypsa
Dear all -

I'm working on a very coarse grained national level (IE) energy system (electricity+heat+transport) model using pypsa. The representation of the low temperature heating sector, extracted from the larger system, is per this diagram (in the pypsa implementation, the hexagons are links, circle is load, and rounded rectangles are buses).

swis100-heat.png
I just want to get a sanity check on one aspect. The model is configurable, and it is possible (e.g.) to set the heat load here to zero in all snapshots. In that situation (with capacity expansion enabled in lopf()) the deployed power capacities for ASHP and H2_boiler are, naturally, zero. But all components are still present in the model. Now in that particular situation, I'm finding there is still a timeseries of (non-zero) shadow prices associated with the lo_temp_heat bus. Since there is zero power flowing through that bus, I'm just wondering if that is still expected, or suggests some problem with the model? And if it is expected, what, if any, interpretation might one attach to these shadow prices? I think it should be the marginal cost to satisfy an arbitrarily small increment of load in each snapshot (incoporating both capital cost of deploying either or both links in the "optimal" way, and the costs of the input energy flows) but I'm not completely confident in that.

I can provide a copy of the whole model, but it is quite large and cumbersome. So if it seems like this is something that is actually unexpected, then I will try to construct a much stripped down version that still shows this particular behaviour. I should probably also say that I have a different example, in another subsystem, of a complementary phenomenon: where a "dormant" bus has a shadow price of 0.0 at all snapshots. Maybe that is the one I should be looking more carefully at!

Any advice appreciated!

Kind regards - Barry



Tom Brown

unread,
Mar 2, 2021, 4:38:53 AM3/2/21
to py...@googlegroups.com
Hi Barry,

Yes, buses without loads can still have a shadow price, and the
interpretation you gave is exactly right: the marginal change in the
objective function "to satisfy an arbitrarily small increment of load in
each snapshot (incorporating both capital cost of deploying either or
both links in the "optimal" way, and the costs of the input energy flows)".

Shadow prices can also be zero if e.g. otherwise curtailed
zero-marginal-cost energy is used, since there is no change to the
objective function.

Best wishes,

Tom

On 01/03/2021 13:23, barry.m...@dcu.ie wrote:
> Dear all -
>
> I'm working on a very coarse grained national level (IE) energy system
> (electricity+heat+transport) model using pypsa. The representation of
> the low temperature heating sector, extracted from the larger system, is
> per this diagram (in the pypsa implementation, the hexagons are links,
> circle is load, and rounded rectangles are buses).
>
> swis100-heat.png
> I just want to get a sanity check on one aspect. The model is
> configurable, and it is possible (e.g.) to set the heat load here to
> zero in all snapshots. In that situation (with capacity expansion
> enabled in lopf()) the deployed power capacities for ASHP and H2_boiler
> are, naturally, zero. But all components are still present in the model.
> Now in that particular situation, I'm finding there is still a
> timeseries of (non-zero) shadow prices associated with the lo_temp_heat
> bus. Since there is zero power flowing through that bus, I'm just
> wondering if that is still expected, or suggests some problem with the
> model? And if it /is/ expected, what, if any, interpretation might one
> attach to these shadow prices? I /think/ it should be the marginal cost
> to satisfy an arbitrarily small increment of load in each snapshot
> (incoporating both capital cost of deploying either or both links in the
> "optimal" way, and the costs of the input energy flows) but I'm not
> completely confident in that.
>
> I can provide a copy of the whole model, but it is quite large and
> cumbersome. So if it seems like this is something that is actually
> unexpected, then I will try to construct a much stripped down version
> that still shows this particular behaviour. I should probably also say
> that I have a /different/ example, in another subsystem, of a
> complementary phenomenon: where a "dormant" bus has a shadow price of
> 0.0 at all snapshots. Maybe that is the one I should be looking more
> carefully at!
>
> Any advice appreciated!
>
> Kind regards - Barry
>
>
>
>
> /
>
> *Séanadh Ríomhphoist/Email Disclaimer*
>
> *Tá an ríomhphost seo agus aon chomhad a sheoltar leis faoi rún agus is
> lena úsáid ag an seolaí agus sin amháin é. Is féidir tuilleadh a léamh
> anseo.  <https://sites.google.com/view/seanadh-riomhphoist>*
>
> *This e-mail and any files transmitted with it are confidential and are
> intended solely for use by the addressee. Read more here.
> <https://sites.google.com/view/dcu-email-disclaimer>*
>
>
>
> /
>
>
>
> <https://www.facebook.com/DCU/><https://twitter.com/DublinCityUni><https://www.linkedin.com/company/dublin-city-university><https://www.instagram.com/dublincityuniversity/?hl=en><https://www.youtube.com/user/DublinCityUniversity>
>
> --
> You received this message because you are subscribed to the Google
> Groups "pypsa" group.
> To unsubscribe from this group and stop receiving emails from it, send
> an email to pypsa+un...@googlegroups.com
> <mailto:pypsa+un...@googlegroups.com>.
> To view this discussion on the web, visit
> https://groups.google.com/d/msgid/pypsa/52a1364a-ce33-4f40-bb35-b04276c8ea04n%40googlegroups.com
> <https://groups.google.com/d/msgid/pypsa/52a1364a-ce33-4f40-bb35-b04276c8ea04n%40googlegroups.com?utm_medium=email&utm_source=footer>.

--
Karlsruhe Institute of Technology (KIT)
Institute for Automation and Applied Informatics (IAI)

Tom Brown (he/him)
Research Group Leader, Energy System Modelling

Phone: +49 721 608 25737
Fax: +49 721 608 22602
Group website: https://www.iai.kit.edu/english/ESM.php
Personal website: https://nworbmot.org/

Visitor Address:
Office 309
Campus North Building 445
Hermann-von-Helmholtz-Platz 1
76344 Eggenstein-Leopoldshafen

barry.m...@dcu.ie

unread,
Mar 2, 2021, 6:30:51 AM3/2/21
to pypsa
Hi Tom -

Thanks for the quick reply, and reassurance. So in retrospect, I think what I should have been worrying about might have been the other (dormant) bus that shows all-zero shadow prices rather than not. But I did explore that case a bit more, and adding even an "infinitesimal" load to be served via that bus flipped it into showing more-or-less reasonable shadow prices. So I think it was just an edge case where the bus constraint itself was not quite binding in the particular case (or for the particular solution?), but in all cases of actual interest this (non-binding bus constraint) would not arise. But anyway, was good to try to tease it out just in case I was missing something more significant.

Kind regards - Barry
Reply all
Reply to author
Forward
0 new messages