🚌 Operations Analytics – Optimizing Bus Scheduling

This project focuses on optimizing urban bus assignments for the Anbessa City Bus Service Enterprise in Addis Ababa, Ethiopia. The company operates 690 buses over 110 routes, serving around 640,000 passengers daily.
🔍 Problem Definition
The current fixed scheduling model causes overcrowding during peak hours and underutilization in off-peak hours. The objective was to optimize bus scheduling across four time shifts to match fluctuating demand.
- Morning Peak (6:15–9:30, 40%)
- First Off-Peak (9:30–15:30, 20%)
- Evening Peak (15:30–19:30, 35%)
- Second Off-Peak (19:30–21:00, 5%)
📈 Modeling Approach
We implemented a Linear Programming (LP) model using Python to optimize bus allocation. An extended model introduced capacity constraints, bus types, and passenger waiting time to reflect operational complexity.

📊 Key Outcomes
- 🚌 13.74% cost savings (151,292.19 ETB/day)
- 📉 Overcrowding reduced from 116.1% to 89.8%
- 🌱 10.13% distance reduction → improved sustainability
- ⏱ Average waiting time kept at 15 mins per shift
We also produced visualizations such as bar charts, heatmaps, and stacked graphs to support decision-making.