-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #28 from naviqore/intro-rework
REF: Rewrite Introduction with more free text.
- Loading branch information
Showing
1 changed file
with
64 additions
and
89 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,97 +1,72 @@ | ||
# Introduction | ||
|
||
Public transportation systems play a crucial role in urban mobility, connecting millions of people daily. Efficient | ||
routing algorithms are essential for optimizing transit journeys, minimizing travel time, and enhancing user experience. | ||
In this Master thesis, we delve into the challenges of public transit routing and explore innovative approaches to | ||
address them. | ||
|
||
**Authors**: Michael Brunner, Lukas Connolly, Merlin Unterfinger | ||
Public transportation systems are integral to urban mobility, facilitating the movement of millions of passengers daily. | ||
The efficiency of these systems relies heavily on robust routing algorithms that optimize travel routes, minimize travel | ||
times, and enhance the overall user experience. This thesis investigates the challenges associated with public transit | ||
routing and explores innovative approaches to address these challenges. | ||
|
||
## Motivation | ||
|
||
The motivation behind our thesis lies in addressing several key challenges: | ||
|
||
1. **Open Data**: In recent years, a growing number of public transit agencies have started to publish their schedules | ||
in the open standard GTFS (General Transit Feed Specification) as open data [3, 6]. Maintaining a public transit | ||
schedule is a resource-intensive task, making it previously inaccessible for small companies or private individuals | ||
to access or generate such datasets. Working with these large and complex datasets poses interesting challenges | ||
concerning efficient data structures and processing approaches. | ||
|
||
2. **Complexity**: Routing in public transit systems is inherently complex due to the time-dependent nature of the | ||
network. The schedules of public transit services are not static; they vary based on time of day, day of the week, | ||
and other factors. This time-dependency adds a layer of complexity to the routing process, making it a challenging | ||
problem to solve efficiently. | ||
|
||
3. **Performance**: Traditional graph-based transit routing algorithms often struggle with large-scale networks, | ||
resulting in time-consuming requests. The RAPTOR (Round-based Public Transit Routing) algorithm, known for its speed | ||
and accuracy, offers a promising solution [4]. | ||
|
||
Implementing a public transit service integrates various aspects of the MAS Software Engineering curriculum, including | ||
architecture and design, algorithms and data structures, project automation, communication in distributed systems, | ||
testing, and containerized deployment. Working in a team with an agile, iterative setup provides an exciting opportunity | ||
to address these challenges effectively and learn from mistakes during the software development process. | ||
|
||
## Approach | ||
|
||
Our approach involves the following key components: | ||
|
||
1. **GTFS**: We use public transit schedules in the General Transit Feed Specification (GTFS) format as data | ||
source. GTFS provides a standardized format for transit schedules, including static information (such as stop times, | ||
routes, and trips) and eventually real-time updates. | ||
|
||
2. **RAPTOR Algorithm**: The RAPTOR algorithm, based on time-expanded networks, efficiently computes transit routes by | ||
considering time-dependent constraints. | ||
|
||
3. **Public Transit Service**: This integration layer adds abstraction between the publicly visible interface and the | ||
core components, such as the routing algorithm and schedule data source. This will allow for exchanging those | ||
components without interfering with any outside dependencies on the service. | ||
|
||
4. **Web Application**: Around the core routing functionality, we develop a simple web application. The frontend will | ||
allow users to explore schedules, query connections, and assess accessibility. The backend continuously updates the | ||
static schedule. | ||
This thesis is driven by several key challenges in public transit routing. In recent years, many public transit agencies | ||
have begun publishing their schedules using the General Transit Feed Specification (GTFS) format as open data [3]. | ||
Maintaining accurate public transit schedules is a resource-intensive task. The volume and complexity of | ||
GTFS data present significant challenges for developing efficient data structures and processing methodologies. | ||
|
||
Public transit routing is inherently complex due to the time-dependent nature of transit networks. Transit schedules | ||
vary based on the time of day, day of the week, and service exceptions for specific dates, adding a layer of complexity | ||
to the routing process. Developing efficient algorithms that account for this time-dependency remains a challenging task | ||
in transportation research. Traditional graph-based routing algorithms often face performance issues when dealing with | ||
large-scale transit networks, leading to very large graph structures and computational cost in preparing such graphs. | ||
The RAPTOR (**R**ound-b**A**sed **P**ublic **T**ransit **O**ptimized **R**outer) algorithm, recognized for its speed and | ||
accuracy, offers a promising solution to these performance limitations [4] as it can operate directly on the schedule | ||
information and requires little pre-processing. | ||
|
||
Developing a public transit routing system was found to be an optimal challenge as it integrates various aspects of the | ||
Master of Advanced Studies in Software Engineering curriculum, including software architecture, algorithms and data | ||
structures, automation, distributed systems communication, testing, and containerized deployment. This project adopts an | ||
agile, iterative development methodology, providing an opportunity to address complex challenges while gaining practical | ||
experience in software engineering. | ||
|
||
## Research Questions | ||
|
||
Our research aims to address the following questions: | ||
|
||
1. How can we implement the RAPTOR algorithm and validate it on the Swiss transit network? | ||
2. Can we optimize the algorithm in C++ to handle large-scale networks efficiently? | ||
3. What interface features are essential for both technical users and everyday commuters? | ||
|
||
## Expected Outcomes | ||
|
||
By the end of this thesis, we anticipate achieving the following outcomes: | ||
|
||
1. A memory-efficient reader and handling library for GTFS schedules. | ||
2. A performant public transit router package based on the RAPTOR algorithm. | ||
3. An integrating public transit service with REST API. | ||
4. A user-friendly web application that empowers users to explore transit schedules, plan routes, and assess travel | ||
time-based accessibility. | ||
|
||
The components will be made available under a permissive or copyleft open-source license. | ||
|
||
## Initial Situation | ||
|
||
The existing literature highlights several complexities associated with transit routing: | ||
|
||
1. **Network Complexity**: Public transit networks are intricate, with multiple routes, stops, footpaths and | ||
interconnections. Finding optimal paths requires considering various factors such as transfer times, dwell times, and | ||
service frequencies. | ||
|
||
2. **Real-Time Constraints**: Passengers expect real-time information on transit availability and delays. Incorporating | ||
live data into routing algorithms is essential for accurate predictions. | ||
|
||
3. **Scalability**: As cities grow, transit networks expand, leading to scalability challenges. Traditional algorithms | ||
struggle to handle large-scale networks efficiently. | ||
|
||
## Round-Based Approach | ||
|
||
Our research builds upon the work presented in the "Round-Based Public Transit Routing" paper by | ||
Microsoft. This paper introduces a novel approach that organizes transit routes into rounds, simplifying the routing | ||
process. Each round represents a set of interconnected trips, allowing for efficient traversal through the network. | ||
|
||
## Delimitation | ||
|
||
We are not creating a commercial product and are independent of any company interests. This work is conducted as part | ||
of the Master of Advanced Studies program in Software Engineering at the Eastern Switzerland University of Applied | ||
Sciences (OST). | ||
The primary research question addressed by this thesis is how the RAPTOR algorithm can be implemented and validated | ||
within the context of the Swiss public transit network. This question is particularly relevant given the complexity and | ||
scale of the network, which poses significant challenges for routing algorithms. A related research question focuses on | ||
the optimization of the RAPTOR algorithm in Java and C++ and comparing the performance of both programming environments | ||
for such a task. | ||
|
||
These research questions are framed within the context of the current state of public transit networks. The complexity | ||
of these networks, which involve multiple routes, stops, footpaths, and transfer points, necessitates the development of | ||
routing algorithms that account for factors such as transfer times, service frequencies, and real-time constraints. The | ||
research seeks to address these challenges. | ||
|
||
## Approach and Expected Outcomes | ||
|
||
To address the identified challenges, a comprehensive approach was defined, beginning with the utilization of GTFS | ||
data [3] as the foundation for the transit routing system. A memory-efficient library for reading and processing | ||
GTFS schedules will be developed to enable scalable management of large datasets, ensuring the system can handle | ||
large-scale transit networks effectively. | ||
|
||
One of the core aspects of this thesis is the implementation of the RAPTOR algorithm [4], which is | ||
designed to efficiently compute transit routes by considering time dependencies such as schedules and transfer windows. | ||
The RAPTOR algorithm employs a round-based approach, where transit routes are organized into discrete rounds, each | ||
representing the number of trips needed. This structure simplifies the traversal of the network by enabling the | ||
algorithm to explore transit options in rounds and return pareto-optimal solutions, minimizing both arrival time and the | ||
number of transfers. | ||
|
||
The system will be complemented with an integration layer that manages both the routing algorithm and the schedule, | ||
while handling all necessary conversions between the two. This design maintains the independence of the schedule and the | ||
routing algorithm, enabling a modular architecture. The modularity allows for system components to be modified or | ||
replaced without affecting external dependencies, ensuring the system's adaptability and long-term maintainability. | ||
|
||
To facilitate interaction with the system, a REST API will be developed, allowing external applications to access the | ||
routing and scheduling services. This API will provide the foundation for seamless integration between the routing | ||
algorithm and external systems. As a proof of concept, a simple web application will be created to visualize search | ||
results and demonstrate the capabilities of the backend service. While the web application will serve as a proof of | ||
concept, the primary focus of this thesis remains on developing the backend service. | ||
|
||
## Scope and Delimitation | ||
|
||
This thesis is part of the Master of Advanced Studies in Software Engineering at the Eastern Switzerland University of | ||
Applied Sciences (OST). It focuses on applying the knowledge gained from the program to further advance methodologies in | ||
public transit routing, with no external company interests influencing the scope or outcomes of this research. |