Optimizing Federated Learning for Resource-Constrained Edge Devices in Smart Grids - Master's Thesis Research (ULK Rwanda)
# Optimizing Federated Learning for Resource-Constrained Edge Devices in Smart Grids
## A Case Study in Somalia
**Thesis:** Optimizing Federated Learning for Resource-Constrained Edge Devices in Smart Grids
**Author:** Mohamoud Abukar | Reg No: 202413001
**Supervisor:** Dr. KAMUHANDA Danny
**University:** Kigali Independent University (ULK) | MSc Internet Systems | 2024-2025
---
## Project Structure
```text
federated-learning-smart-grid/
├── data/
│ ├── raw/ ← Place UCI dataset here
│ ├── processed/ ← Cleaned hourly data
│ └── splits/ ← Per-client numpy arrays
├── src/
│ ├── models/
│ │ └── lstm_model.py ← LSTM + INT8 quantization
│ ├── preprocessing/
│ │ └── data_loader.py ← UCI loading, windowing, normalization
│ ├── client/
│ │ └── fl_client.py ← Flower client + Top-K compression
│ ├── server/
│ │ └── fl_server.py ← Flower server + FedAvg
│ └── evaluation/
│ └── metrics.py ← RMSE, MAE, memory, communication metrics
├── experiments/
│ ├── results/ ← JSON result files
│ └── logs/ ← Per-round training logs
├── DEVICE_SETUP.md ← Hardware setup guide (Pi 4 emulated on laptop, Raspberry Pi Zero 2 W, ESP32)
├── main.py ← Entry point for all modes
├── requirements.txt
└── README.md
```
---
## Three Optimizations
| Optimization | Technique | Target Reduction |
| ------------- | -------------------------- | --------------------- |
| Memory | INT8 Quantization | ~50% RAM reduction |
| Communication | Top-K Compression (k=0.1) | ~60% bandwidth saving |
| Training Time | Adaptive Local Epochs | ~40% time reduction |
---
## Physical Setup (No Router Needed)
The Raspberry Pi 4 client runs on the laptop/host machine using the `pi4` device profile — it is not run on physical Pi 4 hardware. Physical hardware validation is performed on the Raspberry Pi Zero 2 W and …