Collective Mobile Sequential Recommendation: A Recommender System for Multiple Taxicabs
Tongwen Wu, Zizhen Zhang, Yanzhi Li, Jiahai Wang

TL;DR
This paper introduces a novel collective mobile sequential recommendation framework for multiple taxicabs, addressing route overlap issues and optimizing travel time through a new mathematical model, evaluation metric, and efficient algorithms.
Contribution
It formalizes a multi-taxicab recommendation problem, proposes a new evaluation metric, and develops algorithms that outperform conventional methods in simulations.
Findings
Our method significantly reduces route overlap.
It minimizes total potential travel time.
Numerical experiments confirm superior performance.
Abstract
Mobile sequential recommendation was originally designed to find a promising route for a single taxicab. Directly applying it for multiple taxicabs may cause an excessive overlap of recommended routes. The multi-taxicab recommendation problem is challenging and has been less studied. In this paper, we first formalize a collective mobile sequential recommendation problem based on a classic mathematical model, which characterizes time-varying influence among competing taxicabs. Next, we propose a new evaluation metric for a collection of taxicab routes aimed to minimize the sum of potential travel time. We then develop an efficient algorithm to calculate the metric and design a greedy recommendation method to approximate the solution. Finally, numerical experiments show the superiority of our methods. In trace-driven simulation, the set of routes recommended by our method significantly…
| Acronym | Approach | Time Complexity |
|---|---|---|
| GR | Greedy Recommendation | |
| Top-K | Top-K Recommendation | |
| LB | Lower Bound for CMSR | |
| RAN | Random Selection of Routes | |
| LCP | LCP Search Ge et al. (2010) | |
| SA | Straightforward Approach | |
| SE | Sequential Evaluation |
| SE (second) | SA (second) | |||
|---|---|---|---|---|
| 20 | 8 | 2 | 0.12 | 0.73 |
| 20 | 8 | 3 | 1.16 | 11.02 |
| 20 | 8 | 4 | 7.12 | 88.52 |
| 20 | 5 | 5 | 0.24 | 2.13 |
| 20 | 6 | 5 | 1.32 | 14.58 |
| 20 | 7 | 5 | 5.78 | 75.45 |
| 10 | 8 | 5 | 17.49 | 223.94 |
| 15 | 8 | 5 | 26.11 | 367.92 |
| 20 | 8 | 5 | 32.58 | 492.46 |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Taxonomy
TopicsTransportation and Mobility Innovations · Transportation Planning and Optimization · Data Management and Algorithms
Collective Mobile Sequential Recommendation: A Recommender System for Multiple Taxicabs
Tongwen Wu, Zizhen Zhang111Corresponding Author, Yanzhi Li &Jiahai Wang
School of Data and Computer Science, Sun Yat-sen University, China [email protected], [email protected]
Abstract
Mobile sequential recommendation was originally designed to find a promising route for a single taxicab. Directly applying it for multiple taxicabs may cause an excessive overlap of recommended routes. The multi-taxicab recommendation problem is challenging and has been less studied. In this paper, we first formalize a collective mobile sequential recommendation problem based on a classic mathematical model, which characterizes time-varying influence among competing taxicabs. Next, we propose a new evaluation metric for a collection of taxicab routes aimed to minimize the sum of potential travel time. We then develop an efficient algorithm to calculate the metric and design a greedy recommendation method to approximate the solution. Finally, numerical experiments show the superiority of our methods. In trace-driven simulation, the set of routes recommended by our method significantly outperforms those obtained by conventional methods.
1 Introduction
In smart cities, the prevalence of wireless sensors and communication infrastructure such as GPS, Wi-Fi and RFID makes large-scale trace data available. This enables us to mine useful knowledge of taxicab transporting systems and passenger patterns. The extracted knowledge in turn assists in designing intelligent strategies to increase taxicab drivers’ profit and shorten passengers’ waiting time.
In this paper, we study a mobile recommender system, which can provide a set of promising routes for a collection of taxicab drivers. The ultimate target is to systematically reduce the vacant taxicab’s cruising time from a global perspective and in a real-time manner. There are some essential problems within the scope of mobile recommender system Zheng et al. (2010). One interesting and practical problem is mobile sequential recommendation (MSR) Ge et al. (2010). In MSR, the locations where pick-up events occur are clustered into pick-up points. A route, i.e., a sequence of pick-up points, is to be recommended to a taxicab driver such that his expected cruising distance before having passengers is minimized.
While the route recommendation for a single taxicab has been thoroughly considered Zheng et al. (2011); Yuan et al. (2013); Zhang and Tian (2012); Huang et al. (2014); Xun and Xue (2011), how to incorporate the influence among routes of multiple taxicabs and maximize the overall profit still remains challenging. To this end, some methods have been proposed. In Ge et al. (2010), by maintaining top routes in a buffer, the recommender system randomly chooses a route for each taxicab in the same area. Qu et al. (2014) provided an improved top-K method which considers some correlation among routes. Qian et al. (2015) introduced a route assignment mechanism aimed to achieve recommendation fairness for a group of taxicab drivers. Ye et al. (2018) firstly formalized a multi-user mobile sequential recommendation problem in which the recommended routes are required to be disjoint.
However, to the best of our knowledge, there is no existing study considering the time-varying competition among taxicab drivers and incorporating it into the multi-taxicab recommendation. For this challenge, we construct a more practical and complex MSR problem called collective mobile sequential recommendation (CMSR), which targets at generating multiple interrelated routes for a group of taxicabs.
Our work and contributions can be summarized as follows. Firstly, we use a classic mathematical model to characterize the time-varying pick-up probability, which considers the taxicab competitions and passenger arrival patterns. To be more specific, by modelling the passenger arrival pattern as a Poisson process, we generalize the pick-up probability of a pick-up point, instead of being a constant, into a function of the time interval between two consecutive taxicab arrivals. Secondly, in order to maximize the profit globally, we introduce the sum of potential travel time for a collection of taxicabs as a metric to evaluate a multi-taxicab recommendation. As CMSR is a harder combinatorial problem than traditional MSR, it is computational more intensive to find an optimal/sub-optimal solution. After showing that evaluating a given recommendation in a straightforward manner requires exponential time, we propose an alternative Sequential Evaluation approach which requires a lower time complexity. Finally, we design a greedy approach to obtain an approximate solution, which performs very well in extensive numerical experiments and trace-driven simulation.
2 Problem Formulation
2.1 Preliminary: MSR Formulation
In literature, a classic MSR problem is described as follows. Let be a set of central pick-up points and 0 be the initial position of a taxicab. Denote by the distance between two pick-up points and , and the estimated probability that a pick-up event occurs at a pick-up point . A route is a directed sequence generated from a subset of of length . Note that the points in are generally different from each other. All possible route sequences of size constitute a feasible solution space, denoted by . The expected cruising distance of a taxicab before picking up customers is recognized as the potential travel distance (PTD), which can be computed as follows:
[TABLE]
where is a distance vector and is a probability vector. These vectors are given by:
[TABLE]
[TABLE]
In Equation (2), represents a certain penalty distance of not picking up any passengers along the route. In Equation (3), . The MSR problem is to recommend an optimal driving route such that the corresponding PTD is minimized.
2.2 CMSR Formulation
The classic MSR is aimed to recommend a route to each taxicab driver independently. However, in the real world, the recommendation should respond to requests from multiple users, namely, a CMSR problem. Directly applying MSR for each user will lead to excessive overlaps among the recommended routes Ye et al. (2018). To tackle CMSR, we need to consider the influence among taxicabs and recommend routes from a global perspective.
Consider a scenario that passengers arrive at a pick-up point randomly and wait for taxicabs to come. In the concerned time period, the passenger arrival pattern is modeled as a homogeneous Poisson process. Specifically, we can estimate a passenger arrival rate for point . Let be the number of passenger arrival events in the time interval at point . Then, the number of arrivals in time interval follows a Poisson distribution as follows:
[TABLE]
We assume that passengers waiting at a pick-up point for the upcoming taxicab will not be picked up by the next arrival taxicab. In other words, if a passenger arrives at time and two taxicabs and arrive at and (), then taxicab cannot pick up passenger . Therefore, we can reformulate the probability that a taxicab arriving at picks up passengers after an interval since the last taxicab comes. It can be computed as:
[TABLE]
Note that if a taxicab is the first one to visit the pick-up point at time , we have . Specially, for any .
As the probability is related to time in CMSR, the distance measurement is replaced by to indicate the traveling time between pick-up points and . In practice, can be discretized into an integer, e.g., a second, for ease of computation. Now, consider recommending a collection of routes of length to taxicabs at the same area (point 0) and at the same time (time 0). A possible recommendation is an ordered multiset of routes from chosen from . The ordered set is helpful in the following scenario: if two taxicabs and arrive at a pick-up point at the same time, we assume that the taxicab of arrives earlier.
We use to denote the sum of potential travel time (PTT) of routes. The CMSR can be formalized as follows:
The CMSR problem
Given: A set of pick-up points of size , a set of all possible routes of length , for each pick-up point, the inital position 0 for taxicabs.
Objective: Recommending an optimal set of driving routes with the goal to minimize the sum of PTT:
[TABLE]
The computation of is non-trivial. It is much more complex than computing a single taxicab’s PTD in two aspects. First, the pick-up probability varies with the arrival time of taxicabs. Second, the distribution of cruising time of a route is correlated with the others.
Example.
An illustration example is shown in Figure 1, in which two routes are recommended. The first route is represented by a solid line and the second one is represented by a dash line. As shown, the two taxicabs will arrive at their corresponding first pick-up points and . If either of them fails to pick-up a passenger, it will go ahead to its next pick-up point. In this case, the pick-up probability that the first taxicab ends up cruising at is , the probability that second taxicab ends up cruising at is . Next, consider the event that the second taxicab ends up cruising at . If the first taxicab has picked up a passenger at or , the conditional probability of the event is . Otherwise, if the first taxicab arrives at 3 before the second taxicab, the conditional probability is . Thus, the probability that second taxicab ends up cruising at is .
3 Methodology
In CMSR, the number of possible recommendations is , which is exponentially increasing with and based on the number of all possible routes in MSR. This combinatorial problem requires extremely high computational resources. To address this challenge, we propose an algorithm based on dynamic programming to efficiently calculate for a given . Next, we propose a greedy recommendation algorithm to approximate the solution from a global perspective.
3.1 Evaluating a Collective Recommendation
We first give a straightforward approach for computing . By characterizing some useful properties among different recommendations, we can design a more efficient approach.
Consider a recommendation . Let denote its possible outcome, where means that the taxicab of ends up cruising at the pick-up point. In particular, indicates that the taxicab fails to pick-up passengers along the whole route. Thus, is larger than zero and less than or equal to the length of plus one. We use to denote the set of all possible outcomes. Let and be the probability that u occurs and the total cruising time of u.
Example
Take Figure 1 as an example. is . means that both taxicabs pick up passengers at point 1. Then, , , , and .
According to the definition, can be calculated by summing up the PTT of each route. However, because the cruising time of one route is dependent on the outcome of the other routes, we instead compute by summing up the product of outcome event probability and the total cruising time of u as below:
[TABLE]
For ease of composition, we use and to denote the pick-up point of and its corresponding arrival time, respectively. Based on the above discussions, we can form several tuples for a given recommendation . Note that if is equal to , does not exist, and therefore such kind of tuples are not considered.
Given a certain u, we next consider how to calculate and . can be computed by the joint probability that every event occurs. Here, an event is that a taxicab picks up passengers at a pick-up point or not. Because the occurred events are known when u is determined, we can obtain the time intervals between the arrival of adjacent taxicabs. With these time intervals, we can get the probability of each event. To be more specific, let denote the time interval between the arrival of taxicab and the last taxicab visiting at . For example, in Figure 1, if , then , and .
We turn to seek the value of for each tuple. Consider a particular pick-up point . Find all the tuples with and (i.e., taxicab is still cruising when it reaches the -th pick-up point ). Sort them by the value of primarily and the value of secondarily in ascending order. Then we can get an ordered sequence of tuples at point . If the tuple is and the tuple is , then is equal to . Finally, and can be computed as follows:
[TABLE]
[TABLE]
where is equal to one if the condition holds, and zero otherwise.
3.1.1 A Straightforward Approach
It is straightforward that we can compute and for each u independently. The pseudo code is shown in Algorithm 1. In this algorithm, we enumerate all possible outcomes and compute the probability and the total cruising time for each u. Lines 7-13 show the procedure of computing the probability . The time complexity of this procedure is . Similarly, the cruising time can also be computed in time complexity. The number of all possible outcomes is . Thus, the time complexity of this approach is .
3.1.2 An Improved Approach
The straightforward approach is not efficient enough. Observing that the computation of different u has a lot of common parts, the overlapping subproblems can be calculated just once and reused multiple times by recursive equations. Therefore, we can design an algorithm based on dynamic programming to accelerate the computation of and .
Consider a more general scenario where the route lengths of a recommendation are not necessarily the same (but still no greater than ). In the following, we show how different recommendations correlate to the same outcome u. To do so, it is necessary to extend the previous notations. Let and respectively denote the probability and the total cruising time for recommendation .
Theorem 1** (SEQUENTIAL EQUATION FOR ).**
Let and be two recommendations which only differ in the route. Suppose that and the length of is . The route of is and the route of is . And let be the arrival time when the taxicab of arrives at .
Assume that satisfies the following condition:
[TABLE]
In other words, the latest visiting time of is by the route. Other routes either visit before or not visit . Then satisfies the following equation:
[TABLE]
where denotes the vector where all the elements are 0 except that the element is 1.
Proof.
Note that tuples in are also included in , but contains one more tuple .
For the first case in Equation (10), the outcome u reflects the same cruising routes for both and . Thus their probabilities are equal.
For the second case, the outcome of is slightly different from the outcome of . The taxicab of continues its driving to after it fails to pick up passengers at the last pick-up point of , but the taxicab of has already ended its route and a penalty has been added to the total cruising time. Observe that whenever the taxicab of arrives at , it is the last one to visit according to (9). Therefore, and share the same time intervals. Only needs to be figured out and appended to . Then we have the following equation:
[TABLE]
The proof of the third case is similar to the second case. ∎
Example
We take Figure 1 as an example. The recommendation shown in the figure is . Consider another two recommendations with their lengths not necessarily equal to : and .
- •
If , then .
- •
If , then .
- •
If , then .
Theorem 2** (SEQUENTIAL EQUATION FOR ).**
Under the same condition in Theorem 1, satisfies the following equation:
[TABLE]
The proof of Theorem 12 is similar to Theorem 1. The calculation of cruising time is even simpler, so we omit the proof here.
Theorem 1 and 12 characterize the sequential relation of outcomes between two recommendations. Based on sequential equations, we can calculate and sequentially for a series of auxiliary recommendations, and finally achieve the evaluation of recommendation . Specifically, sort all tuples for by first and then in increasing order. A prefix of sorted tuple sequence forms an auxiliary recommendation. It is obvious that the consecutive recommendations satisfy the condition in Theorem 1. The pseudo code for the improved approach, called a sequential evaluation approach, is presented in Algorithm 2.
Complexity Analysis
In the inner loop (lines 8–13), every time when u gets accessed, a new outcome never accessed becomes accessed. The number of all outcomes is and the maintenance of variable is easily implemented in time. So the whole complexity of outer and inner loop is . The loop of u in lines 15–16 is . Thus, the time complexity of algorithm 2 is . It achieves a lower complexity than Algorithm 1 with a significant margin.
3.2 Seeking a Collective Recommendation
In §3.1, we see that the complexity of evaluating a possible recommendation grows exponentially with the number of taxicabs . Finding an optimal recommendation of CMSR is even challenging. Note that powerful heuristic approaches such as tabu search and genetic algorithm for combinatorial problems are not suitable for CMSR, as search operators would perform a lot of times and involve many recommendation evaluations. In order to solve the problem within a reasonable time, we propose a greedy algorithm to approximate the optimal solution. The basic idea is as follows. If we want to append a pick-up point to the end of an incomplete route with its length smaller than , we can find the best choice by enumerating and evaluating all the combinations of the pick-up points and routes. In this way, by adding pick-up points iteratively, we can finally obtain a feasible recommendation.
The proposed greedy recommendation approach is shown in Algorithm 3, which is a concise framework. In line 8, it generates one candidate recommendation by appending one pick-up point to one route. Note that the candidate recommendation and its previous recommendation do not need to satisfy the condition in Theorem 1 and 12. In line 9, it evaluates a new recommendation by simply calling Algorithm 2. The algorithm terminates when all the routes are of length .
Complexity Analysis
There are a total of pick-up points to be appended into . For each addition, there are candidates. The evaluation can be implemented by Sequential Evaluation in . As a result, the overall complexity of Algorithm 3 is .
4 Experiments
Our experiments are conducted on a PC with an Intel Dual i7-4720 processor and 16 GB RAM. All the algorithms are implemented in C++11. The results of and computation time by different approaches are compared. Based on real-world trace data, we demonstrate the effectiveness of our recommended routes in practice.
Real-world Data
We adopt taxicab traces data set which is provided by Exploratorium - the museum of science, art and human perception Piorkowski et al. (2009). The data set contains GPS records of 514 taxi drivers collected during 24 days in San Francisco Bay Area. Each record has four attributes: longitude, latitude, occupancy and timestamp. Based on historical data, we can extract a class of pick-up events. In the data processing, we extract records within the time period 6:00 PM-6:30 PM and find pick-up events within this time period to generate some clusters (by using the DBSCAN method). Subsequently, for each cluster , we calculate the time intervals between two consecutive events and get an interval set . We adopt an unbiased estimation for passenger arrival rate as follows:
[TABLE]
Afterwards, we represent pick-up points with centroids of clusters and use Google Map API to calculate the driving time between them. The start point [math] for taxicabs is selected randomly on Google Map. In order to utilize trajectories comprehensively, we use cross-validation. Specifically, for each day, we use the other 23 days’ data to estimate passenger arrival rates for pick-up points so that we can get 24 CMSR instances in total.
Parameter Setting
The maximum route length is set to 5, the same as Ge et al. (2010), which can restrict the maximum cruising time of driving route into a reasonable range. Due to an explosive increase of computation time, the maximum value of is set to 8. is set as an average value of traveling time matrix , i.e. seconds.
Compared Methods
In §3, we introduce several algorithms under different scenarios, which are summarized in Table 1. GR is our proposed method. Top-K recommendation is a scheme that recommends top routes with the minimum PTT to drivers but not considering the influence among routes. LB is calculated by multiplying and the minimum PTT. RAN is a random approach. It does not help reduce the cruising time for taxicabs but can balance the distribution of routes inherently. LCP method is introduced in Ge et al. (2010) to solve MSR with a length constraint given pick-up probabilities. It uses a Round-Robin method to assign several best routes (5 routes in their paper) to taxicabs. We compare this method with ours in simulation. SA and SE are subroutines for evaluating a given recommendation.
A Comparison of the Sum of PTT
We conduct experiments on real-world data sets where is 25. Since LCP is not invented for CMSR, it is excluded from this part of experiments. The results are shown in Figure 2(a). As we can see, GR outperforms RAN and Top-K with a significant margin and is within a reasonable range from lower bound. On average, GR can find a recommendation with a smaller sum of PTT than RAN and Top-K by 22.4% and 38.8%, respectively. Its average solution gap with respect to LB is 61.8%.
In addition, for a particular , there is no obvious trend of the solutions generated by GR, RAN and LB as increases. We give a brief but intuitive explanation. When increases, the possible cruising time increases as well. At the same time, the probability of each driver picking up a passenger also increases, which leads to less penalty. Therefore, the sum of PTT is not necessarily monotonous with . Out of our expectation, Top-K behaves the worst. This is due to the correlation of those best routes. To be more specific, sorting routes in ascending order of PTT, the top routes may share a long prefix sub-route. In this case, one taxicab is very likely to arrive at a pick-up point following another taxicab immediately, which dramatically results in a great deal of cruising time. As a result, when increases, the sum of PTT of Top-K increases more significantly than that of other approaches.
Trace-driven Simulation
In order to evaluate the performance of the proposed approaches in practice, we test them via simulation based on real-world data. To do so, we replay the pick-up events for each day and test the recommended routes by different approaches. If a taxicab arrives at a pick-up point and satisfies the pick-up condition of CMSR, its cruising time is determined. If a taxicab fails to pick up a passenger along the whole route, the cruising time from the starting to the end location plus is computed. The average results of 24 CMSR instances are recorded.
We show the sum of cruising time and the number of picked up passengers for taxicabs in Figure 2(b) and 2(c), respectively. GR performs much better than RAN, Top-K and LCP. In addition, the sum of cruising time of GR increases less intensely by than that of other methods. This is because GR can well balance the driving efficiency and the competition among drivers. LCP performs even worse than Top-K for the following reasons. On the one hand, Top-K can recommend more different routes than LCP. On the other hand, Top-K is built on CMSR model which characterizes the passenger pattern more accurately. In Figure 2(c), there is no red bar in some cases due to its overlap with blue bar, i.e., GR and RAN perform equally.
A Comparison of Running Time for Two Evaluation Methods
Either SE or SA can be integrated into GR to evaluate a recommendation. To show the efficiency of SE compared with SA, we conduct several experiments on some synthetic data with different combinations of , and . The results are reported in Table 2. It clearly shows that SE is about one order of magnitude faster than SA.
5 Conclusions and Future Work
There has been little effort dedicated to recommendation for a collection of taxicab drivers. In this paper, we propose CMSR, a collective mobile sequential recommendation, aimed to provide a set of routes to multiple taxicab drivers. The new metric of CMSR guarantees that the recommended routes can minimize the expected cruising time of taxicabs globally. In comparison with other methods, our method demonstrates its superior effectiveness and efficiency.
In the future, we plan to explore more effective approximation by considering different passenger arrival/departure patterns and other advanced algorithms. Furthermore, we plan to extend CMSR to more practical problems which relax those hard restrictions, such as that a passenger missing one taxicab will not be picked up by next arriving taxicabs.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1Ge et al. [2010] Yong Ge, Hui Xiong, Alexander Tuzhilin, Keli Xiao, Marco Gruteser, and Michael J. Pazzani. An energy-efficient mobile recommender system. In ACM SIGKDD International Conference on Knowledge Discovery and Data Mining , pages 899–908, 2010.
- 2Huang et al. [2014] Jianbin Huang, Xuejun Huangfu, Heli Sun, Hong Cheng, and Qinbao Song. Backward path growth for efficient mobile sequential recommendation. IEEE Transactions on Knowledge and Data Engineering , 27(1):46–60, 2014.
- 3Piorkowski et al. [2009] Michal Piorkowski, Natasa Sarafjanovic-Djukic, and Matthias Grossglauser. Crawdad dataset epfl/mobility (v. 2009-02-24). http://crawdad.org/epfl/mobility/20090224 , 2009.
- 4Qian et al. [2015] Shiyou Qian, Jian Cao, F Mouël Le, Issam Sahel, and Minglu Li. Scram: A sharing considered route assignment mechanism for fair taxi route recommendations. In ACM SIGKDD International Conference on Knowledge Discovery and Data Mining , pages 955–964, 2015.
- 5Qu et al. [2014] Meng Qu, Hengshu Zhu, Junming Liu, Guannan Liu, and Hui Xiong. A cost-effective recommender system for taxi drivers. In ACM SIGKDD International Conference on Knowledge Discovery and Data Mining , pages 45–54, 2014.
- 6Xun and Xue [2011] Yun Xun and Guangtao Xue. An online fastest-path recommender system. In Knowledge Engineering and Management , pages 341–348. Springer Berlin Heidelberg, 2011.
- 7Ye et al. [2018] Zeyang Ye, Lihao Zhang, Keli Xiao, Wenjun Zhou, Yong Ge, and Yuefan Deng. Multi-user mobile sequential recommendation: An efcient parallel computing paradigm. In ACM SIGKDD International Conference on Knowledge Discovery and Data Mining , pages 2624–2633, 2018.
- 8Yuan et al. [2013] Nicholas Jing Yuan, Yu Zheng, Liuhang Zhang, and Xing Xie. T-finder: A recommender system for finding passengers and vacant taxis. IEEE Transactions on Knowledge and Data Engineering , 25(10):2390–2403, 2013.
