Prioritizing riders in unsafe zones on a shared-ride shuttle while keeping total wait time minimal.
Background
Final project for Transportation & Supply Chain Analytics. Columbia's evening shuttle, operated by Via, is a shared-ride service where vehicles pick up and drop off multiple passengers per trip. Our team set out to improve rider safety by dividing the service area into zones with a safety index derived from NYPD crime data, moving requests from unsafe zones (and smaller parties within them) to the front of the queue, and still routing each vehicle to minimize total wait time.
My role
Implemented the dispatch and routing algorithms in Python: a safety-prioritized request queue, a pickup-and-delivery traveling salesman formulation with the zone safety index as a constraint, and Dijkstra's algorithm for point-to-point shortest paths.
Built the evaluation simulation on 247K historical rides across a 787-node street network, using K-means clustering of crime data to define safety zones.
Deliverable
Slide deck (PDF)
The slide deck opens best in your device's PDF viewer.
Results
In simulation against historical operations, the model cut wait times in unsafe zones by 17.9% and raised their service rate by 14.9 percentage points.
Presented the project to the professor, classmates, and managers from Columbia Transportation and Via.