|
Download README.md from SolarSys2025/SolarSys: direct link, hf CLI and curl.
- Browser
- Download file 5.6 kB
-
https://huggingface.co/SolarSys2025/SolarSys/resolve/main/README.md
- Command line
-
hf download hf://SolarSys2025/SolarSys/README.md
-
curl -L -o README.md https://huggingface.co/SolarSys2025/SolarSys/resolve/main/README.md
5.6 kB
| license: mit | |
| tags: | |
| - reinforcement-learning | |
| - multi-agent | |
| - time-series | |
| - diffusion-model | |
| - energy-management | |
| - smart-grid | |
| # SolarSys: Scalable Hierarchical Coordination for Distributed Solar Energy | |
| SolarSys is a novel **Hierarchical Multi-Agent Reinforcement Learning (HRL)** system designed to manage energy storage and peer-to-peer (P2P) trading across large communities of solar-equipped residences. This repository contains the full source code for the SolarSys system, including the trained policies, the custom Gym environment, and the hierarchical diffusion model used for data generation. | |
| --- | |
| ## System Architecture | |
| The core of SolarSys is a two-level decision hierarchy: | |
| 1. **Low-Level (Intra-Cluster):** Individual households use a **MAPPO** agent to make instantaneous decisions (charge, discharge, local P2P trade, grid trade) based on local meter readings and price signals. | |
| 2. **High-Level (Inter-Cluster):** Cluster Managers use a **Mean-Field** policy to coordinate bulk energy transfers between clusters, ensuring the overall system remains balanced against grid constraints. | |
|  | |
| --- | |
| ## Data Generation Framework | |
| To enable large-scale simulation with realistic temporal dynamics, SolarSys includes a **Hierarchical Diffusion Model** for generating synthetic, long-duration energy profiles that maintain both long-term (seasonal/monthly) and short-term (daily/hourly) characteristics. | |
| * **Model:** Hierarchical Diffusion U-Net | |
| * **Input:** Location based housing dataset(eg. Ausgrid dataset, newyork dataset) | |
| * **Output:** High-resolution time series for Grid Usage and Solar Generation (kWh). | |
|  | |
| To ensure all necessary libraries are available, install dependencies using the provided `requirements.txt` file: | |
| ```bash | |
| pip install -r requirements.txt | |
| --- | |
| ## Repository Structure | |
| The project is organized into core modules and data folders. | |
| ```tree | |
| SolarSys_Hugging_face/ | |
| βββ assets/ | |
| βββ requirements.txt # Project Dependencies | |
| βββ Dataset/ # Energy Data (Raw, Processed, and Synthetic) | |
| β βββ Data/ | |
| β β βββ Ausgrid_processed_data.zip # Processed data (Australia) | |
| β β βββ Ausgrid_raw_data/ | |
| β β βββ Pecan_street_processed_data.zip # Processed data (US) | |
| β βββ Generated_Data.zip # Example synthetic data (2000 agents) | |
| βββ Data_generation_tool_kit/ # Hierarchical Diffusion Model Code | |
| β βββ Hier_diffusion_energy/ | |
| β β βββ hierarchial_diffusion_model.py # H-Diffusion U-Net Architecture | |
| β β βββ global_scaler.gz # Global normalization scaler, please delete and rerun if had problem | |
| β βββ dataloader.py # | |
| β βββ train.py # Diffusion model training script | |
| β βββ generate.py # Script to generate long-term sequences | |
| βββ Models/ # Trained RL Policies for trial, please retrain your model for best results | |
| β βββ 100agents_10size/ | |
| β β βββ models/ | |
| β β βββ inter_ep10000.pth # High-Level (Inter-Cluster) policy | |
| β β βββ low_clusterX_ep10000.pth # Low-Level (Intra-Cluster) policies | |
| β βββ (Additional scaling folders) # e.g., 5agents_5size/, 1000agents_20size/, etc. | |
| βββ SolarSys/ # SolarSys Implementation (MAPPO + MeanField) | |
| β βββ Environment/ | |
| β β βββ cluster_env_wrapper.py # Vectorized environment wrapper | |
| β β βββ solar_sys_environment.py # Core Gym environment definition | |
| β βββ mappo/ # MAPPO policy definition (Intra-Cluster) | |
| β β βββ trainer/ | |
| β β βββ mappo.py # MAPPO algorithm | |
| β βββ meanfield/ # MeanField policy definition (Inter-Cluster) | |
| β β βββ trainer/ | |
| β β βββ meanfield.py # MeanField algorithm core | |
| β βββ cluster.py # Inter-Cluster Coordinator logic | |
| β βββ training_freezing.py # Main SolarSys HRL training script | |
| β βββ cluster_evaluation.py # Evaluation script for SolarSys | |
| βββ Other_algorithms/ # Baselines | |
| βββ HC_MAPPO/ # Hierarchical Cluster MAPPO | |
| β βββ Environment/ | |
| β βββ HC_MAPPO_train.py # Training script for HC-MAPPO | |
| β βββ HC_MAPPO_evaluation.py # Evaluation script for HC-MAPPO | |
| βββ Flat_System/ # Flat Baselines | |
| βββ maddpg/ # Multi-Agent DDPG | |
| β βββ maddpg_train.py | |
| β βββ maddpg_evaluation.py | |
| βββ mappo/ # Flat MAPPO | |
| β βββ mappo_train.py | |
| β βββ mappo_evaluation.py | |
| βββ meanfield/ # Flat MeanField Actor-Critic (MFAC) | |
| β βββ meanfield_train.py | |
| β βββ meanfield_evaluation.py | |
| βββ PG/ # Policy Gradient (PG) | |
| β βββ pg_train.py | |
| β βββ pg_evaluation.py | |
| βββ solar_sys_environment.py # Copy of the flat environment for baselines |