TIPE — Patrol allocation simulation
Modelling an urban road network in Python and comparing two patrol allocation strategies through simulated intervention distances.
From a road network to a simulation model
At a glance
- Individual Python project: compare two patrol allocation strategies.
- Road-network graphs, K-means neighbourhoods and Dijkstra routes.
- About 6% lower mean distance in the supplied simulation comparison.
Read the technical details
Objective
Study how patrol locations affect the distance required to reach an intervention point in a city. New York provided the initial case study; development tests were also carried out on the road network of Chartres.
My role
I carried out this project individually, from defining the problem to analysing the simulations. I built a Python model using libraries for road-network analysis, clustering and route calculation.
Method & key decisions
I represented intersections as graph nodes and street segments as edges, using OSMnx to work with the road network and K-means to define neighbourhoods. I compared a zone-coverage approach with a model based on interaction forces between patrols. Routes to intervention points were calculated on the network using Dijkstra’s algorithm.
Outcome & lessons
The supplied comparison gives mean distances of approximately 2,424 m for the coverage model and 2,278 m for the interaction model: a difference of approximately 147 m, or 6%. These figures compare simulated distances under the model’s assumptions; they do not establish a reduction in real response times. The project developed my skills in modelling, Python programming and method comparison, while highlighting the importance of assumptions and computational cost.