Skip to content

Graph Builder Service Overview

jloh02 edited this page Aug 28, 2021 · 11 revisions

Overview

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

Configuration File

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.

Process Description

Clone this wiki locally