Skip to content

Negative EAC leads to over-investment #319

@tsmbland

Description

@tsmbland

Discussed in #316

Originally posted by tsmbland May 29, 2024
I've been looking into the EAC objective as it's relevant for one of the tutorials, and I've been getting some strange behaviour. Not sure if this counts as a bug per se, which is why I bring it up here rather than creating an issue, but I think it's worth flagging anyway.

Just taking a very simple example, here's what happens if I take the default model and switch the single agent objective from LCOE to EAC:

lcoe
eac

The black dashed line is the capacity that the system needs to satisfy heating demand in the peak timeslice. In the LCOE case, installed capacity nicely matches this line. However, in the EAC case the agent ends up massively overinvesting in heat technologies above what is needed to satisfy demand. The capacity seems to reach the limits imposed in technodata file (MaxCapacityAddition, MaxCapacityGrowth, TotalCapacityLimit). If you increase (e.g. double) these limits then you can get even more extreme behaviour:

eac-capacity-limits-2x

I think this may have something to do with the fact that EAC is negative for the heating technologies (gasbioler and heatpump):

eac-costs

This is because EAC subtracts an (upper-bound) estimate of revenue, which in this case is very high due to the high initial cost of heat (100 $MUS). You then end up with the situation where the best way to 'minimise costs' in the investment algorithm is to invest as much as possible in technolgies with negative EAC. Mathematically this makes sense, but logically it's a bit nonsensical to invest in all this extra capacity which will just be sitting idle.

Part of the problem may lie in the EAC calculation, which seems to assume that technologies will be running at full capacity, which can give an inflated estimate for the revenue. In any case, as long as the EAC is negative it seems like you're bound to get this kind of behaviour where the agent invests as much as it possibly can, which doesn't seem realistic to me.

Not sure whether this is something worth thinking more about, or just something that users need to be aware of when using the EAC objective (or any other objective that can be negative). Perhaps this is something MUSE2 already plans to address?

Anyway, if anyone has any thoughts about this I'd be very interested to hear.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Type

    No type

    Projects

    Status

    ✅ Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions