A gymnasium-compatible framework to create reinforcement learning (RL) environment for solving the optimal power flow (OPF) problem. Contains five OPF benchmark environments for comparable research.
Both can be manually implemented, but quite complicated. Better would be a standard way to transform an OPF into these more advanced concepts.
Options:
Gymnasium wrapper: Non-obvious to implement, but probably the most modular way.
Subclass that inherits from the base class and overwrites step (for multi-stage) or calculate_violations (for security), respectively. Drawback: Too object-oriented. Especially multi-inheritance could become annoying if both need to be combined
Extend base class: Both are standard OPF variants. Maybe the best way is to implement them directly in the base class. Drawback: even bigger base class, which is not the goal, see #25.
Important to consider: While the security-constrained OPF is quite clear, there are some open design decisions in the multi-stage OPF. For example, should the agent be able to observe all steps from the beginning, including future steps, or only the current step? Ideally, the implemented option is customizable.
Both can be manually implemented, but quite complicated. Better would be a standard way to transform an OPF into these more advanced concepts.
Options:
Important to consider: While the security-constrained OPF is quite clear, there are some open design decisions in the multi-stage OPF. For example, should the agent be able to observe all steps from the beginning, including future steps, or only the current step? Ideally, the implemented option is customizable.