Grid2Op
Grid2Op copied to clipboard
Allow loads / generators to be disconnected without a game over
Feature Request
By default an episode in Grid2Op will terminate if one of the following conditions is met:
- The agent reaches the end of the scenario (no more data => scenario ends)
- A load or a generator (or a storage if the agent tells it to produce or absorbs something) is disconnected from the grid
- The grid is not "connected", it is split in two. This includes the fact that a load or a generator is alone on a busbar, for example
- The re-dispatching routine "diverges": this means that grid2op is not able to find a setpoint for the generators for which the 'pmin', 'pmax' and ramping constraints are satisfied to satisfy the balance between demand and generation (sum of loads = sum of generation (plus storage and losses))
- The solver "diverges" and is not able to compute the next state (often meaning there are no feasible solutions to the Kirchhoff's laws)
In order to explore options like load shedding and generation shedding, it should be possible to loosen condition (2). Implementing this may also make it possible to perform demand side management.
ToDo List
- [ ] Modify redispatching routine to take load/generation shedding into account
- [ ] Modify action class to add a new type of action
- [ ] Modify observation class so that the agent is aware when load / generation is disconnected
- [ ] Modify the "next_grid_state" function (or a similar name) so that it takes that into account
- [ ] Modify PandaPower backend and lightsim2grid backend so that they keep going if a load / generator is disconnected
- [ ] Update documentation in modified code
- [ ] Add unit tests to confirm sound behaviour
- [ ] Update BackEnd Error to no longer suggest setting production to 0 instead of disconnecting a generator