Teor´ıa de Colas Modelo G/M/1 y G/M/k

Anuncio
Teorı́a de Colas
Modelo G/M/1 y G/M/k
Rodrigo Salas Fuentes <rsalas@inf.utfsm.cl>
Universidad Técnica Federico Santa Marı́a
Departamento de Informática
Profesor: Héctor Allende
1
Introducción
En este trabajo se estudia el modelo mediante el cual los clientes llegan a
los servidores en forma aleatoria. Cuando llegan deben esperar en una cola
hasta que son servidos, una vez servidos se supone que ellos dejan el sistema.
Se considera el modelo con tiempo de servicio exponencial, pero el tiempo
entre llegadas de los clientes tienen una distribución arbitraria.
Algunos definiciones básicas de colas son las siguientes:
• L : es el número promedio de clientes en el sistema.
• LQ : es el número promedio de clientes esperando en la cola.
• W:tiempo promedio que el cliente pasa en el sistema.
• WQ : tiempo promedio que el cliente pasa esperando en la cola.
Razón promedio a la cual el sistema gana=λa ∗ monto promedio que paga
un cliente entrante.
• λa es la razón promedio de llegada de un cliente entrante.
• N(t): es el número de clientes que llegan en un tiempo t.
Luego se tiene lo siguiente:
λa = lim
t→∞
N (t)
t
Si se supone que cada cliente paga $1 por unidad de tiempo en el sistema,
entonces tenemos la fórmula de Little:
L = λa W
Similarmente, si se paga $1 cuando se encuentra en la cola:
LQ = λa WQ
Luego, el número de clientes en servicio = λa E[s] donde E[s] es definido
como el tiempo promedio que un cliente gasta en servicio.
1.1
Probabilidades de Estado Estacionario
Sea X(t) el número de clientes en el sistema en el tiempo t, y sea Pn , n > 0
definido por:
Pn = lim P {X(t) = n}
t→∞
Donde Pn es la probabilidad a largo plazo de que habrá exactamente
n clientes en el sistema. Alguna veces se denomina como probabilidad de
estado estacionario de exactamente n clientes en el sistema.
Además se tiene:
• an = proporción de clientes que encuentran n en el sistema cuando
ellos llegan.
• dn =proporción de clientes que dejan atrás n en el sistema cuando
ellos se van.
2
El Modelo G/M/1
El modelo G/M/1 asume que el tiempo entre llegadas sucesivas poseen una
distribución arbitraria G. El tiempo de servicio se distribuye exponencialmente con razón m y existe sólo un servidor.
La dificultad en el análisis de este problema se basa en el hecho de que el
número de clientes en el sistema no son suficientes para servir como espacio
de estado. Se necesita conocer el número en el sistema y el tiempo que
ha pasado desde la última llegada. Para abordar este problema se deberı́a
mirar al sistema cuando el cliente llega; entonces definamos Xn , n ≥ 1 por:
Xn ≡el número en el sistema como se ve en la llegada n-ésima.
El proceso {Xn , n ≥ 1 } es una cadena de Markov. Para calcular las
probabilidades de transición Pij , primero hay que notar que, a medida de
que existan clientes para ser servidos, el número de servicios en cualquier
tramo de tiempo es una variable aleatoria de Poisson con esperanza µt. Esto
se debe a que el tiempo entre servicios sucesivos es exponencial, por lo tanto,
el número de servicios constituyen un proceso de Poisson. Es decir,
Z
∞
Pi,i+1−j =
eµt
0
(µt)j
dG(t)
j!
j = 0, 1, ..., i
ya que si en una llegada encuentra i en el sistema, entonces en la próxima
llegada encontrará i+1 menos el número servido, y la probabilidad de que j
sea servido fácilmente se ve que iguala el lado derecho de arriba ( a través del
condicionamiento en el tiempo entre llegadas sucesivas). La fórmula para
P0 (la probabilidad de que al menos i+1 eventos de Poisson ocurren en un
tiempo aleatorio teniendo distribución G) es un poco diferente y pude ser
obtenido como:
Pi0 = 1 −
i
X
Pi,i+1−j
j=0
Las probabilidades lı́mites πk , k=0,1,..., puede ser obtenido como solución
única de:
πk =
X
πi Pik
i
,k≥0
X
πk = 1
k
la cual en éste caso se reduce a:
πk =
R ∞ −µt (µt)i+1−k
i=k−1 πi 0 e
(i+1−k)! dG(t)
P∞
∞
X
k≥1
(1)
πk = 1
0
Para resolver la ecuación (1), intentemos una solución de la forma πk =
Se sustituye en (1), y luego se obtiene lo siguiente:
cβ k .
∞
X
cβ k = c
βi
=c
∞
−µt k−1
e
0
∞
e−µt
0
i=k−1
Z
Z
β
(µt)i+1−k
dG(t)
(i + 1 − k)!
∞
X
(βµt)i+1−k
i=k−1
(i + 1 − k)!
dG(t)
(2)
Sin embargo,
∞
X
(βµt)i+1−k
=
(i + 1 − k)!
i=k−1
∞
X
(βµt)j
j=0
j!
= eβµt
y la ecuación 2 se reduce a:
k
β =β
k−1
∞
Z
e−µt(1−β) dG(t)
0
o
∞
Z
e−µt(1−β) dG(t)
β=
(3)
0
La constante c puede ser obtenida de
X
πk = 1
k
, lo cual implica que:
c
∞
X
βk = 1
0
o
c=1−β
Como πk es la única solución de (1), y πk = (1 − β)β k satisface, entonces
:
πk = (1 − β)β k , k ≥ 0
donde β es la solución de la ecuación (3), donde los valores de β son
obtenidos numéricamente.
Como πk es la probabilidad lı́mite en que una llegada ve k en el sistema
cuando un cliente llega. Entonces:
P
W = k E[tiempo en el sistema—llegada ve k](1 − β)β k
=
Xk+1
µ
k
(1 − β)β k
Ya que si una llegada ve k, entonces el gasta k+1 perı́odos de servicios en
el sistema.
=
Ya que se usa
∞
X
0
1
µ(1 − β)
kxk =
x
(1 − x)2
y
β
WQ = W − µ1 = µ(1−β)
λ
L = λW = µ(1−β)
λβ
LQ = λWQ = µ(1−β)
(4)
donde λ es el recı́proco del intervalo de tiempo medio. Esto es:
1
=
µ
Z
∞
xdG(x)
0
Por lo tanto:
W ∗ es exponencial con razón µ(1 − β),
(
WQ∗
=
0
con probabilidad 1 - β
exponencial con razon µ(1 − β) con probabilidad β
donde W ∗ y WQ∗ es el tiempo que el cliente pasa en el sistema y en la
cola, respectivamente.
Sin embargo, ak = (1 − β)β k es la probabilidad que una llegada vea k
en el sistema, no es igual a la proporción de tiempo durante el cual hay k
en el sistema, ya que el proceso de llegada no es Poisson. Para obtener Pk ,
primero hay que ver que la razón por la cual el número en el sistema cambia
de k-1 a k debe ser igual a la razón a la cual cambia de k a k-1. Luego, la
razón a la cual cambia de k-1 a k es igual a la razón de llegada λ multiplicado
por la proporción de llegadas que encuentran k-1 en el systema. Esto es:
La razón en la cual el sistema va de k-1 a k = λak − 1
De forma similar, la razón por la cual el número cambia en el sistema
de k a k-1 es igual a la proporción de tiempo durante el cual existe k en el
sistema multiplicado por la razón de servicio (constante). Esto es:
La razón en la cual el sistema va de k a k-1 = Pk µ
Calculando estas razones, nos lleva a:
Pk =
λ
ak − 1k ≥ 1
µ
Luego,
Pk =
y, como P0 = 1 −
P∞
k=1 Pk
λ
(1 − β)β k−1 k ≥ 1
µ
obtenemos:
P0 = 1 −
λ
µ
2.1
Los perı́odos ociosos y ocupados del G/M/1
Supóngase que una llegada ha encontrado el sistema vacı́o (entonces comienza
el perı́odo ocupado), y sea N el número de clientes servidos en el perı́odo
ocupad9o. Como la llegada N-ésima encontrará también el sistema vacı́o,
entonces N es el número de transiciones en la cadena de Markov para ir del
estado 0 al estado 0. Por lo tanto, 1/E[N] es la proporción de transiciones
que toma a la cadena de Markov en el estado 0; o equivalentemente, es la
proporción de llegadas que encuentran el sistema vacı́o. Por lo tanto,
E[N ] =
1
1
=
a0
1−β
También, como el próximo perı́odo ocupado comienza después de la llegada N-ésima, entonces el tiempo de ciclo(es decir, la suma de los perı́odos
ociosos y ocupados) es igual al tiempo hasta la llegada N-ésima. En otras
palabras, la suma de los perı́odos ocupados y ociosos puede ser expresado
como la suma de los tiempos de N llegadas. Por lo tanto, si Ti es el timepo
de llegada i-ésima después que el perı́odo ocupado comienza, entonces
N
X
E[Ocupado] + E[ocioso] = E[
Ti ]
i=1
= E[N ]E[T ]
=
1
λ(1 − β)
Además se tiene:
1 − P0 =
y como P0 = 1 −
λ
µ
E[ocupado]
E[Ocioso] + E[ocupado]
y reemplazando con (5), entonces:
E[ocupado] =
E[ocioso] =
1
µ(1 − β)
µ−λ
λµ(1 − β)
(5)
3
El Modelo G/M/k
En este modelo se suponen k servidores, los cuales sirven con una razón
exponencial µ. Sin embargo, no se permite que el tiempo entre llegadas
sucesivas tenga distribucón arbitraria. Para asegurar que existe una distribución de estado estable, se asume las condiciones 1/µG < kµ donde µG
es la media de G∗
Si se define Xn como el número en el sistema en el momento de la n-ésima
llegada, entonces:
Xn+1 = Xn + 1 − Yn
n≥0
donde Yn es el número de salidas durante los tiempos llegadas entre la
llegada n y la n+1. Por lo que las probabilidades de transición se pueden
calcular como:
• Caso 1: j > i + 1 entonces Pij = 0
• Caso 2: j ≤ i + 1 ≤ k
En este caso si una llegada ve i en el sistema, entonces como i < k,
entonces la nueva llegada entrará inmediatamente al servicio. Por esto,
la próxima llegada encontrará j si los i+1 servicios, exactamente i+1-j
son completados durante los tiempos entre llegadas. Condicionando
sobre los tiempos entre los tiempos entre llegadas, nos lleva a:
Pij = P {i+1−j de i + 1 servicios son completados entre los tiempos de llegadas
Z
=
∞
P {i+1−j de i + 1 son completados | el tiempo entre llegadas t}dG(t)
0
Z
∞
=
0
−µt i+1−j −µt j
(i+1
)
(e ) dG(t)
j )(1 − e
donde la última igualdad se debe a que el número de servicios completados en un tiempo t tiene una distribución binomial.
• Caso 3: i + 1 ≥ j ≥ k
Para evaluar Pij en este caso, primero vemos que cuando todos los
servidores están ocupados, el proceso de partida es un proceso de Poisson con razón kµ. Por esto, condicionando sobre los tiempos entre las
llegadas se tiene:
Pij = P {i + 1 − j departures}
∞
Z
P {i + 1 − jsalidas en el tiempo t}dG(t)
=
0
Z
=
0
∞
e−kµt
(kµt)i+1−j
dG(t)
(i + 1 − j)!
• Caso 4: i + 1 ≥ k > j
En este caso, como todos los servidores se encuentran ocupados, el
proceso de partida es un proceso de Poisson, entonces el tiempo para
que existan sólo k en el sistema tendrá una distribución gama con
parámetros i + 1 − k, kµ (el tiempo hasta el evento i + 1 − k de un
proceso de Poisson con razón kµ ocurre si tiene una distribución gama
con parámetros i + 1 − k, µk). Condicionando primero en el tiempo
entre llegadas hasta cuando existan sólo k en el sistema, entonces:
Z
Pij =
∞
P {i + 1 − j salidas en el tiempo t}dG(t)
0
Z
∞Z t
=
0
0
Z
P {i+1−j salidas en el tiempo t|Tk = s}kµe−kµs
∞Z t
=
0
0
(kj )(1 − e−µ(t−s) )k−j (e−µ(t−s) )j kµe−kµs
(kµs)i−k
dsdG(t)
(i − k)!
(kµs)i−k
dsdG(t)
(i − k)!
donde la última igualda se debe a que como k personas en servicios
en el tiempo s, el número cuyo servico terminará en el tiempo t es
binomial con parámetros k y 1 − e−µ(t−s) .
Ahora se puede verificar que las probabilidades lı́mites de esta cadena
de Markov es de la siguiente forma:
πk−1+j = cβ j , j=0,1,. . .
Sustituyendo dentro de la ecuación πj =
da que β está dado por:
P
i πi Pij
cuando j > k nos
Z
β=
∞
e−kµt(1−β) dG(t)
0
Los valores de π0 , π1 , π2 , . . ., πk−2 , puede ser obtenido resolviendo recursivamente las primeras k-1 ecuaciones del estado estacionario, y c
P
puede ser calculado usando ∞
0 πi = 1
Si WQ∗ denota el tiempo que un cliente pasa en la cola, entonces:
(
WQ∗
=
cβ
0
con probabilidad k−1
πi = 1 − 1−β
0
P
cβ
Exp(kµ(1 − β)) con probabilidad ∞
k πi = 1 − 1−β
P
donde Exp(kµ(1 − β)) es una variable aleatoria exponencial con razón
kµ(1 − β)
Descargar