-
Notifications
You must be signed in to change notification settings - Fork 0
Graph Builder Service Overview
jloh02 edited this page Aug 28, 2021
·
11 revisions
The graph was created for timing efficiency. Since the complexity of Dijkstra is V + E log V, it makes sense to reduce the number of edges.
Initially, the intended graph was to connect each node to all nodes on the service in order to increase pruning of edges.

However, this led to greater code execution times as the exponentially increased number of edges could not justify the increased rate of pruning.

Note: All distances used are in km, while timings are in minutes. As such, speeds are in km/min
The application.yml config file stores hard coded values. This includes: default speed/stop times and exceptions to linear edge creation in Train Graph Building.
- Public transit speed and stop timing calibration
- Bus & Train graph building (Concurrent)
- Forming edges between bus stops and train stations (Interchanges)
- Uploading DB to GCP Cloud Storage