universidad autónoma de nuevo...
TRANSCRIPT
Universidad Autónoma de Nuevo León
Facultad de Ingeniería Mecánica y Eléctrica
División de Estudios de Posgrado
Simulación de una línea de espera no
homogénea
por
Efraín Soto Apolinar
en opción al grado de
Maestría en Ciencias
en Ingeniería de Sistemas
San Nicolás de los Garza, Nuevo León enero 2010
Universidad Autónoma de Nuevo León
Facultad de Ingeniería Mecánica y Eléctrica
División de Estudios de Posgrado
Simulación de una línea de espera no
homogénea
por
Efraín Soto Apolinar
en opción al grado de
Maestría en Ciencias
en Ingeniería de Sistemas
San Nicolás de los Garza, Nuevo León enero 2010
Universidad Autónoma de Nuevo LeónFacultad de Ingeniería Mecánica y Eléctrica
División de Estudios de Posgrado
Los miembros del Comité de Tesis recomendamos que la Tesis «Simulación de
una línea de espera no homogénea», realizada por el alumno Efraín Soto Apolinar,
con número de matrícula 1474027, sea aceptada para su defensa como opción al
grado de Maestría en Ciencias en Ingeniería de Sistemas.
El Comité de Tesis
Dr. César Emilio Villarreal Rodríguez
Asesor
Dr. Fernando López Irraragori Dr. José Arturo Berrones Santos
Revisor Revisor
Vo. Bo.
Dr. Moisés Hinojosa Rivera
Subdirector de Posgrado
División de Estudios de Posgrado
San Nicolás de los Garza, Nuevo León, enero 2010
Este trabajo está dedicado a:
Mis padres por la educación que me dieron.
Mi hermana Elizabeth y su esposo Gabriel, por apoyarme por más de doce años en
Quintana Roo, y a mis sobrinos por soportarme todo ese tiempo.
Anita, porque continuamente me está motivando a hacer las cosas mejor cada vez.
Índice
Agradecimientos xii
Resumen xiii
1 Introducción 1
1.1 Descripción del problema . . . . . . . . . . . . . . . . . . . . . . . . . 1
1.2 Antecedentes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3 Justificación . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.4 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.5 Metas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2 Aplicaciones de los sistemas de líneas de espera 9
2.1 Supermercados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2.2 Restaurantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.3 Hospitales . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.4 Telefonía celular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.5 Internet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.6 Procesamiento de información . . . . . . . . . . . . . . . . . . . . . . 14
v
Índice vi
2.7 Tránsito vehicular . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.8 Casetas de cobro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.9 Estacionamientos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.10 Otras aplicaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
3 Plataforma propuesta 19
3.1 Características . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
3.1.1 Naturaleza de las llegadas . . . . . . . . . . . . . . . . . . . . 20
3.1.2 Tasa de servicio . . . . . . . . . . . . . . . . . . . . . . . . . . 20
3.1.3 Atributos de los clientes . . . . . . . . . . . . . . . . . . . . . 21
3.1.4 Comportamiento de los clientes . . . . . . . . . . . . . . . . . 21
3.1.5 Mecanismo de servicio . . . . . . . . . . . . . . . . . . . . . . 21
3.1.6 Capacidad del sistema . . . . . . . . . . . . . . . . . . . . . . 22
3.1.7 Tamaño de la población . . . . . . . . . . . . . . . . . . . . . 22
3.1.8 Disciplina de la fila . . . . . . . . . . . . . . . . . . . . . . . . 23
3.2 Visualización . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
3.3 Reportes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
3.4 Otras consideraciones . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
4 Prototipo de simulador 27
4.1 Prototipo LenH . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
4.2 Algoritmo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
4.3 Descripción del parser . . . . . . . . . . . . . . . . . . . . . . . . . . 32
Índice vii
4.4 Características del equipo de cómputo . . . . . . . . . . . . . . . . . 34
4.5 Validación del simulador . . . . . . . . . . . . . . . . . . . . . . . . . 35
4.6 Sistemas ficticios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37
4.6.1 Variación de la frecuencia . . . . . . . . . . . . . . . . . . . . 37
4.6.2 Variación de la media . . . . . . . . . . . . . . . . . . . . . . . 38
4.6.3 λ(t) definida por intervalos . . . . . . . . . . . . . . . . . . . . 40
5 Análisis de resultados 48
5.1 Variaciones en la función λ . . . . . . . . . . . . . . . . . . . . . . . . 48
5.1.1 Variación de la frecuencia . . . . . . . . . . . . . . . . . . . . 48
5.1.2 Variación de la media . . . . . . . . . . . . . . . . . . . . . . . 51
5.1.3 Funciones definidas por intervalos . . . . . . . . . . . . . . . . 53
5.2 Conclusiones y recomendaciones . . . . . . . . . . . . . . . . . . . . . 54
6 Trabajo futuro 56
6.1 Plataforma propuesta . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
6.2 Prototipo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
6.3 Simulaciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
A Apéndices 60
A.1 Definiciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60
A.2 Resultados de las simulaciones . . . . . . . . . . . . . . . . . . . . . . 61
A.2.1 Variación de la frecuencia . . . . . . . . . . . . . . . . . . . . 61
Índice viii
A.2.2 Variación de la media . . . . . . . . . . . . . . . . . . . . . . . 62
A.2.3 λ(t) definidas por intervalos . . . . . . . . . . . . . . . . . . . 62
A.3 Instructivo del prototipo . . . . . . . . . . . . . . . . . . . . . . . . . 77
A.3.1 Botones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 81
A.4 Diagrama de clases . . . . . . . . . . . . . . . . . . . . . . . . . . . . 83
Lista de figuras
1.1 Elementos de una línea de espera. . . . . . . . . . . . . . . . . . . . . 1
4.1 Interfaz gráfica del simulador LenH. . . . . . . . . . . . . . . . . . . 30
4.2 Algoritmo usado por el simulador . . . . . . . . . . . . . . . . . . . . 43
4.3 Periodo de la función cosenoidal. . . . . . . . . . . . . . . . . . . . . 44
4.4 Variación de L y Lq al cambiar la frecuencia de la función periódica
λ(t) con µ = 40.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
4.5 Variación de ρ al cambiar la frecuencia de la función periódica λ(t)
con µ = 40.0. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
4.6 Variación de L y Lq al cambiar λ. . . . . . . . . . . . . . . . . . . . . 45
4.7 Variación de ρ al cambiar λ. . . . . . . . . . . . . . . . . . . . . . . . 46
4.8 Variación de L y Lq al cambiar λ. . . . . . . . . . . . . . . . . . . . . 46
4.9 Variación de ρ al cambiar λ. . . . . . . . . . . . . . . . . . . . . . . . 47
A.1 Diagrama de dependencia de clases del simulador LenH. . . . . . . . 83
ix
Lista de tablas
4.1 Resultados usados en la validación del prototipo LenH . . . . . . . . 35
4.2 Variación de parámetros de desempeño al cambiar la frecuencia de la
función periódica λ(t) con µ = 40.0. . . . . . . . . . . . . . . . . . . . 38
4.3 Variación de parámetros de desempeño al cambiar λ con µ = λ+ 5.0. 39
4.4 Variación de parámetros definiendo λ. . . . . . . . . . . . . . . . . . . 42
A.1 Resultados de la simulación usando λ(t) = 25 cos(2 · πt) + 30 . . . . . 61
A.2 Resultados de la simulación usando λ(t) = 25 cos(πt) + 30 . . . . . . 62
A.3 Resultados de la simulación usando λ(t) = 25 cos(t) + 30 . . . . . . . 63
A.4 Resultados de la simulación usando λ(t) = 25 cos(πt/2) + 30 . . . . . 64
A.5 Resultados de la simulación usando λ(t) = 25 cos(πt/4) + 30 . . . . . 65
A.6 Resultados de la simulación usando λ(t) = 25 cos(πt/8) + 30 . . . . . 66
A.7 Resultados de la simulación usando λ(t) = 25 cos(πt/12) + 30 . . . . . 67
A.8 Resultados de la simulación usando λ(t) = 10 cos(2πt) + 10 . . . . . . 68
A.9 Resultados de la simulación usando λ(t) = 10 cos(2πt) + 20 . . . . . . 69
A.10 Resultados de la simulación usando λ(t) = 10 cos(2πt) + 30 . . . . . . 70
A.11 Resultados de la simulación usando λ(t) = 10 cos(2πt) + 40 . . . . . . 71
x
Lista de tablas xi
A.12 Resultados de la simulación usando λ = 0.55 . . . . . . . . . . . . . . 72
A.13 Resultados de la simulación usando λ = 0.65 . . . . . . . . . . . . . . 73
A.14 Resultados de la simulación usando λ = 0.75 . . . . . . . . . . . . . . 74
A.15 Resultados de la simulación usando λ = 0.85 . . . . . . . . . . . . . . 75
A.16 Resultados de la simulación usando λ = 0.95 . . . . . . . . . . . . . . 76
Agradecimientos
Al Programa de Posgrado en Ingeniería de Sistemas (PISIS) por permitirme ser parte
de la familia.
A la Universidad Autónoma de Nuevo León y a la Facultad de Ingeniería
Mecánica y Eléctrica por todo el apoyo otorgado todo este tiempo.
Al Consejo Nacional de Ciencia y Tecnología (CONACYT) por el apoyo económico
otorgado, sin el cual la realización de esta meta hubiera sido casi imposible.
A todos los profesores del PISIS por la ayuda que ofrecen continuamente a
todos sus estudiantes y por motivarnos a llegar a ser lo que somos capaces de ser.
A la comunidad PISIS por tolerarme y auxiliarme cada vez que necesité algún
apoyo.
A mi esposa por apoyarme incondicionalmente.
A mi familia por el apoyo moral.
A Dios por permitirme llegar hasta aquí.
xii
Resumen
Efraín Soto Apolinar.
Candidato para el grado de Maestro en Ciencias
con especialidad en Ingeniería de Sistemas.
Universidad Autónoma de Nuevo León.
Facultad de Ingeniería Mecánica y Eléctrica.
Título del estudio:
Simulación de una línea de espera no
homogénea
Número de páginas: 86.
Objetivos y método de estudio: El objetivo principal del presente trabajo
consiste en proponer una plataforma para simular sistemas de líneas de espera no
homogéneas para que sirva de apoyo a los administradores de sistemas que puedan
estudiarse a través de este modelo.
Contribuciones y conlusiones: Se desarrolló un prototipo de simulador de
líneas de espera no homogéneas que permite al usuario definir la tasa de llegadas de
clientes al sistema como una función del tiempo.
Con el uso de este prototipo se analiza el efecto que tiene la variación de la
tasa de llegadas en los parámetros de desempeño del sistema de líneas de espera.
xiii
Resumen xiv
En particular, se consideran funciones periódicas de tasa de llegadas de clientes
al sistema. Se estudia el efecto del cambio de la frecuencia de la función periódica,
así como del valor promedio de la función.
También se consideran funciones escalonadas, definidas constantes por inter-
valos y se propone un parámetro para medir la fracción del tiempo que la tasa de
llegadas de clientes al sistema está por encima de la tasa media.
Se define el parámetro λ, que mide la fracción del tiempo en que siendo λ(t)
constante en un intervalo, cumple: λ(t) > λ en un sistema de líneas de espera no
homogéneas. En este trabajo se muestra que este parámetro tiene una relación lineal
con el coeficiente de ocupación del servidor (ρ).
Firma del asesor:
Dr. César Emilio Villarreal Rodríguez
Capítulo 1
Introducción
1.1 Descripción del problema
Una línea de espera consiste básicamente de una fila. Por ejemplo, la fila que forman
los pacientes en un consultorio médico. Otro ejemplo lo constituye la fila de vehículos
que se forma cuando esperan a que la luz del semáforo cambie a color verde.
Un sistema de líneas de espera está formado por clientes y servidores. El
término cliente se refiere a cualquier cosa (persona, máquina, camión, etc.) que
llega al sistema porque requiere de algún servicio. El término servidor se refiere a
aquello que provee el servicio requerido (cajero, mecánico, chofer, etc.)
Población
de clientes
Clientes
Servidor µλ
Figura 1.1: Elementos de una línea de espera.
Una vez que llega un cliente al sistema, si existe un servidor desocupado, éste
atenderá al cliente que acaba de llegar. En caso contrario, el cliente hará fila para
esperar su turno.
Más especificamente, los elementos que describen a un sistema de líneas de
espera son los que se describen a continuación.
1
Capítulo 1. Introducción 2
Número de servidores: Un servidor es una unidad de servicio que atiende a un
cliente a la vez. Los servidores pueden formar arreglos en serie o en paralelo o
una combinación de ambos.
Capacidad del sistema: nos indica el número máximo de clientes que pueden es-
tar dentro del sistema simultáneamente, algunos en servicio y otros esperando
en la fila.
Disciplina de la fila: indica el criterio que se usa para atender a los clientes que
están dentro del sistema. FIFO se refiere a que se atiende al cliente en el
mismo orden en que fueron llegando, en LIFO se atiende primero al último
que entró al sistema, también se puede asignar Prioridad a cada cliente, o dar
el servicio al clientes en orden aleatorio, o bien dar servicio primero al que
toma menos tiempo servirlo. O también es posible servir simultáneamente
a todos los clientes, como ocurre en algunas estrategias de procesamiento de
información en una computadora.
Mecanismo de servicio: se refiere a la forma como se acomodan los servidores.
Comportamiento de los clientes: Los usuarios del sistema de líneas de espera
pueden ser pacientes y esperar el tiempo que se requiera para su servicio en
algunos sistemas. En otros casos pueden ser impacientes y abandonar el sis-
tema cuando el tiempo de espera se ha prolongado demasiado, por ejemplo, en
un banco. Igualmente, es posible que los clientes no puedan cambiar de una
fila a otra dentro del sistema una vez que han decidido unirse a una fila, pero
también es posible que puedan cambiarla, como ocurre frecuentemente en los
supermercados.
El sistema se ve afectado por los siguientes elementos:
Población: representa a los clientes potenciales del sistema. Lo que nos interesa de
la población es su tamaño, si es finita o infinita. El tamaño de la población
Capítulo 1. Introducción 3
indicará si existe un cambio en la probabilidad de que lleguen más clientes al
sistema dependiendo del número de clientes en él.
Naturaleza de las llegadas de clientes al sistema: tasa de llegadas, es decir,
el número de clientes que llegan al sistema por unidad de tiempo y cómo
están distribuidos los tiempos entre llegadas. En general, cuando suponemos
que los clientes llegan de manera independiente unos de otros, la distribución
exponencial es aplicable. Sin embargo, es posible que lleguen en grupos, como
por ejemplo, la llegada de comensales a un restaurante.
El estudio de las líneas de espera se justifica al intentar mejorar el desempeño
de estos sistemas.
El desempeño de una línea de espera se puede medir a partir de algunos de los
siguientes parámetros:
Longitud esperada de la fila: el número de clientes promedio que esperan servi-
cio.
Número esperado de clientes en el sistema: el promedio del número de clientes
que están en servicio, más los que esperan servicio en la fila. Este parámetro
también se denomina estado del sistema.
Tiempo promedio de un cliente en el sistema: que indica el promedio del tiempo
que un cliente permanece en el sistema.
Si la longitud de la fila crece indefinidamente, entendemos que la tasa de llegada
λ es mayor que la tasa de servicio µ.
En general, los tiempos entre llegadas de los clientes al sistema puede presentar
distintas distribuciones de probabilidad.
Cuando tasa de llegadas de clientes al sistema no cambia a lo largo del tiempo
que opera el proceso, lo llamamos homogéneo. Por otra parte, cuando esta tasa
Capítulo 1. Introducción 4
depende del tiempo en que ocurre el evento, y posiblemente del estado del sistema,
la línea de espera es no homogénea.
Algunos procesos pueden estudiarse adecuadamente como una línea de espera
homogénea. Sin embargo existen muchos otros que no solo no es conveniente, sino
que cuando se consideran como procesos homogéneos, los resultados terminan siendo
evidentemente incorrectos.
Entonces se justifica definir la tasa de llegadas de clientes al sistema como una
función del tiempo λ(t), para obtener resultados de los análisis que se hagan del
sistema en estudio más apegados al sistema real.
Cuando la tasa de servicio (µ) es constante a lo largo del tiempo y λ es una
función del tiempo el problema se hace interesante, pues existe la posibilidad de que
en algunos intervalos se viole la condición λ < µ.
La pregunta que surge es: “¿cuánto tiempo le tomará al sistema volver a un
estado estable dadas µ y λ(t) para un tk para el cual se cumple λ(tk) > µ?”
El prototipo de simulador elaborado en este trabajo (LenH), servirá para en-
contrar respuesta a este tipo de preguntas, que por ahora son analíticamente muy
difíciles, si no imposibles, de responder.
1.2 Antecedentes
Existe una infinidad de sistemas que presentan problemas de optimización donde se
involucra la operación de una línea de espera.
Como ejemplo consideremos el caso de un inversionista que está interesado
en iniciar un restaurante de comida mexicana. Él requiere saber cuánto personal
necesita para su nuevo restaurante de manera que no tenga demasiado personal
inactivo, pero que a su vez los comensales no esperen demasiado desde el momento
en que ordenan sus platillos hasta que lo reciben en su mesa.
Capítulo 1. Introducción 5
La cantidad de cocineros, meseros, así como el tamaño del local, cantidad de
mesas que requiere, etc., son importantes para no invertir en materias y/o personal
de manera innecesaria.
Con una inversión inicial superior a lo requerida, el inversionista reducirá su
ganancia debido a que pagará demasiado en salarios e invirtió mucho en equipo
(refrigeradores, quemadores, etc.) y materiales (mesas, sillas, etc.). Seguramente
alquiló (o construyó) un local más grande de lo requerido y eso implica mayores costos
en acondicionamiento (aire acondicionado, iluminación, etc.) y en mantenimiento.
La línea de espera en el restaurante se forma por la lista de personas que va
ordenando platillos y que llegan a la cocina para ser preparados.
Con las demás condiciones iguales, si los comensales esperan demasiado para
recibir los platillos que ordenaron, la próxima vez preferirán ir a otro restaurante
donde el tiempo de espera sea menor. Este es un lujo que el administrador del
restaurante no se puede dar.
Para estimar los parámetros que miden el desempeño de una línea de espera en
sistemas como el antes mencionado se puede desarrollar una simulación a través de
una computadora. A través de la simulación, podemos experimentar con diferentes
escenarios ficticios y obtener información que ayudará al administrador a tomar
decisiones más apegadas a la situación de su establecimiento.
En la actualidad existe mucho software diseñado especialmente para la
elaboración de simulaciones. Entre el software existente se encuentran los lenguajes
de alto nivel (C++, ANSI-C, JAVA, etc.) y otros paquetes diseñados para la simu-
lación de procesos, por ejemplo: GPSS, SIMAN, ARENA, SIMSCRIPT, SLAM II,
MODSIM III, Scilab, Octave, etc.
También existen otros paquetes elaborados para realizar cálculo simbólico o
programación con fines de simulación. Entre estos últimos se pueden mencionar:
Maple, Mathematica, Matlab, entre otros.
Capítulo 1. Introducción 6
Inclusive, algunos de ellos (por ejemplo, Maple) cuentan con una interfaz exclu-
siva para realizar simulaciones. Sin embargo, estas interfaces no eximen la necesidad
de la habilidad de programación para simular sistemas no homogéneos.
1.3 Justificación
Una simulación permite el estudio de un sistema real sin necesidad de afectarlo en
su operación diaria.
El analista de sistemas de líneas de espera con esta herramienta podrá encontrar
información que le ayudará a tomar decisiones para mejorar el desempeño del sistema
simulado.
Por ejemplo, ¿en cuánto se reduce el tiempo promedio de un cliente en el
sistema si agregamos un servidor más?, ¿qué fracción del tiempo la fila es mayor a
12 clientes?, etc.
Un simulador de sistemas de líneas de espera auxiliará al tomador de decisiones
de una manera sencilla, rápida y eficaz en la evaluación de distintos escenarios del
sistema real que está siendo simulado sin necesidad de afectarlo en su desempeño
debido a las pruebas.
Los analistas de sistemas de líneas de espera no homogéneas requieren conocer
los parámetros de desempeño del sistema para sugerir mejoras al administrador del
sistema.
Sin embargo, actualmente no se tienen fórmulas para el cálculo de estos parámet-
ros de una manera analítica, de forma que se necesariamente debemos realizar una
simulación de la línea de espera.
Al ver este requerimiento de los usuarios, decidimos elaborar un prototipo de
simulador que permita la simulación de sistemas de líneas de espera no homogéneas
donde el usuario pueda especificar directamente la función de intensidad de llegadas
Capítulo 1. Introducción 7
de clientes al sistema dependiente del tiempo: λ = f(t).
La ventaja de realizar la simulación de la línea de espera considerando la tasa de
llegadas de clientes al sistea consiste en que los tiempos entre llegadas generados por
la simulación estarán más apegados al comportamiento real del sistema, supuesto que
el sistema en estudio se apegue con muy buena aproximación a la función λ = λ(t).
Esto puede favorecer un estudio a detalle del comportamiento del sistema sim-
ulado.
Además, cuando los parámetros de desempeño de un sistema de línea de espera
no homogénea dependen de la naturaleza de la función λ(t).
Es decir, si calculamos los parámetros de desempeño del sistema no homogéno
como si se tratara de un caso homogéneo utilizando el promedio de λ(t), los resultados
podrían ser diferentes y a causa de esto, el analista del sistema sugerir medidas
erróneas que no tendrán el mismo efecto en el sistema simulado.
1.4 Objetivos
Los objetivos que se persiguen en este trabajo son los siguientes:
1. Adquirir, mediante un estudio profundo, el conocimiento de la estructura del
problema y sus características particulares.
2. Verificar resultados teóricos de los procesos de Poisson no homogéneos a través
de una simulación de computadora.
3. Simular sistemas ficticios o reales para su estudio y para validar el prototipo de
simulador.
4. Obtener una herramienta pedagógica para la enseñanza de las teorías de líneas de
espera que muestre la utilidad de la simulación de sistemas a través de lenguajes
de programación de alto nivel.
Capítulo 1. Introducción 8
5. Proponer una plataforma para la simulación de sistemas o parte de los mismos
que se puedan estudiar a través de la teoría de las líneas de espera.
Finalmente, el simulador propuesto puede servir para dar inicio a una infinidad
de propuestas de líneas de trabajo futuro, por ejemplo, la optimización del tránsito
vehicular en la ciudad y zona metropolitana de Monterrey, N.L., que estan fuera del
alcance de este trabajo.
1.5 Metas
Para el desarrollo de este trabajo se han establecido las siguientes metas:
1. Crear un prototipo de simulador de líneas de espera no homogéneas en el lenguaje
de programación Java.
2. Validar el prototipo de simulador.
3. Elaborar un análisis de los diferentes sistemas donde se pueden presentar proble-
mas relacionados con las líneas de espera y describir los posibles retos que pueden
encontrar los administradores de los mismos.
4. Utilizar el prototipo de simulador para estimar los principales parámetros de
desempeño de diferentes sistemas de líneas de espera no homogéneas.
Capítulo 2
Aplicaciones de los sistemas de
líneas de espera
Frecuentemente, cuando se requiere del estudio de una línea de espera no homogénea,
debido a la carencia de un simulador para sistemas de este tipo se utiliza uno de
líneas homogéneas y se supone la tasa de llegadas de clientes al sistema constante
por intervalos.
Esto puede ocasionar resultados erróneos y sugerir conclusiones que en lugar
de mejorar el desempeño del sistema ocasionen desempeño más pobre [6].
En este capítulo consideramos algunos ejemplos de aplicaciones de líneas de
espera que justifican el desarrollo de un simulador de sistemas de líneas de espera
no homogéneas.
2.1 Supermercados
Llamamos supermercado a una tienda de autoservicio que cuenta con una o varias
cajas registradoras arregladas en paralelo donde los clientes pagan los productos que
desean adquirir.
En general, la cantidad de clientes que llegan a un supermercado depende de
la hora del día, y al menos en México, del día del mes o de la semana.
9
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 10
Al inicio de su operación, el administrador debe, a partir de una estimación
basada en información recolectada de negocios cercanos, determinar cuántas cajas
abrir los primeros días en que se abre el supermercado en cuestión.
En estos días de inicio, generalmente los administradores elaboran una estrate-
gia de publicidad muy fuerte para atraer la mayor cantidad de clientes al negocio.
Para su desgracia, algunas (si no es que todas sus cajeras) tienen apenas unas horas
de experiencia y los clientes potenciales que visitan por primera vez el supermercado
pueden llevarse una mala experiencia debido al tiempo que deben esperar para pagar
los productos que han decidido comprar.
Por otra parte, una vez que el negocio ya ha alcanzado una estabilidad en
cuanto a la cantidad de clientes que reciben en un día promedio, el administrador
ahora debe decidir la cantidad de cajas que operarán y designar un horario para sus
cajeras.
Un análisis estadístico de la cantidad de clientes que se atienden y la distribu-
ción de la cantidad de productos que compran se puede elaborar a partir de la
información recopilada en las cajas que se guarda para cuestiones administrativas y
hacendarias.
En las fechas en que se celebran fiestas, como la navidad, el día de las madres,
etc., en general, las cajeras no se dan abasto y eso ocasiona largas filas y grandes
tiempos de espera. Para estos días el administrador necesita conocer cuántas cajas
rápidas1 debe abrir, y además, otros problemas que se podrían analizar como líneas
de espera, por ejemplo, los pedidos a los proveedores de diferentes insumos.
2.2 Restaurantes
En un restaurante se abre con cero clientes y se espera a que lleguen los comensales
cerca de la hora del desayuno, de la comida, o de la cena, aunque rara vez también1Una caja rápida atiende a clientes que pagarán menos de 10 productos, generalmente.
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 11
llegan clientes en otras horas.
El restaurante cuenta con una cantidad de mesas donde los clientes pueden sen-
tarse a seleccionar los platillos que ordenarán, esperarán a que éstos sean preparados
y después consumirán.
Para una cantidad dada de clientes se requieren además de mesas y sillas,
personal que realiza tareas interdependientes.
El recepcionista reserva una mesa a los clientes conforme se van solicitando o
se asigna conforme van llegando, los meseros ofrecen el menú en cuanto los clientes
llegan a la mesa y esperan a recibir la órden del cliente.
Una vez que la reciben, envían ésta al área de cocina donde los cocineros
preparan los platillos y una vez preparados avisan al jefe de meseros para que los
meseros lleven la orden a la mesa correspondiente.
Entretanto, el cliente puede solicitar bebidas, botanas, etc., y cualquier otro
aperitivo a los meseros.
Mientras los clientes consumen sus platillos pueden también solicitar bebidas o
algún otro requisito, como un plato vacío, más servilletas, hielo, un tenedor, palillos,
etc.
En cuanto los clientes han consumido sus alimentos y están listos para mar-
charse, piden la cuenta a un mesero, quien irá a la caja a solicitarla.
Los clientes salen del restaurante en cuanto han pagado su cuenta y abandonan
la sala.
Sin embargo, los meseros deben limpiar la mesa y dejarla lista para que otro
cliente la encuentre agradable en el momento de llegar a ella.
En este sistema es obvio que el administrador requiere calcular la cantidad de
mesas que debe acomodar en su local, el número de cocineros y ayudantes en el
área de cocina, la cantidad de meseros que trabajaran cada día y, en caso de que
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 12
ofrezca el servicio de entrega a domicilio, el número de repartidores y motocicletas
(o cualquier otro medio de transporte) que requerirá para satisfacer la demanda de
los clientes que soliciten sus alimentos en esta modalidad.
2.3 Hospitales
En un hospital podríamos considerar varios sistemas de líneas de espera en cada
una de los consultorios y departamentos o áreas. Por ejemplo, en el área de urgen-
cias tenemos la llegada de pacientes con algún padecimiento grave que requiere de
atención inmediata.
Una vez que el paciente llega, se determina el grado de urgencia que su padeci-
miento amerita y se le atiende en caso de que no haya otro paciente que se considere
de mayor urgencia.
En otras palabras, la disciplina de la línea de espera en un hospital necesaria-
mente debe modelarse usando prioridad a la llegada de cada cliente del sistema.
El tiempo de servicio también es muy variable y depende directamente de la
gravedad del paciente, de manera que la distribución del tiempo de servicio en este
caso puede no ser exponencial. Probablemente se trate de una distribución general
o en su defecto, dependiente de la distribución de la gravedad de los pacientes que
van llegando al área de urgencias.
Para los pacientes que llegan a otras áreas, como por ejemplo, consultorios
de diferentes especialidades pueden presentar distribuciones exponenciales u otras
distribuciones en los tiempos de servicio de los pacientes, características de la espe-
cialidad, que pueden o no ser conocidas.
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 13
2.4 Telefonía celular
Las comunicaciones a través de la telefonía celular han sufrido un crecimiento acen-
tuado por el avance en la tecnología electrónica y con ello, nuevos retos para los
administradores de estos sistemas.
Los administradores generalmente estan midiendo cuántas llamadas hace en
promedio el cliente y cuánto tarda en promedio cada llamada.
Al administrador le interesa, en particular, la distribución de estas dos canti-
dades, especialmente a la hora pico, del día más cargado de llamadas de la semana.
La distribución de estas cantidades se puede calcular a partir de los datos que se
almacenan en sus bases de datos para calcular los costos de las llamadas y estimar la
probabilidad de que una llamada no se pueda realizar debido a que todos los canales
para realizarla están ocupados, dada una población de clientes del sistema.
Obviamente, el administrador preocupado por dar el mejor servicio posible
a sus usuarios requiere conocer el número de llamadas que se pierden debido a la
capacidad del sistema (que ocurre en la hora pico de requerimiento de servicio).
Este parámetro le permitirá decidir más acertadamente en la necesidad de
aumentar el equipo que tiene para satisfacer una mayor demanda en esos intervalos
de tiempos.
2.5 Internet
Los datos se transfieren a través de Internet en forma de paquetes de información a
través de un número de switches, siguiendo un camino que se forma por las inter-
conexiones desde el punto de origen donde se solicita o envía información hasta un
destino.
En cada una de las interconexiones se forman filas durante el trayecto del punto
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 14
origen al destino.
Generalmente un switch tiene una cantidad fija de puertos donde puede recibir
o enviar información a través de líneas de comunicación.
Cuando llega información a un switch de entrada, se crean paquetes de infor-
mación, normalmente del mismo tamaño, y estos paquetes son enviados a través de
la red.
El administrador requiere conocer el efecto de abrirN puertos en la distribución
de la longitud de la fila dada una carga de flujo de información. También desea
conocer si la longitud de la fila se ve afectada por la forma del proceso de llegada de
los paquetes de información.
Para el estudio de estos sistemas se consideran dos casos. En el primero se
considera que para cada paquete se conoce que el trayecto será independiente de los
demás con una probabilidad p. Esta suposición ocasiona que el proceso de llegadas
siga una distribución binomial con parámetros N y p.
En el segundo caso se supone que los procesos de llegadas de paquetes de infor-
mación a diferentes switches son independientes, pero que existe cierta correlación
entre las llegadas en cada una de las líneas de comunicación. El proceso de llegadas,
entonces, toma valores discretos, y es una cadena de Markov de parámetro discreto.
2.6 Procesamiento de información
Cuando una computadora está trabajando, generalmente están ocurriendo varios
procesos sin que el usuario lo note. Puede, por ejemplo, estar escuchando música,
editando un documento en un procesador de texto, y a la vez, descargando informa-
ción desde Internet.
Todo esto ocurre gracias a que dentro de la computadora hay un programa
(scheduler) que va asignando periodos de tiempo a cada uno de los procesos para
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 15
que sean atendidos por el procesador.
Dependiendo de la pioridad asignada a cada uno de los procesos, el scheduler
indica qué proceso puede entrar al procesador para ser atendido temporalmente.
La fila de procesos que se forma para ser atendidos por el procesador (o los
procesadores, en caso de que la computadora tenga más de uno), debe ser atendida
considerando la priodidad asignada a cada proceso optimizando el tiempo total de
procesamiento.
Las longitudes de las filas en el scheduler crecen mucho en el arranque de la
computadora, porque debe cargar ciertos programas que le permiten a la computa-
dora funcionar correctamente (manejadores de hardware) y en algunos casos en los
que el usuario trabaja con muchas aplicaciones de manera simultánea y cada una de
ellas requiere de una buena carga de procesamiento.
2.7 Tránsito vehicular
Es muy bien conocido que la cantidad de vehículos que hay en una intersección
depende fuertemente de la hora del día a la que se realiza la observación.
Las autoridades de cada municipio siempre están tratando de mejorar el nivel
de vida de los habitantes de su municipio y eso conlleva la optimización de los
tiempos de transporte desde sus casas hasta sus lugares de trabajo, estudio y/o
esparcimiento.
La optimización del flujo de vehículos en una ciudad es un problema complejo,
independientemente del tamaño de la ciudad, pero obviamente, el número de inter-
secciones que tenga la red de calles y avenidas, los cambios en los números de carriles
en una misma avenida o de una avenida a otra en una intersección, la duración de la
luz verde en cada semáforo, el clima, la cultura vial de los conductores, entre otros
factores, afectan el desempeño de este complejo sistema que demanda optimización.
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 16
Evidentemente, cada ciudad tiene sus particularidades. Una ciudad con una
mala planeación de crecimiento generalmente tiene un pésimo tránsito vehicular.
Otra ciudad con mejor planeación tendrá mejor tráfico, pero en ambas siempre es
deseable mejorar la vialidad para no aumentar los niveles de estrés de los habitantes
y disminuir los tiempos de traslado de un lugar a otro.
En estos sistemas se requiere conocer el tiempo que debe tardar cada una de
las luces del semáforo para optimizar el tránsito en cada cruce de avenidas y/o calles,
las avenidas y cruces de avenidas con mayor número de tránsito vehicular, el tipo de
vehículos que transitan esas vías (coches compactos, autobúses, camiones de carga,
etc.), la carga vehicular (número de vehículos que pasan por un punto de la vía de
comunicación en cuestión por unidad de tiempo), la capacidad de las avenidas y/o
calles de las intersecciones, entre otras variables que le ayudarán a tomar decisiones
para mejorar el desempeño del sistema.
A partir de esta información el administrador podrá decidir si es conveniente
invertir en la construcción de un paso a desnivel, abrir una nueva avenida para
desahogar el tránsito en una avenida con demasiada carga, modificar el tiempo que
tarda cada una de las luces del semáforo, entre otras medidas posibles para mejorar
la vialidad en su localidad.
2.8 Casetas de cobro
Cuando se construirá una autopista de cuota, se requiere, invariablemente de una
cantidad de casetas de cobro para que los viajeros cumplan con el pago de la cuota
debida al uso de la autopista.
El diseñador de la autopista debe determinar cuántas casetas construir a partir
de información estadística: cuántas personas podrían requerir el uso de la autopista,
crecimiento potencial de las ciudades que quedan conectadas por la autopista, número
de carriles que la autopista tendrá, etc.
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 17
Una vez decidida la cantidad de casetas de cobro, se construyen y cuando
la autopista inicia su funcionamiento, se contrata al personal que atenderá a los
viajeros.
El diseñador debe tratar de estimar la respuesta a varias preguntas: ¿qué pasa
en los periodos de vacaciones si de inicio no se construyen casetas para todos los
carrilles y solamente se dejan una cantidad fija menor?, ¿cuál sería el ahorro en el
costo inicial del proyecto?, ¿cuánto aumenta el tiempo de espera de un cliente en la
época de vacaciones?, etc.
2.9 Estacionamientos
El diseño de un estacionamiento para un establecimiento comercial es de vital
importancia para utilizar de la manera más adecuada los recursos de espacio con
que se cuenta al inicio de un proyecto.
En este caso, la capacidad del sistema será finita, e igual al número de lotes
que se destinen a espacio para cada coche, la distribución de los tiempos de servicio
y de llegadas de los clientes al sistema dependerán de varios factores, entre los que
podemos mencionar ubicación dentro de la ciudad, tamaño de la ciudad, tipo de
establecimiento, etc.
No se comporta de la misma manera un estacionamiento de una tienda de
autservicio al de un estadio de fútbol, por ejemplo.
Una vez que el establecimiento comercial se diseñó y se contruyó, el administra-
dor debe conocer la fracción de los clientes que no encuentran espacio en el esta-
cionamiento y en qué días de la semana y las horas en las que esto ocurre más
frecuentemente.
También le interesa saber si algunos clientes dejan de visitar su establecimiento
a causa de que el estacionamiento es insuficiente en esos periodos de tiempo, y en
caso de ser así, qué fracción de los clientes se pierden y la posible disminución en sus
Capítulo 2. Aplicaciones de los sistemas de líneas de espera 18
ingresos debida a la pérdida de clientes.
2.10 Otras aplicaciones
Las aplicaciones mencionadas son simplemente una pequeña muestra de la inmensa
cantidad de sistemas que se pueden estudiar a través de una simulación de una línea
de espera no homogénea.
Muchas otras aplicaciones se pueden encontrar en otros sistemas como las ofic-
inas postales, centros de llamadas (call center), sistemas de producción, redes de
carreteras, servicios de transporte, etc.
Igualmente, a través de una simulación se pueden estudiar redes de líneas de
espera, que consisten en sistemas que contienen varias líneas de espera interrela-
cionadas unas con otras de manera que podemos analizar cómo afectan los parámet-
ros de desempeño de todo el sistema las características de cada subsistema.
Capítulo 3
Plataforma propuesta
En este capítulo se presenta una propuesta para el desarrollo de un simulador de
sistemas de líneas de espera que pueda ser aplicado a la mayor cantidad de sistemas
reales posibles.
Se consideran para esta propuesta los requerimientos básicos de los casos men-
cionados en el capítulo anterior.
Esta plataforma servirá para generar información como apoyo en la toma de
decisiones de los sistemas que se pueden modelar adecuadamente a través de líneas
de espera no homogéneas.
3.1 Características
Se estudiarán sistemas de líneas de espera que presentan diferencia en la naturaleza
de las llegadas de clientes al sistema y con tiempos de servicio con parámetro µ
constante respecto del tiempo.
Las que se han considerado para la plataforma propuesta son las que más
frecuentemente se han encontrado en los sistemas analizados en el capítulo anterior
de acuerdo a las referencias consultadas.
19
Capítulo 3. Plataforma propuesta 20
3.1.1 Naturaleza de las llegadas
Las distribuciones que más frecuentemente se encontraron en los tiempos entre lle-
gadas de los clientes al sistema y que se proponen para incluirse en la plataforma
son:
• Exponencial, Erlang,
• Binomial,
• Determinista,
• Constante,
• General.
Considerar también llegadas de varios clientes al sistema de manera simultánea (en
grupo).
3.1.2 Tasa de servicio
Las distribuciones que más frecuentemente se encontraron en las tasas de servicio de
los clientes por el sistema y que se proponen para incluirse en la plataforma son:
• Exponencial, Erlang,
• Binomial,
• Determinista,
• Constante,
• General.
Capítulo 3. Plataforma propuesta 21
3.1.3 Atributos de los clientes
Dependiendo del sistema, un cliente puede tener diferentes atributos.
Por ejemplo, en un supermercado, el número de productos que compra, en el
área de emergencias de un hospital, la gravedad del paciente, etc.
La distribución de cada una de estos atributos puede en algunos casos ser
conocida y el administrador puede querer incluirla en la simulación de su sistema.
Las que se pueden incluir en estos casos son:
• General,
• Determinista,
• Constante.
3.1.4 Comportamiento de los clientes
El comportamiento de los clientes dentro del sistema o justo antes de entrar puede
afectar de una manera importante los parámetros de desempeño del sistema.
Los que se sugiere se incluyan en la plataforma propuesta son:
• Si decide entrar o no al sistema, dependiendo del estado del mismo y/o de su
capacidad.
• Si se permite o no salirse del sistema después de esperar un rato en la fila.
• Si se permite o no cambiar de fila.
3.1.5 Mecanismo de servicio
El mecanismo de servicio se refiere a la forma como se acomodan los servidores en
el sistema para atender a los clientes.
Capítulo 3. Plataforma propuesta 22
Es posible encontrar sistemas con un único servidor, sistemas con varios servi-
dores arreglados en paralelo, como ocurre en los supermercados o en los bancos, un
único arreglo de servidores en serie como en las oficinas de gobierno al tramitar una
licencia de conducir, o un arreglo de servidores de p servidores en paralelo y s en
serie.
3.1.6 Capacidad del sistema
El sistema se debe considerar con capacidad finita cuando el número de clientes que
pueden estar dentro de él es constante y conocido.
Cuando el número de clientes que pueden estar en el sistema puede crecer tanto
como se requiera, entonces el sistema se modelará como un sistema con capacidad
infinita.
El simulador debe permitir la simulación de sistemas que trabajen en cualquiera
de estos casos.
3.1.7 Tamaño de la población
Con la finalidad de simplificar los cálculos estadísticos, se considera una población
finita cuando la probabilidad de que un cliente llegue al sistema en un intervalo
de tiempo dado se ve afectada por la cantidad de clientes que se encuentran en el
sistema.
Podemos considerar el tamaño de la población infinita cuando la probabilidad
de que llegue un cliente al sistema en un intervalo de tiempo dado no se vea afectada
por la cantidad de clientes que han llegado al mismo.
El simulador debe incluir a ambos.
Capítulo 3. Plataforma propuesta 23
3.1.8 Disciplina de la fila
La disciplina de la fila se refiere al criterio que se utiliza para determinar cuál es el
siguiente cliente que será atendido por el servidor una vez que esté desocupado.
Los más frecuentes son:
• FIFO, es decir, los clientes se atienden en el mismo orden que llegaron al
sistema.
• LIFO, en el cual los clientes se atienden en el orden inverso al que llegaron al
sistema.
• Pr, Asignando prioridades a los clientes.
• SIRO, Servir en orden aleatorio.
• SPT, Servir primero a los que toma menos tiempo en servir.
• SIM, Servir a todos los clientes de manera simultánea.
• BATCH, Servir a los clientes por grupos.
Se sugiere se incluyan al menos estas disciplinas de la fila para permitir una amplia
gama de posibilidades para los administradores de los sistemas de líneas de espera.
3.2 Visualización
El simulador debe permitir (de manera opcional) ver cómo avanza la simulación en
una ventana que muestre los clientes que llegan al sistema, cómo éstos van de un
servidor a otro en el arreglo de servidores en serie, cómo salen del sistema, etc.
En caso de que los clientes tengan características distintivas, como por ejemplo,
un grado de molestia, que puede ser proporcional al tiempo que llevan en el sistema e
inicialmente proporcional a la longitud de la fila que encuentra al llegar, el simulador
Capítulo 3. Plataforma propuesta 24
debe indicar a través de un cambio gradual de color (por ejemplo, del negro al rojo)
cómo va aumentanto el grado de molestia de cada cliente dentro del sistema, de
manera que al llegar a una intensidad de rojo puro (100%) decida abandonar el
sistema y no volver.
El usuario del simulador podrá variar la velocidad de la simulación a través
de una slide bar, por múltiplos enteros (al doble, al triple, etc.) del tiempo real
(equivalente al tiempo de procesamiento) vs. el tiempo del sistema (el tiempo que
el sistema simulado ha estado trabajando, de acuerdo a la simulación).
Igualmente, para un control estadístico y para el auxilio en la toma de decisiones,
el simulador debe permitir al usuario mostrar un histograma de las proporciones de
los tiempos que el sistema se encuentra en los diferentes estados (cero clientes, un
cliente, etc.)
Esto sugerirá al administrador la necesidad de cambiar el número de servidores
del sistema o de cambiar la disposición de los mismos o bien, la disciplina de la
fila. Igualmente, es posible arrancar con algunos servidores que atiendan a clientes
que cumplan con una característica especial (por ejemplo, que tengan un grado de
molestia alto).
Igualmente, es conveniente que el simulador genere la simulación sin una visual-
ización y se grabe toda la información en un archivo. El simulador debe permitir leer
la información de este archivo y mostrar de manera visual cada evento, avanzando el
el tiempo, o en sentido inverso. Esto ayudará a los analistas como al administrador
del sistema a entenderlo mejor.
3.3 Reportes
Diferentes administradores están interesados en distintos aspectos de su sistema.
El simulador debe dar una amplia gama de posibilidades de reportes. El usuario
debe poder indicar qué variables incluir en el reporte final de la simulación.
Capítulo 3. Plataforma propuesta 25
Entre las variables y estimadores que el administrador pudiera requerir están:
• Número promedio de clientes en el sistema
• Número de clientes máximo y la hora a la que ocurrió
• Tiempo promedio de espera en fila del cliente
• Tiempo promedio de un cliente en el sistema
• Fracción del tiempo que el servidor está ocioso
• Fracción del tiempo que el número de clientes en el sistema es 0, 1, 2, etc.
(sistemas con un único servidor)
• Gráfica de la distribución del número de clientes en el sistema (sistemas con
varios servidores).
• Fracción del tiempo en que la fila promedio en el sistema es mayor a un valor
k ∈ N, dado.
• El tiempo promedio entre arribos calculado a partir de los valores de los tiem-
pos entre llegadas generado por el simulador.
• El tiempo total de operación del sistema de acuerdo a la simulación.
• El tiempo total que se requirió para que el simulador hiciera el procesamiento.
• Fracción de los clientes que abandona el sistema debido a que alcanzó el nivel
máximo de molestia.
• Fracción de los clientes que se pierden debido a la capacidad del sistema.
• Fracción de los clientes que deciden no entrar al sistema debido a su estado a
la hora a la que llegan al mismo.
Capítulo 3. Plataforma propuesta 26
3.4 Otras consideraciones
Cada reporte debe incluir los datos del sistema: número de servidores y cómo están
arreglados, disciplina de la fila, función λ(t), capacidad del sistema, etc.
Para facilitar el análisis de sistemas reales es recomendable que el simulador
permita al usuario leer datos desde un archivo, por ejemplo, los valores de los tiempos
en los que ocurrieron las llegadas de los clientes al sistema y que el software calcule
los parámetros del sistema de acuerdo a esos datos históricos.
Igualmente, incluir herramientas para determinar si un conjunto de datos pre-
sentan alguna distribución con algún parámetro conocido, o calcular alguna estadís-
tica de datos grabados en archivo.
Esto permitirá al usuario conocer mejor su sistema y tomar decisiones para su
óptimo funcionamiento.
En algunos sistemas es muy frecuente el uso de servidores que tienen diferente
tasa de servicio. Por ejemplo, en los supermercados, consideran cajas rápidas para
atender clientes que desean adquirir una cantidad pequeña de productos. Incluir
en la plataforma este tipo de opciones permitirá al usuario obtener resultados más
apegados al sistema que administra en la realidad.
Capítulo 4
Prototipo de simulador
Para este trabajo se desarrolló un prototipo de simulador de líneas de espera no
homogéneas que hemos denominado LenH, y que se describe enseguida.
4.1 Prototipo LenH
El prototipo de simulador LenH permite simular sistemas con procesos de llegadas
Poisson no homogéneos, es decir, tasas de llegadas de clientes al sistema λ(t) como
una función del tiempo (siendo t la variable tiempo) y distribución con parámetro
λ(t) evaluada en el valor de t en el cual la simulación se encuentra.
El sistema simulado a través de este prototipo consta de c servidores que tra-
bajan en paralelo. La tasa de servicio de cada uno de los servidores es una variable
aleatoria independiente que presenta una distribución exponencial con parámetro
constante y conocido µ.
Una vez que un cliente llega al sistema, ingresa a la fila que tenga la menor
longitud de fila que encuentra en el sistema.
La disciplina de la fila del sistema simulado es FIFO, es decir, los clientes son
atendidos por los servidores en el mismo orden en que fueron ingresando a sus filas
respectivas.
El sistema simulado tiene una capacidad infinita. La población de clientes
27
Capítulo 4. Prototipo de simulador 28
potenciales que pueden llegar al sistema es infinita.
El usuario debe indicar la cantidad de unidades de tiempo que se realizará la
simulación del sistema junto con los otros parámetros antes indicados. Esto permite
al usuario simular funciones definidas por intervalos, de manera que al detenerse la
simulación el usuario puede definir una nueva función λ(t) y continuar la simulación
considerando los valores obtenido hasta desde 0 hasta ese valor del tiempo.
El simulador calculará los siguientes parámetros de desempeño del sistema
simulado:
3 Número de clientes promedio en el sistema (L(prom)),
3 Longitud de la fila promedio (Lq(prom))
3 Probabilidad de que el sistema esté vacío (P_0)
3 Intensidad de tránsito a través del sistema (rho)
También se indican para cada ciclo de la simulación el número de arribos y de
servicios realizados hasta ese valor de t, el número de clientes promedio en el sistema
y la fila promedio en el sistema para ese valor del tiempo en la simulación.
La interfaz gráfica del simulador también incluye una ventana de texto que
muestra datos particulares de cada uno de los eventos que se generan en la simulación,
a lo largo de ésta.
El primer renglón de la caja de texto muestra la siguiente cadena de caracteres:
# t_L t_Q t_Serv t_Sal L_bar t lambda(t) Serv L(t)[Id]
Esta cadena de caracteres servirá como referencia para mostrar en la misma caja de
texto los valores de las diferentes variables que idenfican a cada uno de los eventos
que ocurren en el sistema simulado, de acuerdo con la simulación.
• El primer signo (#) indicará, bien A, bien S, en un arribo o en una salida,
respectivamente.
Capítulo 4. Prototipo de simulador 29
• t_L → es el tiempo en que llegó el cliente al cual se refiere el evento de ese
renglón (cliente actual).
• t_Q → es el tiempo que el cliente actual permaneció en la fila.
• t_Serv → es el tiempo de servicio del cliente actual.
• t_Sal → el tiempo en el cual salió el cliente actual del sistema.
• L_bar → es el número de clientes en el sistema promedio desde que inició
la simulación.
• t → es el tiempo en el que está ocurriendo el evento actual.
• lambda(t) → es la tasa de arribos de clientes al sistema para ese valor del
tiempo.
• Serv → es un número entero ∈ [0, c] que identifica al servidor en el cual
ocurrió el evento actual.
• L(t)[Id] → es el número de clientes en el servidor actual. [Id] → es
el identificador del cliente.
La interfaz gráfica del simulador se muestra en la figura 4.1 .
Al realizar una simulación, el usuario obtiene, además de los parámetros mostra-
dos en la interfaz gráfica, varios archivos de texto. Cada uno de los archivos de texto
contienen diferentes variables que pueden servir para graficar en un software para
ese fin.
Los archivos generados por el simulador son:
• L.txt que contiene el número de clientes en el sistema en el tiempo t y el valor
del tiempo t.
• Lbar.txt que contiene el número de clientes promedio en el sistema (de toda
la simulación) hasta el tiempo t y el valor del tiempo t.
Capítulo 4. Prototipo de simulador 30
Figura 4.1: Interfaz gráfica del simulador LenH.
• resultados.txt que contiene los mismos datos que se incluyen en la ventana
de resultados de la interfaz gráfica del simulador.
Al inicio de cada uno de los archivos se graba información referente al sistema que
está siendo simulado, de manera que el lector conozca su origen. La forma como se
graba esta información es como se muestra a continuación:
# Simulacion de una linea de espera no homogenea.
# Informacion del sistema simulado:
# lambda(x) = 25.0 * cos(PI * x / 12.0) + 27.85
# x representa la variable <<tiempo>>
# mu = 39.75
# Servidores en paralelo = 1
Inmediatamente después se graban los datos que le corresponden a cada archivo,
iniciando siempre con el valor del tiempo en la simulación.
De manera semejante, al final de cada archivo se indican los valores de los
parámetros que tienen mayor importancia en el desempeño del sistema de líneas de
espera, como se muestra enseguida:
Capítulo 4. Prototipo de simulador 31
# No. clientes en el sistema [promedio]: 27.41258
# No. clientes en fila [promedio]: 26.72335
# Maximo No. clientes en fila: 152
# Tasa de arribos [promedio]: 27.51222
# Tiempo entre arribos [promedio]: 0.03635
# Total de arribos: 13757
# Tasa de servicio [promedio]: 39.8957
# Tiempo de servicio [promedio]: 0.02507
# Total de servicios: 13750
# Tiempo en la fila [promedio]: 0.99681
# Intensidad de tráfico: 0.68924
# Fracción de tiempo de ocio: 0.31076
#
# Tiempo de procesamiento: 11 minutos y 41.998 segundos.
4.2 Algoritmo
El algoritmo utilizado para la simulación del sistema de líneas de espera es el que se
muestra en la figura 4.2 .
Básicamente el algoritmo inicia declarando valores iniciales para cada una de
las variables requeridas y la generación de tiempos de próxima llegada y de servicio
del primer cliente en el sistema.
Después inicia el ciclo principal (líneas 6 a 26). En éste, se tienen tres fases
principales.
Entrará a la primera fase (líneas 11 a 16) si el valor del tiempo en la simulación
coincide con el valor del tiempo de la siguiente llegada. En caso de entra a esta fase
genera una nueva llegada y aumenta el contador de número de clientes en el sistema.
A la segunda fase (líneas 17 a 21) entrará si el tiempo en la simulación es igual
Capítulo 4. Prototipo de simulador 32
al tiempo de la siguiente salida. En este caso, se disminuye el contador de clientes
en el sistema y el tiempo de siguiente servicio se iguala con un número postivo muy
grande para evitar salidas de clientes cuando éste está vacío.
La tercera y última fase (líneas 22 a 25) permite identificar si es posible atender
más clientes. Si es así, entonces se genera el tiempo de servicio del cliente en el
servidor.
Finalmente el algoritmo indica reportar los resultados de los cálculos.
Esta explicación del algoritmo (grosso modo) solamente muestra la estructura
general. Obviamente, el programa elaborado en Java incluye muchos otros cálculos
para estimar los valores de los parámetros de desempeño del sistema de líneas de
espera simulado.
Para evitar tiempos de procesamiento excesivamente grandes se utilizó una
lista enlazada como estructura de datos en el manejo de la fila en cada servidor del
sistema simulado.
Esto evita el requerimiento de copiar un vector de clientes a otro de mayor
tamaño, necesitando solamente un cambio en cada evento.
4.3 Descripción del parser
Un parser se define como un analizador de cadena de caracteres compuesto de una
sucesión de expresiones o símbolos para determinar su estructura gramatical con
respecto a una gramática definida con anterioridad.
En nuestro caso, el parser servirá de apoyo para que el protitopo de simulador
al interpretar la cadena de caracteres que el usuario introduzca como la función λ(t).
El parser creará una estructura de árbol donde se elaborarán las operaciones en el
orden correcto de acuerdo a la prioridad de las operaciones matemáticas indicadas
en la función λ(t).
Capítulo 4. Prototipo de simulador 33
El parser que se utilizó en el prototipo del simulador LenH es de distribución
libre y de código abierto, escrito por Dr. Leigh Brookshaw1 (1996) en el lenguaje
Java.
El parser se obtuvo de Internet 2 y tiene definidas, entre otras, las siguientes
constantes, operaciones y funciones matemáticas:
• + → suma
• − → resta
• ∗ → multiplicación
• / → división
• ^ → potencia
• PI → π ≈ 3.14159265358979
• e → base neperiana de los logaritmos (e ≈ 2.718281828)
• sin → función seno
• cos → función coseno
• tan → función tangente
• asin → función arco seno
• acos → función arco coseno
• atan → función arco tangente
• log → función logaritmo común
• sqrt → función raíz cuadrada
• log10 → función logaritmo en base diez1University of Southern Queensland. Department of Mathematics and Computing.2http://www.java2s.com/Code/Java/Advanced-Graphics/DrawMathFunctionYourOwn.htm
Capítulo 4. Prototipo de simulador 34
• exp → función exponencial
• sinh → función seno hiperbólico
• cosh → función coseno hiperbólico
• tanh → función tangente hiperbólica
• asinh → función arco seno hiperbólico
• acosh → función arco coseno hiperbólico
• atanh → función arco tangente hiperbólica
Debe tenerse en cuenta que cualquiera de las operaciones, constantes y fun-
ciones antes mencionadas puede ser utilizada al definir el parámetro λ como una
función del tiempo.
Sin embargo, es importante recalcar que el valor del parámetro λ necesaria-
mente debe ser positivo, pues no tiene sentido físico definir una tasa de llegadas de
clientes al sistema con valor negativo.
En caso de que en algunos intervalos en el dominio de la función λ, ésta se
haga negativa, el valor de t se incrementará hasta que se encuentre un valor de λ se
haga positivo mayor o igual a 0.1.
Sin embargo, si se llega a tener un valor del tiempo para el cual la función
λ no esté definida, la simulación se detendrá en ese punto e indicará al usuario el
problema que se encontró.
4.4 Características del equipo de cómputo
Todas las simulaciones que a continuación se mencionan se llevaron a cabo en una
computadora portátil (laptop) marca Hewlett–Packard modelo HP 530 Notebook
Capítulo 4. Prototipo de simulador 35
No L Lq ρ tproc
1 4.45329 3.65335 0.79994 379.68521
2 3.92574 3.12542 0.80033 366.84892
3 3.52093 2.73659 0.78434 357.18521
4 3.95257 3.14911 0.80346 373.01946
5 3.61687 2.82813 0.78874 371.16345
6 3.81286 3.01848 0.79438 376.54024
7 3.96549 3.16985 0.79563 374.06010
8 3.85938 3.06705 0.79233 380.60114
9 4.08598 3.27858 0.8074 393.07383
10 3.98331 3.18409 0.79923 353.56135
Promedios: 3.91764 3.12107 0.79658 372.57389
Desviación estándar: 0.25503 0.24997 0.00693 11.48161
Teóricos: 4.00000 3.20000 0.80000
Tabla 4.1: Resultados usados en la validación del prototipo LenH
PC con un procesador Intel c© Core c© DUO T 2400 @ 1.83 GHz × 2, 1524 MB de
memoria (RAM) sobre un sistema operativo de 32 bits.
Las pruebas se realizaron sobre la plataforma Windows Vista.
4.5 Validación del simulador
Para validar el simulador se consideró un sistema de líneas de espera homogénea, que
trabaja con un único servidor, con tasa de llegadas de clientes al sistema λ = 20.0 y
una tasa de servicio µ = 25.0
Se realizaron un total de 10 repeticiones de simulación del sistema y los datos
se resumen en la tabla 4.1.
Capítulo 4. Prototipo de simulador 36
Los valores teóricos de los parámetros de desempeño de este sistema son los
siguientes:
• Número de clientes esperado en el sistema:
L =λ
µ− λ=
20
25− 20= 4.0
• Número de clientes esperado en la fila:
Lq =λ2
µ (µ− λ)=
202
25 · (25− 20)=
400
125= 3.2
• Tránsito a través del sistema (ocupación del servidor):
ρ =λ
µ=
20
25= 0.8
Para justificar este resultado de manera estadística se realizó una prueba de medias
para cada uno de los parámetros antes mencionados.
Para esta prueba se consideraron:
H0 : µ = x
Ha : µ 6= x
usando el estadístico de prueba:
T =x− µS/√n
donde n = 10 es el número de repeticiones, S es la desviación estándar y x la media
muestrales.
En este caso, la región de rechazo es |t| > tα/2 con ν = 9 grados de libertad.
El valor del nivel de confianza α para esta prueba en cada caso es:
L Lq ρ
x 3.91764 3.12107 0.79658
µ 4.00000 3.20000 0.80000
t −1.02121 −0.99857 −1.56216
α 0.16691 0.17205 0.07634
Capítulo 4. Prototipo de simulador 37
Estos valores se calcularon con el uso del programa Calc de OpenOffice 3.1.0.
4.6 Sistemas ficticios
Como muestra de la utilidad que se puede dar a un simulador desde el punto de vista
teórico, se realizan algunas simulaciones de sistemas ficticios donde se considera la
función λ(t) como una función periódica con media y frecuencia conocidas y se
analizan los efectos del cambio de la media y la frecuencia en los parámetros de
desempeño del sistema sin cambiar el número de servidores en el mismo.
También se muestran los resultados de las simulaciones de sistemas que traba-
jan con tasas de llegadas definidas constantes por intervalos.
Esto permitirá obtener información que el administrador puede utilizar para
tomar decisiones para optimizar alguna cuestión dentro del mismo.
4.6.1 Variación de la frecuencia
Para observar cómo afecta a los parámetros de desempeño principales de una línea
de espera no homogénea la frecuencia de la función λ(t) siendo ésta periódica, se
realizaron simulaciones de sistemas con un solo servidor y se consideró la función
λ(t) con media en λ = 30.0 y frecuencias variables.
La frecuencia de la función: λ(t) = cos(ωt) + k, es: f = ω/2π. En otras
palabras, la función ejecuta ω/2π ciclos por unidad de tiempo. Es decir, esta función
tiene un periodo de longitud: p = 2π/ω. La media de λ(t) = cos(ωt) + k es λ = k,
como se muestra en la figura 4.3 .
Para cada una de las pruebas que se muestran en la tabla 4.2 se realizaron 10
simulaciones del mismo sistema con exactamente los mismos parámetros λ(t) y µ,
siempre considerando solamente un servidor. Las tablas que resumen los resultados
de cada una de las diez corridas para cada función λ(t) considerada se incluyen en
Capítulo 4. Prototipo de simulador 38
λ(t) L Lq ρ f
25 cos(2 · πt) + 30 3.20385 2.58150 0.62235 1
25 cos(πt) + 30 5.47499 4.77700 0.69799 1/2
25 cos(πt/2) + 30 8.88111 8.14860 0.73251 1/4
25 cos(t) + 30 12.08318 11.34364 0.73954 1/2π
25 cos(πt/4) + 30 14.20324 13.46032 0.74292 1/8
25 cos(πt/8) + 30 25.57674 24.82570 0.75104 1/16
25 cos(πt/12) + 30 34.39592 33.65169 0.74423 1/24
Tabla 4.2: Variación de parámetros de desempeño al cambiar la frecuencia de la
función periódica λ(t) con µ = 40.0.
los apéndices de este trabajo (sección A.2).
Los mismos resultados de forma gráfica se muestran en las figuras 4.4 y 4.5 .
4.6.2 Variación de la media
Para verificar cómo se afectan los parámetros de desempeño de una línea de espera
estimados por el prototipo al variar la media, cuando λ(t) es una función periódica,
se consideraron funciones de la forma:
λ(t) = 10 cos(2 πt) + k (4.1)
donde los valores de k se variaron desde k = 10, 20, 30 y 40.
Para cada una de las funciones λ(t) así construidas, se realizaron 10 corridas
de exactamente el mismo sistema, que consistió de un servidor, con tasa de servicio
µ constante e igual a k − 5.0, con el fin de que el sistema tuviera algunos intervalos
donde se cumpliera λ > µ y otros en los que λ < µ.
En estas pruebas habrá algunas funciones para las cuales la tasa de llegadas
esté tomando valores menores a 0.1. Recuérdese que el prototipo de simulador para
Capítulo 4. Prototipo de simulador 39
λ(t) L Lq ρ λ
10 cos(2πx) + 10 0.76617 0.50583 0.26034 10.0
10 cos(2πx) + 20 4.08152 3.30508 0.77644 20.0
10 cos(2πx) + 30 6.05583 5.20216 0.85367 30.0
10 cos(2πx) + 40 7.80487 6.92129 0.88357 40.0
10 cos(2πx) + 50 9.70255 8.79708 0.90547 50.0
Tabla 4.3: Variación de parámetros de desempeño al cambiar λ con µ = λ+ 5.0.
λ(t) < 0.1 incrementará el valor de t hasta que λ(t) > 0.1.
Lo interesante en estos casos será el comportamiento de los parámetros esti-
mados por el prototipo de simulador.
En la tabla 4.3 se resumen los resultados obtenidos para cada una de las simula-
ciones elaboradas como se indica antes.
Gráficamente, estos mismos resultados se muestran en la figura 4.6 .
La gráfica que corresponde a la variación de ρ con los cambios en λ se muestran
en la figura 4.7 .
Para el caso de λ = 50.0 se realizó solamente una corrida y se obtuvieron los
siguientes resultados:
No.clientes en el sistema (promedio): L = 9.70255
No. clientes en fila (promedio): Lq = 8.79708
Maximo No. clientes en el sistema: Lmax = 50
Tasa de arribos (promedio): λ = 50.10378
Tiempo entre arribos (promedio): 1/λ = 0.01996
Tasa de servicio (promedio): µ = 55.27751
Capítulo 4. Prototipo de simulador 40
Tiempo de servicio (promedio): 1/µ = 0.01809
Intensidad de tráfico: ρ = 0.90547
Fracción de tiempo de ocio : P0 = 0.09453
Tiempo en la fila (promedio): Wq = 0.19363
Tiempo de procesamiento: 31 minutos y 19.082 segundos.
los cuales se incluyen en la tabla 4.3 (último renglón) como en las gráficas 4.6
y 4.7 .
4.6.3 λ(t) definida por intervalos
Para realizar los experimentos de esta sección se definió el parámetro λ, el cual se
explica enseguida.
En algunos intervalos el valor de λ > µ. Para esos intervalos el valor de λ se
denota por λ+ y la longitud del intervalo de tiempo que trabaja el sistema de líneas
de espera bajo esa condición se denota por ‖λ+‖. Por otra parte, en otros intervalos
se cumple: λ < µ. Para estos casos usaremos el símbolo λ− para indicar el valor de
λ en esos intervalos y ‖λ−‖ para la magnitud del intervalo de tiempo que dura esa
condición.
El parámetro λ está definido de la siguiente manera:
λ =‖λ−‖
‖λ+‖+ ‖λ−‖(4.2)
Es decir, λ es igual a la fracción del tiempo que ha trabajado el sistema simulado
cumpliendo: λ < µ. Observe que si ‖λ+‖+ ‖λ−‖ = 1, entonces λ = ‖λ−‖
El valor de λ se puede calcular como una media ponderada:
λ =(
1− λ)· λ+ + λ · λ− (4.3)
Capítulo 4. Prototipo de simulador 41
De la relación (4.3) podemos escribir λ en términos de las demás cantidades:
λ =λ− λ+
λ− − λ+=
λ+ − λλ+ − λ−
(4.4)
lo cual nos permite dar una segunda interpretación al parámetro λ. Observe que
λ+− λ representa el incremento en la tasa de arribos del clientes al sistema respecto
de la media, mientras que λ+ − λ− representa el incremento en la tasa de aribos de
clientes al sistema respecto del valor λ−.
Entonces, λ no es sino una razón de diferencias que puede interpretarse como
sigue: λ es igual al número de unidades que aumenta la tasa de llegadas de clientes
al sistema (respecto de la media λ) cuando tiene el valor λ+, por cada unidad que
aumenta respecto de su valor mínimo λ−.
Para las experimentaciones que se llevaron a cabo, los intervalos en los cuales se
fueron haciendo los cambios en λ tenían una magnitud de 10 unidades de tiempo, de
manera que si λ = 0.75, por ejemplo, las primeras 7.5 unidades de tiempo se define
λ = λ−, y las siguientes 2.5 unidades de tiempo se define λ = λ+. Inmediatamente
después se redefine λ = λ− durante otras 7.5 unidades de tiempo y después cambia a
λ = λ+ por 2.5 unidades de tiempo y así sucesivamente durante toda la simulación.
La tasa de servicio considerado para todas estas pruebas fue de µ = 25.0. Las
tasas de arribo de clientes al sistema para estas pruebas se fijaron en: λ+ = 30 y
λ− = 20.
Los valores de λ se fueron variando desde 0.55, 0.65, 0.75, 0.85 y 0.95 y se
registraron las estimaciones de los parámetros L, Lq y ρ devueltos por el prototipo
de simulador.
En la tabla 4.4 se resumen los resultados que se obtuvieron de la simulación
de sistemas de líneas de espera donde la tasa de llegada está definida constante con
diferentes valores en distintos intervalos.
La columna de la derecha (en la tabla mencionada) muestra el valor de ρ
Capítulo 4. Prototipo de simulador 42
λ L Lq λ ρ ρ
0.95 4.51987 3.70063 20.5 0.81925 0.82
0.85 7.22542 6.36634 21.5 0.85908 0.86
0.75 10.51866 9.62423 22.5 0.89444 0.90
0.65 20.80238 19.85948 23.4 0.94290 0.94
0.55 43.01149 42.03402 24.5 0.97747 0.98
Tabla 4.4: Variación de parámetros definiendo λ.
teórico, calculado usando la relación:
ρ =λ
µ(4.5)
En forma gráfica, los resultados se muestran en las figuras 4.8 y 4.9 .
Utilizando el método de mínimos cuadrados podemos calcular la recta de re-
gresión para aproximar el valor del parámetro ρ a partir del valor de λ. El método
arroja la recta de regresión:
ρ = −0.40026 λ+ 1.19882 (4.6)
con un coeficiente de correlación r = −0.9983 para los datos de las variables calcu-
lados por el prototipo de simulador.
Capítulo 4. Prototipo de simulador 43
1: τ ← 0; R← 0; L← 1;
2: Arribos← 1; Servicios← 0;
3: Leer T ;
4: Generar A,D;
5: tA ← τ + A; tD ← τ +D;
6: while τ < T do
7: τprev ← τ ;
8: τ ← min(tA, tD);
9: δ ← τ − τprev;
10: R← R + δ · L;
11: if τ = tA then
12: L← L+ 1;
13: Generar A;
14: tA ← τ + A;
15: Arribos← Arribos+ 1;
16: end if
17: if τ = tD then
18: L← L− 1;
19: tD ←∞;
20: Servicios← Servicios+ 1;
21: end if
22: if L > 0 & tD =∞ then
23: Generar D;
24: tD ← τ +D;
25: end if
26: end while
27: Reportar resultados;
Figura 4.2: Algoritmo usado por el simulador
Capítulo 4. Prototipo de simulador 44
t
λ(t)
λ(t) = cos(ωt) + k
2π/ω
k
Figura 4.3: Periodo de la función cosenoidal.
0 0.2 0.4 0.6 0.8 10
5
10
15
20
25
30
35
frecuencia
L,L
q
L
Lq
Figura 4.4: Variación de L y Lq al cambiar la frecuencia de la función periódica λ(t)
con µ = 40.0.
Capítulo 4. Prototipo de simulador 45
0 0.2 0.4 0.6 0.8 1
0.62
0.64
0.66
0.68
0.7
0.72
0.74
0.76
frecuencia
ρ
ρ
Figura 4.5: Variación de ρ al cambiar la frecuencia de la función periódica λ(t) con
µ = 40.0.
10 20 30 40 50
0
2
4
6
8
10
λ
L,L
q
L
Lq
Figura 4.6: Variación de L y Lq al cambiar λ.
Capítulo 4. Prototipo de simulador 46
10 20 30 40 500.2
0.3
0.4
0.5
0.6
0.7
0.8
0.9
λ
ρ
ρ
Figura 4.7: Variación de ρ al cambiar λ.
0.6 0.7 0.8 0.90
10
20
30
40
λ
L,L
q
L
Lq
Figura 4.8: Variación de L y Lq al cambiar λ.
Capítulo 4. Prototipo de simulador 47
0.6 0.7 0.8 0.9
0.82
0.84
0.86
0.88
0.9
0.92
0.94
0.96
0.98
λ
ρ
ρ
Figura 4.9: Variación de ρ al cambiar λ.
Capítulo 5
Análisis de resultados
5.1 Variaciones en la función λ
En este apartado se discuten los resultados obtendidos de las simulaciones elaboradas
para analizar el comportamiento de los parámetros de desempeño de las líneas de
espera cuando se varían la frecuencia y la media de la tasa de llegadas λ = λ(t).
5.1.1 Variación de la frecuencia
De la tabla 4.2, o bien de las figuras 4.4 y 4.5 se hace evidente que a pesar de que
la función λ siendo periódica con el mismo valor promedio y la misma amplitud, el
número de clientes promedio en el sistema (L), la longitud de la fila esperada al largo
plazo (Lq) y la intensidad de tránsito ρ estimadas cambian al variar la frecuencia f
de la misma.
De acuerdo a los resultados encontrados podemos concluir (figura 4.4 ) que
la frecuencia f de la función λ guarda una relación inversamente proporcional tanto
con L como Lq. Esto es, al crecer f , tanto L como Lq decrecen.
Si la tasa de llegadas de clientes al sistema λ es una función periódica que
depende del tiempo exclusivamente, con periodo f , entonces f está en relación in-
versamente proporcional tanto con L como Lq. Esto es, al crecer f , tanto L como
Lq disminuyen.
48
Capítulo 5. Análisis de resultados 49
Esto se puede explicar de la siguiente manera.
Recordemos que la función λ es mayor que el parámetro µ en algunos intervalos,
y en otros intervalos es menor. De otra forma tanto L como Lq crecerían sin límite.
Para los intervalos en los que se cumple λ(t) > µ para algún intervalo (τ1, τ2)
del tiempo (t ∈ (τ1, τ2)), entonces en promedio llegan más clientes por unidad de
tiempo de los que un servidor puede atender (en promedio). Luego, el número de
clientes en el sistema, como la longitud de la fila en (τ1, τ2) en general crecerá.
De manera semejante, para los intervalos (τ2, τ3) en los cuales λ(t) < µ con
t ∈ (τ2, τ3), tanto el número de clientes como la longitud de la fila decrecerá.
Observe también que la tasa de servicio µ se ha considerado constante mientras
que la tasa de arribos de clientes al sistema es variable con el tiempo, de manera que
se puede escribir como una función λ = λ(t).
Para intervalos en los cuales la tasa de llegada es mayor a la media, los tiempos
entre arribos son muy pequeños de manera que ocurren arribos más frecuentemente.
Pero si la tasa de llegada es menor a la media, entonces la ocurrencia de estos eventos
sucede con menor frecuencia y los tiempos entre llegadas son mayores.
Esto significa que en promedio llegan menos clientes al sistema cuando la tasa
de llegadas es menor, además de que el servidor puede servir más clientes de los que
llegan (supuesto que en esos intervalos se cumpla µ > λ) y la fila tiende a decrecer.
Por otra parte, cuando λ está por arriba del promedio las llegadas de los clientes
ocurren muy frecuentemente y el número de eventos que ocurre por unidad de tiempo
es mayor, comparado con los intervalos en los que λ está por debajo de la media.
Además, los servicios que ocurren en el sistema tienen una tasa constante, de
manera que la tasa de la ocurrencia de esos eventos prácticamente no cambia.
Debido a que en unos intervalos llegan muchos clientes y en otros llegan muy
pocos, y siempre se sirven a los clientes al mismo ritmo, cuando la frecuencia de la
Capítulo 5. Análisis de resultados 50
función λ aumenta, la longitud de los intervalos en los cuales λ > µ decrece, así que
L no tiene oportunidad de crecer demasiado, debido a que rápidamente λ vuelve a
bajar de intensidad, hasta cumplir λ < µ permitiendo al servidor atender a los pocos
clientes que llegaron y disminuir el número de clientes en el sistema.
Cuando la frecuencia de λ es muy pequeña, los intervalos en los cuales la tasa
de llegadadas de clientes al sistema es mayor al promedio son más largos, aunado
al hecho de que ocurren más llegadas por unidad de tiempo (en promedio) y que
ocurren la misma cantidad de servicios por unidad de tiempo, el número de clientes
que hay en el sistema L, como la longitud de la fila Lq crecen por un buen rato. Esto
ocasiona que la longitud de la fila crezca mucho.
Cuando llega el intervalo en el cual la tasa de llegadas de clientes al sistema
es menor a la media, ambos parámetros L y Lq disminuyen y se quedan en un valor
muy cercano a cero mientras λ < µ.
El problema del crecimiento de las estimaciones de los parámetros L y Lq se
deben a que la longitud de la fila permanece con un valor muy grande un intervalo
de tiempo más largo que cuando la frecuencia es mayor. Recuérdese que el valor
estimado de L como de Lq se calculan a partir del área debajo de curvas escalonadas
con bases de longitud igual a la longitud del tiempo que se mantuvieron en un valor
constante y de altura L(t) y Lq(t) respectivamente.
Al aumentar el tiempo que se mantienen L y Lq grandes, los valores de las áreas
debajo de cada curva aumenta y por tanto, los valores de los parámetros estimados.
El parámetro ρ parece estabilizarse en el intervalo (0.72, 0.76).
Esto ocurre así porque cuando la frecuencia tiende a cero, ocurren intervalos
cada vez más largos para los cuales λ > µ y otros para los cuales λ < µ. Durante
los primeros (λ > µ) el número de clientes en el sistema crece mucho. Sin embargo,
cuando los valores de t lleguen a valores para los cuales se cumpla λ < µ las longitudes
de las filas decrecerán.
Capítulo 5. Análisis de resultados 51
Entonces, a pesar de que los otros parámetros de desempeño (L y Lq) estimados
por el prototipo van cambiando, el valor de ρ se estabiliza gracias a que existen
intervalos para los cuales la tasa de servicio es mayor a la tasa de llegadas de clientes
al sistema.
En esta discusión se ha supuesto que λ < µ. Si ocurre lo contrario, tanto la
longitud de la fila como el número de clientes en el sistema crecerá sin limite y ρ
tenderá a la unidad.
5.1.2 Variación de la media
De acuerdo con el sentido común, al aumentar el valor de k en la función
λ(t) = 10 cos(2πt) + k
los valores estimados para los parámetros L y Lq crecen con él.
Lo mismo puede decirse del parámetro ρ.
Sin embargo, hay algunas cuestiones dignas de mencionarse. Para k < 10, los
valores estimados de los parámetros de desempeño de la línea de espera son muy
poco confiables.
Esto puede explicarse de la siguiente manera.
Cuando λ(t) es negativo, el valor de t se incrementa hasta que λ toma un
valor mayor a 0.1. Entonces genera un número pseudo-aleatorio con distribución
exponencia y parámetro λ para asignarlo al valor del tiempo entre llegadas. Si λ es
muy pequeño, el número generado será muy grande, pues en promedio llegan pocos
clientes al sistema por unidad de tiempo.
Esto ocasiona que el cálculo de los parámetros se acerque muy poco a la función
λ(t).
Recuerde que los parámetros de desempeño del sistema dependen de la integral
de λ(t) desde cero hasta el valor del tiempo que ha estado trabajando el sistema de
Capítulo 5. Análisis de resultados 52
acuerdo a la simulación:
λ =1
T
T∫0
λ(t) dt (5.1)
Lq = L− 1 (5.2)
ρ =λ
c · µ(5.3)
Dado que la simulación avanza de manera discreta entre cada evento, sin con-
siderar valores intermedios entre éstos, el cálculo aproximado de la integral antes
mencionada es mejor cuando los intervalos entre eventos son muy pequeños.
Cuando los intervalos entre eventos crecen, el valor aproximado de la inte-
gral mencionada se aleja del valor verdadero de la misma y por tanto, los valores
estimados de los parámetros de desempeño del sistema.
Además se debe tomar en cuenta que cada una de las simulaciones realizadas
se desarrollaron para 500 unidades de tiempo. Para los casos en los cuales λ es
grande, ocurren una gran cantidad de eventos. Pero cuando λ es muy pequeña, el
número de eventos que ocurren en el sistema es muy pequeño (comparado con los
anteriores) porque el promedio del tiempo entre llegadas de clientes al sistema crece
y el sistema muy probablemente no alcance el estado estable.
Para evitar esto se sugiere que se cambie la unidad de tiempo considerada en
cada simulación de manera que la tasa de llegadas de clientes al sistema sea de al
menos 20 unidades en los intervalos donde la función λ(t) tome sus valores mínimos.
Igualmente, para los casos en los que λ ∈ (0, 20), se sugiere permitir a la
simulación avanzar basándose, no en el tiempo, sino en el número de eventos que
ocurran en el sistema, por ejemplo, hasta que ocurran 10 000 llegadas.
Sin embargo, debe mencionarse que esto no evitará que los estimadores resulten
con valores alejados de los cálculados analíticamente.
Capítulo 5. Análisis de resultados 53
5.1.3 Funciones definidas por intervalos
Cuando el valor de λ aumenta, la proporción del tiempo que el valor de λ está por
debajo de la media aumenta y viceversa.
Conforme λ tiende a 0.5, tanto L como Lq crecen. Esto se debe a que el sistema
tiene a ser semejante a un sistema con tasa de llegadas igual a la tasa de servicio.
Esta condición, como es conocido, causa que el sistema explote.
El valor de ρ calculado por el prototipo de simulador (vea la tabla 4.3) es
siempre muy cercano al valor teórico calculado usando la relación (4.5). Esto nos
indica que el valor de λ calculado como una media ponderada es correcto y que la
relación (4.4) se satisface. Esto puede verificarse sustituyendo los valores de λ+, λ−,
λ y observando que la igualdad se cumple.
Más aún, si se satisface: ‖λ+‖+ ‖λ−‖ = 1, entonces,
‖λ−‖ = λ =λ+ − λλ+ − λ−
(5.4)
En este caso particular1, ‖λ−‖ se puede interpretar como λ.
Observe que la relación (4.3) y la condición ‖λ+‖+‖λ−‖ = 1 de normalización
implican: λ = ‖λ+‖ · λ+ + ‖λ−‖ · λ−. Note también que si los valores λ+, λ− no son
constantes, se tiene analíticamente que, si las tasa de llegadas de clientes al sistema
cambia desde λ+ hasta λ−, manteniendo la proporción de áreas debajo de la curva
(escalonada para λ constante por intervalos), entonces los valores de los parámetros
de desempeño del sistema serán iguales en ambos casos.
Es muy notoria la relación lineal entre los parámetros ρ y λ en la figura 4.9 .
La siguiente gráfica muestra la antes mencionada agregando ahora la recta de mejor
ajuste de acuerdo al método de mínimos cuadrados:1En realidad, siempre es posible hacer la normalización ‖λ+‖+ ‖λ−‖ = 1.
Capítulo 5. Análisis de resultados 54
0.6 0.8 1
0.8
0.85
0.9
0.95
1
λρ
ρ
ρ(λ)
La recta de regresión (ρ(λ)) que aparece en la figura anterior tiene por ecuación:
ρ+ 0.4 λ = 1.19882 (5.5)
En palabras, la ecuación dice que el valor estimado de la intensidad de tránsito
a través del sistema (factor de utilización del servidor) guarda una relación lineal
negativa con el parámetro λ para λ ∈ (0.55, 0.95), que es el intervalo en el cual se
estuvo variando este parámetro en las pruebas que se elaboraron para este trabajo.
5.2 Conclusiones y recomendaciones
Como se mencionó al inicio de este capítulo (sección 5.1) cuando λ es una función
cosenoidal, al aumentar la frecuencia los parámetros L y Lq decrecen.
Esto sugiere que, para sistemas en los cuales el administrador puede cambiar la
frecuencia de la función λ, es conveniente, para mejorar los parámetros de desempeño
del sistema, aumentar la frecuencia de la misma.
Por ejemplo, en el caso del tránsito de una ciudad, es una buena idea imple-
mentar variación en los horarios de entrada a la escuela y el trabajo.
Podría probarse, por ejemplo, sugerir entrada a las escuela 9:00 A.M., y al
trabajo 9:00 A.M. Para la salida de la escuela se puede sugerir 12:00 y para la del
Capítulo 5. Análisis de resultados 55
trabajo 5:00 P.M.
Así, la diferencia de horarios por la mañana permitirá desahogar primero el
tránsito debido al transporte de los estudiantes a sus escuelas y por otra parte, al
generado por los trabajadores cuando se dirigen a sus fuentes de empleo.
Sin embargo, debe puntualizarse que la diferencia de horarios debe ser sufi-
cientemente grande para que pueda reducirse el número de clientes en el sistema del
primer intervalo para el cual λ > µ, y la carga vehicular ocasionada debido a los
primeros haya sido evacuada de la red de calles y avenidas de la ciudad.
Si el intervalo propuesto antes es insuficiente, se requerirá de un valor mayor.
Eso dependerá del tamaño de la ciudad, de la red de calles y avenidas de la misma,
de la cultura vial de los que transitan, entre otros aspectos.
Para el caso de las simulaciones en las cuales se varió la media de la función
λ(t), la lección aprendida consiste en que es mejor cambiar las unidades de tiempo
de manera que la tasa de llegadas de clientes al sistema sea de al menos 20 en los
intervalos donde λ tiene mínimos.
De esta manera se evitará que el simulador genere tiempos entre llegadas de-
masiado grandes que ocasionen resultados muy alejados de los valores esperados del
sistema.
Con el método que se utilizó para la simulación de funciones definidas por in-
tervalos se pueden simular sistemas de líneas de espera no homogéneas cuando se
carece de un simulador que permita incluir la función λ como una función explícita
del tiempo. Esto es lo que comúnmente se hace cuando se desea simular sistemas de
este tipo. La ventaja de contar con el simulador que permita definir λ(t) explícita-
mente es que los resultados serán más cercanos a los valores del sistema real.
Capítulo 6
Trabajo futuro
En este capítulo se incluyen ideas que fueron surgiendo conforme se avanzó en el
desarrollo de este trabajo.
Las ideas aquí propuestas pueden servir para inciar nuevas líneas de investi-
gación y desarrollo, no solamente de herramientas computacionales, sino también en
el área de líneas de espera.
6.1 Plataforma propuesta
La plataforma propuesta en este trabajo para el diseño de un simulador de líneas de
esperas no homogéneas considera solamente una cantidad específica de sistemas que
no pretende ser exhaustiva.
Una primera propuesta de trabajo futuro, desde luego, incluye la revisión de
otras aplicaciones de las líneas de espera y las tendencias de otras ramas de la
ingeniería y de la industria. Es posible que surjan más y nuevos requerimientos en
cuanto a la cantidad de distribuciones en los tiempos entre llegadas y en las tasas
de servicio, al igual que en la forma como se arreglan los servidores y el mecanismo
de servicio.
Recientemente se dió a conocer el lenguaje de programación CUDA. Según se
menciona en sus manuales, este lenguaje está diseñado para trabajar con simulación
de sistemas muy complejos y/o que requieren de demasiado procesamiento.
56
Capítulo 6. Trabajo futuro 57
El lenguaje se diseñó para facilitar el trabajo del programador y para trabajar
de una manera muy eficiente en cuanto al uso de los recursos computacionales con
que se cuente.
Una sugerencia para las personas que desarrollen la plataforma propuesta en
este trabajo consiste en que consideren seriamente el lenguaje antes mencionado para
la elaboración del simulador.
6.2 Prototipo
El prototipo que se generó en este trabajo sirve para mostrar algunas de las ventajas
de la simulación de líneas de espera. Sin embargo, es perfectible y pueden agregársele
muchas otras características deseables para un administrador de sistemas que pueden
ser estudiados a través de una simulación de líneas de espera.
Entre las características que se pueden incluir están las siguientes:
1. Agregar una parte visual del sistema, de manera que el administrador vea cómo
van llegando los clientes al sistema y cómo se forman las filas.
2. Permitir aumentar o disminuir la velocidad de la simulación de acuerdo al gusto
del usuario, para que la parte visual pueda mostrar una idea de cómo se comporta
el sistema al administrador del mismo.
3. Agregar un generador de histogramas, donde se muestre la distribución de L.
Esto permitirá conocer al administrador qué longitudes de fila se encuentran con
mayor frecuencia en el sistema.
4. Permitir simular sistemas que trabajen con arreglos de servidores en serie. Ac-
tualmente el prototipo trabaja con arreglos de servidores en paralelo solamente.
5. Permitir trabajar con distribuciones de los tiempos entre llegadas diferentes a la
exponencial. Para eso se tendrá que incluir un menú de distribuciones de llegada.
Capítulo 6. Trabajo futuro 58
6. Permitir trabajar con otras distribuciones en los tiempos de servicio. Preferente-
mente, tasas de servicio no homogéneas, dependiendo del tiempo y del estado del
sistema.
7. Permitir definir diferentes tasas de servicio para diferentes servidores del sistema.
8. Permitir trabajar con sistemas de capacidad finita. En las simulaciones de este
tipo de sistemas medir otros parámetros de desempeño de interés para el administra-
dor del mismo, como la fracción de los clientes que se pierde debido a la capacidad.
9. Permitir definir la llegada de diferentes tipos de clientes.
10. Definir más parámetros y diferentes comportamiento para cada cliente que sean
de interés para el administrador del sistema simulado. Por ejemplo, el nivel de
molestia que tenga un cliente, dependiendo del estado del sistema a la hora de
su llegada. Esto es aplicable a los sistemas donde los clientes son personas, por
ejemplo los bancos.
11. Calcular la proporción de la longitud de los intervalos para t que cumplan λ(t) > µ
y λ(t) < µ para que el sistema se no logre alcanzar la estabilidad. En otras
palabras, para que el número de clientes en el sistema crezca sin límite y el valor
de ρ se tienda a la unidad.
6.3 Simulaciones
Una buena cantidad de simulaciones se realizaron para la elaboración de este tra-
bajo. Algunas observaciones sugirieron la realización de muchas otras pruebas para
estudiar el comportamiento de los parámetros de desempeño del sistema bajo otras
condiciones.
• Estudiar sistemas con servidores que tienen diferente tasa de servicio.
• Estudiar sistemas en los cuales las tasas de servicio son no homogéneas.
Capítulo 6. Trabajo futuro 59
• Hacer un estudio del tiempo que requiere un sistema de líneas de espera no
homogéneo para que alcance la estabilidad. Este estudio se puede realizar
considerando funciones periódicas o no periódicas.
• Estudiar el comportamiento de los parámetros de desempeño del sistema de
líneas de espera para otras funciones.
Apéndice A
Apéndices
A.1 Definiciones
En este apartado se dan las definiciones [3] que se requieren para entender la discusión
del capítulo 4.
Definición A.1 Frecuencia de una función periódica.
Sea f(t) una función periódica con periodo fundamental κ. El número 1/κ se llama
frecuencia de f(t).
Definición A.2 Periodo fundamental.
Sea f(t) una función periódica. El menor κ para el cual se cumple: f(t+ κ) = f(t)
para toda t en el dominio de f , se llama periodo fundamental de f .
Teorema A.3
Sea f(t) una función cosenoidal de la forma:
f(t) = α cos (ωt) + κ
Entonces, el periodo fundamental de f es: p = 2π/ω y su frecuencia es: f = ω/2 π.
60
Apéndice A. Apéndices 61
A.2 Resultados de las simulaciones
A.2.1 Variación de la frecuencia
Se muestran los resultados devueltos por el simulador en cada una de las corridas
resumidos en forma de tablas.
En el pie de cada tabla se indica la función λ(t) que se definió para cada grupo
de simulaciones.
El orden de las columnas (izquierda a derecha) de cada una de las tablas de
esta sección es el siguiente: número de clientes promedio en el sistema (L), número
de clientes en fila promedio (Lq), intensidad de tránsito estimada (ρ) y el tiempo de
procesamiento (en segundos) requerido por el equipo de cómputo utilizado (tproc).
No L Lq ρ tproc
1 3.36396 2.74506 0.61891 506.46629
2 3.28357 2.64102 0.64255 539.17801
3 3.46567 2.82378 0.64189 547.17979
4 3.09413 2.47724 0.61689 502.42089
5 3.09997 2.48739 0.61259 508.94313
6 3.29833 2.66365 0.63468 545.75479
7 3.29833 2.66365 0.63468 545.75479
8 2.93197 2.32303 0.60894 519.13957
9 3.20411 2.58057 0.62354 535.65911
10 2.99848 2.40961 0.58887 485.84445
Promedios: 3.20385 2.58150 0.62235 523.63408
Desv. Est.: 0.16909 0.15584 0.01678 21.92938
Tabla A.1: Resultados de la simulación usando λ(t) = 25 cos(2 · πt) + 30
Apéndice A. Apéndices 62
No L Lq ρ tproc
1 5.05285 4.36049 0.69235 627.03600
2 4.96190 4.28513 0.67677 641.02997
3 5.80690 5.10174 0.70515 653.23683
4 6.38117 5.65299 0.72818 666.60147
5 5.37610 4.68249 0.69361 645.62254
6 5.36043 4.66551 0.69492 645.06479
7 5.59681 4.88921 0.70761 663.05368
8 5.27217 4.58356 0.68861 618.02802
9 5.70899 4.99751 0.71148 659.32304
10 5.23258 4.55138 0.6812 645.99225
Promedios: 5.47499 4.77700 0.69799 646.49886
Desv. Est.: 0.41702 0.40265 0.01534 15.31310
Tabla A.2: Resultados de la simulación usando λ(t) = 25 cos(πt) + 30
A.2.2 Variación de la media
Las tablas A.8 a A.11 correspoden a los resultados devueltos para las diez cor-
ridas realizadas consideradas para cada función λ(t) = 10 cos(2πt) + k, donde
k = 10, 20, 30, 40 y 50.
Para todos los casos se consideró un valor del parámetro µ = k + 5.
A.2.3 λ(t) definidas por intervalos
Las tablas A.12 a A.16 resumen los resultados obtenidos de la simulación de los
sistemas de líneas de espera con tasas de llegadas de clientes al sistema definidas por
intervalos consideradas en este trabajo.
Al pié de cada una de ellas se indica la proporción del tiempo que λ > µ
Apéndice A. Apéndices 63
No L Lq ρ tproc
1 10.72478 10.00832 0.71646 732.26057
2 13.05819 12.31211 0.74608 798.93175
3 12.30882 11.57023 0.73859 741.82074
4 12.29798 11.54883 0.74915 757.82619
5 12.43531 11.69022 0.74509 733.91086
6 12.79965 12.05358 0.74607 783.25354
7 11.85452 11.11088 0.74364 775.64274
8 12.32797 11.58933 0.73865 795.50737
9 11.72378 10.98306 0.74071 696.74989
10 11.30077 10.56984 0.73093 690.23275
Promedios: 12.08318 11.34364 0.73954 750.61364
Desv. Est.: 0.69792 0.689760 0.00963 38.49129
Tabla A.3: Resultados de la simulación usando λ(t) = 25 cos(t) + 30
durante la simulación lo cual se denota por: λ, definido en la ecuación (4.2).
Apéndice A. Apéndices 64
No L Lq ρ tproc
1 8.77755 8.0416 0.73595 672.44564
2 8.49862 7.78145 0.71717 670.00591
3 8.84613 8.10694 0.73919 717.06591
4 8.19947 7.47991 0.71955 651.17129
5 9.18269 8.44823 0.73446 707.41676
6 9.64757 8.89905 0.74852 718.23045
7 9.11688 8.37825 0.73864 730.58333
8 9.14860 8.41350 0.73510 717.33316
9 8.51408 7.79300 0.72108 693.43903
10 8.87948 8.14403 0.73545 712.86268
Promedios: 8.88111 8.14860 0.73251 699.05542
Desv. Est.: 0.41675 0.40790 0.01002 26.15570
Tabla A.4: Resultados de la simulación usando λ(t) = 25 cos(πt/2) + 30
Apéndice A. Apéndices 65
No L Lq ρ tproc
1 13.34585 12.60856 0.73728 746.25985
2 14.77257 14.02211 0.75046 742.66177
3 13.28334 12.55515 0.72820 766.33967
4 14.41111 13.66085 0.75026 790.96573
5 15.11644 14.36176 0.75469 799.69960
6 11.88815 11.16887 0.71928 748.25021
7 14.96742 14.21376 0.75367 780.99829
8 13.45376 12.71808 0.73568 769.69795
9 14.93305 14.19443 0.73862 733.90265
10 15.86066 15.09964 0.76101 960.14563
Promedios: 14.20324 13.46032 0.74292 783.89214
Desv. Est.: 1.18169 1.16947 0.01321 65.63245
Tabla A.5: Resultados de la simulación usando λ(t) = 25 cos(πt/4) + 30
Apéndice A. Apéndices 66
No L Lq ρ tproc
1 25.64468 24.89673 0.74795 784.65877
2 26.52910 25.76869 0.76041 756.37328
3 25.89363 25.13967 0.75396 770.80800
4 24.32898 23.58506 0.74393 753.62993
5 23.42197 22.68199 0.73998 753.20094
6 25.76545 25.01850 0.74695 769.81317
7 26.82796 26.06779 0.76017 755.96482
8 25.97111 25.21661 0.7545 754.23769
9 26.53749 25.78161 0.75588 808.11369
10 24.84705 24.10034 0.74671 818.65865
Promedios: 25.57674 24.82570 0.75104 772.54589
Desv. Est.: 1.07621 1.06980 0.00694 23.92670
Tabla A.6: Resultados de la simulación usando λ(t) = 25 cos(πt/8) + 30
Apéndice A. Apéndices 67
No L Lq ρ tproc
1 32.78242 32.04085 0.74157 739.2844
2 37.18689 36.42537 0.76152 781.44271
3 32.16928 31.43346 0.73583 750.09330
4 40.96401 40.20066 0.76335 780.87265
5 36.74193 35.98946 0.75247 789.65340
6 30.51676 29.78369 0.73307 732.50335
7 35.29522 34.55134 0.74388 724.80527
8 34.09888 33.36082 0.73806 710.14089
9 31.8905 31.15588 0.73462 697.14604
10 32.31333 31.57539 0.73795 722.35824
Promedios: 34.39592 33.65169 0.74423 742.83003
Desv. Est.: 3.17199 3.16155 0.01108 31.97598
Tabla A.7: Resultados de la simulación usando λ(t) = 25 cos(πt/12) + 30
Apéndice A. Apéndices 68
No L Lq ρ tproc
1 0.79383 0.53051 0.26332 16.26637
2 0.91306 0.63591 0.27715 18.79189
3 0.90894 0.64056 0.26838 16.63553
4 0.87403 0.56469 0.30934 24.42462
5 0.71588 0.46215 0.25373 17.53429
6 0.67406 0.42312 0.25094 16.23288
7 0.68125 0.43103 0.25022 16.18962
8 0.89459 0.60971 0.28488 20.76595
9 0.53632 0.30719 0.22913 15.14198
10 0.66972 0.45343 0.21629 10.13306
Promedios: 0.76617 0.50583 0.26034 17.21162
Desv. Est. 0.12962 0.10877 0.02689 3.724980
Tabla A.8: Resultados de la simulación usando λ(t) = 10 cos(2πt) + 10
Apéndice A. Apéndices 69
No L Lq ρ tproc
1 4.17298 3.38954 0.78344 380.69112
2 4.00313 3.23414 0.76899 353.41797
3 3.99874 3.21741 0.78132 351.39782
4 4.13748 3.36461 0.77287 357.05769
5 3.78524 3.01417 0.77107 341.63114
6 4.35198 3.56492 0.78705 350.48251
7 4.49272 3.72132 0.77140 346.66234
8 4.01350 3.23248 0.78102 348.33947
9 3.99250 3.21526 0.77724 346.39617
10 3.86692 3.09691 0.77001 342.54082
Promedios: 4.08152 3.30508 0.77644 351.86171
Desv. Est.: 0.21425 0.21226 0.00642 11.17302
Tabla A.9: Resultados de la simulación usando λ(t) = 10 cos(2πt) + 20
Apéndice A. Apéndices 70
No L Lq ρ tproc
1 5.82621 4.96893 0.85728 726.75274
2 5.51050 4.66879 0.84170 720.70325
3 6.36549 5.51331 0.85218 736.47241
4 6.33238 5.46767 0.86471 771.67510
5 5.91419 5.05104 0.86315 726.14962
6 6.06051 5.21103 0.84947 714.37312
7 5.93203 5.08309 0.84895 719.16944
8 5.71263 4.86266 0.84997 730.70371
9 7.25829 6.39097 0.86732 758.59476
10 5.64609 4.80414 0.84194 736.30056
Promedios: 6.05583 5.20216 0.85367 734.08947
Desv. Est. 0.50437 0.49780 0.00912 18.08198
Tabla A.10: Resultados de la simulación usando λ(t) = 10 cos(2πt) + 30
Apéndice A. Apéndices 71
No L Lq ρ tproc
1 10.26162 9.36448 0.89714 1280.96717
2 8.31466 7.44103 0.87363 1231.27733
3 6.25448 5.38466 0.86982 1450.19935
4 7.29479 6.41727 0.87753 1223.63187
5 8.29064 7.40017 0.89047 1205.45843
6 8.18589 7.28886 0.89702 1232.12238
7 6.96636 6.09431 0.87205 1211.11574
8 7.30154 6.41814 0.88340 1248.70206
9 7.71580 6.82647 0.88933 1248.18809
10 7.46287 6.57753 0.88534 1276.95569
Promedios: 7.80487 6.92129 0.88357 1260.86181
Desv. Est. 1.07610 1.06892 0.01003 71.06483
Tabla A.11: Resultados de la simulación usando λ(t) = 10 cos(2πt) + 40
Apéndice A. Apéndices 72
No L Lq ρ tproc
1 34.55815 33.58482 0.97333 526.03891
2 33.65264 32.68937 0.96326 511.67306
3 36.38887 35.41308 0.97579 528.40538
4 44.78020 43.80072 0.97949 521.30111
5 42.24343 41.25931 0.98411 507.44842
6 37.42647 36.44978 0.97669 511.77972
7 34.69894 33.72380 0.97514 518.01770
8 42.64139 41.67034 0.97104 517.15234
9 56.90517 55.92477 0.9804 511.06560
10 66.81961 65.82419 0.99542 523.76364
Promedios: 43.01149 42.03402 0.97747 517.66459
Desv. Est. 10.88788 10.88103 0.00849 7.10829
Tabla A.12: Resultados de la simulación usando λ = 0.55
Apéndice A. Apéndices 73
No L Lq ρ tproc
1 18.22302 17.27376 0.94925 568.08583
2 20.75752 19.81595 0.94157 481.61660
3 33.28031 32.32728 0.95302 483.96173
4 25.27906 24.33124 0.94781 525.29279
5 19.24277 18.30547 0.93730 477.68954
6 16.00170 15.06743 0.93427 721.49476
7 21.09166 20.14588 0.94578 484.82507
8 16.22398 15.28334 0.94064 475.87431
9 16.13646 15.20775 0.92871 477.60551
10 21.78736 20.83672 0.95064 469.10190
Promedios: 20.80238 19.85948 0.94290 516.55480
Desv. Est. 5.28793 5.28232 0.00781 78.14245
Tabla A.13: Resultados de la simulación usando λ = 0.65
Apéndice A. Apéndices 74
No L Lq ρ tproc
1 11.59712 10.70115 0.89596 593.38664
2 9.75562 8.85546 0.90017 438.48068
3 9.87305 8.97987 0.89318 441.44717
4 10.11877 9.23144 0.88733 430.27246
5 10.54335 9.65931 0.88405 421.48800
6 10.64562 9.75654 0.88908 415.30681
7 12.18744 11.28385 0.90359 451.05647
8 8.98855 8.09954 0.88901 426.87517
9 8.71345 7.82702 0.88644 429.22446
10 12.76362 11.84809 0.91554 443.82150
Promedios: 10.51866 9.62423 0.89444 449.13594
Desv. Est. 1.32344 1.31629 0.00970 51.82182
Tabla A.14: Resultados de la simulación usando λ = 0.75
Apéndice A. Apéndices 75
No L Lq ρ tproc
1 7.08619 6.23450 0.85169 394.95646
2 6.34091 5.48779 0.85312 393.17320
3 7.51147 6.65724 0.85423 418.88645
4 8.08803 7.20972 0.87831 434.12981
5 6.80670 5.94215 0.86455 410.61728
6 7.24006 6.39608 0.84399 419.64129
7 8.59563 7.71872 0.87691 415.15538
8 6.89146 6.03571 0.85576 404.48435
9 7.91549 7.04595 0.86954 416.16329
10 5.77826 4.93558 0.84268 386.05409
Promedios: 7.22542 6.36634 0.85908 409.32616
Desv. Est. 0.84081 0.83087 0.01269 14.635780
Tabla A.15: Resultados de la simulación usando λ = 0.85
Apéndice A. Apéndices 76
No L Lq ρ tproc
1 4.54750 3.74079 0.80671 374.84140
2 3.99553 3.18406 0.81146 378.09433
3 4.23746 3.42606 0.81140 377.56930
4 4.92308 4.09084 0.83224 383.27294
5 4.74672 3.92656 0.82016 383.42949
6 4.62459 3.78864 0.83595 374.22405
7 4.32246 3.50376 0.81870 373.46245
8 4.73336 3.91753 0.81583 368.44449
9 4.95484 4.12016 0.83468 364.88986
10 4.11319 3.30785 0.80534 364.29764
Promedios: 4.51987 3.70063 0.81925 374.25260
Desv. Est. 0.33658 0.32846 0.01141 6.77257
Tabla A.16: Resultados de la simulación usando λ = 0.95
Apéndice A. Apéndices 77
A.3 Instructivo del prototipo
En esta sección se incluye un pequeño instructivo de uso del prototipo del simulador
LenH.
Enseguida se muestra la interfaz gráfica (IG) del prorotipo de simulador LenH.
La parte superior de la IG requiere de 4 datos del sistema que se va a simular.
En primer dato se refiere a la función λ(t), que se utilizará para calcular la
intensidad de la tasa de llegadas de clientes al sistema para cada valor del tiempo
(t).
Es importante mencionar que λ(t) debe ser estrictamente positiva. No tiene
sentido físico alguno definir una función con una tasa de llegadas de clientes al
sistema menor a cero.
En caso de que el usuario defina una función en la cual λ(t) < 0 en algunos
intervalos de su dominio, el prototipo LenH incrementará el valor de t en pasos de
tamaño 0.1 hasta alcanzar un valor tk para el cual λ(tk) > 0.1.
En otras palabras, el simulador tendrá entonces, una tasa de llegadas de clientes
al sistema con intensidad de al menos 1 cliente cada diez unidades de tiempo.
Apéndice A. Apéndices 78
La intensidad de la tasa de llegadas de clientes al sistema es un número que
indica al programa el promedio del número de clientes que llegan al sistema por
unidad de tiempo en el largo plazo.
El prototipo LenH permite trabajar con expresiones algebraicas para la tasa
de llegadas de clientes al sistema formada por las operaciones (suma +, resta -,
multiplicación *, división/, potencia (ARG)^(x), raíz cuadrada sqrt(ARG)etc.), con-
stantes (π ≈ 3.141592 PI y e ≈ 2.7182818, etc.) y funciones matemáticas común-
mente utilizadas ( seno sin(ARG), coseno cos(ARG), tangente tan(ARG), arco coseno
acos(ARG), arco seno asin(ARG), arco tangente atan(ARG), raíz cuadrada sqrt(ARG),
exponencial exp(ARG), logaritmo natural log(ARG), logaritmo común log10(ARG),
coseno hiperbólico cosh(ARG), seno hiperbólico sinh(ARG), tangente hiperbólica
tanh(ARG), arco coseno hiperbólico acosh(ARG), arco seno hiperbólico asinh(ARG),
arco tangente hiperbólico atanh(ARG), entre otras. )
Para agrupar términos se permite el uso de los paréntesis ( ) solamente.
No está permitido el uso de otro agrupador (como por ejemplo, corchetes[ ] o
llaves{ }).
Otro parámetro que el usuario debe indicar al prototipo LenH es el valor del
parámetro µ, que corresponde a la tasa de servicio de un servidor. Este valor le
indica al programa en promedio cuántos clientes son ser atendidos por unidad de
tiempo en el largo plazo.
El prototipo LenH supone que los tiempos entre llegadas de clientes al sistema
como de los tiempos de servicio presentan una distribución exponencial de parámet-
ros λ(t) y µ respectivamente, de acuerdo a lo que define el usuario antes de iniciar
la simulación.
El siguiente parámetro que debe indicar el usuario al programa es el número
de servidores que tiene el sistema simulado.
En la simulación se supone que todos los servidores trabajan de manera par-
alela. Sin embargo, los tiempos entre llegadas corresponden al sistema y no a cada
Apéndice A. Apéndices 79
servidor individual. De manera que cuando llega un cliente al sistema siempre se
formará en el servidor que tenga la fila más corta.
Finalmente, el tiempo que se va a simular el sistema. Se sugiere que este valor
sea suficientemente grande para que los resultados de la simulación sean cercanos a
os que se observarían en un sistema real.
Dependiendo de la tasa media de llegadas de clientes al sistema, el valor del
tiempoa simular puede variar entre 250 y 500 unidades.
El prototipo LenH automáticamente considera:
• λ(t) = 25.0 cos(2 πx) + 27.85,
• µ = 39.75,
• 1 servidor en el sistema, y
• 1000 unidades de tiempo a simular.
El usuario puede cambiar cualquiera de los valores antes mencionados.
Los parámetros de desempeño que el prototipo LenH estima conforme avanza
la simulación son:
• L, representado por L(prom), que representa el número de clientes promedio
en el sistema,
• Lq, representado por Lq(prom), que representa el número de clientes promedio
en la fila,
• ρ, representado por rho, que representa la fracción del tiempo que el servidor
está ocupado. Este parámetro también se conoce como intensidad de tránsito
a través del sistema,
• L(t), representado por L(t), que representa el número promedio (por cada
servidor) de clientes en el sistema en el tiempo actual (t) en la simulación,
Apéndice A. Apéndices 80
• Lq(t), representado por Lq(t), que representa la longitud de la fila promedio
(en cada servidor) en el tiempo actual (t) en la simulación,
• P0, representado por P_0 que representa la fracción del tiempo que el servi-
dor está desocupado. Este parámetro también se puede interpretar como la
probabilidad de que el sistema esté vacío en el momento de la llegada de un
cliente.
• El número de arribos de clientes al sistema hasta ese valor del tiempo (t),
representado por Arribos, y
• El número de servicios completados hasta ese valor del tiempo (t) representado
por Servicios.
El valor del tiempo t se puede modificar, pero no es recomendable. El prototipo
va modificando su valor de acuerdo a como van ocurriendo los eventos.
El tamaño de cada intervalo de tiempo incrementado depende de las tasas de
servicio y de tiempo entre arribos de clientes al sistema. Es decir, se simulan eventos
con pasos discretos en el tiempo, no de forma contínua.
La ventana blanca que tiene el siguiente texto:
# t_L t_Q t_Serv t_Sal L_bar t lambda(t) Serv L(t)[Id]
incluirá la información de cada evento que va ocurriendo en el sistema conforme
vayan ocurriendo.
Toda esta información se graba en un archivo de nombre resultados.txt de
manera automática en la carpeta donde se encuentren los archivos en codigo Java.
Si el usuario inicia el prototipo LenH sin cambiar de nombre o mover los
archivos antes generados, automáticamente se borran los contenidos de los mismos.
Además del archivo antes mencionado, se graban los siguientes archivos:
• lambda.txt, que contiene las coordenadas (t, λ(t)) para cada valor de t en el
Apéndice A. Apéndices 81
cual ocurrió un evento durante la simulación, donde λ(t) es la función que el
usuario definió como intensidad de tasa de llegadas de clientes al sistema,
• L.txt, que contiene las coordenadas (t, L), donde L es el número de clientes
(promedio de toda la simulación) en el sistema en el tiempo t, y
• Lq.txt, que contiene las coordenadas (t, Lq), donde Lq es el número de clientes
en la fila (promedio de toda la simulación) en el tiempo t.
Estos archivos se generan con la intención de generar gráficos con alguna herramienta
de graficación para observar de manera gráfica el comportamiento de estos parámet-
ros conforme avanza el tiempo en la simulación.
Finalmente, es importante mencionar que si el usuario ingresa valores que no
tengan algún sentido, por ejemplo, una letra u otros símbolos en alguna de las cajas
de texto donde deben agregar números o una función λ(t) que no está correctamente
escrita, el programa indicará cambiando el color de las letras de ese valor erróneo y
cambiará la etiqueta que aparece en el pié izquierdo de la IG, que inicialmente dice
Ayuda para el usuario.
Conforma la simulación avanza esta misma etiqueta estará mostrando un texto
similar al siguiente:
lambda(11.54248) = 52.85 t_Proc = 10 s,
que indica el valor de λ(t) en el tiempo t y el tiempo de procesamiento que ha
requerido la computadora para elaborar la simulación hasta ese punto.
A.3.1 Botones
Para iniciar la simulación o pausarla una vez que ha iniciado, podemos usar el
botón superior que dice Iniciar al inicio o Pausar mientras la simulación está siendo
ejecutada.
Si el usuario pausa la simulación, puede cambiar parámetros del sistema sim-
ulado y continuar la simulación a partir de ese punto considerando los resultados
Apéndice A. Apéndices 82
obtenidos con los parámetros que se habían definido antes. Esto se puede hacer
tantas veces como se requiera.
El botón intermedio (Limpiar) permite borrar todos los resultados que se han
obtenido de la simulación. Este botón puede usarse aún si la simulación está lleván-
dose a cabo, aunque esto no es recomendable.
El botón Salir permite cerrar todos los archivos donde se han grabado la in-
formación generada por el prototipo LenH, y finalmente, salir del programa.
Apéndice A. Apéndices 83
A.4 Diagrama de clases
En la figura A.1 se muestra el diagrama de dependencia de las clases utilizadas en
el simulador LenH.
LenH
Sistema
Simulation ServidorVentana
ParseFunction
ScanString
RngStream Fila
Cliente
Figura A.1: Diagrama de dependencia de clases del simulador LenH.
Bibliografía
[1] Blumenfeld, Dennis. Operations research calculations handbook CRC Press
EE.UU. 2001.
[2] Professional Java. JDK 6.0 Clay Richardson, W.; et al. Ed. Wiley Publishing,
Inc. EE.UU. 2007.
[3] Clark, Douglas N. Dictionary of Analysis, Calculus and Differential Equations
Ed. CRC Press. EE.UU. 2000.
[4] Daigle, John N. Queueing theory with applications to packet telecommunication
Ed. Springer. EE.UU. 2005.
[5] Dagpunar, J.S. Simulation and Monte Carlo with applications in finance and
MCMC Ed. John Wiley & Sons. England. 2007.
[6] Deng, Qing Queues with Regular Variation Eindhoven University of Technology
(PhD Theses). 2001
[7] Garrido, José; Lu, Yi. On double periodic non-homogeneous Poisson processes
Business Economics Series 16 October 2002.
[8] Hancke, John E.; Reitsch, Arthur G. Estadística para negocios 2da Ed Ed.
McGraw-Hill España. 1997.
[9] Hillier, Frederick S.; Lieberman, Gerald J. Introduction to operations research
7th. Ed. Ed. McGraw-Hill EE.UU. 2001.
84
Bibliografía 85
[10] Lowe, Doug. Java. All in one Desk reference. Ed. Wiley Publishing. EE.UU.
2005.
[11] Stirzaker, David. Stochastic Processes and Models Ed. Oxford EE.UU. 2005.
[12] Taha, Hamdy H. Operations Research Ed. Macmillan Publishing Co. EE.UU.
1976.
[13] Tijms, H.C. A First Course in Stochastic Models Ed. John Wiley & Sons. Eng-
land. 2003.
[14] Trueman, Richard E. An Introduction to Quantitative Methods for Decision
Making Ed. Holt Rinehard and Winston, Inc. EE.UU. 1974.
Ficha autobiográfica
Efraín Soto Apolinar
Candidato para el grado de Maestro en Ciencias
con especialidad en Ingeniería de Sistemas
Universidad Autónoma de Nuevo León
Facultad de Ingeniería Mecánica y Eléctrica
Tesis:
Simulación de una línea de espera no
homogénea
Nací el 12 de marzo de 1976 en Tuxpam de Rodríguez Cano, Veracruz, México.
He realizado estudios en escuelas públicas exclusivamente.
Primaria: Esc. prim. Urb. Fed. Ford 111 Lázaro Cárdenas del Río.
Secundaria: Esc. Sec. Fed. Constituyentes de Querétaro.
Bachillerato: Colegio de Bachilleres del Estado de Quintana Roo.
Plantel Chetumal Dos.
Superior: Universidad de Quintana Roo. Campus Chetumal.
Viví mis primeros 18 años en Cerro Azul, Ver., Mexico.
86
Ficha autobiográfica 87
Después cursé mis estudios de nivel medio superior en el Colegio de Bachilleres
del Estado de Quintana Roo, Plantel Chetumal Dos, en Chetumal, Quintana Roo
(1994 – 1997).
Soy Ingeniero en Sistemas de Energía por la Universidad de Quintana Roo,
Campus Chetumal (1997 – 2002).
Al egresar de la Universidad de Quintana Roo trabajé compo profesor de
matemáticas y física en el Instituto Cumbres de Quintana Roo, en Chetumal, Quin-
tana Roo (2002 – 2004).
Después trabajé como profesor y director de un Centro de Asesoría Escolar
llamado Academia Gauss en Chetumal, Quintana Roo (2004 – 2006).
Antes de iniciar con mis estudios de posgrado, trabajé como Coordinador de
Matemáticas en Ingeniat, empresa que se dedica a sugerir mejoras en instituciones
de educación de todos los niveles académicos con sede en Monterrey, N.L. (2006 –
2007).