-
Notifications
You must be signed in to change notification settings - Fork 29
Description
In cases where the market clears multiple timesteps at the same time (e.g. duration=1h, count=24) AND agents have constraints that span multiple timesteps (e.g. ramping, SoC, min_up and min_down_time), the clearing might yield results, that are not feasible from the units perspective. This is because to account for these, we need the deterministic state/dispatch of a unit. But this state/dispatch might be unknown at the time of bidding to the market.
Simple illustrative example: A losless storage bids volumes [-1000, -1000, 0, 1000, 1000] at prices [20, 30, 0, 40, 40], so it wants to charge first and then dispatch later. It might happen that the first 2 bids are not accepted but the last are accepted. We then create energy from nothing. The dispatch plan is currently not adjusted in the units logic.
Potential solutions to discuss:
- only allow linked bids including these intertemporal dependencies when having a market with count > 1
- in the units dispatch plan: Adjust accordingly and do not deliver the energy if it is not there. But then the whole clearing is wrong. Demand might not be met.
- introduce a market with count=1, opening frequency=1h, duration=1h (IDA market) where units can readjust in both directions
Immediate steps:
- Adjust documentation
- Warn users when markets with count > 1 are initialized