Medical supply routing system for Nigeria using priority-weighted Dijkstra's algorithm
# 🏥 HealthRoute Africa
**Medical Supply Optimization System for CSC 401 (Algorithms & Complexity)**
A priority-weighted routing system that optimizes medical supply delivery to Nigerian clinics based on malaria prevalence and outbreak urgency.
---
## đź“‹ Project Overview
HealthRoute Africa implements a **Priority-Weighted Dijkstra's Algorithm** to route medical supplies from central hubs to remote clinics. Unlike standard routing that only considers distance, our system prioritizes high malaria-prevalence zones during outbreaks.
### Key Features
- âś… **Priority-Weighted Routing**: Custom weight formula balancing distance and medical urgency
- âś… **Three Routing Modes**: Point-to-Point, Optimal Tour, and Priority Tour
- âś… **Interactive Map**: Real geographic visualization using Folium and OpenStreetMap
- âś… **33 Nigerian Cities**: Comprehensive network covering major cities and towns
- âś… **Dynamic Urgency Control**: Adjustable outbreak severity slider (0.1x - 10x)
- âś… **Multi-City Tours**: Visit all cities with optimal or priority-based routing
- ✅ **Efficient Algorithms**: O((E+V) log V) for point-to-point, O(V²) for tours
---
## đź§® Algorithm Details
### Routing Modes
#### 1. Point-to-Point Routing
Uses **Priority-Weighted Dijkstra's Algorithm** to find optimal route between two cities.
**Weight Formula:**
```
W = Distance / (Prevalence Ă— Urgency)
```
**Where:**
- **Distance**: Road distance in kilometers
- **Prevalence**: Malaria prevalence rate (0.0 to 1.0)
- **Urgency**: Outbreak severity multiplier (0.1 to 10.0)
**Behavior:**
- Lower weight = Higher priority
- High prevalence → Lower weight (higher priority)
- High urgency → Lower weight (higher priority)
- Long distance → Higher weight (lower priority)
**Complexity**: O((E+V) log V)
#### 2. Optimal Tour Routing
Uses **Nearest Neighbor TSP Approximation** to visit all cities via shortest path.
**Algorithm:**
- Start from selected city
- Repeatedly visit nearest unvisited city (based on priority weight …