For scale: the observable universe contains about 1082 atoms. That is the size of the decision space a real grid presents — and the reason conventional tools stop at the few actions a human can enumerate. This page explains the stack that searches the rest.
Every recommendation FLEX makes is computed against a full AC-formulation model of your network — not a DC approximation, not a statistical surrogate. The twin ingests your grid model through open interchange formats and stays synchronised with your GIS and planning tools, so the grid the agent optimises is the grid you actually operate, down to circuit-breaker level. Multi-period planning under uncertainty is native: the twin doesn't evaluate a snapshot, it evaluates trajectories — what this switching sequence does at 18:00, and at 18:15, and when the wind forecast is wrong.
It's the first question every DSO engineering team asks, and it deserves a plain answer. Classical optimisation is excellent when the problem is convex, continuous and small enough to enumerate. Grid topology is none of those: switching decisions are discrete, the AC physics are non-linear, and the action space grows combinatorially with every sectioning point. Mixed-integer formulations exist — and hit a wall at realistic grid sizes and planning horizons.
Reinforcement learning changes where the computation happens. The expensive part — learning which regions of the action space contain good answers — happens once, in training against the twin. At decision time, the agent proposes candidates in seconds, each one validated by exact power-flow physics before a human ever sees it. The solver mindset asks "prove this is optimal"; the operational mindset asks "give me three actions that safely relieve this line in the next quarter hour." RL, wrapped in physics validation and tree search, answers the second question at a scale nothing else currently does. That combination — not RL alone — is the method behind our L2RPN win and the TenneT results.
Operators see what the agent proposes, why, and with what margin — and nothing executes without them.
The core of our optimization engine. Similar to how AlphaGo and AlphaZero mastered complex strategic games, our RL agents learn optimal grid control strategies through interaction with high-fidelity power system simulations — handling exponential search spaces that defeat traditional optimization, with proven success in international research competitions (L2RPN).
GNNs naturally represent power grid topology, capturing the relationships between buses, lines and transformers for superior state estimation and prediction — scalable to networks of any size, with enhanced observability in sparsely monitored networks.
PINN architectures embed power-flow equations directly into neural networks, ensuring physically consistent predictions while learning from operational data — ideal for state estimation and load forecasting.
Our solutions integrate with existing SCADA/ADMS systems from leading vendors including Schneider Electric, Hitachi, Siemens and GE Vernova, and with planning tools such as DIgSILENT and PSS®SINCAL. Flexible deployment options support cloud, on-premise or hybrid architectures.
The RL core of FLEX is Maze, the application-oriented deep reinforcement-learning framework we developed and open-sourced. It covers the complete development life cycle of an RL application — simulation engineering, environment and perception design, training and imitation, evaluation, rollouts and deployment, logging and KPIs — and it is explicitly the engine, not the product. We open-sourced it because infrastructure operators should be able to read the code their recommendations rest on, and because the research community keeps it honest. Maze took first place in the international L2RPN grid-control competition in 2022; the same stack carried the TenneT day-ahead topology work and the Enel voltage-management results.
Python 3.9–3.10, PyTorch, Hydra. Free for research and non-commercial use; commercial licences through EnliteAI. Training scales out with Ray and Kubernetes; the Docker playground image (enliteai/maze:playground) gets you a running notebook in one command.
Design and visualise policy and value networks from PyTorch building blocks: dense, convolution, graph convolution and attention, recurrent architectures, action and observation masking, self-attention.
Flat, multi-step, multi-agent and hierarchical environment structures that reflect real-world decision processes — alongside full compatibility with existing Gym environments.
A2C, PPO, IMPALA, SAC, behavioural cloning and evolution strategies, all supporting dictionary action and observation spaces and multi-step, auto-regressive policies. Or combine Maze with the RL framework you already use.
Imitation learning from teacher policies and policy fine-tuning out of the box — the workflows that turn an expert’s heuristics into a starting point instead of a competitor.
Best practices such as observation pre-processing and normalisation are built in, so the conditions for stable RL training don’t have to be rewritten for every project.
Even complex application and experiment configurations stay manageable with Hydra; an event system with KPI logging, TensorBoard and console output keeps every run explainable.
The open-source RL framework: environments, perception, trainers, rollouts, configuration and logging. Anyone can read it, run it and extend it.
Specialises Maze for power grids: physics-accurate simulation in the loop, N-1 security and regulatory constraints as hard boundaries, grid-specific action spaces such as switching and flexibility activation.
The digital twin, the operator workflow and the modules — dynamic operating envelopes, flexible asset management, grid state estimation, congestion management — delivered on top of your existing GIS, SCADA and planning stack.
The interactive demo shows how constraints are protected during optimization. The proof of concept runs the same stack on your own grid.