Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Allow loads / generators to be disconnected without a game over #623

Open
8 tasks
DEUCE1957 opened this issue Jul 3, 2024 · 1 comment
Open
8 tasks
Labels
enhancement New feature or request

Comments

@DEUCE1957
Copy link
Contributor

DEUCE1957 commented Jul 3, 2024

Feature Request

By default an episode in Grid2Op will terminate if one of the following conditions is met:

  1. The agent reaches the end of the scenario (no more data => scenario ends)
  2. A load or a generator (or a storage if the agent tells it to produce or absorbs something) is disconnected from the grid
  3. 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
  4. 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))
  5. 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
@DEUCE1957 DEUCE1957 added the enhancement New feature or request label Jul 3, 2024
@DEUCE1957
Copy link
Contributor Author

For now, as suggested by the BackEnd eerror when you try to disconnect a generator or a load, my workaround is to set the load and generation chronics to 0 in the episode.
Since the ramping rate will prevent this from being done via actions, it is safer and clearer to modify the chronics directly (on disk).
For lines we can use built-in maintenance to turn them off (and keep them off) TODO
For energy storage we can set_status = -1 without causing a game over.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

1 participant