Benchmarks¶
This page lists all available RL-OPF benchmarks of OPF-Gym.
Ideally, the benchmarks should be loaded and used for benchmarking of new RL-OPF algorithms without changing the underlying OPF problem formulation. This way, comparability of research results across multiple publications is ensured.
The following table provides an overview of the benchmark environments, including the utilized SimBench benchmark system, the number of buses, number of observations, number of actions, and the implemented actuator units, with information whether active (P) or reactive power (Q) is controlled:
Simbench System |
N Nodes |
N Obs |
N Action |
Actuators |
|
|---|---|---|---|---|---|
EcoDispatch |
1-HV-urban–0-sw |
372 |
201 |
42 |
Gens (P) |
VoltageControl |
1-MV-semiurb–1-sw |
122 |
442 |
14 |
Gens, Storage (Q) |
QMarket |
1-MV-rural–0-sw |
97 |
305 |
10 |
Gens (Q) |
LoadShedding |
1-MV-comm–2-sw |
111 |
386 |
16 |
Loads, Storages (P) |
MaxRenewables |
1-HV-mixed–1-sw |
355 |
172 |
18 |
Gens, Storages (P) |
The table demonstrates that all benchmark environments utilize average sized power systems, resulting in difficult but solvable RL problems. Further, it demonstrates a characteristic that is typical for RL-OPF problems, large action and observation spaces. Both spaces are significantly larger than for typical gymnasium environments. For example, compare with the commonly used MuJoCo environments that have only six actions on average.
The benchmark problems represent standard OPF problems with different objectives and actuators. Advanced OPF problems like multi-stage OPF or the security-constrained OPF are not considered (yet). However, they are possible in OPF-Gym by creating custom environments. See Create Custom Environments.
All environments share the same general constraints. They consider the voltage band constraints of all buses \(B\),
\(V_{\text{min}} \leq V_b \leq V_{\text{max}} \quad \forall \; b \in B\),
line overload constraints of all lines \(L\),
\(S_l \leq S_l^\text{max} \quad \forall \; l \; \in \; L\),
transformer overload constraints of all transformers \(T\),
\(S_t \leq S^\text{max} \quad \forall \; t \; \in \; T\),
and the maximum active/reactive power flows over the slack bus \(s\),
\(Q^\text{min} \leq Q_s \leq Q^\text{max}\)
\(P^\text{min} \leq P_s \leq P^\text{max}\).
Some constraints are more relevant than other for specific environments, which will be made explicit in the respective environment description below.
Additionally, the minimum/maximum power setpoints of the controllable units and the power balance equations are considered by-design, i.e., they cannot by violated.
Economic Dispatch¶
Use from opfgym.envs import EcoDispatch to import this environment.
The environment represents an economic dispatch problem. The goal is to
find the optimal active power generator setpoints of a given state that
minimize the generation costs while satisfying the slack power balance constraints.
\(\text{min} \; J = \sum_{a \in A} P_a \cdot p_a^P(s)\)
With its 42 actions, this is the most difficult-to-solve environment.
Voltage Control¶
Use from opfgym.envs import VoltageControl to import this environment.
It represents a voltage control problem. The goal is to find
the optimal reactive power setpoints of generators and a single storage system
to minimize the overall power losses while satisfying especially the voltage band
constraints.
\(\text{min} \; J = P_\text{loss}\)
Load Shedding¶
Use from opfgym.envs import LoadShedding to import this environment.
The environment represents a load shedding problem. The goal is to find the
least amount of load shedding that is required to satisfy all constraints.
All loads are assigned with different priorities, represented by their
respective load shedding prices. Further, the agent can utilize storage systems
to reduce the amount of load shedding required.
\(\text{min} \; J = \sum_{a \in A} P_a \cdot p_a^P(s)\)
Reactive Power Market¶
Use from opfgym.envs import QMarket to import this environment.
It represents a reactive power market problem, which is an
extension to the voltage control problem. The goal is again to find optimal
reactive power setpoints of generators that minimize the overall power losses.
Additionally, this time, the reactive power providers need to be paid. Therefore,
a trade-off needs to be found between minimizing power losses and minimizing
the reactive power costs.
\(\text{min} \; J = P_\text{loss} \cdot p_\text{loss}^P + \sum_{a \in A} Q_a \cdot p_a^Q(s)\)
Maximize Renewable Feed-In¶
Use from opfgym.envs import MaxRenewable to import this environment.
The environment represents a renewable feed-in maximization problem. The goal
is to find the optimal active power setpoints of generators
that maximizes the renewable feed-in while satisfying all constraints.
Additionally, storage systems can be utilized for constraint satisfaction but
are not part of the objective function.
\(\text{min} \; J = -\sum_{g \in G} P_g\)