1 Introduction

The fixed-cycle traffic-light (FCTL) queue is an intensively studied stochastic model in traffic engineering [3, 5, 6, 11, 12, 17, 19]. Vehicles arrive at an intersection controlled by a traffic light and form a queue. The FCTL queue is traditionally modeled in discrete time, and time is divided into slots of unit length. The green and red periods, of length g and r slots, respectively, and thus the cycle length \(c=g+r\), are assumed to be fixed multiples of one slot. Each slot corresponds to the time needed for a delayed vehicle to depart from the queue. Vehicles that arrive during a red period are delayed, as well as those that arrive during a green period and meet a non-empty queue. Those vehicles that arrive to the queue and are delayed join the queue at the end of the slot in which they arrive. Vehicles that arrive during a green period and meet no other vehicles in the queue are treated according to the following assumption:

Definition 1

(FCTL assumption) For those cycles in which the queue clears before the green period terminates, all vehicles that arrive during the residual green period pass through the system and experience no delay whatsoever.

So, in the case of a non-empty queue during the green period, the queue length in the next slot is reduced by one compared to the queue length in the previous slot, but increased by the number of arrivals in that slot, whereas the queue remains empty if the queue was already empty at the start of the slot.

The FCTL assumption is quite realistic for straight-going traffic flows, since vehicles that find no queue during a residual green period will proceed without stopping and can keep driving at free-flow speed. For turning flows, however, the FCTL assumption seems too restrictive. Oblakova et al. [13] considered several generalizations of the FCTL queue that alleviate the classical FCTL assumption to account for right-turns, disruptions of the traffic and uncertainty in departure times. We will cover these extensions in Sect. 2.3.

The FCTL assumption (or its relaxed counterparts in [13]) causes some mathematical challenges. Let \(X_{k,n}\) denote the queue length at time k in cycle n (time expressed in slots). Then, in cycle n, \(X_{0,n}\) is the queue length at the beginning of the green period, and \(X_{g,n}\) the overflow defined as the queue length at the end of the green period (and thus the beginning of the red period). Let \(A_n\) denote the total number of vehicles that arrive at the intersection in between the two measurements of the overflow \(X_{g,n}\) and \(X_{g,n+1}\). Thus, \(A_n\) are the arrivals from the end of the time slot at which \(X_{g,n}\) is measured onwards in a consecutive red and green period. Further, \(A_n=A_n^d+A_n^p\), where \(A_n^d\) denotes the number of delayed vehicles and \(A_n^p\) the number of vehicles that pass without delay on behalf of the FCTL assumption. The overflow queue can then be defined as

$$\begin{aligned} X_{g,n+1}=\max \{X_{g,n}+A_{n}^d-g,0\}. \end{aligned}$$
(1.1)

The fact that \(A_n^d\) depends on both \(X_{g,n}\) and the exact specification of when the arrivals occur makes (1.1) hard to analyze. To capture that level of detail, let \(Y_{k,n}\) denote the number of vehicles that arrive at the intersection during slot k in cycle n. The random variables \(Y_{k,n}\) are assumed independent and identically distributed, for all k and n. Notice that all of the above assumptions together mean that the queue lengths at the end of time slots can be modeled as a discrete-time Markov chain. Using analytic techniques suitable for dealing with such Markov chains, Darroch [5] obtained the probability generating function (PGF) of the steady-state overflow queue (the number of vehicles waiting in front of the traffic light at the end of a green period), and the PGF of the steady-state delay was obtained in van Leeuwaarden [17]. Hence, all information about the distribution of the steady-state overflow queue and steady-state delay in the FCTL queue can be obtained from the results in [5, 17], including all moments of the steady-state queue length and delay, and the distribution of the output process (the way vehicles leave the intersection).

The FCTL queue belongs to a large class of cyclic queueing models related to vehicle dispatching with uncertain arrivals and bulk service [14, 15, 18]. A range of transportation and manufacturing systems can be modeled in this way, including batch production systems, bulk movements of goods in a factory, truck shipments and bus transportation. Within this class of models, many different rules can be considered that apply to customer arrivals and vehicle departures within a cycle. Think of vehicle-cancelation policies that hold a vehicle until the queue length reaches a specified threshold. The FCTL assumption can also be viewed as a special rule that influences the dynamics within a cycle.

The classical FCTL treatment in [5, 17] comes with computational challenges. This is because the PGF for the stationary queue-length distribution contains \(g-1\) boundary terms that need to be found separately. The traditional way of determining these remaining unknowns consists of two steps: finding the \(g-1\) complex-valued roots and using these roots as input for a system of linear equations whose solution gives the boundary terms. Both steps can present difficulties, but were somehow considered unavoidable in the mathematically rigorous treatment of the FCTL queue [5, 11, 12, 17, 19] and of related bulk-service queues [9, 14, 15]. This perspective changed with the work of Oblakova et al. [13], which presented a contour-integral expression of the mean stationary queue length. The present paper extends that methodology to the transform domain and results in a contour-integral expression for the PGF of the FCTL queue and some of the generalizations considered in [13].

Paper outline We present in Sect. 2 the main result of the paper, an alternative representation for the transform solution in terms of a contour integral. Theorem 1 deals with the classical FCTL queue and Theorem 2 with the generalized FCTL queues introduced in [13]. We also explain in Sect. 3 how these contour integrals lead to algorithms that can compete with existing algorithms based on root finding. The proof of our main result is presented in Sect. 4 and uses several basic notions from complex analysis. We present some conclusions in Sect. 5.

2 Main results

We briefly review the standard solution method for obtaining an exact transform solution for the steady-state FCTL queue in Sect. 2.1. We then present in Sect. 2.2 the contour-integral representation for the FCTL queue and in Sect. 2.3 for the generalized FCTL queues.

2.1 Standard solution

Let Y be the number of arrivals during one slot and define \(Y(z)= \mathbb {E}[z^Y]\). Assume \(\mathbb {P}(Y=0)>0\), \(Y'(1)<1\) and Y(z) to be analytic in a region \(|z|<R\) with \(R>1\) and R maximal. The key quantity in the mathematical analysis of the FCTL queue is the steady-state overflow queue, defined as \(X_g=\lim _{n\rightarrow \infty }X_{g,n}\). Clearly, to have stability, and for \(X_g\) to be well defined,

$$\begin{aligned} c\mathbb {E}[Y]<g. \end{aligned}$$
(2.1)

Using the kernel method and transform techniques, the PGF of \(X_g\), denoted by \(X_g(z)=\mathbb {E}[z^{X_g}],\) can be obtained using a by now classical line of reasoning. With \(A(z)=\mathbb {E}[z^A]=Y(z)^c\), it can be shown that [5, 17]

$$\begin{aligned} X_g(z)=\frac{(z-Y(z))\sum _{k=0}^{g-1}q_kz^k Y(z)^{g-1-k}}{z^g-A(z)}. \end{aligned}$$
(2.2)

This expression still contains g unknowns \(q_0,\ldots ,q_{g-1}\), representing the probability that the queue empties in slot k, thus \(\mathbb {P}(X_k=0)=q_k\), which can be found by exploiting the analytic properties of PGFs. With Rouché’s theorem, it can be shown that the denominator of (2.2) has g zeros on or within the unit circle \(|z| = 1\). Because a PGF is well defined in \(|z|\le 1\), the numerator of \(X_g(z)\) should vanish at each of the zeros. This gives g equations. One of the zeros equals 1 and leads to a trivial equation. However, the normalization condition \(X_g(1)=1\) provides an additional equation. That summarizes the highest level of general development for FCTL queue analysis: transform techniques yield an expression for \(X_g(z)\) that in order to be evaluated demands finding \(g-1\) roots in the complex plane of the function \(z^g=A(z)\) and solving a set of g linear equations.

2.2 Standard FCTL queue

We now turn to the alternative expression for \(X_g(z)\), where we change the argument of \(X_g\) from z to w to distinguish between the standard version of the PGF and the contour-integral version. Here is the main result in this paper:

Theorem 1

(Pollaczek integral for FCTL) There is an \(\epsilon _0>0\) such that, for all \(\epsilon \in (0,\epsilon _0),\)

$$\begin{aligned}&X_g(w)=\exp \left( \frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\frac{Y'(z)z-Y(z)}{z-Y(z)}\,\frac{w-Y(w)}{z Y(w) -w Y(z)} \ln \left( 1-\frac{A(z)}{z^g}\right) \,\mathrm{d}z\right) ,\nonumber \\&\quad |w|<1+\epsilon , \end{aligned}$$
(2.3)

with the principal value of the logarithm.

Here, \(\epsilon _0\) should satisfy the inequality \(\epsilon _0<\min \{t_0,R_0\}\), where \(t_0 = \sup \{t\in \mathbb {R}_+|Y^\prime (t)t-Y(t)\le 0 \}\) and \(R_0\) is the unique root with smallest modulus of \(A(z)=z^g\) in \((1,\infty )\). Since \(\mathbb {E}[Y]<g/c<1\), this root always exists, also in the case \(Y(z)=y_0+y_1z\).

Remark 1

Formula (2.3) for \(X_g(w)\) is essentially equivalent to

$$\begin{aligned} X_g(w)=\exp \left( \frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\right) , \end{aligned}$$
(2.4)

except that the validity range is more delicate due to the more complicated argument of the \(\ln \) in (2.4). Formula (2.3) follows upon manipulating (2.4) using partial integration (details in Sect. 4).

Sketch of the proof The proof of Theorem 1 finds a way to go from representation (2.2) to contour integrals. A significant start in this direction was made by [13], who rewrote (2.2) as

$$\begin{aligned} X_g(z)=\frac{(z-Y(z))z^{g-1}\sum _{k=0}^{g-1}q_k \left( \frac{Y(z)}{z}\right) ^{g-1-k}}{z^g-A(z)}. \end{aligned}$$
(2.5)

Denote the g roots of \(z^g=A(z)\) on and within the unit circle by \(z_0=1,z_1,\ldots ,z_{g-1}\). Now, here is where the authors in [13] took an eye-opening step: instead of using the g roots in the traditional manner for finding the unknowns \(q_k\) and completing transform (2.2), use these roots for factorizing the numerator of (2.2). Notice that this cannot be done immediately, because interpreted as a function of z, the numerator is by no means a polynomial of degree g or less. However, by treating the function Y(z) / z as a variable itself, the summation in the numerator is a polynomial of degree \(g-1\) and can be factorized as

$$\begin{aligned} \sum _{k=0}^{g-1}q_k \left( \frac{Y(z)}{z}\right) ^{g-1-k}=q_0\prod _{k=1}^{g-1}\left( \frac{Y(z)}{z}-\frac{Y(z_k)}{z_k}\right) , \end{aligned}$$
(2.6)

using that \(X_g(z)\) is well defined in the disk \(|z|\le 1\), that \(z_1,\ldots z_{g-1}\) are roots of the denominator and therefore also should be roots of the numerator, and that Y(z) / z is injective (see Sect. 4). After normalization using \(X_g(1)=1\), the factorization in (2.6) leads to the representation

$$\begin{aligned} X_g(z)=\frac{g-A'(1)}{z^g-A(z)}\cdot \frac{z-Y(z)}{1-Y'(1)} \cdot z^{g-1}\prod _{k=1}^{g-1}\frac{Y(z)/z-Y(z_k)/z_k}{1-Y(z_k)/z_k}. \end{aligned}$$
(2.7)

Our proof then proceeds by interpreting (2.7) as the outcome of Cauchy’s residue theorem, the classical tool from complex analysis to evaluate line integrals of analytic functions over closed curves. An important step is to write

$$\begin{aligned} \ln \left( z^{g-1}\prod _{k=1}^{g-1}\frac{Y(z)/z-Y(z_k)/z_k}{1-Y(z_k)/z_k}\right) =\sum _{k=1}^{g-1}\ln \left( \frac{zY(z_k)-z_k Y(z)}{Y(z_k)-z_k}\right) , \end{aligned}$$
(2.8)

and to regard (2.8) as the sum of residues at \(z=z_k\). To construct an analytic function that, in conjunction with Cauchy’s theorem and the closed curve \(|z|=1+\epsilon \), returns (2.8) and has singularities at \(z_1,\ldots ,z_{g-1}\) leads us to consider the integrand in (2.4). Here, the logarithmic function

$$\begin{aligned} \ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \end{aligned}$$
(2.9)

follows from (2.8) and the singularities with appropriate residues are created through \((z^g-A(z))'/(z^g-A(z))\). After careful consideration of the analytic properties of the integrand in (2.4), we then show that Cauchy’s theorem gives (2.7), from which (2.4) follows. As said, (2.3) is obtained by manipulating (2.4), using partial integration. The formal proof of Theorem 1 presented in Sect. 4 contains several challenging steps and requires, among other things, a proof that the function Y(z) / z is injective in a region that contains the unit disk, and a way to account for the branch cut caused by the logarithm in (2.9) being taken over negative values.

Historical notes Integrals of this sort go a long way back in the history of queueing theory and were first found in the ground-breaking work of Pollaczek on the classical single-server queue (see [1, 4, 7] for historical accounts). Let us point out the connection to the well-known Pollaczek-type integral for the discrete bulk-service queue [9], a discrete-time queueing model in which customers upon arrival are placed in a queue and, after some stochastic service time, a (possibly stochastic) number of customers is served, all at once. Served customers leave the system immediately, whereas the remaining customers in the queue have to wait at least one more service period. The analysis of the bulk-service queue is easier than that of the FCTL queue. To see this, observe that the analysis of the FCTL queue would be greatly simplified if all vehicles were delayed [16], so that all vehicles arrive while the queue length is at least one and the complicated random variable \(A_n^d\) in (1.1) can be replaced by \(A_n\). In that case, (1.1) becomes a standard stochastic recursion driven by i.i.d. random variables and the FCTL queue reduces to the classical bulk-service queue, a special case of the more general single-server queue investigated by Pollaczek. Let \(X_b\) denote the steady-state queue length in that bulk-service queue, defined as the solution of the stochastic equation

$$\begin{aligned} X_b{\mathop {=}\limits ^{d}}\max \{X_{b}+A-g,0\}. \end{aligned}$$
(2.10)

Pollaczek’s result then says that (see [8, 9] for a direct derivation)

$$\begin{aligned} X_b(w)=\exp \left( \frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\ln \left( \frac{w-z}{1-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\right) \end{aligned}$$
(2.11)

holds when \(|w|<1+\epsilon ,\) with \(\epsilon \) positive and bounded by some constant. Observe the striking similarity with (2.4). While the FCTL queue is harder to analyze than the bulk-service queue, the two contour-integral representations (2.4) and (2.11) only differ in the logarithmic function. The authors find this quite surprising themselves, particularly because there seems no way to interpret the FCTL queue as a reflected random walk (that is, a recursive structure with i.i.d. increments), while in the literature so far this seems to be a prerequisite for establishing Pollaczek-type contour integrals. Do observe that (2.11) is valid in an area that includes the unit disk, while (2.4) is guaranteed only in an open set containing [0, 1]; see Sect. 4. This objection does not hold against representation (2.3) of \(X_g(w)\).

Remark 2

The bulk-service queue serves as a popular approximation of the FCTL queue [16]. In fact, for Bernoulli arrivals with per time slot one or no arrival (which is case (i) in the proofs of Lemmas 3 and 4), this approximation becomes exact. To see this, substitute \(Y(z)=1-p+pz\) into the logarithmic function in (2.4), and observe that this gives the logarithmic function in (2.11). Obviously, when Y can take values larger than one, the bulk-service queue is an approximation and yields an upper bound on the overflow queue.

2.3 Generalized FCTL queues

Oblakova et al. [13] have introduced generalized FCTL queues and established contour integrals for the first moment of the steady-state queue length. We now show how contour-integral representations for these generalized FCTL queues follow almost directly from the standard FCTL queue. We start from the definition of X(z) in [13], a generalization of the function \(X_g(z)\) that contains as special cases several extensions of the FCTL queue.

Definition 2

[13] Consider the function X(z) with \(X(1)=1\) and

$$\begin{aligned} X(z) = \frac{\sum _{k=0}^{g-1}x_kz^kB(z)^{g-1-k}}{z^g-A(z)}\xi (z), \end{aligned}$$
(2.12)

where B(z) and A(z) are PGFs and \(\xi (z)\) is a function satisfying \(\xi (1)=0\), \(\xi (z_l)\ne 0\) with \(z_l\ne 1\) the roots of \(z^g-A(z)\) inside the unit disk. Assume, moreover, that \(B^\prime (1)<1\); \(A^\prime (1)<g\); that, for some \(\delta >0,\) the functions A(z) and B(z) are analytic within the disk \(|w|<1+\delta \); and that X(z) is analytic inside the unit disk and continuous up to the unit circle. Also assume that \(t_0>1\), where \(t_0 = \sup \{t\in \mathbb {R}_+|B^\prime (t)t-B(t)\le 0 \}\).

Here is the main result for the function X(z):

Theorem 2

(Pollaczek integrals for generalized FCTL queues) Under Definition 2, there exists an \(\epsilon _0>0\) such that, for all \(\epsilon \in (0,\epsilon _0),\)

$$\begin{aligned} X(z)=\exp \left( \frac{1}{2\pi i}\oint _{|w|=1+\epsilon }\ln \left( \frac{zB(w)-wB(z)}{B(w)-w}\right) \,\frac{(w^g-A(w))'}{w^g-A(w)}\,\mathrm{d}w\right) \frac{1-B^\prime (1)}{z-B(z)}\frac{\xi (z)}{\xi ^\prime (1)}, \end{aligned}$$
(2.13)

for all \(|z|<1+\epsilon \), with the principal value of the logarithm.

Proof

We shall express (2.12) as a product of the PGF of the standard FCTL queue and some analytic function. Denote the \(g-1\) roots of \(z^g-A(z)\) inside the unit circle by \(z_1,\ldots ,z_{g-1}\). We can then rewrite (2.12), using \(X(1)=1\), as

$$\begin{aligned} X(z) = \frac{(g-A^\prime (1))}{z^g-A(z)} \frac{\xi (z)}{\xi '(1)}\prod _{k=1}^{g-1} \frac{B(z)z_k-zB(z_k)}{B(z_k)-z_k}. \end{aligned}$$
(2.14)

Setting \(B(z)=Y(z)\), \(A(z)=Y(z)^c\) and \(\xi (z)=z-Y(z)\), we see from (2.7) that

$$\begin{aligned} X(z) = X_g(z)\frac{1-B^\prime (1)}{z-B(z)}\frac{\xi (z)}{\xi '(1)}. \end{aligned}$$
(2.15)

This gives the result. \(\square \)

Let us now discuss the extensions contained in X(z).

(i) The first extension concerns right-turning traffic, in which case the difference in discharge rate between delayed and non-delayed vehicles almost vanishes. This requires modifying the FCTL assumption in order to put an upper bound on the number of vehicles that pass the traffic light without delay. This upper bound is set to one, so that at most one vehicle can depart per green slot. Following [13], it can be shown that this model for right-turning traffic follows by setting \(B(z)=Y(z)\), \(A(z)=Y(z)^c\) and \(\xi (z)=(z-1)Y(0)\), and the contour-integral expression for the PGF thus follows from Theorem 2.

(ii) Another extension of the classical FCTL queue is one that accounts for disruptions of the traffic flow by, for example, pedestrians. To account for these disruptions, one could extend the red period or shorten the green period for the main stream of vehicles [13]. This extension thus requires a FCTL queue with random (but finite) green and red times, for which we choose \(g=G\), with G denoting the maximum green time. Setting \(B(z)=Y(z)\), \(A(z)=\sum _{r,g}p_{r,g}Y(z)^{r+g}z^{G-g}\) with \(p_{rg}\) the probability that a cycle consists of g green and r red slots, and \(\xi (z)=z-Y(z)\), then shows that also this extension of interrupted flows is contained in Theorem 2.

(iii) The third extension we mention relates to uncertainty in departure times of vehicles, for instance, due to distracted drivers facing a green light and hence causing the driver to not depart from the queue with some probability p [13]. Assuming a geometrically distributed number of slots before a driver leaves the queue models this situation, with \(B(z)=Y(z)(1-p+pz)\), \(A(z)=Y(z)^c(1-p+pz)^g\) and \(\xi (z)=z-Y(z)(1-p+pz)\).

(iv) A fourth extension deals with relaxing the independence assumption on the arrival process during the red slots [13]. In this extension, the arrivals during a red time within a cycle may be dependent (the arrivals during green slots still need to be i.i.d.). For this FCTL queue, we should choose \(B(z)=Y(z)\), \(A(z)=A_r(z)Y(z)^g\), where \(A_r(z)\) denotes the PGF of the arrival process during the whole red period, and \(\xi (z)=z-Y(z)\).

The present paper adds to [13] the PGFs in terms of contour integrals, of which the contour integrals for the mean queue length obtained in [13] follow by evaluating the derivative at one. For insights into the differences between the various FCTL queue extensions, we refer to the elaborate numerical study in [13].

3 Algorithmic methods

We now discuss the computational challenges that come with calculating the steady-state queue-length distribution, using either the contour integrals in Theorems 1 and 2 or the standard expression in terms of roots. The algorithms using contour integrals in this section are based on representation (2.4) (but one could also take (2.3)). Notice that we only need to expand \(X_g(w)\) at \(w=0\) and \(w=1\), so inside the validity range of (2.4).

3.1 From PGF to performance measures

The mean stationary overflow queue \(\mathbb {E}X_g\) is given by \(X_g'(1)\) and takes the form

$$\begin{aligned} \mathbb {E}X_g&=\frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\frac{Y(z)-z Y'(1)}{Y(z)-z }~\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z. \end{aligned}$$
(3.1)

This result was recently obtained in [13] using a direct proof that converted the classical expression for \(\mathbb {E}X_g\) in terms of complex-valued roots into the integral expression (3.1).

From the PGF \(X_g(z)\), we can in principle determine all stationary moments. Define

$$\begin{aligned} f(w)&:=\frac{1}{2\pi i}\oint _{|z|=1+\epsilon }g(w,z)\,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z, \end{aligned}$$
(3.2)
$$\begin{aligned} g(w,z)&:=\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) ,\end{aligned}$$
(3.3)
$$\begin{aligned} h_k(w)&:= {\left\{ \begin{array}{ll} 1 &{} \qquad k = 0,\\ h_{k-1}(w)f'(w)+h_{k-1}'(w) &{} \qquad k = 1, 2, \ldots . \end{array}\right. } \end{aligned}$$
(3.4)

The moments \(\mathbb {E}[X_g^k]\) then follow from symbolically differentiating PGF (2.4), and these derivatives can be expressed as

$$\begin{aligned} X_g^{(k)}(w) := \frac{\text {d}^k}{\text {d} w^k} X_g(w) =\frac{\text {d}^k}{\text {d} w^k} \exp \left( f(w)\right) = h_k(w)\exp \left( f(w)\right) , \end{aligned}$$
(3.5)

for \(k=0, 1,2,\ldots \). Using this recursive expression, \(X_g^{(k)}(w)\) can be expressed in terms of f(w) and the first k derivatives of f(w), denoted by \(f^{(1)}(w), \ldots , f^{(k)}(w),\) with

$$\begin{aligned} f^{(j)}(w):=&\frac{\partial ^j}{\partial w^j} \frac{1}{2\pi i}\oint _{|z|=1+\epsilon }g(w,z)\,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\nonumber \\ =&\frac{1}{2\pi i}\oint _{|z|=1+\epsilon }g^{(j)}(w,z)\,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z \end{aligned}$$
(3.6)

and \(g^{(j)}(w,z):=\frac{\partial ^j}{\partial w^j}g(w,z)\), for \(j=1,2,\ldots ,k\). After substituting \(w=1\), we can express the first k moments of \(X_g\) in terms of k contour integrals that only involve the model primitives and the first k moments of Y. Using \(f(1)=0\), the variance of \(X_g\) given by \(\text {Var}(X_g)=h_2(1)+h_1(1)-(h_1(1))^2\) takes the form

$$\begin{aligned} \text {Var}(X_g)&=\frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\frac{z^2\text {Var}(Y)-zY(z)(1+\mathbb {E}(Y^2)-2\mathbb {E}Y)}{(z-Y(z))^2}~\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z. \end{aligned}$$
(3.7)

To determine the stationary distribution of the overflow queue, we use that

$$\begin{aligned} \mathbb {P}(X_g=k) = \frac{1}{k!}\frac{\text {d}^k}{\text {d} w^k} X_g(w)\Big |_{w=0}=\frac{1}{k!}h_k(0)\exp \left( f(0)\right) . \end{aligned}$$
(3.8)

First observe that

$$\begin{aligned} \mathbb {P}(X_g=0) = \exp \left( f(0)\right) = \exp \left( \frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\ln \left( \frac{z \mathbb {P}(Y=0)}{z-Y(z)}\right) \frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\right) . \end{aligned}$$
(3.9)

Expressions for the other probabilities \(\mathbb {P}(X_g=k)\) follow in a similar way, but require evaluating the resulting function at \(w=0\) instead of \(w=1\) and dividing by k!. As a consequence, \(\mathbb {P}(X_g=k)\) can be expressed in terms of \(f(0), f^{(1)}(0), \ldots , f^{(k)}(0)\), again an expression that involves explicit contour integrals only.

3.2 Roots or integrals?

Compared with root finding, contour integrals have advantages and disadvantages. On the one hand, avoiding the implicitly defined roots is nice, because the integrals are explicit expressions in terms of the model primitives g, r and Y(z). On the other hand, the number of terms required to evaluate \(f^{(j)}(w)\) grows exponentially in j. For tail probabilities, this symbolic differentiation becomes computationally cumbersome.

While in the early queueing literature root finding was considered to be prohibitively difficult, with the computational methods available nowadays, it is possible to find the complex-valued roots of \(z^g-A(z)\) with great accuracy. In Appendix A, we present the root-finding algorithm that we use in this paper, which after extensive testing was found to be accurate and reliable for all choices of A(z). The simple idea behind the algorithm is to approximate A(z) with its Taylor series \(A_n(z)\) of order n, reducing the problem to finding roots of polynomial equations, and subsequently use Newton’s method to find the roots of \(z^g-A(z)\) with arbitrary precision. We also present some results that show that the roots of the n-th system converge to the roots of \(z^g-A(z)\) and provide an explicit characterization of the roots for the case when A(z) is the PGF of a Poisson random variable. In that case, the roots can be written in terms of the Lambert W-function.

Extensive tests with both algorithms did not result in any numerical issues, except for two obvious limitations: for tail probabilities the symbolic differentiation within the integrand becomes a bottleneck, and for root finding loss of accuracy is expected when the number of roots g becomes excessively large (although a thousand roots present no difficulties). For most, if not all, practical purposes, both methods lead to reliable and accurate algorithms.

In terms of computation time, contour integration is generally slower than root finding. For moments there is little difference, because both methods lead to explicit expressions. For queue-length probabilities, however, numerical inversion of the PGF is required (see, for example, [2]), and in that case calculating the many contour integrals becomes computationally expensive.

Fig. 1
figure 1

Several performance measures for the FCTL queue in Sect. 3.2 with \(g=20\), \(r=30\) and Poisson arrivals. The colors blue, orange, green and red correspond to volume over capacity ratios of, respectively, 0.5, 0.75, 0.9 and 0.95. The subfigures show a mean queue lengths during a cycle, b the queue-length distribution at the start of green periods, c effective green periods and d delay distribution of vehicles arriving in slot 10 (for \(\rho =0.9,0.95\) only) (Color figure online)

To illustrate the algorithms, we now show some results for the FCTL queue with \(g=20\) and \(c=50\). We consider Poisson arrivals with on average \(\lambda \) vehicles arriving per slot, and four scenarios: \(\lambda =0.2\) (light traffic), \(\lambda =0.3\) (moderate traffic), \(\lambda =0.36\) (heavy traffic) and \(\lambda =0.38\) (extreme traffic). These arrival rates correspond to a volume/capacity ratio \(\rho =\lambda c /g\) ranging from 0.5 to 0.95. The results are calculated with both roots and contour integrals and are on the scale of the displayed figures indistinguishable.

Figure 1a shows the mean queue lengths \(E[X_0], \ldots , \mathbb {E}[X_c]\) through one cycle. Observe the strong cyclic behavior and the high sensitivity for \( \rho \). Figure 1b shows the queue-length distribution at cycle start, the moment that the traffic signal turns green and queue lengths are expected to peak. Observe the difference between operating at 75% or 90% of maximal capacity: the probability that more than 20 vehicles are waiting is only 0.002 for \(\lambda =0.3\) and 0.32 for \(\lambda =0.38\). Figure 1c depicts the distribution of the effective green time G, defined in [16] as the number of slots used for departure of delayed vehicles that arrive throughout the whole cycle. We have

$$\begin{aligned} \mathbb {P}(G=k) = {\left\{ \begin{array}{ll} q_0 &{} \qquad \text { for }k=0,\\ q_k - q_{k-1} &{} \qquad \text { for }k=1, \ldots , g-1,\\ 1 - q_{g-1} &{} \qquad \text { for }k=g. \end{array}\right. } \end{aligned}$$
(3.10)

Since only one delayed vehicle departs per slot, this can also be considered to be the distribution of the platoon length consisting of delayed vehicles departing during one cycle. Observe that \(\mathbb {P}(G=g)\) is practically zero when \(\rho =0.5\), but as high as 0.71 when \(\rho =0.95\), which means that in only 29% of the cycles the green time is long enough to let the queue vanish.

Finally, we consider the delay distribution of an arbitrary vehicle arriving in the 10-th slot, which is during the green period. The stationary delay of a vehicle arriving in slot k, denoted by \(D_{[k]}\), is defined as the number of slots between arrival and departure, not including the slot of arrival. Figure 1d shows \(D_{[10]}\), which can be computed directly from \(X_{9}\), i.e., the number of vehicles waiting at the start of the 10-th slot. If \(X_{9}=0\), we have that \(D_{[10]}=0\); otherwise, the delay can be expressed as a function of the number of vehicles present at the arrival of the tagged vehicle. This function (studied in detail in [17]) should take into account interruptions due to red periods, which explains the fragmented histograms in Fig. 1d.

4 Proof of the Pollaczek contour-integral representation

As explained briefly in Sect. 2, the proof of Theorem 1 exploits the factorized form (2.7) and investigates in detail the logarithmic function (2.9). We present some useful properties of the function Y(z) / z, visible in both (2.7) and (2.9). We then proceed to use Cauchy’s theorem to obtain the contour-integral representation (2.4) for the case that \(1<w<1+\epsilon \), and finally manipulate (2.4) to obtain (2.3) on the full range \(|w|<1+\epsilon \).

4.1 Auxiliary results

Before we prove Theorem 1, we present some auxiliary results for the function Y(z) / z. In [13, Theorem 1], it was shown that the function Y(z) / z is injective on the disk \(|z|\le 1\), so that all \(Y(z_k)/z_k \ne Y(z_l)/z_l\) when \(z_k\ne z_l\). For our proof, we also need injectivity, but for the larger disk with radius \(t_0>1\). More specifically, let

$$\begin{aligned} t_0 :&= \sup \{t\in (0,R)\,\,|\,\,Y'(t)t-Y(t)\le 0\}, \end{aligned}$$
(4.1)

where R is the maximum value such that Y(z) is analytic in the region \(|z|<R\).

Lemma 3

The function Y(t) / t is strictly decreasing in \(t\in (0,t_0]\).

Proof

We have that

$$\begin{aligned} \frac{Y(t)}{t}=\frac{y_0}{t}+y_1+y_2t+\cdots \,,\qquad 0<t<R, \end{aligned}$$
(4.2)

is strictly convex since \(y_0>0\), with derivative

$$\begin{aligned} \left( \frac{Y(t)}{t}\right) '=\frac{Y'(t)t-Y(t)}{t^2},\qquad 0<t<R. \end{aligned}$$
(4.3)

Since \(Y'(1)<Y(1)=1\), we have that \(t_0>1\). Now consider the following cases: (i) \(y_k=0\) for \(k=2,3,\ldots \), (ii) there is a \(k=2,3,\ldots \) such that \(y_k\ne 0\). For case (i), \(Y(t)/t =y_0t^{-1}+y_1\) is strictly decreasing in \(t>0\) since \(y_0>0\). For case (ii), \(y_k>0\) for some \(k\ge 2\), and so

$$\begin{aligned} Y'(t)t-Y(t)=-y_0+\sum _{k=2}^\infty (k-1)y_kt^k \end{aligned}$$
(4.4)

is strictly increasing in \(t\in (0,R)\). From the definition of \(t_0\), we then get that

$$\begin{aligned} Y'(t)t-Y(t)<0, \quad t\in (0,t_0), \end{aligned}$$
(4.5)

and so Y(t) / t is strictly decreasing in \(t\in (0,t_0)\) by (4.3). \(\square \)

Lemma 4

The function Y(z) / z is injective on the open disk \(|z|<t_0\), so that for \(|z|<t_0\), \(|w|<t_0\)

$$\begin{aligned} \frac{Y(z)}{z}=\frac{Y(w)}{w} \Rightarrow z=w. \end{aligned}$$
(4.6)

Proof

In case (i), \(y_k=0\) for \(k=2,3,\ldots \), we have \(Y(z)/z=y_0z^{-1}+y_1\), and the result is trivial since \(y_0>0\). For case (ii), there is a \(k=2,3,\ldots \) such that \(y_k\ne 0\), we let \(|z|<t_0\), \(|w|<t_0\). Then

$$\begin{aligned} \left| \frac{Y(z)}{z}-\frac{Y(w)}{w}\right|&= \Big |y_0\frac{w-z}{zw}+\sum _{k=2}^\infty y_k(z^{k-1}-w^{k-1})\Big |\nonumber \\&= |z-w|\,\Big |-\frac{y_0}{zw}+\sum _{k=2}^\infty y_k\frac{z^{k-1}-w^{k-1}}{z-w}\Big |. \end{aligned}$$
(4.7)

Let \(t:=\max \{|z|, |w|\}<t_0\). Then \(|y_0/(zw)|\ge y_0/t^2\) while

$$\begin{aligned} \Big |\frac{z^{k-1}-w^{k-1}}{z-w}\Big |=\left| z^{k-2}+wz^{k-3}+\cdots +zw^{k-3}+w^{k-2}\right| \le (k-1)t^{k-2}. \end{aligned}$$
(4.8)

Therefore, when \(z\ne w\),

$$\begin{aligned} \left| \frac{Y(z)}{z}-\frac{Y(w)}{w}\right| \ge |z-w|\Big (\frac{y_0}{t^2}-\sum _{k=2}^\infty (k-1)y_kt^{k-2}\Big )>0 \end{aligned}$$
(4.9)

by (4.4) and (4.5). This proves (4.6). \(\square \)

Lemma 5

Let \(\epsilon >0\) be such that \(1+\epsilon < t_0\), and take \(w \in (1, 1+\epsilon )\). For \(|z|<t_0\),

$$\begin{aligned} \frac{w Y(z)-z Y(w)}{Y(z)-z}\in (-\infty , 0] \, \Leftrightarrow \, 1\le z\le w, \end{aligned}$$
(4.10)

i.e., the only z in the disk with radius \(t_0\) for which the fraction in (4.10) is negative, satisfy \(1\le z\le w\).

Furthermore,

$$\begin{aligned} -1< z < 1\, \Rightarrow \, \frac{wY(z)-zY(w)}{Y(z)-z}>0. \end{aligned}$$
(4.11)

Proof

For \(a\le 0\),

$$\begin{aligned} \frac{w Y(z)-z Y(w)}{Y(z)-z}=a \, \Leftrightarrow \, \frac{Y(z)}{z}=\frac{Y(w)-a}{w-a}. \end{aligned}$$
(4.12)

Since \(1<Y(w)<w\), the function \((Y(w)-a)/(w-a)\) increases from Y(w) / w at \(a=0\) to 1 at \(a=-\infty \) when a decreases from 0 to \(-\infty \). Since Y(v) / v decreases strictly in \(v\in [1,w]\), there is, for any \(a\le 0,\) a unique \(v=v(a) \in [1,w]\) such that

$$\begin{aligned} \frac{Y(v)}{v}=\frac{Y(w)-a}{w-a}. \end{aligned}$$
(4.13)

Since, by Lemma 4, Y(z) / z is injective in \(|z|<t_0\), we get (4.10).

We next show (4.11). Obviously, (4.11) holds for \(z=0\). For \(z\ne 0\), we have

$$\begin{aligned} \frac{wY(z)-zY(w)}{Y(z)-z} = \frac{Y(z)/z-Y(w)/w}{Y(z)/z-1}w. \end{aligned}$$
(4.14)

By Lemma 3, we have

$$\begin{aligned} \frac{Y(z)}{z}-\frac{Y(w)}{w}> \frac{Y(z)}{z}-1>0 \end{aligned}$$
(4.15)

when \(0<z<1<w<t_0\), and so (4.11) holds for \(z\in (0,1)\). Next, by Lemma 4, we have \(Y(z)/z\ne Y(w)/w\) when \(z\in (-1,0)\) and \(1<w<t_0\). Also, \(Y(t)/t\rightarrow -\infty \) when \(t\uparrow 0\). By realness and continuity of Y(t) / t in \(t\in (-1,0)\) we thus have that

$$\begin{aligned} \frac{Y(z)}{z}< \frac{Y(w)}{w} < 1, \qquad z\in (-1,0), \end{aligned}$$
(4.16)

and so (4.11) also holds for \(z\in (-1,0)\). \(\square \)

As a consequence of Lemma 5, taking the principal value logarithm in (2.9) when \(1<w<1+\epsilon <t_0\), we obtain a function of z that is analytic in the open disk \(|z|<t_0\), with branch cut [1, w].

4.2 Contour integral for (2.4)

We next consider the function \(z^g-A(z)\) that has its zeros in \(|z|\le 1\) at \(z=z_0=1, z_1, \ldots , z_{g-1}\), while its other zeros have modulus greater than one. Let \(R_0\) be the zero outside \(|z|\le 1\) of the smallest modulus; this \(R_0\) is real and larger than one. Take \(\epsilon >0\) such that \(1+\epsilon < \min \{t_0, R_0\}\) and consider the integral

$$\begin{aligned} I(w)=\frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z. \end{aligned}$$
(4.17)
Fig. 2
figure 2

The four components, \(C_1\), \(C_w\), \(L_+\) and \(L_-\), of contour C

Choose \(\delta >0\) such that \(\delta <\frac{1}{2} (w-1)\) and \(\delta <1+\epsilon -w\), while \(|z_k-1|>\delta , k=1,\ldots ,g-1\). Now let C be the positively oriented contour consisting of the circles \(C_1(\delta )\) and \(C_w(\delta )\) of radii \(\delta \) around 1 and w, respectively, together with the line segments \(L_{\pm }(\delta )=\{z = t \pm i 0 \,\,|\,\,1+\delta \le t\le w-\delta \}\), where \(\pm i0:=\lim _{c\downarrow 0} \pm ci\). See Fig. 2 for the positioning of the contour C with its four components in the disk \(|z|<1+\epsilon \) and relative to the zeros of \(z^g-A(z)\). Then, by Cauchy’s theorem,

$$\begin{aligned} I(w)&=\sum _{k=1}^{g-1}\ln \left( \frac{wY(z_k)-z_kY(w)}{Y(z_k)-z_k}\right) \nonumber \\&\quad + \frac{1}{2\pi i}\oint _{C}\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z. \end{aligned}$$
(4.18)

On the line segments \(z=t\pm i 0\), \(1+\delta \le t\le w-\delta \), we use that

$$\begin{aligned} w Y(t) - t Y(w)>0 >Y(t)-t. \end{aligned}$$
(4.19)

With the principal value choice for \(\ln \), we then get (with \(Y(t\pm i 0) = \lim _{c\downarrow 0}Y(t \pm i c)\))

$$\begin{aligned} \ln \left( \frac{wY(t\pm i 0)-(t\pm i 0) Y(w)}{Y(t\pm i 0)-(t\pm i 0)}\right)&= \ln \left( \frac{wY(t)-t Y(w)}{t-Y(t)}\right) \pm \pi i,\nonumber \\&\quad 1+\delta \le t\le w-\delta . \end{aligned}$$
(4.20)

Therefore, also using that \(t^g - A(t) > 0\), \(1<t<1+\epsilon \),

$$\begin{aligned}&\frac{1}{2\pi i}\oint _{C}\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\nonumber \\&\quad =\frac{1}{2\pi i}\int _{1+\delta }^{w-\delta }\left[ -\left( \mathrm{ln}\left( \frac{wY(t)-t Y(w)}{t-Y(t)}\right) +\pi i\right) \right. \nonumber \\&\qquad \left. +\left( \ln \left( \frac{wY(t)-t Y(w)}{t-Y(t)}\right) -\pi i\right) \right] \,\frac{(t^g-A(t))'}{t^g-A(t)}\,\mathrm{d}t\nonumber \\&\qquad +\frac{1}{2\pi i}\oint _{C_1(\delta )} \quad +\frac{1}{2\pi i}\oint _{C_w(\delta )}\nonumber \\&\quad =-\int _{1+\delta }^{w-\delta }\frac{(t^g-A(t))'}{t^g-A(t)}\,\mathrm{d}t+\frac{1}{2\pi i}\oint _{C_1(\delta )} \quad +\frac{1}{2\pi i}\oint _{C_w(\delta )}. \end{aligned}$$
(4.21)

Now, since \(g-A'(1)>0\) (due to stability),

$$\begin{aligned}&\int _{1+\delta }^{w-\delta }\frac{(t^g-A(t))'}{t^g-A(t)}\,\mathrm{d}t = \ln \left( t^g-A(t)\right) \Big |_{1+\delta }^{w-\delta }\nonumber \\&\quad =\ln \left( w^g-A(w)\right) +O(\delta )-\mathrm{{ln}}\left[ (g-A'(1))\delta +O(\delta ^2)\right] \nonumber \\&\quad = \ln \left( \frac{w^g-A(w)}{g-A'(1)}\right) -\ln \delta +O(\delta ), \end{aligned}$$
(4.22)

where we have used that

$$\begin{aligned} t^g-A(t)=0+(t^g-A(t))'_{t=1}(t-1)+O\big ((t-1)^2\big ), \quad t\rightarrow 1. \end{aligned}$$
(4.23)

As to the last integral on the last line of (4.21), we use that

$$\begin{aligned} w Y(z)-z Y(w)&=(w Y'(w)-Y(w))(z-w)+O(|z-w|^2), \end{aligned}$$
(4.24)
$$\begin{aligned} Y(z)-z&=Y(w)-w+O(|z-w|),\end{aligned}$$
(4.25)
$$\begin{aligned} z^g-A(z)&=w^g-A(w)+O(|z-w|), \end{aligned}$$
(4.26)

with nonvanishing numbers \(w Y'(w)-Y(w)\), \(Y(w)-w\) and \(w^g-A(w)\). Therefore,

$$\begin{aligned} \frac{1}{2\pi i}\oint _{C_w(\delta )}&=\frac{1}{2\pi i}\oint _{C_w(\delta )}\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\nonumber \\&=O(\delta \,\ln \, \delta ), \quad \delta \downarrow 0. \end{aligned}$$
(4.27)

The middle integral on the last line of (4.21) is more delicate, since both \(Y(z)-z\) and \(z^g-A(z)\) vanish at \(z=1\). For \(z=1+\delta e^{i\phi }\), with \(0<\phi <2\pi \) and \(\delta \downarrow 0\),

$$\begin{aligned} \frac{wY(z)-z Y(w)}{Y(z)-z}&=\,\frac{w-Y(w)+O(|z-1|)}{1+Y'(1)(z-1)-z+O(|z-1|^2)}\nonumber \\&=\,-\frac{w-Y(w)+O(|z-1|)}{(1-Y'(1))(z-1)+O(|z-1|^2)}\nonumber \\&=\,-\frac{w-Y(w)}{1-Y'(1)} \,\frac{1}{\delta }e^{-i\phi }\big (1+O(\delta )\big ). \end{aligned}$$
(4.28)

Hence, since \(w-Y(w)>0\), \(1-Y'(1)>0\),

$$\begin{aligned} \ln \left( \frac{wY(z)-z Y(w)}{Y(z)-z}\right)&= \ln \left| \frac{wY(z)-z Y(w)}{Y(z)-z}\right| +i \arg \left( \frac{wY(z)-z Y(w)}{Y(z)-z}\right) \nonumber \\&=\ln \left( \frac{w-Y(w)}{1-Y'(1)}\right) -\ln \delta +i(\pi -\phi )+O(\delta ). \end{aligned}$$
(4.29)

Next, as \(z\rightarrow 1\),

$$\begin{aligned} \frac{(z^g-A(z))'}{z^g-A(z)}=\frac{g-A'(1)+O(|z-1|)}{(g-A'(1))(z-1)+O(|z-1|^2)} =\frac{1}{z-1}+O(1), \end{aligned}$$
(4.30)

since \(g-A'(1)>0\). Hence, from (4.29) and (4.30) with \(z=1+\delta e^{i \phi }\) and \(dz=i\delta e^{i\phi }d\phi \) in the integral over \(C_1\),

$$\begin{aligned} \frac{1}{2\pi i}\oint _{C_1(\delta )} =&\frac{1}{2\pi i}\int _{0}^{2\pi }\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,i\delta e^{i\phi }\mathrm{d}\phi \nonumber \\ =&\frac{1}{2\pi i}\int _{0}^{2\pi }\Big [\ln \left( \frac{w-Y(w)}{1-Y'(1)}\right) \nonumber \\&-\ln \delta +i(\pi -\phi )+O(\delta )\Big ]\cdot \Big [\frac{1}{\delta }e^{-i\phi }+O(1)\Big ] i\delta e^{i\phi }\mathrm{d}\phi \nonumber \\ =&\ln \left( \frac{w-Y(w)}{1-Y'(1)}\right) -\ln \delta +O(\delta ), \end{aligned}$$
(4.31)

where we have also used that \(\int _0^{2\pi }(\pi -\phi )\,\mathrm{d}\phi =0\).

Using (4.22), (4.27) and (4.31) in (4.21), we get

$$\begin{aligned}&\frac{1}{2\pi i}\oint _{C}\ln \left( \frac{wY(z)-zY(w)}{Y(z)-z}\right) \,\frac{(z^g-A(z))'}{z^g-A(z)}\,\mathrm{d}z\nonumber \\&\quad =\ln \left( \frac{g-A'(1)}{w^g-A(w)}\right) +\ln \delta +O(\delta )+O(\delta \ln \delta )+ \ln \left( \frac{w-Y(w)}{1-Y'(1)}\right) -\ln \delta +O(\delta )\nonumber \\&\quad = \ln \left( \frac{g-A'(1)}{w^g-A(w)} \cdot \frac{w-Y(w)}{1-Y'(1)}\right) +O(\delta ). \end{aligned}$$
(4.32)

Returning then to (4.17)–(4.18), letting \(\delta \downarrow 0\), we see that

$$\begin{aligned} I(w)=\ln \left[ \frac{g-A'(1)}{w^g-A(w)}\cdot \frac{w-Y(w)}{1-Y'(1)}\prod _{k=1}^{g-1}\frac{wY(z_k)-z_kY(w)}{Y(z_k)-z_k}\right] =\ln \big [X_g(w)\big ] \end{aligned}$$
(4.33)

by (2.7). Here we have also used that the zeros \(z_k\) are real or come in conjugate pairs so that, for \(w\in (1,1+\epsilon )\) by (4.11) in Lemma 5, both \(X_g(w)\) and the product \(\prod _{k=1}^{g-1}\) in (4.33) are real and positive, with

$$\begin{aligned} \ln \left( \prod _{k=1}^{g-1}\frac{wY(z_k)-z_kY(w)}{Y(z_k)-z_k}\right) =\sum _{k=1}^{g-1}\ln \left( \frac{wY(z_k)-z_kY(w)}{Y(z_k)-z_k}\right) . \end{aligned}$$
(4.34)

This proves (2.4) for \(w\in (1,1+\epsilon )\).

4.3 Completion of the proof

The extension of the validity range of (2.4) beyond the set \(1<w<1+\epsilon \) is compromised by the appearance of the factor \(\ln [(w Y(z)-z Y(w))/(Y(z)-z)]\) in the integrand. The validity range can be extended to an open set containing the interval [0, 1], allowing computation of moments and derivatives. To see this, let

$$\begin{aligned} Q(z,w)=\frac{w Y(z) - z Y(w)}{Y(z)-z} =Y(w)\frac{1-\frac{Y(z)/z}{Y(w)/w}}{1-Y(z)/z}, \qquad |z|,|w| \le 1+\epsilon . \end{aligned}$$
(4.35)

For \(0\le w\le 1\) and \(|z|=1+\epsilon \),

$$\begin{aligned} 0<Y(0)\le Y(w)\le 1, \quad \left| \frac{Y(z)/z}{Y(w)/w}\right| \le \left| \frac{Y(z)}{z}\right| \le \frac{Y(1+\epsilon )}{1+\epsilon }<1, \end{aligned}$$
(4.36)

and so Q(zw) is bounded away from \((-\infty ,0]\) when \(0\le w\le 1\) and \(|z|=1+\epsilon \). By continuity of Q as a function of w, this continues to hold for w in an open set \(\Omega \) containing [0, 1] and \(|z|=1+\epsilon \). This implies that \(\ln Q(z,w)\) is analytic in \(w\in \Omega \), with principal value \(\ln \), extending the validity of (2.4) to \(w\in \Omega \) by analyticity. We have extensive numerical evidence that the set of w for which \(Q(z,w) \not \in (-\infty ,0]\), all z with \(|z|=1+\epsilon \), contains a disk around 0 with radius not significantly smaller than \(1+\epsilon \). This would extend the validity of (2.4) beyond the unit disk \(|w|\le 1\).

We now re-express the integral form in (2.4) to a form that is valid for all w, \(|w|<1+\epsilon \). We choose here \(\epsilon \) such that \(1+\epsilon <\min \{t_0,R_0\}=:1+\epsilon _0\) as in Sect. 4.2. Let w be fixed with \(1<w<1+\epsilon \). We compute, for \(|z|=1+\epsilon \),

$$\begin{aligned} \frac{(z^g-A(z))'}{z^g-A(z)}=\frac{g}{z}+\frac{\big (1-\frac{A(z)}{z^g}\big )'}{1-\frac{A(z)}{z^g}}=\frac{g}{z}+\frac{\mathrm{d}}{\mathrm{d}z}\left[ \ln \left( 1-\frac{A(z)}{z^g}\right) \right] , \end{aligned}$$
(4.37)

where we can choose the principal value of \(\ln \) since

$$\begin{aligned} \left| \frac{A(z)}{z^g}\right| \le \frac{A(1+\epsilon )}{(1+\epsilon )^g}<1, \quad |z|=1+\epsilon . \end{aligned}$$
(4.38)

As in (4.20)–(4.21),

$$\begin{aligned}&\frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\ln \left( \frac{w Y(z)-z Y(w)}{Y(z)-z}\right) \frac{g}{z}\mathrm{d}z\nonumber \\&\quad = g \left. \ln \left( \frac{w Y(z)-z Y(w)}{Y(z)-z}\right) \right| _{z=0}+\frac{g}{2\pi i} \oint _C \ln \left( \frac{w Y(z)-z Y(w)}{Y(z)-z}\right) \frac{\mathrm{d}z}{z}\nonumber \\&\quad = g \ln w-g \int _{1+\delta }^{w-\delta } \frac{\mathrm{d}z}{z}+O(\delta \ln \delta )\nonumber \\&\quad = g \ln w-g \ln \left( \frac{w-\delta }{1+\delta }\right) +O(\delta \ln \delta ), \end{aligned}$$
(4.39)

and this vanishes as \(\delta \downarrow 0\). Therefore, see (4.17),

$$\begin{aligned} I(w)&= \frac{1}{2\pi i}\oint _{|z|=1+\epsilon }\ln \left( \frac{w Y(z)-z Y(w)}{Y(z)-z}\right) \frac{\mathrm{d}}{\mathrm{d}z}\left[ \ln \left( 1-\frac{A(z)}{z^g}\right) \right] \mathrm{d}z\nonumber \\&=\frac{-1}{2\pi i}\oint _{|z|=1+\epsilon }\frac{\mathrm{d}}{\mathrm{d}z}\left[ \ln \left( \frac{w Y(z)-z Y(w)}{Y(z)-z}\right) \right] \ln \left( 1-\frac{A(z)}{z^g}\right) \mathrm{d}z, \end{aligned}$$
(4.40)

where we have used partial integration with continuous differentiable functions \(\ln \left( 1-A(z)/z^g\right) \) and \(\ln \left[ (w Y(z)-z Y(w))/(Y(z)-z)\right] \) on the closed contour \(|z|=1+\epsilon \). We compute

$$\begin{aligned} \frac{\mathrm{d}}{\mathrm{d}z}\left[ \ln \left( \frac{w Y(z)-z Y(w)}{Y(z)-z}\right) \right] =\frac{Y'(z)z-Y(z)}{Y(z)-z} \,\frac{Y(w)-w}{w Y(z)-z Y(w)}, \end{aligned}$$
(4.41)

and obtain

$$\begin{aligned} I(w) = \frac{-1}{2\pi i}\oint _{|z|=1+\epsilon }\frac{Y'(z)z-Y(z)}{Y(z)-z} \,\frac{Y(w)-w}{w Y(z)-z Y(w)}\ln \left( 1-\frac{A(z)}{z^g}\right) \mathrm{d}z, \end{aligned}$$
(4.42)

which is valid for any \(w\in (1,1+\epsilon )\).

We now extend (4.42) to all w with \(|w|<1+\epsilon \) by using Lemma 5. Let \(0<\epsilon _1<\epsilon \). We have \(|Y(z)-z|>0\) when \(|z|=1+\epsilon \) and

$$\begin{aligned} \big |w Y(z)-z Y(w)\big |>0 \quad \text { when }|z|=1+\epsilon , |w|\le 1+\epsilon _1, \end{aligned}$$
(4.43)

by Lemma 5 and \(Y(0)\ne 0\). Therefore, by continuity and compactness, \((w Y(z)-z Y(w))(Y(z)-z)\) is bounded away from 0 when \(|z|=1+\epsilon \) and \(|w|\le 1+\epsilon _1\). This implies that the right-hand side of (4.42) is analytic in w, \(|w|<1+\epsilon _1\), by analyticity of Y. Since \(X_g(w)=\exp (I(w))\) for \(1<w<1+\epsilon \), we then get by analyticity of \(X_g\) that

$$\begin{aligned} X_g(w)=\exp \left( \frac{-1}{2\pi i}\oint _{|z|=1+\epsilon }\frac{Y'(z)z-Y(z)}{Y(z)-z}\,\frac{Y(w)-w}{w Y(z) - z Y(w)} \ln \left( 1-\frac{A(z)}{z^g}\right) \,\mathrm{d}z\right) \end{aligned}$$
(4.44)

holds for all w, \(|w|\le 1+\epsilon _1\) and any \(\epsilon _1\in (0,\epsilon )\). Then a simple rearrangement of the integrand in (4.44) yields Theorem 1.

5 Conclusions

We have presented novel formal solutions for the FCTL queue in the form of contour integrals. Theorem 1 presents the contour-integral representation for the PGF of the overflow queue. From this PGF, essentially all relevant information about the stationary behavior of the FCTL queue can be obtained, by taking derivatives at one for the moments, derivatives at zero for the distribution, and by using simple recursions to obtain the queue lengths at all moments within the cycle and the stationary delay distribution. A contour-integral expression for the first moment was obtained recently by Oblakova et al. [13], and the present paper can be seen as an extension of that work. The two papers together present an alternative approach for the FCTL queue and its generalizations, using contour integrals instead of factorizations in terms of complex roots that need to be determined numerically.

A possible thread for future research relates to asymptotics. In classical queueing theory, a prominent line of research is related to heavy traffic, an asymptotic regime in which the traffic intensity approaches 100%. Next to more probabilistic methods such as weak convergence techniques and coupling, another way to obtain heavy-traffic results is through the asymptotic evaluation of Pollaczek-type integrals; see, for example, [4, 10] for single-server queues and [9] for classical bulk-service queues. Now that Pollaczek-type integrals for the FCTL queue are available, it is worthwhile to explore the possibilities for heavy-traffic analysis.