Sunteți pe pagina 1din 17

Modelos de colas

Esquema del tema:

Introduccin y conceptos bsicos Componentes y caractersticas de los modelos de colas Procesos de nacimiento y muerte Colas M/M/1 Colas M/M/n Otros tipos de colas

Referencias

Lenguajes de simulacin

2006-2007

Modelos de colas
Sistema de colas: Un sistema en el que los elementos (o usuarios) intentan utilizar un recurso, para lo que llegan a un punto de servicio, esperan a que les corresponda el uso del mismo (en una cola), utilizan dicho recurso y abandonan el sistema. Se pueden considerar varios tipos de problemas de gestin relacionados con los sistemas de colas: Problemas de anlisis Se precisa conocer si, dado un sistema, ste est funcionando correctamente. Problemas de diseo Se quieren disear las caractersticas de un sistema que satisfaga un objetivo global.

Lenguajes de simulacin

2006-2007

Elementos y notacin
Un sistema de colas puede ser descrito en funcin de seis partes: 1.- Proceso de llegada: un proceso estocstico que describe cmo llegan los elementos al sistema desde el mundo exterior. 2.- Proceso de servicio: un proceso estocstico que describe la longitud del tiempo que un servidor dedicar a una tarea. 3.- El nmero de servidores y sus tasas de servicio. 4.- La disciplina de la cola: las reglas mediante las cuales se decide qu trabajo o trabajos servir. Dependiendo de si el servicio es interrumpible o no, esto se puede dar en el momento de finalizacin de un servicio o durante el propio tiempo de servicio. 5.- Capacidad del sitio de espera 6.- Poblacin de posibles usuarios

Lenguajes de simulacin

2006-2007

Notacin de Kendal
Notacin de Kendal A/B/c/n/p A y B representan la distribucin de llegadas y servicios respectivamente, c el nmero de servidores, n la capacidad de sitio de espera y p la poblacin. Si n y p no aparecen se suponen ambos Proceso de llegadas: El smbolo A describe la distribucin los tiempos entre llegadas: D = tiempos fijos entre llegadas M = tiempos entre llegadas aleatorios con distribucin exponencial G = tiempos entre llegadas aleatorios con una distribucin general (distinta de la exponencial). Proceso de servicio: El smbolo B describe la distribucin los tiempos de servicio: D = tiempos de servicio fijos M = tiempos de servicio aleatorios con distribucin exponencial G = tiempos de servicio aleatorios con una distribucin general (distinta de la exponencial).
Lenguajes de simulacin 2006-2007

Componentes
Componentes de un sistema de colas:
Usuarios esperando Proceso de llegada Poblacin de usuarios Servidores
. . .

Proceso de encolado

Salida

Proceso de servicio

Procesos de salida:

Sistema

Salida Llegada

Llegada

Salida

Sistema de colas de un paso

Red de colas

Lenguajes de simulacin

2006-2007

Tipos de colas
llegada salida

1 llegada 2 llegada salida

salida

llegada

p 1 1-p

salida

Lenguajes de simulacin

2006-2007

Caso D/D/1
Determinista, cada usuario sucesivo llega despus de un tiempo prefijado y precisa un tiempo fijo de servicio. Ejemplo, una lnea de ensamblado en la que las piezas llegan a intervalos fijos y el tiempo de procesado es fijo.
ta ts ta ts ta Tiempo

El nmero de elementos en el instante t, N(t), en el sistema vara dependiendo de la relacin que exista ente ta y ts: 1.- Ser 0 2.- Ser 1 3.- Ser 1 4.- Ser t/ ta - t/ ts si ts < ta y n ta + ts < t (n+1) ta para cualquier n si ts < ta y n ta < t n ta + ts si ts = ta si ts > ta

Lenguajes de simulacin

2006-2007

Medidas de prestaciones
Medidas de prestaciones para evaluar un sistema de colas

Fase de transitorio

Fase de estado estacionario

Nmero de usuarios (en orden de llegada)

Tasa de llegadas: Tasa de servicio para un servidor: Utilizacin del servidor: Nmero medio de usuarios en el sistema (longitud): N Longitud media de la cola: Nq Tiempo promedio en el sistema: W Tiempo de espera promedio: Wq Distribucin de probabilidad en el estado estacionario: Pn, n = 0,1,2,
Lenguajes de simulacin 2006-2007

Comprobacin de la ley de Little


T_total = 80 segundos Llegadas 10
T_llegada =1/8

ts 3 7 10 16 35 42 43 60 67 70 6 4 8 5 3 7 4 5 4 4

T_entr_s

T_salida

S_vaco

1 2 3 4 5 6 7 8 9 10

3 9 13 21 35 42 49 60 67 71 80

9 13 21 26 38 49 53 65 71 75

3 0 0 0 9 4 0 7 2 0 5 30 17 T. con dos 2 3 5 0 0 6 0 0 1

Total desocupado Tiempo de residencia 2*17+33 = 67 N. Promedio = 67 / 80 Tiempo promedio = 67 / 10 = 6,7 seg. 67 / 80 = (1/8)*6,7 Ley de Little

7 9 3 10

13 16

21 26

43 35 38 42 49 53 60

71 65 67 70 75
2006-2007

Lenguajes de simulacin

Relaciones entre las medidas de prestaciones

Tiempo medio en el sistema

Tiempo de espera promedio

Tiempo medio de servicio

W = Wq + (1 / )
N. medio de usuarios en el sistema N. medio de llegadas por unidad de tiempo

Tiempo medio en el sistema

N=W

N. N.medio mediode deusuarios usuarios en la en lacola cola

N. N.medio mediode dellegadas llegadas por unidad por unidadde detiempo tiempo

Tiempo Tiempomedio medio en enla lacola cola

Nq = W q

Lenguajes de simulacin

2006-2007

Medidas de prestaciones. Un ejemplo


Supongamos que = 12, = 4, Nq = 3 (no tiene que ser un caso real). Conocido Nq podemos obtener el resto de los ndices de prestaciones.

Wq =

Nq

3 1 = 12 4

W = Wq +

1 1 1 + = 4 4 2
1 =6 2

N = W = 12

Lenguajes de simulacin

2006-2007

Procesos de nacimiento y muerte


El estado de un sistema est dado por el valor de N(t). Un proceso de nacimiento y muerte describe como vara N(t) de manera probabilstica a lo largo de t. Los nacimientos y muertes individuales ocurren de una manera aleatoria y sus tasas medias solo dependen del estado actual del sistema (sin memoria). Hiptesis: 1. 2. 3. Para N(t) = k la distr. del tiempo que queda hasta el siguiente nacimiento es exponencial con parmetro k (k = 0,1,2,...) Para N(t) = k la distr. del tiempo que queda hasta la muerte siguiente es exponencial con parmetro k (k = 0,1,2,...) Slo puede ocurrir un nacimiento o una muerte en cada instante.

Principio de la tasa de entrada = tasa de salida Para cualquier estado del sistema k (k = 0,1,2,...) el nmero medio de ocurrencias de eventos de entrada ha de ser igual que el nmero medio al que ocurren eventos de salida. La ecuacin que lo expresa se llama ecuacin de balance para el estado n.
Lenguajes de simulacin 2006-2007

Procesos de nacimiento y muerte


0 Estado: 0 1 1 2 1 2 3 2 3 n-2 n-1 n-2 n-1 n n-1 n n+1 n n+1

Procesos de nacimiento y muerte.

Sistema caracterizado por k elementos. Los elementos pueden nacer (llegar al sistema) o morir (salir de l). Sea un sistema con k elementos en el instante t y considrese que en un intervalo t slo puede variar su estado en un elemento ms o en uno menos. Por lo tanto para que en t+t haya k elementos es preciso que: - En el instante t hubiera k elementos y no se haya producido ningn cambio. - En el instante t hubiera k-1 elementos y se produjera una llegada. - En el instante t hubiera k+1 elementos y se produjera una salida.
1 P 1 = 0 P 0 0 P0 +2 P2 = (1 +1) P1 1 P1 +3 P3 = (2 +2) P2 n-1 Pn-1 +n+1 Pn+1 = (n +n) Pn
Lenguajes de simulacin 2006-2007
...

ndices de prestaciones
Pk = P0

i =0

k 1

i +1

P0 =

1 1 +
k =1 i = 0 k 1

i i +1

Nmero promedio en el sistema Nmero promedio en la cola Tiempo medio de espera en la cola Tiempo medio de estancia en el sistema
Lenguajes de simulacin

Lq =
L=

(n s) P
n=s
n

nP
n =0

W=

Lq

Wq =

2006-2007

Procesos de nacimiento y muerte (M/M/1)


- Caso de un solo servidor (s = 1) k = k= para k= 0,1,2,... para k= 1,2,...

Estado: 0 1

3 k-2

k-1

k+1

Pk = P0

( ) = P ( )
0 i =0

k 1

P0 = 1+

=1

=1

siendo el factor de utilizacin

Lenguajes de simulacin

2006-2007

Frmulas (M / M / 1)
Medidas de prestaciones Factor de utilizacin Nmero promedio en la cola Tiempo medio de espera en la cola Tiempo medio de espera en el sistema Frmula general
=
Nq =

2 1
=
1

Wq =

Nq

(1 )
= 1 (1 )

W = Wq +

Lenguajes de simulacin

2006-2007

Frmulas (M / M / 1)(continuacin)
Medidas de prestaciones Nmero promedio en el sistema Probabilidad de que no haya usuarios en el sistema Frmula general
N = W =

P0 = 1

Probabilidad de que un usuario que llega tenga que esperar Pw = 1 P0 Probabilidad de n usuarios en el sistema
Pn = n P0 = n (1 )

Lenguajes de simulacin

2006-2007

Ejemplo (M / M / 1)
Factor de utilizacin (): = / = 60 / 66 = 0.9091 Prob.(no haya usuarios en el sistema) (P0): P0 = 1 - = 1 0.9091 = 0.0909 N. promedio en la cola (Nq): Nq = 2 / (1 - ) = 9.0909 Tiempo medio de espera en la cola (Wq): Wq = Nq / = 9.0909 / 60 = 0.152 Tiempo medio de espera en el sistema (W): W = Wq + 1 / = 0.1667 N. promedio en el sistema (N): N = W = 60 0.1667 = 10 Prob.(un usuario que llega tenga que esperar) (Pw): Pw = 1 - P0 = = 0.9091 Prob.(n usuarios en el sistema) (Pn): Pn = n P0

n pn
Lenguajes de simulacin

0 0.0909

1 0.0826

2 0.0751

3 0.0683


2006-2007

Procesos de nacimiento y muerte


- Caso de varios servidores (m > 1) k= k = k m 1 2 2 3 para k= 0,1,2,... para k= 1,2,...,m-1 para k= m, m+1, m+2,... 3 n-2 m n-1 m n m n+1

Estado: 0

m-1 Pk = P0 ( /((i+1) )) = P0 ( / ) k(1/k!) i=0 m-1 k-1 Pk = P0 ( /((i+1) )) ( /(m)) = P0 ( / ) k(1/(m! mk-m)) i=0 i=m

para k= 1,2,...,m-1

para k= m, m+1, m+2,...

Lenguajes de simulacin

2006-2007

Frmulas (M / M / c)
Medidas de prestaciones Factor de utilizacin del servidor Probabilidad de que no haya usuarios P0 = en el sistema Frmula general
=
1 (c ) n! n=0
c 1 n

1 c 1 ( ) + c 1 c !

Nmero promedio en la cola

( c ) c +1 P0 Nq = c (c ) ! (1 ) 2

Lenguajes de simulacin

2006-2007

Frmulas (M / M / c)(continuacin)
Medidas de prestaciones Tiempo medio de espera en la cola Tiempo medio de espera en el sistema Frmula general

Wq =

Nq

W = Wq +

Nmero promedio en el sistema

(c ) c +1 P0 N = c + c (c ) !(1 ) 2

= W

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (1)


Sala de urgencias de un hospital. Los tiempos entre llegadas y los tiempos de servicio se ajustan a una distribucin exponencial. Llegadas = un paciente cada media hora, Tiempo de servicio = 20 minutos, = 2 clientes/hora = 3 clientes/hora

Alternativas a considerar, uno o dos servidores (s = 1 o s = 2). Resultados P0 P1 Nq N Wq W 2/3 1/3 2/9 4/3 2 2/3 1 1/3 1/2 1/3 1/12 3/4 1/24 3/8

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (2)


Utilizacin (): = / c = 70 / (2 40) = 0.875 Prob.(no haya usuarios en el sistema) (P0):
P0 = 1 (c ) n! n =0
c 1 n

c 1 1 c ! + (c ) 1 c 1 (c ) n (c ) 0 (c )1 (c ) c 1 1.750 1.751 = + + L + = + = 1 + 1.75 = 2.75 0! 1! (c 1) ! 0! 1! n! n =0


(c ) c 1 1.752 1 = = 1.53125 8 = 12.25 2 ! 1 0.875 c ! 1

P0 =

1 1 = = 0.06667 2.75 + 12.25 15

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (3)


Nmero promedio en la cola (Nq):
Nq =
=

(c ) c +1 P0 c (c ) !(1 ) 2
1.753 1 0.06667 2 2 ! (1 0.875)2

= 1.3398 64 0.06667 = 5.7168

Wq = N q / = 5.7168 / 70 = 0.08167 Tiempo medio de espera en la cola (Wq): Tiempo medio de espera en el sistema (W):

W = Wq + (1 / ) = 0.08167 + 1 / 40 = 0.10667

Nmero promedio en el sistema (N):

N = W = 70 0.10667 = 7.4669

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (4)


Descripcin del problema:
La planta tiene un gran nmero de mquinas que se atascan con frecuencia. Las mquinas son reparan con una disciplina FIFO por uno de los siete operarios disponibles para las reparaciones. Se ha observado que un promedio de 10 a 12 mquinas estn sin funcionar en cualquier instante de tiempo debido a los atascos. Parece claro que la contratacin de ms personal reducira el numero de mquinas atascadas. Cuntas personas deberan contratarse?

Modelado del sistema actual:


El nmero de personas dedicadas actualmente a la reparacin es 7 (c = 7). La ocurrencia de mquinas atascadas se puede considerar un proceso de Poisson con una tasa promedio de 25 por hora ( = 25). Cada mquina atascada precisa de una cantidad aleatoria de tiempo para su reparacin que se puede aproximar mediante una distribucin exponencial con un tiempo de servicio promedio de 15 minutos, lo que supone una tasa de 4 mquinas por hora ( = 4).

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (5)


Datos y prestaciones
Nmero de usuarios idnticos Tasa media de llegadas Tasa media de servicio por servidor Utilizacin media del servidor (%) Nmero esperado de mquinas en la cola Nmero esperado de mquinas en el sistema Probabilidad de que una mquina deba esperar Tiempo esperado en la cola Tiempo esperado en el sistema 7 25.0 4.0 89.2857 5.8473 12.0973 0.7017 0.2339 0.4839

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (6)

cs = coste por servidor por unidad de tiempo = $50/hora cw = coste por unidad de tiempo para un usuario esperando en el sistema = $100/hora por prdida de produccin, etc. N = nmero promedio de usuarios en el sistema
Coste total = coste de la plantilla + coste de espera

= cs c + cw N
= 50 7 + 100 12.0973 = $1559.73 por hora

Lenguajes de simulacin

2006-2007

Ejemplo M/M/c (7)


Tamao de la plantilla

N. esperado en el sistema 12.0973 7.7436 6.7863 6.7594 6.3330

Coste por hora ($) 50 7 + 100 12.0973 = 1559.73 50 8 + 100 7.7436 = 1174.36 50 9 + 100 6.7863 = 1128.63 50 10 + 100 6.4594 = 1145.94 50 11 + 100 6.3330 = 1183.30

7 8 9 10 11
1800 1600 1400 1200 1000 800 600 400 200 0 7

Coste de plantilla Coste de espera Coste total

10

11

Lenguajes de simulacin

2006-2007

Frmulas (M / M / 1/ K)
Medidas de prestaciones Factor de utilizacin del servidor Probabilidad de que no haya usuarios en el sistema Probabilidad de que haya k usuarios Frmula general
=

P0 =

K +1

Pk = P0 ( ) k =

K +1

( )k

Nmero promedio en el sistema N = kPk =


k =0

1+

( K + 1) 1

K +1

K +1

El resto de las medidas se pueden deducir a partir de N


Lenguajes de simulacin 2006-2007

Sistema (M / M / 1). Ejemplo


El trfico de un centro de conmutacin de mensajes, llega de acuerdo con una distribucin de Poisson, con un promedio de 240 mensajes por minuto. La lnea tiene una velocidad de transmisin de 800 bytes por segundo. La longitud del mensaje es aleatoria con una distribucin exponencial de media 176 bytes. a) Calcular las medidas de prestaciones del sistema desde el punto de vista del usuario suponiendo que existe un nmero elevado de buffers para los mensajes.
= 240 mensajes / minuto = 4 mensajes / segundo
S= 1 = 176 bytes = 0,22 segundos 800 bytes / seg

Considerando que es una cola M/M/1 y aplicando las frmulas correspondientes se obtiene: = = 0,88

N 7,33 mensajes Q 6,45 mensajes


Lenguajes de simulacin

T 1,83 segundos W 1,61 segundos


2006-2007

Sistema (M / M / 1/ K). Ejemplo


b) Supuesto que no hay suficientes buffers cuntos hay que colocar para que la probabilidad de que todos estn llenos en un determinado momento sea menor que 0,005?. Calcular los ndices de prestaciones para esta nueva situacin.
1

Pk =

K +1

( ) k < 0,005

Pk Pk
Pk
N 6,54
N q 5,57
Lenguajes de simulacin

k = 25 k = 26

0,005095 0,004464

k = 26

0,004464 < 0,005 K = 26

mensajes mensajes

W 1,63
W q 1,40

segundos segundos

2006-2007

Caso M/G/1
Medidas de prestaciones Factor de utilizacin del servidor Probabilidad de que no haya usuarios en el sistema Nmero promedio en el sistema Tiempo medio de espera en el sistema Tiempo medio de espera en la cola Nmero promedio en la cola
N =+ W = 1 +

Frmula general
=

P0 = 1

2 (1 + 2 2 ) 2 (1 )

2 (1 + 2 2 ) 2 (1 )
2 (1 + 2 2 ) 2(1 ) 2 (1 + 2 2 ) 2(1 )
2006-2007

(En algunos textos estas dos primeras frmulas se conocen como de Pollaczek-Kintchine)

Wq = W 1 = N q = W q =

Lenguajes de simulacin

Referencias
Las referencias bsicas para este captulo son: Banks, Carson, Nelson, Nicol. Discrete event system simulation (third edition). En el captulo 6 hay una descripcin de los modelos bsicos de colas. http://www.bcnn.net Law and Kelton. Simulation Modeling and Analysis (third edition). No hay un captulo especfico dedicado a la revisin de los modelos de colas. http://www.mhhe.com/lawkelton

J.J. Pazos Arias, A. Surez Gonzlez, R. P. Daz Redondo. Teora de Colas y Simulacin de Eventos Discretos. Pearson 2003. Casi todo el libro est dedicado a modelos de colas, incidiendo ms en los modelos analticos que en los de simulacin.

Lenguajes de simulacin

2006-2007

S-ar putea să vă placă și