Está en la página 1de 95

Tema 5:

Teoría de colas
Ezequiel López Rubio
Departamento de Lenguajes y
Ciencias de la Computación
Universidad de Málaga
Sumario
z Conceptos básicos
z Cola M | M | 1
z Cola M | M | c
z Cola M | M | 1 | k
z Redes de colas
z Redes de Jackson abiertas
z Redes de Jackson cerradas
Conceptos básicos
Concepto de cola
z Una cola es una línea de espera para
determinado servicio
z Este servicio lo proporciona uno o varios
dependientes
z La teoría de colas analiza la causa de la
formación de la cola, que es la existencia de
momentos en los que hay una mayor
demanda de servicio que la capacidad de
servicio
Clasificación de sistemas de
colas
z Llamaremos clientes, trabajos o tareas a los que
demandan servicio, y dependientes, empleados o
servidores a los que ofrecen servicio
z Un sistema de colas viene dado por varias
características:
z 1º Modelo de llegada de clientes, El índice de
llegadas será el número medio de llegadas por unidad
de tiempo, Alternativamente podemos usar el tiempo
entre llegadas, que es el tiempo medio entre llegadas
sucesivas
Clasificación de sistemas de
colas
z 2º Modelo de servicio, Puede venir dado por el tiempo de
servicio o por el número de clientes atendidos por unidad
de tiempo, Tendremos una variable aleatoria o bien un
servicio determinista, Aquí supondremos que el modelo de
servicio es independiente del de llegada
z 3º Disciplina de la cola, Establece el orden en que se va
atendiendo a los clientes:
z Por orden de llegada (FIFO)
z Por orden inverso al de llegada (LIFO)
z Selección aleatoria (RANDOM)
z Según prioridades (PRIORITY, PR), Dos subtipos:
ƒ Con interrupción, Si llega un cliente de más prioridad, el trabajo que se
estaba sirviendo se interrumpe para atenderlo
ƒ Sin interrupción, No se pueden interrumpir los trabajos
ƒ Dentro de cada clase de prioridad se podrán aplicar disciplinas LIFO, FIFO
o RANDOM,
Clasificación de sistemas de
colas
z 4º Capacidad del sistema, Es el número máximo de
clientes que puede haber en el sistema (finito o infinito), Si
llega un cliente y el sistema está lleno, se marcha,
z 5º Número de canales de servicio, Es el número de
dependientes, Puede haber una cola para cada
dependiente o bien una sola cola global
z 6º Número de estados de servicio, Puede haber varias
partes en las que se subdivide el trabajo (estados), cada
una con su cola y su dependiente, que deben ser
completadas sucesivamente, P, ej,, tres estados:
Notación de Kendall
z La notación de Kendall nos permite escribir
resumidamente todas las características que
hemos estudiado, Un sistema de colas se
notará como: A | B | X | Y | Z | V, donde:
z A es el modelo de llegadas, Valores posibles:
z M=tiempos entre llegadas exponenciales
z D=tiempos entre llegadas deterministas
z G=tiempos entre llegadas generales (cualquier
distribución)
z B es el modelo de servicio, Puede tomar los
mismos valores que A
Notación de Kendall
z X es el número de dependientes (servidores)
z Y es la capacidad del sistema (número máximo
de clientes en el sistema), Se puede omitir si es
infinita
z Z es la disciplina, Se puede omitir si es FIFO
z V es el número de estados de servicio, Se puede
omitir si es 1
z Por ejemplo, M | M | 1 | ∞ | FIFO | 1 se
escribe abreviadamente M | M | 1
Medidas de rendimiento
z Una vez descrito el sistema, nuestro objetivo
es evaluar su rendimiento, Para ello tenemos
varias medidas de rendimiento:
z Número medio de clientes en el sistema, notado L
z Tiempo medio de espera de los clientes, W
z Número medio de clientes en la cola, Lq
z Tiempo medio de espera en cola de los clientes,
Wq
Cola M | M | 1
Descripción del modelo
z Hay una sola cola, cuya capacidad es infinita, y un
solo servidor, La disciplina será FIFO
z Las llegadas se producen según un proceso de
Poisson de razón λ, donde λ es el número medio de
llegadas por unidad de tiempo y 1/λ es el tiempo
medio entre llegadas, Los tiempos entre llegadas se
distribuirán exponencialmente, Exp(λ)
z Los tiempos entre servicios también se distribuirán
exponencialmente, Exp(μ), de tal manera que μ es
el número medio de clientes que el servidor es
capaz de atender por unidad de tiempo y 1/μ es el
tiempo medio de servicio
Condición de no saturación
z Se demuestra que si λ≥μ, el sistema se satura,
es decir, el número de clientes en la cola crece
indefinidamente con el tiempo, Por consiguiente,
la condición de no saturación será:
λ
ρ < 1, donde ρ =
μ
z Nosotros sólo estudiaremos las colas que no se
saturan, Cuando una cola no se satura, también
se dice que alcanza el estado estacionario,
Probabilidades
z El parámetro ρ se llama carga, flujo o
intensidad de tráfico del sistema, puesto que
mide la relación entre la cantidad de trabajos
que llegan y la capacidad de procesarlos
z Suponiendo que el sistema no se satura, se
deduce la siguiente fórmula para las
probabilidades pn de que haya n clientes en
el sistema, donde n∈N:

pn = ρ (1 − ρ )
n
Medidas de rendimiento
z El número medio de clientes en el sistema, L, se
calcula así:
∞ ∞ ∞
L = ∑ j p j = ∑ j ρ (1 − ρ ) = (1 − ρ )∑ j ρ j
j

j =0 j =0 j =0
Sumamos la serie aritmético-geométrica:
S = ρ + 2 ρ 2 + 3ρ 3 + 4 ρ 4 + ...
− ρS = − ρ 2 − 2 ρ 3 − 3ρ 4 + ...
ρ
(1 − ρ )S = ρ + ρ 2
+ ρ + ρ + ... =
3 4

1− ρ
ρ ρ
⇒ L = (1 − ρ ) =
(1 − ρ )2 1 − ρ
Medidas de rendimiento
z La utilización del dependiente, notada U, es la fracción
de tiempo (en tanto por uno) que el dependiente
permanece ocupado, Para hallarla, nos valemos de
que cuando no hay saturación, el número medio de
clientes que entran en el sistema debe ser igual al
número medio de clientes que salen de él:
λ
λ = Uμ ⇒ U = =ρ
μ
z Como para deducir la anterior fórmula no hemos
usado ninguna característica especial del modelo de
entrada ni del de salida, dicha fórmula es válida para
colas G | G | 1
Medidas de rendimiento
z El tiempo medio de respuesta W es el tiempo medio que
un trabajo permanece en el sistema, Si suponemos que
un trabajo, al llegar al sistema, se encuentra con que
hay por delante de él otros j trabajos, el tiempo medio
que tardará en salir del sistema será j+1 veces el tiempo
medio de servicio, Por lo tanto:
∞ ∞ ∞
1 1 1 1
W = ∑ ( j + 1)
L
pj = ∑ j pj + ∑ pj = +
j =0 μ j =0 μ j =0 μ μ μ

Tiempo que se pasa Probabilidad de que


en el sistema si haya j por delante
hay j por delante al llegar
al llegar
Medidas de rendimiento
z Podemos simplificar algo más:
L 1 1
W= + =
μ μ μ −λ
z El tiempo medio de espera en la cola Wq se hallará
restando a W el tiempo que tarda en ser servido el
trabajo (esto es válido para cualquier tipo de cola):
1
Wq = W −
μ
z En el caso particular de una cola M | M | 1, obtenemos:
ρ
Wq =
μ −λ
Ejemplo
z Unos mecánicos llegan a una media de 10 por hora
a recoger piezas de repuesto, Estas piezas se las
da un dependiente pagado con 5 €/hora y que tarda
como media 5 min en servir, Cada hora que tiene
que esperar un mecánico (en el sistema) le cuesta
al taller 10 €, Queremos saber si merece la pena
contratar a un ayudante de dependiente, pagado
con 4€/hora, de forma que el tiempo medio de
servicio se reduzca a 4 min
z Nota: Al resolver un problema de colas, tener
siempre muy presente la coherencia de unidades
Ejemplo
z Tenemos dos opciones:
z Sin ayudante: 1/μ1 = 5 min = 1/12 h
z Con ayudante: 1/μ2 = 4 min = 1/15 h
z En ambos casos, λ = 10 clientes/h
z Opción 1 (sin ayudante):
10
10 ρ1
ρ1 = ; L1 = = 12 = 5 mecánicos
12 1 − ρ1 1 − 10
12
Por tanto, perdemos 5·(10€/h) = 50€/h
Ejemplo
z Opción 2 (con ayudante):
10
10 ρ1
ρ 2 = ; L1 = = 15 = 2 mecánicos
15 1 − ρ1 1 − 10
15
Por tanto, perdemos 2·(10€/h) = 20€/h debido a la
espera de los mecánicos, Pero también
perdemos 4€/h debido al sueldo del ayudante,
Por tanto, las pérdidas totales son 24€/h
z En la opción 1 perdemos 50€/h y en la opción 2
perdemos 24€/h, con lo cual la más ventajosa es
la opción 2,
Más medidas de rendimiento
z El número medio de trabajos en la cola Lq, se
calcula restándole a L el número medio de trabajos
que están siendo servidos:
ρ ρ2
Lq = L − (1 − p0 ) = L − ρ = −ρ =
1− ρ 1− ρ
z Probabilidad de que un cliente que llega pase más
de t unidades de tiempo en el sistema:
W (t ) = e − t / W
z Probabilidad de que un cliente que llega pase más
de t unidades de tiempo en la cola:
Wq (t ) = ρe −t / W
Ejemplos
z Ejemplo: Un canal de comunicación se usa para
enviar datos desde unos ordenadores fuente a uno
central, Cada fuente envía paquetes de datos según
un proceso de Poisson de razón 2 paquetes/seg,
Además cada fuente envía independientemente de
las otras, Todos los paquetes son idénticos,
esperan en una cola común y después se
transmiten de uno en uno, Los tiempos de
transmisión se distribuyen exponencialmente, con
media 25 mseg, Determinar el número máximo de
fuentes que se pueden conectar al canal de tal
manera que:
Ejemplos
z 1º El canal no se sature
z Si tenemos k fuentes, llegarán a la cola 2k
paquetes/seg, Por otro lado, 1/μ = 0,025 seg ⇒ μ
= 40 paquetes/seg
z El canal no se satura cuando ρ<1:

λ 2k k
ρ= = = < 1 ⇒ k < 20 fuentes
μ 40 20
Ejemplos
z 2º En media los paquetes no pasen en el
sistema más de 100 mseg
z Tal como ocurría en el apartado anterior, llegarán
a la cola 2k paquetes/seg, y tendremos μ = 40
paquetes/seg
z Nos exigen W≤0,1 seg:

1 1
W= = ≤ 0,1 ⇒ k ≤ 15 fuentes
μ − λ 40 − 2k
Ejemplos
z 3º En el estado estacionario se garantice que al
menos el 95% de los paquetes tenga un tiempo de
respuesta que no exceda de 100 mseg
z Tal como ocurría en el apartado anterior, llegarán a la
cola 2k paquetes/seg, y tendremos μ = 40 paquetes/seg
z Nos exigen que la probabilidad de que un paquete pase
más de 100 mseg en el sistema sea inferior al 5%, es
decir, W(100 mseg)≤0,05:

W (0,1) ≤ 0,05 ⇒ e −0,1(40− 2 k ) ≤ 0,05 ⇒ 0,2k − 4 ≤ ln 0,05 ⇒

4 + ln 0,05
k≤ ⇒ k ≤ 5,021 ⇒ k ≤ 5 fuentes (ya que k ∈ N)
0,2
Ejemplos
z Ejemplo: Supongamos que una cola M|M|1 con parámetros λ
y μ se sustituye por n colas M|M|1 independientes de
parámetros λ/n y μ/n, Es decir, dividimos la carga de trabajo y
la capacidad de proceso en n partes iguales, Evaluar el
efecto del cambio usando como medidas de rendimiento el
tiempo medio de respuesta y el número medio de trabajos en
el sistema

λ/n μ/n

μ

λ

λ/n μ/n
Ejemplos
z Alternativa 1 (una sola cola), λ1=λ, μ1= μ :
ρ1 λ
L1 = =
1 − ρ1 μ − λ
1 1
W1 = =
μ1 − λ1 μ − λ
z Alternativa 2 (n colas independientes), λ2=λ/n,
μ2=μ/n :
λ
n
λ
n
ρ2 ρ2 μ
μ λ
L2 = ∑ =n =n n
=n =n = nL1
i =1 1 − ρ 2 1 − ρ2 λ
1− λ μ −λ
1− μ n μ
n
Ejemplos

1 1 1
W2 = = = n = nW1
μ 2 − λ2 μ
n − n
λ μ −λ

z Como la alternativa 1 tiene menores valores


para ambas medidas de rendimiento,
concluimos que la dicha alternativa es mejor
z Esto nos indica que lo mejor es no dividir la
capacidad de procesamiento, es decir, tener un
único servidor que atienda a todos los clientes
Teorema de Little
z Sea un sistema de colas con cualquier
distribución de llegadas y servicios y cualquier
estructura, Sean L el número de trabajos
presentes en el sistema en el estado
estacionario, W es tiempo medio de respuesta
en el estado estacionario y λ la razón de
llegadas al sistema, Entonces:

L = λW
Teorema de Little
z Explicación intuitiva: Supongamos que cobramos
1€ a cada trabajo por cada unidad de tiempo que
pasa en el sistema, Habría dos maneras
equivalentes de medir las ganancias:
z Colocando un recaudador a la entrada del sistema,
le cobrará como media W a cada uno de los λ
trabajos que vea pasar por unidad de tiempo
z Cada vez que transcurre una unidad de tiempo,
cobro 1 € a cada uno de los L trabajos que como
media hay en ese instante en el sistema
Teorema de Little
z Si aplico el teorema a la cola, dejando fuera
del sistema al servidor, obtengo el siguiente
resultado, también muy útil:

Lq = λWq
z Las dos fórmulas obtenidas nos sirven para
ayudarnos a obtener los valores de las
medidas de rendimiento, aunque
necesitaremos otras ecuaciones para poder
conseguir resultados explícitos
Cola M | M | c
Descripción del modelo
z Hay una sola cola, cuya capacidad es infinita, y c
servidores, La disciplina será FIFO
z Las llegadas se producen según un proceso de
Poisson de razón λ, donde λ es el número medio de
llegadas por unidad de tiempo y 1/λ es el tiempo
medio entre llegadas, Los tiempos entre llegadas se
distribuirán exponencialmente, Exp(λ)
z Los tiempos de servicio también se distribuirán
exponencialmente, Exp(μ), de tal manera que μ es
el número medio de clientes que cada servidor es
capaz de atender por unidad de tiempo y 1/μ es el
tiempo medio de servicio
Condición de no saturación
z Se demuestra que si λ≥cμ, el sistema se satura,
es decir, el número de clientes en la cola crece
indefinidamente con el tiempo, Por consiguiente,
la condición de no saturación será:
λ
ρ < 1, donde ρ =

z Nosotros sólo estudiaremos las colas que no se
saturan, Cuando una cola no se satura, también
se dice que alcanza el estado estacionario,
Probabilidades
z Suponiendo que el sistema no se satura, se
deducen las siguientes fórmulas para las
probabilidades pn de que haya n clientes en el
sistema, donde n∈N:
−1
⎛ c ρ c c
(cρ )
c −1 n

=
p0 ⎜⎜
! (1 − ρ )
+ ∑ n!


⎝ c n =0 ⎠
⎧ (cρ )n
⎪⎪ p 0 , si n = 0,1,..., c
p n = ⎨ cn! n
⎪ c ρ p , en otro caso
⎪⎩ c! 0
Medidas de rendimiento
z Número medio de clientes en cola:
c c ρ c +1 p 0
Lq =
c!(1 − ρ )
2

z Usamos razonamientos ya vistos para obtener:


1
W = Wq +
μ

L q = λW q L = λW
Otras medidas de rendimiento
z Número medio de servidores ocupados, S, En
el estado estacionario, la razón de las salidas
será igual a la razón de las llegadas:
λ
Sμ = λ ⇒ S = = cρ
μ
z Probabilidad de que un trabajo tenga que
esperar para recibir su servicio (fórmula de
retraso de Erlang):
c c ρ c p0
q=
c!(1 − ρ )
Ejemplos
z Ejemplo: Usando L como medida de
rendimiento, comparar estas dos alternativas:

Alternativa 1: Alternativa 2:

μ/2
λ μ λ
μ/2
Ejemplos
z Alternativa 1:
ρ
L1 =
1− ρ
z Alternativa 2:
λ λ
ρ2 = = =ρ
μ μ
2
2
−1
⎛ 2 ρ

p02 = ⎜
2 2
+∑
(2ρ )
2 −1 n


⎝ 2!(1 − ρ ) n =0 n!


Ejemplos
−1 −1
⎛ 4ρ 2
⎞ ⎛ 4ρ + 2 − 2ρ + 4ρ − 4ρ
2 2

p02 = ⎜⎜ + 1 + 2 ρ ⎟⎟ = ⎜⎜ ⎟⎟
⎝ 2(1 − ρ ) ⎠ ⎝ 2(1 − ρ ) ⎠
−1
⎛ 2 + 2ρ ⎞ 1− ρ
p02 = ⎜⎜ ⎟⎟ =
⎝ 2(1 − ρ ) ⎠ 1+ ρ

⎛ 1⎞ 2λ
L2 = λW2 = λ ⎜⎜Wq 2 + μ ⎟⎟ = λWq 2 + = λWq 2 + 2 ρ
⎝ 2 ⎠ μ

4 ρ 3 p02 2 ρ 3 (1 − ρ )
L2 = Lq 2 + 2 ρ = + 2ρ = + 2ρ
2(1 − ρ ) (1 − ρ ) (1 + ρ )
2 2
Ejemplos
2ρ 3 2ρ 3 + 2ρ − 2ρ 3 2ρ
L2 = + 2ρ = =
(1 − ρ )(1 + ρ ) (1 − ρ )(1 + ρ ) (1 − ρ )(1 + ρ )
z Para que la alternativa 1 sea mejor, ha de
cumplirse que L1<L2:
ρ 2ρ ⎧ ρ ⎫ 2
< ⇒⎨ > 0⎬ ⇒ 1 <
1 − ρ (1 + ρ )(1 − ρ ) ⎩1 − ρ ⎭ 1+ ρ
⇒ 1+ ρ < 2 ⇒ ρ < 1
z Como ρ<1 siempre se cumple, tendremos que
la alternativa 1 siempre es mejor, Es decir, no
conviene dividir la capacidad de procesamiento
en dos servidores
Ejemplos
z Ejemplo: Usando el número medio de clientes en el
sistema como medida de rendimiento, comparar
estas dos alternativas:
Alternativa 1: Alternativa 2:

λ/2 μ/2
μ/2
λ
λ/2 μ/2 μ/2
Ejemplos
z Alternativa 1 (nótese que hay 2 colas):
ρ1 2ρ λ
L1 = 2 = , donde ρ =
1 − ρ1 1 − ρ μ
z Alternativa 2 (es la alternativa 2 del ejemplo
anterior):
λ λ
ρ2 = = =ρ
μ μ
2
2

L2 =
(1 − ρ )(1 + ρ )
Ejemplos
z Para que la alternativa 2 sea mejor, ha de
cumplirse que L1>L2:
2ρ 2ρ ⎧ 2ρ ⎫ 1
> ⇒⎨ > 0⎬ ⇒ 1 >
1 − ρ (1 + ρ )(1 − ρ ) ⎩1 − ρ ⎭ 1+ ρ

⇒ 1+ ρ > 1 ⇒ ρ > 0
z Como ρ>0 siempre se cumple, tendremos que
la alternativa 2 siempre es mejor, Es decir, no
conviene poner dos colas, sino tener una única
cola global
Ejemplos
z Ejemplo: En una copistería se dispone de 3
máquinas fotocopiadoras a disposición del público,
Cada máquina es capaz de servir, por término
medio, 8 trabajos cada hora, A la copistería llegan
como promedio 5 clientes a la hora,
z Parámetros del sistema: λ = 5 clientes/h, μ = 8
clientes/h, c = 3 servidores, El sistema no se satura
porque ρ<1,
λ 5 5
ρ= = =
cμ 3·8 24
Ejemplos
z ¿Cuál es la probabilidad de que las tres máquinas
estén libres a la vez?
−1 −1
⎛ cc ρ c c −1
(c ρ )n ⎞ ⎛ 33 ρ 3 2
(3 ρ )n ⎞

⎜ c! (1 − ρ ) ∑ n! ⎟ ⎜ 3! (1 − ρ ) ∑ n! ⎟
p0 = ⎜ + ⎟ =⎜ + ⎟ =
⎝ n=0 ⎠ ⎝ n =0 ⎠
−1
⎛ 33 ρ 3
⎜ +
(3 ρ )0
+
(3 ρ )1
+
(3 ρ )2⎞
⎟ ⎛ 125
=⎜
5 25 ⎞
+1+ +
−1
=
304
≈ 0,5342706
⎜ 3! (1 − ρ ) ⎟
⎝ 0! 1! 2! ⎟⎠ ⎝ 2432 8 128 ⎠ 569

z ¿Cuál es el número medio de clientes en la cola?


3 4 304
c c ρ c +1 p0 3 ρ 569 302
Lq = = = ≈ 0,00722643 clientes
c! (1 − ρ ) 2
3! (1 − ρ )2
41791
Ejemplos
z ¿Cuál es el tiempo medio de espera en la cola?
Lq 302 52
Wq = = = ≈ 0,00144529 h
λ 5·41791 35979
z ¿Cuál es el tiempo medio de espera en el sistema?
1
52 1 514
W = Wq + = + = ≈ 0,126445 h
μ 35979 8 4065
z ¿Cuál es el número medio de clientes en el
sistema?
514 514
L = λW = 5· = ≈ 0.632226 clientes
4065 813
Cola M | M | 1 | k
Descripción del modelo
z Hay una sola cola, cuya disciplina será FIFO, La
capacidad del sistema es limitada, de tal modo que
sólo puede haber k clientes como máximo en el
sistema, Por lo tanto, el número máximo de clientes
en la cola es k–1, Si un cliente llega y el sistema
está lleno, es rechazado y nunca más regresa
z Las llegadas se producen según un proceso de
Poisson de razón λ, Los tiempos entre llegadas se
distribuirán exponencialmente, Exp(λ)
z Los tiempos entre servicios también se distribuirán
exponencialmente, Exp(μ), de tal manera que μ es
el número medio de clientes que el servidor es
capaz de atender por unidad de tiempo
Probabilidades
z El sistema nunca se satura, ya que la
capacidad es limitada
z Se deduce la siguiente fórmula para las
probabilidades pn de que haya n clientes en
el sistema, donde n∈{0, 1, 2, …, k}:
⎧ ρ n (1 − ρ )
⎪ +
, si ρ ≠ 1
⎪ 1
pn = ⎨ 1 − ρ
k

⎪ 1
⎪⎩ k + 1 , si ρ = 1
Probabilidades
z El valor de ρ determina cómo varían los pn:
z Si ρ<1, los estados más probables son los de menor
número de clientes, porque la oferta de servicio supera a
la demanda
z Si ρ>1, los estados más probables son los de mayor
número de clientes, porque la demanda de servicio supera
a la oferta
z Si ρ=1, todos los estados son equiprobables, Podemos
llegar a la fórmula del caso ρ=1 aplicando la regla de
L’Hôpital al límite para ρ→1 de la fórmula del caso ρ≠1
z Si hacemos k→∞, llegamos al modelo M | M | 1
Medidas de rendimiento
z Tasa efectiva de llegadas, λef, Es el número medio
de clientes admitidos al sistema por unidad de
tiempo de entre los λ que intentan entrar (λef<λ):
λef = λ (1 − p k )
z Número medio de clientes en el sistema (este
valor siempre debe ser inferior a k):
⎧ ρ

(k + 1)ρ k +1
, si ρ ≠ 1
⎪ +
⎪1 − ρ 1− ρ k 1
L=⎨
⎪k
⎪⎩ 2 , si ρ = 1
Medidas de rendimiento
z Podemos obtener las demás medidas de
rendimiento mediante razonamientos ya
vistos, teniendo en cuenta que la tasa
efectiva de llegadas al sistema es λef:
1
W = Wq +
μ

Lq = λ ef Wq L = λef W
Ejemplo
z A un taller mecánico llegan vehículos para el cambio de
pastillas de freno, Los coches llegan a un promedio de
18 a la hora según un proceso de Poisson, El espacio
físico del taller sólo permite que haya 4 vehículos, y las
ordenanzas municipales prohíben esperar fuera, El taller
puede servir a un promedio de 6 coches por hora de
acuerdo a una distribución exponencial,
z Parámetros del sistema: λ = 18 vehículos/h, μ = 6
vehículos/h, k = 4 vehículos
18
ρ= =3
6
Ejemplo
z ¿Cuál es la probabilidad de que no haya ningún vehículo
en el taller?
ρ 0 (1 − ρ ) 1− 3 −2 1
p0 = 4 +1
= 4 +1
= = ≈ 0,00826446
1− ρ 1− 3 − 242 121
z ¿Cuál es el promedio de vehículos que hay en el taller?

L=
ρ

(k + 1)ρ k +1
=
3

(4 + 1)34 +1
=
1− ρ 1 − ρ k +1 1− 3 1− 3 4 +1

−3 1215 426
− = ≈ 3,5206611 vehículos
2 − 242 121
Ejemplo
z ¿Cuánto tiempo pasa por término medio un
coche en el taller?
⎛ ρ k (1 − ρ ) ⎞
λef = λ (1 − pk ) = λ ⎜⎜1 − ⎟=
k +1 ⎟
⎝ 1− ρ ⎠
⎛ 34 (− 2 ) ⎞ 720
18⎜⎜1 − ⎟= ≈ 5,950413 clientes/h
5 ⎟
⎝ 1 − 3 ⎠ 121
426
W=
L
= 121 = 426 = 71 ≈ 0,5916666 horas
λef 720 720 120
121
Ejemplo
z ¿Cuánto tiempo esperan por término medio en la
cola los coches?
171 1 17
Wq = W − = − = = 0,425 horas
μ 120 6 40
z ¿Cuál es la longitud media de la cola?

720 17 306
Lq = λef Wq = · = ≈ 2,52893 vehículos
121 40 121
Redes de colas
Redes de colas
z Una red de colas es un sistema donde
existen varias colas y los trabajos van
fluyendo de una cola a otra
z Ejemplos:
z Fabricación (trabajos=artículos)
z Oficinas (trabajos=documentos)
z Redes de comunicaciones (trabajos=paquetes)
z Sistemas operativos multitarea (trabajos=tareas)
Enrutado de trabajos
z Criterios para decidir a qué cola se dirige un
trabajo que acaba de salir de otra:
z Probabilístico: se elige una ruta u otra en función
de una probabilidad (puede haber distintos tipos
de trabajos, cada uno con sus probabilidades)
z Determinista: cada clase de trabajo se dirige a
una cola fija
Tipos de redes de colas
z Se distinguen dos tipos de redes de colas:
z Abiertas: Cada trabajo entra al sistema en un
momento dado, y tras pasar por una o más colas,
sale del sistema, Dos subtipos:
z Acíclicas: Un trabajo nunca puede volver a la misma
cola (no existen ciclos)
z Cíclicas: Hay bucles en la red
z Cerradas: Los trabajos ni entran ni salen del
sistema, Por lo tanto permanecen circulando por
el interior del sistema indefinidamente,
Usualmente existe un número fijo de trabajos,
Red abierta acíclica
Red abierta cíclica
Red cerrada
Redes de Jackson
abiertas
Definición
z Una red de colas abierta se dice que es de Jackson
sii:
z Sólo hay una clase de trabajos
z Los enrutados son probabilísticos, donde rij ≥ 0 es la
probabilidad de ir al nodo j después de haber salido del
nodo i, Por otro lado, ri0 es la probabilidad de abandonar
del sistema después de haber salido del nodo i, donde ri0 =
1– ∑jrij
z Cada nodo i es una cola .|M|ci
z La tasa de llegadas externas al nodo i se notará γi
z El número total de nodos de la red se notará K
Ecuaciones de equilibrio
z Dado que el flujo total de entrada a un nodo
debe ser igual al flujo total de salida del
nodo, tendremos que:
K
λ i = γ i + ∑ λ j rji , ∀i ∈ {1,..., K }
j =1

z Las K ecuaciones anteriores forman un


sistema lineal con solución única, que
resolveremos para hallar las tasas de
llegada a cada nodo λi
Condición de no saturación
z Para que ninguna de las colas del sistema se
sature, es preciso que se cumpla la siguiente
condición:
λi
∀i ∈ {1,2,..., K }, ρ i < 1, donde ρ i =
ci μi
z Nota: Se trata de la condición de no
saturación del modelo M|M|c, aplicada a
cada uno de los nodos por separado
Teorema de Jackson para
redes abiertas
z Teorema: Sea una red de Jackson abierta que
cumple la condición de no saturación, Entonces en
el estado estacionario, la distribución del número de
clientes en cada nodo es la que sigue:
K
p(n) = ∏ pi ( ni ), ∀n1 ,…, nK ≥ 0
i =1

donde pi(ni) es la probabilidad de que haya ni clientes


en el nodo i, calculada según las ecuaciones del
modelo M|M|c
Consecuencias del teorema
z Corolario: Las medidas de rendimiento para
cada nodo se calculan según las ecuaciones
del modelo M|M|c, Además se tendrán las
siguientes medidas:
z Tasa global de salidas del sistema (throughput),
que es el número medio de trabajos que salen del
sistema por unidad de tiempo, Coincide con el
número de trabajos que entran en el sistema:
K
λred = ∑ γ i
i =1
Consecuencias del teorema
z Número medio de trabajos en el sistema, Lred,
que es la suma de los número medios de
trabajos en cada uno de los nodos:
K
Lred = ∑ Li
i =1

z Tiempo medio en el sistema, Wred, que es el


tiempo medio que pasa una tarea desde que
entra en la red hasta que sale de ella:
Lred
Wred =
λred
Consecuencias del teorema
z Razón de visitas al nodo i, Vi, que es el número
medio de veces que un trabajo visita el nodo i
desde que entra en la red hasta que sale:
λi
∀i ∈ {1,2,..., K }, Vi =
λred
Nota: en una red acíclica habrá de cumplirse que
Vi≤1 ∀i∈{1,2,,,,,K}, ya que cada tarea visitará
cada nodo a lo sumo una vez
Ejemplo (red acíclica)
1,5 1 0,2 2

0, 8
4
0 ,6
3
0,4
5

1
0,5 6
μi = 2 ∀i ∈ {1,2,..,6}
Ejemplo (red acíclica)
z Ecuaciones de equilibrio:
λ1 = γ1; λ 2 = λ1r12 ; λ 3 = λ1r13 ;

λ 4 = λ 3r 34 ; λ5 = λ 3r 35 +λ 6 r65 ; λ 6 = γ 6

z En el ejemplo, γ1=1,5; r12=0,2; r13=0,8; r34=0,6; r35=0,4;


γ6=0,5; r65=1; con lo cual la solución es:

λ1 = 1,5; λ 2 = 0,3; λ 3 = 1,2;


λ 4 = 0,72; λ 5 = 0,98; λ 6 = 0,5
Ejemplo (red acíclica)
z Condición de no saturación (se cumple porque ρi<1):
λ
ρi = i ⇒ ρ1 = 0,75; ρ2 = 0,15; ρ3 = 0,6;
μi
ρ4 = 0,36; ρ5 = 0,49; ρ6 = 0,25

z Medidas de rendimiento (ecuaciones del modelo M|M|1):


ρi L1 = 3; L2 ≈ 0,1764; L3 = 1,5;
Li = ⇒
1 − ρi

L4 = 0,5625; L5 ≈ 0,9607; L6 ≈ 0,3333


Ejemplo (red acíclica)
1
Wi = ⇒ W1 = 2; W2 ≈ 0,5882; W3 = 1,25;
μi − λi

W4 = 0,78125; W5 ≈ 0,9803; W6 ≈ 0,6666

1
Wqi = Wi − ⇒ Wq1 = 1,5; Wq 2 ≈ 0,0882; Wq 3 = 0,75;
μi

Wq 4 = 0,28125; Wq 5 ≈ 0,4803; Wq 6 ≈ 0,1666


Red abierta cíclica

0,2 1 0,3 2
7
0,
4
0 ,1
0,8 3
0,9
5
μi = 3 ∀i ∈ {1,2,4}
μi = 4 ∀i ∈ {3,5} 0,6
Ejemplo (red cíclica)
z Ecuaciones de equilibrio:
λ1 = γ1; λ 2 = λ1r12 ; λ 3 = γ 3 + λ1r13 + λ 5 r53 ;

λ 4 = λ 3r 34 ; λ 5 = λ 3r 35

z En el ejemplo, γ1=0,2; r12=0,3; r13=0,7; γ3=0,8; r53=0,6;


r34=0,1; r35=0,9; con lo cual la solución es:

λ1 = 0,2; λ 2 = 0,06; λ 3 ≈ 2,0434;


λ 4 ≈ 0,2043; λ 5 ≈ 1,8391
Ejemplo (red cíclica)
z Condición de no saturación (se cumple porque ρi<1):
λ
ρi = i ⇒ ρ1 ≈ 0,0666; ρ2 = 0,02; ρ3 ≈ 0,5108;
μi
ρ4 ≈ 0,0681; ρ5 ≈ 0,4597

z Medidas de rendimiento (ecuaciones del modelo M|M|1):


ρi L1 ≈ 0,0714; L2 ≈ 0,0204; L3 ≈ 1,0443;
Li = ⇒
1 − ρi

L4 ≈ 0,0731; L5 ≈ 0,8511
Ejemplo (red cíclica)
1
Wi = ⇒ W1 ≈ 0,3571; W2 ≈ 0,3401; W3 = 0,5111;
μi − λi

W4 ≈ 0,3576; W5 ≈ 0,4627

1
Wqi = Wi − ⇒ Wq1 ≈ 0,0238; Wq 2 ≈ 0,0068; Wq 3 ≈ 0,2611;
μi

Wq 4 = 0,0243; Wq 5 ≈ 0,2127
Redes de Jackson
cerradas
Definición
z Una red de colas cerrada se dice que es de
Jackson sii:
z Sólo hay una clase de trabajos
z Los enrutados son probabilísticos, donde rij ≥ 0 es la
probabilidad de ir al nodo j después de haber salido del
nodo i,
z Cada nodo i es una cola .|M|ci
z Hay una cantidad constante M de trabajos en el sistema
z El número total de nodos de la red se notará K
Ecuaciones de equilibrio
z Dado que el flujo total de entrada a un nodo debe
ser igual al flujo total de salida del nodo, tendremos
que:
K
λ = ∑ λ*j rji , ∀i ∈ {1,..., K }
*
i
j =1

z Las K ecuaciones anteriores forman un sistema


lineal indeterminado con un grado de libertad, que
resolveremos para hallar las tasas de llegada
relativas a cada nodo λi*, Para ello fijaremos un
valor positivo arbitrario para una incógnita, por
ejemplo λ1*=1
Análisis del valor medio
z Hallaremos las siguientes medidas de
rendimiento para M tareas en el sistema:
z Li(M)=Número medio de tareas en el nodo i
z Wi(M)=Tiempo medio que cada tarea pasa en el
nodo i cada vez que lo visita
z λi(M)=Tasa real de salidas del nodo i
z Se trata de un algoritmo iterativo que va
calculando Li(m), Wi(m) para valores
crecientes de m a partir de m=0
Análisis del valor medio
z Las ecuaciones son:
1 L j (m − 1)
W j ( m) = + , ∀j ∈ {1,..., K } ∀m ∈ {1,..., M }
μj c jμ j
λ*jW j (m)
L j ( m) = m , ∀j ∈ {1,..., K } ∀m ∈ {1,..., M }
∑ i=1 λ Wi (m)
*
K
i

L j ( m)
λ j ( m) = , ∀j ∈ {1,..., K }∀ m ∈ {1,..., M }
W j ( m)
L j (0) = 0, ∀j ∈ {1,..., K }
Red cerrada
1

2 1 3
0 ,3
1
0,7
4

1
μi = 5 ∀i ∈ {1,2,..,6}
Ejemplo (red cerrada)
z Ecuaciones de equilibrio:
λ1* = λ*3r31 + λ*4 r41; λ*2 = λ1*r12 ;

λ*3 = λ*2 r23 ; λ*4 = λ1*r 14

z En el ejemplo, r12=0,3; r14=0,7; r23=1; r31=1; r41=1; con lo


cual la solución es, tomando λ1*=1:

λ1* = 1; λ*2 = 0,3;


λ*3 = 0,3; λ*4 = 0,7
Ejemplo (red cerrada)
1 + L j ( m − 1)
W j ( m) = , ∀j ∈ {1,...,4}
5
W1 ( m)
L1 ( m) = m
W1 ( m) + 0,3 ⋅ W2 ( m) + 0,3 ⋅ W3 ( m) + 0,7 ⋅ W4 ( m)
0,3 ⋅ W2 ( m)
L2 ( m) = m
W1 ( m) + 0,3 ⋅ W2 ( m) + 0,3 ⋅W3 ( m) + 0,7 ⋅ W4 ( m)
0,3 ⋅ W3 ( m)
L3 ( m) = m
W1 ( m) + 0,3 ⋅ W2 ( m) + 0,3 ⋅W3 ( m) + 0,7 ⋅ W4 ( m)
0,7 ⋅ W4 ( m)
L4 ( m) = m
W1 ( m) + 0,3 ⋅ W2 ( m) + 0,3 ⋅W3 ( m) + 0,7 ⋅ W4 ( m)
Ejemplo (red cerrada)
z Primera iteración:
1 + L j (0)
L j (0) = 0, ∀j ∈ {1,...,4} ⇒ W j (1) = = 0,2 ∀j ∈ {1,...,4}
5
0,2
L1 (1) = 1⋅ ≈ 0,4347
2,3 ⋅ 0,2
0,3 ⋅ 0,2
L2 (1) = 1⋅ ≈ 0,1304
2,3 ⋅ 0, 2
0,3 ⋅ 0,2
L3 (1) = 1⋅ ≈ 0,1304
2,3 ⋅ 0,2
0,7 ⋅ 0,2
L4 (1) = 1⋅ ≈ 0,3043
2,3 ⋅ 0,2
Ejemplo (red cerrada)
m W1(m) W1(m) W1(m) W1(m) L1(m) L2(m) L3(m) L4(m)

0 -- -- -- -- 0 0 0 0

1 0,2 0,2 0,2 0,2 0,4348 0,1304 0,1304 0,3043

2 0,2870 0,2261 0,2261 0,2609 0,9483 0,2241 0,2241 0,6034

3 0,3897 0,2448 0,2448 0,3207 1,5360 0,2895 0,2895 0,8849

4 0,5072 0,2579 0,2579 0,3770 2,1913 0,3343 0,3343 1,1401

5 0,6383 0,2669 0,2669 0,4280 2,9065 0,3646 0,3646 1,3644

6 0,7813 0,2729 0,2729 0,4729 3,6737 0,3850 0,3850 1,5564

7 0,9347 0,2770 0,2770 0,5113 4,4852 0,3987 0,3987 1,7173


Ejemplo (red cerrada)
L
16

14

12 Cola 1

10

4
Cola 4
2
Colas 2 y 3
0
0 2 4 6 8 10 12 14 16 18 20
m
Ejemplo (red cerrada)
W
3.5

Cola 1
2.5

1.5

1
Cola 4
0.5
Colas 2 y 3

0
0 2 4 6 8 10 12 14 16 18 20

m
Ejemplo (red cerrada)
Utilización
del
servidor (%) 100
U=λ/μ=
L/(Wμ) 90
Cola 1

80

70

60 Cola 4
50

40

30

20
Colas 2 y 3
10 m
0 2 4 6 8 10 12 14 16 18 20
Cuellos de botella
z Un cuello de botella en un sistema de colas es un
nodo cuya capacidad de procesamiento determina
el rendimiento de todo el sistema
z Definición: Sea una red de Jackson cerrada.
Diremos que el nodo j es un cuello de botella sii
Lj(m)→∞ cuando m→∞
z En el ejemplo anterior el nodo 1 es un cuello de
botella. Trabaja al límite de su capacidad mientras
que los otros no (se quedan al 30% o al 70%). Para
mejorar el rendimiento global del sistema habría que
aumentar la capacidad de procesamiento del nodo
1

También podría gustarte