Teorı́a de Colas Modelo G/M/1 y G/M/k Rodrigo Salas Fuentes <[email protected]> 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 − β)