# Rwanda Textbook Distribution RL System
## Project Overview
This project implements a reinforcement learning system to optimize textbook distribution decisions in Rwanda's education system. The system simulates a smart decision-making agent that evaluates school conditions and determines the most effective textbook delivery actions to maximize learning outcomes while minimizing waste.
### Problem Context
Based on Rwanda's Foundational Learning Strategy (FLS), many schools face challenges in textbook access due to:
- Insufficient textbook-to-student ratios
- Poor coordination between government grants and actual needs
- Mismatched textbook quality and curriculum requirements
- Inefficient delivery logistics between rural and urban schools
### Solution Approach
The RL agent operates within a custom Gymnasium environment where:
- **States**: School characteristics (student count, available textbooks, teacher guides, grant usage, urgency level, location type, infrastructure, quality scores, delivery history)
- **Actions**: Delivery decisions (send textbooks, hold delivery, reassign batch, send guides, send limited supply, flag for follow-up)
- **Rewards**: Based on improved textbook-to-student ratios, appropriate material matching, effective usage, and addressing high-urgency situations
## Installation and Setup
```bash
# Clone the repository
git clone
cd rwanda-textbook-rl
# Install dependencies
pip install -r requirements.txt
# Run experiments
python main.py --algorithm dqn --experiment 1
python main.py --list-experiments # See all available experiments
```
## Usage
### Running Individual Experiments
```bash
# DQN experiments (1-4 available)
python main.py --algorithm dqn --experiment 1
# PPO experiments (1-3 available)
python main.py --algorithm ppo --experiment 2
# REINFORCE experiments (1-3 available)
python main.py --algorithm reinforce --experiment 1
# Actor-Critic experiments (1-3 available)
python main.py --algorithm actor_critic --experiment …