Update README.md
Browse files
README.md
CHANGED
|
@@ -1,15 +1,79 @@
|
|
| 1 |
---
|
| 2 |
license: mit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 3 |
---
|
| 4 |
-
# SolarSys:
|
| 5 |
|
| 6 |
-
|
| 7 |
|
| 8 |
-
This repository contains
|
| 9 |
-
1) Reinforcement Learning Models (MAPPO / MFAC / SolarSys)
|
| 10 |
-
2) Diffusion data generation models
|
| 11 |
-
3) Training & evaluation code
|
| 12 |
-
4) CSV datasets
|
| 13 |
-
5) SolarSys Environment code
|
| 14 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 15 |
|
|
|
|
| 1 |
---
|
| 2 |
license: mit
|
| 3 |
+
tags:
|
| 4 |
+
- reinforcement-learning
|
| 5 |
+
- multi-agent
|
| 6 |
+
- time-series
|
| 7 |
+
- diffusion-model
|
| 8 |
+
- energy-management
|
| 9 |
+
- smart-grid
|
| 10 |
---
|
| 11 |
+
# βοΈ SolarSys: Scalable Hierarchical Coordination for Distributed Solar Energy
|
| 12 |
|
| 13 |
+
[Source: The SolarSys paper (e.g., your PDF) is the primary source for all claims below.]
|
| 14 |
|
| 15 |
+
[cite_start]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[cite: 10]. 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 augmentation.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 16 |
|
| 17 |
+
---
|
| 18 |
+
|
| 19 |
+
## π Key Features and Performance
|
| 20 |
+
|
| 21 |
+
[cite_start]SolarSys addresses the scalability limitations of traditional Multi-Agent RL (MARL) methods (like MAPPO and MADDPG) in large Virtual Power Plants (VPPs)[cite: 9, 145].
|
| 22 |
+
|
| 23 |
+
| Metric | SolarSys Performance (1000 Agents) | Key Mechanism |
|
| 24 |
+
| :--- | :--- | :--- |
|
| 25 |
+
| **Grid Import Reduction** | [cite_start]$27.48 \pm 0.42\%$ [cite: 18] | [cite_start]Two-tier control scheme [cite: 12, 69] |
|
| 26 |
+
| **Daytime Solar Utilization** | [cite_start]$82.76 \pm 5.11\%$ [cite: 18] | [cite_start]Intra-cluster MAPPO optimization [cite: 13] |
|
| 27 |
+
| **Fairness (Jain's Index)** | [cite_start]0.773 [cite: 18] | [cite_start]Fairness term in reward function [cite: 391, 511] |
|
| 28 |
+
| **Scalability** | [cite_start]Stable convergence at 1000+ agents [cite: 504] | [cite_start]Mean-Field Coordination at the Inter-Cluster layer [cite: 14] |
|
| 29 |
+
|
| 30 |
+
---
|
| 31 |
+
|
| 32 |
+
## π§ System Architecture
|
| 33 |
+
|
| 34 |
+
The core of SolarSys is a two-level decision hierarchy:
|
| 35 |
+
|
| 36 |
+
1. [cite_start]**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[cite: 13, 313].
|
| 37 |
+
2. [cite_start]**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[cite: 14, 314].
|
| 38 |
+
|
| 39 |
+
|
| 40 |
+
|
| 41 |
+
---
|
| 42 |
+
|
| 43 |
+
## π Data Generation Framework
|
| 44 |
+
|
| 45 |
+
[cite_start]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[cite: 254, 255].
|
| 46 |
+
|
| 47 |
+
* [cite_start]**Model:** Hierarchical Diffusion U-Net [cite: 254, 255]
|
| 48 |
+
* [cite_start]**Input:** Household ID and Day-of-Year conditioning [cite: 256]
|
| 49 |
+
* **Output:** High-resolution time series for Grid Usage and Solar Generation (kWh).
|
| 50 |
+
|
| 51 |
+
|
| 52 |
+
|
| 53 |
+
---
|
| 54 |
+
|
| 55 |
+
## π Repository Structure
|
| 56 |
+
|
| 57 |
+
The project is organized into core modules and data folders.
|
| 58 |
+
|
| 59 |
+
```tree
|
| 60 |
+
SolarSys/
|
| 61 |
+
βββ data/
|
| 62 |
+
β βββ per_house/ # Raw CSVs for diffusion model training
|
| 63 |
+
β βββ training/ # Cleaned RL training datasets
|
| 64 |
+
β βββ testing/ # Cleaned RL evaluation datasets
|
| 65 |
+
βββ models/
|
| 66 |
+
β βββ diffusion_models/ # Trained Hierarchical Diffusion Model checkpoints
|
| 67 |
+
β βββ mappo_models/ # Trained MAPPO baselines and low-level agents
|
| 68 |
+
β βββ inter_agent_models/ # Trained MeanField high-level coordinator
|
| 69 |
+
βββ Environment/
|
| 70 |
+
β βββ __init__.py
|
| 71 |
+
β βββ solar_sys_environment.py # Custom Gym environment for flat RL
|
| 72 |
+
βββ cluster/
|
| 73 |
+
β βββ __init__.py
|
| 74 |
+
β βββ inter_cluster_coordinator.py # Logic for high-level trade matching
|
| 75 |
+
βββ trainers/
|
| 76 |
+
βββ __init__.py
|
| 77 |
+
βββ hierarchical_train.py # Main SolarSys HRL training script
|
| 78 |
+
βββ evaluation_scripts/ # Scripts for baselines (PG, MADDPG, MAPPO, MFAC)
|
| 79 |
|