Welcome to l2rpn-baselines’s documentation!
In this documentation we expose first what is this package about and how to contribute, and then which baselines are already implemented in this package.
Some RL implementation examples
Lots of reinforcement learning algorithms are already implemented by state of the art libraries heavily maintained and updated.
We highly recommend to use such packages if you would like to apply reinforcement learning to the power grid control problem.
Expert systems and optimizers
In this section, we grouped up some noticeable contributions for the powergrid control problem.
These solutions comes either from past top performers of the l2rpn competitions, or from custom implementation of some published research performing well in some environment.
Legacy implementations
Note
Most of the codes below are legacy code that will not be updated and contains (most likely) lots of bugs, inefficiencies and “not so great” code.
It’s totally fine to use them if you want to dive deep into implementation.
For most usage however, we strongly encourage you to check out the
l2rpn_baselines.PPO_SB3.PPO_SB3
or the
l2rpn_baselines.PPO_RLLIB.PPO_RLLIB
.
For more “in depth” look at what is possible to do, we also wrote some custom implementation of some reinforcement learning algorithms.
We do not necessarily recommend to have a deep look at these packages. However, you can check them out if you need some inspiration of what can be done by using grid2op more closely that through the gym interface.
- utils: Some utility functions and classes
- DeepQSimple: A simple implementation of the Deep Q Learning
- DoubleDuelingDQN: A example implementation of Double Duelling Deep Q Network
- DuelQSimple: Double Duelling Deep Q Learning
- DuelQLeapNet: D3QN with LeapNet
- DoubleDuelingRDQN: A example implementation of Recurrent DoubleQ Network
- LeapNetEncoded: D3QN on a state encoded by a leap net
- SAC: Soft Actor Critic