Skip to main content
Log in

Directed FCFS infinite bipartite matching

  • Published:
Queueing Systems Aims and scope Submit manuscript

Abstract

We consider an infinite sequence consisting of agents of several types and goods of several types, with a bipartite compatibility graph between agent and good types. Goods are matched with agents that appear earlier in the sequence using FCFS matching, if such are available, and are lost otherwise. This model may be used for two-sided queueing applications such as ride sharing, Web purchases, organ transplants, and for parallel redundant service queues. For this model, we calculate matching rates and delays. These can be used to obtain waiting times and help with design questions for related service systems. We explore some relations of this model to other FCFS stochastic matching models.

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

References

  1. Adan, I., Bušić, A., Mairesse, J., Weiss, G.: Reversibility and further properties of FCFS infinite bipartite matching. Math. Oper. Res. 43(2), 598–621 (2017)

    Article  Google Scholar 

  2. Adan, I., Kleiner, I., Righter, R., Weiss, G.: FCFS parallel service systems and matching models. Perform. Eval. 127, 253–272 (2018)

    Article  Google Scholar 

  3. Adan, I., Weiss, G.: Exact FCFS matching rates for two infinite multitype sequences. Oper. Res. 60(2), 475–489 (2012)

    Article  Google Scholar 

  4. Adan, I., Weiss, G.: A skill based parallel service system under FCFS-ALIS - steady state, overloads, and abandonments. Stochastic Syst. 4(1), 250–299 (2014)

    Article  Google Scholar 

  5. Adan, I., Boon, M., Weiss, G.: Design heuristic for parallel many server systems. Eur. J. Oper. Res. 273(1), 259–277 (2019)

    Article  Google Scholar 

  6. Afèche, P., Diamant, A., Milner, J.: Double-sided batch queues with abandonment: modeling crossing networks. Oper. Res. 62(5), 1179–1201 (2014)

    Article  Google Scholar 

  7. Ayesta, U., Bodas, T., Verloop, I.M.: On a unifying product form framework for redundancy models. Perform. Eval. 127, 93–119 (2018)

    Article  Google Scholar 

  8. Caldentey, R., Kaplan, E.H., Weiss, G.: FCFS infinite bipartite matching of servers and customers. Adv. Appl. Probab. 41(03), 695–730 (2009)

    Article  Google Scholar 

  9. Castro, F., Nazerzadeh, H., Yan, C.: Matching queues with reneging: a product form solution. ArXiv preprint ArXiv:2005.10728 (2020)

  10. Dobbie, J.M.: Letter to the editor: a doubled-ended queuing problem of Kendall. Oper. Res. 9(5), 755–757 (1961)

    Article  Google Scholar 

  11. Gardner, K., Righter, R.: Product forms for FCFS queueing models with arbitrary server-job compatibilities: an overview. Queue. Syst. 96(1), 3–51 (2020)

    Article  Google Scholar 

  12. Gardner, K., Zbarsky, S., Doroudi, S., Harchol-Balter, M., Hyytiä, E., Scheller-Wolf, A.: Queueing with redundant requests: exact analysis. Queue. Syst. 83(3–4), 227–259 (2016)

    Article  Google Scholar 

  13. Hendershott, T., Mendelson, H.: Crossing networks and dealer markets: competition and performance. J. Finance 55(5), 2071–2115 (2000)

    Article  Google Scholar 

  14. Karaesmen, I.Z., Scheller-Wolf, A., Deniz, B.: Managing perishable and aging inventories: review and future research directions. In: Planning Production and Inventories in the Extended Enterprise, pp. 393–436. Springer, New York (2011)

  15. Lu, Y., Xiang, S., Wu, W.: Taxi queue, passenger queue or no queue? In: Proceedings of 18th International Conference on Extending Database Technology (EDBT). Brussels, Belgium, pp. 593–604 (2015)

  16. Mairesse, J., Moyal, P.: Stability of the stochastic matching model. J. Appl. Probab. 53(4), 1064–1077 (2017)

    Article  Google Scholar 

  17. Maglaras, C., Moallemi, C.C., Zheng, H.: Queueing dynamics and state space collapse in fragmented limit order book markets. Columbia Bus. School Res. Pap., (1–60) (2014)

  18. Moreira-Matias, L., Gama, J., Ferreira, M., Mendes-Moreira, J., Damas, L.: Predicting taxi-passenger demand using streaming data. IEEE Trans. Intell. Transp. Syst. 14(3), 1393–1402 (2013)

    Article  Google Scholar 

  19. Moyal, P., Busic, A., Mairesse, J.: A product form for the general stochastic matching model. ArXiv preprint ArXiv:1711.02620 (2018)

  20. Moyal, P., Perry, O.: On the instability of matching queues. Ann. Appl. Probab. 27(6), 3385–3434 (2017)

    Article  Google Scholar 

  21. Perry, D., Stadje, W.: Perishable inventory systems with impatient demands. Math. Methods Oper. Res. 50(1), 77–90 (1999)

    Google Scholar 

  22. Sutherland, W., Jarrahi, M.H.: The sharing economy and digital platforms: a review and research agenda. Int. J. Inf. Manag. 43, 328–341 (2018)

    Article  Google Scholar 

  23. Visschers, J., Adan, I., Weiss, G.: A product form solution to a system with multi-type jobs and multi-type servers. Queue. Syst. 70(3), 269–298 (2012)

    Article  Google Scholar 

  24. Wolff, R.W.: Poisson arrivals see time averages. Oper. Res. 30(2), 223–231 (1982)

    Article  Google Scholar 

  25. Zenios, S.A.: Modeling the transplant waiting list: a queueing model with reneging. Queue. Syst. 31(3–4), 239–251 (1999)

    Article  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Gideon Weiss.

Additional information

Publisher's Note

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

Research supported in part by Israel Science Foundation Grant 286/13. Part of this work was done while the author was visiting the Simons Institute for the Theory of Computing.

Appendix: Completion of proofs

Appendix: Completion of proofs

1.1 Completion of the Proof of Theorem 4

Proof

We start from \(U(N)=u=(u_1,\ldots ,u_L)\). There are four cases to check:

1.1.1 Case (i): \(x = c_i\)

If \(U(N)=u=(u_1,\ldots ,u_L)\) and \(z^{N+1}=c_i\), then \(U(N+1)=u'=(u_1,\ldots ,u_L,c_i)\). The probability of the transition \(u\rightarrow u'\) is \(\frac{\uplambda }{\uplambda + \upmu } \alpha _{c_i}\).

In that case, \(W(N)=\overleftarrow{\tilde{u}'}=({\tilde{c}}_i,{\tilde{u}}_L,\ldots ,{\tilde{u}}_1)\). This means that \(z^{N+1}\) has already been matched and exchanged and is now \({\tilde{z}}^{N+1}={\tilde{x}}={\tilde{c}}_i\). Therefore, all agents up to \(N+1\) have been matched, and \(W(N+1)={\overleftarrow{\tilde{u}}}= ({\tilde{u}}_L,\ldots ,{\tilde{u}}_1)\). The probability of the transition \(\overleftarrow{\tilde{u}'} \rightarrow {\overleftarrow{\tilde{u}}}\) is 1.

We now check

$$\begin{aligned}&\frac{ \pi _U(u_1,\ldots ,u_L,c_i) }{ \pi _U(u_1,\ldots ,u_L) } = \frac{\uplambda }{\uplambda + \upmu } \alpha _{c_i}, \\&\frac{ P\big ( U(N+1)=(u_1,\ldots ,u_L,c_i) \,|\, U(N)= (u_1,\ldots ,u_L) \big ) }{ P\big ( W(N+1)= ({\tilde{u}}_L,\ldots ,{\tilde{u}}_1) \,|\, W(N) = ({\tilde{c}}_i,{\tilde{u}}_L,\ldots ,{\tilde{u}}_1) \big ) } =\frac{\uplambda }{\uplambda + \upmu } \alpha _{c_i}. \end{aligned}$$

1.1.2 Case (ii): \(x = s_j\), and \(s_j\) is incompatible with the unmatched agents in \((u_1,\ldots ,u_L)\)

If \(U(N)=u=(u_1,\ldots ,u_L)\) and \(z^{N+1}=s_j\) and \(s_j\) is incompatible with any of the unmatched agents in \((u_1,\ldots ,u_L)\), then \(s_j\) remains unmatched and is replaced by \({\tilde{s}}_j\) (matched with itself), so that \(U(N+1)=u'=(u_1,\ldots ,u_L,{\tilde{s}}_j)\). The probability of the transition \(u\rightarrow u'\) is \(\frac{\upmu }{\uplambda + \upmu } \beta {s_j}\).

In that case, \(W(N)=\overleftarrow{\tilde{u}'}=(s_j,{\tilde{u}}_L,\ldots ,{\tilde{u}}_1)\). This means that the \(N+1\) element is \(z^{N+1}=s_j\). Since all agents prior to N have been matched, \(s_j\) will remain unmatched, and in the transition from W(N) to \(W(N+1)\) there will be no change in \(({\tilde{u}}_L,\ldots ,{\tilde{u}}_1)\), and so \(W(N+1)=({\tilde{u}}_L,\ldots ,{\tilde{u}}_1)={\overleftarrow{\tilde{u}}}\). The probability of this transition is again 1.

We now check

$$\begin{aligned}&\frac{ \pi _U(u_1,\ldots ,u_L,{\tilde{s}}_j) }{ \pi _U(u_1,\ldots ,u_L) } = \frac{\upmu }{\uplambda + \upmu } \beta _{s_j}, \\&\frac{ P\big ( U(N+1)=(u_1,\ldots ,u_L,{\tilde{s}}_j) \,|\, U(N)= (u_1,\ldots ,u_L) \big ) }{ P\big ( W(N+1)= ({\tilde{u}}_L,\ldots ,{\tilde{u}}_1) \,|\, W(N) = (s_j,{\tilde{u}}_L,\ldots ,{\tilde{u}}_1) \big ) } = \frac{\upmu }{\uplambda + \upmu } \beta _{s_j}. \end{aligned}$$

1.1.3 Case (iii): \(x = s_j\), which is matched FCFS with \(u_\ell = c_i\), where \(l>1\)

If \(U(N)=u=(u_1,\ldots ,u_L)\) and \(z^{N+1}=s_j\) and \(s_j\) is compatible with \(u_\ell = c_i\) and is incompatible with all unmatched agents among \(u_1,\ldots ,u_{\ell -1}\), then \(s_j\) is matched and exchanged with \(u_\ell \), so \(U(N+1) =u'= (u_1,\ldots ,u_{\ell -1},{\tilde{s}}_j,u_{\ell +1},\ldots ,u_L,{\tilde{c}}_i)\). The probability of this transition \(u\rightarrow u'\) is \(\frac{\upmu }{\uplambda + \upmu } \beta {s_j}\).

In that case, \(W(N)=\overleftarrow{\tilde{u}'}=(c_i,{\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},s_j,{\tilde{u}}_{\ell -1}.\ldots ,{\tilde{u}}_1)\). Because \(z^{N+1}=c_i\), it needs to be matched and exchanged in the transition from W(N) to \(W(N+1)\). Clearly, it can be matched and exchanged with \(s_j\) which is between \({\tilde{u}}_{\ell +1},{\tilde{u}}_{\ell -1}\). We claim that \(c_i\) cannot be matched to any of \({\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1}\). Recall that it was left unmatched in U(N). Assume some \(\ell +1\le k \le L\), \({\tilde{u}}_k=s_{j'}\) is compatible with \(c_i\). In that case, \(u_k={\tilde{s}}_{j'}\) and there are two possibilities: Either \(z^{\underline{N}+k-1}=s_{j'}\) could not be matched and was exchanged to \({\tilde{s}}_{j'}\), or \(z^{\underline{N}+k-1}=c_{i'}\) that was matched and exchanged with \(s_{j'}\) that appeared later in the sequnce but before \(N+1\). But in either of these cases \(s_{j'}\) should then have been matched and exchanged with \(z^{\underline{N}+\ell -1}=c_i\), which is in contradiction to \(u_\ell =c_i\) being unmatched in U(N). It follows that in this case in the transition from W(N) to \(W(N+1)\), \(c_i\) will be matched and exchanged with \(s_j\) and \(W(N+1) = ({\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},{\tilde{c}}_i,{\tilde{u}}_{\ell -1}.\ldots ,{\tilde{u}}_1)\), which is \({\overleftarrow{\tilde{u}}}\). The probability of this transition is 1.

We now check

$$\begin{aligned}&\frac{ \pi _U(u_1,\ldots ,u_{\ell -1},{\tilde{s}}_j,u_{\ell +1},\ldots ,u_L,{\tilde{c}}_i) }{ \pi _U(u_1,\ldots ,u_{\ell -1},c_i,u_{\ell +1},\ldots ,u_L) } = \frac{\upmu }{\uplambda + \upmu } \beta {s_j}, \\&\frac{ P\big ( U(N+1)=(u_1,\ldots ,u_{\ell -1},{\tilde{s}}_j,u_{\ell +1},\ldots ,u_L,{\tilde{c}}_i) \,| \, U(N)= (u_1,\ldots ,u_{\ell -1},c_i,u_{\ell +1},\ldots ,u_L) \big ) }{ P\big ( W(N+1)= ({\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},{\tilde{c}}_i,{\tilde{u}}_{\ell -1}.\ldots ,{\tilde{u}}_1) \,| \, W(N) = (c_i,{\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},s_j,{\tilde{u}}_{\ell -1}.\ldots ,{\tilde{u}}_1) \big ) }\\&= \frac{\upmu }{\uplambda + \upmu } \beta _{s_j}. \end{aligned}$$

1.1.4 Case (iv): \(x = s_j\), which can match FCFS to \(u_1 = c_i\).

In Cases (i)–(iii), the reversed transition was \({\overleftarrow{\tilde{u}}}' \rightarrow {\overleftarrow{\tilde{u}}}\) with probability 1. In Case (iv), this is no longer so, and we will need to calculate the probability of this transition.

Assume \(U(N)=u=(c_i,u_2,\ldots ,u_{\ell -1},c_{i'},u_{\ell +1},\ldots ,u_L)\), where \(u_2,\ldots ,u_{\ell -1}\) contain no unmatched agents, and also it does not contain any goods compatible with \(c_i\). Assume \(z^{N+1}=s_j\), and \(s_j\) is compatible with \(u_1 = c_i\). Then, \(s_j\) is matched and exchanged with \(u_1\). (Recall that \(u_1\) is always an unmatched agent.) The resulting state then is \(U(N+1)=u'=(c_{i'},u_{\ell +1},\ldots ,u_L,{\tilde{c}}_i)\), because now \(z^{\underline{N}+\ell -1}=u_\ell =c_{i'}\) is the first unmatched agent. The probability of this transition \(u\rightarrow u'\) is \(\frac{\upmu }{\uplambda + \upmu } \beta {s_j}\).

In that case, \(W(N)=\overleftarrow{\tilde{u}'}=(c_i,{\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},{\tilde{c}}_{i'})\). Because \(z^{N+1}=c_i\), it needs to be matched and exchanged in the transition from W(N) to \(W(N+1)\). By the same argument as for Case (iii), \(c_i\) is not compatible with any unmatched goods in \({\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1}\). We now consider the possibility that conditional on \(W(N)=\overleftarrow{\tilde{u}'}\), the next transition will be to the state \(W(N+1)={\overleftarrow{\tilde{u}}}=({\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},{\tilde{c}}_{i'},{\tilde{u}}_{\ell -1},\ldots ,{\tilde{u}}_2,{\tilde{c}}_i)\). This will happen if and only if \((z^{\overline{N}+1},\ldots ,z^{\overline{N}+\ell -1}) = ({\tilde{u}}_{\ell -1},\ldots ,{\tilde{u}}_2,s_j)\). Denote by \(\theta \) the probability of this event. Then

$$\begin{aligned} \theta= & {} P(W(N+1)={\overleftarrow{\tilde{u}}}\,|\,W(N)=\overleftarrow{\tilde{u}'}) = P\big ((z^{\overline{N}+1},\ldots ,z^{\overline{N}+\ell -1}) = ({\tilde{u}}_{\ell -1},\ldots ,{\tilde{u}}_2,s_j)\big ) \\= & {} \left( \frac{\uplambda }{\uplambda + \upmu }\right) ^{\sharp \text{ agents }} \left( \frac{\upmu }{\uplambda + \upmu }\right) ^{\sharp \text{ goods }} \prod _{c_i\in \mathscr {C}} \alpha _{c_i}^{\sharp c_i + \sharp {\tilde{c}}_i} \prod _{s_j\in \mathscr {S}} \beta _{s_j}^{\sharp s_j + \sharp {\tilde{s}}_j} \times \frac{\upmu }{\uplambda + \upmu } \beta {s_j}, \end{aligned}$$

where we are counting the number of agents and of goods overall, and of each type separately, in \({\tilde{u}}_{\ell -1},\ldots ,{\tilde{u}}_2\).

We now check

$$\begin{aligned}&\frac{ \pi _U(c_{i'},u_{\ell +1},\ldots ,u_L,{\tilde{c}}_i) }{ \pi _U(c_i,u_2,\ldots ,u_{\ell -1},c_{i'},u_{\ell +1},\ldots ,u_L) } = \theta ^{-1} \frac{\upmu }{\uplambda + \upmu } \beta {s_j}, \\&\frac{ P\big ( U(N+1)=(c_{i'},u_{\ell +1},\ldots ,u_L,{\tilde{c}}_i) \,| \, U(N)= (c_i,u_2,\ldots ,u_{\ell -1},c_{i'},u_{\ell +1},\ldots ,u_L) \big ) }{ P\big ( W(N+1)= ({\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},{\tilde{c}}_{i'},{\tilde{u}}_{\ell -1},\ldots ,{\tilde{u}}_2,{\tilde{c}}_i) \,| \, W(N) = (c_i,{\tilde{u}}_L,\ldots ,{\tilde{u}}_{\ell +1},{\tilde{c}}_{i'}) \big ) } = \theta ^{-1} \frac{\upmu }{\uplambda + \upmu } \beta _{s_j}. \end{aligned}$$

\(\square \)

1.2 Proof of Theorem 5

Proof

We prove the theorem for U. The result for W follows from the reversibility and Proposition 1.

The necessity is easy to see. By definition, \((u_1,\ldots ,u_L)\) consists only of elements \(c_i,{\tilde{c}}_i,{\tilde{s}}_j\). Assume to the contrary that for some \(k<l\), \(u_k=c_i\) and \(u_\ell ={\tilde{s}}_j\in \mathscr {S}(c_i)\). If \(u_\ell ={\tilde{s}}_j\), then either \(z^{\underline{N} + \ell -1} = s_j\) and \(z^{\underline{N} + \ell -1}\) remained unmatched and was exchanged with itself, or \(z^{\underline{N} + \ell -1} = c_{i'}\) and it was matched and exchanged with \(z^{\underline{N} + m -1}=s_j\), for some \(\ell <m\le N\). But in either of these cases \(z^{\underline{N} + k -1}=c_i\) should have been matched and exchanged with \(s_j\), which is a contradiction.

More subtle is the proof that any \((u_1,\ldots ,u_L)\) that satisfies the conditions can occur with positive probability as U(N). For such \(u=(u_1,\ldots ,u_L)\), we construct \({\tilde{u}}=({\tilde{u}}_1,\ldots ,{\tilde{u}}_L)\) and w as follows:

  1. (i)

    Leave all unmatched elements \(u_m=c_i\) in place, i.e., let \({\tilde{u}}_m=c_i\), this includes \({\tilde{u}}_1\) since \(u_1\) is the first unmatched agent.

  2. (ii)

    Perform directed FCFS matching in reversed time on the elements \({\tilde{c}}_i\) and \({\tilde{s}}_j\) in u, and exchange their places, so that if \(u_k= {\tilde{c}}_i\) is matched with \(u_\ell ={\tilde{s}}_j\) (where \(k>l\)) we let \({\tilde{u}}_k=s_j\) and \({\tilde{u}}_\ell =c_i\).

  3. (iii)

    Leave all the remaining elements \(u_m={\tilde{s}}_j\) (if there are any) in place and exchange them, i.e., let \({\tilde{u}}_m=s_j\).

  4. (iv)

    Consider the remaining elements \(u_{m_1}={\tilde{c}}_{i_1},\ldots ,u_{m_K}={\tilde{c}}_{i_K}\) (if there are any), where \(m_1<m_2\cdots < m_K\).

  5. (v)

    For each \(u_{m_k}={\tilde{c}}_{i_k}\), let \({\tilde{u}}_{m_k}=s_{j_k}\), where we choose \(s_{j_k}\in \mathscr {S}(c_{i_k})\).

  6. (vi)

    Prepend \((c_{i_1},\ldots ,c_{i_K})\) to the constructed \(({\tilde{u}}_1,\ldots ,{\tilde{u}}_L)\), to obtain \(w=((c_{i_1},\ldots ,c_{i_K},{\tilde{u}}_1,\ldots ,{\tilde{u}}_L)\).

Note that all elements \({\tilde{u}}_\ell ,\,\ell =1,\ldots ,L\), are well defined, and note that all elements of w are either \(c_i\in \mathscr {C}\) or \(s_j\in \mathscr {S}\).

Assume that \(U(N-K-L)=\emptyset \), and let \(z^{N-K-L+k}=w_k\), \(k=1,\ldots ,L+K\). It is important to note that there is a positive probability for this event. We now claim that \(U(N)=u\). We will go through the steps of moving from \(U(N-K-L)\) to U(N), using directed FCFS, and matching and exchanging agent–good pairs.

We look first for matches for \(c_{i_1},\ldots ,c_{i_K}\). We start with \(c_{i_1}\), the first element of w, i.e., \(c_{i_1}=z^{\underline{N}-K-L+1}\). We claim that it will be matched and exchanged with \({\tilde{u}}_{m_1}=s_{j_1}\). By construction, \((c_{i_1},s_{j_1})\) are compatible, and \({\tilde{u}}_{m_1}=z^{\underline{N}-L+m_1}\) precedes all the other \({\tilde{u}}_{m_k}\) in the sequence \(z^n\). We need to show that if there is a \({\tilde{u}}_\ell =z^{\underline{N}-L+\ell } = s_j\), where \(\ell <m_1\), then it must be incompatible with \(c_{i_1}\). Assume to the contrary that such \({\tilde{u}}_\ell =z^{\underline{N}-L+\ell } = s_j\) with \(\ell <m_1\) is compatible with \(c_{i_1}\). We examine \({\tilde{u}}_\ell =s_j\). By construction of \({\tilde{u}}\), there are two possibilities: Either for some \(\ell '<\ell \), \(u_{\ell '}={\tilde{s}}_j\) was matched and exchanges with \(u_{\ell }={\tilde{c}}_{i}\) in step (ii) of the construction of \({\tilde{u}}\), or else \(u_\ell ={\tilde{s}}_j\) was not matched in step (ii) and so was left in place, as \(u_\ell =s_j\) in step (iii) of the construction. The two possibilities are illustrated in the following line:

$$\begin{aligned} \begin{array}{cccccccc} &{}1&{} &{} \ell &{} &{} m_1 &{} &{} L \\ {\tilde{u}}=&{} ({\tilde{u}}_1,&{}\ldots &{}s_j,&{}\ldots ,&{}s_{j_1},&{}\ldots &{}{\tilde{u}}_L) \\ u = &{} (u_1,&{}\ldots &{}{\tilde{s}}_j,&{}\ldots ,&{}{\tilde{c}}_{i_1},&{}\ldots &{}u_L) \\ \end{array}, \qquad \begin{array}{ccccccccccc} &{}1&{} &{} \ell ' &{} &{} \ell &{} &{} m_1 &{} &{} L \\ {\tilde{u}}=&{} ({\tilde{u}}_1,&{}\ldots &{}c_i,&{}\ldots ,&{}s_j,&{}\ldots ,&{}s_{j_1},&{}\ldots &{}{\tilde{u}}_L) \\ u = &{} (u_1,&{}\ldots &{}{\tilde{s}}_j,&{}\ldots ,&{}{\tilde{c}}_i,&{}\ldots ,&{}{\tilde{c}}_{i_1},&{}\ldots &{}u_L) \\ \end{array}. \end{aligned}$$

We now get a contradiction. Recall that we assume \(u_{m_1}={\tilde{c}}_{i_1}\) was left unmatched in step (ii) and reached step (iv). If \(u_\ell ={\tilde{s}}_j\) was not exchanged in step (ii), then it would remain compatible with \(u_{m_1}={\tilde{c}}_{i_1}\) and should have been matched and exchanged with it in step (ii). If \(u_{\ell '}={\tilde{s}}_j\), where \(\ell '<\ell \) was matched and exchanged with \(u_\ell ={\tilde{c}}_i\), in step (ii), then \(u_{\ell '}\) should have actually been exchanged with \(u_{m_1}={\tilde{c}}_{i_1}\) and not with \(u_\ell ={\tilde{c}}_i\).

We proceed by induction: If \(w_1=c_{i_1},\ldots ,w_{k-1}=c_{i_{k-1}}\) have been matched and exchanged with \({\tilde{u}}_{m_1}=s_{j_1},\ldots , {\tilde{u}}_{m_{k-1}}=s_{j_{k-1}}\), then \(w_k={\tilde{c}}_{i_k}\) cannot be matched to any of \({\tilde{u}}_{m_1}=s_{j_1},\ldots , {\tilde{u}}_{m_{k-1}}=s_{j_{k-1}}\), and by the same argument as for \(w_1\) it cannot be matched to any \({\tilde{u}}_\ell =s_j\) with \(\ell <m_k\). Hence, it will be matched and exchanged with \({\tilde{u}}_{m_k}=s_{j_k}\).

We have then shown that by the time we reach U(N), the first remaining unmatched agent in \({\tilde{u}}_1=u_1\), and all the elements in positions \(m_1,\ldots ,m_K\) are now occupied by \({\tilde{c}}_{i_1},\ldots ,{\tilde{c}}_{i_K}\). We note that in all the steps of the construction of \({\tilde{u}}\) we were converting \({\tilde{s}}_j\) to \(s_j\), but never changing the types of these goods. By the assumption of the theorem, all \(u_\ell ={\tilde{s}}_j\) are of types incompatible with all unmatched \(u_k=c_i\), if \(k<l\). Therefore, in step (i) all unmatched \(u_\ell =c_i\) will now be \({\tilde{u}}_\ell =c_i\) and will remain unmatched in U(N). So U(N) coincides with u in positions \(m_1,\ldots ,m_L\), and in those positions of u that had elements \(c_i\).

The remaining positions in u and \({\tilde{u}}\) are occupied by the agent–good pairs exchanged in step (ii) and the left-over goods of step (iii). We claim that if \(u_k={\tilde{c}}_i\) and \(u_\ell ={\tilde{s}}_j\), \(k>\ell \), were exchanged to \({\tilde{u}}_\ell =c_i\) and \({\tilde{u}}_k=s_j\) in step (ii), then in the directed FCFS matching leading to U(N), the agent \({\tilde{u}}_\ell =c_i\) will be matched and exchanged with \({\tilde{u}}_k=s_j\) back to their original positions. Assume there is a \({\tilde{u}}_m=s_{j'}\), such that \(\ell<m<k\) and \((s_{j'},c_i)\in \mathscr {G}\). If \({\tilde{u}}_m=s_{j'}\) resulted from an exchange with \({\tilde{u}}_{m'}=c_{i'}\), then we must have had \(\ell<m<k<m'\), since step (ii) did matching in reversed FCFS, and so \({\tilde{u}}_\ell =c_i\) did not match with \({\tilde{u}}_m=s_{j'}\). If \({\tilde{u}}_m=s_{j'}\) was obtained in step (iii) from \(u_m={\tilde{s}}_{j'}\), this would imply that it should have matched in step (ii) with \(u_k={\tilde{c}}_i\), which is a contradiction. Hence, we have that in U(N) all pairs exchanged from their positions in u in step (ii) would be exchanged back to their original positions in U(N). All that remains are goods remaining unmatched in step (iii) which will retain their positions in u as in \({\tilde{u}}\) and in U(N). This completes the proof that \(U(N)=u\). \(\square \)

1.3 Derivation of \(\pi _Y(C_1,\cdot ,\ldots ,C_k,\cdot )\) directly from Theorems 4 and 5.

We first calculate \(\pi _Y(C_1,\cdot )\), by summing \(\pi _U(u)\) over all admissible u that contain only unmatched agents of type \(C_1\). A typical state of this form will be

$$\begin{aligned} u= & {} (C_1,\ldots ,{\tilde{c}},{\tilde{c}},\ldots , \tilde{s}_j\in \overline{\mathscr {S}(C_1)},\ldots ,{\tilde{c}},{\tilde{c}},\ldots , \ldots C_1 ,\ldots , \ldots C_1,\ldots ,{\tilde{c}},\\&{\tilde{c}},\ldots , \tilde{s}_j\in \overline{\mathscr {S}(C_1)},\ldots ,{\tilde{c}},{\tilde{c}},\ldots ), \end{aligned}$$

where \({\tilde{c}}\) can be any exchanged agents, \(\tilde{s}_j\) must all be goods incompatible with \(C_1\), and there are \(n\ge 1\) \(C_1\)s, with \(m \ge 0\) \(s_j\in \overline{\mathscr {S}(C_1)}\) following each \(C_1\), and \(k\ge 0\) \(\;{\tilde{c}}\,\)s following each \(C_1\) or \(\tilde{s}_j\).

We therefore get, by the expression (9) for \(\pi _U(u)\),

$$\begin{aligned} \pi _Y(C_1,\cdot )= & {} B\sum _{n=1}^\infty \left\{ \frac{\uplambda }{\uplambda +\upmu } \alpha _{C_1} \left( \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) \left[ \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(C_1)}} \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) ^m \right] \right\} ^n \\= & {} B\sum _{n=1}^\infty \left\{ \frac{\uplambda }{\uplambda +\upmu } \alpha _{C_1} \frac{1}{1- \frac{\uplambda }{\uplambda +\upmu }} \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(C_1)}} \frac{1}{1- \frac{\uplambda }{\uplambda +\upmu }} \right) ^m \right\} ^n \\= & {} B\sum _{n=1}^\infty \left\{ \frac{\uplambda }{\upmu } \alpha _{C_1} \sum _{m=0}^\infty \left( 1 - \beta _{\mathscr {S}(C_1)}\right) ^m \right\} ^n \\= & {} B\sum _{n=1}^\infty \left\{ \frac{\uplambda }{\upmu } \frac{\alpha _{C_1}}{\beta _{\mathscr {S}(C_1)}} \right\} ^n = B\sum _{n=1}^\infty \left\{ \frac{\lambda _{C_1}}{\mu _{\mathscr {S}(C_1)}} \right\} ^n = B \frac{\lambda _{C_1}}{\mu _{\mathscr {S}(C_1)} - \lambda _{C_1}}. \end{aligned}$$

Next, we calculate \(\pi _Y(C_1,\cdot ,C_2,\cdot )\). We need to sum probabilities of typical states of the form

$$\begin{aligned} u= (C_1,\ldots ,C_2, \ldots , s_j\in \overline{\mathscr {S}(C_1,C_2)},\ldots ,c_i \in \{C_1,C_2\},\ldots ,) \end{aligned}$$

where the first part up to the first \(C_2\) is as a typical \((C_1\cdot )\) state, followed by the first \(C_2\) and then any number of \({\tilde{c}}\), and any number of \(c_i \in \{C_1,C_2\}\) and \(\tilde{s}_j\in \overline{\mathscr {S}(C_1,C_2)}\), and we then get

$$\begin{aligned} \pi _Y(C_1,\cdot ,C_2,\cdot )= & {} B \sum _{n=1}^\infty \left\{ \frac{\uplambda }{\uplambda +\upmu } \alpha _{C_1} \left( \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) \left[ \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(C_1)}} \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) ^m \right] \right\} ^n \\&\times \frac{\uplambda }{\uplambda +\upmu } \alpha _{C_2} \left( \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) \left[ \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(\{C_1,C_2\})}} \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) ^m \right] \\&\times \sum _{n=0}^\infty \left\{ \frac{\uplambda }{\uplambda +\upmu } \alpha _{\{C_1,C_2\}} \left( \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) \left[ \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(\{C_1,C_2\})}} \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) ^m \right] \right\} ^n \\= & {} B \frac{\lambda _{C_1}}{\mu _{\mathscr {S}(C_1)} - \lambda _{C_1}} \times \frac{\lambda _{C_2}}{\mu _{{\mathscr {S}(\{C_1,C_2\})}}} \times \sum _{n=0}^\infty \left\{ \frac{ \lambda _{\{C_1,C_2\}} }{\mu _{\mathscr {S}(\{C_1,C_2\})}} \right\} ^n \\= & {} B \frac{\lambda _{C_1}}{\mu _{\mathscr {S}(C_1)} - \lambda _{C_1}} \frac{ \lambda _{C_2} }{\mu _{\mathscr {S}(\{C_1,C_2\})} - \lambda _{\{C_1,C_2\}}}. \end{aligned}$$

Finally, we proceed by induction, to obtain, using the same steps in the derivation

$$\begin{aligned}&\pi _Y(C_1,\cdot ,\ldots ,C_L,\cdot ) = B \prod _{\ell =1}^{L-1} \frac{ \lambda _{C_\ell } }{\mu _{\mathscr {S}(\{C_1,\ldots ,C_\ell \})} - \lambda _{\{C_1,\ldots ,C_\ell \}}} \\&\quad \times \frac{\uplambda }{\uplambda +\upmu } \alpha _{C_L} \left( \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) \left[ \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(\{C_1,\ldots ,C_L\})}} \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) ^m \right] \\&\quad \times \sum _{n=0}^\infty \left\{ \frac{\uplambda }{\uplambda +\upmu } \alpha _{\{C_1,\ldots ,C_L\}} \left( \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) \left[ \sum _{m=0}^\infty \left( \frac{\upmu }{\uplambda +\upmu } \beta _{\overline{\mathscr {S}(\{C_1,\ldots ,C_L\})}} \sum _{k=0}^\infty \big ( \frac{\uplambda }{\uplambda +\upmu }\big )^k \right) ^m \right] \right\} ^n \\&=B \prod _{\ell =1}^{L} \frac{ \lambda _{C_\ell } }{\mu _{\mathscr {S}(\{C_1,\ldots ,C_\ell \})} - \lambda _{\{C_1,\ldots ,C_\ell \}}}. \end{aligned}$$

Rights and permissions

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Weiss, G. Directed FCFS infinite bipartite matching. Queueing Syst 96, 387–418 (2020). https://doi.org/10.1007/s11134-020-09676-6

Download citation

  • Received:

  • Revised:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s11134-020-09676-6

Keywords

Mathematics Subject Classification

Navigation