This project explores the application of deep learning techniques, specifically Variational Graph Autoencoders (VGAEs), to generate realistic synthetic power distribution networks. These synthetic networks serve as benchmarks for power system analysis, planning, and optimization studies when actual grid data is limited or unavailable due to confidentiality concerns. The framework supports various decoder architectures, including standard MLPs, Graph Convolutional Networks (GCNs), and an innovative Iterative GCN approach for improved graph generation.
- Clone the repository:
- Create and activate the Conda environment:
conda env create --name GridGEN --file GridGEN.yml conda activate GridGEN - Install additional dependencies with pip:
pip install -r requirements.txt
Now your environment is ready to use the Synthetic Grid Generation framework.
The system is designed with a modular, plug-and-play architecture:
- Configure Parameters: Modify the
config.jsonfile to set your desired model parameters - Train Your Model: Run
train_model.pyto train with your configuration - Access Saved Models: Trained models are automatically saved to the
modelsdirectory - Evaluate Results: Use
test_model.pywith the path to your trained model / generate synthetic grids
⚠️ Important: When evaluating a model, ensure your configuration settings match those used during training. Configuration mismatches will prevent the model from loading correctly.
- Download the dataset from Zenodo
- Extract the
grids.zipfolder - Place the extracted contents in a folder named
grids_data_v03 - Run
prepare_data.pyto convert the data to PyTorch Geometric format
- Ensure the GraphPF dataset is located in the
graphpf_datafolder