Mathematical and Computer Modelling 49 (2009) 977–990
Contents lists available at ScienceDirect
Mathematical and Computer Modelling journal homepage: www.elsevier.com/locate/mcm
A discrete-time single-server queueing system with an N-policy, an early setup and a generalization of the Bernoulli feedback A.G. Hernández-Díaz, P. Moreno ∗ Department of Economics, Quantitative Methods and Economic History, Pablo de Olavide University, Ctra. de Utrera, km. 1, 41013 Seville, Spain
article
info
Article history: Received 9 January 2008 Received in revised form 7 August 2008 Accepted 21 August 2008 Keywords: (m, N )-policy Bernoulli feedback Queue and system lengths Busy periods Optimal control Tabu search
a b s t r a c t This paper studies a Geo/G/1/∞ queueing system under an (m, N )-policy, i.e., the service station operates under an N-policy with an early setup where the startup period begins when m(≤ N ) customers accumulate in the system. Moreover, it is assumed that the i-th service of each customer is either unsuccessful (and then the customer joins the server for another service) with probability αi or successful (and then the customer leaves the system forever) with complementary probability 1 − αi . We give the joint generating function of the server state and the system length as well as the main performance measures. The distributions of the lengths of the idle, setup, standby and busy periods, as well as the distribution of the number of customers served during a busy period, are also derived. We define a total expected cost function and present a tabu search algorithm as a procedure to find out the optimal values in cases where the convexity is difficult to prove. Finally, the significance of the cost model is discussed through several numerical results. © 2008 Elsevier Ltd. All rights reserved.
1. Introduction The study of discrete-time queueing systems has become very important over the last few years with the advent of new technologies. The reason for this is that discrete-time systems are more appropriate than their continuous-time counterparts to model computer and telecommunication systems. In fact, the discrete-time scale reveals the nature of an underlying application, e.g., the clock time unit in a computer system, the fixed size data units (bits, bytes, fixed-length packets) on a communication channel, etc. Several books [4,25,27] and their references constitute a very good point of departure to study discrete-time queueing theory. On the other hand, interest in the optimal control of queues resides in its important and varied applications. Its objective is to find the optimal operating policy, i.e., the rules for turning the server on and off that result in the lowest long-run cost [9]. Recently, Tadj and Choudhury [23] published an outstanding review on the optimal design and control of queues, although they mainly focused on modeling the problems and the different kinds of threshold policy models available in the literature. One of the most well-known threshold policies is the N-policy introduced by Yadin and Naor [28] to reduce the number of switch-overs between idle and busy modes. To be more realistic, Baker [2] added a server setup time exponentially distributed to the M /M /1 queueing system under an N-policy. Under these conditions, at least the first N customers of each cycle must wait until the setup time is completed before starting their services. To solve this problem, Lee and Park [17] proposed that the setup time should begin when m(≤ N ) customers were in the system. This new rule was called early setup under (m, N )-policy. Thereafter, several authors extended the work [17] combining batch arrivals, server vacations and unreliable servers [13,18,19]. Two matters have arisen in some papers regarding the optimal control of queues: (1) the model is only studied theoretically without analysing its cost function and optimal values; and (2) the optimization algorithm is based on the
∗
Corresponding author. E-mail addresses:
[email protected] (A.G. Hernández-Díaz),
[email protected] (P. Moreno).
0895-7177/$ – see front matter © 2008 Elsevier Ltd. All rights reserved. doi:10.1016/j.mcm.2008.08.012
978
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
convexity of the cost function, which is checked via numerical experiments but not formally proved. To avoid these difficulties, we tackle the problem of establishing a cost function and finding the optimal thresholds which minimize such a cost function through a tabu search (TS) algorithm [10]. Takacs [24] pioneered feedback queueing systems, which have been widely investigated in continuous-time (some of the most recent papers are [5–8,14–16,20]), whereas they have been scarcely investigated in discrete-time [1]. Takacs [24] considers that the number of services required by a customer is geometrically distributed; that is, after receiving each service, a customer leaves the system with probability 1 − α (because the service was successful) or rejoins the end of the queue for another service with probability α (because the service was unsuccessful). The phenomenon of feedback has many practical applications, e.g., in telecommunication systems where messages that produce errors at the destination are sent again, in a call center where customers may call again (repeat their service) if their problems are not completely solved after the service, etc. Furthermore, daily life provides us with numerous examples of queueing situations where all the customers demand the main service and only some of them demand another service. Feedback was also introduced as a mechanism for scheduling customer service, i.e., serving the customers is divided into a random number of stages governed by a geometrical distribution. The idea of the present work is to consider a general feedback strategy where the customers depart after a random number of services determined by an arbitrary discrete distribution; in other words, the number of services required by a customer is a random variable with an arbitrary distribution. Hence, after a customer’s i-th service is completed, the customer either returns to the server with probability αi or abandons the system forever with probability 1 − αi . Thus, the first service of a new customer is either successful (and then the customer leaves the system forever) or unsuccessful (and then the customer joins the server for another service as an old customer with a different Bernoulli feedback parameter). The literature on feedback and the optimal control of queues under an N-policy is varied and comprehensive regarding continuous-time, but not so regarding discrete-time despite its numerous and significant applications. In fact, to the best of our knowledge, the only works on discrete-time in relation to feedback and N-policy can be found in [1,3,11,21,22,25]. This is why the present paper investigates a generalization of the discrete-time counterpart of [17], where the Bernoulli feedback is extended in the sense that the number of services received by each customer follows an arbitrarily distributed random variable instead of a geometrically distributed one. The rest of the work is organized as follows: the next section provides the description of the queueing system under analysis and the notation used throughout the paper; Section 3 analyses the joint distribution of the server state and the number of customers in the system as well as the main performance measures; Section 4 provides the distributions of the lengths of the different busy periods of the server together with the number of customers served during a busy period; Section 5 establishes a cost function and explains the strategy used to find out the optimal thresholds that yield the minimum cost; in Section 6 we present various numerical results. 2. Model description and notation We consider a Geo/G/1/∞ queueing system where the time axis is segmented into intervals of equal length, called slots. The discrete-time queues are characterized because two or more activities may occur simultaneously in each slot. To solve this problem, two different disciplines can be adopted: the LAS policy and the EAS policy (see [12] for details). The present paper discusses the EAS policy, that is, in which departures take precedence over arrivals. The customers arrive at the system according to a Bernoulli arrival process with probability p ∈ (0, 1), then p¯ = 1 − p is the probability that an arrival does not occur in a slot. The service times are independent and identically distributed in accordance with a general probability mass function (PMF) {bi }∞ i=1 with a probability generating function (PGF) B(z ). Each customer is served i times with probability θi . Let Θ (z ) be the PGF of {θi }∞ i=1 . All arriving customers are always served, i.e., p Θ 0 (1) B0 (1) < 1. P Hence, when a customer finishes his i-th service, he decides to receive his service at least once more ∞
θl
θ or to leave the system forever with the complementary probability 1 − αi = P∞i θ . It is easy l=i l Qi−1 to prove the following relations θ1 = 1 − α1 and θi = (1 − αi ) l=1 αl , i ≥ 2. Note that if {θi }∞ i=1 is geometrically distributed, then this is the special case of the Bernoulli feedback introduced by Takacs [24]. The service station requires a startup period before beginning services. The setup times are independent and identically distributed in conformity with an arbitrary PMF {ci }∞ i=1 with a PGF C (z ). The server is turned off when a departure leaves an empty system and turned on in order to begin the startup when m(≥ 1) customers are in the system. After the setup period, if N (> m) or more customers are accumulated in the system, the services commence immediately; otherwise, if less than N customers are in the system, the server stays on standby until reaching N. It should be noted that m = N (≥ 1) is also valid in Sections 3 and 4 (taking into account that an empty sum is zero). A diagram showing the transitions among the different server states is given in Fig. 1. As usual, the arrival process, service times and setup times are assumed to be mutually independent. Immediately after the n-th slot, we define the random variables Υn as the system length, Ξn as the service stage the customer is in, and Ψn as follows:
with probability αi = Pl=∞i+1θ
l=i l
0
1 Ψn = the server state = 2 3
if the server is idle, if the server is under setup, if the server is on standby, if the server is busy.
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
979
Fig. 1. Transitions diagram.
A supplementary random variable Ωn represents the remaining setup (or service) time if Ψn = 1 (or Ψn = 3) at time n+ . Then {(Ψn , Ξn , Υn , Ωn ) : n ≥ 1} constitutes a Markov chain at the end of each slot. To end this section, we propose an example of a real system which can be modeled by the system under study. We consider a machine offering a service of backups. The machine is turned on remotely under the scheme ‘‘wake-on-lane’’ and which requires a lengthy startup time. The type of server can be a mainframe with a tape array or with several hard disk arrays, which requires a powerful computer. From the economic point of view, using the early setup policy analyzed in this work is of interest mainly due to the high cost of both startup and customer storage. In this context, the implementation of feedback makes sense because the services can be successful or unsuccessful with a certain probability. 3. Queue and system lengths The queue and system lengths together with the main performance measures are studied in this section. If we define the limiting probabilities
π0,k = lim P [Ψn = 0, Υn = k]; n→∞
0≤k≤m−1
π1,k,i = lim P [Ψn = 1, Υn = k, Ωn = i]; n→∞
π2,k = lim P [Ψn = 2, Υn = k]; n→∞
k ≥ m, i ≥ 1
m≤k≤N −1
π3,j,k,i = lim P [Ψn = 3, Ξn = j, Υn = k, Ωn = i]; n→∞
j ≥ 1, k ≥ 1, i ≥ 1
provided that the system reaches a stationary regime, then the system under analysis evolves as follows:
π0,k = (1 − δ0,k ) pπ0,k−1 + p¯ π0,k + δ0,k p¯
∞ X (1 − αj )π3,j,1,1 ;
0≤k≤m−1
(1)
j =1
π1,k,i = δm,k pci π0,k−1 + (1 − δm,k )pπ1,k−1,i+1 + p¯ π1,k,i+1 ;
k ≥ m, i ≥ 1
π2,k = (1 − δm,k )pπ1,k−1,1 + p¯ π1,k,1 + (1 − δm,k )pπ2,k−1 + p¯ π2,k ; π3,1,k,i = (1 − δ1,k )pπ3,1,k−1,i+1 + p¯ π3,1,k,i+1 + pbi
∞ X
(2)
m≤k≤N −1
(3)
(1 − αj )π3,j,k,1
j =1
+ p¯ bi
∞ X (1 − αj )π3,j,k+1,1 ;
1 ≤ k ≤ N − 1, i ≥ 1
(4)
j =1
π3,j,k,i = (1 − δ1,k )pbi αj−1 π3,j−1,k−1,1 + p¯ bi αj−1 π3,j−1,k,1 + (1 − δ1,k )pπ3,j,k−1,i+1 + p¯ π3,j,k,i+1 ; j ≥ 2, 1 ≤ k ≤ N − 1, i ≥ 1 π3,1,k,i = pbi π1,k−1,1 + p¯ bi π1,k,1 + δN ,k pbi π2,k−1 + pπ3,1,k−1,i+1 ∞ ∞ X X + p¯ π3,1,k,i+1 + pbi (1 − αj )π3,j,k,1 + p¯ bi (1 − αj )π3,j,k+1,1 ; j =1
(5)
k ≥ N, i ≥ 1
(6)
j =1
π3,j,k,i = pbi αj−1 π3,j−1,k−1,1 + p¯ bi αj−1 π3,j−1,k,1 + pπ3,j,k−1,i+1 + p¯ π3,j,k,i+1 ; j ≥ 2, k ≥ N , i ≥ 1 (7) where δa,b is Kronecker’s delta. We now solve this system of equations using the generating functions tool: ϕ1 (x, z ) = P∞ P∞ PN −1 P∞ P∞ i k k i k k=m i=1 π1,k,i x z , ϕ2 (z ) = k=m π2,k z and ϕ3,j (x, z ) = k=1 i=1 π3,j,k,i x z , j ≥ 1.
980
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
Theorem 1. The generating functions of the stationary distribution of the Markov chain {(Ψn , Ξn , Υn , Ωn ) : n ≥ 1} are given by
π0,k =
1 − pΘ 0 (1)B0 (1)
,
m + pC 0 (1) − Γ 0 (1) C (x) − C (¯p + pz )
ϕ1 (x, z ) = ϕ2 (z ) =
x − (¯p + pz )
Γ (z )
1−z
ϕ3,j (x, z ) = where Γ (z ) =
0≤k≤m−1 pxz m π0,0
π0,0
∞ B(x) − B(¯p + pz ) 1 − z m C (¯p + pz ) + Γ (z ) X
x − (¯p + pz )
Θ (B(¯p + pz )) − z
θl [B(¯p + pz )]j−1 pxz π0,0 ,
γk−m [(¯p + pz )z k − z N ] is an auxiliary function and γk = P∞ C (¯p+pz ) k of k arrivals during the setup time with PGF k=0 γk z = p¯ +pz . PN −1
P∞
j =1
P∞
k=m
Proof. From Eq. (1), we immediately obtain pπ0,0 = p¯
j≥1
l =j
i=k+1
i −1 k
pk p¯ i−1−k ci , k ≥ 0 is the probability
(1 − αj )π3,j,1,1 and π0,k = π0,0 , 0 ≤ k ≤ m − 1. Bearing in mind
these relations, before multiplying Eqs. (2)–(7) by z k and summing over k, yields: ∞ X
π1,k,i z k = pci π0,0 z m + (¯p + pz )
π1,k,i+1 z k ;
i≥1
(8)
k=m
k =m
(1 − z )ϕ2 (z ) = ∞ X
∞ X
N −1 p¯ + pz X
p
π1,k,1 z k − π1,N −1,1 z N − π2,N −1 z N
(9)
k=m
π3,1,k,i z k = −pbi π0,0 + pbi π1,N −1,1 z N + (¯p + pz )bi
∞ X
π1,k,1 z k
k=N
k=1
+ pbi π2,N −1 z + (¯p + pz ) N
∞ X
π3,1,k,i+1 z k +
p¯ + pz z
k=1
∞ X
π3,j,k,i z k = (¯p + pz )bi αj−1
k=1
∞ X
π3,j−1,k,1 z k + (¯p + pz )
k=1
∞ X
bi
∞ ∞ X X (1 − αj ) π3,j,k,1 z k ; j =1
π3,j,k,i+1 z k ;
i≥1
(10)
k=1
j ≥ 2, i ≥ 1.
(11)
k=1
Multiplying Eqs. (8), (10) and (11) by xi and summing over i gives: x − (¯p + pz ) x x − (¯p + pz ) x
ϕ1 (x, z ) = pC (x)π0,0 z m − (¯p + pz )
∞ X
π1,k,1 z k
(12)
k=m
ϕ3,1 (x, z ) = −pB(x)π0,0 + pB(x)π1,N −1,1 z N + (¯p + pz )B(x) + pB(x)π2,N −1 z − (¯p + pz )
∞ X
π3,1,k,1 z + k
p¯ + pz
k=1
x
π1,k,1 z k
k=N N
x − (¯p + pz )
∞ X
ϕ3,j (x, z ) = (¯p + pz )B(x)αj−1
∞ X k=1
π3,j−1,k,1 z k − (¯p + pz )
∞ X
z
B(x)
π3,j,k,1 z k ,
∞ ∞ X X (1 − αj ) π3,j,k,1 z k j =1
j ≥ 2.
(13)
k=1
(14)
k=1
Introducing x = p¯ + pz in Eq. (12) we obtain ∞ X
π1,k,1 z k =
k =m
C (¯p + pz ) p¯ + pz
pz m π0,0 .
(15)
Substituting Eq. (15) into Eq. (12) we obtain the expression of ϕ1 (x, z ) as function of π0,0 . Making z = 1 in Eq. (9) provides N −1 1X
p k=m
π1,k,1 = π1,N −1,1 + π2,N −1
(16)
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
981
and substituting Eq. (16) into Eq. (9) gives: N −1
P ϕ2 (z ) =
[(¯p + pz )z k − z N ]π1,k,1
k=m
.
p(1 − z )
C (¯p+pz )
At this point, combining Eq. (15) with p¯ +pz
π1,k,1 = pγk−m π0,0 ,
=
P∞
k=0
γk z k we obtain
k≥m
(17)
and consequently ϕ2 (z ) can be expressed as function of π0,0 . Setting x = p¯ + pz in Eq. (14) we obtain ∞ X
π3,j,k,1 z k = αj−1 B(¯p + pz )
k=1
∞ X
π3,j−1,k,1 z k ,
j≥2
k=1
and proceeding by reiteration: ∞ X
π3,j,k,1 z k =
j −1 Y
k=1
αl [B(¯p + pz )]j−1
l=1
∞ X
π3,1,k,1 z k ,
j ≥ 2.
(18)
k=1
As a consequence of this result, we obtain: ∞ ∞ ∞ X X Θ (B(¯p + pz )) X π3,1,k,1 z k , (1 − αj ) π3,j,k,1 z k = B (¯ p + pz ) k=1 j=1 k=1
j ≥ 2.
(19)
Combining Eqs. (13), (15)–(17) and (19) yields: x − (¯p + pz ) x
ϕ3,1 (x, z ) = −pB(x)[1 − z m C (¯p + pz ) + Γ (z )]π0,0 +
∞ p¯ + pz Θ (B(¯p + pz ))B(x) − zB(¯p + pz ) X
z
B(¯p + pz )
π3,1,k,1 z k .
(20)
k=1
Setting x = p¯ + pz in Eq. (20) provides ∞ X
π3,1,k,1 z k =
k=1
B(¯p + pz ) 1 − z m C (¯p + pz ) + Γ (z ) p¯ + pz
Θ (B(¯p + pz )) − z
pz π0,0
(21)
and substituting Eq. (21) into Eq. (20) we find out ϕ3,1 (x, z ) as function of π0,0 . Combining Eqs. (14) and (18) we obtain: x − (¯p + pz ) x
ϕ3,j (x, z ) = (¯p + pz )[B(¯p + pz )]j−2 [B(x) − B(¯p + pz )]
j −1 Y l=1
αl
∞ X
π3,1,k,1 z k ,
j ≥ 2.
(22)
k=1
Finally, the expression of ϕ3,j (x, z ), j ≥ 2 is obtained substituting Eq. (21) into Eq. (22). To conclude the proof, the probability that the system is completely empty π0,0 is found from the normalization condition P∞ j=1 ϕ3,j (1, 1) = 1.
Pm−1 k=0
π0,k + ϕ1 (1, 1) + ϕ2 (1) +
We easily obtain the following corollaries from Theorem 1. Corollary 1. (a) The marginal generating function of the number of customers in the system when the server is idle is given by: m−1
X
π0,k z k =
k=0
1 − zm 1−z
π0,0 .
(b) The marginal generating function of the number of customers in the system when the server is under setup is given by:
ϕ1 (1, z ) =
1 − C (¯p + pz ) 1−z
z m π0,0 .
(c) The marginal generating function of the number of customers in the system when the server is on standby is given by: ϕ2 (z ).
982
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
(d) The marginal generating function of the number of customers in the system when the server is busy and the customer at the server is in stage j, j ≥ 1, is given by:
ϕ3,j (1, z ) =
∞ 1 − B(¯p + pz ) 1 − z m C (¯p + pz ) + Γ (z ) X
Θ (B(¯p + pz )) − z
1−z
θl [B(¯p + pz )]j−1 z π0,0 .
l =j
(e) The PGFs of the queue and system lengths, respectively, are: m−1
X
Φq (z ) =
π0,k z k + ϕ1 (1, z ) + ϕ2 (z ) +
k=0
1 − z m C (¯p + pz ) + Γ (z )
=
Θ (B(¯p + pz )) − z
X
z j =1
ϕ3,j (1, z )
π0,0
m−1
Φs (z ) =
∞ 1X
π0,k z k + ϕ1 (1, z ) + ϕ2 (z ) +
k=0
∞ X
ϕ3,j (1, z )
j =1
= Φq (z )Θ (B(¯p + pz )). It should be pointed out that the probability distribution {γk }∞ k=0 as well as the stationary probabilities of the queue and system lengths can be computed by means of the Fast Fourier Transform (FFT) method from theirPGFs, PGFs have P∞ since such ∞ N −1 an explicit expression [26]. Through the FFT technique, we can also compute the probabilities i=1 π1,k,i k=m , {π2,k }k=m
∞
and i=1 π3,j,k,i k=1 , j ≥ 1, numerically inverting the marginal generating functions ϕ1 (1, z ), ϕ2 (z ) and ϕ3,j (1, z ), j ≥ 1, respectively.
P∞
Corollary 2. (a) The stationary distribution of the random variable {Ψn : n ≥ 1} is: m−1
X
π0,k = mπ0,0 ,
ϕ1 (1, 1) = pC 0 (1)π0,0 ,
k=0
∞ X
ϕ2 (1) = −Γ 0 (1)π0,0 ,
ϕ3,j (1, 1) = pΘ 0 (1)B0 (1).
j =1
(b) The stationary distribution of the random variable {Ξn : n ≥ 1} is: ∞ P
θl ϕ3,j (1, 1) l =j = , ∞ P Θ 0 (1) ϕ3,l (1, 1)
j ≥ 1.
l=1
(c) The mean queue and system lengths, respectively, are:
µq =
m(m − 1) + 2mpC 0 (1) + p2 C 00 (1) − Γ 00 (1) 2 [m +
pC 0 (1)
−
Γ 0 (1)]
+
p2 Θ 00 (1)[B0 (1)]2 + Θ 0 (1)B00 (1) 2
1 − pΘ 0 (1)B0 (1)
µs = µq + pΘ (1)B (1). 0
0
(d) The mean time a customer spends in the system (including the service time) is given by µs /p. 4. Busy periods This section analyzes the different busy periods of the system under study as well as the number of customers served during a busy period. First, we review some concepts and definitions:
• An idle period starts when a customer leaves an empty system and finishes when m customers accumulate in the queueing system.
• A setup period, which is a random amount of time necessary to start up the server and commences immediately after each idle period.
• A standby period begins when less than N customers exist in the system after a setup period and finishes when N or more customers are waiting for processing.
• A busy period commences either when N or more customers are in the system after a setup period or when the number of customers in a standby period reaches N. A busy period terminates when a service is completed and the system is empty. In this section we define a generalized service time as the period which begins when a customer enters the server and ends at the instant the customer leaves the server, that is, the period that a customer stays at the service station. If we denote by b˜ i , i ≥ 1 the probability that a generalized service time lasts i slots, then the PGF of {b˜ i }∞ i=1 is given by Θ (B(z )). We note that the probability distribution {b˜ i }∞ i=1 can be calculated via the FFT method.
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
983
Theorem 2. (a) The length of an idle period Lidle is governed by a negative binomial distribution with PMF P [Lidle = k] = k−1 m−1
pm p¯ k−m , k ≥ m, PGF Λidle (z ) =
pz 1−¯pz
m
and mean E [Lidle ] =
m . p
(b) The length of a setup period Lsetup has the PMF P [Lsetup = k] = ck , k ≥ 1 with PGF Λsetup (z ) = C (z ) and mean E [Lsetup ] = C 0 (1). (c) The length of a standby period Lstandby follows the PMF
N −1 X 1− γj−m + pγN −m−1 , k = 0 j = m N −1 X k−1 pN −j p¯ k−N +j [(1 − δm,j )pγj−m−1 + p¯ γj−m ], 1 ≤ k ≤ N − m P [Lstandby = k] = j =N −k N − j − 1 N −1 X k−1 pN −j p¯ k−N +j [(1 − δm,j )pγj−m−1 + p¯ γj−m ], k ≥ N − m + 1. N − j − 1 j =m N −k PN −1 PN −1 pz Γ 0 (1) with PGF Λstandby (z ) = 1 − k=m γk−m + 1z γ and mean E [Lstandby ] = − p . k − m k =m 1−¯pz (d) The PGF Λbusy (z ) of the length of a busy period Lbusy fulfils the equation ˜ busy (z )]m C (¯p + pΛ ˜ busy (z )) − Γ (Λ ˜ busy (z )) Λbusy (z ) = [Λ ˜ busy (z ) is the PGF of the length of a busy period in the classic Geo/G/1/∞ queueing system where the service times where Λ ˜ busy (z ) satisfies the implicit formula Λ ˜ busy (z ) = Θ (B(z (¯p + follow the PGF Θ (B(z )). Bruneel and Kim [4] showed that Λ Θ 0 (1)B0 (1)
˜ busy (z )))). The mean length of a busy period is E [Lbusy ] = pΛ m + pC 0 (1) − Γ 0 (1) . 1−pΘ 0 (1)B0 (1) (e) The PGF Λs (z ) of the number of customers served in a busy period Ls fulfils the equation
˜ s (z )]m C (¯p + pΛ ˜ s (z )) − Γ (Λ ˜ s (z )) Λs (z ) = [Λ ˜ where Λs (z ) is the PGF of the number of customers served during a busy period in the standard Geo/G/1/∞ queueing ˜ s (z ) satisfies the implicit formula system where the service times follow the PGF Θ (B(z )). Takagi [25] proved that Λ 0 (1)−Γ 0 (1) ˜ ˜ Λs (z ) = z Θ (B(¯p + pΛs (z ))). The mean number of customers served in a busy period is E [Ls ] = m1+−pC . pΘ 0 (1)B0 (1) Proof. (a) This result is easily derived since the interarrival periods are independent and identically distributed in line with a geometrical distribution with probability p. (b) This outcome is based on the hypotheses of the model. (c) The PMF of Lstandby is given by
P [Lstandby
N ], k = 0 P [ΥνNl −≥ 1 X = k] = P [Lstandby = k|Υνl = j]P [Υνl = j],
k≥1
j=max{m,N −k}
where νl is the slot where the l-th setup time finishes. To conclude the proof we need to compute the PMF and PGF of Υ νl : P [Υνl = k] = (1 − δm,k )pγk−m−1 + p¯ γk−m , ∞ X
k≥m
P [Υνl = k]z k = z m C (¯p + pz ).
k=m
˜ (d) Since a busy period begins with a generalized service of j slots with probability bj and k customers arrive during these j slots with probability
Λbusy (z ) =
j k
∞ X ∞ X i =N j =1
pk p¯ j−k , the PGF of Lbusy can be expressed as
b˜ j z j
j X j k=0
k
˜ busy (z )]k+i−1 P [Υτl = i] pk p¯ j−k [Λ
where τl is the slot of the l-th initiation point of a busy period. To end the proof it is necessary to find the PMF and PGF of Υτl :
N X [(1 − δm,j )pγj−m−1 + p¯ γj−m ], P [Υτl = k] = j=m pγk−m−1 + p¯ γk−m , k ≥ N + 1 ∞ X P [Υτl = k]z k = z m C (¯p + pz ) − Γ (z ). k=N
k=N
984
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
˜ (e) Since a busy period starts with a generalized service of j slots with probability bj and k customers arrive during these j j k
slots with probability
Λs (z ) =
∞ X ∞ X
b˜ j z
i =N j =1
pk p¯ j−k , the PGF of the number of customers served in a busy period Ls can be written as: j X j
k
k=0
˜ s (z )]k+i−1 P [Υτl = i]. pk p¯ j−k [Λ
Finally, the expected cycle length is E [Lcycle ] = E [Lidle + Lsetup + Lstandby + Lbusy ] = 1/(pπ0,0 ). 5. Optimal control This section defines a cost function and explains the technique used to find the values of m and N that minimize such a cost function. 5.1. Total expected cost function per unit time This subsection establishes a stationary expected cost function per unit time, in which m and N are the decision variables. Our objective is to find the optimum values of the parameters m and N, say m∗ and N ∗ , such that this function is minimized. The following costs are considered:
• C1 ≡ cost per unit time for holding N or more customers in the system while the server is starting up (this cost carries a penalty when the setup begins too late);
• C2 ≡ cost per unit time for keeping the server on standby (this cost penalizes when the setup is carried out too early); • C3 ≡ cost per unit time for keeping the server in operation (this cost originates from the energy necessary to maintain the active server);
• C4 ≡ cost incurred each time the server is turned on (this cost is closely bound to the number of switch-overs between idle and busy modes);
• C5 ≡ holding cost per unit time for each customer present in the system (this cost is due to storing customers and their mean waiting time). Using the definitions of each cost element listed above, the total expected cost function per unit time is given by C (m, N ) = C1
∞ ∞ X X
k
k=N
π1,k,i + C2 ϕ2 (1) + C3
∞ X
i=1
ϕ3,j (1, 1) +
j =1
C4 E [Lcycle ]
+ C 5 µs
where the mean system length when the server is setting up and the number of customers in the system reaches or exceeds N is: ∞ ∞ X X
k
k=N
π1,k,i =
2mpC 0 (1) + p2 C 00 (1)
i=1
2
π0,0 −
∞ N −1 X X
k
k=m
π1,k,i .
i=1
We note that the probabilities i=1 π1,k,i , k ≥ m can be computed invoking the FFT method since we explicitly know its P∞ P∞ generating function: k=m i=1 π1,k,i z k = ϕ1 (1, z ).
P∞
5.2. Tabu search algorithm We now show the main components of a TS procedure. TS is a well-tested tool for finding both the global optimum of a single-objective optimization problem and the efficient solutions of a multi-objective optimization problem. TS is a suitable metaheuristic proposed by Glover [10] for combinatorial problems and has been successfully applied in recent years to a variety of complex problems (constrained and unconstrained, linear and nonlinear, convex and nonconvex, etc.) in different research areas (scheduling, assignment problems, location problems, routing problem, graph theory, etc.). For a comprehensive overview of the TS method, please refer to Glover and Laguna’s book [10]. TS guides a local heuristic search procedure to explore the solution space beyond local optimality. TS uses a local operation called move to define the neighbourhood of any given solution where a better solution than the current one is searched for. TS also maintains an adaptive list with a bounded number of visited solutions in order to prevent cycling (this happens when a finite sequence of solutions are visited indefinitely). The use of adaptive memory also leads to more flexible search behavior. A standard TS procedure requires the following basic elements: 1. Initial solution: The search needs an initial solution to start the search process. This solution should be any feasible solution (solutions satisfying the constraints) and could be generated randomly or by using greedy functions (functions which use additional information to generate better initial solutions than random ones) depending on the problem and the difficulty of generating feasible solutions. The solution space of our problem is an unbounded triangle, so we start the search process from (m, N ) = (1, 1). In Fig. 2 the initial solution is represented by a white rhombus.
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
985
Fig. 2. Simulation of a TS procedure.
2. Move: A move is a procedure by which a new solution is generated from the current one by some minor random/deterministic perturbation of the current solution. This solution is usually called a neighbour or offspring. This procedure is usually straightforward in the case of combinatorial optimization, but is much harder to design for the case of continuous optimization problems. The problem we are dealing with has a special solution space (an unbounded triangular grid). This is why we consider four intuitive moves for our problem. Let (mi , Ni ) be the solution visited at the i-th iteration. Then, these movements are defined in order to generate
{(mi + 1, Ni ), (mi , Ni + 1), (mi − 1, Ni ), (mi , Ni − 1)}. Fig. 2 shows an example for the possible current solution (3, 5). The neighbours of this point are {(4, 5), (3, 6), (2, 5), (3, 4)} and are represented by white stars. 3. Neighbourhood: The neighbourhood is the set of all possible neighbours of a current solution. This set is usually countable for the case of combinatorial optimization, but it could be large; in that case one could operate with a subset of this set. For continuous optimization problems, the set of possible moves is uncountable and one has to be more creative in defining them. Let S = (m, N ) be the current solution. Then, we denote by N (S ) the neighbourhood of S, that is, N (S ) = {(m + 1, N ), (m, N + 1), (m − 1, N ), (m, N − 1)}. 4. Tabu list: To prevent cycling, the solutions that have been visited in the recent past are forbidden. This is accomplished in a short-term memory framework by storing the forbidden (tabu) solutions in a set T , called tabu list, of length t (t is called tabu tenure). At each iteration, the new solution is added at the end of T , while the oldest is removed from T . The tabu tenure used by our experiments is set at 25. 5. Stop criterion: Normally, the search ends after a certain number of iterations, after a predefined computing time or when a certain number of iterations does not improve the best solution achieved so far. In our experiments the search continues for 1000 iterations. Fig. 2 shows the local TS procedure. It starts at the initial solution ((m, N ) = (1, 1)). At each iteration, the neighbourhood of the current visited solution is computed and evaluated. These solutions are sequentially compared against the current one (following the order in N (S )) and the first one that improves the objective function value of the current solution is selected. Thus, the ‘‘first best’’ move is selected (these moves are represented by black arrows). A new solution is then generated by taking the selected move. This neighbour will be included in the tabu list during a fixed number of iterations, so moves passing through this solution are temporarily excluded from the candidate list. In the case where all possible moves (neighbours) for the current solution are included in the tabu list (this situation usually happens to points at the border of the feasible solutions space or to a local optimum) a new solution is randomly generated in order to explore new regions and escape from a possible local optimum. The search process finishes when a pre-defined number of iterations elapses. Nevertheless, TS includes a wide variety of strategies to improve the search process, such as, aspiration criteria in order to cross the barriers of the search space, other intensification or diversification phases or more complex uses of adaptive memory (for further details, see Glover and Laguna [10]). 6. Numerical work This section presents a sensitivity analysis on the optimum values (m∗ , N ∗ ) based on changes in specific values of the cost elements and the distributional form of {θi }∞ i=1 (the number of services that each customer receives). Throughout this
986
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
Fig. 3. Optimal solutions, (m∗ , N ∗ ), for each C5 value, ranked first by C2 values and then by C4 values.
section the arrival rate is equal to p = 0.13 or p = 0.16, the setup time is always 7 and the service time is always 3. The distribution {θi }∞ i=1 is assumed to be either geometrical (Bernoulli feedback) or shifted Poisson with mean 2. The load factor pΘ 0 (1)B0 (1) is kept fixed as 0.78 (light traffic) or 0.96 (heavy traffic) depending on whether p = 0.13 or p = 0.16. As seen in Section 5, the cost function depends on five different cost elements: the dissatisfying cost (C1 ), the standby cost (C2 ), the operation cost (C3 ), the turned-on cost (C4 ) and the holding cost (C5 ). Thus, the analysis of the asymptotic behavior of the optimal values of the (m, N )-policy when these costs change is quite difficult. In order to simplify as much as possible, we will assume C1 = 1. In this way, we minimize the original cost function divided by C1 and the other costs are referred to by C1 (i.e., C2 = 10 means that the standby cost is ten times the dissatisfying cost). Moreover, the operation an important role in optimal control since the term multiplying C3 in P∞ cost (C3 ) does 0not play 0 the cost function is j=1 ϕ3,j (1, 1) = pΘ (1)B (1) and does not depend on either m and N; consequently, without loss of generality, we set C3 equal to 1. Then, the other three different costs (C2 , C4 and C5 ) are taken into account to obtain an appropriate analysis. Thus, in the attempt to cover a wide number of possibilities, these costs are taken in the set {0.005, 0.01, 0.05, 0.2, 0.5, 0.75, 1, 2.5, 5, 10, 100, 200}. In this way, a total of 12 × 12 × 12 = 1728 problems have been solved for both distributions of the number of services received by each customer (geometrical and shifted Poisson). Since two arrival rates have been considered, 6912 problems have been analyzed in the attempt to show the asymptotic behavior of (m∗ , N ∗ ). Due to space restrictions, we omit all the tables obtained in our experiments. Nevertheless, we present the graphs of the optimal threshold values for the case of heavy traffic and Bernoulli feedback. The reason for this is that no significant differences were found between using a geometrical or shifted Poisson distribution for the number of services received by each customer. We also ignore the results for light traffic due to global similarities, although the optimal solutions are slightly bigger than for heavy traffic, as was expected. Thus, in these graphs we see the asymptotic behavior of (m∗ , N ∗ ) when the costs change in ascending order but ranked according to {C5 , C2 , C4 } (Figs. 3 and 4), {C4 , C2 , C5 } (Figs. 5 and 6) or {C2 , C4 , C5 } (Figs. 7 and 8). Specifically, in Fig. 3 the results are ranked first according to C5 values, but as there are 144 solutions with the same C5 value they are then ranked according to C2 values. However, there are now 12 solutions with the same C5 and C2 values, so they are ranked according to C4 values. This fact is represented using three different axes. Moreover, in Fig. 4 we zoom in on those results with C5 = 0.01 in order to appreciate the behavior in more detail. In Figs. 6 and 8 we also zoom in on Figs. 5 and 7 for C4 = 100 and C2 = 1, respectively. Finally, Fig. 3 does not include results when C5 > 2.5 due to the similarities with C5 = 2.5. The same happens in Figs. 5 and 7 when C4 < 0.5 and C2 < 0.5, respectively.
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
Fig. 4. Enlargement of Fig. 3 for C5 = 0.01.
Fig. 5. Optimal solutions, (m∗ , N ∗ ), for each C4 value, ranked first by C2 values and then by C5 values.
987
988
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
Fig. 6. Enlargement of Fig. 5 for C4 = 100.
In Fig. 3 the optimal values are ranked according to C5 , C2 and C4 values. Thus, this figure shows, for each C5 value, the optimal values when the standby cost (C2 ) and the turned-on cost (C4 ) take values smaller (or greater) than the dissatisfying cost (C1 = 1). In addition, its enlargement (Fig. 4) shows those results when C5 = 0.01. First, it is clear that the optimal values, (m∗ , N ∗ ), globally decrease very quickly as C5 increases (Fig. 3). That is, large holding-cost values force the optimal threshold values to be much lower. This point was expected since an increasing C5 implies an optimal policy of reducing the waiting times of the customers present in the system. This fact can also be checked in Fig. 6. Moreover, as C5 increases, the optimal values (m∗ , N ∗ ) tend to (1, 2) when C2 is smaller than C1 = 1 and tend to (1, 1) for bigger C2 values. However, when the holding cost is close to zero, the optimal values obtained for C4 < 10 are significantly different than for C4 > 10. The last point is also intuitive due to the services starting later if the turned-on cost (C4 ) increases (e.g., see Fig. 4). As also expected, the optimal values of the (m, N )-policy approach the optimal values of the (N , N )-policy as C2 increases (obviously, the best policy avoids the standby period if C2 is high). Nevertheless, this situation happens earlier depending on C5 (and C1 because it is the reference). When C5 < 0.5 (as in Fig. 4 where C5 = 0.01), the (m, N )-policy approaches the optimal values of the (N , N )-policy as C2 > 1 (recall that this means that C2 takes values greater than C1 = 1) whereas C2 has to be greater than 100 in the case of C5 > 0.5 (see Figs. 4 and 6 or Fig. 7). Moreover, it can be seen that the optimal values increase when C4 is large, C4 > 10 (e.g., see Figs. 4, 5 and 7 or Fig. 8). This point was also expected since a larger C4 makes the services begin later (i.e., the cycle length increases). It is worth mentioning that for small values of the turned-on cost (C4 ) is m∗ = 1 (again, see Figs. 4, 5 and 7 or Fig. 8), that is, the server would initiate the setup as soon as possible. On the other hand, if C4 > 10 the server would not initiate the setup until a large number of customers were accumulated (see Fig. 8). To summarize, the variability of the holding cost (C5 ) strongly and globally affects the asymptotic behavior of (m∗ , N ∗ ). This is also the case for C2 and C4 . The (N , N )-policy appears to be the best choice only for large values of C2 , but the optimal value N ∗ increases as C4 becomes larger. In fact, when C2 ≥ 100, (m∗ , N ∗ ) is almost always equal to (1, 1). On the other hand, N ∗ becomes larger as C5 tends to 0. 7. Conclusion The preceding sections analyze a Geo/G/1/∞ queueing system under N-policy, an early setup with threshold m and a feedback mechanism with different feedback parameters at every stage of the service. Our model extends the well-known discrete-time single-server queueing system under N-policy [25] and generalizes the discrete-time counterpart of [17]. We
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
Fig. 7. Optimal solutions, (m∗ , N ∗ ), for each C2 value, ranked first by C4 values and then by C5 values.
Fig. 8. Enlargement of Fig. 7 for C2 = 1.
989
990
A.G. Hernández-Díaz, P. Moreno / Mathematical and Computer Modelling 49 (2009) 977–990
give the joint generating function of the server state and the system length, some interesting performance measures and the distributions of the different periods associated with our model. We also define a cost function and provide their optimal values m and N. Moreover, we minimize such a cost function by means of a tabu search algorithm, which is a powerful heuristic increasingly being used for complex combinatory optimization problems. By means of this technique we avoid the problem of analytically demonstrating the convexity of the cost function. Extensive numerical experiments have been carried out to observe the behavior of the optimal strategy when the cost elements and the feedback distribution vary. Acknowledgements The authors are grateful to the referee for his/her helpful comments and suggestions. The research of P. Moreno is supported by the MEC through project MTM2005-01248. References [1] I. Atencia, P. Moreno, Discrete-time Geo[X ] /GH /1 retrial queue with Bernoulli feedback, Computers and Mathematics with Applications 47 (2004) 1273–1294. [2] K.R. Baker, A note on operating policies for the queue M /M /1 with exponential startup, Infor 11 (1973) 71–72. ¯ The Indian Journal of Statistics 56 (1994) 144–163. [3] W. Bohm, S.G. Mohanty, On discrete time Markovian N-policy queues involving batches, Sankhya: [4] H. Bruneel, B.G. Kim, Discrete-Time Models for Communication Systems Including ATM, Kluwer Academic Publishers, Boston, 1993. [5] B.D. Choi, Y.C. Kim, Y.W. Lee, The M /M /c retrial queue with geometric loss and feedback, Computers and Mathematics with Applications 36 (1998) 41–52. [6] B.D. Choi, B. Kim, S.H. Choi, On the M /G/1 Bernoulli feedback queue with multi-class customers, Computers and Operations Research 27 (2000) 269–286. [7] B.D. Choi, B. Kim, S.H. Choi, An M /G/1 queue with multiple types of feedback, gated vacations and FCFS policy, Computers and Operations Research 30 (2003) 1289–1309. [8] D.I. Choi, T.-S. Kim, Analysis of a two-phase queueing system with vacations and Bernoulli feedback, Stochastic Analysis and Applications 21 (2003) 1009–1019. [9] R.B. Cooper, Introduction to Queueing Theory, Elsevier North Holland, New York, 1981. [10] F. Glover, M. Laguna, Tabu Search, Kluwer Academic Publishers, Boston, 1997. [11] A.G. Hernández-Díaz, P. Moreno, Analysis and optimal control of a discrete-time queueing system under the (m, N )-policy, First International Conference on Performance Evaluation Methodologies and Tools, Pisa, Italy, 2006. [12] J.J. Hunter, Mathematical Techniques of Applied Probability, in: Discrete-Time Models: Techniques and Applications, vol. 2, Academic Press, New York, 1983. [13] J.-C. Ke, Bi-level control for batch arrival queues with an early startup and un-reliable server, Applied Mathematical Modelling 28 (2004) 469–485. [14] B. Krishna Kumar, S. Pavai Madheswari, A. Vijayakumar, The M /G/1 retrial queue with feedback and starting failures, Applied Mathematical Modelling 26 (2002) 1057–1075. [15] B. Krishna Kumar, J. Raja, On multiserver feedback retrial queues with balking and control retrial rate, Annals of Operations Research 141 (2006) 211–232. [16] B. Krishna Kumar, D. Arivudainambi, A. Krishnamoorthy, Some results on a generalized M/G/1 feedback queue with negative customers, Annals of Operations Research 143 (2006) 277–296. [17] H.W. Lee, J.O. Park, Optimal strategy in N-policy production system with early set-up, The Journal of the Operational Research Society 48 (1997) 306–313. [18] H.W. Lee, J.G. Park, B.K. Kim, S.H. Yoon, B.Y. Ahn, N.I. Park, Queue length and waiting time analysis of a batch arrival queue with bilevel control, Computers and Operations Research 25 (1998) 191–205. [19] H.W. Lee, N.I. Park, J. Jeon, Queue length analysis of batch arrival queues under bilevel threshold control with early set-up, International Journal of Systems Science 34 (2003) 195–204. [20] K.C. Madan, M. Al-Rawwash, On the M x /G/1 queue with feedback and optional server vacations based on a single vacation policy, Applied Mathematics and Computation 160 (2005) 909–919. [21] P. Moreno, A discrete-time single-server queue with a modified N-policy, International Journal of Systems Science 38 (2007) 483–492. [22] P. Moreno, Analysis of a Geo/G/1 queueing system with a generalized N-policy and setup-closedown times, Quality Technology and Quantitative Management 5 (2008) 111–128. [23] L. Tadj, G. Choudhury, Optimal design and control of queues, Top 13 (2005) 359–412. [24] L. Takacs, A single-server queue with feedback, Bell System Technical Journal 42 (1963) 505–519. [25] H. Takagi, Queueing Analysis: A Foundation of Performance Evaluation, in: Discrete-Time Systems, vol. 3, North-Holland, Amsterdam, 1993. [26] H.C. Tijms, A First Course in Stochastic Models, Wiley, Chichester, 2003. [27] M.E. Woodward, Communication and Computer Networks: Modelling with Discrete-Time Queues, IEEE Computer Society Press, Los Alamitos, California, 1994. [28] M. Yadin, P. Naor, Queueing systems with a removable service station, Operational Research Quarterly 14 (1963) 393–405.