Skip to main content
Log in

Cycle times in D/D/S series queues with single multi-server bottlenecks

  • Published:
Discrete Event Dynamic Systems Aims and scope Submit manuscript

Abstract

In this work, we consider D/D/S series queues characterized by deterministic interarrival and service times, with a single multi-server bottleneck stage. When the arrival rate is greater than the bottleneck capacity—for a temporary window of time—the derivation of cycle time is not immediately clear, and warrants a formal proof.

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

Similar content being viewed by others

Data Availability

This manuscript has no associated data.

References

  • Burke P (1956) The output of a queuing system. Oper Res 4(6):699–704

    Article  MathSciNet  Google Scholar 

  • Chen H, Yao D (1992) A fluid model for systems with random disruptions. Oper Res 40((3–supplement–2)):S239–S247

  • Chung K, Huang Y (2003) The optimal cycle time for EPQ inventory model under permissible delay in payments. Int J Prod Econ 84(3):307–318

    Article  Google Scholar 

  • Crawford K, Cox J (1990) Designing performance measurement systems for just-in-time operations. Int J Prod Res 28(11):2025–2036

    Article  Google Scholar 

  • Goyal S (1985) Economic order quantity under conditions of permissible delay in payments. J Oper Res Soc 36(4):335–338

    Article  Google Scholar 

  • Kendall D (1953) Stochastic processes occurring in the theory of queues and their analysis by the method of the imbedded Markov chain. Ann Math Stat 24(3):338–354

    Article  MathSciNet  Google Scholar 

  • May A, Keller H (1967) A deterministic queueing model. Transp Res 1(2):117–128

    Google Scholar 

  • Marshall K (1968) Some inequalities in queuing. Oper Res 16(3):651–668

    Article  MathSciNet  Google Scholar 

  • Munier Kordon A (2011) A graph-based analysis of the cyclic scheduling problem with time constraints: schedulability and periodicity of the earliest schedule. J Sched 14(1):103–117

    Article  MathSciNet  Google Scholar 

  • Shimshak D (1979) A comparison of waiting time approximations in series queueing systems. Nav Res Logist Q 26(3):499–509

    Article  MathSciNet  Google Scholar 

  • Turpin L (2018) A note on understanding cycle time. Int J Prod Econ 205:113–117

    Article  Google Scholar 

  • Turpin L, Brown B (2021) On reworks in a serial process with flexible windows of time. Oper Res Forum 2(2):1–13

    Article  MathSciNet  Google Scholar 

  • Weber R (1979) The interchangeability of \(\cdot \)/M/1 queues in series. J Appl Probab 16(3):690–695

    Article  MathSciNet  ADS  Google Scholar 

  • Whitt W (1984) Approximations for departure processes and queues in series. Nav Res Logist Q 31(4):499–521

    Article  MathSciNet  Google Scholar 

  • Wu K, McGinnis L (2013) Interpolation approximations for queues in series. IIE Trans 45(3):273–290

    Article  Google Scholar 

  • Zukerman M (2019) Queueing theory and stochastic teletraffic models. Available at https://arxiv.org/pdf/1307.2968.pdf

Download references

Acknowledgements

We would like to thank the anonymous reviewers for the generous feedback that greatly improved this manuscript in both mathematical formality and structure. Additionally, we are grateful to our colleagues in the mathematics department for the many helpful discussions, as well as the editor for the constructive comments on the overall readability of the paper.

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Lonnie Turpin Jr..

Ethics declarations

Conflict of interest

The authors have no conflict of interest to declare that are relevant to this article.

Additional information

Publisher's Note

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

Appendix

Appendix

1.1 A.1   Extensions using throughput time

For our three-task process \(\lbrace b - 1 , b , b + 1 \rbrace \), the identity for throughput time (the time it takes for a unit to completely flow through the process) is expressed in the form \(\lbrace T_x = E_{x , b + 1} - B_{x , b - 1} :x > 1 \rbrace \) (see Turpin (2018)). Restricting the condition to a single server for all tasks, we offer the following result that extends the work presented in this paper.

Lemma 6

Assume a serial \(\text {D}_i / \text {D}_i / S_i\) process where \(\lbrace S_i = 1 :i \in \lbrace b - 1 , b , b + 1 \rbrace \rbrace \). If \(\lambda _b = \mu _b\) and \(\lambda _b > \mu _b < \mu _{b + 1}\), then the throughput time for any \(x > 1\) is \(T_x = E_{1 , b + 1} + \left[ \left( x - 1 \right) \times \left( \mathbb {E} \left[ \text {CT} \right] _n - \text {IT} \right) \right] \) where \(n = x\).

Table 4 Metrics and associated times for Example 5

Proof

Let us first recall the derivations of \(\varvec{\Psi }\), \(\varvec{\Phi }\), and \(\varvec{\Delta }\) from Section 2.2. Now fix \(x \in \varvec{\Upsilon }\) so that we can replace y with x. By construction, we have that \(\varvec{\Psi } = \text {CT}_x\) and \(\varvec{\Phi } = \text {CT}_x\) since each requires \(S_b\) terms, and we have \(S_b = 1\) by assumption. It was determined earlier that \(\varvec{\Delta } = \varvec{\Psi } - \varvec{\Phi } S_b\), thereby giving us \(\varvec{\Delta } = 0\). Then, by our derivation for the expectation (we will skip a few steps by deferring to the proof of statement (i) of Theorem 1) we get

$$\begin{aligned} \mathbb {E} \left[ \text {CT} \right] _n&= \frac{\frac{\varvec{\Psi } \left( n - S_b \right) }{S_b} - \frac{\varvec{\Delta }}{S_b}}{n} \quad \quad \left( \text {from proof of statement (i)} \right) \\&= \frac{\frac{\varvec{\Psi } n}{S_b} - \frac{\varvec{\Psi } \varvec{\Delta } S_b}{S_b}}{n}\\&= \frac{\varvec{\Psi }}{S_b} - \frac{\varvec{\Psi } \varvec{\Delta } S_b}{n S_b}\\&= \frac{\varvec{\Psi }}{S_b}\\&= \text {CT}_x \end{aligned}$$

showing \(\mathbb {E} \left[ \text {CT} \right] _n = \text {CT}_x\) for any \(n = x\). Recalling that \(C_b \overset{\text {def}}{=} \varvec{\Psi } / S_b\) and \(C_b = P_b / S_b\), we have that \(\text {CT}_x = P_b\) due to \(S_b = 1\). Next, we can simplify the beginning (starting) time to \(B_{x > 1 , b + 1} = \left[ \left( x - 1 \right) \times P_{b - 1} \right] \) (given \(\lambda _{b - 1} = \mu _{b - 1}\)) and \(E_{x > 1 , b + 1} = \text {PT} + \left[ \left( x - 1 \right) \times P_b \right] \) where the term \(\text {PT} = P_{b - 1} + P_b + P_{b + 1}\) is the ending time for unit \(x = 1\) (that is, \(E_{1 , b + 1}\)). Since \(T_x = E_{x , b + 1} - B_{x , b - 1}\), we can construct the throughput time as \(T_{x > 1} = \text {PT} + \left[ \left( x - 1 \right) \times \left( P_b - \text {IT} \right) \right] \). By induction on x, we then get \(T_{x + 1} = \text {PT} + \left[ \left( \left[ x + 1 \right] - 1 \right) \times \left( P_b - \text {IT} \right) \right] \) which is equivalent to \(T_{x + 1} = \text {PT} + \left[ x \times \left( P_b - \text {IT} \right) \right] \). This reduces easily to

$$\begin{aligned} \left\{ T_x = \text {PT} + \left[ \left( x - 1 \right) \times \left( P_b - \text {IT} \right) \right] :x > 1 \right\} \end{aligned}$$

and the statement of the lemma follows. \(\square \)

Corollary 7

Under the assumed conditions, the identity of \(\varvec{\Lambda }\) is irrelevant, and the corresponding proof is omitted.

Example 5

Let us consider the process times from Example 1 as \(P_{b - 1} = 8\) minutes, \(P_b = 30\) minutes, and \(P_{b + 1} = 7\) minutes (where each of their respective task cycle times are equivalent, by assumption). We then get Table 4.

Note that although the block of units under consideration is reduced to the singleton \(\lbrace k S_b \rbrace \) for any \(k \ge 1\), we still have the corresponding cycle time summing to \(P_b\).

1.1.1 A.2   Scenarios with Gantt charts

Example 6

Fix the interarrival time \(\text {IT} = P_{b - 1}\), and let the task process times \(\lbrace P_{b - 1} = 3 , P_b = 20 , P_{b + 1} = 2 \rbrace \) minutes per unit with servers \(\lbrace S_i = 1 :i \in \lbrace b - 1 , b , b + 1 \rbrace \rbrace \), respectively. This gives us the task cycle times \(\lbrace C_{b - 1} = 3 , C_b = 20 , C_{b + 1} = 2 \rbrace \), by definition. A Gantt chart of this simple process is shown in Fig. 4.

Fig. 4
figure 4

The three-task process from Example 6 with a 65-minute window of time. We can derive the process cycle time between units as \(\text {CT}_x = E_{x , b + 1} - E_{x - 1 , b + 1}\) for unit \(x = 2 , 3\). Therefore, \(\text {CT}_2 = E_{2 , b + 1} - E_{1 , b + 1} = 21 - 13 = 8\) minutes, and \(\text {CT}_3 = E_{3 , b + 1} - E_{2 , b + 1} = 29 - 21 = 8\) minutes. Thus, \(\text {CT}_x = 8\) minutes for every \(x > 1\) during the operating window

Example 7

Maintain all assumptions from Example 6 but suppose we add another server to the bottleneck stage in the form \(S_b = 2\). Our corresponding task cycle times are now \(\lbrace C_{b - 1} = 3 , C_b = 10 , C_{b + 1} = 2 \rbrace \). Finally, note that with \(\text {IT} = P_{b - 1}\), it follows that the difference term \(\varvec{\Lambda } = \text {IT}\). Figure 5 highlights the new effects.

Fig. 5
figure 5

Our three-task process from Example 7 with the same 65-minute window of time and process times shown for the first five units. With the second server added to the bottleneck stage, we now have \(\text {CT}_2 = 28 - 25 = 3\) minutes, \(\text {CT}_3 = 45 - 28 = 17\) minutes, \(\text {CT}_4 = 48 - 45 = 3\) minutes, and \(\text {CT}_5 = 65 - 48 = 17\) minutes. This followed from Corollary 4 that, for any \(k \ge 1\), we get \(\text {CT}_x = \varvec{\Lambda }\) when \(x \ne k S_b + 1\), and \(\text {CT}_x = P_b - \left[ \left( S_b - 1 \right) \times \varvec{\Lambda } \right] \) when \(x = k S_b + 1\)

Example 8

Fix \(S_b = 5\) servers and maintain all other assumptions from the previous two examples. The associated difference term remains \(\varvec{\Lambda } = \text {IT}\) and we get Fig. 6.

Fig. 6
figure 6

The modified process from Example 8 showing over the same window of time but now with 11 units. Notice that a proper construction of \(\varvec{\Gamma }\) from Corollary 4 gives the set \(\varvec{\Gamma } = \lbrace 6 , 11 \rbrace \). Recalling that \(\varvec{\Lambda } = 3\), it follows that \(\lbrace \text {CT}_x = 20 - \left[ \left( 5 - 1 \right) \times 3 \right] = 8 :x \in \varvec{\Gamma } \rbrace \), and \(\lbrace \text {CT}_x = 3 :x \notin \varvec{\Gamma } \rbrace \), as expected

Example 9

Maintain \(\text {IT} = P_{b - 1}\) and \(S_b = 5\) with \(\lbrace S_i = 1 :i \ne b \rbrace \) from Example 8, but transpose \(P_{b - 1}\) and \(P_{b + 1}\) to get \(\lbrace P_{b - 1} = 2 , P_b = 20 , P_{b + 1} = 3 \rbrace \). Our task cycle times are now \(\lbrace C_{b - 1} = 2 , C_b = 4 , C_{b + 1} = 3 \rbrace \) with the difference term \(\varvec{\Lambda } = C_{b + 1}\). Figure 7 reflects these proposed changes.

Fig. 7
figure 7

A snapshot of the transposed process in Example 9 for the same 11 units. We still have the set \(\varvec{\Gamma } = \lbrace 6 , 11 \rbrace \) and \(\varvec{\Lambda } = 3\) (notice that, although \(\varvec{\Lambda }\) remains the same, the identity is now that of \(C_{b + 1}\) instead of \(\text {IT}\) by the construction of \(\varvec{\Lambda } = \max \lbrace \text {IT} , C_{b + 1} \rbrace \) from Section 2.3). The process cycle times from Example 8, that is \(\lbrace \text {CT}_x = 8 :x \in \varvec{\Gamma } \rbrace \) and \(\lbrace \text {CT}_x = 3 :x \notin \varvec{\Gamma } \rbrace \), remain unaffected

1.1.2 A.3   Possible extensions for multiple bottleneck stages

Let us extend the results by including a second multi-server bottleneck stage (albeit less than the main bottleneck task, maintaining that we only have one limiting task). That is, relax Assumption 1. Consider a process of tasks \(\lbrace b - 1 , b , b + 1 , b + 2 , b + 3 \rbrace \) where b and \(b + 2\) are bottleneck tasks with multiple servers (keeping \(i = b\) as the limiting task). We will assume an interarrival time \(\text {IT} = 1\) minute in between arrivals, and process times of \(\lbrace P_{b - 1} = 2 , P_b = 20 , P_{b + 1} = 2 , P_{b + 2} = 6 , P_{b + 3} = 2 \rbrace \) minutes per unit with \(\lbrace S_{b - 1} = 1 , S_b = 5 , S_{b + 1} = 1 , S_{b + 2} = 2 , S_{b + 3} = 1 \rbrace \) servers, respectively. Figure 8 diagrams this process.

Fig. 8
figure 8

The example for 11 units over a 72-minute window

Notice that by Definition 1, our bottleneck tasks (b and \(b + 2\)) still have a buildup, unlike tasks \(b + 1\) and \(b + 3\). Since we are concerned with the tasks after the limiting stage, that is \(\lbrace b + 1 , b + 2 , b + 3 \rbrace \), we can redefine our difference term to be \(\varvec{\Lambda } = \max \lbrace \text {IT} , \max \lbrace C_{b + 1} , C_{b + 2} , C_{b + 3} \rbrace \rbrace \), which gives \(\varvec{\Lambda } = 3\). Recalling now that \(\varvec{\Gamma } = \lbrace 6 , 11 \rbrace \) and plugging in the associated times, we get \(\lbrace \text {CT}_x = 8 :x \in \varvec{\Gamma } \rbrace \), showing our process cycle times remain of the form \(\text {CT}_{x \in \varvec{\Gamma }} = P_b - \left[ \left( S_b - 1 \right) \times \varvec{\Lambda } \right] \), by Corollary 4. However, the remaining times, \(\text {CT}_{x \in \varvec{\Gamma }}\), are not satisfied by \(\varvec{\Lambda }\). A final example on our modified difference term is shown in Fig. 9. Although it lies outside the scope of this research, it is our hope that a rigorous investigation of process cycle time, under any general condition, will be uncovered in future work.

Fig. 9
figure 9

Our previous example for 11 units, but with two minor changes: 1) \(P_{b + 2} = 7\) minutes, and 2) a 73-minute window of time. Maintaining all other assumptions, we have \(C_{b + 2} = 3.5\) minutes. Now, let us revisit our modified difference term \(\varvec{\Lambda } = \max \lbrace \text {IT} , \max \lbrace C_{b + 1} , C_{b + 2} , C_{b + 3} \rbrace \rbrace \), which gives \(\varvec{\Lambda } = 3.5\). Plugging in the associated times, we get \(\lbrace \text {CT}_x = 6 :x \in \varvec{\Gamma } \rbrace \), showing our process cycle times remain of the form \(\text {CT}_{x \in \varvec{\Gamma }} = P_b - \left[ \left( S_b - 1 \right) \times \varvec{\Lambda } \right] \), just as with the above example. This formulation shows promise, but a full proof is left open for now

Rights and permissions

Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Turpin, L., Turpin, M. Cycle times in D/D/S series queues with single multi-server bottlenecks. Discrete Event Dyn Syst 34, 251–268 (2024). https://doi.org/10.1007/s10626-023-00392-w

Download citation

  • Received:

  • Accepted:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s10626-023-00392-w

Keywords

Navigation