Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
skip to main content
research-article

Unified Route Planning for Shared Mobility: An Insertion-based Framework

Published: 02 May 2022 Publication History

Abstract

There has been a dramatic growth of shared mobility applications such as ride-sharing, food delivery, and crowdsourced parcel delivery. Shared mobility refers to transportation services that are shared among users, where a central issue is route planning. Given a set of workers and requests, route planning finds for each worker a route, i.e., a sequence of locations to pick up and drop off passengers/parcels that arrive from time to time, with different optimization objectives. Previous studies lack practicability due to their conflicted objectives and inefficiency in inserting a new request into a route, a basic operation called insertion. In addition, previous route planning solutions fail to exploit the appearance patterns of future requests hidden in historical data for optimization. In this paper, we present a unified formulation of route planning called URPSM. It has a well-defined parameterized objective function which eliminates the contradicted objectives in previous studies and enables flexible multi-objective route planning for shared mobility. We propose two insertion-based frameworks to solve the URPSM problem. The first is built upon the plain-insertion widely used in prior studies, which processes online requests only, whereas the second relies on a new insertion operator called prophet-insertion that handles both online and predicted requests. Novel dynamic programming algorithms are designed to accelerate both insertions to only linear time. Theoretical analysis shows that no online algorithm can have a constant competitive ratio for the URPSM problem under the competitive analysis model, yet our prophet-insertion-based framework can achieve a constant optimality ratio under the instance-optimality model. Extensive experimental results on real datasets show that our insertion-based solutions outperform the state-of-the-art algorithms in both effectiveness and efficiency by a large margin (e.g., up to 30 \(\times\) more effective in the objective and up to 20 \(\times\) faster).
Appendices

A Proofs in Plain-insertion-based Framework

This section lists the proofs of lemmas used in the plain-insertion algorithms (Section 5).

A.1 Proof of Lemma 4

Proof. As shown in Figure 3, condition (1) checks whether the deadline constraint of the new request \(r\) is violated, since \(\textsf {arr} [i]+\textsf {dis} (l_i,o_r)\) represents the arrival time at the new request’s origin (which is inserted after \(l_i\) ). Condition (3) also checks whether the deadline constraint of the new request \(r\) is violated. For example, in Figures 3(b) and 3(c), \(\textsf {arr} [i]+\textsf {dis} (l_i,o_r)+\textsf {dis} (o_r, d_r)\) represents the arrival time at the new request’s destination, which should be earlier than the deadline \(e_r\) .
Conditions (2) and (4) check whether the deadlines of the original requests are violated if \(o_r\) and \(d_r\) are inserted after \(l_i\) and \(l_j\) . For condition (2), the detour of inserting \(o_r\) after \(l_i\) should satisfy the deadlines of all the requests after \(l_i\) , i.e., the maximal tolerable time for detour. Thus, \(\textsf {det} (l_i,o_r,l_{i+1})\) should be smaller than \(\textsf {slack} [i]\) . As for condition (4), the total detour to insert \(o_r\) and \(d_r\) should satisfy the deadlines of all the requests after \(l_j\) . Similarly, \(\Delta _{i,j}\) should be smaller than \(\textsf {slack} [j]\) .

A.2 Proof of Lemma 5

Proof. Condition (1) checks whether capacity constraint is violated if the new request is picked up after \(l_i\) . After the new request has been picked up, condition (2) checks whether capacity constraint is violated if the following original requests are served. Here we only need to check the original requests between \(l_i\) and \(l_j\) since the new request will be delivered after \(l_j\) .

A.3 Proof of Lemma 6

Proof. First, we assume \(i=\textsf {plc} [j]\) violates the capacity constraint (i.e., the first case of Equation (16) is satisfied). Based on Lemma 5, any other \(i \le j-1\) also violates the capacity constraint.
Next, we focus on the case when \(i=\textsf {plc} [j]\) only violates the deadline constraint in Lemma 4. Suppose to the contrary, there exists a \(z\) ( \(z \lt j\) and \(z \ne \textsf {plc} [j]\) ) which satisfies all the constraints. It indicates that for every \(k \in [z, j)\) , the capacity constraint \(\textsf {pick} [k] \le c_w-c_r\) always holds. Based on the definitions of \(\textsf {dio} [\cdot ]\) and \(\textsf {plc} [\cdot ]\) , we have \(\textsf {dio} [j] = \textsf {det} (l_i, o_r, l_{i+1}) \le \textsf {det} (l_z, o_r, l_{z+1}) \lt \infty\) and the integer \(i\) must exist. We complete our proof based on the four conditions of Lemma 4.
When \(i\) violates Lemma 4 (1), it will also violate Lemma 4 (3), which will be proved later.
When \(i\) violates Lemma 4 (2), then we have \(\textsf {det} (l_i, o_r, l_{i+1}) \gt \textsf {slack} [i]\) . In other words, the second case of Equation (16) is satisfied and \(\textsf {plc} [i+1]\) should be equal to \(\textsf {plc} [i]\) instead of \((i+1)-1=i\) . Thus, \(\textsf {plc} [j]\) cannot be equal to \(i\) , which is contradicted to the assumption.
When \(i\) violates Lemma 4 (3), then we have \(\textsf {arr} [j] + \textsf {det} (l_i, o_r, l_{i+1}) + \textsf {dis} (l_j,d_r) \gt e_r\) , where \(\textsf {det} (l_i, o_r, l_{i+1})\) can be simplified by \(\textsf {dio} [j]\) . Since \(\textsf {det} (l_i, o_r, l_{i+1}) \le \textsf {det} (l_z, o_r, l_{z+1})\) , then \(\textsf {arr} [j] + \textsf {det} (l_z, o_r, l_{z+1}) + \textsf {dis} (l_j,d_r)\) must be larger than \(e_r\) . Thus, \(z\) also violates Lemma 4 (3), which is contradicted to the assumption.
When \(i\) violates Lemma 4 (4), then we have \(\Delta _{i,j} = \textsf {det} (l_j, d_r, l_{j+1}) + \textsf {det} (l_i, o_r, l_{i+1}) \gt \textsf {slack} [j]\) , where \(\textsf {det} (l_i, o_r, l_{i+1})\) can be also simplified by \(\textsf {dio} [j]\) . Since \(\textsf {det} (l_i, o_r, l_{i+1}) \le \textsf {det} (l_z, o_r, l_{z+1})\) , then \(\Delta _{z,j} = \textsf {det} (l_j, d_r, l_{j+1}) + \textsf {det} (l_z, o_r, l_{z+1})\) must be larger than \(\textsf {slack} [j]\) . Thus, \(z\) also violates Lemma 4 (4), which is contradicted to the assumption.

A.4 Proof of Lemma 7

Proof. According to the definition, \(\Delta\) is the actually increased time of worker \(w_i\) and \(\Delta ^\downarrow\) denotes the lower bound of the increased time of worker \(w_{i+1}\) . Since the workers are already sorted in ascending order by \(\Delta ^\downarrow\) , it indicates that every worker after \(w_{i+1}\) has a longer increased time in terms of the lower bound. As the lower bound \(\Delta ^\downarrow\) of \(w_{i+1}\) is already longer than the actually increased time \(\Delta\) of worker \(w_i\) , he/she must have a longer increased time than \(\Delta\) , which can be pruned.

A.5 Proof of Lemma 8

Proof. We can prove the correctness of Equation (18) by substituting \(\textsf {dis} (o_r,d_r) = \mathcal {L}\) , \(\textsf {dis} (l_i, l_{i+1}) = \textsf {len} [i+1]\) and \(\forall u,v, \textsf {dis}^\downarrow (u,v) \le \textsf {dis} (u,v)\) into the first two cases of Equation (8). We can prove the correctness of Equation (20) by substituting \(\textsf {det} ^\downarrow (l_{j-1},o_r,l_j) \le \textsf {det} (l_{j-1},o_r,l_j)\) into Equation (15). We can prove the correctness of Equation (19) by substituting \(\textsf {dio} ^\downarrow [j] \le \textsf {dio} [j]\) into Equation (14).

B Proofs in Prophet-insertion-based Framework

This section lists the proofs of lemmas and theorems used in the prophet-insertion-based framework (Section 6) and the prophet-insertion algorithms (Section 7).

B.1 Proof of Lemma 9

Proof. First, as mentioned in Section 6.2, the plain-insertion is a special case of the prophet-insertion used in Algorithm 4. In other words, if a request can be served by plain-insertion, it will also be able to be served by prophet-insertion. Moreover, since the prophet-insertion allows the workers to move to the request’s origin earlier than its release time, it potentially serves more requests than plain-insertion.
Second, in Algorithm 4, we assume that there are sufficient hypothetical workers at the requests’ origins (lines 1–6). In lines 7–11, we ensure that the real workers are assigned with the top \(\lbrace |W|\rbrace\) most profitable routes by a max-heap, where the profit of a route is either the number of served request or the revenue of this route. Thus, each real worker is assigned to the currently most profitable route (i.e., the guidance route of the hypothetical worker \(\widetilde{w^*}\) ). Suppose to the contrary, a real worker \(w\) is assigned to \(\widetilde{S_w}\) , which is more profitable than the route of \(\widetilde{w^*}\) by Algorithm 4. Then, there must be a hypothetical worker \(\widetilde{w} \ne \widetilde{w^*}\) corresponding to \(\widetilde{S_w}\) . Based on the definition of a max-heap, \(\widetilde{w}\) must be popped earlier than \(\widetilde{w^*}\) in line 9. However, since \(\widetilde{w}\) is not matched to the real worker \(w\) in Algorithm 4, then some other worker must serve the requests in \(\widetilde{w}\) with shorter increased travel time in line 9. Since insertion-based online algorithm always assigns the request to the worker with minimum increased travel time, this is contradicted to the prerequisite.
Finally, when the prediction is completely accurate, we can use Algorithm 4 to obtain the upper bound of any insertion-based online algorithm (only in the proof below).

B.2 Proof of Theorem 3

Proof. For brevity, we use \(\text{OPT}\) to denote the optimal insertion-based online algorithm and \(\text{UB}\) to denote the upper bound of \(\text{OPT}\) obtained by Algorithm 4. We also use \(\text{ALG}\) to denote our framework (i.e., Algorithm 5). We will prove the (expected) optimality ratio \(\text{E}[\text{ALG} ]/\text{E}[\text{OPT} ]\) is a constant and the probability of achieving this ratio (0.47) is high in practice.
We use \(n\) and \(m\) to denote the number of online requests and predicted requests, respectively. W.l.o.g., we let \(n = k \cdot m\) . Under the assumption of known IID, these \(m\) predicted requests (a.k.a., request types) are sampled based on the distribution of the online requests in Algorithm 5. As prediction can be wrong, each online request has the probability of \(\frac{1}{m}\) to match with a certain request type. Thus, each predicted request has the following probability to appear in the online requests.
\begin{equation} 1 - \left(1-\frac{1}{m}\right)^n = 1 - \left(1-\frac{1}{m}\right)^{k \cdot m} = 1 - \left(\frac{1}{e}\right)^{k} = 1 - \frac{1}{e^k} \end{equation}
(39)
Based on the proof of Lemma 9, we have \(\text{E}[\text{OPT} ] \le \text{E}[\text{UB} ]\) . We next prove the optimality ratio of Algorithm 5 in terms of each objective as follows.
Maximizing the number of served requests. Let \(x_i \in \lbrace 0,1\rbrace\) be a random variable that represents the online request \(r_i\) is served in \(\text{UB}\) and \(X = \sum _{i}{x_i}\) be a random variable that represents the number of served requests in \(\text{UB}\) . As \(\text{E}[\text{OPT} ] \le \text{E}[\text{UB} ]\) , we can infer that \(\text{E}[\text{UB} ] = \text{E}[X] = \text{E}[\sum _{i}{x_i}] \ge \text{E}[\text{OPT} ]\) . Let \(\widetilde{x_i} \in \lbrace 0,1\rbrace\) be a random variable that represents the online request \(r_i\) is served in \(\text{ALG}\) and \(\widetilde{X} = \sum _{i}{\widetilde{x_i}}\) be a random variable that represents the number of served requests in \(\text{ALG}\) . Based on the probability in Equation (39), we have
\begin{equation} \text{E}[\text{ALG} ] = \text{E}[\widetilde{X}] = \text{E}\Big [\sum \limits _{i}{\widetilde{x_i}}\Big ] = \text{E}\Big [\left(1 - \frac{1}{e^k}\right)\sum \limits _{i}{x_i}\Big ] = \left(1 - \frac{1}{e^k}\right) \text{E}\Big [\sum \limits _{i}{x_i}\Big ] \ge \left(1 - \frac{1}{e^k}\right) \text{E}[\text{OPT} ] \end{equation}
(40)
Thus, the (expected) optimality ratio is \(1 - \frac{1}{e^k}\) . Here, we assume \(k \in [0.65, 1.35]\) based on the experimental results of the prediction methods. Specifically, since the MAPEs of all the compared methods in [20] which predict the number of future requests are lower than 35%, the value of \(k\) is \([1-0.35, 1+0.35] = [0.65, 1.35]\) . The optimality ratio is at least 0.47 based on this choice of \(k\) . We can derive the probability of getting this ratio by Azuma-Hoeffding inequality [35] as follows.
\begin{equation} \text{for any } \epsilon \gt 0,\ \text{Pr}\big [|\text{ALG}-\text{E}[\text{ALG} ]| \ge \epsilon n\big ] \le 2e^{-\frac{(\epsilon n)^2}{2n}} = 2e^{-\epsilon ^2 n/2} \end{equation}
(41)
In other words, with a probability at least \(1-e^{-\Omega (n)}\) , the optimality ratio is 0.47 in practice.
Maximizing the total revenue. Let \(y_i = x_i \cdot rev_{r_i}\) be a random variable that represents the revenue of the online request \(r_i\) if it is served in \(\text{UB}\) , where \(rev_{r_i}\) denotes the fare from serving the request minus the income of the worker. Let \(Y = \sum _{i}{y_i}\) be a random variable that represents the total revenue in \(\text{UB}\) . As \(\text{E}[\text{OPT} ] \le \text{E}[\text{UB} ]\) , we can infer that \(\text{E}[\text{UB} ] = \text{E}[Y] = \text{E}[\sum _{i}{y_i}] \ge \text{E}[\text{OPT} ]\) . Let \(\widetilde{y_i} = \widetilde{x_i} \cdot rev_{r_i}\) be a random variable that represents the revenue of the online request \(r_i\) if it is served in \(\text{ALG}\) and \(\widetilde{Y} = \sum _{i}{\widetilde{y_i}}\) be a random variable that represents the total revenue in \(\text{ALG}\) . Similar to the deduction in Equation (40), we can infer that
\begin{equation} \text{E}[\text{ALG} ] = \text{E}[\widetilde{Y}] = \text{E}\Big [\sum \limits _{i}{(\widetilde{x_i} \cdot rev_{r_i})}\Big ] = \left(1 - \frac{1}{e^k}\right) \text{E}\Big [\sum \limits _{i}{(x_i \cdot rev_{r_i})}\Big ] \ge \left(1 - \frac{1}{e^k}\right) \text{E}[\text{OPT} ] \end{equation}
(42)
Thus, the optimality ratio is \(1 - \frac{1}{e^k}\) (i.e., at least 0.47 when \(k \in [0.65, 1.35]\) ). To infer the probability of achieving this optimality ratio, we assume that \(|rev_{r_i} - rev_{r_j}| \le C\) for any two requests \(r_i\) and \(r_j\) , where \(C\) can be any large constant. Here, we only require \(C\) is still bounded when \(n\) approaches infinity. The assumption is reasonable since the fare of each request is much smaller than \(O(n)\) in shared mobility. By Azuma-Hoeffding inequality [35], we infer the probability as:
\begin{equation} \text{for any } \epsilon \gt 0,\ \text{Pr}[|\text{ALG}-\text{E}[\text{ALG} ]| \ge \epsilon n] \le 2e^{-\frac{(\epsilon n)^2}{2nC^2}} = 2e^{-\epsilon ^2 n/2C^2} \end{equation}
(43)
Therefore, with a high probability (at least \(1-e^{-\Omega (n)}\) ), the optimality ratio is 0.47.

B.3 Proof of Lemma 10

Proof. W.l.o.g., we assume the unit of travel time is second. By Equation (29), we have the following facts: (1) the worker will be \(\textsf {detOD} (i)\) seconds late at the location \(l_{i+1}\) ; and (2) he now needs less time (i.e., \(\max \lbrace \textsf {wait} [i+1]-\textsf {detOD} (i),0\rbrace\) ) to wait at the location \(l_{i+1}\) . Similarly, he may also take a longer time to arrive at any location after \(l_{i+1}\) and wait less time there. Based on the facts, we prove Lemma 10 from the following two aspects.
If \(\textsf {detOD} (i) \gt \textsf {swait} [i+1]\) , we will prove \(\Delta _{i,j} = \textsf {detOD} (i) - \textsf {swait} [i+1]\) , where \(\textsf {swait} [i+1]\) is defined as \(\textsf {wait} [i+1]+\cdots +\textsf {wait} [n]\) . Based on the facts above, the worker does not need to wait at location \(l_{i+1}\) any more, i.e., \(\max \lbrace \textsf {wait} [i+1]-\textsf {detOD} (i),0\rbrace = 0\) . Similarly, he will be \((\textsf {detOD} (i)-\textsf {wait} [i+1])\) seconds late at the location \(l_{i+2}\) and does not need to wait there any more since \(\max \lbrace \textsf {wait} [i+2]-(\textsf {detOD} (i)-\textsf {wait} [i+1]),0\rbrace = 0\) . Inductively, he will be \((\textsf {detOD} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [n-1])\) seconds late at the location \(l_{n}\) . Since the last location \(l_n\) of any route is either a request’s destination or a worker’s initial location, he does not need to wait at \(l_n\) (i.e., \(\textsf {wait} [n] = 0\) by Equation (21)). Thus, the increased travel time is exactly \(\textsf {detOD} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [n-1]-\textsf {wait} [n] = \textsf {detOD} (i) - \textsf {swait} [i+1]\) .
If \(\textsf {detOD} (i) \le \textsf {swait} [i+1]\) , we will prove \(\Delta _{i,j} = 0\) . Since \(\textsf {detOD} (i) \le \textsf {swait} [i+1]\) , there exists at least one integer \(k \in [i+1,n]\) such that \(\textsf {detOD} (i) \le \textsf {wait} [i+1]+\cdots +\textsf {wait} [k]\) . We also assume \(k\) is the smallest among such integers. Based on the analysis above, we know the worker will be \((\textsf {detOD} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [k-1])\) seconds late at the location \(l_{k}\) , and only has to wait for \((\textsf {wait} [k] - (\textsf {detOD} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [k-1])) \ge 0\) seconds at the location \(l_{k}\) . After that, he will arrive at the location \(l_{k+1}\) exactly the same time as the original route before insertion. In other words, the total travel time will not be increased, i.e., \(\Delta _{i,j} = 0\) .

B.4 Proof of Lemma 11

Proof. Condition (1) checks whether the capacity constraint is violated if the new request \(r\) is inserted, which can be directly derived from Lemma 5.
Condition (2) checks whether the deadlines of the original requests are violated if \(o_r\) and \(d_r\) are sequentially inserted between \(l_i\) and \(l_{i+1}\) . Since the new request is inserted after \(l_i\) , the deadlines ( \(\textsf {ddl} [\cdot ]\) ) before the location \(l_i\) (including) will not be violated. Thus, we only need to verify whether any deadline after the location \(l_{i}\) (excluded) is violated. Based on the definition of \(\textsf {slack} [i]\) , we only need to make sure that \(\textsf {detOD} (i) \le \textsf {slack} [i]\) .
Condition (3) checks whether the new request’s deadline is violated. Since the LHS of this condition represents the arrival time at the new request’s destination (as in Figures 3(b) and 3(c)), we only need to check whether it is no larger than the new request’s deadline (i.e., \(e_r\) ).

B.5 Proof of Lemma 12

Proof. By the proof of Lemma 10, we know the worker will be \(\max \lbrace \textsf {detO} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [k], 0\rbrace\) seconds late at any location \(l_k\) after \(l_{i+1}\) (i.e., \(k \ge i+1\) ). In other words, he will be \(\max \lbrace \textsf {detO} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [j], 0\rbrace\) seconds late at the location \(l_j\) . As the new request’s destination is inserted between \(l_j\) and \(l_{j+1}\) , he may be further \(\textsf {detD} (j)\) seconds late at the location \(l_{j+1}\) , where \(\textsf {detD} (j)\) is defined as the detour between \(l_j\) and \(l_{j+1}\) in Equation (32). Therefore, the late arrival time at the location \(l_n\) is
\begin{align*} &\quad \max \big \lbrace \max \lbrace \textsf {detO} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [j], 0\rbrace + \textsf {detD} (j)-\textsf {wait} [j+1]\cdots -\textsf {wait} [n], 0\big \rbrace \\ &= \max \lbrace \textsf {detO} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [n]+\textsf {detD} (j), \textsf {detD} (j)-\textsf {wait} [j+1]\cdots -\textsf {wait} [n], 0\rbrace \\ &= \max \lbrace \textsf {detO} (i)+\textsf {detD} (j)-\textsf {swait} [i+1], \textsf {detD} (j)-\textsf {swait} [j+1], 0\rbrace , \end{align*}
where \(\textsf {swait} [k]\) is defined as \(\textsf {wait} [k]+\cdots +\textsf {wait} [n]\) in Equation (23).

B.6 Proof of Lemma 13

Proof. Condition (1) checks the capacity constraint, which can be directly derived from Lemma 5.
Condition (2) checks whether the deadlines of the original requests are violated if the new request’s origin is inserted between locations \(l_i\) and \(l_{i+1}\) . Since the deadlines before the location \(l_i\) are unaffected, we only need to verify whether any deadline after the location \(l_{i}\) (excluded) is violated. Based on the definition of \(\textsf {slack} [i]\) , we only need to ensure that \(\textsf {detO} (i) \le \textsf {slack} [i]\) .
Condition (3) checks whether the deadlines of the original requests are violated if the new request’s destination is inserted between locations \(l_j\) and \(l_{j+1}\) . Similarly, we only need to verify whether any deadline after the location \(l_{j}\) (excluded) is violated. Specifically, based on the proof of Lemma 12, the worker will be \(\max \lbrace \textsf {detO} (i)-\textsf {wait} [i+1]-\cdots -\textsf {wait} [j], 0\rbrace\) seconds late at the location \(l_j\) . Based on the definition of \(\textsf {swait} [\cdot ]\) , we have \(\textsf {wait} [i+1]+\cdots +\textsf {wait} [j] = \textsf {swait} [i+1]-\textsf {swait} [j+1]\) and hence the late arrival time at the location \(l_j\) also equals to \(\max \lbrace \textsf {detO} (i)-(\textsf {swait} [i+1]-\textsf {swait} [j+1]), 0\rbrace\) . Thus, the late arrival time at the location \(l_{j+1}\) is \(\textsf {detD} (j) + \max \lbrace \textsf {detO} (i)-(\textsf {swait} [i+1]-\textsf {swait} [j+1]), 0\rbrace\) . Based on the definition of \(\textsf {slack} [j]\) , the late arrival time at the location \(l_{j+1}\) should be no larger than \(\textsf {slack} [j]\) .
Condition (4) checks whether the new request’s deadline is violated. Specifically, the sum of the first three terms in the LHS of this condition represents the leaving time from the location \(l_j\) . Thus, the LHS of this condition represents the arrival time at the new request’s destination. Here, we only need to check whether it is no larger than the new request’s deadline (i.e., \(e_r\) ).

B.7 Proof of Lemma 14

Proof. By substituting \(\Delta _{i,j}\) (in Lemma 12) into Equation (33), we can derive that
\begin{equation} \Delta _j = \min _{i \lt j}{\Delta _{i,j}} = \min _{i \lt j}\max \lbrace \textsf {detO} (i)+\textsf {detD} (j)-\textsf {swait} [i+1], \textsf {detD} (j)-\textsf {swait} [j+1], 0\rbrace \end{equation}
(44)
In Equation (44), since \(j\) is fixed, the terms related to only \(j\) are constants, e.g., \(\textsf {detD} (j), \textsf {swait} [j+1]\) . Thus, we can rewrite Equation (44) by Equation (45).
\begin{equation} \Delta _j = \min \limits _{i \lt j}\max \lbrace F(i), C\rbrace \end{equation}
(45)
where the function \(F(i)\) and constant \(C\) are as follows (for proof brevity only):
\begin{align} F(i) &= \textsf {detO} (i)-\textsf {swait} [i+1]+\textsf {detD} (j) \end{align}
(46)
\begin{align} C &= \max \lbrace \textsf {detD} (j)-\textsf {swait} [j+1], 0\rbrace \end{align}
(47)
We next prove the following fact in Equation (48) from two aspects.
\begin{equation} \min \limits _{i \lt j}\max \lbrace F(i), C\rbrace = \max \lbrace \min \limits _{i\lt j}\lbrace F(i)\rbrace , C\rbrace \end{equation}
(48)
\(\exists i, F(i) \le C\) . We have both LHS and RHS of Equation (48) equal to \(C\) , since \(\min _{i\lt j}\lbrace F(i)\rbrace \le C\) .
\(\nexists i, F(i) \le C\) . In other words, \(\forall i, F(i) \gt C\) . Thus, the LHS of Equation (48) equals \(\min _{i\lt j}\lbrace F(i)\rbrace\) . The RHS of Equation (48) also equals \(\min _{i\lt j}\lbrace F(i)\rbrace\) , since \(\min _{i\lt j}\lbrace F(i)\rbrace\) is still larger than \(C\) .
Based on Equation (48), we can rewrite Equation (45) as follows:
\begin{equation} \Delta _j = \min \limits _{i \lt j}\max \lbrace F(i), C\rbrace = \max \lbrace \min \limits _{i\lt j}\lbrace F(i)\rbrace , C\rbrace \end{equation}
(49)
As a result, we then focus on efficiently calculating \(F(i)\) . Since \(\textsf {detD} (j)\) is a constant and \(\textsf {dio} [j] = \min _{i \lt j}\lbrace \textsf {detO} (i)-\textsf {swait} [i+1]\rbrace\) , we can calculate \(\min _{i\lt j}\lbrace F(i)\rbrace\) as follows.
\begin{align} \min \limits _{i\lt j}\lbrace F(i)\rbrace &= \min \limits _{i\lt j}\lbrace \textsf {detO} (i)-\textsf {swait} [i+1]+\textsf {detD} (j)\rbrace \nonumber \nonumber\\ &= \textsf {detD} (j) + \min \limits _{i\lt j}\lbrace \textsf {detO} (i)-\textsf {swait} [i+1]\rbrace \nonumber \nonumber\\ &= \textsf {detD} (j) + \textsf {dio} [j] \end{align}
(50)
Finally, we prove this lemma by substituting Equation (47) and (50) into Equation (49).
\begin{equation*} \Delta _j = \max \lbrace \textsf {detD} (j)+\textsf {dio} [j], C\rbrace = \max \lbrace \textsf {detD} (j)+\textsf {dio} [j], \textsf {detD} (j)-\textsf {swait} [j+1], 0\rbrace \end{equation*}

B.8 Proof of Lemma 15

Proof. First, we assume \(i=\textsf {plc} [j]\) violates the capacity constraint (i.e., the first case of Equation (38) is satisfied). By Lemma 13 (1), any other \(i \le j-1\) also violates the capacity constraint.
Next, we focus on the case when \(i=\textsf {plc} [j]\) only violates the deadline constraint in Lemma 13. Suppose to the contrary, there exists a \(z\) ( \(z \lt j\) and \(z \ne \textsf {plc} [j]\) ) which satisfies all the constraints. It indicates that for every \(k \in [z, j)\) , the capacity constraint \(\textsf {pick} [k] \le c_w-c_r\) always holds. Based on the definitions of \(\textsf {dio} [\cdot ]\) and \(\textsf {plc} [\cdot ]\) , we have \(\textsf {dio} [j] = \textsf {detO} (i)-\textsf {swait} [i+1] \le \textsf {detO} (z)-\textsf {swait} [z+1] \lt \infty\) and the integer \(i\) must exist. We complete our proof from the following three aspects.
When \(i\) violates Lemma 13 (2), we have \(\textsf {detO} (i) \gt \textsf {slack} [i]\) . In other words, the second case of Equation (38) is satisfied and \(\textsf {plc} [i+1]\) should be equal to \(\textsf {plc} [i]\) instead of \((i+1)-1=i\) . Thus, \(\textsf {plc} [j]\) cannot be equal to \(i\) , which is contradicted to the assumption.
When \(i\) violates Lemma 13 (3), we have \(\textsf {detD} (j)+\max \lbrace \textsf {detO} (i)-\textsf {swait} [i+1]+\textsf {swait} [j+1], 0\rbrace \gt \textsf {slack} [j]\) , where \(\textsf {detO} (i)-\textsf {swait} [i+1]\) can be simplified by \(\textsf {dio} [j]\) . Since \(\textsf {detO} (i)-\textsf {swait} [i+1] \le \textsf {detO} (z)-\textsf {swait} [z+1]\) , we can infer that \(\textsf {detD} (j)+\max \lbrace \textsf {detO} (z)-\textsf {swait} [z+1]+\textsf {swait} [j+1], 0\rbrace\) is larger than \(\textsf {slack} [j]\) . Thus, \(z\) violates Lemma 13 (3), which is contradicted to the assumption.
When \(i\) violates Lemma 13 (4), we have \(\textsf {arr} [j] + \textsf {wait} [j] + \max \lbrace \textsf {detO} (i)-\textsf {swait} [i+1]+\textsf {swait} [j+1], 0\rbrace + \textsf {dis} (l_j,d_r) \gt e_r\) and \(\textsf {detO} (i)-\textsf {swait} [i+1]\) can be simplified by \(\textsf {dio} [j]\) . As \(\textsf {detO} (i)-\textsf {swait} [i+1] \le \textsf {detO} (z)-\textsf {swait} [z+1]\) , we derive \(\textsf {arr} [j] + \textsf {wait} [j] + \max \lbrace \textsf {detO} (z)-\textsf {swait} [z+1]+\textsf {swait} [j+1], 0\rbrace + \textsf {dis} (l_j,d_r) \gt e_r\) . Thus, \(z\) violates Lemma 13 (4), which is contradicted to the assumption.

B.9 Proof of Lemma 16

Proof. We prove (1) by assuming the contrary. If the new request’s destination is feasible to be inserted after a location \(l_j\) , where \(j \lt k\) . Then the arrival time at the location \(l_k\) must be later than the release time of the request. By the prerequisite, we know the deadline of \(r_{l_k}\) must be violated, which is contradicted to the assumption.
We prove (2) by the prerequisite. We know \(\textsf {arr} [j] \gt e_r\) . Thus, the new request’s deadline must be violated when its destination is inserted after location \(l_j\) . By the definition of \(\textsf {arr} [\cdot ]\) in Equation (22), we know \(\textsf {arr} [j] \le \textsf {arr} [j+1]\) . Thus, we can safely prune any \(j \ge k\) .

References

[1]
Javier Alonso-Mora, Samitha Samaranayake, Alex Wallar, Emilio Frazzoli, and Daniela Rus. 2017. On-demand high-capacity ride-sharing via dynamic trip-vehicle assignment. Proc. Natl. Acad. Sci. 114, 3 (2017), 462–467.
[2]
Mohammad Asghari, Dingxiong Deng, Cyrus Shahabi, Ugur Demiryurek, and Yaguang Li. 2016. Price-aware real-time ride-sharing at scale: An auction-based approach. In SIGSPATIAL. 3:1–3:10.
[3]
Mohammad Asghari and Cyrus Shahabi. 2017. An on-line truthful and individually rational pricing mechanism for ride-sharing. In SIGSPATIAL. 7:1–7:10.
[4]
Xiaohui Bei and Shengyu Zhang. 2018. Algorithms for trip-vehicle assignment in ride-sharing. In AAAI. 3–9.
[5]
Allan Borodin and Ran El-Yaniv. 2005. Online Computation and Competitive Analysis. Cambridge University Press.
[6]
Bin Cao, Chenyu Hou, Liwei Zhao, Louai Alarabi, Jing Fan, Mohamed F. Mokbel, and Anas Basalamah. 2020. SHAREK*: A scalable matching method for dynamic ride sharing. GeoInformatica 24, 4 (2020).
[7]
Zhiguang Cao, Siwei Jiang, Jie Zhang, and Hongliang Guo. 2017. A unified framework for vehicle rerouting and traffic light control to reduce traffic congestion. IEEE Trans. Intell. Transp. Syst. 18, 7 (2017), 1958–1973.
[8]
Moses Charikar and Balaji Raghavachari. 1998. The finite capacity dial-a-ride problem. In FOCS. 458–467.
[9]
Lu Chen, Qilu Zhong, Xiaokui Xiao, Yunjun Gao, Pengfei Jin, and Christian S. Jensen. 2018. Price-and-time-aware dynamic ridesharing. In ICDE. 1061–1072.
[10]
Peng Cheng, Hao Xin, and Lei Chen. 2017. Utility-aware ridesharing on road networks. In SIGMOD. 1197–1210.
[11]
Didi Chuxing. 2018. GAIA Initiative Open Dataset. Retrieved July 22, 2018 from https://gaia.didichuxing.com/.
[12]
Blerim Cici, Athina Markopoulou, and Nikolaos Laoutaris. 2015. Designing an on-line ride-sharing system. In SIGSPATIAL. 60:1–60:4.
[13]
Michael J. Curry, John P. Dickerson, Karthik Abinav Sankararaman, Aravind Srinivasan, Yuhao Wan, and Pan Xu. 2019. Mix and match: Markov chains and mixing times for matching in rideshare. In WINE. 129–141.
[14]
John P. Dickerson, Karthik Abinav Sankararaman, Aravind Srinivasan, and Pan Xu. 2018. Assigning tasks to workers based on historical data: Online task assignment with two-sided arrivals. In AAMAS. 318–326.
[15]
John P. Dickerson, Karthik Abinav Sankararaman, Aravind Srinivasan, and Pan Xu. 2019. Balancing relevance and diversity in online bipartite matching via submodularity. In AAAI. 1877–1884.
[16]
Pedro M. d’Orey, Ricardo Fernandes, and Michel Ferreira. 2012. Empirical evaluation of a dynamic and distributed taxi-sharing system. In ITSC. 140–146.
[17]
R. Fagin, A. Lotem, and M. Naor. 2001. Optimal aggregation algorithms for middleware. In PODS. 102–113.
[18]
E. Feuerstein and L. Stougie. 2001. On-line single-server dial-a-ride problems. Theor. Comput. Sci. 268, 1 (2001), 91–105.
[19]
Luca Foti, Jane Lin, and Ouri Wolfson. 2021. Optimum versus Nash-equilibrium in taxi ridesharing. GeoInformatica 25, 3 (2021), 423–451.
[20]
Xu Geng, Yaguang Li, Leye Wang, Lingyu Zhang, Qiang Yang, Jieping Ye, and Yan Liu. 2019. Spatiotemporal multi-graph convolution network for ride-hailing demand forecasting. In AAAI. 3656–3663.
[21]
Geofabrik. 2021. OpenStreetMap Data Extracts. Retrieved July 18, 2021 from https://download.geofabrik.de/.
[22]
Anupam Gupta, MohammadTaghi Hajiaghayi, Viswanath Nagarajan, and R. Ravi. 2010. Dial a ride from k-forest. ACM Trans. Algorithms 6, 2 (2010), 41.
[23]
Wesam Mohamed Herbawi and Michael Weber. 2012. A genetic and insertion heuristic algorithm for solving the dynamic ridematching problem with time windows. In GECCO. 385–392.
[24]
S. C. Ho, W. Y. Szeto, Y. H. Kuo, J. M. Y. Leung, M. Petering, and T. W. H. Tou. 2018. A survey of dial-a-ride problems: Literature review and recent developments. Transportation Research Part B: Methodological 111 (2018).
[25]
Yan Huang, Favyen Bastani, Ruoming Jin, and Xiaoyang Sean Wang. 2014. Large scale real-time ridesharing with service guarantee on road networks. PVLDB 7, 14 (2014), 2017–2028.
[26]
J. J. Jaw, A. R. Odoni, H. N. Psaraftis, and N. H. M. Wilson. 1986. A heuristic algorithm for the multi-vehicle advance request dial-a-ride problem with time windows. Transportation Research Part B: Methodological 20, 3 (1986), 243–257.
[27]
Alexander Kleiner, Bernhard Nebel, and Vittorio A. Ziparo. 2011. A mechanism for dynamic ride sharing based on parallel auctions. In IJCAI. 266–272.
[28]
Ye Li, Leong Hou U, Man Lung Yiu, and Ngai Meng Kou. 2017. An experimental study on hub labeling based shortest path algorithms. PVLDB 11, 4 (2017), 445–457.
[29]
Yafei Li, Ji Wan, Rui Chen, Jianliang Xu, Xiaoyi Fu, Hongyan Gu, Pei Lv, and Mingliang Xu. 2021. Top-k vehicle matching in social ridesharing: A price-aware approach. IEEE Trans. Knowl. Data Eng. 33, 3 (2021), 1251–1263.
[30]
Yaguang Li, Rose Yu, Cyrus Shahabi, and Yan Liu. 2018. Diffusion convolutional recurrent neural network: Data-driven traffic forecasting. In ICLR.
[31]
Z. Liu, Z. Gong, J. Li, and K. Wu. 2020. Mobility-aware dynamic taxi ridesharing. In ICDE. 961–972.
[32]
Hui Luo, Zhifeng Bao, Farhana Murtaza Choudhury, and J. Shane Culpepper. 2021. Dynamic ridesharing in peak travel periods. IEEE Trans. Knowl. Data Eng. 33, 7 (2021), 2888–2902.
[33]
Shuo Ma, Yu Zheng, and Ouri Wolfson. 2013. T-share: A large-scale dynamic taxi ridesharing service. In ICDE. 410–421.
[34]
Shuo Ma, Yu Zheng, and Ouri Wolfson. 2015. Real-time city-scale taxi ridesharing. IEEE Trans. Knowl. Data Eng. 27, 7 (2015), 1782–1795.
[35]
Michael Mitzenmacher and Eli Upfal. 2017. Probability and Computing: Randomization and Probabilistic Techniques in Algorithms and Data Analysis. Cambridge University Press.
[36]
Vedant Nanda, Pan Xu, Karthik Abinav Sankararaman, John P. Dickerson, and Aravind Srinivasan. 2020. Balancing the tradeoff between profit and fairness in rideshare platforms during high-demand hours. In AAAI. 2210–2217.
[37]
NYC. 2021. TLC Trip Record Data. Retrieved July 18, 2021 from https://www1.nyc.gov/site/tlc/index.page.
[38]
Masayo Ota, Huy Vo, Claudio Silva, and Juliana Freire. 2015. A scalable approach for data-driven taxi ride-sharing simulation. In Big Data. 888–897.
[39]
Masayo Ota, Huy Vo, Claudio Silva, and Juliana Freire. 2017. STaRS: Simulating taxi ride sharing at scale. IEEE Trans. Big Data 3, 3 (2017), 349–361.
[40]
J. Pan, G. Li, and J. Hu. 2019. Ridesharing: Simulator, benchmark, and evaluation. PVLDB 12, 10 (2019), 1085–1098.
[41]
Dominik Pelzer, Jiajian Xiao, Daniel Zehe, Michael H. Lees, Alois C. Knoll, and Heiko Aydt. 2015. A partition-based match making algorithm for dynamic ridesharing. IEEE Trans. Intell. Transp. Syst. 16, 5 (2015), 2587–2598.
[42]
Zachary B. Rubinstein, Stephen F. Smith, and Laura Barbulescu. 2012. Incremental management of oversubscribed vehicle schedules in dynamic dial-a-ride problems. In AAAI. 1809–1815.
[43]
Paolo Santi, Giovanni Resta, Michael Szell, Stanislav Sobolevsky, Steven H. Strogatz, and Carlo Ratti. 2014. Quantifying the benefits of vehicle pooling with shareability networks. Proc. Natl. Acad. Sci. 111, 37 (2014), 13290–13294.
[44]
Douglas Oliveira Santos and Eduardo Candido Xavier. 2013. Dynamic taxi and ridesharing: A framework and heuristics for the optimization problem. In IJCAI. 2885–2891.
[45]
Susan Shaheen, Adam Cohen, and Ismail Zohdy. 2016. Shared Mobility: Current Practices and Guiding Principles. Technical Report. United States. Federal Highway Administration.
[46]
Bilong Shen, Yan Huang, and Ying Zhao. 2016. Dynamic ridesharing. SIGSPATIAL Special 7, 3 (2016), 3–10.
[47]
R. S. Thangaraj, K. Mukherjee, G. Raravi, A. Metrewar, N. Annamaneni, and K. Chattopadhyay. 2017. Xhare-a-Ride: A search optimized dynamic ride sharing system with approximation guarantee. In ICDE. 1117–1128.
[48]
Y. Tong, Y. Chen, Z. Zhou, L. Chen, J. Wang, Q. Yang, J. Ye, and W. Lv. 2017. The simpler the better: A unified approach to predicting original taxi demands based on large-scale online platforms. In KDD. 1653–1662.
[49]
Yongxin Tong, Libin Wang, Zimu Zhou, Bolin Ding, Lei Chen, Jieping Ye, and Ke Xu. 2017. Flexible online task assignment in real-time spatial data. PVLDB 10, 11 (2017), 1334–1345.
[50]
Yongxin Tong, Yuxiang Zeng, Zimu Zhou, Lei Chen, Jieping Ye, and Ke Xu. 2018. A unified approach to route planning for shared mobility. PVLDB 11, 11 (2018), 1633–1646.
[51]
Yongxin Tong, Zimu Zhou, Yuxiang Zeng, Lei Chen, and Cyrus Shahabi. 2020. Spatial crowdsourcing: A survey. The VLDB Journal 29, 1 (2020), 217–250.
[52]
Paolo Toth and Daniele Vigo. 2002. The Vehicle Routing Problem. SIAM.
[53]
Shared Use Mobility Center. 2021. What is Shared Mobility? Retrieved July 18, 2021 from https://goo.gl/3Jw6z7.
[54]
Jiachuan Wang, Peng Cheng, Libin Zheng, Chao Feng, Lei Chen, Xuemin Lin, and Zheng Wang. 2020. Demand-aware route planning for shared mobility services. PVLDB 13, 7 (2020), 979–991.
[55]
David Wilkie, Cenk Baykal, and Ming C. Lin. 2014. Participatory route planning. In SIGSPATIAL. 213–222.
[56]
D. Wilkie, J. P. Berg, M. C. Lin, and D. Manocha. 2011. Self-aware traffic route planning. In AAAI.
[57]
N. H. M. Wilson, R. Weissberg, B. Higonnet, and J. Hauser. 1975. Advanced Dial-A-Ride Algorithms. Technical Report.
[58]
Yi Xu, Yongxin Tong, Yexuan Shi, Qian Tao, Ke Xu, and Wei Li. 2019. An efficient insertion operator in dynamic ridesharing services. In ICDE. 1022–1033.
[59]
Y. Xu and P. Xu. 2020. Trade the system efficiency for the income equality of drivers in rideshare. In IJCAI. 4199–4205.
[60]
Yifan Xu, Pan Xu, Jianping Pan, and Jun Tao. 2020. A unified model for the two-stage offline-then-online resource allocation. In IJCAI. 4206–4212.
[61]
Andrew Chi Chin Yao. 1977. Probabilistic computations: Toward a unified measure of complexity. In FOCS. 222–227.
[62]
Huaxiu Yao, Fei Wu, Jintao Ke, Xianfeng Tang, Yitian Jia, Siyu Lu, Pinghua Gong, Jieping Ye, and Zhenhui Li. 2018. Deep multi-view spatial-temporal network for taxi demand prediction. In AAAI. 2588–2595.
[63]
San Yeung, Evan Miller, and Sanjay Madria. 2016. A flexible real-time ridesharing system considering current road conditions. In MDM. 186–191.
[64]
Chak Fai Yuen, Abhishek Pratap Singh, Sagar Goyal, Sayan Ranu, and Amitabha Bagchi. 2019. Beyond shortest paths: Route recommendations for ride-sharing. In WWW. 2258–2269.
[65]
Yuxiang Zeng, Yongxin Tong, and Lei Chen. 2019. Last-mile delivery made practical: An efficient route planning framework with theoretical guarantees. PVLDB 13, 3 (2019), 320–333.
[66]
Yuxiang Zeng, Yongxin Tong, Yuguang Song, and Lei Chen. 2020. The simpler the better: An indexing approach for shared-route planning queries. PVLDB 13, 13 (2020), 3517–3530.
[67]
Junbo Zhang, Yu Zheng, and Dekang Qi. 2017. Deep spatio-temporal residual networks for citywide crowd flows prediction. In AAAI. 1655–1661.
[68]
Boming Zhao, Pan Xu, Yexuan Shi, Yongxin Tong, Zimu Zhou, and Yuxiang Zeng. 2019. Preference-aware task assignment in on-demand taxi dispatching: An online stable matching approach. In AAAI. 2245–2252.
[69]
Bolong Zheng, Chenze Huang, Christian S. Jensen, Lu Chen, Nguyen Quoc Viet Hung, Guanfeng Liu, Guohui Li, and Kai Zheng. 2020. Online trichromatic pickup and delivery scheduling in spatial crowdsourcing. In ICDE. 973–984.
[70]
Libin Zheng, Lei Chen, and Jieping Ye. 2018. Order dispatch in price-aware ridesharing. PVLDB 11, 8 (2018), 853–865.
[71]
L. Zheng, P. Cheng, and L. Chen. 2019. Auction-based order dispatch and pricing in ridesharing. In ICDE. 1034–1045.

Cited By

View all
  • (2024)Fast and Scalable Ridesharing SearchIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2024.341843336:11(6159-6170)Online publication date: Nov-2024
  • (2024)Fresh Data Retrieval With Speed-Adjustable Mobile Devices in Cyber-Physical SystemsIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.334847336:8(3851-3866)Online publication date: 1-Aug-2024
  • (2024)Trajectory-Aware Task Coalition Assignment in Spatial CrowdsourcingIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.333664236:11(7201-7216)Online publication date: Nov-2024
  • Show More Cited By

Index Terms

  1. Unified Route Planning for Shared Mobility: An Insertion-based Framework

    Recommendations

    Comments

    Information & Contributors

    Information

    Published In

    cover image ACM Transactions on Database Systems
    ACM Transactions on Database Systems  Volume 47, Issue 1
    March 2022
    180 pages
    ISSN:0362-5915
    EISSN:1557-4644
    DOI:10.1145/3514171
    Issue’s Table of Contents

    Publisher

    Association for Computing Machinery

    New York, NY, United States

    Publication History

    Published: 02 May 2022
    Accepted: 01 September 2021
    Revised: 01 July 2021
    Received: 01 January 2021
    Published in TODS Volume 47, Issue 1

    Permissions

    Request permissions for this article.

    Check for updates

    Author Tags

    1. Route planning
    2. Ride-sharing
    3. Insertion
    4. Dynamic programming

    Qualifiers

    • Research-article
    • Refereed

    Funding Sources

    • National Key Research and Development Program of China
    • National Science Foundation of China (NSFC)
    • CCF-Huawei Database System Innovation Research Plan
    • State Key Laboratory of Software Development Environment Open Funding
    • Hong Kong RGC GRF Project
    • RIF Project
    • CRF Project
    • AOE Project
    • Theme-based project TRS
    • China NSFC
    • Guangdong Basic and Applied Basic Research Foundation
    • Hong Kong ITC ITF
    • Microsoft Research Asia Collaborative Research Grant
    • HKUST-NAVER/LINE AI Lab, Didi-HKUST joint research lab, HKUST-Webank joint research lab grants

    Contributors

    Other Metrics

    Bibliometrics & Citations

    Bibliometrics

    Article Metrics

    • Downloads (Last 12 months)254
    • Downloads (Last 6 weeks)32
    Reflects downloads up to 04 Oct 2024

    Other Metrics

    Citations

    Cited By

    View all
    • (2024)Fast and Scalable Ridesharing SearchIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2024.341843336:11(6159-6170)Online publication date: Nov-2024
    • (2024)Fresh Data Retrieval With Speed-Adjustable Mobile Devices in Cyber-Physical SystemsIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.334847336:8(3851-3866)Online publication date: 1-Aug-2024
    • (2024)Trajectory-Aware Task Coalition Assignment in Spatial CrowdsourcingIEEE Transactions on Knowledge and Data Engineering10.1109/TKDE.2023.333664236:11(7201-7216)Online publication date: Nov-2024
    • (2024)Cross Online Ride-Sharing for Multiple-Platform Cooperations in Spatial Crowdsourcing2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00317(4140-4152)Online publication date: 13-May-2024
    • (2024)Cooperative Global Path Planning for Multiple Platforms2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00030(303-316)Online publication date: 13-May-2024
    • (2024)Task Recommendation in Spatial Crowdsourcing: A Trade-Off Between Diversity and Coverage2024 IEEE 40th International Conference on Data Engineering (ICDE)10.1109/ICDE60146.2024.00028(276-288)Online publication date: 13-May-2024
    • (2024)Real-time Multi-platform Route Planning in ridesharingExpert Systems with Applications10.1016/j.eswa.2024.124819255(124819)Online publication date: Dec-2024
    • (2024)A greedy approach for increased vehicle utilization in ridesharing platformsExpert Systems with Applications10.1016/j.eswa.2024.124670255(124670)Online publication date: Dec-2024
    • (2024)Flight Planning at Scale: A Bipartite Matching Based ApproachDatabase Systems for Advanced Applications10.1007/978-981-97-5575-2_2(19-36)Online publication date: 2-Sep-2024
    • (2023)Panek Carsharing 2.0: An innovative sharing economy platform for efficient and sustainable mobilityHumanities & Social Sciences Reviews10.18510/hssr.2022.114411:4(22-28)Online publication date: 27-Jul-2023
    • Show More Cited By

    View Options

    Get Access

    Login options

    Full Access

    View options

    PDF

    View or Download as a PDF file.

    PDF

    eReader

    View online with eReader.

    eReader

    Full Text

    View this article in Full Text.

    Full Text

    HTML Format

    View this article in HTML Format.

    HTML Format

    Media

    Figures

    Other

    Tables

    Share

    Share

    Share this Publication link

    Share on social media