Who picks up whom, on Manhattan's streets
hermod is a ride-dispatch engine in Go. It finds the drivers nearest a rider on an OpenStreetMap road graph of Manhattan, times them by road, and matches riders to drivers one at a time or in batches with the Hungarian algorithm. It replays real 2010 New York taxi demand through a seeded simulator, runs live behind an HTTP API under load, and checks every run's event log against its invariants: no driver holds two riders, and every request ends exactly once.
ReplayTen minutes of a 2010 rush hour with 2,000 drivers, matched greedy and in batches.ResultsWhat was measured, from the files that hold it, and under which limits.
The limits, first: there's no driver data, so the fleet is a model; the demand is from 2010, with static road speeds by the hour and no traffic; and every number comes from one laptop.