Skip to main content
Log in

Improved Bounds for Revenue Maximization in Time-Limited Online Dial-a-Ride

  • Original Research
  • Published:
Operations Research Forum Aims and scope Submit manuscript

Abstract

In the Online Dial-a-Ride Problem (OLDARP), a server travels to serve requests for rides. We consider a variant where each request specifies a source, destination, release time, and revenue that is earned for serving the request. The goal is to maximize the total revenue earned within a given time limit. We first prove that no non-preemptive deterministic online algorithm can be guaranteed to earn more than half the revenue earned by opt. We then investigate the segmented best path (sbp) algorithm of [1]. The previously established lower and upper bounds for the competitive ratio of sbp are 4 and 6, respectively, under reasonable assumptions about the input instance. We eliminate the gap by proving that the competitive ratio is 5 (under the same assumptions) and also prove that this bound is tight. When revenues are uniform, we prove that sbp has competitive ratio 4. Next we provide a competitive analysis of sbp on complete bipartite graphs. We then consider this problem on the uniform metric and revisit the bp algorithm of [1]; we provide an instance where the algorithm's competitive ratio is unbounded. We conclude with experimental results that suggest that sbp would be effective if applied in practice.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6

Similar content being viewed by others

Data Availability

The datasets generated and/or analyzed during the current study are available from the corresponding author on reasonable request.

Code Availability

The code used to generate results for this study are available from the corresponding author on reasonable request.

Notes

  1. We note that any simple, undirected, connected, weighted graph is allowed as input, with the simple pre-processing step of adding an edge wherever one is not present whose weight is the length of the shortest path between its two endpoints. We further note that the input can be regarded as a metric space if the weights on the edges are expected to satisfy the triangle inequality.

References

  1. Christman A, Chung C, Jaczko N, Milan M, Vasilchenko A, Westvold S (2017) Revenue maximization in online dial-a-ride. In: 17th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS 2017). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik

  2. Christman A, Chung C, Jaczko N, Li T, Westvold S, Xu X, Yuen D (2020) New bounds for maximizing revenue in online dial-a-ride. In: 31st International Workshop on on Combinatorial Algorithms (IWOCA 2020)

  3. Feuerstein E, Stougie L (2001) On-line single-server dial-a-ride problems. Theor Comput Sci 268(1):91–105

    Article  Google Scholar 

  4. Jaillet P, Wagner MR (2008) Online vehicle routing problems: A survey. The Vehicle Routing Problem: Latest Advances and New Challenges. pp. 221–237

  5. Molenbruch Y, Braekers K, Caris A (2017) Typology and literature review for dial-a-ride problems. Ann Oper Res 259(1–2):295–325

    Article  Google Scholar 

  6. Krumke SO (2002) Online optimization: Competitive analysis and beyond

  7. Birx A, Disser Y, Schewior K (2019) Improved bounds for open online dial-a-ride on the line. In: Approximation, Randomization, and Combinatorial Optimization. Algorithms and Techniques (APPROX/RANDOM 2019). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik

  8. Ascheuer N, Krumke SO, Rambau J (2000) Online dial-a-ride problems: Minimizing the completion time. In: Annual Symposium on Theoretical Aspects of Computer Science. pp. 639–650. Springer

  9. Birx A, Disser Y (2019) Tight analysis of the smartstart algorithm for online dial-a-ride on the line. In: 36th International Symposium on Theoretical Aspects of Computer Science

  10. Birx A, Disser Y (2020) Tight analysis of the smartstart algorithm for online dial-a-ride on the line. SIAM J Discrete Math 34(2):1409–1443

    Article  Google Scholar 

  11. Bjelde A, Hackfeld J, Disser Y, Hansknecht C, Lipmann M, Meißner J, SchlÖter M, Schewior K, Stougie L (2020) Tight bounds for online tsp on the line. ACM Transactions on Algorithms (TALG) 17(1):1–58

    Google Scholar 

  12. Ausiello G, Feuerstein E, Leonardi S, Stougie L, Talamo M (2001) Algorithms for the on-line travelling salesman. Algorithmica 29(4):560–581

    Article  Google Scholar 

  13. Krumke SO, de Paepe WE, Poensgen D, Lipmann M, Marchetti-Spaccamela A, Stougie L (2005) On minimizing the maximum flow time in the online dial-a-ride problem. In: International Workshop on Approximation and Online Algorithms. pp. 258–269. Springer

  14. Balas E (1989) The prize collecting traveling salesman problem. Networks 19(6):621–636

    Article  Google Scholar 

  15. Ausiello G, Bonifaci V, Laura L (2008) The online prize-collecting traveling salesman problem. Inf Process Lett 107(6):199–204

    Article  Google Scholar 

  16. Anthony B, Boyd S, Birnbaum R, Christman A, Chung C, Davis P, Dhimar J, Yuen D (2019) Maximizing the number of rides served for dial-a-ride. In: 19th Workshop on Algorithmic Approaches for Transportation Modelling, Optimization, and Systems (ATMOS 2019). Schloss Dagstuhl-Leibniz-Zentrum fuer Informatik

  17. Christman A, Forcier W, Poudel A (2018) From theory to practice: maximizing revenues for on-line dial-a-ride. J Comb Optim 35(2):512–529

    Article  Google Scholar 

  18. Corporation S. Dial-a-ride, http://stagecoach-rides.org/dial-a-ride/

  19. Council M. Transit link: Dial-a-ride small bus service, https://metrocouncil.org/Transportation/Services/Transit-Link.aspx

  20. City of Plymouth M. Plymouth metrolink dial-a-ride, http://www.plymouthmn.gov/departments/administrative-services-/transit/plymouth-metrolink-dial-a-ride

Download references

Funding

This study was not funded by a grant.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Ananya D. Christman.

Ethics declarations

Conflict of Interest

On behalf of all authors, the corresponding author states that there is no conflict of interest.

Additional information

Publisher’s Note

Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.

A preliminary conference paper containing a portion of these results appeared in [2]

Appendix

Appendix

In this section we provide supplementary proofs for our results in the main sections.

1.1 Proof of general lower bound for uniform revenues

Theorem 8

Even if revenues are uniform, no non-preemptive deterministic online algorithm for ROLDARP can be guaranteed to earn more than half the revenue earned by opt in the first \(T-2T/f\) time units.

Proof

Consider the following instance with f = 5 (so there are 5 time segments of length T/f). For simplicity, we let \(X=T/f\) denote the length of a time segment and therefore the maximum distance between two locations, so \(T=5X\). We let the uniform revenue be 1. Fix a positive integer k and let \(\delta =X/(4k)\). Let d(uv) denote the distance between locations u and v.

The graph will consist of nodes \(s_0, a_i, b_i, z_i, c_j, d_j,e_j^{(m)},f_j^{(m)},\) (\(0\le i\le 3\), \(0\le j\le k\), \(1\le m\le 4k-1\)), with distances

  • \(d(a_2,a_3)=d(b_2,b_3)=d(z_2,z_3)=\delta\),

  • \(d(a_3,a_4)=d(b_3,b_4)=d(z_3,z_4)=X-\delta\),

  • \(d(c_i,c_j)=d(d_i,d_j)=|i-j|X/k\)

  • \(d(e_i^{(m)},e_j^{(m)})=d(f_i^{(m)},f_j^{(m)})=|i-j|(X-m\delta )/k\),

  • \(d(c_k,e_0)=d(d_k,f_0)=(m-1)\delta\).

All distances are X unless otherwise stated above.

Let opt denote an optimal offline schedule, let on denote a deterministic online algorithm and let \(s_0\) denote the origin, i.e., the location of on and opt at time 0. At time X let s be the node that on is at or moving toward. Pick two of \(a_1,b_1,z_1\) that are not s. Because the graph is symmetric in the a's, b's, and z's, we may w.l.o.g. pick \(a_1,b_1\). Then on cannot have been moving toward a1 or b1 at a time \(t_1<X\). The adversary releases requests \(r_1 = (a_1, a_2, X, 1)\) and \(r_2 = (b_1, b_2, X, 1)\). We do a proof by cases that depend on when on headed toward a1 or b1.

  1. 1.

    Case: on does not heads toward a1 or b1 before time \(2X+\delta\). Then the adversary releases \(r_3=(b_2,b_0,2X+\delta ,1)\). At time \(2X+\delta\), on has only \(3X-\delta\) time left, which is insufficient to serve more than one request. So on earns at most revenue 1 while opt earns 2 in time 3X via \(s_0,b_1,b_2,b_0\).

  2. 2.

    Case: on moves from some node at time \(2X\le t_1 <2X+\delta\) to either a1 or b1, which we can say is a1 without loss of generality. The adversary releases request \(r_3=(b_3,b_4,2X+\delta ,1)\). Then on will be at a1 at time \(t_1+X\ge 3X\). So on can serve at most one request because there is at most time 2X remaining. On the other hand, opt can earn revenue 2 in time 3X via the path \(s_0,b_1,b_2,b_3,b_4\).

  3. 3.

    Case: on moves from some node at time \(X<t_1 <2X\) toward either a1 or b1, which we can assume w.l.o.g. to be a1. The adversary releases request \(r_3=(b_2,b_0,2X,1)\). Then on arrives at a1 at time \(t_1+X>2X\). There is less than time 3X remaining and so it is impossible to earn more than revenue 1, while opt earns 2 in time 3X via \(s_0,b_1,b_2,b_0\).

  4. 4.

    Case: on moves from some node at time \(t_1=X\) toward either a1 or b1, which we can assume w.l.o.g. to be a1. Then the adversary releases the requests: \(r'_i = (c_{i-1}, c_{i}, X+\delta , 1)\), \(r''_i = (d_{i-1}, d_{i}, X+\delta , 1)\), for \(i=1,\ldots ,k\). So on arrives at a1 at time 2X.

    1. a.

      Case: on does not head toward any of \(a_2, c_i, d_i\) before time \(3X-\delta\). At time \(3X-\delta\), call s the node that on is at or heading toward. Because simultaneously exchanging \(f^{(m)}_i\) with \(e^{(m)}_i\) and \(c_i\) with \(d_i\) is a graph isomorphism, we can w.l.o.g. assume this s is not one of the \(f^{(m)}_i\). The adversary releases \(\bar{r}_i=(f^{(4k-1)}_{i-1},f^{(4k-1)}_i,3X-\delta ,1)\) for \(i=1,\ldots ,k\). Note the chain of \(\bar{r}_1,\ldots ,\bar{r}_k\) has total length \(\delta\) and \(d(d_k,f^{(4k-1)}_0)=X-2\delta\). There is time \(2X+\delta\) remaining. That is insufficient time to serve more than \(k+1\) requests. On the other hand, opt can earn 2k in time 3X via \(s_0,d_0, (\text{pause time} \delta ),d_1,\ldots ,d_k,f^{(4k-1)}_0,\ldots ,f^{(4k-1)}_k\).

    2. b.

      Case: on heads toward a2 at time \(t_2\) with \(2X\le t_2< 3X-\delta\). The adversary releases \(\bar{r}_i=(f^{(4k-1)}_{i-1},f^{(4k-1)}_i,3X-\delta ,1)\) for i = 1, . . . , k. Then on arrives at a2 at time \(t_2+X\ge 3X\). There is time at most 2X remaining; then it is not possible to serve more than k additional requests. So on earns at most 1 + k, while opt can earn 2 k in time 3 X via s0, d0, (pause time ẟ), d1, . . ., dk, f0(4k-1), . . . ,fk(4k-1) .

    3. c.

      Case: on heads toward some \(c_{i{}_{0}}\) or \(d_{i{}_{0}}\) at time with \(2X\le t_2< 3X-\delta\). We can assume w.l.o.g. on is heading toward some \(c_{i{}_{0}}\). Let 1 ≤ m ≤ 4k-1 such that 2X + (m - 1)ẟ ≤ t2< 2X + mẟ. The adversary releases for i = 1, . . . , k. Then on arrives at \(c_{i{}_{0}}\) at time t1 + X 3X + (m - 1)ẟ. There is at most 2X - (m - 1)ẟ time remaining. Note that the chain \(\bar{r}_1,\ldots ,\bar{r}_k\) has total length X - mẟ, and thus it takes at least time 2X - mẟ to serve this chain from \(c_{i{}_{0}}\). Thus on can serve at most k requests. On the other hand, opt can earn 2k in time 3X via s0, d0, (pause time ẟ), d1, . . . , dk, f0(m), . . . , fk(m) .

    In all subcases of Case 4, on earns at most revenue 1 + k while opt earns 2k. So \({{\scriptsize{\text{OPT}}} \over {\scriptsize{\text{ON}}}} \geq 2k / (1 + k)\).

1.2 Proof of Lower Bound for SBP with Nonuniform Revenues

The following lemma is used for the proof of the sbp lower bound (Theorem 2).

Lemma 5

τk ≥ 4kh + 1 for k = 1. . . f/2 - 2.

Proof

Recall that for each \(k=1 \ldots f/2-2\), opt'arrives at vertex \(u_{2k}\) at time \(\tau _k = 1+m(h+1)+(1+h)(k-1)\). By definition of \(m = \lfloor (3hf - 4h - f + 2)/(2(h+1)) \rfloor\), we know

$$m \ge (3hf - 4h - f + 2)/(2(h+1)) -1.$$

So

$$m(h+1) \ge (3hf - 4h - f +2)/2 - (h+1).$$

Then

$$\tau _k \ge 1 + (3hf - 4h - f +2)/2 - (h+1)+ (1+h)(k-1).$$

We then rewrite as

$$\begin{aligned} \tau _k\ge & {} 1 + (3f/2 - 2)h -f/2 + 1 - h - 1 + k-1+ h(k-1) - 4kh + 4kh\\\ge & {} 1 + 4kh + (3f/2-2 +k-1-1 -4k)h - f/2 -1 +k\\\ge & {} 1+ 4kh + (3f/2 - 4 -3k)h - f/2- 1 + k\\\ge & {} 1 + 4kh + (3f/2 -4 -3k)h - f/2 + 4/3 + k - 1 -4/3\\\ge & {} 1 + 4kh + (3f/2 -4 -3k)(h - 1/3) - 1 - 4/3. \end{aligned}$$

Since \(k\le f/2-2\), then \(3k\le 3f/2-6\). Then \(3f/2 - 6 -3k\ge 0\). Hence \(3f/2-4-3k \ge 2\). So

$$\begin{aligned} (3f/2 -4 -3k)(h - 1/3) -1 - 4/3\ge & {} 2(h - 1/3) - 2(h-1) - 4/3\\\ge & {} 2h - 2/3 -2h + 2 - 4/3 \ge 0. \end{aligned}$$

Thus we have shown \(\tau _k \ge 1 + 4kh\).

1.3 Proofs for Bipartite Graphs

The proof of Theorem 7 (in Section 5.2) relies on the fact that rev(sbp) ≥ rev(sbp') which we now prove using the following two lemmas. Recall that within the \(i^{th}\) window sbp' serves exactly one request: the maximum revenue request served by opt during the \((i-1)^{th}\) window. We now create another subroutine, called sbp″, that, for every window, serves the highest revenue available request. Lemma 6 shows why \(rev({\scriptsize{\text{SBP}}}'')\ge rev({\scriptsize{\text{SBP}}}')\), and Lemma 7 shows why \(rev({\scriptsize{\text{SBP}}})\ge rev({\scriptsize{\text{SBP}}}'')\), so we know \(rev({\scriptsize{\text{SBP}}})\ge rev({\scriptsize{\text{SBP}}}')\).

Lemma 6

Let \(O'\) and \(O''\) denote the set of revenues of the \(\mu = \lceil f/2 \rceil\) requests served by \({\scriptsize{\text{SBP}}}'\) and sbp″ by the end of window \(\mu\), sorted in descending order. Let \(O'[z]\) and \(O''[z]\) denote the \(z^{th}\) element of \(O'\) and \(O''\), respectively, where \(z=1,2,...,\mu\). Then:

$$\begin{aligned} rev({\scriptsize{\text{SBP}}}'')= \sum _{z=1}^{\mu }O''[z] \ge \sum _{z=1}^{\mu }O'[z]=rev({\scriptsize{\text{SBP}}}' ). \end{aligned}$$
(24)

Proof

We proceed by strong induction. Recall \(Q_i'\) is the set of revenues of all requests served by sbp' during window i. Let \(Q_i''\) and \(Q_i^*\) denote the set of revenues of all requests served by sbp″ and opt, respectively, during window i.

Base case. \(z=1\). We know that \(O'[1]\) = \(\max \{ Q_1^*\cup Q_2^* \cup ...\cup Q_{\mu -1}^* \}\).

Consider sbp″ during the last window; there are two cases: 1. sbp″ has served a request with revenue equal to or larger than \(O'[1] = \max \{ Q_1^*\cup Q_2^* \cup ...\cup Q_{\mu -1}^* \}\); 2. sbp″ has not served such a request.

In the first case, no matter which request sbp″ serves in the last window, \(O''[1] \ge O'[1]\).

In the second case, sbp″ will choose one available request with the maximum revenue to serve in the last window, so \(Q_\mu ''\) will have revenue either equal to \(\max \{ Q_1^*\cup Q_2^* \cup ...\cup Q_{\mu -1}^* \}\) or larger than \(\max \{ Q_1^*\cup Q_2^* \cup ...\cup Q_{\mu -1}^* \}\). Thus, when sbp″ is done, \(O''[1] \ge O'[1]\).

Inductive case. Suppose \(O''[z]\ge O'[z]\) is true for \(z=1,2,...,l\). Consider \(z=l+1\). We will show by contradiction that \(O''[l+1]\ge O'[l+1]\). Suppose \(O''[l+1]<O'[l+1]\).

By the definition of \(O''\), we know \(O''[1], O''[2], ..., O''[l]\) are the l largest revenues served by sbp″, and

$$\begin{aligned} O''[1]\ge O''[2]\ge ...\ge O''[l]. \end{aligned}$$
(25)

From the inductive hypothesis,

$$\begin{aligned} O''[l]\ge O'[l]. \end{aligned}$$
(26)

Given the ordered nature of \(O'\), we have

$$\begin{aligned} O'[l]\ge O'[l+1]. \end{aligned}$$
(27)

Given \(O''[l+1]<O'[l+1]\), (26), and (27), we have

$$\begin{aligned} O''[l]\ge O'[l] \ge O'[l+1] > O''[l+1]. \end{aligned}$$
(28)

The general approach of this proof is that, if the request that corresponds to the revenue \(O'[l+1]\) is not the request that corresponds to any of \(O''[1], O''[2], ..., O''[l]\), then the \((l+1)^{th}\) largest request selected by sbp″ would have been \(O'[l+1]\) instead of \(O''[l+1]\), since \(O''[l+1]<O'[l+1]\). This is a contradiction. Now we must affirm that the request corresponding to \(O'[l+1]\) does not correspond to any of \(O''[1], O''[2], ..., O''[l]\). To verify this precondition, we consider the two possible cases of (28).

Case 1. If \(O''[l] > O'[l]\) or \(O'[l] > O'[l+1]\), then given (26) and (27), the consequence of this case will be \(O[l]>O'[l+1]\). More generally, taking into account (25) and (28), we have

$$\begin{aligned} O''[1]\ge O''[2]\ge ...\ge O''[l]>O'[l+1]>O''[l+1], \end{aligned}$$
(29)

which tells us that revenue \(O'[l+1]\) does not correspond to any of \(O''[1], O''[2], ..., O''[l]\). Therefore \(O'[l+1]\) should have been the \((l+1)^{th}\) largest value of the set \(O''\) instead of \(O''[l+1]\), which is a contradiction.

Case 2a. If \(O''[l]=O'[l]=O'[l+1] > O''[l+1]\) and the request that corresponds to \(O'[l+1]\) never corresponds to any revenue among \(O''[1], O''[2], ..., O''[l]\), then \(O'[l+1]\) should also have been the \((l+1)^{th}\) largest value of the set \(O''\) instead of \(O''[l+1]\), which is a contradiction.

Case 2b. If \(O''[l]=O'[l]=O'[l+1] > O''[l+1]\), and the request that corresponds to \(O'[l+1]\) also corresponds to \(O''[g]\) for some \(1\le g \le l\), which indicates that

$$\begin{aligned} O''[g]=O''[g+1]=...=O''[l] > O''[l+1]. \end{aligned}$$
(30)

From the ordered nature of O' and the inductive hypothesis, we know

$$\begin{aligned} O''[g]\ge O'[g]\ge O'[g+1]\ge ... \ge O'[l+1]. \end{aligned}$$
(31)

Combined with the fact that \(O''[g]=O'[l+1]\), it must be the case that

$$\begin{aligned} O''[g] = O'[g] = O'[g+1] =... = O'[l+1]. \end{aligned}$$
(32)

Given that there could exist elements in \(O''\) prior to \(O''[g]\) that are equal to \(O'[l+1]\), we let \(O''[x]\) be the first element in \(O''\) that is equal to \(O'[l+1]\), where \(1\le x\le g\). Similar to (31), we have

$$\begin{aligned} O''[x]\ge O'[x]\ge O'[x+1]\ge ... \ge O'[l+1]. \end{aligned}$$
(33)

Combining (33) and \(O[x]=O'[l+1]\), we know that

$$\begin{aligned} O''[x] = O'[x] = O'[x+1] =... = O'[l+1]. \end{aligned}$$
(34)

Now we know that in \(O''\), there are \((l-x+1)\) elements that have revenue \(O'[l+1]\), while in \(O'\), there are \(((l+1)-x+1)=(l-x+2)\) elements with revenue \(O'[l+1]\). The set \(O'\) has one more element with revenue \(O'[l+1]\) than the set \(O''\). This is a contradiction because then sbp″ would have chosen the extra request in O' that has revenue \(O'[l+1]\) to serve instead of directly serving \(O''[l+1]\).

Lemma 7

Let sbp″ and \({\scriptsize{\text{SBP}}}[i]\) denote the \(i^{th}\) window served by sbp″ and sbp respectively. Define \(U=\{1,2,\dots ,\mu \}\) as the set of all possible indices of windows. Define \(A_j\) and \(B_j\) as any two subsets of U that satisfy the following criteria:

  1. 1.

    Both \(A_j\) and \(B_j\) are of size j and are in increasing order.

  2. 2.

    \(A_j[m] \le B_j[m]\) for all \(m=1,2,\dots ,j\), where \(A_j[m]\) is the \(m^{th}\) element of \(A_j\) and \(B_j[m]\) is the \(m^{th}\) element of \(B_j\).

  3. 3.

    For requests served in \(\{\scriptsize{\text{SBP}}''[A_j[1]], {\scriptsize{\text{SBP}}}''[A_j[2]] \dots {\scriptsize{\text{SBP}}}''[A_j[j]] \}\), if they are ever served by sbp, then they are served only in \(\{ {\scriptsize{\text{SBP}}}[B_j[1]], {\scriptsize{\text{SBP}}}[B_j[2]] \dots {\scriptsize{\text{SBP}}}[B_j[j]] \}\).

Then, for all such possible \(A_j\) and \(B_j\), we have

$$\sum _{m=1}^{j}rev({\scriptsize{\text{SBP}}}''[A_j[m]])\le \sum _{m=1}^{j}rev({\scriptsize{\text{SBP}}}[B_j[m]]).$$

Proof (by induction)

Base case. When \(j = 1\), we assume \(A_1[1] \le B_1[1]\) and that if the request served by \({\scriptsize{\text{SBP}}}''[A_1[1]]\) is served by sbp, it is served only in \({\scriptsize{\text{SBP}}}[B_1[1]]\). This implies that the request served in \({\scriptsize{\text{SBP}}}''[A_1[1]]\) is available to \({\scriptsize{\text{SBP}}}[B_1[1]]\), so given the greedy nature of sbp, \(rev({\scriptsize{\text{SBP}}}[B_1[1]]) \ge rev({\scriptsize{\text{SBP}}}''[A_1[1]])\). From (24) we can say

$$\sum _{m=1}^{1}rev({\scriptsize{\text{SBP}}}''[A_1[m]])\le \sum _{m=1}^{1}rev({\scriptsize{\text{SBP}}}[B_1[m]]).$$

Inductive Case. We assume that: \(\sum _{m=1}^{j}rev({\scriptsize{\text{SBP}}}''[A_j[m]])\le \sum _{m=1}^{j}rev({\scriptsize{\text{SBP}}}[B_j[m]])\) for all j where \(1 \le j \le k\). Then we want to prove for all possible \(A_{k+1}\) and \(B_{k+1}\),

$$\begin{aligned} \sum _{m=1}^{k+1}rev({\scriptsize{\text{SBP}}}''[A_{k+1}[m]])\le \sum _{m=1}^{k+1}rev({\scriptsize{\text{SBP}}}[B_{k+1}[m]]). \end{aligned}$$
(35)

There are two cases:

  1. 1.

    \(rev({\scriptsize{\text{SBP}}}''[A_{k+1}[k+1]]) \le rev({\scriptsize{\text{SBP}}}[B_{k+1}[k+1]])\)  

  2. 2.

    \(rev({\scriptsize{\text{SBP}}}''[A_{k+1}[k+1]]) > rev({\scriptsize{\text{SBP}}}[B_{k+1}[k+1]])\)  

If the first case is true, then combining it with the inductive hypothesis, (35) is clearly true.

If the second case is true, we denote r as the request served in window \({\scriptsize{\text{SBP}}}''[A_{k+1}[k+1]]\). Then the equation of case 2 can be rewritten as

$$\begin{aligned} rev({\scriptsize{\text{SBP}}}[B_{k+1}[k+1]])<rev(r). \end{aligned}$$
(36)

Eq. (36) implies that r is not available to \({\scriptsize{\text{SBP}}}[B_{k+1}[k+1]]\), because otherwise in window \(B_{k+1}[k+1]\) sbp would have served some request(s) whose total revenue is at least the revenue of r. Suppose it is at window \({\scriptsize{\text{SBP}}}[B_{k+1}[h]]\) that sbp serves r where \(1 \le h < k+1\).

Define new subsets \(A_k\) and \(C_k\) where \(A_k=A_{k+1}\backslash \{ A_{k+1}[k+1] \}\) and \(C_k=B_{k+1} \backslash \{ B_{k+1}[h] \}\). It is evident that both \(A_k\) and \(C_k\) are of size k. Define \(A_k[m]\) as the \(m^{th}\) element of the newly defined \(A_k\), and \(C_k[m]\) as the \(m^{th}\) element of the newly defined \(C_k\).

Here we declare a shortcut of notation. For any set V and integers \(s\le t\), \(V[s:t]=\{ V[s],V[s+1],\dots ,V[t-1],V[t] \}\).

One observation is that for each element \(C_{k}[m]\) of \(C_{k}\), we have \(C_{k}[m] \ge A_{k}[m]\). This is because each element of \(C_{k}\) will be minimized when \(C_{k}[1]=B_{k+1}[1]\), \(C_{k}[2]=B_{k+1}[2]\), \(\dots\), \(C_{k}[k]=B_{k+1}[k]\) respectively. Since we know \(B_{k+1}[m] \ge A_{k+1}[m]\), we have \(C_{k}[m] \ge A_{k}[m]\). There are two sub-cases:

  1. 1.

    If \({\scriptsize{\text{SBP}}}[B_{k+1}[h]]\) does not contain any of the requests of \({\scriptsize{\text{SBP}}}''[A_k[1:k]]\): Then \(A_k\) and \(C_k\) satisfy the three criteria listed in the lemma, so according to the inductive hypothesis,

    $$\begin{aligned} \sum _{m=1}^{k}rev({\scriptsize{\text{SBP}}}''[A_{k}[m]])\le \sum _{m=1}^{k}rev({\scriptsize{\text{SBP}}}[C_{k}[m]]). \end{aligned}$$
    (37)

    Adding \(rev(r)\) on both sides of (37), we have

    $$\begin{aligned} \sum _{m=1}^{k+1}rev({\scriptsize{\text{SBP}}}''[A_{k+1}[m]])\le & {} \sum _{m=1}^{k}rev({\scriptsize{\text{SBP}}}[C_{k}[m]])+rev(r) \end{aligned}$$
    (38)
    $$\begin{aligned}\le & {} \sum _{m=1}^{k+1}rev({\scriptsize{\text{SBP}}}[B_{k+1}[m]]). \end{aligned}$$
    (39)

    Note the second \(\le\) sign is valid since all the requests corresponding to \(\sum _{m=1}^{k}rev({\scriptsize{\text{SBP}}}[C_{k}[m]])+rev(r)\) are served in sbp (and sbp may serve additional requests as well).

  2. 2.

    If \({\scriptsize{\text{SBP}}}[B_{k+1}[h]]\) contains any of the requests of sbp″ \([A_k[1:k]]\): Then \(A_k\) and \(C_k\) violate criterion (3) (since \(B_{k+1}[h]\) is not in \(C_k\)) so the inductive hypothesis cannot be applied directly. Suppose there are n such requests where \(n\le k\), and denote the total revenue of those n requests as N. Then we define Ak-n = Ak \{indices of windows where the n requests reside in sbp″}. We also shrink \(C_{k}\) to \(C_{k-n}\) by removing n windows that do not contain any of the requests of \(A_{k-n}\). Then we can follow the same reasoning above to deduce \(C_{k-n}[m] \ge A_{k-n}[m]\) for all \(1\le m\le k-n\). So according to the inductive hypothesis,

    $$\begin{aligned} \sum _{m=1}^{k-n}rev({\scriptsize{\text{SBP}}}''[A_{k-n}[m]])\le \sum _{m=1}^{k-n}rev({\scriptsize{\text{SBP}}}[C_{k-n}[m]]). \end{aligned}$$
    (40)

    Adding N and \(rev(r)\) on both sides, we have

    $$\begin{aligned} \sum _{m=1}^{k+1}rev({\scriptsize{\text{SBP}}}''[A_{k+1}[m]])\le & {} \sum _{m=1}^{k-n}rev({\scriptsize{\text{SBP}}}[C_{k-n}[m]])+ N + rev(r) \end{aligned}$$
    (41)
    $$\begin{aligned}\le & {} \sum _{m=1}^{k+1}rev({\scriptsize{\text{SBP}}}[B_{k+1}[m]]). \end{aligned}$$
    (42)

    Note the second \(\le\) sign of (41) is valid since all the requests corresponding to \(\sum _{m=1}^{k-n}rev({\scriptsize{\text{SBP}}}[C_{k-n}[m]])+ N + rev(r)\) are served in sbp (and sbp may serve additional requests as well).

Finally, to prove rev(sbp) ≥ rev(sbp"), we let \(j=\mu\), \(A_{\mu } = \{ 1,2,\dots ,\mu \}\), \(B_{\mu } = \{ 1,2,\dots ,\mu \}\). This satisfies (1) \(A_{\mu }\) and \(B_{\mu }\) are in increasing order, (2) \(A_{\mu }[m] \le B_{\mu }[m]\) for all \(m=1,2,\dots ,\mu\), and (3) for requests served in \(\{{\scriptsize{\text{SBP}}}''[A_{\mu }[1]], {\scriptsize{\text{SBP}}}''[A_{\mu }[2]] \dots {\scriptsize{\text{SBP}}}''[A_{\mu }[\mu ]] \}\), if they are ever served by sbp, are served only in windows \(\{ {\scriptsize{\text{SBP}}}[B_{\mu }[1]], {\scriptsize{\text{SBP}}}[B_{\mu }[2]] \dots {\scriptsize{\text{SBP}}}[B_{\mu }[\mu ]] \}\). Therefore, rev(sbp) ≥ rev(sbp") is simply a specific case of \(\sum _{m=1}^{j}rev({\scriptsize{\text{SBP}}}''[A_j[m]])\le \sum _{m=1}^{j}rev({\scriptsize{\text{SBP}}}[B_j[m]])\) where jμ.

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Christman, A.D., Chung, C., Jaczko, N. et al. Improved Bounds for Revenue Maximization in Time-Limited Online Dial-a-Ride. SN Oper. Res. Forum 2, 39 (2021). https://doi.org/10.1007/s43069-021-00076-x

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1007/s43069-021-00076-x

Navigation