Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Teoría de Colas y Aquas en MATLAB PDF
Teoría de Colas y Aquas en MATLAB PDF
FACULTAD DE INFORMÁTICA
Departamento de Matemáticas
Fecha de lectura y
defensa
Calificación obtenida
A mi madre
AGRADECIMIENTOS
No sería justo que me quedase sin agradecer tanto a todos los compañeros de
prácticas que he tenido a lo largo de estos años: Pablo, Alberto, Víctor, Miguel,... y
sobre todo a Juanda, como a todos los compañeros y amigos que he conocido en la
facultad.
Por último, aunque no por ello menos importante, me gustaría también dar las
gracias a mis amigos de Santa María del Mar, especialmente a Juan y a Luis, por su
preocupación y las veces que nos hemos reído todos juntos.
RESUMEN
2.4.1- Cálculo de W(t) en los modelos en los que no hay una solución analítica
............................................................................................................................87
2.4.2- Problemas de desbordamiento en el cálculo ............................................88
2.4.3- Problemas de precisión en el cálculo .......................................................89
Bibliografía..............................................................................................................128
Capítulo 1: Introducción
“No importa en qué cola se sitúe: La otra siempre avanzará más rápido”
(Primera Ley de Harper)
Las “colas” son un aspecto de la vida moderna que nos encontramos continuamente
en nuestras actividades diarias. En el contador de un supermercado, accediendo a
Internet,... el fenómeno de las colas surge cuando unos recursos compartidos
necesitan ser accedidos para dar servicio a un elevado número de trabajos o clientes.
El estudio de las colas es importante porque proporciona tanto una base teórica del
tipo de servicio que podemos esperar de un determinado recurso, como la forma en la
cual dicho recurso puede ser diseñado para proporcionar un determinado grado de
servicio a sus clientes.
Estos son algunos de los objetivos que se pretenden alcanzar con el desarrollo de la
aplicación:
12
Capítulo 1: Introducción Jorge L. Vega Valle
13
Capítulo 1: Introducción Jorge L. Vega Valle
1.2.1- El origen
14
Capítulo 1: Introducción Jorge L. Vega Valle
Una cola es una línea de espera y la teoría de colas es una colección de modelos
matemáticos que describen sistemas de línea de espera particulares o sistemas de
colas. Los modelos sirven para encontrar un buen compromiso entre costes del
sistema y los tiempos promedio de la línea de espera para un sistema dado.
Los sistemas de colas son modelos de sistemas que proporcionan servicio. Como
modelo, pueden representar cualquier sistema en donde los trabajos o clientes llegan
buscando un servicio de algún tipo y salen después de que dicho servicio haya sido
atendido. Podemos modelar los sistemas de este tipo tanto como colas sencillas o
como un sistema de colas interconectadas formando una red de colas. En la siguiente
figura podemos ver un ejemplo de modelo de colas sencillo. Este modelo puede
usarse para representar una situación típica en la cual los clientes llegan, esperan si
los servidores están ocupados, son servidos por un servidor disponible y se marchan
cuando se obtiene el servicio requerido.
Servidor(es)
Llegadas Salidas
Posiciones de
espera
15
Capítulo 1: Introducción Jorge L. Vega Valle
16
Capítulo 1: Introducción Jorge L. Vega Valle
17
Capítulo 1: Introducción Jorge L. Vega Valle
18
Capítulo 1: Introducción Jorge L. Vega Valle
que los servidores tengan distinta destreza para dar el servicio, se debe
especificar la distribución del tiempo de servicio para cada uno.
Disciplina de la cola
Llegada de un cliente
Cola
Servicio
Fuente de
entrada
Mecanismo de servicio
Sistema de la cola
19
Capítulo 1: Introducción Jorge L. Vega Valle
1.2.5.1- Terminología
20
Capítulo 1: Introducción Jorge L. Vega Valle
cada servidor por unidad de tiempo. Como consecuencia se tiene que µn= n • µ si
n = 1, 2,..., s y µn = s • µ para n ≥ s.
λ
ρ=
sµ
Cuando los λn son constantes y todos los servidores tienen la misma distribución de
tiempo de servicio, λ es el número medio de clientes que entran en el sistema y sµ es
el número medio de clientes a los que pueden dar servicio los s servidores cuando
todos están ocupados. En estas condiciones, ρ representa la fracción de recursos del
sistema que es consumida por los clientes. Así, intuitivamente, parece necesario que
se cumpla, en estos casos, que ρ < 1 y además cuanto más cercano a 1 que sea su
valor, más tráfico ha de soportar el sistema (o menos tiempo libre tendrán los
servidores, o más espera habrán de sufrir los clientes, como se quiera expresar).
Aunque es evidente que ρ no tiene unidades, es habitual medir la intensidad de
tráfico en Erlangs, en honor a los trabajos pioneros de Erlang en la teoría de colas.
Los siguientes conceptos, como se puede ver en [Cao-02], son de utilidad para
analizar las características y el comportamiento de un modelo de colas estacionario:
21
Capítulo 1: Introducción Jorge L. Vega Valle
Para clasificar los posible tipos de sistemas de colas debemos especificar las
características que determinan los elementos que lo componen. Así, Kendall (ver
[Bos-02], [Cao-02] o [Hil-97]) introdujo en 1953 la notación A/B/s para indicar que
la distribución del tiempo entre llegadas es de del tipo A, que B es la distribución del
tiempo de servicio y que s es el número de servidores. Posteriormente esta notación
22
Capítulo 1: Introducción Jorge L. Vega Valle
Así, por ejemplo, la notación M/D/2/∞ /∞ /FIFO indica que se trata del sistema de
una cola con tiempo entre llegadas exponenciales, tiempo de servicio determinístico
(i.e. siempre se tarda el mismo tiempo en darle servicio a cada cliente), hay 2
servidores en el mecanismo de servicio, no existe límite para el número de clientes
que pueden estar en la cola de espera, la población potencial se supone con infinitos
23
Capítulo 1: Introducción Jorge L. Vega Valle
clientes y los clientes son atendidos según una disciplina FIFO. Como los tres
últimos valores (∞ , ∞ y FIFO) son precisamente los asignados por defecto, la
notación anterior podría abreviarse como M/D/2.
Se presentan aquí los modelos básicos de redes de colas abiertas y cerradas con
distribución del tiempo de servicio y distribución del tiempo entre llegadas (si es el
caso) exponencial. Además se impondrá la restricción de que los clientes que salen
servidos de una de las colas que compone la red se mueven instantáneamente y con
ciertas probabilidades prefijadas a cualquier otra posible cola de la red. Estos
modelos dan lugar a las llamadas redes de Jackson (abiertas y cerradas).
Una red de colas no es más que una red en la que cada nodo está constituido por el
sistema de una cola. Se trata, por tanto, de un grafo orientado en el que se pueden
producir transiciones de clientes que salen servidos de un nodo (que es una cola)
hacia otro nodo. La forma más habitual (aunque no la única) para modelizar el modo
en que los clientes servidos en un nodo se dirigen a otro es considerando que lo
hacen de acuerdo a una distribución de probabilidad discreta.
Al igual que en los modelos de una única cola, en las redes de colas abiertas
también pueden producirse llegadas de clientes desde fuera del sistema (desde fuera
de la red, en este caso) y salidas de clientes servidos hacia fuera de la red. A
diferencia de aquél caso, en las redes de colas sí tiene sentido el plantear situaciones
en las que no hay llegadas de clientes desde fuera de la red ni salidas hacia fuera de
24
Capítulo 1: Introducción Jorge L. Vega Valle
la red. Esto da lugar a las llamadas redes cerradas y tienen la peculiaridad que el
número total de clientes en la red es fijo, y lo único que desconocemos es dónde se
encuentran (en qué nodos concretos) y en qué estado de servicio se hallan. Por su
parte, las redes abiertas son aquellas en que sí se producen llegadas de clientes y
salidas hacia fuera de la red.
Como se comentaba con anterioridad, denotando por 1, 2,…, K, los nodos que
forman la red (es decir las etiquetas con las que denotamos a cada cola) la manera
más frecuente de modelizar las transiciones de clientes consiste en suponer que
cuando un cliente sale servido de la cola del nodo i (siendo i ε{1, 2,…, K}) se
desplaza instantáneamente al sistema de la cola de cualquier otro nodo j ε {1,
2,…, K}, con probabilidad pij. Evidentemente, en las colas abiertas también es
posible que desde algunos nodos se pueda abandonar la red. Denotando con el índice
0 el exterior de la red, la probabilidad de que un cliente abandone la red cuando sale
servido del nodo i se denotará por pi0 y puede calcularse a partir de las anteriores
mediante
K
pi 0 = 1 − ∑ pij
j =1
25
Capítulo 1: Introducción Jorge L. Vega Valle
Una red de Jackson abierta no es más que una red de colas abierta (es decir, en la
es posible la llegada de clientes desde fuera de la red y la salida de clientes a fuera de
la red) que verifica las tres propiedades siguientes:
26
Capítulo 1: Introducción Jorge L. Vega Valle
Los clientes que llegan al nodo i desde fuera del sistema lo hacen según un
proceso de Poisson de intensidad λi. Esto equivale a decir que los tiempos entre
dos llegadas de clientes consecutivos desde fuera del sistema al nodo i, siguen
una distribución exponencial de dicho parámetro.
27
Capítulo 1: Introducción Jorge L. Vega Valle
p11 p22
λ1 p12 p20
NODO 1 NODO 2
p21
p10 λ2
p32
p13 p23
p31
EXTERIOR EXTERIOR
λ3
NODO 3
p30
p33
Una red de Jackson cerrada es una red de colas cerrada con K nodos o subsistemas,
en la cual cada nodo i = 1, 2,…, K tiene si servidores en su mecanismo de servicio,
siendo todos los del nodo i con tiempo de servicio de distribución exponencial de
parámetro µi. A diferencia de las redes abiertas, no es posible ni la entrada ni salida
de clientes hacia el exterior, con lo que, resulta indispensable especificar en número
de clientes dentro de la red, N, que permanecerá constante siempre. Por este motivo,
LT = N y cantidades como WT o Wq,T, carecen de sentido. Lo realmente importante
aquí es determinar las probabilidades de que haya ni clientes en el nodo i para i = 1,
2,…, K, que se denotarán por p n1 ,n2 ,...nK . Obviamente éstas probabilidades son
28
Capítulo 1: Introducción Jorge L. Vega Valle
∑p
j =1
ij =1 (siendo i un nodo cualquiera de la red de colas)
Tal y como se comenta en [Bos-02], una red de colas cerrada puede parecer inusual
a primera vista debido a que no permite entrada o salida de clientes de la red. Un
sistema típico de este tipo podría ser uno en el cual haya una gran cantidad (infinita)
de clientes intentando entrar al sistema de forma continua, el número de clientes a los
que se les permite la entrada tiene un determinado valor fijo y un cliente entra en el
sistema de forma inmediata, siempre que se complete la secuencia de servicios de
otro cliente (por ejemplo, un sistema de computación de tiempo compartido).
29
Capítulo 1: Introducción Jorge L. Vega Valle
p11 p22
p12
NODO 1 NODO 2
p21
p32
p13 p23
p31
NODO 3
p33
30
Capítulo 1: Introducción Jorge L. Vega Valle
31
Capítulo 1: Introducción Jorge L. Vega Valle
Razones como esas (y algunas otras) pueden indicar la ventaja de trabajar con un
modelo del sistema real. La estadística es precisamente la ciencia que se preocupa de
cómo estimar los parámetros y contrastar la validez de un modelo a partir de los
datos observados del sistema real que se pretende modelizar.
32
Capítulo 1: Introducción Jorge L. Vega Valle
33
Capítulo 1: Introducción Jorge L. Vega Valle
Supongamos una red de colas abierta con dos nodos. Los eventos que debemos
considerar son los siguientes:
34
Capítulo 1: Introducción Jorge L. Vega Valle
35
Capítulo 1: Introducción Jorge L. Vega Valle
{
Estática
{
Simulación
Continua
{
Dinámica
Por Eventos
Discreta
Por Cuantos
36
Capítulo 1: Introducción Jorge L. Vega Valle
37
Capítulo 1: Introducción Jorge L. Vega Valle
Estado
de Equilibrio
Estado
Transitorio
Simulación
Variable, Z
0 TZ T
Tiempo
38
Capítulo 1: Introducción Jorge L. Vega Valle
39
Capítulo 2: Aspectos de implementación
1
Para una mayor aclaración sobre estos conceptos, véase [Red-98] o [8]
2
GUI: Graphical User Interface. Ver [Mar-99] o [3]
41
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Hay que diferenciar entre el ciclo de vida (definición de [Pre-97]) usado para la
parte analítica y para la parte de simulación. En la parte analítica, el análisis de cada
modelo es muy sencillo, ya que los algoritmos de resolución están previamente
establecidos, cosa que no ocurre en la parte de simulación, lo que implica que el
análisis sea más complejo, ya que hay que tener en cuenta tanto los posibles eventos
(ver 1.3.3.2) que pueden ocurrir como la influencia de estos eventos en el cálculo de
los distintos parámetros de salida.
En las siguientes figuras podemos observar con detalle el ciclo de vida usado para
la parte analítica y para la parte de simulación.
DETERMINAR LOS
PARAMETROS DE
ENTRADA
ERROR
DETERMINAR LOS
PARAMETROS DE
SALIDA
PRUEBAS SW DEL
IMPLEMENTAR EL
MODELO
MODELO
IMPLEMENTADO
DETERMINAR COMO
CALCULAR LOS
PARAMETROS DE
SALIDA
ANALIZAR LOS
POSIBLES RIESGOS
42
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
DETERMINAR LOS
PARAMETROS DE
ENTRADA
ERROR
DETERMINAR LOS
PARAMETROS DE
SALIDA
PRUEBAS SW DEL
IMPLEMENTAR EL MODELO IMPLEMENTADO
ESTUDIAR LOS MODELO (CONTRASTE CON
POSIBLES EVENTOS RESOLUCION ANALITICA)
ANALIZAR LA QUE PUEDEN
IMPLEMENTACION OCURRIR
DEL ALGORITMO (llegada de cliente,
salida, transición)
ANALIZAR LA
INFLUENCIA DEL
ANALIZAR LOS
EVENTO EN LA
POSIBLES RIESGOS
VARIACION DE LOS
PARAMETROS
43
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Población potencial (H): Sólo para el caso de los modelos M/M/1/∞ /H,
M/M/s/∞ /H y M/M/s/∞ /H con Y repuestos en resolución analítica y los modelos
G/G/1/∞ /H, G/G/s/∞ /H y G/G/s/∞ /H con Y repuestos en el caso de resolución
por simulación.
Número de repuestos (Y): Sólo para el caso del modelo M/M/s/∞ /H con Y
repuestos en resolución analítica y el modelo G/G/s/∞ /H con Y repuestos en el
caso de resolución por simulación.
44
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Mientras que si elige la resolución por simulación tiene, a mayores, los siguientes
parámetros de entrada:
Parámetro de estabilización.
45
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Wq: Tiempo medio de espera en la cola para un cliente. En el caso de una red
de Jackson abierta se muestra el tiempo medio de espera en la cola para un
cliente en cada nodo y en toda la red. En el caso de una red de Jackson cerrada se
muestra el tiempo medio de espera en la cola para un cliente en cada nodo de la
red.
46
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Gráfica con los valores de p(n) cuando n toma unos valores determinados. No
se muestra en el caso de las redes abiertas, ni en la simulación de redes cerradas.
47
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Exponencial
Uniforme
Determinista
Gamma
Beta
Lognormal
Normal
De Weibull
3
Podemos observar su definición en [Cao-98] o [Dev-86]
48
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
49
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
λ W W
Intensidad = ρ = Eficiencia = = =W ⋅µ
µ W − Wq 1
µ
λ λ2
L= Lq =
µ −λ µ ⋅ (µ − λ )
4
La fórmula de la eficiencia es siempre igual, por lo que, se obviará en los siguiente modelos
50
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
1 λ
W= Wq =
µ −λ µ ⋅ (µ − λ )
W (t ) = 1 − e −(µ− λ) ⋅ t si t ≥ 0 λ −(µ − λ) ⋅ t
Wq (t ) = 1 − ⋅e si t ≥ 0
µ
pn = (1 − ρ ) ⋅ ρ n si n = 0, 1, ...
λ c0 = 1
Intensidad = ρ =
s⋅µ λ
cn = cn−1 ⋅ si n = 1, 2,..., s - 1
n⋅µ
λ
c≥ s = cs −1 ⋅
s⋅µ −λ
1
p0 = s −1
∑c
n =0
n + c≥ s
p n = c n ⋅ p0 si n = 1, 2,..., s - 1
pn = ρ ⋅ pn−1 si n ≥ s
L = λ ⋅W c≥ s ⋅ λ ⋅ p0
Lq =
s⋅µ −λ
51
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
1 Lq
W = Wq + Wq =
µ λ
λ
W (t ) = 1 − (1 + c≥ s ⋅ p0 ⋅ t ⋅ µ ) ⋅ e − µ ⋅t si t ≥ 0 y = s −1
µ
λ − s ⋅ µ + µ ⋅ Wq (0) −µ ⋅t c ⋅ µ ⋅ p0 λ
W (t ) = 1 + ⋅ e + ≥s ⋅ e −( s⋅µ −λ )⋅t si t ≥ 0 y ≠ s −1
s⋅µ −λ −µ s⋅µ −λ −µ µ
λ λ ⋅ ( K + 1)
Intensidad = ρ = λ= si ρ = 1
µ ( K + 2)
λ λ ⋅ ( ρ K +1 − 1)
ρ= λ= si ρ ≠ 1
µ ρ K +2 − 1
1
pn = si n = 0, 1,..., K + 1 y ρ = 1
K +2
ρ −1
pn = K + 2 ⋅ ρ n si n = 0, 1,..., K + 1 y ρ ≠ 1
ρ −1
pn
qn = si n = 0, 1,..., K
1 − p K +1
52
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
K +1 Lq = λ ⋅ W q
L= si ρ = 1
2
ρ ( K + 2) ⋅ ρ K + 2
L= − si ρ ≠ 1
1− ρ 1 − ρ K +2
L 1
W = Wq = W −
λ µ
53
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Intensidad = ρ = ρ ⋅ (1 − p K + s ) c0 = 1
λ
cn = cn−1 ⋅ si n = 1, 2,..., s - 1
n⋅µ
c≥ s = cs −1 ⋅ ( K + 1) si ρ = 1
λ
ρ= ρ − ρ K +2
s⋅µ c≥ s = cs −1 ⋅ si ρ ≠ 1
1− ρ
λ = λ ⋅ (1 − p K + s )
1
p0 = s −1
∑c
n =0
n + c≥ s
pn = cn ⋅ p0 si n = 1, 2,..., s - 1
pn = ρ ⋅ pn−1 si n = s, s + 1,..., K + s
pn
qn = si n = 0, 1,..., K + s - 1
1 − pK + s
L = λ ⋅W (1 + K ⋅ ρ K +1 − ( K + 1) ⋅ ρ K ) ⋅ ρ 2
Lq = ⋅ p s −1
(1 − ρ ) 2
si ρ ≠ 1
K ⋅ ( K + 1)
Lq = ⋅ p s −1 si ρ = 1
2
5
El cálculo de W(t) para los modelos M/M/s/K, M/M/s/∞ /H y M/M/s/∞ /H con Y repuestos se
explicará en el apartado 2.4.1
54
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
1 Lq
W = Wq + Wq =
µ λ
Cálculo de Wq(t):
A = 1, S’ = 1, B = qs
Desde n = s + 1 hasta K + s - 1 repetir
A = A • (s • µ • t) / ( n – s )
S’ = S’ + A
B = B + qn • S’
Devolver 1 – B • e –s • µ • t
Intensidad = ρ = ρ ⋅ ( H − L)
λ c0 = 1
ρ=
µ cn = cn−1 ⋅ ρ ⋅ ( H − n + 1) si n = 1, 2,..., H
λ = λ ⋅ ( H − L)
55
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
1
p0 = H
∑c
n =0
n
pn = cn ⋅ p0 si n = 1, 2,..., H
( H − n) ⋅ pn
qn = si n = 0, 1,..., H - 1
( H − L)
Lq = λ ⋅ W q
H
L = ∑ n ⋅ pn
n =1
L 1
W = Wq = W −
λ µ
56
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Intensidad = ρ = ρ ⋅ ( H − L)
c0 = 1
λ λ
ρ= cn = cn−1 ⋅ ⋅ ( H − n + 1) si n = 1, 2,..., s
s⋅µ n⋅µ
cn = cn−1 ⋅ ρ ⋅ ( H − n + 1) si n = s + 1,..., H
λ = λ ⋅ ( H − L)
1
p0 = H
∑c
n =0
n
p n = c n ⋅ p0 si n = 1, 2,..., H
( H − n) ⋅ p n
qn = si n = 0, 1,..., H - 1
( H − L)
Lq = λ ⋅ W q
H
L = ∑ n ⋅ pn
n =1
L 1
W = Wq = W −
λ µ
6
Con la restricción H ≥ s
57
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Cálculo de Wq(t):
A = 1, S’ = 1, B = qs
Desde n = s + 1 hasta (H - 1) repetir
A = A • (s • µ • t) / (n – s)
S’ = S’ + A
B = B + qn • S’
Devolver 1 – B • e –s • µ • t
λ c0 = 1
Intensidad = ρ =
s⋅µ Si s ≤ Y :
H ⋅λ
cn = cn−1 ⋅ si n = 1, 2,..., s
n⋅µ
cn = cn−1 ⋅ ρ ⋅ H si n = s + 1,..., Y
λ
ρ= cn = cn−1 ⋅ ρ ⋅ ( H + Y − n + 1) si n = Y + 1,..., Y + H
s⋅µ
Si Y ≤ s ≤ Y + H :
H ⋅λ
cn = cn−1 ⋅ si n = 1, 2,..., Y
n⋅µ
Y +H
λ = λ ⋅ (H − ∑ (n − Y ) ⋅ p n )
cn = cn−1 ⋅
( H + Y − n + 1) ⋅ λ
si n = Y + 1,..., s
n =Y
n⋅µ
cn = ( H + Y − n + 1) ⋅ ρ ⋅ cn−1 si n = s + 1,..., Y + H
1
p0 = Y +H
∑c
n =0
n
p n = c n ⋅ p0 si n = 1, 2,..., Y + H
7
Con la restricción H+Y ≥ s
58
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
H ⋅ pn
qn = Y +H
si n = 0, 1,..., Y - 1
H− ∑ (m − Y ) ⋅ p
m =Y
m
( H + Y − n) ⋅ pn
qn = Y +H
si n = Y ,..., Y + H - 1
H− ∑ (m − Y ) ⋅ p
m =Y
m
Y +H
Lq = λ ⋅ W q
L= ∑n⋅ p
n =1
n
L 1
W = Wq = W −
λ µ
Cálculo de Wq(t):
A = 1, S’ = 1, B = qs
Desde n = s + 1 hasta (H - 1) repetir
A = A • (s • µ • t) / (n – s)
S’ = S’ + A
B = B + qn • S’
Devolver 1 – B • e –s • µ • t
Intensidad = ρ = 0 c0 = 1
λ
cn = cn−1 ⋅ si n = 1, 2,...
n⋅µ
59
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
λ
−
µ
p0 = e
p n = c n ⋅ p0 si n = 1, 2,...
λ Lq = 0
L=
µ
1 Wq = 0
W=
µ
Matriz probabilidades:
p11 p12 L p1 j L p1K
p 21 p 22 L p2 j L p2 K
M M O M O M
P=
pi1 pi 2 L pij L piK
M M O M O M
p pK 2 L p Kj L p KK
K1
60
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
λi K
p0 i = K
i = 1, 2,..., K pi 0 = 1 − ∑ pij i = 1, 2,..., K
∑λ
i =1
i
j =1
1 − p11 L − p j1 L − p K1
M O M O M
A = − p1 j L 1 − p jj L − p Kj
M O M O M
−p L − p jK L 1 − p KK
1K
Para que el sistema sea estacionario, debe verificarse que det(A) ≠ 0 y Λi ≤ si · µi para
todos los valores de i = 1, 2,..., K. Si se verifica esta condición, podremos calcular los
siguientes parámetros de salida:
61
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
c≥ s ⋅ Λnodo ⋅ p0
Lq , nodo = Resolver modelo M/M/s ( Λnodo, µ nodo , snodo ) =
s nodo ⋅ µ nodo − Λnodo
(ver 2.2.2.2)
K K
LT Lq , T
LT = ∑ Lnodo
nodo =1
Lq , T = ∑L
nodo =1
q, nodo WT =
λT
Wq , T =
λT
Para obtener pi (ni), hay que operar del mismo modo que si tratase de un modelo
M/M/s, con tasa de llegada Λi, tasa de servicio µi y si servidores (para más
información, ver 2.2.2.2).
62
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
− p 21 − p31 L − p K −1,1 − p K1
1 − p 22 − p32 L − p K −1, 2 − pK 2
A=
M M O M M
− p − p3, K −1 L 1 − p K −1, K −1 − p K , K −1
2 , K −1
− 1 + p11
p12
B=
M
p
1, K −1
63
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Λ = inverso(A) · B
Según esta fórmula Λ es un vector que tiene K-1 elementos, que se corresponden
con Λ2, Λ3,..., ΛK. A mayores asignamos a Λ1 el valor de 1, con lo Λ se convierte en
un vector de K elementos.
Λi
ρi = i = 1, 2,..., K
µi
Se verifica que:
gi(0) = 1, para i = 1, 2,..., K
g1 (n) = f 1 (n) , para n = 0, 1,..., N
ρ in
si n ≤ si
ρ n
n!
f i ( n) = i =
ai ( n )
ρ in
n − si
si n > si
si ! ⋅ s i
Con lo que,
1 f 1 (1) f 1 (2) L f1 ( N )
1 g 2 (1) g 2 (2) L g 2 (N )
G=
M M M O M
1 g (1) g (2) L g K ( N )
K K
64
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Para calcular los valores de la matriz G que desconocemos hay que utilizar la
siguiente fórmula recursiva:
n
g m (n) = ∑ f m (i ) ⋅ g m−1 (n − i ) m = 1, 2,..., K , n = 0, 1,..., N
i =0
1 K
ρ ini
p n1 , n2 ,...nK = ⋅∏
g K ( N ) i =1 ai (ni )
f K (i ) ⋅ g N ( N − i )
p... i = i = 0, 1,..., N
gK (N )
N
L = ∑ i ⋅ p... i
i =1
65
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Cálculo de Λ K :
ΛK = 0
Para i = 1, 2,..., N
Si i ≤ sK
Λ K = Λ K + µK • i • p... i
Si no
Λ K = Λ K + µK • sK • p... i
Fin Si
Devolver Λ K
L 1 L
W = Wq = W − Lq = ⋅ Wq
ΛK µ W
Para calcular estas cantidades para el resto de nodos, hay que renombrar todos los
nodos de forma que el nodo de interés sea el último:
66
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
8
En el caso de las redes cerradas, donde no hay entradas de clientes desde el exterior, tanto el
parámetro de simulación como el de estabilización contabilizan las transiciones que un cliente tiene
entre los nodos de la red.
67
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
68
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
69
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
9
Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/1
70
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Nota:
Como se puede observar, las diferencias entre los algoritmos de simulación para el
caso de un valor de s genérico (G/G/s, G/G/s/K, G/G/s/∞ /H y G/G/s/∞ /H con Y
repuestos) y el caso de un valor de s igual a 1 (G/G/1, G/G/1/K, G/G/1/∞ /H) no son
muy importantes a efectos de complejidad algorítmica. Podría haberse obviado la
codificación de los casos en los que s es igual a la unidad, más se optó por su
implementación para así tener un claro paralelismo entre la parte analítica y la parte
de simulación.
Por lo que se refiere a la parte analítica, las diferencias entre los casos en que s
toma un valor genérico y en los que s es igual a 1 son muy claras, ya que es más
eficiente el programar al margen este caso que el realizar los cálculos del caso
genérico con el valor del número de servidores igual a la unidad. Además para
algunos casos, como el M/M/1/K o M/M/1/∞ /H , su implementación proporciona una
fórmula explícita para el valor de W(t), sin necesidad de emplear técnicas de
integración numérica.
71
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
10
Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/1
72
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema
Fin Si
Disminuir el tiempo que tarda en haber una nueva llegada en mínimo
Fin Si
Fin Mientras
11
Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/s
73
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Fin Si
Si no
Encontrar cual es el servidor en el cual se produce la salida de un cliente
Incrementar el cronómetro en el valor mínimo
Incrementar c en mínimo • (número de clientes en el sistema)
Si número de clientes > número de servidores
Incrementar d en mínimo • (número de clientes en el sistema-número de servidores)
Fin Si
Incrementar el tiempo en el que hay n clientes en mínimo
Disminuir en uno el número de clientes del sistema
Disminuir el tiempo que tarda en haber una nueva salida en el valor mínimo (en los servidores donde ya había algún
cliente)
Si (número de clientes en el sistema < número de servidores)
No puede haber una nueva salida del servidor en el que se ha producido la salida
Si no
Hallar el tiempo que tarda en haber una nueva salida del sistema en el servidor en el que se ha producido
la salida
Fin Si
Disminuir el tiempo que tarda en haber una nueva llegada en mínimo
Fin Si
Fin Mientras
74
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Fin Si
Disminuir en mínimo el tiempo que tardan en llegar los potenciales clientes
Hallar el tiempo que tarda en llegar un nuevo potencial cliente
Si no
Aumentar el “nº de clientes simulados” en una unidad
Hallar cual es el potencial cliente que tarda menos en llegar
Incrementar el cronómetro en el valor mínimo
Incrementar el tiempo en el que hay n clientes en mínimo
Disminuir en mínimo el tiempo que tardan en llegar los potenciales clientes
Anotar la llegada del cliente que ha tardado menos en llegar
Si (número de clientes en el sistema = 0)
Incrementar el número de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida
Si no
Incrementar c en mínimo • (número de clientes en el sistema)
Incrementar d en mínimo • (número de clientes en el sistema-1)
Incrementar el número de clientes en el sistema en una unidad
Disminuir el tiempo que tarda en haber una nueva salida en el valor mínimo
Fin Si
Fin Si
Fin Mientras
12
Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/1/∞ /H
75
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Si no
Aumentar el “nº de clientes simulados” en una unidad
Hallar cual es el potencial cliente que tarda menos en llegar
Incrementar el cronómetro en el valor mínimo
Incrementar el tiempo en el que hay n clientes en mínimo
Incrementar c en mínimo • (número de clientes en el sistema)
Disminuir en mínimo el tiempo que tardan en llegar los potenciales clientes
Anotar la llegada del cliente que ha tardado menos en llegar
Disminuir el tiempo que tarda en haber una nueva salida de alguno de los servidores en los que hay un cliente en el
valor mínimo
Si (número de clientes en el sistema < número de servidores)
Incrementar el número de clientes en el sistema en una unidad
Hallar el tiempo que tarda en haber una nueva salida de un servidor vacío
Si no
Incrementar d en mínimo • (número de clientes en el sistema-número de servidores)
Incrementar el número de clientes en el sistema en una unidad
Fin Si
Fin Si
Fin Mientras
76
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
13
Aparecen resaltadas en color verde las diferencias respecto al modelo G/G/s/∞ /H
77
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
78
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Disminuir el tiempo que tarda en haber una nueva salida el valor mínimo (en los servidores donde ya había algún
cliente)
No puede haber una nueva salida del sistema del servidor en el que se ha producido la salida
Disminuir el tiempo que tarda en haber una nueva llegada en mínimo
Fin Si
Fin Mientras
Para obtener el valor de los parámetros de salida14 hay que proceder como sigue:
c c
L= W=
cronometro parametro de simulacion
d d
Lq = Wq =
cronometro parametro de simulacion
14
Referido a todos los modelos vistos hasta ahora: desde el G/G/1 hasta el G/G/∞
79
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Hallar cuál es el servidor (y en que nodo se encuentra) que tarda menos tiempo en atender a un determinado cliente (de aquí
en adelante, ese servidor será el “servidor x”, y ese nodo será el “nodo x”)
mínimo = tiempo que se tarda en atender a un cliente en el “servidor x” del “nodo x”
Aumentar el “nº de clientes simulados” en una unidad
Disminuir el número de clientes del “nodo x” en una unidad
Disminuir en mínimo el tiempo que tardan en atender el resto de los servidores que no sean el “servidor x” a un potencial
cliente.
Si (nº clientes (nodo al cual ha migrado) <= nº servidores (nodo al cual ha migrado))
Hallar el tiempo que tarda en producirse una nueva salida de un determinado servidor desocupado del nodo al que ha
migrado
Fin Si
15
En las redes de colas cerradas el parámetro de simulación equivale al número de transiciones de
clientes entre los distintos nodos.
80
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Si no
Aumentar el valor de c (nodo) en mínimo • (nº clientes (nodo))
Si (nº clientes (nodo) > nº servidores (nodo))
Aumentar el valor de d (nodo) en mínimo • (nº clientes (nodo) – nº servidores(nodo))
Fin Si
Aumentar en mínimo el tiempo en el que hay “nº clientes (nodo)” clientes en el nodo
Fin Si
Fin Para
Fin Mientras
n º clientes red ⋅ (nº servidores (nodo))-1
n º clientes (nodo) = Nodos de la red cerrada
∑i =1
(nº servidores (i)) -1
Según esta fórmula es posible que quede algún cliente sin asignar, es decir, que tras
esta distribución inicial, la suma del número de clientes que hay en todos los nodos
sea inferior al número de clientes que ha introducido el usuario. Para que esto no
ocurra, se inicia un reparto secuencial de los “clientes residuales16 ”, empezando por
el primer nodo.
Nótese que las actualizaciones de los valores de c, d y el tiempo que un cliente está
en un determinado nodo son “a posteriori”. Así, si tenemos la siguiente situación:
16
Se corresponden con el número de clientes que ha introducido el usuario menos la suma del número
de clientes en los nodos de la red tras aplicar la fórmula inicial
81
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Nodo de
Nodo x
migración
Otros Nodos
Figura 10- Actualización de los valores de "c" y "d" en las redes cerradas
Al entrar en el bucle “para” que recorre todos los nodos haremos las siguientes
operaciones (en los nodos etiquetados como “nodo x” y “nodo de migración” de la
anterior figura):
Nodo x
c (nodo x) = c (nodo x) + mínimo • 3
Si ( 3 > nº de servidores (nodo x) )
d (nodo x) = d (nodo x) + mínimo • ( 3 – nº servidores (nodo x) )
Tiempo (3 clientes, nodo x) = Tiempo (3 clientes, nodo x) + mínimo
Nodo de migración
c (nodo migración) = c (nodo migración) + mínimo • 5
Si ( 5 > nº de servidores (nodo migración) )
d (nodo migración) = d (nodo migración) + mínimo •
( 5 – nº servidores (nodo migración) )
Tiempo (5 clientes, nodo migración) = Tiempo (5 clientes, nodo migración)
+ mínimo
82
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Para obtener el valor de los parámetros de salida hay que proceder como sigue:
c (nodo) c (nodo)
L (nodo) = W (nodo) =
cronometro nº de entradas (nodo)
d (nodo) d (nodo)
Lq (nodo) = Wq (nodo) =
cronometro nº de entradas (nodo)
mínimo = min(tiempo que tarda en salir un determinado cliente de un “servidor x” de un “nodo x”, tiempo que tarda en llegar
un potencial cliente a un “nodo y”)
Si (mínimo = tiempo de llegada de un potencial cliente)
Aumentar en una unidad el “nº de clientes simulados”
Aumentar en una unidad el nº de entradas al “nodo y”
Aumentar en una unidad el nº de clientes del “nodo y”
Disminuir en mínimo el tiempo de llegada de potenciales clientes
Hallar el tiempo de llegada de un nuevo potencial cliente al “nodo y”
Disminuir en mínimo el tiempo de salida de clientes en los servidores de aquellos nodos donde exista un cliente
83
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Si no
Aumentar el valor de c (nodo) en mínimo • (nº clientes (nodo))
Si (nº clientes (nodo) > nº servidores (nodo))
Aumentar d (nodo) en mínimo • (nº clientes (nodo) – nº servidores (nodo))
Fin Si
Aumentar en mínimo el tiempo en el que hay “nº clientes (nodo)” clientes en el nodo
Fin Si
Fin Para
Si no
Disminuir en uno el número de clientes del “nodo x”
Disminuir en mínimo el tiempo de salida de clientes en los servidores de aquellos nodos donde exista un cliente
84
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Para obtener el valor de los parámetros de salida hay que proceder como sigue:
c (nodo) c (nodo)
L (nodo) = W (nodo) =
cronometro nº de entradas (nodo)
d (nodo) d (nodo)
Lq (nodo) = Wq (nodo) =
cronometro nº de entradas (nodo)
85
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
86
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
2.4.1- Cálculo de W(t) en los modelos en los que no hay una solución
analítica
Tanto para el modelo M/M/s/K (ver apartado 2.2.2.4), como para los modelos
M/M/s/∞ /H (apartado 2.2.2.6) y M/M/s/∞ /H con Y repuestos (apartado 2.2.2.7) no
se ha proporcionado una fórmula explícita para el cálculo de W(t). Esto es debido a
que dicha fórmula es excesivamente compleja, y la mayoría de los libros ni siquiera
la consideran.
Por todo ello, hemos tenido que optar por otra vía para calcular el valor de W(t). En
todos los modelos se verifica que:
t
W (t ) = ∫ Wq (t − s ) ⋅ µ ⋅ e − µ ⋅ s ds
0
17
Puede observarse con detalle en [Gar-98]
87
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
de forma muy rápida. Incluso para el caso de tener que mostrar la evolución de la
función W(t) en un rango de valores (esto se hace resolviendo la integral para cien
valores equiespaciados en dicho rango, es decir realizando cien aproximaciones
mediante integración numérica) se resuelve muy rápidamente.
ρ ( K + 2) ⋅ ρ K + 2
L= − , sustituyendo tenemos que
1− ρ 1 − ρ K +2
Este problema puede darse en otros modelos en función de los valores de los
parámetros de entrada que introduzca el usuario. Para solucionar el problema, le
indicamos al usuario por medio de un mensaje de error que se ha producido un
88
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Esto puede provocar que debido a las múltiples operaciones que hay que realizar
para el cálculo de L (normalmente son varias sumas y productos), se puede
obtener en algunos casos un valor para W ligeramente inferior a 1/µ, lo que
provocaría que tanto el valor de Wq, como de Lq fuesen negativos, en vez de ser
igual a cero. Para solucionar este problema, asignamos directamente el valor cero
a dichas variables en caso de que se de esta situación.
89
Capítulo 2:Aspectos de implementación Jorge L. Vega Valle
Para evitar estos mensajes de aviso basta con escribir lo siguiente (esto sólo es
válido con la versión 6.5 de MATLAB®) en la línea de comandos:
90
Capítulo 3: Evaluación de la aplicación
Primer caso
92
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Tamaño de la cola: K = 3
Nº Clientes Simulación
100 1000 5000 10000 50000 100000
100 8.582 % 7.017 % 1.415 % 1.643 % 0.481 % 0.463 %
Parám.
Estab.
Segundo caso
Nº Clientes Simulación
100 1000 5000 10000 50000 100000
100 83.290 % 52.723 % 6.986 % 3.935 % 0.680 % 0.338 %
Parám.
Estab.
En las tablas anteriores, se muestra el error medio (en tanto por ciento) de cinco
muestras en el cálculo de L.
93
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Como podemos observar, los resultados del primer caso son muy diferentes a los
del segundo. Así, mientras en el primer caso apenas tiene influencia el aumento del
valor del parámetro de estabilización, para el segundo caso podemos ver como un
aumento del parámetro de estabilización tiene una gran influencia en el error
obtenido. Esto es debido a que en el primer caso no es muy importante el estado del
cual se parta para el cálculo de L, mientras que en el segundo caso es crucial.
Recomendación práctica
94
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Primer caso
Segundo caso
95
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Tercer caso
96
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Los resultados obtenidos en las tablas anteriores muestran el error medio cometido
(por cinco muestras) en el cálculo de L.
Como podemos ver en las tablas anteriores, dependiendo de las características del
modelo que tengamos, el valor de la intensidad de tráfico puede tener una gran
influencia en el error cometido. Para el primer y tercer caso, vemos como al
aumentar el valor de la intensidad de tráfico mayor es el error cometido y, a medida
que ésta se acerca más a uno, el error aumenta mucho más. Esto es debido a que en
estos casos, cuanto mayor sea el valor de la intensidad de tráfico, mayor será también
la dependencia que existe entre los datos de la muestra obtenida por simulación. Por
otra parte, para el segundo caso no ocurre lo mismo, ya que, al tener un valor de H
tan bajo, la dependencia entre las observaciones se atenúa (el tiempo de estancia en
el sistema de un cliente y del siguiente a él no pueden tener una correlación muy alta)
97
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Los resultados obtenidos pueden verse en la siguiente tabla: (el error que se
muestra corresponde a la media de cinco muestras en el cálculo de L)
18
No definida como tal para los modelos de redes de colas
98
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
99
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
ρ 2 + λ2 ⋅ σ S2
L=ρ+
2 ⋅ (1 − ρ )
donde:
λ λ
ρ= = = λ ⋅ Media ( Distrib de Servicio)
µ 1
Media ( Distribución de Servicio)
19
Ver Apéndice A para observar la definición de dichas distribuciones
100
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución exponencial
L(Pollaczek-Khintchine) = 0.17647
20
Todas las pruebas se han realizado con un valor igual a 1.000 en parámetro de estabilización y con
un valor igual a 10.000 en número de clientes de la simulación
101
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
λ=3
µ=5
ρ = 0.6
σ2S = 0.04
L(Pollaczek-Khintchine) = 1.5
λ=3
µ = 10/3
ρ = 0.9
σ2S = 0.09
102
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
L(Pollaczek-Khintchine) = 9
35,0000
30,0000
25,0000
20,0000 Ro = 0.15 (bajo)
Ro = 0.6 (medio)
15,0000
Ro = 0.9 (alto)
10,0000
5,0000
0,0000
Prueba Prueba Prueba Prueba Prueba
1 2 3 4 5
103
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución uniforme
λ=1
a = 0.2
b = 0.8
ρ = 0.5
σ2S = 0.03
L(Pollaczek-Khintchine) = 0.78
104
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución determinista
λ=2
d = 0.3
ρ = 0.6
σ2S = 0
L(Pollaczek-Khintchine) = 1.05
105
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución gamma
λ = 0.5
p=2
a=3
ρ = 1/3
106
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución beta
λ=2
p=1
q=5
k=1
ρ = 1/3
σ2S = 5/252
107
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución lognormal
λ = 0.2
µ=1
σ = 0.2
108
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución normal
λ = 0.2
µ=4
σ = 0.5
ρ = 0.8
σ2S = 0.25
L(Pollaczek-Khintchine) = 2.425
109
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución de Weibull
λllegada = 1
λWeibull = 10
α = 0.5
ρ = 0.2
σ2S = 0.2
L(Pollaczek-Khintchine) = 0.35
110
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Distribución de probabilidad
Intensidad de tráfico
Parámetro de estabilización y número de clientes de la simulación
Modelo de colas
111
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Como conclusión, se puede observar que la distribución que se elija tiene una gran
influencia en el tiempo de ejecución del algoritmo; por ejemplo, el tiempo de
ejecución del algoritmo con la distribución beta es casi cinco veces superior al de la
distribución determinista. Esto es debido a que la generación de números de una
determinada distribución (ver 2.1.4) es más compleja en unos casos que en otros.
Puede observarse que todos los modelos son estacionarios (ρ < 1). Los tiempos de ejecución que se
21
112
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
113
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
estabilización), se requiere que el número de llegadas, que inicialmente vale cero, sea
igual al número de clientes de la simulación (en el caso del bucle de estabilización,
igual al parámetro de estabilización). El número de llegadas aumenta cuando no hay
ningún cliente en el sistema (debe de producirse de forma forzosa una llegada) o
cuando hay algún cliente y se produce una llegada. La intensidad de tráfico tiene una
gran influencia en ambos casos, pues, el primero de ellos se produce con mayor
frecuencia cuanto menor es su valor, mientras que el segundo de los casos se produce
con mayor frecuencia cuanto mayor es su valor.
114
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Nº Clientes Simulación
1000 5000 10000 20000 50000 100000
10 1.913 2.614 3.555 5.417 10.966 20.159
100 1.893 2.634 3.565 5.408 10.986 20.169
Estabilización
Parámetro de
115
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
22
Estos términos se definen con detalle en [Wei-95]
23
Salvo en el modelo G/G/∞ en donde la intensidad de tráfico es siempre igual a cero
116
Capítulo 3: Evaluación de la aplicación Jorge L. Vega Valle
Como conclusión, se puede observar que el tipo del modelo de colas tiene una gran
influencia en el tiempo de ejecución del algoritmo de simulación. Así se puede
observar como el tiempo de ejecución para el modelo G/G/s/∞ /H es más de dos
veces superior al tiempo de ejecución del modelo G/G/1. Esto es debido a que las
operaciones que se tienen que realizar no son las mismas en todos los modelos (véase
en el apartado 2.3.2 las diferencias entre los distintos algoritmos).
117
Capítulo 4: Conclusiones y trabajo futuro
“Las cosas, una vez principiadas, ni se han de olvidar ni dejar, hasta ser acabadas,
que es nota de poca prudencia muchos actos comenzados y acabado ninguno”
(Mateo Alemán, escritor español, siglos XVI y XVII)
Capítulo 4: Conclusiones Jorge L. Vega Valle
Trabajo futuro
A pesar de que la herramienta es capaz de solucionar los objetivos (ver 1.1.2) que
se marcaron al inicio del proyecto, existen otras tareas que se podrían realizar en
futuros trabajos:
119
Capítulo 4: Conclusiones Jorge L. Vega Valle
120
Apéndice A: Características de las de distribuciones
usadas en la aplicación
A continuación se muestran las características más importantes (función de
densidad, media y varianza) de las distintas distribuciones que se utilizan en la
aplicación.
f ( x) = λ ⋅ e − λ ⋅ x x>0
1
E( X ) =
λ
1
Var ( X ) =
λ2
1
f ( x) = x ∈ ( a, b)
b−a
a+b
E( X ) =
2
(b − a ) 2
Var ( X ) =
12
121
Distribución determinista: D(d)
f ( x) = d
E( X ) = d
Var ( X ) = 0
ap
f ( x) = ⋅ e − a ⋅ x ⋅ x p −1 x>0
Γ( p)
p
E( X ) =
a
p
Var ( X ) =
a2
k⋅p
E( X ) =
p+q
p⋅q
Var ( X ) = k 2 ⋅
( p + q ) ⋅ ( p + q + 1)
2
122
Distribución lognormal: L(µ,σ)
− (ln( x ) − µ ) 2
1
f ( x) = ⋅e 2 ⋅ σ2
x∈ R
x ⋅σ ⋅ 2 ⋅ π
σ2
(µ + )
E( X ) = e 2
2 2
Var ( X ) = eσ ⋅ e 2 ⋅ µ ⋅ (eσ − 1)
−( x − µ )2
1
f ( x) = ⋅e 2 ⋅ σ2
x∈R
σ ⋅ 2 ⋅π
E( X ) = µ
Var ( X ) = σ 2
α
f ( x) = λα ⋅ α ⋅ x α −1 ⋅ e − ( λ ⋅ x ) x≥0
1 1
E( X ) = ⋅ Γ (1 + )
λ α
1 2 1
Var ( X ) = ⋅ Γ(1 + ) − Γ 2 (1 + )
2
λ α b
∞
Donde Γ( p) = ∫ x p −1 ⋅ e − x dx Además, si p ∈ Ν entonces Γ(p) = (p - 1)!
0
123
Apéndice B: Instalación y ejecución de la aplicación
Requisitos de la aplicación
Requisitos de software
Requisitos de hardware
24
Tanto el valor de la memoria RAM, como de la velocidad del procesador, no se corresponden
realmente con una limitación, sino más bien con una recomendación para poder ejecutar la aplicación
de forma rápida.
124
Instalación de la aplicación
Para ello hay que seleccionar en el menú File la opción “Set Path”, y nos aparece
una ventana como la que se muestra a continuación:
125
debemos almacenarla (opción Save), para así no tener que introducirla cada vez que
volvamos a ejecutar MATLAB®.
Ejecución de la aplicación
Si ya le hemos indicado al sistema donde localizar los archivos que forman parte de
la aplicación, estamos en condiciones de poder ejecutarla.
Para ello, lo único que hay que hacer es teclear lo siguiente en la Ventana de
Comandos de MATLAB®:
>> aquas
126
Apéndice C: Contenido del CD
El contenido del CD adjunto a esta memoria se divide en las siguientes carpetas:
Carpeta “GUIs”. Incluye un archivo [3] en donde se explica qué hay que
hacer para desarrollar una aplicación que trabaje con interfaces usando
MATLAB® así como las opciones que proporciona.
127
Bibliografía
Los libros son, de entre mis consejeros, los que más me agradan, porque ni el temor
ni la ambición les impiden decirme lo que debo hacer.
(Alfonso II de Aragón, el Casto, Rey de la corona de Aragón, siglo XII)
[All-90] Allen, A.O. (1990). Probability, Statistics and Queueing Theory with Computer
Science Applications. Academic Press.
[Gro-98] Gross, D. and Harris, C.M. (1998). Fundamentals of Queueing Theory. Wiley.
[Law-91] Law, A.M. and Kelton, W.D.(1991). Simulation Modeling and Analysis. McGraw-
Hill.
128
[Mar-99] Marchand P. (1999). Graphics and GUIs with MATLAB. CRC Press.
[Wat-89] Watson H.J. and Blackstone J.H. (1989). Computer Simulation. Wiley.
Sitios Web
[1] MATLAB. The Language of Technical Computing. Home Page. The MathWorks.
http://www.mathworks.com, 2004
[2] MATLAB. The Language of Technical Computing. Statistics Toolbox. The MathWorks.
http://www.mathworks.com/access/helpdesk/help/pdf_doc/stats/stats.pdf, 2004
[3] MATLAB. The Language of Technical Computing. Creating Grafical User Interfaces.
Version 6. The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/buildgui.pdf, 2004
[4] MATLAB. The Language of Technical Computing. Getting Started With MATLAB.
Version 6. The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/getstart.pdf, 2004
129
[5] MATLAB. The Language of Technical Computing. Using MATLAB Graphics. Version 6.
The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/graphg.pdf, 2004
[6] MATLAB. The Language of Technical Computing. MATLAB Function Reference. Version
6. The MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/refbook.pdf,
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/refbook2.pdf,
http://www.mathworks.com/access/helpdesk/help/pdf_doc/matlab/refbook3.pdf, 2004
[7] MATLAB. The Language of Technical Computing. MATLAB Compiler. Version 6. The
MathWorks
http://www.mathworks.com/access/helpdesk/help/pdf_doc/compiler/compiler3.pdf, 2004
[8] Manual de Matlab 6.0: “Aprenda Matlab 6.0 como si estuviera en primero”. Escuela
Superior de Ingenieros Industriales. Universidad de Navarra,
http://www1.ceit.es/asignaturas/Informat1/AyudaInf/aprendainf/matlab60/matlab60.pdf,
Julio 2001
130