
FASTS: A Satisfaction-Boosting Bus Scheduling Assistant Songsong Mo1, Zhifeng Bao2, Baihua Zheng3, and Zhiyong Peng1∗ 1Wuhan University, 2RMIT University, 3Singapore Management University 1fsongsong945, [email protected], [email protected], [email protected] ABSTRACT assistant at present. Most existing studies on bus schedul- In this paper, we demonstrate a satisfaction-boosting bus ing problem share a common objective, which is to minimize scheduling assistant called FASTS, which assists users to the average travel cost (in terms of waiting time) of passen- find an optimal bus schedule. FASTS performs bus schedul- gers [4, 5]. As compared to simply minimizing the average ing based on the constraints specified by the user in either waiting time, we argue that it makes more sense in reality if a coarse-grained or a fine-grained manner, supports differ- a bus can serve a passenger within a waiting time threshold ent explorations with a varying number of constraints, and that she could accept. Many studies have confirmed that the provides analysis to quantify the performance of bus sched- user satisfaction drops faster as the waiting time increases [1, ules and presents the results in a visually pleasing way. We 3]. Motivated by this observation, we aim to schedule the demonstrate FASTS using real-world bus routes (396 routes) buses such that they could serve more passengers within a and one-week bus touch-on/touch-off records (28 million trip given waiting time threshold that users could accept, rather records) in Singapore. than simply minimizing the average waiting time. In this paper, we demonstrate a satisFAction-BooSTing PVLDB Reference Format: bus Scheduling assistant (FASTS). FASTS can automati- Songsong Mo, Zhifeng Bao, Baihua Zheng, Zhiyong Peng. FASTS: cally schedule bus departures within the constraints speci- A Satisfaction-Boosting Bus Scheduling Assistant. PVLDB, 13(12): fied by the user via its Coarse-grained Scheduling and sup- 2873-2876, 2020. DOI: https://doi.org/10.14778/3415478.3415497 port different explorations with a varying number of con- straints. The scheduling algorithms have been developed by our recent work [6]. It also provides users with fine-tuning 1. INTRODUCTION capabilities via Fine-grained Scheduling with User Interac- Public transport services such as buses are essential to our tion so that users could adjust the bus departures returned daily life. However, the cost of buses and the operating fee by Coarse-grained Scheduling, e.g., changing the departure are not cheap. Taking New York City as an example, the time of certain buses and adding (or removing) some bus cost of each bus is around $550,000 and the operating cost departures. Users also can specify regions, lines and stops of transit agencies reaches $215 per hour1. Assume we are for the task of bus scheduling in Fine-grained Scheduling able to re-organize the bus frequencies based on real travel with User Interaction. FASTS also provides Impact Anal- demands and thereby reduce 10% bus departures, we can ysis, which can perform various analytics and provide a save $20 operating costs per hour and $55,000 per vehicle. pleasing and intuitive visualization to help users evaluate To this end, the primary goal of this work is to find and understand the performance of current bus scheduling. the nearly optimal bus departure timetable to meet the ac- Additionally, Impact Analysis supports users to compare tual travel demands, under the assumption that the historic several saved bus schedules. Users then could further ad- travel demands (real world bus touch-on/touch-off records) just the constraints via either Coarse-grained Scheduling or reflect the actual travel demands2. To the best of our knowl- Fine-grained Scheduling with User Interaction. The corre- edge, there is no publicly accessible bus schedule planning sponding changes brought by different constraints will also be highlighted and given as feedbacks to users, leading to ∗Zhiyong Peng is the corresponding author. 1 in-depth user understanding and interaction. A prototype https://www.liveabout.com/ 3 bus-cost-to-purchase-and-operate-2798845 of the demo is available online . 2How to predict the actual travel demands in the near future is a different problem, which is not the focus of this work. 2. SYSTEM ARCHITECTURE Figure 1 shows the system architecture of FASTS. This work is licensed under the Creative Commons Attribution- Front End. The UI of FASTS presents key information{ NonCommercial-NoDerivatives 4.0 International License. To view a copy including a map view, current parameter values, bus timeta- of this license, visit http://creativecommons.org/licenses/by-nc-nd/4.0/. For bles, and the analytics results output by the back end data any use beyond those covered by this license, obtain permission by emailing analysis module{to users in a visually pleasing and effective [email protected]. Copyright is held by the owner/author(s). Publication rights way, as shown in Figure 2. In addition, it provides an inter- licensed to the VLDB Endowment. face where the inputs from users can be captured and passed Proceedings of the VLDB Endowment, Vol. 13, No. 12 ISSN 2150-8097. 3 DOI: https://doi.org/10.14778/3415478.3415497 http://civilcomputing.co/busscheduling 2873 Next, we introduce the concept of bus service frequency and formulate our problem in Definition 3.1. A bus service frequency (fi) for ri refers to a set of buses (bi1, bi2, ··· , bini ) that serves the route ri, where ni (ni ≥ 1) denotes the total number of bus departures corresponding to the route ri within a day. Let the bus service frequency F for R be a set, with each element fi 2 F corresponding to a bus route ri 2 R, i.e., F = f[8ri2Rfig. Then, the service of F to a passenger pk can be computed by S(F; pk) = Figure 1: System Architecture Q 1 − (1 − S(bij ; pk)). Note S(F; pk) = 1 as long as bij 2F to the back end engines to reschedule the buses based on the any bij 2 F can serve pk; otherwise, S(F; pk) = 0. new inputs from the users. For example, by interacting with the front end, users can adjust parameters, submit inquiries, Definition 3.1. Given a bus route database R, a pas- change bus schedules, etc. senger database P, a waiting time threshold θ, and a vec- Back End. The back end contains a bus scheduling engine, tor N hn1, n2, ··· ,ni, ··· , njRji where ni (≥ 1) denotes a data analysis module, a forward index and an inverted in- the total number of bus departures of bus route ri 2 R, dex. The bus scheduling engine aims to find the optimal we output a bus service frequency F which can maximize P G(F) = S(F; pk), where G(F) denotes the total num- bus schedule based on the constraints, if any, specified by pk2P the user. The data analysis module analyzes the passenger ber of passengers served by F. satisfaction, number of bus departures, travel demand, and 3.2 Methodology passenger waiting time. The two index structures main- Based on the given parameters, FASTS will find the near- tained in the back end facilitate the bus scheduling. The optimal bus schedule that can maximize the satisfaction of forward index uses buses as keys, where the value corre- the passengers. sponding to a key is a set of tuples in the form of (p ; wt ), i i The basic greedy algorithm is applicable because the ob- where p refers to a passenger who wants to take this bus i jective function of FASTS is submodular. To accelerate the and wt refers to the waiting time of the passenger if she/he i marginal gain computation, which is the main bottleneck takes this bus. The inverted index uses passengers as keys, of the basic greedy algorithm, we propose two mapping in- where the value is a set of tuples in the form of (b ; wt ), j j dexes, forward list (I ) and inverted list (I ). where b refers to one bus that could serve the passenger, f i j 1) I is for buses b 2 B. It maintains a list of passengers L and wt refers to the waiting time required for the bus b . f i P j j that could be served by bus b . In addition, to avoid counting Based on these two indexes, we can retrieve which bus can i the same passenger multiple times when we calculate the serve a passenger in the given waiting time threshold and marginal gain, we maintain another parameter N vice versa. T oBeServed to capture the number of passengers in LP that are still waiting for services. 3. BACK END TECHNIQUES 2) Ii is for passengers p 2 P. It maintains a list of buses that could serve the passenger p. The boolean Served is In this section, we first show the problem formulation, used to indicate whether any of the optional buses has been and then introduce how to find the optimal bus schedule scheduled with an initial value being false. effectively. Please refer to our work [6] for details. Motivated by the fact that a bus network is designed to cover different parts of the city and it tries to avoid unnec- 3.1 Problem Formulation essary overlapping among routes [2], we propose a partition- In a bus route database R, a route r is a sequence of based greedy method that achieves a (1−ρ)(1−1=e) approx- bus stations (s1, s2, ··· , si, ··· , sm), where si is a bus imation ratio. Here ρ is a service overlap threshold that is station represented by (latitude, longitude).
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages4 Page
-
File Size-