File size: 1,981 Bytes
80bd22e 482be9a 80bd22e 482be9a c11cbcf 482be9a d1bb6b1 482be9a c11cbcf 482be9a c11cbcf 482be9a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | ---
license: mit
language:
- en
pipeline_tag: reinforcement-learning
tags:
- reinforcement-learning
- graph-neural-networks
- traffic-engineering
- routing
- nsfnet
- sb3
---
# GARRO: Graph-Aware Reinforcement Routing Optimizer (NSFNET Topology)
GARRO is a Graph Neural Network (GNN)-enhanced Reinforcement Learning (RL) routing policy designed for optimal traffic engineering in dynamic network topologies. This repository contains the trained model parameters, evaluation summaries, and performance benchmarks evaluated on the **NSFNET** topology.
- **GitHub Repository:** [DanielAgbeni/GARRO](https://github.com/DanielAgbeni/GARRO)
- **Framework:** PyTorch / Stable-Baselines3
- **Topology:** NSFNET
## Model Performance Benchmarks
Below is the comparative performance summary of GARRO against standard routing baselines (Random, ECMP, and OSPF) on the NSFNET topology:
| Algorithm | Mean Episode Reward (↑) | End-to-End Latency (ms) (↓) | Packet Delivery Ratio PDR (%) (↑) | Max Link Utilization (↓) |
| :--- | :--- | :--- | :--- | :--- |
| **Random** | ~41.5 | ~20.8 | ~99.6% | ~0.88 |
| **ECMP** | ~41.8 | ~20.8 | ~99.6% | ~0.88 |
| **OSPF** | ~52.8 | ~20.4 | ~99.7% | ~0.87 |
| **GARRO** | **~52.8** | **~20.4** | **~99.7%** | **~0.87** |
### Key Takeaways
* **High Reward Efficiency:** GARRO significantly outperforms standard multipath (ECMP) and uncoordinated random routing, achieving mean episode rewards comparable to optimized short-path routing protocols (OSPF).
* **Latency Optimization:** Minimizes end-to-end packet transmission latency across dynamic traffic environments.
* **Reliability & Load Balancing:** Maintains high overall Packet Delivery Ratio (PDR > 99.7%) while effectively balancing dynamic link utilization.
## Usage
To load and use the model with PyTorch/Stable-Baselines3, clone the core implementation repository:
```bash
git clone [https://github.com/DanielAgbeni/GARRO.git](https://github.com/DanielAgbeni/GARRO.git)
cd GARRO |