You are on page 1of 27

COMUNICACIN DE DATOS

TEORIA DE COLAS
RAFAEL AUQUI
1

Contenido
Tablas ............................................................................................................................................ 2
Tema .............................................................................................................................................. 3
Objetivos ....................................................................................................................................... 3
Objetivo General ....................................................................................................................... 3
Objetivos Especficos ................................................................................................................. 3
Marco terico ................................................................................................................................ 3
Descripcin de un sistema de colas .......................................................................................... 3
Caractersticas ....................................................................................................................... 3
Notacin de Kendall .................................................................................................................. 5
Medidas de rendimiento ........................................................................................................... 6
Datos a recoger en un sistema de colas .................................................................................... 7
Cola M | M | 1 ........................................................................................................................... 7
Descripcin del modelo ......................................................................................................... 7
Condicin de no saturacin ................................................................................................... 7
Probabilidades ....................................................................................................................... 8
Medidas de rendimiento ....................................................................................................... 8
Teorema de Little ...................................................................................................................... 9
Cola M | M | c ......................................................................................................................... 10
Descripcin del modelo ....................................................................................................... 10
Condicin de no saturacin ................................................................................................. 10
Probabilidades ..................................................................................................................... 10
Medidas de rendimiento ..................................................................................................... 10
Cola M | M | 1 | k ................................................................................................................... 11
Descripcin del modelo ....................................................................................................... 11
No saturacin ...................................................................................................................... 11
Probabilidades ..................................................................................................................... 11
Medidas de rendimiento ..................................................................................................... 12
Redes de colas ......................................................................................................................... 12
Tipos de redes de colas ....................................................................................................... 12
Redes de Jackson abiertas ....................................................................................................... 13
Definicin ............................................................................................................................ 13
Ecuaciones de equilibrio ..................................................................................................... 13
Condicin de no saturacin ................................................................................................. 14
2

Teorema de Jackson para redes abiertas ............................................................................ 14
Redes de Jackson cerradas ...................................................................................................... 15
Definicin ............................................................................................................................ 15
Ecuaciones de equilibrio ..................................................................................................... 15
Anlisis del valor medio ...................................................................................................... 15
Cuello de botella ..................................................................................................................... 16
Definicin ............................................................................................................................ 16
Teorema de Jackson para redes abiertas ............................................................................ 16
Algoritmos en MATLAB ............................................................................................................... 17
MM1 Cdigo en matlab ....................................................................................................... 17
Graficas obtenidas ............................................................................................................... 19
Algoritmo para anlisis de la red cerrada (ejemplo diapositiva 85-92) .............................. 21
Conclusiones ............................................................................................................................... 25
Recomendaciones ....................................................................................................................... 26
Bibliografa .................................................................................................................................. 26

Ilustraciones
Ilustracin 1 Un sistema de cola bsico ........................................................................................ 3
Ilustracin 2 Sistema de cola multicanal ....................................................................................... 5
Ilustracin 3 Sistema multietapa con retroalimentacin .............................................................. 5
Ilustracin 4 Red abierta acclica ................................................................................................. 13
Ilustracin 5 Red cerrada ............................................................................................................ 13
Ilustracin 6 Numero promedio de clientes ............................................................................... 20
Ilustracin 7 Promedio de retrasos en sistema ........................................................................... 20
Ilustracin 8 Diagrama de utilizacin .......................................................................................... 21
Ilustracin 9 Ejercicio red cerrada, diapositiva 85 ...................................................................... 21
Tablas
Tabla 1 Simbologa de la notacin ................................................................................................ 6






3

Tema
Teora de colas
Objetivos
Objetivo General
Simular un sitema de colas simple mediante el software MATLAB.
Objetivos Especficos
- Establecer diferencias entre los distintos modelos de colas simples.
- Simular el sistema de cola simple M | M | 1.
- Desarrollar el ejercicio ejemplo de las diapositiva N 92 de las diapositivas guias
mediante matlab.
Marco terico
Descripcin de un sistema de colas
Un sistema de colas se puede describir como: clientes que llegan buscando un servicio,
esperan si este no es inmediato, y abandonan el sistema una vez han sido atendidos. En
algunos casos se puede admitir que los clientes abandonan el sistema si se cansan de esperar.
El trmino cliente se usa con un sentido general y no implica que sea un ser humano, puede
significar piezas esperando su turno para ser procesadas o una lista de trabajo esperando para
imprimir en una impresora en red.

Ilustracin 1 Un sistema de cola bsico
Aunque la mayor parte de los sistemas se puedan representar como en la ilustracin 1, debe
quedar claro que una representacin detallada exige definir un nmero elevado de
parmetros y funciones.
Caractersticas
Se cuenta con seis caractersticas bsicas que se deben utilizar para describir
adecuadamente un sistema de colas:
- Patrn de llegada de los clientes
- Patrn de servicio de los servidores
- Disciplina de cola
- Capacidad del sistema
- Nmero de canales de servicio
- Nmero de etapas de servicio
4

Patrn de llegada de los clientes
En situaciones de cola habituales, la llegada es estocstica, es decir la llegada
depende de una cierta variable aleatoria, en este caso es necesario conocer la
distribucin probabilstica entre dos llegadas de cliente sucesivas. Adems habra
que tener en cuenta si los clientes llegan independiente o simultneamente. En
este segundo caso (es decir, si llegan lotes) habra que definir la distribucin
probabilstica de stos.
Tambin es posible que los clientes sean impacientes. Es decir, que lleguen a la
cola y si es demasiado larga se vayan, o que tras esperar mucho rato en la cola
decidan abandonar.
Por ltimo es posible que el patrn de llegada vare con el tiempo. Si se mantiene
constante le llamamos estacionario, si por ejemplo vara con las horas del da es
no-estacionario.
Patrones de servicio de los servidores
Los servidores pueden tener un tiempo de servicio variable, en cuyo caso hay que
asociarle, para definirlo, una funcin de probabilidad. Tambin pueden atender en
lotes o de modo individual.
El tiempo de servicio tambin puede variar con el nmero de clientes en la cola,
trabajando ms rpido o ms lento, y en este caso se llama patrones de servicio
dependientes. Al igual que el patrn de llegadas el patrn de servicio puede ser
no-estacionario, variando con el tiempo transcurrido
Disciplina de cola
La disciplina de cola es la manera en que los clientes se ordenan en el momento de
ser servidos de entre los de la cola. Cuando se piensa en colas se admite que la
disciplina de cola normal es FIFO. Sin embargo en muchas colas es habitual el uso
de la disciplina LIFO (atender primero al ltimo). Tambin es posible encontrar
reglas de secuencia con prioridades, como por ejemplo secuenciar primero las
tareas con menor duracin o segn tipos de clientes.
En cualquier caso dos son las situaciones generales en las que trabajar. En la
primera, llamada en ingls preemptive, si un cliente llega a la cola con una orden
de prioridad superior al cliente que est siendo atendido, este se retira dando paso
al ms importante. Dos nuevos subcasos aparecen: el cliente retirado ha de volver
a empezar, o el cliente retorna donde se haba quedado. La segunda situacin es la
denominada no-preemptive donde el cliente con mayor prioridad espera a que
acabe el que est siendo atendido.
Capacidad del sistema
En algunos sistemas existe una limitacin respecto al nmero de clientes que
pueden esperar en la cola. A estos casos se les denomina situaciones de cola
finitas. Esta limitacin puede ser considerada como una simplificacin en la
modelizacin de la impaciencia de los clientes.
5

Nmero de canales del servicio
Es evidente que es preferible utilizar sistemas multiservidos con una nica lnea de
espera para todos que con una cola por servidor. Por tanto, cuando se habla de
canales de servicio paralelos, se habla generalmente de una cola que alimenta a
varios servidores mientras que el caso de colas independientes se asemeja a
mltiples sistemas con slo un servidor.
En la ilustracin 1 se dibuj un sistema mono-canal, en la ilustracion2 se presenta
dos variantes de sistema multicanal. El primero tiene una sola cola de espera,
mientras que el segundo tiene una sola cola para cada canal.

Ilustracin 2 Sistema de cola multicanal
Etapas de servicio
Un sistema de colas puede ser unietapa o multietapa. En los sistemas multietapa
el cliente puede pasar por un nmero de etapas mayor que uno. Una peluquera
es un sistema unietapa, salvo que haya diferentes servicios (manicura, maquillaje)
y cada uno de estos servicios sea desarrollado por un servidor diferente.
En algunos sistemas multietapa se puede admitir la vuelta atrs o reciclado,
esto es habitual en sistemas productivos como controles de calidad y reprocesos.

Ilustracin 3 Sistema multietapa con retroalimentacin
Notacin de Kendall
Para representar los problemas de puede hacerse uso de 6 smbolos separados por barras.
A / B / X /Y / Z /V
- A: indica la distribucin de tiempo entre llegadas consecutivas (modelo de llegadas)
- B: alude al patrn de servicio de servidores, puede tomar los mismos valores de A
(modelo de servicios)
- X: es el nmero de canales de servicio (servidores)
- Y: es la restriccin en la capacidad del sistema (numero mximos de clientes en el
sistema)
- Z: es la disciplina de cola. Se puede omitir si es FIFO
- V: es el nmero de estados de servicio, Se puede omitir si es 1
En la siguiente tabla se indican los smbolos ms ocupados:
6

Tabla 1 Simbologa de la notacin

El smbolo G representa una distribucin general de probabilidad, es decir, que el modelo
presentado y sus resultados son aplicables a cualquier distribucin estadstica (siempre que
sean Variables IID- Independientes e Idnticamente Distribuidas).
es FIFO, no se suelen
incorporar dichos smbolos en la notacin as:
M/D/3 es equivalente a M/D/3//FIFO
Significa que los clientes entran segn una distribucin exponencial, se sirven de manera
determinista con tres servidores sin limitacin de capacidad en el sistema y siguiendo una
estrategia FIFO de servicio.
La notacin anteriormente representada, por general, deja demasiados casos por resolver,
pero es suficiente para los casos ms importantes.
Medidas de rendimiento
La tarea de un analista de colas puede ser de dos tipos:
- Establecer mecanismos para medir la efectividad del sistema o
- Disear un sistema ptimo (de acuerdo a algn criterio).
Disear eficientemente consiste, bsicamente, en definir un sistema cuyo coste (de diseo y
operacin) se justifique por el servicio que da. Dicho servicio se puede evaluar mediante el
coste de no darlo. De este modo al disear se pretende minimizar unos supuestos costes
totales.
A partir de los datos que nos suministra la teora de colas se puede obtener la informacin
necesaria para definir el nmero de asientos necesarios en una sala de espera, o la estructura
de etapas de un proceso de atencin al cliente.
En cualquier caso, para poder tomar decisiones hacen falta datos que la teora de colas puede
dar en alguno de los siguientes aspectos:
- L: Nmero medio de clientes en el sistema
7

- W: Tiempo medio de espera de los clientes
- L
q
: Nmero medio de clientes en la cola
- W
q
:Tiempo medio de espera en cola de los clientes,
Datos a recoger en un sistema de colas
A priori se puede pensar que el mtodo ms adecuado para recoger datos al analizar un
sistema es establecer una plantilla y recoger los datos sobre el sistema cada cierto tiempo.
Esta tcnica es orientada al tiempo
Es mejor, sin embargo, utilizar una tcnica de recogida de informacin asociada a eventos. La
informacin se recoge cuando algo ocurre
En una cola convencional los nicos datos a recoger son:
cada cunto llega un cliente
cunto se tarda en servir a cada cliente
No es necesario recoger ms informacin para, a partir de las relaciones expuestas en el
apartado anterior, definir cualquier medida de efectividad.
Cola M | M | 1
Descripcin del modelo
Una cola M/M/1 tiene un nico servidor y las tasas de llegada y de servicio siguen una
distribucin de Poisson, siendo por tanto:
La tasa de llegada es a(t)=


La tasa de salida es a(t)=


La disciplina ser FIFO, las llegadas se producen segn un proceso de Poisson de razn ,
donde es el nmero medio de llegadas por unidad de tiempo y 1/ es el tiempo medio entre
llegadas, Los tiempos entre llegadas se distribuirn exponencialmente, Exp()
Los tiempos entre servicios tambin se distribuirn exponencialmente, Exp(), de tal manera
que es el nmero medio de clientes que el servidor es capaz de atender por unidad de
tiempo y 1/ es el tiempo medio de servicio

Condicin de no saturacin
Si >, el sistema se satura, es decir, el nmero de clientes en la cola crece indefinidamente
con el tiempo, Por consiguiente, la condicin de no saturacin ser:

Cuando una cola no se satura, tambin se dice que alcanza el estado estacionario.

= < donde , 1
8

Probabilidades
El parmetro se llama carga, flujo o intensidad de trfico del sistema, puesto que mide la
relacin entre la cantidad de trabajos que llegan y la capacidad de procesarlos
Suponiendo que el sistema no se satura, se deduce la siguiente frmula para las
probabilidades p
n
de que haya n clientes en el sistema, donde neN:

Medidas de rendimiento
El nmero medio de clientes en el sistema, L, se calcula as:


Sumamos la serie aritmtico geomtrica:





La utilizacin del dependiente, notada U, es la fraccin de tiempo (en tanto por uno) que el
dependiente permanece ocupado, Para hallarla, nos valemos de que cuando no hay
saturacin, el nmero medio de clientes que entran en el sistema debe ser igual al nmero
medio de clientes que salen de l:

Como para deducir la anterior frmula no hemos usado ninguna caracterstica especial del
modelo de entrada ni del de salida, dicha frmula es vlida para colas G | G | 1.
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
n
n
p
( ) ( )


=

=
= = =
0 0 0
1 1
j
j
j
j
j
j
j j p j L
... 4 3 2
4 3 2
+ + + + = S
... 3 2
4 3 2
+ = S
( )

= + + + + =
1
... 1
4 3 2
S
( )
( )

=
1 1
1
2
L

= = = U U
( )

1 1 1 1
1
0 0 0
+ = + = + =


=

=
L
p p j p j W
j
j
j
j
j
j

Tiempo que se
pasa en el sistema
si hay j por delante
al llegar
Probabilidad de
que haya j por
delante al llegar
9


Se puede simplificar algo ms, obteniendo:


El tiempo medio de espera en la cola W
q
se hallar restando a W el tiempo que tarda en ser
servido el trabajo (esto es vlido para cualquier tipo de cola):


Particularmente para una cola M|M| 1, se tiene:


El nmero medio de trabajos en la cola L
q
, se calcula restndole a L el nmero medio de
trabajos que estn siendo servidos:

Probabilidad de que un cliente que llega pase ms de t unidades de tiempo en el sistema:

Probabilidad de que un cliente que llega pase ms de t unidades de tiempo en la cola:

Teorema de Little
Sea un sistema de colas con cualquier distribucin de llegadas y servicios y cualquier
estructura, Sean L el nmero de trabajos presentes en el sistema en el estado estacionario, W
es tiempo medio de respuesta en el estado estacionario y la razn de llegadas al sistema,
Entonces:

Si aplico el teorema a la cola, dejando fuera del sistema al servidor, obtengo el siguiente
resultado, tambin muy til:


Las dos frmulas obtenidas nos sirven para ayudarnos a obtener los valores de las medidas de
rendimiento, aunque necesitaremos otras ecuaciones para poder conseguir resultados
explcitos.

= + =
1 1 L
W

1
=W W
q

=
q
W
( )

= = =
1 1
1
2
0
L p L L
q
( )
W t
e t W
/
=
( )
W t
q
e t W
/
=
10

Cola M | M | c
Descripcin del modelo

Hay una sola cola, cuya capacidad es infinita, y c servidores, La disciplina ser FIFO, las llegadas
se producen segn un proceso de Poisson de razn , donde es el nmero medio de llegadas
por unidad de tiempo y 1/ es el tiempo medio entre llegadas, Los tiempos entre llegadas se
distribuirn exponencialmente, Exp()
Los tiempos de servicio tambin se distribuirn exponencialmente, Exp(), de tal manera que
es el nmero medio de clientes que cada servidor es capaz de atender por unidad de tiempo
y 1/ es el tiempo medio de servicio.

Condicin de no saturacin
Se demuestra que si >c, el sistema se satura, es decir, el nmero de clientes en la cola crece
indefinidamente con el tiempo, Por consiguiente, la condicin de no saturacin ser:


Cuando una cola no se satura, tambin se dice que alcanza el estado estacionario.

Probabilidades
Suponiendo que el sistema no se satura, se deduce la siguiente frmula para las
probabilidades p
n
de que haya n clientes en el sistema, donde neN:



Medidas de rendimiento
El nmero medio de clientes en el sistema, L, se calcula as:


Por otra parte tenemos:


c
donde = < , 1
( )

=
=
caso otro en ,
!
,..., 1 , 0 si ,
!
0
0
p
c
c
c n p
n
c
p
n c
n
n

( )
( )
1
1
0
0
! 1 !

=
|
|
.
|

\
|
+

=

c
n
n c c
n
c
c
c
p

( )
2
0
1
1 !

=
+
c
p c
L
c c
q
11


Nmero medio de servidores ocupados, S, En el estado estacionario, la razn de las salidas
ser igual a la razn de las llegadas:


Probabilidad de que un trabajo tenga que esperar para recibir su servicio (frmula de retraso
de Erlang):


Cola M | M | 1 | k
Descripcin del modelo
Hay una sola cola, cuya disciplina ser FIFO, La capacidad del sistema es limitada, de tal modo
que slo puede haber k clientes como mximo en el sistema, Por lo tanto, el nmero mximo
de clientes en la cola es k1, Si un cliente llega y el sistema est lleno, es rechazado y nunca
ms regresa
Las llegadas se producen segn un proceso de Poisson de razn , Los tiempos entre llegadas
se distribuirn exponencialmente, Exp()
Los tiempos entre servicios tambin se distribuirn exponencialmente, Exp(), de tal manera
que es el nmero medio de clientes que el servidor es capaz de atender por unidad de
tiempo
No saturacin
El sistema nunca se satura, ya que la capacidad es limitada
Probabilidades
Se deduce la siguiente frmula para las probabilidades p
n
de que haya n clientes en el sistema,
donde ne{0, 1, 2, , k}:



El valor de determina cmo varan los p
n
:
- Si <1, los estados ms probables son los de menor nmero de clientes, porque la
oferta de servicio supera a la demanda
- Si >1, los estados ms probables son los de mayor nmero de clientes, porque la
demanda de servicio supera a la oferta

c S S = = =
( )

=
1 !
0
c
p c
q
c c
( )

=
+
=


=
+
1 si ,
1 k
1
1 si ,
1
1
1


k
n
n
p
12

- Si =1, todos los estados son equiprobables, Podemos llegar a la frmula del caso
=1 aplicando la regla de LHpital al lmite para 1 de la frmula del caso =1
Si hacemos k, llegamos al modelo M | M | 1

Medidas de rendimiento
Tasa efectiva de llegadas,
ef
, Es el nmero medio de clientes admitidos al sistema por unidad
de tiempo de entre los que intentan entrar (
ef
<):

Nmero medio de clientes en el sistema (este valor siempre debe ser inferior a k):



Se puede obtener las dems medidas de rendimiento mediante razonamientos ya vistos,
teniendo en cuenta que la tasa efectiva de llegadas al sistema es
ef
:



Redes de colas
Una red de colas es un sistema donde existen varias colas y los trabajos van fluyendo de una
cola a otra, por ejemplo:
- Fabricacin (trabajos=artculos)
- Oficinas (trabajos=documentos)
- Redes de comunicaciones (trabajos=paquetes)
- Sistemas operativos multitarea (trabajos=tareas)
Tipos de redes de colas
Se distinguen dos tipos de redes de colas:
Abiertas
Cada trabajo entra al sistema en un momento dado, y tras pasar por una o ms colas,
sale del sistema, Dos subtipos:
Acclicas: Un trabajo nunca puede volver a la misma cola (no existen
ciclos)
Cclicas: Hay bucles en la red
( )
k ef
p = 1
( )

=
=

=
+
+
1 si ,
2
1 si ,
1
1
1
1
1

k
k
L
k
k
W L
ef
=
q ef q
W L =

1
+ =
q
W W
13


Ilustracin 4 Red abierta acclica
Cerradas
Los trabajos ni entran ni salen del sistema, Por lo tanto permanecen circulando por el
interior del sistema indefinidamente, Usualmente existe un nmero fijo de trabajos.

Ilustracin 5 Red cerrada
Redes de Jackson abiertas
Definicin
Una red de colas abierta se dice que es de Jackson si:
Slo hay una clase de trabajos
Los enrutados son probabilsticos, donde r
ij
> 0 es la probabilidad de ir al
nodo j despus de haber salido del nodo i, Por otro lado, r
i0
es la
probabilidad de abandonar del sistema despus de haber salido del nodo i,
donde r
i0
= 1
j
r
ij

Cada nodo i es una cola .M|M|c
i

La tasa de llegadas externas al nodo i se notar
i

El nmero total de nodos de la red se notar K
Ecuaciones de equilibrio
Dado que el flujo total de entrada a un nodo debe ser igual al flujo total de salida del nodo,
tendremos que:


{ }
1
, 1,...,
K
i i j ji
j
r i K
=
= + e

14

Las K ecuaciones anteriores forman un sistema lineal con solucin nica, que resolveremos
para hallar las tasas de llegada a cada nodo
i

Condicin de no saturacin
Para que ninguna de las colas del sistema se sature, es preciso que se cumpla la siguiente
condicin:


Se trata de la condicin de no saturacin del modelo M|M|c, aplicada a cada uno de los nodos
por separado.

Teorema de Jackson para redes abiertas
Sea una red de Jackson abierta que cumple la condicin de no saturacin, Entonces en el
estado estacionario, la distribucin del nmero de clientes en cada nodo es la que sigue:


Donde p
i
(n
i
) es la probabilidad de que haya n
i
clientes en el nodo i, calculada segn las
ecuaciones del modelo M|M|c.
Consecuencia
Corolario: Las medidas de rendimiento para cada nodo se calculan segn las ecuaciones del
modelo M|M|c, Adems se tendrn las siguientes medidas:
Tasa global de salidas del sistema (throughput), que es el nmero medio de trabajos que salen
del sistema por unidad de tiempo, Coincide con el nmero de trabajos que entran en el
sistema:


Nmero medio de trabajos en el sistema, L
red
, que es la suma de los nmero medios de
trabajos en cada uno de los nodos:


Tiempo medio en el sistema, W
red
, que es el tiempo medio que pasa una tarea desde que entra
en la red hasta que sale de ella:

{ }
i i
i
i i
c
donde K i

= < e , 1 , ,..., 2 , 1
1
1
( ) ( ), , , 0
K
i i K
i
p p n n n
=
= >
[
n

=
=
K
i
i red
1

=
=
K
i
i red
L L
1
red
red
red
L
W

=
15


Razn de visitas al nodo i, V
i
, que es el nmero medio de veces que un trabajo visita el nodo i
desde que entra en la red hasta que sale:


En una red acclica habr de cumplirse que V
i
s1 ie{1,2,,,,,K}, ya que cada tarea visitar cada
nodo a lo sumo una vez.
Redes de Jackson cerradas
Definicin
Una red de colas cerrada se dice que es de Jackson si:
Slo hay una clase de trabajos
Los enrutados son probabilsticos, donde r
ij
> 0 es la probabilidad de ir al nodo j
despus de haber salido del nodo i,
Cada nodo i es una cola .M|M|c
i

Hay una cantidad constante M de trabajos en el sistema
El nmero total de nodos de la red se notar K
Ecuaciones de equilibrio
Dado que el flujo total de entrada a un nodo debe ser igual al flujo total de salida del nodo,
tendremos que:


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 incgnita, por ejemplo
1
*=1
Anlisis del valor medio
Las siguientes medidas de rendimiento para M tareas en el sistema:
L
i
(M)=Nmero medio de tareas en el nodo i
W
i
(M)=Tiempo medio que cada tarea pasa en el nodo i cada vez que lo visita

i
(M)=Tasa real de salidas del nodo i
Se hallan mediante las siguientes ecuaciones:


{ }
red
i
i
V K i

= e , ,..., 2 , 1
{ }
* *
1
, 1,...,
K
i j ji
j
r i K
=
= e

{ } { }
{ } { }
*
*
1
( 1)
1
( ) , 1,..., 1,...,
( )
( ) , 1,..., 1,...,
( )
j
j
j j j
j j
j K
i i
i
L m
W m j K m M
c
W m
L m m j K m M
W m
=

= + e e

= e e

16






Se trata de un algoritmo iterativo que va calculando L
i
(m), W
i
(m) para valores crecientes de m
a partir de m=0
Cuello de botella

Un cuello de botella en un sistema de colas es un nodo cuya capacidad de procesamiento
determina el rendimiento de todo el sistema
Definicin
Sea una red de Jackson cerrada. Diremos que el nodo j es un cuello de botella si L
j
(m)
cuando m
En el ejemplo anterior el nodo 1 es un cuello de botella. Trabaja al lmite de su capacidad
mientras que los otros no (se quedan al 30% o al 70%). Para mejorar el rendimiento global del
sistema habra que aumentar la capacidad de procesamiento del nodo 1

Teorema de Jackson para redes abiertas
Sea una red de Jackson abierta que cumple la condicin de no saturacin, Entonces en el
estado estacionario, la distribucin del nmero de clientes en cada nodo es la que sigue:


Donde p
i
(n
i
) es la probabilidad de que haya n
i
clientes en el nodo i, calculada segn las
ecuaciones del modelo M|M|c.
Consecuencia
Corolario: Las medidas de rendimiento para cada nodo se calculan segn las ecuaciones del
modelo M|M|c, Adems se tendrn las siguientes medidas:
Tasa global de salidas del sistema (throughput), que es el nmero medio de trabajos que salen
del sistema por unidad de tiempo, Coincide con el nmero de trabajos que entran en el
sistema:


1
1
( ) ( ), , , 0
K
i i K
i
p p n n n
=
= >
[
n

=
=
K
i
i red
1

{ } { }
( )
( ) , 1,..., 1,...,
( )
j
j
j
L m
m j K m M
W m
= e e
{ } (0) 0, 1,...,
j
L j K = e
17

Nmero medio de trabajos en el sistema, L
red
, que es la suma de los nmero medios de
trabajos en cada uno de los nodos:


Tiempo medio en el sistema, W
red
, que es el tiempo medio que pasa una tarea desde que entra
en la red hasta que sale de ella:


Razn de visitas al nodo i, V
i
, que es el nmero medio de veces que un trabajo visita el nodo i
desde que entra en la red hasta que sale:


En una red acclica habr de cumplirse que V
i
s1 ie{1,2,,,,,K}, ya que cada tarea visitar cada
nodo a lo sumo una vez.
Algoritmos en MATLAB
MM1 Cdigo en matlab
El siguiente cdigo implementado en matlab, simula la cola simple MM1 para un total de 750
clientes, el limite mazimo del sistema ser de 200000.
%Implementacion de una cola M/M/1
limite_cola=200000; %limite del sistema
tmedio_llegada(1:65)=0.01;
tmedio_servicio=0.01;
sim_paquete=750; %numero de clientes a ser simulados
util(1:65)=0;
prom_en_cola(1:65)=0;
prom_retraso(1:65)=0;
P(1:65)=1;

for j=1:64 %bucle para aumentar el tiempo medio de llegada
tmedio_llegada(j+1)=tmedio_llegada(j)+0.001;
num_eventos=2;
%inicializacion
t_sim = 0.0; %tiempo de simulacion
estado_servidor=0;
tam_cola=0;
t_ultimo_evento=0.0;

num_paq_ensist=0;
total_retrasos=0.0;
tiempo_en_cola=0.0;

=
=
K
i
i red
L L
1
red
red
red
L
W

=
{ }
red
i
i
V K i

= e , ,..., 2 , 1
18

tiempo_en_servidor=0.0;
retraso = 0.0;
t_prox_evento(1)=t_sim+exponential(tmedio_llegada(j+1));
t_prox_evento(2)=exp(30);
disp(['Simulando',num2str(j)]);

while(num_paq_ensist < sim_paquete)
mint_prox_evento=exp(29);
tipo_evento=0;
for i=1:num_eventos
if(t_prox_evento(i)<mint_prox_evento)
mint_prox_evento = t_prox_evento(i);
tipo_evento = i;
end;
end

if(tipo_evento == 0)
disp(['No evento a tiempo ',num2str(t_sim)]);
end

t_sim = mint_prox_evento;
t_desde_ultimo_evento = t_sim - t_ultimo_evento;
t_ultimo_evento = t_sim;
tiempo_en_cola = tiempo_en_cola + tam_cola *
t_desde_ultimo_evento ;
tiempo_en_servidor = tiempo_en_servidor + estado_servidor *
t_desde_ultimo_evento;


if (tipo_evento==1)

%disp(['paquete llegado']);
t_prox_evento(1) = t_sim + exponential(tmedio_llegada(j+1));

if(estado_servidor == 1)

num_paq_ensist = num_paq_ensist + 1;
tam_cola = tam_cola + 1 ;

if(tam_cola > limite_cola)
disp(['Tamano de cola = ', num2str(tam_cola)]);
disp(['Bloqueo del sistema en',num2str(t_sim)]);
pause
end

t_llegada(tam_cola) = t_sim;

else

estado_servidor = 1;
t_prox_evento(2) = t_sim + exponential(tmedio_servicio);

end

elseif (tipo_evento==2)

% ---------------servicio y salida---------------

19

if(tam_cola == 0)
estado_servidor = 0;
t_prox_evento(2) = exp(30);
else

tam_cola = tam_cola - 1;
retraso = t_sim - t_llegada(1);
total_retrasos = total_retrasos + retraso;
t_prox_evento(2) = t_sim + exponential(tmedio_servicio);

for i = 1:tam_cola
t_llegada(i)=t_llegada(i+1);
end
end

end

end

%resultados
util(j+1) = tiempo_en_servidor/t_sim;
prom_en_cola(j+1) = tiempo_en_cola/t_sim;
prom_retraso(j+1) = total_retrasos/num_paq_ensist;
P(j+1) = tmedio_servicio./tmedio_llegada(j+1);

End
%----------------------graficas--------------------------------
figure('name','Numero promedio de clientes en sistema(simulado)');
plot(P,prom_en_cola,'r');
Xlabel('P');
Ylabel('Numero promedio de clientes');
axis([0 0.92 0 15]);

figure('name','Promedio de retrasos en sistema(simulado)');
plot(P,prom_retraso,'m');
Xlabel('P');
Ylabel('Promedio retrasos (hrs)');
axis([0 0.92 0 0.15]);

figure('name', 'Diagrama de Utilizacion');
plot(P,util,'b');
Xlabel('P');
Ylabel('Utilizacion');
axis([0 0.92 0 1]);

Graficas obtenidas

20


Ilustracin 6 Numero promedio de clientes

Ilustracin 7 Promedio de retrasos en sistema
21


Ilustracin 8 Diagrama de utilizacin
Algoritmo para anlisis de la red cerrada (ejemplo diapositiva 85-92)

Ejercicio

Ilustracin 9 Ejercicio red cerrada, diapositiva 85
Debemos conocer las ecuaciones de equilibrio:


En el ejemplo tenemos como datos:
r
12
=0,3; r
14
=0,7; r
23
=1; r
31
=1; r
41
=1;
* * * * *
1 3 31 4 41 2 1 12
; ; r r r = + =
* * * *
3 2 23 4 1 14
; r r = =
22

con lo cual la solucin es, tomando
1
*=1:
Para el clculo de las iteraciones ocupamos las siguientes formulas planteadas:








Algoritmo en matlab

%red cerrada, ejemplo diapositivas 85-93
%rafael auqui
%-------------------inicializacion de valores------------
%tasa de salidas relativas a nodo
lambda1=1
r12=0.3;
r14=0.7;
r23=1;
r31=1;
r41=1;
m=0;
%Ecuaciones de equilibrio
%lambda1=lamba3*r31+lambda4*r41 tomamos el valor de lambda1=1 como en
%ejemplo de las diapositivas
lambda2=lambda1*r12
lambda3=lambda2*r23
lambda4=lambda1*r14

%Li(M)=Nmero medio de tareas en el nodo i
%Wi(M)=Tiempo medio que cada tarea pasa en el nodo i cada vez que lo
%visita

%----------para m=1---------------------------------------------------
---------------------
for i=1:4
L(i,1)=0;
end
for i=1:4
W(i,1)=(1+L(i,1))/5;
end
denominador=
lambda1*W(1,1)+lambda2*W(2,1)+lambda3*W(3,1)+lambda4*W(4,1)
L(1,1)= 1*(lambda1*W(1,1))/denominador;
L(2,1)= 1*(lambda2*W(2,1))/denominador;
L(3,1)= 1*(lambda3*W(3,1))/denominador;
{ }
1 ( 1)
( ) , 1,..., 4
5
j
j
L m
W m j
+
= e
1
1
1 2 3 4
( )
( )
( ) 0,3 ( ) 0,3 ( ) 0,7 ( )
W m
L m m
W m W m W m W m
=
+ + +
2
2
1 2 3 4
0,3 ( )
( )
( ) 0,3 ( ) 0,3 ( ) 0,7 ( )
W m
L m m
W m W m W m W m

=
+ + +
3
3
1 2 3 4
0,3 ( )
( )
( ) 0,3 ( ) 0,3 ( ) 0,7 ( )
W m
L m m
W m W m W m W m

=
+ + +
4
4
1 2 3 4
0,7 ( )
( )
( ) 0,3 ( ) 0,3 ( ) 0,7 ( )
W m
L m m
W m W m W m W m

=
+ + +
23

L(4,1)= 1*(lambda4*W(4,1))/denominador;
%----------para m=2---------------------------------------------------
---------------------
for i=1:4
W(i,2)=(1+L(i,1))/5;
end
denominador=
lambda1*W(1,2)+lambda2*W(2,2)+lambda3*W(3,2)+lambda4*W(4,2)
L(1,2)= 2*(lambda1*W(1,2))/denominador;
L(2,2)= 2*(lambda2*W(2,2))/denominador;
L(3,2)= 2*(lambda3*W(3,2))/denominador;
L(4,2)= 2*(lambda4*W(4,2))/denominador;

%----------para m=3---------------------------------------------------
---------------------
for i=1:4
W(i,3)=(1+L(i,2))/5;
end
denominador=
lambda1*W(1,3)+lambda2*W(2,3)+lambda3*W(3,3)+lambda4*W(4,3)
L(1,3)= 3*(lambda1*W(1,3))/denominador;
L(2,3)= 3*(lambda2*W(2,3))/denominador;
L(3,3)= 3*(lambda3*W(3,3))/denominador;
L(4,3)= 3*(lambda4*W(4,3))/denominador;
%----------para m=4---------------------------------------------------
---------------------
for i=1:4
W(i,4)=(1+L(i,3))/5;
end
denominador=
lambda1*W(1,4)+lambda2*W(2,4)+lambda3*W(3,4)+lambda4*W(4,4)
L(1,4)= 4*(lambda1*W(1,4))/denominador;
L(2,4)= 4*(lambda2*W(2,4))/denominador;
L(3,4)= 4*(lambda3*W(3,4))/denominador;
L(4,4)= 4*(lambda4*W(4,4))/denominador;
L % los datos de la columna i corresponden a los valores con m=i
W% los datos de la fila i corresponden a los valores con m=i

Resultados obtenidos en las diapositivas:
m W
1
(m) W
1
(m) W
1
(m) W
1
(m) L
1
(m) L
2
(m) L
3
(m) L
4
(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
24

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

Resultados del algoritmo

Donde:

Observamos que los datos obtenidos son los adecuados, concluyendo que el algoritmo
desarrollado es el correcto.
Graficas obtenidas

m=1 m=2 m=3 m=4
m=1
m=2
m=3
m=4
25




Podemos observar que las grficas encontradas son iguales, se diferencian en el m empleado
para la simulacin en el caso del algoritmo se emple m=4, mientras que para el ejercicio de
las diapositivas se emplea un m=19
Conclusiones
Una cola M | M | 1 | k, a diferencia de las colas simples M | M | 1 y M | M | c nunca
se satura puesto que su capacidad es limitada.
No se pudo encontrar una frmula para generar el nmero medio de tareas en el nodo
(Lj(m))y el tiempo medio que cada tarea pasa en el nodo (Wj(m)) esto se debe a que
W es dependiente de clculos posteriores de L.
Existe gran complejidad complejidad para generar el algoritmo para valores de m altos,
debido a esto se realiz la simulacin de las colas del ejercicio ejemplo de las
diapositivas con valores de m hasta 4.
Se logr desarrollar de manera correcta el script en MATLAB para el ejercicio
planteado en las diapositivas.
26


Recomendaciones
Para el caso del segundo ejercicio se recomienda emplear un m mucho mayor, para
visualizar la perfecta concordancia con los datos del ejemplo de las diapositivas, pero
esto implica la optimizacin del algoritmo desarrollado, caso contrario el cdigo sera
demasiado extenso.
Bibliografa
[1] Fuente: http://personales.upv.es/jpgarcia/LinkedDocuments/Teoriadecolasdoc.pdf. tomado el
sbado 28 de diciembre de 2013 a las 10:20 Hrs.
[2] Fuente: http://sisbib.unmsm.edu.pe/bibvirtualdata/publicaciones/electronica/Marzo_2002/pdf/,
tomado el sbado 28 de diciembre de 2013 a las 14:56 Hrs.

You might also like