Topology Optimizer#
This package implements a topology optimizer for electrical transmission grids using a two-stage approach. It employs multi-objective optimization to determine substation reconfigurations that reduce line overloads and improve grid stability through reconfiguration of branches in a substation + opening a busbar coupler and branch disconnections.
Overview#
The topology optimizer consists of two main optimization stages working in a coordinated pipeline:
1. DC Stage (High-Performance Screening)#
The DC optimizer performs rapid exploration of the topology space using an accelerated DC loadflow solver with GPU support. It uses a discrete Map-Elites genetic algorithm to maintain a diverse repertoire of solutions across multiple objectives:
- Fitness metrics: Line overload energy, switching distance, number of split substations
- Search algorithm: Quality-diversity optimization maintaining solutions across descriptor dimensions
- Performance: GPU-accelerated computation using JAX for massive parallel evaluation
- Output: Pareto-optimal topologies sent to the AC stage for validation
Entry point: initialize_optimization
2. AC Stage (Validation and Refinement)#
The AC optimizer validates promising DC solutions using full AC loadflow calculations and applies further evolutionary refinements:
- Validation: Full AC power flow analysis with N-1 contingency checking. Use
optimization_loop - Evolution operators: Pull (from DC), reconnection, coupler closing: Use
evolution_try - Early stopping: Rejection based on worst-case overload comparison
- Selection strategy: Filtering method using median, dominator, and discriminator filters
Key Data Structures#
Topology Representation#
- Actions: List of substation switching indices from the
ActionSet - Disconnections: Branch outage specifications for N-1 analysis
- PST Setpoints: Phase-shifting transformer positions
- Metrics: Multi-objective fitness values and constraint violations
Strategy Collections#
- DC Repertoire: Map-Elites grid maintaining diversity across descriptor dimensions
- AC Database: SQLite storage for validated topologies with loadflow references
- Message Protocols: Standardized formats for inter-optimizer communication
Prerequisites#
The optimization process requires preprocessed grid data from the Importer package:
- Static Information: Grid electrical parameters and topology
- Action Set: Enumerated switching possibilities
- N-1 Definition: Contingency analysis specifications
Running an Optimization#
Method 1: Kafka-based Distributed Execution#
Method 2: Direct Python Integration#
Advanced Topics#
- AC Selection Strategy: Sophisticated filtering for AC candidate selection
- Early Stopping: Efficient topology rejection in N-1 analysis
- DC Solver Configuration: GPU optimization and batch processing parameters
- Interface Definitions: Data structure specifications and message protocols