Vous êtes sur la page 1sur 133

INSTITUTO POLITCNICO NACIONAL

CENTRO DE INVESTIGACIN EN COMPUTACIN

Ambiente Visual de Simulacin y Anlisis de Redes de Colas


T E S I S
QUE PARA OBTENER EL GRADO DE

MAESTRO EN CIENCIAS DE LA COMPUTACIN


PRESENTA

ING. JUAN MANUEL HORTA MENDOZA

DIRECTOR DE TESIS

M. EN C. JOS GIOVANNI GUZMN LUGO


CODIRECTOR DE TESIS

M. EN C. ROLANDO MENCHACA MNDEZ

MXICO D.F.

MAYO 2007

INSTITUTO POLITECNICO NACIONAL


SECRETARA DE INVESTIGACIN Y POSGRADO

CARTA CESIN DE DERECHOS

En la Ciudad de ____Mxico___el da __3__del mes__Mayo__del ao ___2007__, la que suscribe___Juan Manuel Horta Mendoza_ alumna del Programa de___Maestra en Ciencias de la Computacin______con nmero de registro _B041246__, adscrito al __Centro de Investigacin en Computacin_____, manifiesta que es autora intelectual del presente trabajo de Tesis bajo la direccin del _M. en C. Jos Giovanni Guzmn Lugo y M. en C. Rolando Menchaca Mndez_ y cede los derechos del trabajo intitulado __Ambiente Visual de Simulacin y Anlisis de Redes de Colas__, al Instituto Politcnico Nacional para su difusin, con fines acadmicos y de investigacin. Los usuarios de la informacin no deben reproducir el contenido textual, grficas o datos del trabajo sin el permiso expreso del autor y/o director del trabajo. Este puede ser obtenido escribiendo a la siguiente direccin ___jmhortam@gmail.com___. Si el permiso se otorga, el usuario deber dar el agradecimiento correspondiente y citar la fuente del mismo.

Juan Manuel Horta Mendoza


Nombre y firma

Agradecimientos.

A mis asesores el M. en C. Rolando Menchaca Mndez y el M. en C. Giovanni Guzmn Lugo, por e a su dedicacin y gu que recib de ellos para la realizacin de esta tesis. o a o Al Consejo Nacional de Ciencia y Tecnolog (CONACyT) por la beca otorgada para realizar mis a estudios de maestr a. Adems agradezco a todas las personas que me apoyaron y de una u otra forma me ayudaron a a que este trabajo se pudiera realizar.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

iii

Resumen.

El estudio de las redes de colas es importante en varias areas como en la industria, redes de computacin, desempeo computacional y otras. Esto se debe a que los modelos de redes de colas son o n muy utiles en su funcionamiento, ya que representan el ncleo del negocio(o parte de este) en muchas u de estas reas. Adems el funcionamiento de las colas, representa el desempeo total del sistema que a a n a nalmente se traduce en costo para muchas de estas reas. a Este trabajo presenta un ambiente visual de simulacin y anlisis de redes de colas llamado QSim, o a el cual permite al usuario modelar una red de colas de manera rpida y fcil para despus simular a a e y obtener resultados de desempe o. La aplicacin est basada en un simulador de eventos discretos n o a programado en el lenguaje de programacin Java. Adems se incluye un generador de cdigo listo para o a o simularse, apartir de un archivo descriptor de una red de colas en XML y una interfaz de usuario amigable. La interfaz de usuario permite modelar de manera visual una red de colas y se incluye un mdulo de gracacin adems de un mdulo de anlisis estad o o a o a stico para dar ms informacin de los a o resultados obtenidos. Con este simulador que se presenta se obtuvieron resultados acercados a los obtenidos de manera anal tica, lo cual indica que la aplicacin es conable para simular muchos modelos de redes de colas. o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Abstract.

The queueing network theory is important in many study areas like industry, computer networks, computer performance and more. This is because of the queueing networks models are very useful in their whole function while queueing networks represent the whole or part of their core business function. Furthermore the operation of this queueing networks represent the total system performance, the intime results in cost for many of this areas. This theses presents a visual environment for queueing networks simulation and analysis called QSim. This application allows the user to model and simulate queueing networks fast and easy and then obtain the performance results for further analysis. The core of the application is based on a discrete event simulator developed in the programming language Java. In addition there is included a simulation ready code generator from a XML le descriptor. The graphic user interface let the user model a queueing network in a visual way; it is also included a plot module and a statistic anlysis module to provide more result information. The results obtained by this simulator are close to the results obtained analytically, this concludes into a reliable application to simulate many queueing network models.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

vii

INDICE GENERAL

Agradecimientos.

III

Resumen.

Abstract.

VII

Indice de guras

XIII

Indice de tablas

XV

Glosario.

XVII

1. Introduccin. o 1.1. Estructura de la tesis. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2. Planteamiento del problema. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.3. Antecedentes. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4. Objetivos y aportaciones. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.5. Marco terico. o . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 2 3 3 5 5

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

ix

Indice general

2. Procesos estocsticos y cadenas de Markov. a

13

2.1. Procesos estocsticos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 a 2.2. Procesos de renovacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 o 2.3. Cadenas de Markov. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4. Cadenas de Markov de tiempo continuo. . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 3. Sistemas de colas. 19

3.1. Introduccin a la teor de colas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 o a 3.2. La propiedad PASTA. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27 3.3. Modelos de colas basados en procesos de nacimiento y muerte. . . . . . . . . . . . . . . 28 3.4. El modelo M | G | 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 4. Redes de Colas. 35

4.1. Redes de colas de prealimentacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 o 4.2. Redes de Jackson. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39 5. Simulacin. o 41

5.1. Introduccin a la simulacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41 o o 5.2. Generacin de nmeros aleatorios. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 o u 5.3. Tipos de simulacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 o 5.4. Simulaciones de eventos discretos. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 5.5. Anlisis de resultados de la simulacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 a o 6. Dise o e implementacin. n o 51

6.1. Diseo General. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51 n 6.2. Ncleo de simulacin de eventos discretos. . . . . . . . . . . . . . . . . . . . . . . . . . . 52 u o 6.3. Herramientas para XML. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Indice general

6.4. Interfaz de usuario. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.5. Mdulo de anlisis de resultados. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61 o a 7. Pruebas y resultados. 67

7.1. Resultados para prueba de sistema M | M | 1 . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2. Resultados para prueba de sistema Servidor Central. . . . . . . . . . . . . . . . . . . . . 71 8. Conclusiones y trabajo futuro. Referencias A. Propiedades de la distribucin exponencial o 81 85 87

A.1. Propiedad 1. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 A.2. Propiedad 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.3. Propiedad 3. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 90 A.4. Propiedad 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 B. Manual de usuario. 93

B.1. Funcionamiento general. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 B.2. Mdulo de Anlisis Estad o a stico. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 B.3. Inspector de propiedades. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 B.4. Barra de herramientas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 B.5. Mens. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 u

C. Pruebas.

103

C.1. Sistema M | M | 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 C.2. Sistema M | Er | 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103 C.3. Sistema M | G | 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108


Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a
XI

INDICE DE FIGURAS

3.1. Funcionamiento bsico de una cola. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21 a 3.2. Diagrama de estados de un proceso de nacimiento muerte. . . . . . . . . . . . . . . . . . 25 4.1. Red de dos M | M | 1 seriadas. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 36 4.2. Diagrama de estados de transicin de una CMTC con M = 2. . . . . . . . . . . . . . . . 36 o 4.3. Red de Jackson simple. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

6.1. Estructura de la aplicacin. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52 o 6.2. Entradas de usuario en la estructura de la aplicacin. . . . . . . . . . . . . . . . . . . . . 53 o 6.3. Diagrama de clases del ncleo de simulacin. . . . . . . . . . . . . . . . . . . . . . . . . 54 u o 6.4. Diagrama de colaboracin de las clases del ncleo de simulacin. . . . . . . . . . . . . . 55 o u o 6.5. Diagrama de clases de herramientas XML. . . . . . . . . . . . . . . . . . . . . . . . . . . 59 6.6. Diagrama de secuencia para herramientas XML. . . . . . . . . . . . . . . . . . . . . . . 60 6.7. Diagrama de clases de la interfaz de usuario. . . . . . . . . . . . . . . . . . . . . . . . . 61 6.8. Diagrama de colaboracin para las clases de la interfaz de usuario. . . . . . . . . . . . . 62 o 6.9. Diagrama de clases del mdulo de anlisis estad o a stico. . . . . . . . . . . . . . . . . . . . 64 6.10. Diagrama de secuencia de las clases del mdulo de anlisis estad o a stico . . . . . . . . . . 65

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

xiii

Indice de guras

7.1. Sistema de prueba M | M | 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 7.2. Grca 1/ vs. del sistema M | M | 1 de los resultados anliticos y obtenidos en QSim. 71 a a 7.3. Acercamiento a la grca 1/ vs. del sistema M | M | 1 de los resultados anliticos y a a obtenidos en QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

7.4. Sistema Servidor Central. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72 7.6. Sistema de red de colas en QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.5. Modelo Servidor Central de prueba. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 74 7.7. Grca (3) vs. E[R(3)] del resultado anal a tico del sistema Servidor Central. . . . . . . 78 7.8. Grca (3) vs. E[R(3)] del resultado obtenido con QSim del sistema Servidor Central. a 79

7.9. Diagrama de red de colas del funcionamiento en una computadora. . . . . . . . . . . . . 80 A.1. Funcin de densidad de probabilidad de la distribucin exponencial. . . . . . . . . . . . 88 o o B.1. Ventana principal de QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 94 B.2. Modelo creado en QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 95 B.3. Resultados Generales en QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 B.4. Grca de resultados en QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96 a B.5. Analizador Estad stico de QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.6. Inspector de Propiedades de QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97 B.7. Barra de herramientas de QSim. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99 C.1. Sistema M | M | 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104 C.2. Grca 1/ vs. W , resultados anal a ticos y sobre QSim, para el sistema M | M | 2. . . . . 106 C.3. Grca 1/ vs. W , resultados anal a ticos y sobre QSim, para el sistema M | Er | 1 . . . . 108 C.4. Grca 1/ vs. W , resultados anal a ticos y sobre QSim, para el sistema M | G | 1. . . . 110 C.5. Comparacin entre tres sistemas (resultados obtenidos con QSim). . . . . . . . . . . . . 111 o

XIV

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

INDICE DE TABLAS

3.1. Ecuaciones de balance para el proceso de nacimiento y muerte. . . . . . . . . . . . . . . 26 7.1. Resultados anal ticos para sistema M | M | 1. . . . . . . . . . . . . . . . . . . . . . . . . 69 7.2. Resultados obtenidos por QSim para sistema M | M | 1. . . . . . . . . . . . . . . . . . . 70 7.3. Intervalos de conanza obtenidos por QSim para sistema M | M | 1. . . . . . . . . . . . 70 7.4. Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | M | 1. . 70 7.5. Resultados para la constante de normalizacin. . . . . . . . . . . . . . . . . . . . . . . . 75 o 7.6. Resultados anal ticos para servidor central. . . . . . . . . . . . . . . . . . . . . . . . . . 76 7.7. Resultados para servidor central obtenidos con QSim. . . . . . . . . . . . . . . . . . . . 77 7.8. Intervalos de conanza para servidor central obtenidos con QSim. . . . . . . . . . . . . . 77 7.9. Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema Servidor Central. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78 C.1. Resultados anal ticos para sistema M | M | 2. . . . . . . . . . . . . . . . . . . . . . . . . 104 C.2. Resultados obtenidos con QSim, para sistema M | M | 2. . . . . . . . . . . . . . . . . . . 105 C.3. Intervalos de conanza obtenidos con QSim, para sistema M | M | 2. . . . . . . . . . . . 105 C.4. Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | M | 2. . 106
Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

xv

Indice de tablas

C.5. Resultados anal ticos para sistema M | Er | 1. . . . . . . . . . . . . . . . . . . . . . . . . 106 C.6. Resultados obtenidos con QSim, para sistema M | Er | 1. . . . . . . . . . . . . . . . . . 107 C.7. Intervalos de conanza obtenidos con QSim, para sistema M | Er | 1. . . . . . . . . . . . 107 C.8. Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | Er | 1. . 107 C.9. Resultados anal ticos para sistema M | G | 1. . . . . . . . . . . . . . . . . . . . . . . . . 109 C.10.Resultados obtenidos con QSim para sistema M | G | 1. . . . . . . . . . . . . . . . . . . 109 C.11.Intervalos de conanza obtenidos con QSim para sistema M | G | 1. . . . . . . . . . . . 110

C.12.Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | G | 1. . 110

XVI

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Glosario.

1. Variables de Estado: Estas variables denen el estado del sistema. Son importantes ya que si una simulacin se detiene, solo se puede reiniciar despus si y solo si todas las variables de estado o e son conocidas. 2. Evento: Se dene como un cambio en el estado del sistema. 3. Modelos de Tiempo Continuo o Discreto. Un modelo en el que su estado est denido a durante todo el tiempo es llamado modelo de tiempo continuo. Si solo esta denido en instantes espec cos del tiempo, entonces se llamar modelo de tiempo discreto. a 4. Modelos de Estado Continuo o Discreto. Un modelo es llamado de estado continuo o discreto dependiendo si las variables de estado son continuas o discretas. Esto es si sus variables pueden tomar cualquier innidad de valores, entonces ser un modelo de estado continuo. De a manera anloga si solo pueden tomar algunos valores espec a cos, entonces ser un modelo de a estado discreto. 5. Modelos Determin sticos o Probabil sticos. Si se puede predecir la salida de un modelo con certeza, entonces ser un modelo determin a stico. Un modelo probabil stica dar diferente a resultado en repeticiones para un mismo conjunto de parmetros. a 6. Modelos Estticos o Dinmicos. Si en un modelo el tiempo no es una variable, entonces a a ser esttico. Si el estado del sistema cambia segn el tiempo ser dinmico. a a u a a 7. Modelos Lineales o No Lineales. Un modelo ser lineal si los parmetros de salida son una a a funcin lineal de los parmetros de entrada, de otra manera ser no lineal. o a a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

xvii

Indice de tablas

8. Modelos Abiertos o Cerrados. Si la entrada para un modelo es externa y es independiente de ste, entonces es un modelo abierto. Si no existe una entrada ser un modelo cerrado. e a 9. Modelos Estables o Inestables. Cuando el comportamiento dinmico de un modelo cesa hasta a un estado quieto, y es independiente del tiempo, entonces se llama modelo estable. Si un modelo en el que su comportamiento cambia continuamente es llamado inestable. 10. Disciplina de una cola. Son una serie de reglas que determina el orden en que los trabajos de entrada son atendidos.

XVIII

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

CAP ITULO

1
Introduccin. o

Adems de los sistemas computacionales, las colas son parte de la vida de todo individuo, para a comprar boletos, para hacer operaciones bancarias, pagar en el supermercado, etc., en todas ellas se tiene que esperar un determinado tiempo, y de una u otra manera el individuo se acostumbra, pero a veces esta espera es molesta. Se calcula que en E.U. aproximadamente la gente gasta 37 billones de horas por ao en una cola de espera, si se traducen estas horas a productividad, se hablar de estimar n a cerca de 20 millones aos-persona de trabajo util cada ao [1]. n n El impacto de esta espera excesiva, daa en muchos mbitos, donde las colas de espera son parte de n a la lgica del negocio de una empresa. Hay mquinas que esperan a ser reparadas, y que en consecuencia o a se pierde produccin. Los aviones esperan a despegar y aterrizar, y pueden alterar el retraso de los o vuelos siguientes. En las comunicaciones, una espera por trco genera una conexin con fallas. Un a o trabajo de manufactura en espera puede interrumpir la produccin subsiguiente lo cul se traduce en o a costo de produccin. o Por esto, los modelos de colas son importantes de analizar y evaluar, para as determinar la manera ms eciente de operarlos. Con esto se busca encontrar un balance entre el costo del servicio y la a cantidad de espera, ya que si se tiene mucha capacidad de servicio tal vez est muy sobrado, y el e costo es muy alto; de manera contraria, si no se tiene mucha capacidad, la espera ser muy larga y las a consecuencias sern algunas de las mencionadas anteriormente. a En los sistemas computacionales, todo sistema en donde est involucrado una entidad que preste un e servicio, ya sea un servidor de recursos en l nea, un procesador o una impresora, estar sujeto a tener a una cola, en la que los usuarios o tareas, tendrn que esperar para poder ser atendidos. Esto lleva al a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

1.1. Estructura de la tesis.

estudio del desempeo de estos sistemas. Qu tanto tiempo tarda en la cola?, Cunto tiempo tarda n e a el usuario dentro del sistema?, Cuntos usuarios soporta el sistema?, son algunas de las preguntas a que la evaluacin del desempeo puede contestar, por medio de diferentes tcnicas anlisis. o n e a Este documento da una solucin a travs de la programacin de un simulador de redes de colas, con o e o el n de analizar cualquier sistema compuesto por n entidades de servicio y m servidores, de manera sencilla y rpida. El simulador obtendr los resultados del desempeo de la red de colas simulada. a a n Tambin con los resultados obtenidos del simulador programado, se pueden determinar problemas e comnes de estos sistema, como identicar cuellos de botella, entidades de servicio con poca o nula u ocupacin, colas que crecen muy rpido, etc. o a

1.1.

Estructura de la tesis.

La estructura de este documento ser la siguiente: a Captulo 1: Introduccin, se da una introduccin a la simulacin de redes de colas y una breve o o o revisin a la teor de este tipo de simulacin. o a o Captulo 2: Procesos estocsticos y redes de Markov, se revisar la importancia de estas estructuras a a para entender mejor este documento ya que son la base para la solucin anal o tica de los modelos de redes de colas. Captulo 3: Sistemas de colas, aqu se detallan algunos de los modelos ms importantes y ms a a estudiados de la teor de redes de colas y se denotan sus resultados anal a ticos. Captulo 4: Redes de colas, se describe este tipo de modelos en teor tambin se revisan los modelos a, e ms importantes como lo son las Redes de Jackson. a Captulo 5: Simulacin, se centra en la teor de simulacin, describe la importancia de la generacin o a o o de nmeros aleatorios, anlisis de resultados y nalmente se revisa la simulacin de eventos discretos u a o que es el ncleo del simulador que se presenta en este documento. u Captulo 6: Diseo e implementacin, se presenta cmo fue construido el simulador programado n o o aqu y las bases que se siguieron para llevar a cabo la programacin de todos sus componentes. o Captulo 7: Pruebas y resultados, se muestran los resultados obtenidos con el simulador presentado en este documento y una comparacin con los resultados que se obtienen de manera anal o tica. Captulo 8: Conclusiones, se presentan las conclusiones obtenidas de este trabajo y algunas mejoras que se pueden realizar al simulador presentado.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 1. Introduccin. o

1.2.

Planteamiento del problema.

Hoy en d en muchos lados se ven colas de espera por atencin, es decir se pueden encontrar en a o muchos lugares que se tiene que esperar un determinado tiempo para nalmente obtener un servicio. Este fenmeno se puede observar en el banco, en una tortiller en el supermercado, restaurantes, o a, parques de diversiones tambin se ve en salas de espera del seguro social, dentista, etc, lugares muy e comnes en la vida cotidana de toda persona. Asimismo se puede observar que algunas veces la manera u de espera no es una l nea de personas, inclusive podr no ser en un lugar f a sico como lo son en los centros de atencin telefnicos en dnde se tiene que esperar a que un ejecutivo atienda la llamada. Algunas o o o de las compa invierten mucho dinero en el estudio del comportamiento de su sistema de atencin, nas o esto va desde que llega un cliente, en cunto tiempo es atendido, cunto tiempo se toma atenderlo y a a sale. Esto es por que las empresas saben que parte de su negocio nal (vender, realizar operaciones bancarias, prestar un servicio) involucra una cola de atencin y para ellos es muy importante que el o cliente espere a que se le atienda. As existen muchos factores que se estudian desde que el cliente no tenga que esperar tanto a que , se le atienda, hasta que cmo hacer que tenga una espera placentera. Estas empresas estudian todos o estos factores de tiempo de atencin, cantidad de clientes en espera, cuntos clientes se retiran antes o a de ser atendidos, etc. Usualmente estos estudios se realizan en simuladores computacionales, en los cuales se modelan estos sistemas de atencin y se simula el ujo de clientes que se tienen. o En la actualidad estos simuladores son muy costosos, adems los modelos y el anlisis de resultados a a los tiene que hacer un experto en la materia. Existen algunos simuladores gratuitos, sin embargo necesitan que los programe un experto en el simulador y en materia de teor de redes de colas, ya que a no presentan algn tipo de interfaz grca y el lenguaje de programacin es otra limitante. Es por eso, u a o que se presenta un simulador con las capacidades de llevar a cabo la simulacin de muchos de estos o modelos de redes de colas, presentar y facilitar el anlisis de resultados precisos al usuario y facilitar a el modelado de estos sistemas al proveer una interfaz de usuario grca fcil de usar. a a

1.3.

Antecedentes.

En la actualidad existen lenguajes para programar y modelar sistemas que requieren de la simulacin como lo son Simula[2](uno de los lenguajes ms antiguos Orientado a Objetos) ModSim[3] o o a SimScript[4], por mencionar algunos. Estos lenguajes proveen de funciones y librer para programar as (o modelar) sistemas que se necesitan simular, la principal ventaja que ofrecen es que el programador se enfoca ms en el modelo del sistema que en lo que necesita para simular y obtener los resultados a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

1.3. Antecedentes.

estad sticos. A pesar de que existen estos lenguajes especializados, los lenguajes de propsito general se imponen o y son utilizados ms para la modelacin y simulacin de sistemas de colas. A lo largo de la historia se a o o han realizado varias librer que proveen de la funcionalidad de los lenguajes de simulacin. En 1987 as o M.H. Dougall program una serie de funciones en C, que proveen de toda la funcionalidad para poder o modelar y simular un sistema de colas y nalmente obtener resultados de inters para el desarrollador. e Actualmente este conjunto de funciones sigue en uso, ya que tiene facilidades para modelar y obtener los resultados requeridos. Sin embargo, para modelar es necesaria la programacin del sistema en o lenguaje C, esto implica la compilacin y la ejecucin de un nuevo programa para obtener los resultados o o requeridos. De manera similar, desde la salida de la primera versin del lenguaje de programacin Java, se o o han realizado diferentes paquetes con un conjunto de clases para la simulacin con eventos discretos. o Algunos de los ms importantes son JSim[5](Universidad de Georgia), SimJava[6](Universidad de a Edinburgo), JavaSim[7](Universidad de New Castle). Todos proveen de clases para que el programador modele un nuevo sistema y lo pueda simular. A pesar de que los paquetes son muy completos, no proveen de un ambiente grco para la rpida modelacin, aunque algunos proveen salidas de sistemas grcos. a a o a En el sector comercial, las aplicaciones estn particularizadas a la simulacin de sistemas muy esa o pec cos, como lo son la manufactura/procesos industriales (Simul8, FlexSim), industria hidroelctrica, e nanzas (GoldSim), etc.; uno de los programas que proveen ms exibilidad en los escenarios es Proa model, que integra diferentes sistemas de colas por ejemplo la simulacin de una caseta de cobro en un o estacionamiento de un banco, as como la simulacin interna del banco. La mayor de estos programas o a comerciales, proveen de interfaces de usuario amigables para modelar un sistema de manera rpida a y de la misma manera obtener resultados de la simulacin rpidamente. Sin embargo, no estn al o a a alcance de cualquier persona ya que estos programas son sumamente costosos ya que los precios var an desde los 700 usd. hasta los 17,000 usd. (precio aproximado de Promodel ). Pero este costo es una gran inversin para las empresas, ya que en la mayor de los casos en el que se utilizan estas aplicaciones, o a o los sistemas modelados representan el negocio principal de la empresa, as la generacin de modelos y obtener resultados factibles para la optimizacin de procesos a partir de las simulaciones, representa o ahorros o ganancias a la empresa.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 1. Introduccin. o

1.4.
1.4.1.

Objetivos y aportaciones.
Objetivo general.

Programar un rea de trabajo que provea de un ambiente grco para que el usuario pueda modelar a a un sistema de colas y despus pueda simularlo. Para as obtener resultados que se puedan analizar (ya e sea por medios visuales o de cifras numricas) y valorar para generar un anlisis de desempe o del e a n sistema modelado. Para lo cual es necesario:

Comprender la teor de desempeo de sistemas, a n Analizar la relacin y la equivalencia entre un sistema real y la modelacin y simulacin del o o o mismo. Programar un ncleo para la simulacin basada en eventos discretos. u o Realizar una interfaz grca de usuario sencilla de usar. a

1.4.2.

Aportaciones.

Se program un simulador de eventos discretos en Java, con la capacidad de permitir al usuario o modelar y simular redes de colas. En comparacin con otros simuladores en Java, el de esta tesis provee o una interfaz de usuario amigable en la cual el usuario puede modelar con iconos y echas una red de colas para despus simularla y obtener resultados de manera grca. Adems se integr un mdulo e a a o o de anlisis estad a stico que permite hacer simulaciones de un mismo modelo con diferentes semillas y as obtener resultados ms precisos. Por ultimo se incluye un generador de cdigo Java apartir de un a o archivo XML que describe una red de colas.

1.5.
1.5.1.

Marco terico. o
Evaluacin de desempeo. o n

Un parte importante de la evaluacin de un sistema es la medicin del desempeo o tambin llamada o o n e monitoreo. Con el monitoreo se obtendrn diferentes vistas del sistema, como el ver qu operaciones a e toman ms tiempo o a qu componentes se les da una carga mayor de trabajo. a e

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

1.5. Marco terico. o

Para que este monitoreo se pueda llevar a cabo se tendrn que modicar algunas partes del sistema, a ya que se requieren tomar tiempos y otros datos; esto modicar el sistema (en el cdigo) y tambin a o e su desempeo real del sistema. A este tipo de monitoreo se le llama monitoreo por software. Si se n requieren mediciones de hardware, habr que instalar hardware especializado (usualmente sensores) a para hacer mediciones acerca de la carga de direcciones, carga en los buses, etc.. De manera anloga a al monitoreo anterior, a este se le llama monitoreo por hardware. Tambin se pueden combinar ambos e para obtener un monitoreo h brido. En ambos casos, el desarrollo de estas herramientas es un costo extra, en consecuencia el monitoreo no siempre se puede realizar. En vez de este monitoreo se puede utilizar una evaluacin de desempeo o n basado en modelos. Este tipo de evaluacin no requerir que el sistema a estudiar, est ya construido o a e y en funcionamiento, solo se necesitar al menos de una descripcin del sistema para as obtener un a o modelo abstracto. En el contexto de la evaluacin de desempe o, un modelo es una descripcin abstracta (basada en o n o conceptos matemticos bien denidos) de un sistema en trminos de sus componentes y sus interaca e ciones con el ambiente. Este ambiente se reere a como se usa el sistema por humanos u otro sistema, y es llamado el modelo de carga de trabajo. Como en muchos escenarios, donde hay que modelar algo, para el caso de modelar un sistema de comunicaciones no es nada fcil. Existen algunas gu que se pueden seguir para crear un modelo, pero a as no existe un mtodo establecido para realizar un modelo. Asimismo denir lo que es un buen modelo, es e un tanto subjetivo, por lo tanto un modelo podr ir de algo muy simple hasta uno demasiado complejo. a Un modelo depender mucho del tipo de medicin que sea de inters hacer al sistema en cuestin. a o e o Estas mediciones pueden ser orientadas a usuario u orientadas a sistema. Las mediciones usuales orientadas a usuario (tambin conocidas como orientadas a tarea) pueden e ser:

Tiempo de respuesta. (R) Salida de tareas. (X) Tiempo de espera de las tareas. (Wq ) Tiempo de servicio de las tareas. (S)

En cualquiera de estos casos las medidas sealan algo acerca del desempeo de las peticiones al n n sistema (o tareas) que son hechas por los usuarios del sistema.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 1. Introduccin. o

Algunas de las mediciones ms comunes de las orientadas a sistema son: a

Nmero de tareas en el sistema. (N ) u Nmero de tareas en alguna cola de sistema. (Nq ) u Utilizacin de los componentes de sistema. () o

Estas mediciones dicen algo acerca de la organizacin interna del sistema a estudiar. o Ya que se deni que se requiere medir, hay que vericar que tan detallado se requiere que estas o mediciones sean. Si se necesita una medicin muy exacta, entonces el modelo tendr que ser lo suo a cientemente detallado, para que las mediciones sean lo ms aproximadas posibles a algo real. De otra a manera, si solo se necesitan promedios, y mediciones no tan exactas, entonces vale la pena mantener un modelo lo ms simple posible. Es recomendable hacer un modelo abstracto justo con solo ciertas a suposiciones, en vez de un modelo muy detallado al que no se le puedan dar datos de entradas requeridos. Entonces la salida del modelo depender y se interpretar de acuerdo a los datos de entrada, es a a decir, un modelo es tan bueno como sus datos de entrada lo sean. Una vez que se construy un modelo, deber ser analizado, que se puede realizar con muchas tcnio a e cas. En muchos casos prcticos ste anlisis deber ser comprobado, preferentemente por herramientas a e a a de software, ya que los sistemas reales son muy complejos, y un anlisis a mano, no tendr suciente a a certeza. Finalmente el resultado numrico arrojado por el anlisis deber ser debidamente interpretado para e a a vericar si se obtiene un resultado util, de otra forma es posible que se tenga que modicar el modelo o usar alguna otra tcnica. Si se obtienen los resultados requeridos estos resultados se debern interpretar e a en trminos de la operacin del sistema modelado. A todo este proceso denido se le llama evaluacin e o o de sistema o evaluacin de desempeo de sistema. o n Todo este proceso tambin se puede combinar con el uso de monitoreo y as obtener algunos datos de e entrada que le pueden servir a un modelo de sistema detallado justo. La salida que se obtendr podr llea a var a conclusiones acerca de que ajustes requerir el sistema realmente y que inversiones sern ms a a a necesarias.

1.5.2.

Tcnicas de solucin por modelo. e o

Existen dos importantes clases de tcnicas: las anal e ticas y las simulativas.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

1.5. Marco terico. o

Si el modelo llena un nmero de requerimientos, se pueden calcular algunas mediciones directamente u de la manera anal tica. Las mediciones anal ticas son convenientes, ya que son ms exactas y de una a manera u otra los resultados son inmediatos. Sin embargo, no muchos sistemas reales se pueden modelar de alguna forma que los requerimientos estn determinados. Estas tcnicas implican tiempo al derivarlas e e y aplicarlas. La mayor ventaja es que se puede obtener una vista rpida en algunos propsitos de diseo a o n del sistema. En ests tcnicas existe una subdivisin: las llamadas tcnicas anal a e o e ticas de forma cerrada, las cuales darn como resultado mediciones de desempeo dadas expresiones expl a n citas en trmino de la e estructura y parmetros del sistema, pero solo se pueden aplicar a los modelos ms simples. Las otras a a tcnicas son llamadas numricas, con las cuales se obtendrn ecuaciones de las cuales se puede obtener e e a la solucin por medio de tcnicas de anlisis numrico, por ejemplo con procedimientos iterativos. o e a e Para casi toda clase de modelos, no existen tcnicas anal e ticas para obtener soluciones de los modelos. En estos casos se tienen que utilizar tcnicas de simulacin para resolver el modelo, es decir, e o obtener las medidas requeridas. Con la simulacin se puede imitar al sistema en cuestin, donde se o o utiliza generalmente un software de simulacin, y as se toman tiempos, se generan los eventos deseados, o etc. Al nal se tomarn estos datos para obtener las mediciones de inters. a e Es complicado denir que tipo de tcnica se va a utilizar ya que como se puede observar, las dos e tienen sus ventajas y desventajas; las anal ticas pueden ser menos costosas, pero los modelos no pueden ser acertados para analizarse por medio de sta tcnica; las simulativas pueden llevar a que el usuario e e modele un sistema muy complejo ya que no se restringe la simplicidad al utilizar esta tcnica, debido e al apoyo de una computadora. Usualmente se utiliza un punto intermedio como lo puede ser la tcnica e numrica que puede utilizar algo de las dos tcnicas anteriores. e e

1.5.3.

Modelos estocsticos. a

Como se seal en la seccin anterior, con los modelos de los sistemas, interesa observar como n o o se comportar un sistema que no existe an, as surge una incertidumbre de los modelos que sern a u a desarrollados. La incertidumbre en los parmetros del sistema se pueden confrontar con un anlisis paramtrico, a a e esto es, resolver un modelo muchas veces con diferentes parmetros. Como resultado se obtendr un a a anlisis de una medida de inters contra una serie de variaciones de un parmetro. a e a Otro tipo de incertidumbres se enfocan al uso del sistema, o tambin llamado carga de trabajo e del sistema. Este uso es dependiente de muchos factores, que no pueden ser descritos de manera determinista, es decir que no se puede predecir qu necesitarn los usuarios que haga el sistema, en e a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 1. Introduccin. o

un futuro. Lo unico que se puede saber, es por medio de las estad sticas acerca del uso en el pasado, o hacer especulaciones acerca de un comportamiento en el futuro. Estas incertidumbres llevan a usar variables aleatorias en los modelos, as expresar, de una manera estocstica1 , la incertidumbre acerca a a del comportamiento de uso. Cuando se hacen suposiciones estocsticas, entonces se terminar con la creacin de modelos esa a o tocsticos. El comportamiento total del sistema entonces ser descrito como un proceso estocstico en a a a el tiempo, es decir, una coleccin de variables aleatorias que cambian su valor a lo largo del tiempo. o Las medidas de desempeo que interesen, tendrn que ser expresadas como funciones de los procen a sos estocsticos, y dependiendo de del tipo de procesos y medidas requeridas, estas funciones sern a a igualmente ms o menos fciles de determinar. a a

1.5.4.

La notacin de Kendall. o

Usualmente se utiliza la notacin de Kendall, para describir de manera corta, un sistema de colas o en una manera no ambigua. Consiste de seis identicadores, separados por barras verticales, como: Llegadas | Servicios | Servidores | Tamao de Buer | Poblacin | Planeacin, n o o donde las Llegadas signica el tiempo entre el proceso de llegada de cada cliente, Servicio se reere a tiempo que requiere el servicio, Servidores indica el nmero de entidades que proveen el servicio, u Tamao del Buer seala el nmero mximo de clientes en la estacin de cola, que incluye al cliente n n u a o que posiblemente est en el servidor, la Poblacin indica el tamao de la poblacin de clientes, y a o n o nalmente, Planeacin es la estrategia de planeacin empleada. Los ultimos tres indicadores, pueden o o ser omitidos, ya que si se omiten, se supondr que el tamao de buer y la poblacin son innitos, y a n o que la estrategia de planeacin es FCFS (Primero en Llegar, Primero en ser Servido, por sus siglas en o ingls). Los parmetros de llegada y servicio, pueden adquirir diferentes valores, los ms comunes son: e a a

M (Markoviano), cuando el tiempo de llegada o de servicio son distribuidos de manera exponencialmente negativa. G (General), cuando el tiempo es arbitrariamente distribuido. D (Determin stico), cuando el tiempo es constante. Er (estado-r Erlang), cuando el tiempo est distribuido conforme a una distribucin Erlang-r. a o Hr , cuando el tiempo esta distribuido conforme a una distribucin hiper-exponencial de estado-r. o
1

Estocstico: f. Mat. Teor estad a a stica de los procesos cuya evolucin en el tiempo es aleatoria, tal como la secuencia o

de las tiradas de un dado. DRAE, http://buscon.rae.es/diccionario/cabecera.htm.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

1.5. Marco terico. o

1.5.5.

Soporte de herramientas.

No es posible construir de manera directa modelos estocsticos de sistemas muy complejos, que a describan todos los aspectos importantes de las mediciones que se requieran realizar. Para esto, es recomendable construirlo en pasos, es decir, construir pequeos modelos para despus unirlos en uno n e solo, as la derivacin del modelo estocstico, ser casi inmediata. As se puede llevar la construccin o a a o de estos modelos al rea de ms del lado de un diseador de sistemas y menos del lado del matemtico, a a n a aunque siempre ser necesario el conocimiento matemtico detrs de los modelos. a a a Ahora bien, ya que se obtuvo el modelo estocstico, se tienen que extraer las mediciones requeridas. a Por lo tanto, la complejidad de solucin del modelo, como ya se explic con anterioridad en la seccin o o o 1.5.2, va a depender del detalle de conocimiento de la simulacin o de las tcnicas anal o e ticas-numricas. e

1.5.6.

Construccin del modelo. o

Las herramientas de software son de gran ayuda para la construccin de modelos estocsticos grano a des. De aqu se pueden diferenciar dos representaciones de un modelo, la anal tica, que usualmente estar lista para una evaluacin numrica, y la representacin del modelador, que es una descripa o e o cin simblica orientada a una aplicacin espec o o o ca, que es el sistema a ser modelado. Por esto, los diseadores preeren la representacin del modelador. n o La idea de tener diferentes puntos de vista de un modelo, dependiendo de lo que se quiera hacer con l, es la idea central del marco de trabajo de una herramienta general de modelado (GMTF, General e Modelling Tool Framework), para modelar de sistemas cuantitativos. En resumen, la formalizacin de los modelos se lleva a una jerarqu de formalismos descriptivos, de o a a a a a una formalizacin F0 (el ms bajo nivel) a una Fn (el nivel ms alto). El nivel ms bajo corresponder a o modelos que son directamente adecuados para evaluaciones de una u otra forma, con el uso de tcnicas e anal ticas, numricas o de simulacin; el nivel ms alto corresponder a formalismos ms cercanos al e o a a a dominio de la aplicacin. o o o Denicin 1 Se dene un Fi modelo como un proceso de abstraccin, simplicacin o de reescribir o una descripcin de sistema S de una forma que se amolde al formalismo Fi . o

Denicin 2 El resultado del proceso anterior se llamar un Fi -modelo Mi de S, que se puede reeso a a cribir a otro formalismo Fi1 (donde i 1) que denotar un Fi1 -modelo Mi1 de S. Denicin 3 A este formalismo para un Fi1 -modelo se le llama un Fi1 modelado, y F0 coincio dir con la representacin anal a o tica.

10

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 1. Introduccin. o

Cuando Fi es el formalismo de ms alto nivel, la mayor de la actividad del usuario del modea a completamente automatizado, entonces ser importante contar con un soporte de herramienta. a a lado ser Fi modelado. Las actividades de ms bajo nivel de modelado pueden ser parcialmente o a

n o a e e ticas o descriptivo R0 , que como se seal antes se podr realizar con el uso de tcnicas numrico-anal por simulacin. o o a La evaluacin de este tipo de modelos es llama una V0 evaluacin. Los resultados estn presentados o

a Denicin 4 La evaluacin de un modelo F0 modelo M0 de S dar como resultado un formalismo o o

a en un formalismo o dominio Ri , y pueden ser sujetos a ser procesados para renarlos a un nivel ms alto Ri+1 .

a Ri . Estos renamientos usualmente implican el uso de una herramienta, ya que se podrn automatizar. Cuando se tiene un Fi1 modelo Mi1 de S, generalmente se quiere evaluar este modelo y obtener

o Denicin 5 Un Ei+1 ref inamiento, es el resultado de una evaluacin presentado en un dominio o

las medidas dadas al mismo nivel, es decir, que se necesitan los resultados a un nivel Ri . Se dene

o formalismo Fi1 , hasta obtener un F0 -modelo M0 , seguido de una evaluacin V0 y sus renamientos sucesivos Ei hasta Ej .

una evaluacin virtual Vj como el proceso de modelar subsecuentemente Mi (con 1 i j) en un o

1.5.7.

Solucin del modelo. o

Una vez que ya se obtuvo el modelo estocstico, se tienen que obtener las medidas de inters. En a e el ambiente de un GMTF, se puede decir que obtener los resultados de los modelos puede ser ms o a menos complejos, del nivel ms bajo del formalismo. Cabe mencionar que tambin las transformaciones a e de un nivel de modelado a otro tambin ser parte del proceso de solucin. Como se explicar ms e a o a a tarde, estas transformaciones pueden ser ms complejas y tardadas que la solucin del modelo de nivel a o ms bajo, una vez que se gener. a o En general se preere que en una herramienta de evaluacin de desempeo exista la manera de o n solucionar diferentes modelos, con diferentes tcnicas. As se podrn hacer comparaciones al solucionar e a el mismo modelo con una tcnica u con otra, al momento de expandir el modelo o modicarlo. e

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

11

CAP ITULO

2
Procesos estocsticos y cadenas de Markov. a

Cuando se trata con problemas de toma de decisiones, usualmente surge la necesidad de tomar decisiones de fenmenos que tienen cierto grado de incertidumbre asociada. Esta incertidumbre es o natural del fenmeno, y es posible tratarla de modo cuantitativo. Esto es posible ya que estos fenmenos o o pueden ocurrir con regularidad, solo con algunas variaciones, por esto se pueden llevar a describir mediante un modelo probabil stico.

2.1.

Procesos estocsticos. a

ndice t toma valores de un conjunto T dado [1]. El conjunto T , es el conjunto de enteros no negativos

Denicin 6 Un proceso estocstico es una coleccin indexada de variables aleatorias {X(t)}, donde el o a o y X(t) representa una caracter stica de inters medible en el tiempo t. As un proceso estocstico e a X(1), X(2),X(3), . . ., X(n) podr representar la coleccin de niveles de usuarios diarios en un sistema. a o

Usualmente cuando se analiza un proceso estocstico, tendr una estructura parecida a la siguiente. a a En puntos espec cos del tiempo con t = 0, 1, . . ., el sistema se encuentra exactamente en un estado, de un conjunto nito I de stos, excluyentes entre si, tambin etiquetados como 0, 1, . . ., M . Los puntos e e en el tiempo pueden encontrarse a intervalos que dependen del comportamiento del sistema en el que se encuentra el proceso estocstico. La representacin matemtica del sistema a analizar es la de un a o a cada variable aleatoria puede tomar el valor de cualquiera de los estados de M . proceso estocstico {X(t)}, donde las variables aleatorias se observan en t = 0, 1, 2, . . .n y en donde a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

13

2.2. Procesos de renovacin. o

un proceso estocstico de estados discretos, o tambin llamado cadena. De manera similar, se puede a e

Usualmente cuando el espacio o conjunto de estados es I = {0, 1, 2, ..M }, se dice que se trata con

tratar con espacios continuos y se llamar proceso estocstico de estado continuo. Anlogamente en a a a discreto o continuo. el caso que el conjunto T puede ser discreto o continuo, se le llamar proceso estocstico de tiempo a a La funcin de densidad acumulada o funcin de distribucin de una variable aleatoria Xt usualmente o o o o P {X(t1 ) x} con x en I y t en T y P la funcin de probabilidad. Esto se puede generalizar a la distribucin de orden n del proceso estocstico como: o a F (x, t) = P (X(t1 ) x1 , . . . , X(tn ) xn }, donde x pertenece al conjunto de estados I n y t est en T n . a todos los valores de x y t, entonces se dice que el proceso es estrictamente estacionario. Si todas las distribuciones de orden n(con n N+ ) son invariantes de los saltos de tiempo para (2.1) se llama la distribucin de primer orden del proceso estocstico {X(t)|t T } y se denota como F (x, t) = o a

Denicin 7 Se dene un proceso estocstico como independiente cuando una de sus n distribuciones o a cumple la siguiente condicin: o F (x, t) =
n Y i1 n Y i1

F (xi , ti ) =

P {X(ti ) xi }.

(2.2)

Un ejemplo de proceso estocstico independiente es un proceso de renovacin (renewal process). Un a o a proceso de renovacin {Xn |n = 1, 2, . . .}, es un proceso estocstico de tiempo discreto, donde X1 , X2 , . . . o son variables aleatorias independientes, distribuidos idnticamente y no negativas. En este tipo de e procesos existe la total independencia entre estados consecutivos. Sin embargo, se asume en algunos casos, que existe algn tipo de dependencia entre estos estados. u

2.2.

Procesos de renovacin. o

Denicin 8 Se dene un proceso de renovacin como un proceso estocstico de tiempo discreto o o a e {Xn |n = 1, 2, . . . , }, donde X1 , X2 ,. . . son variables aleatorias independientes, idnticamente dis, variable aleatoria X con una funcin de distribucin FX (x). As se dene: o o Sk = X1 + X2 + ... + Xk (2.3) a tribuidas y no negativas. Se asume que todas las variables aleatorias Xi estn distribuidas como la

que denota el tiempo, desde la instancia de tiempo inicial 0 en adelante, hasta la k ocurrencia de una renovacin (S0 = 0). o

14

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 2. Procesos estocsticos y cadenas de Markov. a

Los procesos estocsticos que describen ujos de llegadas de clientes en una estacin de colas, a o usualmente se consideran que son procesos de renovacin. Esto implica que el tiempo entre cada o llegada se asume que es independiente e idnticamente distribuido. As existen muchas formas de e , construir distribuciones de procesos de llegada.

2.3.

Cadenas de Markov.

La dependencia m nima posible en un proceso estocstico es en la cual, el siguiente estado a tomar, a solo depende del estado actual del proceso estocstico, y no de los estados que se tomaron anteriormente. a Esto se llama dependencia de primer orden o dependencia de Markov, que se dene como: Denicin 9 Un proceso estocstico {X(t)|t T } es llamado proceso de Markov si para cualquier o a X(tn ), es decir: P {X(tn+1 ) xn+1 |X(t0 ) = x0 , . . . , X(tn ) = xn } = P {X(tn+1 ) xn+1 |X(tn ) = xn } (2.4)

o t0 < . . . tn < tn+1 de la distribucin de X(tn+1 ), dados los valores X(t0 ), . . . , X(tn ), solo depende de

Esta ecuacin, es tambin llamada la propiedad de Markov. En otras palabras se reere a que la o e probabilidad condicional de cualquier evento futuro, dado un evento pasado y el estado presente Xt = i, es independiente del evento pasado y solo depende del estado presente. Este tipo de procesos que son usados para la evaluacin de desempe o son invariantes a los cambios de tiempo, esto es, que para o n cualquier s < t, y x, xs , se tiene: P {X(t) x|X(s) = xs } = P {X(t s) x|X(0) = xs } (2.5)

En este caso se habla de procesos de Markov con tiempo homogneo. Cabe denotar que en un proceso e o cadena de Markov, el tiempo durante el que se reside en un estado debe de estar descrito por variables aleatorias que tengan una distribucin sin memoria. Como se ver ms tarde, esto implica o a a que el tiempo de residencia de un estado en una cadena de Markov de tiempo continuo necesita ser distribuido exponencialmente, mientras que en una de tiempo discreto la cadena deber ser distribuida a de manera geomtrica. Si no se cumplen ninguna de estas distribuciones, entonces se habla de semie procesos de Markov. Las probabilidades condicionales P = {Xt+1 = j|Xt } de una cadena de Markov son llamadas

probabilidades de transicin (de un paso). Si para cada i y j, o

P {Xt+1 = j|Xt = i} = P {X1 = j|X0 = i} ,


Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

(2.6)

15

2.3. Cadenas de Markov.

para todo t = 1, 2, . . . ,entonces las probabilidades de transicin son llamadas estacionarias. Entonces, o al tener probabilidades de transicin estacionarias implica que stas no cambian en el tiempo. La o e existencia de este tipo de probabilidades tambin implican que para cada i, j y n(n = 0, 1, 2, . . .), e P = {Xt+n = j|Xt = i} = P {Xn = j|X0 = i} (2.7)

para todo t = 0, 1, . . .. Estas probabilidades son llamadas probabilidades de transicin de npasos(pn ). o ij Esto es la probabilidad condicional, de que el sistema estar en el estado j despus de exactamente n a e pasos (unidades de tiempo), dado que inicia en el estado i en cualquier instante de tiempo t. Para hacer el cmputo de estas probabilidades se emplean las ecuaciones de Chapman-Kolmogorov: o
(n) pij

para todo

i = 0, 1, . . ., M, j = 0, 1, . . ., M,

M X k=0

pik pkj

(m) (nm)

(2.8)

y cualquier

m = 1, 2, . . ., n 1, n = m + 1, m + 2,. . .

As pik pkj ,

(m) (nm)

es la probabilidad condicional que, dado un estado inicial i, el proceso va del estado

los posibles k resultar pn . a ij

k despus de m pasos y despus al estado j en n m pasos. Al sumar estas probabilidades para todos e e Existe una propiedad de las cadenas de Markov que aparece despus de un determinado tiempo. e Esta propiedad es una probabilidad limitante que seala que el sistema estar en un estado j despus n a e de un nmero grande de transiciones, y que esta probabilidad es independiente del estado inicial. Esto u se dene como: Denicin 10 Para cualquier cadena de Markov irreducible y ergdica (ver Glosario), existe el l pij o o m
n (n)

y es independiente de i. Adems, a
(n) l p m n ij

= j > 0

(2.9)

donde j unicamente satisface las siguientes ecuaciones de estado estable j =


M P M P

i pij ,para j = 0, 1, ..., M, (2.10)

i=0

j = 1

j=0

Donde j son llamadas las probabilidades de estado estable de la cadena de Markov. Esta probabilidad signica que la probabilidad de encontrar un proceso en algn estado j, despus de un nmero u e u

16

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 2. Procesos estocsticos y cadenas de Markov. a

grande de transiciones tiende al valor j , que es independiente de la distribucin de probabilidad del o estado inicial. Esta probabilidad no implica que el proceso se establezca en un estado. Tambin estas e probabilidades pueden ser interpretadas como probabilidades estacionarias (no confundir con probabilidades de transicin estacionarias), si la probabilidad de estar en el estado j est dada por j para o a todo j, entonces la probabilidad de que el proceso est en el estado j en el tiempo n = 1, 2, . . . tambin e e estar dado por j . a

2.4.

Cadenas de Markov de tiempo continuo.

Durante este cap tulo se habl de cadenas de Markov asumiendo que eran de tiempo discreto, es o decir el valor de t tomaba valores en 0, 1, 2, 3, . . ., . Esto est bien para algunos problemas, pero en a algunos casos (como en teor de colas) no es una buena aproximacin. Se requiere que t est denido de a o e a a manera continua (es decir que t R+ ), que se denotar como t0 . La cadena de Markov estar denida

de la misma manera que en las secciones anteriores, solo que ahora estar denida bajo un tiempo a t0 continuo.

2.4.1.

Variables aleatorias claves.

En el anlisis de las cadenas de Markov con tiempo continuo, existe un conjunto de variables a aleatorias clave. Cada que un proceso entra en un estado i, la cantidad de tiempo que est en ese estado antes de a moverse a otro est denido por una variable aleatoria Ti , donde i = 0, 1, . . .,M . a Supongamos que el proceso entra a un estado ien un tiempo t0 = s. Entonces, para cualquier cantidad de tiempo t > 0, ntese que Ti > tsi y solo si X(t0 ) = ipara todo t0 en el intervalo s t0 o s + t.Entonces, por la propiedad Markoviana implica que: P {T i > t + s|T i > s} = P {T i > t} (2.11)

Esta es una propiedad inusual en alguna distribucin de probabilidad. Esto bsicamente dice que la o a distribucin de probabilidad del tiempo restante hasta que el proceso sale de un determinado estado o es siempre la misma, sin importar cuanto tiempo el proceso haya estado en ese estado. Es decir, la variable aleatoria no tiene memoria. Solo existe una probabilidad de distribucin (continua) que posee o esta propiedad, que es la distribucin exponencial. Esta tiene un solo parmetro q, donde la media es o a 1/q y la funcin de distribucin acumulada es o o P {T i t} = 1 eqt , para t 0
Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

(2.12)

17

2.4. Cadenas de Markov de tiempo continuo.

Anlogamente a las probabilidades de transicin de un paso, en las cadenas de Markov de tiempo a o continuo existen intensidades de transicin, denidas como: o o o Denicin 11 Sea pij (t) la funcin de probabilidad de transicin en tiempo continuo, pij la probao a o bilidad con la que un proceso se mueve de un estado j a uno i y qi el parmetro de la distribucin o exponencial para Ti , las intensidades de transicin son: qi = y qij = pij (t) d pij (0) = l = qi pij , para todo j 6= i m t0 dt t 1 pii (t) d pii (0) = l , para i = 0, 1, 2..., M m t0 dt t (2.13)

o La interpretacin que se les da a qi y qij es que son tasas de transicin. En particular, qi es la tasa o u de transicin fuera del estado i, es decir qi es el nmero esperado de veces que el proceso se mueve o u fuera del estado i por unidad de tiempo empleado en el estado i. De manera similar, qij es el nmero de veces en que el proceso se mueve del estado i al estado j por unidad de tiempo empleado en i. Entonces qi =
qij X j6=i

(2.14)

distribucin exponencial de una variable aleatoria Tij . Cada vez que el proceso entra en un estado i, o

Como qi es el parmetro de la distribucin exponencial para Ti , cada qij es el parmetro de una a o a

esta variable aleatoria dene el tiempo empleado en el estado i antes de que ocurra una transicin al o

es pij = qij /qi .

o a m nimo (sobre i 6= j) de Tij . Cuando la transicin ocurre, la probabilidad de que es hac el estado j

estado j (con i 6= j). El tiempo empleado en el estado i hasta que una transicin ocurra (Ti ) es el o

Adems las cadenas de Markov de tiempo continuo tambin tienen la probabilidad limitante llamada a e probabilidad de estado estable descrita en la seccin 3.1.4. Por ultimo se establece que este tipo de o cadenas tambin satisfacen las ecuaciones de Chapman-Kolmogorov. e

18

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

CAP ITULO

3
Sistemas de colas.

3.1.
3.1.1.

Introduccin a la teor de colas. o a


Teor de colas. a

La teor de colas es el estudio de la espera en cualquier sistema que involucre una cola. Esta teor a a usa los modelos de colas para representar varios tipos de sistemas de colas. Las frmulas para cada o modelo indican como se desempea cada sistema de colas, incluyendo el promedio de la cantidad de n espera que ocurrir y otra variedad de mediciones. a Es por esto que los modelos de colas son de grana ayuda para determinar como manejar estos sistemas de la forma ms ecaz. a

3.1.2.

Modelos de colas.

Un tipo de modelos estocsticos son los modelos de colas, que describen el fenmeno de encolaa o miento que ocurre en la realidad. El encolamiento se puede observar en muchas partes, en una cola del supermercado, en los cajeros automticos, en los aeropuertos, parques de diversiones, etc. El encolaa miento ocurre por que var el tiempo en el que un cliente llega. Tambin ocurrir por que el tiempo a e a de servicio var dependiendo de cada cliente, y no solo de l, sino del que atiende tambin. A manera a e e de regla general es que a ms variabilidad, se necesitar ms encolar. A esto tambin est asociada la a a a e a espera. A una cola ms larga, le corresponder un tiempo de espera ms largo de lo normal, a cada a a a usuario.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

19

3.1. Introduccin a la teor de colas. o a

Las colas son utiles tanto en sistemas tcnicos, como lo son los sistemas de comunicaciones as como e en sistemas de log stica y l neas de manufactura. Incluso se utilizan tcnicas similares para analizar y e optimizar las operaciones, en todos estos sistemas. En muchos de estos sistemas lo que se puede observar es el uso de componentes compartidos, donde muchos usuarios requieren del uso de stos. Sin embargo, el uso no se puede dar siempre al mismo e tiempo, as cada usuario tendr que esperar para usar el componente deseado. Cabe mencionar que a esto no es una debilidad de un sistema, sino que ofrece diferentes ventajas que se vern ms adelante, a a adems, no es costoso de implementar. a Entonces se requiere modelar todo tipo de recursos compartidos como entidades que proveen un servicio, cada una, precedida de una cola de espera.

3.1.3.

Estructura bsica de modelos de colas. a

El proceso bsico de un modelo de colas usualmente es el mismo. Una fuente de entrada genera en a el tiempo un cliente que requiere un servicio. Estos clientes entran en un sistema de colas y se unen a una cola. Por medio de una regla espec ca, en determinados tiempos, se selecciona un miembro de la cola para servirle, esta regla ser llamada la disciplina de la cola. El servicio requerido es realizado a por el cliente por un mecanismo de servicio, despus del cual, el cliente abandona el sistema de colas. e Una caracter stica de la fuente de entrada es su tamao, que determina el nmero total de clientes n u que pueden requerir el servicio de vez en cuando, es decir el nmero total de clientes potenciales. Esta u poblacin de la cul llegan los clientes es la poblacin de llamada, que su tamao podr ser nita o a o n a o innita. Se estudia el caso de un nmero grande nito, para as no tomarlo como verdaderamente u innita. El caso nito es ms dif anal a cil ticamente ya que el nmero de clientes en el sistema de u colas afectar el nmero potencial de clientes afuera del sistema. Sin embargo, esta suposicin nita a u o se deber hacer si la tasa a la cual la fuente de entrada genera clientes, es afectada signicativamente a por el nmero de clientes en el sistema. u Se asume que generalmente los clientes llegarn en un tiempo, conforme a una distribucin de a o probabilidad [8], y as se podr hacer la suposicin que el tamao de la fuente de entrada es innito. a o n Este tiempo es llamado el tiempo entre llegadas. Una cola es donde un cliente espera antes de ser servido. La caracter stica ms importante es el a nmero de clientes permitidos que puede contener. Este tamao es nito o innito; generalmente se u n asume que el tamao de la cola es innito. n La disciplina de la cola se reere a la manera en que un cliente puede ser seleccionado para ser

20

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 3. Sistemas de colas.

servido. Usualmente se utiliza el esquema Primero en Llegar, Primero en ser Servido (FCFS, por sus siglas en ingls First Come, First Served). Aunque, se pueden aplicar diferente esquemas como al azar, e por prioridades, en un orden espec co, etc. El mecanismo de servicio consiste en una o ms instalaciones de servicio, cada una podr contener a a uno o ms canales paralelos de servicio, conocidos como servidores. En estas entidades de servicio o a servidores, se proporcionar el servicio requerido a cada cliente de la cola. a El tiempo transcurrido del comienzo del servicio de un cliente, hasta que naliza, es llamado tiempo de servicio. Todo modelo de un sistema de colas, deber especicar la distribucin de probabilidad de a o los tiempos de servicio para cada servidor, que usualmente se utiliza la misma distribucin para todos. o

3.1.4.

Funcionamiento.

El funcionamiento bsico de un sistema de colas es el siguiente: se tiene una sola l a nea de espera (que puede estar vac a veces) que se forma en frente de una instalacin de servicio, en donde existe a o uno o ms servidores. Cada cliente generado por una fuente de entrada es atendido por uno de los a servidores, tal vez despus de esperar en la cola de espera (o l e nea de espera). Esto se muestra en la siguiente gura:

Figura 3.1: Funcionamiento bsico de una cola. a

Cabe notar que esta ilustracin es solo una manera de mostrar el funcionamiento, ya que el funo cionamiento y la estructura no estn ligados. La fuente de entrada puede ser por ejemplo clientes que a llegan a una sala de emergencia. Un servidor puede que no sea un individuo o una computadora, puede ser un grupo de personas, una mquina electrnica, etc. De igual modo, los clientes podr no ser a o an

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

21

3.1. Introduccin a la teor de colas. o a

personas, podr ser piezas que esperan por una operacin de una mquina, automviles, etc. Finalan o a o mente no es necesario que la cola est en una l e nea, los clientes podr estar en un rea distribuidos an a y ah esperar a ser atendidos por el servidor. Todos estos factores no inuyen en el funcionamiento, ya que el estudio de las variables: nmero de clientes esperando, tiempo de espera, tiempo de servicio, u etc., no cambia.

3.1.5.

Notacin. o

A continuacin se presenta un conjunto de variables que se utilizarn como notacin para el resto o a o de esta tesis, todas relativas a la teor de colas y su estudio: a Pn = Probabilidad de que estn exactamente n clientes en el sistema. e N = Estado del sistema, que es el nmero de clientes promedio en el sistema de cola. u Nq = Longitud de la cola, indica el nmero de clientes promedio esperando en la cola. u s = Nmero de servidores del sistema. u n = Tasa de llegadas promedio (nmero esperado de llegadas por unidad de tiempo) de nuevos u clientes cuando n clientes estn en el sistema. a n = Tasa de servicio promedio (nmero esperado de clientes atendidos por unidad de tiempo) u de todo el sistema cuando n clientes estn en el sistema. a Adicionalmente se denen las siguientes variables. Cuando n es una constante para todo n, esta constante se denota por . Cuando la tasa de servicio promedio por cada servidor ocupado es una constante para todo n 1, se denota por . Con estas condiciones se dene 1/ y 1/ como el = /(s) como el factor de utilizacin para las instalaciones de servicio. o Se dice que despus de un largo periodo de tiempo el sistema de cola llega a un estado estable. e Este estado se alcanza cuando el estado del sistema es independiente del estado inicial y del tiempo transcurrido. Se establece que cualquier estado puede llegar a su condicin de estado estable si = o / < 1. La teor de colas tiende a enfocarse ampliamente en esta condicin de estado estable, una a o de las razones es por que cuando s depende del caso inicial, es ms dif de estudiar anal a cil ticamente. Cuando el sistema se encuentra en estado estable se pueden estudiar las siguientes variables: E[N ] = Nmero esperado de clientes en el sistema. = u
P

tiempo esperado entre llegadas y el tiempo esperado de servicio, respectivamente. Finalmente se dene

nPn

n=0

22

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 3. Sistemas de colas.

E[Nq ]= Nmero esperado de clientes esperando en la cola. = u

n=s

E[R] = Tiempo de respuesta esperado, es decir el tiempo que espera un cliente a ser totalmente atendido. (E[W ] + E[Wq ]) E[W ] = Tiempo de espera de la tarea en el ente de servicio. E[Wq ] = Tiempo de espera promedio de un cliente en la cola.

(n s)Pn

3.1.6.

Relaciones entre variables y la Ley de Little.

En esta seccin se establecer la frmula ms general en la evaluacin de anlisis de desempeo, o a o a o a n la ley de Little [9]. Esta ley relaciona el nmero promedio de clientes en un sistema de colas con el u nmero promedio de llegadas por unidad de tiempo y el tiempo promedio que un cliente emplea en un u sistema de colas. Sea el promedio de llegadas por unidad de tiempo (tambin llamada la tasa de llegada o intensidad e de llegada). Se asume que la disciplina de la cola ser FCFS. Como lo denota el funcionamiento de la a cola, el cliente pasar inmediatamente a ser atendido o esperar en una cola hasta pasar a ser atendido. a a Cabe notar que para este anlisis no se toma en cuenta la distribucin de probabilidad asignada de la a o fuente de entrada o del servidor, solo sus promedios[10]. Se dene el tiempo promedio de espera en el sistema como E[R] (tiempo de respuesta), y el nmero de clientes en el sistema como E[N ]. u Se supone que se selecciona un cliente en particular, cuando el cliente entra al sistema y se marca promedio igual al valor de E[R]. Sin embargo, en el momento que el cliente deje el sistema, se sabe que mientras ese cliente pas por todo el sistema de cola, otros clientes llegaron. Ya que en promedio o pasaron E[R] unidades de tiempo entre la llegada y salida del cliente seleccionado, se observa que en al valor de E[N ]. Esto dar por hecho de que cada cliente puede ser un cliente seleccionado, entonces, a cliente seleccionado, es decir, esto puede ser interpretado correctamente como el nmero promedio de u clientes en el sistema. Entonces se tiene: E[N ] = E[R] (3.1) promedio han llegado E[R] clientes despus de este cliente. No obstante, este nmero, ser igual e u a a con un tiempo ti. Cuando sale del sistema se marca con un tiempo tf . La diferencia entre tf ti ser en

el producto E[R] siempre ser igual al nmero de clientes dejados atrs en el sistema por cualquier a u a

Se puede asumir que la tasa de salida del sistema ser igual a la tasa de entrada del sistema, esto a ocurrir siempre y cuando el sistema no est sobrecargado, de otra manera se podr perder algunos a e an clientes.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

23

3.1. Introduccin a la teor de colas. o a

Ahora se supone que se selecciona un cliente antes de que entre a la cola de espera del sistema. El tiempo de espera en la cola ser E[W ]. Al aplicar de nuevo la ley de Little, el nmero promedio de a u a clientes en la cola E[Nq ], deber ser igual al producto del tiempo de espera y la tasa de entrada (se asume que no se perdern clientes en el sistema), entonces se obtiene: a E[Nq ] = E[W ] Finalmente se puede aplicar la ley al nivel del servidor y se obtiene que: E[Ns ] = E[S] (3.3) (3.2)

u Donde Ns es el nmero esperado de clientes en el servidor y E[S] es el tiempo promedio que el cliente tarda en el servidor. De regreso a la vista de todo el sistema de cola, se puede obtener que el promedio de clientes dentro del sistema ser igual a la suma de los clientes en todas las partes, es decir, E[N ] = E[Nq ] + E[Ns ]. a Cuando se aplican las derivaciones anteriores se obtiene el valor esperado: E[N ] = E[Nq ] + E[Ns ] = E[W ] + E[S] = (E[W ] + E[S]) = E[R] (3.4)

3.1.7.

Proceso de nacimiento y muerte.

Conocido en ingls como the birth-and-death process, este proceso asume que la entrada (llegada e de clientes) y la salida (clientes atendidos) ocurren acorde a un proceso de nacimiento y muerte. Este proceso proviene de la teor de probabilidad y tiene varias aplicaciones en diferentes areas. En el caso a de la teor de colas, el trmino nacimiento se reere a la llegada de un nuevo cliente y la muerte a e a la salida del sistema de este cliente ya atendido. El estado del sistema en cualquier tiempo t es el nmero de clientes N (t) en el sistema en ese tiempo. El proceso de nacimiento y muerte describe u probabil sticamente como N (t) cambia conforme t se incrementa. Es decir, el proceso dice que los nacimientos y muertes individuales ocurren aleatoriamente, cuando su tasa promedio depende solo del estado del sistema actual. Ms an, se hacen las siguientes suposiciones del proceso: a u Suposicin 1. Dada N (t) = n, la distribucin de probabilidad actual del tiempo restante hasta o o el siguiente nacimiento (llegada) es exponencial con parmetro n (con n = 0, 1, 2. . .). a Suposicin 2. Dada N (t) = n, la distribucin de probabilidad actual del tiempo restante hasta o o la prxima muerte (atencin completada) es exponencial con parmetro n (con n = 1, 2. . .). o o a Suposicin 3. La variable aleatoria del punto 1 y la variable aleatoria del punto 2 son mutuao mente independientes. La siguiente transicin en el estado del proceso puede ser: o

24

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 3. Sistemas de colas.

Figura 3.2: Diagrama de estados de un proceso de nacimiento muerte. n n + 1 (un solo nacimiento), o n n 1 (una sola muerte). Debido a esto, el proceso de nacimiento y muerte es un tipo especial de cadena de Markov de tiempo continuo. As los modelos de colas que pueden ser representados por una cadena de Markov , de tiempo continuo, son por mucho ms manejables anal a ticamente que cualquier otra. Por la propiedad 4 del Apndice A se implica que las tasas promedio son n y n , En Figura 3.2 e se muestra el diagrama de estados de un proceso de nacimiento muerte, adems se pueden resumir las a 3 suposiciones pasadas, ya que se muestran las posibles transiciones del sistema y para cada echa se da una tasa promedio para la transicin. o

Ya que los eventos que suceden en el sistema se alternan entre llegadas y salidas, se concluye en el siguiente principio: Denicin 12 Tasa de Entrada = Tasa de Salida. Para cualquier estado del sistema n(n = o 0, 1, 2, . . .) la tasa de entrada promedio = tasa de salida promedio.

La ecuacin de este principio tambin se llama ecuacin de balance para el estado n. Despus de o e o e construir las ecuaciones de balance para todos los estados en trminos de la incgnita Pn , se puede e o resolver el sistema de ecuaciones para encontrar estas probabilidades. Para ilustrar esta ecuacin considere el estado 0. El proceso entra a este estado solo por el estado o o 1. Entonces, la probabilidad de estado estable de estar en el estado 1 (P1 ) representa la proporcin de tiempo en la que es posible que el sistema entre en el estado 0. Dado que el proceso est en el a estado 1, la tasa promedio de entrar al estado 0 es 1 , es decir para cada unidad de tiempo acumulada que el proceso emplee en el estado 1, el nmero de veces esperado de que el sistema deje el estado 1 u a para entrar al estado 0 es 1 . De cualquier otro estado, esta tasa promedio ser 0. entonces, la tasa

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

25

3.1. Introduccin a la teor de colas. o a

promedio resultante a la cul el proceso deja su estado actual para entrar al estado 0 (la tasa de entrada a promedio) es: 1 P1 + 0(1 P1 ) = 1 P1 de balance para el estado 0 ser: a 1 P1 = 0 P0 (3.6) (3.5)

Con el mismo razonamiento anterior, la tasa de salida promedio deber ser 0 P0 , entonces la ecuacin a o

Para cualquier otro estado existen dos posibles transiciones ambas para entrar y salir del estado. Por consecuente, cada lado de las ecuaciones de balance para estos estados representa la suma de las tasas promedio para las dos transiciones involucradas. De lo contrario, se puede hacer el mismo razonamiento que para el estado 0. En la tabla 3.1 se presentan las ecuaciones de balance para el proceso, ntese que la primera o ecuacin contiene dos variables para las cules hay que resolver, la segunda contiene tres y la siguiente o a una ms para todos los casos, es decir, siempre hay una variable extra. El procedimiento para obtener a el resultado de estas ecuaciones, es solucionarlas en trminos de una de las variables, que la ms e a o e e conveniente es P0 . Entonces para resolver la primera ecuacin se resuelve P1 en trminos de P0, despus e se usarn estos resultados para resolver P2 en trminos de P0 y de manera similar se continua para las a dems ecuaciones. Al nal, el requerimiento de que la suma de todas las probabilidades sea igual a 1 a se puede usar para evaluar P0 . Tabla 3.1: Ecuaciones de balance para el proceso de nacimiento y muerte. Estado 0 1 2 . . . n1 n . . . Tasa de entrada = Tasa de salida 1 P1 = 0 P0 0 P0 + 2 P2 = (1 + 1 ) P1 1 P1 + 3 P3 = (2 + 2 ) P2 . . . n2 Pn2 + n Pn = n1 + n1 Pn1 n1 Pn1 + n+1 Pn+1 = (n + n ) Pn . . .

Cuando se aplica el procedimiento descrito se obtienen los siguientes resultados:

26

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 3. Sistemas de colas.

Estado: 0: 1: 2: . . . n1 n . . . P1 P2 P3 . . . Pn Pn+1 . . . n1 1 Pn1 + n1 Pn1 n2 Pn2 n n n 1 = Pn + ( Pn n1 Pn1 ) n+1 n+1 n = n1 Pn1 n n = Pn n+1 = n1 n2 . 0 P0 n n1 . . . 1 n n1 . 0 = P0 n+1 n . . . 1 = = =
0 1 P0

1 P1 + 2 2 = P2 + 3

1 ( P1 0 P0 ) 2 1 1 ( P2 1 P1 ) 3 2

1 P1 2 2 = P2 3 =

1 0 P0 2 1 2 1 0 = P0 3 2 1 =

Para simplicar la notacin se dene: o Cn == n1 n2 . 0 , para n = 1, 2, ..., n n1 . . . 1 (3.7)

Donde Cn = 1 cuando n = 0. Entonces, las probabilidades de estado estable son: Pn = Cn P0 para n = 0, 1, 2, ... El requerimiento de que la suma de las probabilidades sea igual a 1, implica que:
X

(3.8)

Pn =

n=0

n=0

Cn P0 = 1 !1

(3.9)

Por lo tanto: P0 =

n=0

Entonces cuando un modelo de colas est basado en un proceso de nacimiento y muerte, tal que el a estado del sistema n representa el nmero de clientes en el sistema de cola, las medidas claves de u desempeo del sistema pueden ser obtenidas inmediatamente. n

Cn

(3.10)

3.2.

La propiedad PASTA.

Un resultado reconocido y usualmente aplicado a la teor de colas es la propiedad de PASTA a (Poisson Arrivals See Time Averages).

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

27

3.3. Modelos de colas basados en procesos de nacimiento y muerte.

El teorema de la propiedad PASTA dice: La distribucin de los clientes en una estacin de colas en el momento que un cliente nuevo de o o un proceso de llegada de Poisson se presenta, es la igual a la distribucin a largo plazo o del estado o estable. Se dice que cada cliente ve la cola a la que llega como si estuviera en equilibrio. La demostracin de esta propiedad es relativamente simple. Considere un sistema de cola en el cul el o a nmero de clientes presente es representado por un proceso estocstico (Xt , t 0). Se dene el u a evento existe al menos una llegada en sta estacin de cola en el intervalo (t h, t]. Ya que las e o llegadas forman un proceso de Poisson (ver Glosario Proceso de Poisson) homogneo, la probabilie es igual a P {N (h) 1}, donde N (t) es el proceso de conteo de procesos de renovacin. Para proo dad de este evento es igual a la probabilidad de que existan una llegada en el intervalo (0, h) que cesos que no son de Poisson, este cambio al origen no es vlido. Ya que los tiempos entre llegaa das no tienen memoria, la probabilidad denida es independiente de la historia pasada del procee P {N (h) 1 Xth = i} = P {N (h) 1} P {Xth = i}. A partir de esto se puede concluir tambin que: P {Xth = i|N (h) 1} = P {Xth = i} (3.11) so de llegada y del estado de la estacin de cola: P {N (h) 1|Xth = i} = P {N (h) 1} as que o

Si se toma el l mite de h 0, el lado izquierdo de esta igualdad simplemente expresa la probabilidad de que una llega en el momento t llega a una cola con i clientes en ella. Esta probabilidad entonces es igual a la probabilidad de que la cola en el tiempo t tenga i clientes en ella, independientemente de cualquier llegada, por lo tanto es la probabilidad de estado estable de tener i clientes en la cola. As se puede concluir que una llegada de Poisson acta como un observador aleatorio y ve la cola como si u estuviera en equilibrio.

3.3.
3.3.1.

Modelos de colas basados en procesos de nacimiento y muerte.


Modelo M | M | 1

Con la notacin de Kendall descrita anteriormente (ver seccin 1.5.4) este modelo es la representao o cin de un sistema de colas que asume que el tiempo entre llegadas es independiente e idnticamente o e distribuido conforme a una distribucin exponencial, as como otra distribucin exponencial para el o o tiempo de servicio y que el nmero de servidores ser uno. Por ello, este modelo es un caso especial de u a un proceso de nacimiento y muerte donde la tasa de llegada promedio y la tasa de servicio promedio por servidor ocupado del sistema son constantes ( y respectivamente) cualquiera que sea el estado

28

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 3. Sistemas de colas.

del sistema. Cuando el sistema tiene un solo servidor (s = 1), la implicacin es que los parmetros o a para el proceso de nacimiento y muerte son n = y n = (con n = 0, 1, 2, 3, . . . ). Sin embargo, cuando el sistema tiene mltiples servidores (s > 1) n no puede ser expresado tan u fcilmente. Se debe recordar que n representa la tasa promedio de servicio para todo el sistema de a colas, es decir la tasa promedio a la cual se completan servicios y as los clientes dejan el sistema, donde n son los clientes que estn en el sistema actualmente. Conforme a la Propiedad 4 del Apndice A de a e la distribucin exponencial, la tasa de servicio promedio por servidor ocupado es , la tasa promedio o e para n = s cuando n s para que todos los servidores s estn ocupados. para todo el sistema por n servidores ocupado deber ser n. Entonces n = n cuando n s, como a Cuando la tasa de servicio promedio mximo s excede la tasa de llegada promedio , esto es a cuando la ocupacin < 1, un sistema de colas que se acople a este modelo eventualmente llegar a o a una condicin de estado estable. o

3.3.2.

Resultados para el modelo M | M | 1.

Para s = 1, los factores Cn para el proceso de nacimiento y muerte se reduce a n Cn = = n , para n = 0, 1, 2, ... Esto implica, Pn = n P0 , para n = 0, 1, 2, ..., donde P0 = Entonces,
X

(3.12)

(3.13)

n=0

!1

1 1

=1

(3.14)

Pn = (1 ) pn , para n = 0, 1, 2, ... y se obtiene que:


X d nPn = = (1 ) (n ) = E[N ] = n=0 d n=0 ! n=0 1 d X n d = (1 ) = (1 ) = d n=0 d 1 1

(3.15)

En consecuencia para obtener las medidas relevantes, se utiliza la teor de las series geomtricas [11] a e
X

n (1 ) n

(3.16)

De manera similar para, E[Nq ] =


X

n=1

(n 1) Pn = E[N ] 1 (1 P0 ) =

2 ( )

(3.17)

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

29

3.3. Modelos de colas basados en procesos de nacimiento y muerte.

Cuando , y la tasa de llegada promedio excede la tasa de servicio promedio, la solucin anterior o a mite, no funciona (ya que la suma para calcular P0 diverge). Para este caso, la cola crecer sin l conocido como explotar. Si el sistema de cola inicia su operacin sin clientes presentes, el servidor o puede funcionar al atender a los clientes que lleguen en un corto periodo de tiempo, pero a largo plazo ser imposible. a Ahora bien, si se regresa a la suposicin que < , se puede derivar la distribucin de probabilidad o o del tiempo de espera en el sistema (que incluye el tiempo de servicio) E[R] para una llegada aleatoria cuando la disciplina de la cola es FCFS. Si al llegar se encuentra con n clientes an en el sistema, u entonces el que llega tendr que esperar por n + 1 tiempos de servicio exponenciales, que incluye el a suyo. Entonces, se denen T1 , T2 ,. . . como las variables aleatorias independientes de tiempo de servicio con una distribucin exponencial con parmetro , se dene o a Sn+1 = T1 + T2 + ... + Tn+1 , para n = 0, 1, 2, ... (3.18)

a tal que Sn+1 representa el tiempo condicional de espera dado que n clientes estn ya en el sistema. o Como se ver ms adelante Sn+1 se dice que tiene un distribucin de Erlang, ya que la probabilidad a a que la llegada aleatoria encuentre n clientes en el sistema es Pn , y por consiguiente P {E[R] > t} = que se reduce despus de cierta manipulacin a e o P {E [R] > t} = e(1)t , obtiene que, (3.20)
X

n=0

Pn P {Sn+1 > t},

(3.19)

La conclusin es que E[R] tiene una distribucin exponencial con parmetro (1 ). Entonces se o o a 1 1 = (3.21) (1 ) Estos resultados incluyen el tiempo de servicio en el tiempo de espera. En algunos contextos, el tiempo E [R] = de espera ms relevante es solo hasta que el servicio inicia. Entonces, se considera el tiempo de espera a en la cola E[W ] para una llegada aleatoria cuando la disciplina de la cola es FCFS. Si esta llegada no encuentra clientes en el sistema, entonces la llegada ser atendida inmediatamente, tal que a P {E [W ] = 0} = P0 = 1 durante n tiempos de servicio exponenciales hasta que su servicio inicie, entonces: P {E[W ] > t} = =
n=0 P P

(3.22)

De manera contraria si encuentra clientes, es decir cuando n > 0, entonces la llegada tiene que esperar

n=1

Pn P {Sn > t} =

n=1

Pn P {Sn+1 > t} = P {W > t} = e(1)t , para t 0


Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

(1 ) n P {Sn > t}

(3.23)

30

Cap tulo 3. Sistemas de colas.

De la derivacin del promedio de la distribucin de E[W ] (o al aplicar cualquiera de E[Nq ] = E[W ] o o o E[W ] = E[R] 1/ , E[W ] = ( ) (3.24)

3.3.3.

Modelo M | M | 1 | K

Este modelo indica que el sistema de colas tiene una cola de espera nita, es decir, que solo se permite un especicado nmero K de clientes en la cola. Cualquier cliente que trate de entrar al u sistema mientras la cola est llena, es rechazado a entrar en el sistema. Desde el punto de vista de e un proceso de nacimiento y muerte, la tasa de entrada promedio del sistema se vuelve cero en esos momentos. Entonces, la modicacin necesaria para introducir una cola nita es cambiar n a: o para n = 0, 1, 2, ..., K 1 (3.25) n = 0 para n K.

Ya que para algunos valores de n, n = 0, un sistema de cola de este tipo siempre llegar eventualmente a a su estado estable, incluso cuando = /s 1. La interpretacin que se le puede dar a este modelo es que solo se tiene un cuarto de espera reducido. o Tambin se puede interpretar que los clientes que llegan se retiran y buscarn el servicio en algn otro e a u lado si encuentran muchos clientes ms delante de ellos, ya que no pueden esperar tanto. Este tipo de a frustracin del cliente es muy comn en los sistemas de servicio comerciales. o u

3.3.4.

Resultados para el modelo M | M | 1 | K


n = n para n = 0, 1, 2, ..., K 0 para n > K 1
n=0 K P n

Para este caso, Cn = Entonces, para 6= 11 , P0 =

(3.26)

(/)

="

1 1 (/) 1 /
K+1

#=

1 1 k+1

(3.27)

As para Pn =
1

1 n , para n = 0, 1, 2, ..., K 1 K+1

(3.28)

Si = 1, entonces Pn = 1/(K + 1) para n= 0, 1, 2, . . . , K, as L = K/2.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

31

3.4. El modelo M | G | 1

Entonces sustituyendo en, E[N ] =


K X d 1 (n ) 1 K+1 n=0 d n=0 K 1 d P n d 1 K+1 1 = = 1 K+1 d n=0 1 K+1 d 1 K + KK+1 + 1 (K + 1) = (1 K+1 ) (1 ) K X

nPn =

(K + 1) K+1 1 1 K+1 Cuando el nmero de servidores es 1 entonces, u = E[Nq ] = E[N ] (1 P0 ) 3.1.6).

(3.29)

(3.30)

Los tiempos de respuesta y de espera se pueden obtener por medio de la Ley de Little (ver seccin o

3.4.

El modelo M | G | 1

Adems de los modelos pasados, que utilizan distribuciones Markovianas y que son de los ms a a usuales e importantes en el estudio de sistemas de colas, existe el modelo M | G | 1, el cual ya no se comporta como un caso especial de un proceso de nacimiento y muerte. En la prctica esto se da por a que existen sistemas para los cuales los tiempos de servicio exponenciales negativos no son realistas. Este modelo es generalmente aplicable en ambientes donde mltiples usuarios (una poblacin grande u o de clientes potenciales) estn usando un recurso escaso, como una l a nea de transmisin o un servidor o central, generalmente por periodos de tiempo distribuidos. El modelo asume que el sistema de cola tiene un solo servidor y un proceso de Poisson de entrada (tiempos entre llegadas exponenciales) con una tasa de llegada ja . Tambin se asume que los clientes e tienen tiempos de servicio independientes con la misma distribucin de probabilidad. Sin embargo, no o se imponen restricciones sobre cual sea la distribucin de tiempo de servicio. o

3.4.1.

Resultados para el modelo M | G | 1

Para este modelo se necesita saber o estimar el promedio 1/ y la varianza 2 de la distribucin. o Como ya se dijo, cualquier sistema puede alcanzar eventualmente su condicin de estado estable si o = / < 1. Los resultados para el estado estable para este modelo general son los siguientes: P0 = 1 32 (3.31)

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 3. Sistemas de colas.

E[Nq ] =

2 2 + 2 2(1 ) E[Nq ] 1

(3.32) (3.33) (3.34) (3.35)

E[N ] = E[Nq ] E[W ] =

E[R] = E[W ] +

Considerando que se puede tomar cualquier distribucin para el tiempo de servicio es notable la frmula o o tan simple que se puede obtener para E[Nq ]. Esta frmula es uno de los resultados ms importantes o a u o prctica. Esta ecuacin para E[Nq ](o su contraparte E[W ]) es referida comnmente como la frmula a o derivaron la frmula a principios del ao 1930. o n Para cualquier tiempo de servicio jo esperado 1/, se debe notar que E[Nq ], E[N ], E[W ] y E[R] aumentarn conforme 2 aumente. Este resultado es importante por que indica que la consistencia del a servidor tiene una relacin mayor en el desempeo de la estacin de servicio y no solo la velocidad o n o promedio del servidor. Cuando la distribucin del tiempo de servicio es exponencial, 2 = 1 2 , los resultados anteriores o La exibilidad de la distribucin del tiempo de servicio que se da en este modelo es extremadamente o util, as es desafortunado el esfuerzo de derivar resultados similares para los resultados del caso de servidores mltiples no hayan tenido xito. Sin embargo, se han obtenido algunos resultados para el u e [10]. caso de servidores mltiples para casos especiales como los modelos M | D | s y el modelo M | Er | s u en la teor de colas por su facilidad de uso y el predominio de los sistemas de colas M | G | 1 en la a

de Pollaczek-Khintchine, llamada as por los dos pioneros en el desarrollo de la teor de colas quienes a

se reducirn a los resultados para el modelo M | M |1. a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

33

CAP ITULO

4
Redes de Colas.

En el mundo real, muchos sistemas no solo estn estructurados con una estacin de colas, sino de a o varias y cada estacin con un servicio y una cola independiente. En este tipo de sistemas los clientes o pasan de una estacin a otra para as completar el servicio requerido. Por ejemplo, en un sistema o computacional en el que un determinado nmero de usuarios esperan que se realicen operaciones por u un conjunto de perifricos o procesadores, o en sistemas de comunicaciones donde los paquetes viajan e por medio de conexiones independientes y enrutadores intermedios desde el origen hasta su destino. Este cap tulo se centra principalmente en las redes de colas abiertas, es decir, que no se limita el nmero u de clientes. As las redes de colas (RCs) estn compuestas por n estaciones de colas interconectadas. Cada una a de las estaciones o nodos son independientes de las otras. Las estaciones estarn conectadas de forma a tal que la salida de un nodo sea la entrada para los n siguientes nodos. Se asume que existe una fuente de entrada que siempre tiene clientes para alimentar la RC. Una manera ms formal de describir las RCs es como un grafo dirigido en el cual los nodos son a las estaciones de colas y los vrtices son las rutas por las cuales los clientes son guiados de un nodo a e otro. Los vrtices pueden ser etiquetados con probabilidades de enrutamiento o tasas de llegadas. En e las RCs los nodos de origen y nal son generalmente denotados como un nodo especial.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

35

4.1. Redes de colas de prealimentacin. o

Figura 4.1: Red de dos M | M | 1 seriadas.

Figura 4.2: Diagrama de estados de transicin de una CMTC con M = 2. o

4.1.

Redes de colas de prealimentacin. o

Este tipo de redes pueden ser ordenadas de tal forma que cuando un cliente va de una cola i a una cola j, implica que i < j, es decir, estas RCs son ac clicas. Por esta propiedad estas redes deben de ser abiertas. Primero se considerar el caso de M colas en serie. Todas las estaciones sern del tipo M | M | 1. La a a

tasa externa para la cola 1 es igual a y la tasa de servicio para la cola i es igual a i . Para alcanzar la estabilidad se necesita que para todo i = /i < 1. Si existe alguna estacin con el caso contrario, o estas estaciones crearn colas de espera innitas y por lo tanto el tiempo de respuesta de las series de a a colas tambin ser innito. La cola con el valor ms grande para j se le llamar el nodo de cuello de e a a botella (o el punto dbil) de la RC. En la Figura 4.1 se puede observar un caso prctico de esta red. e a

36

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 4. Redes de Colas.

Ya que no hay salidas de la RC, y no hay llegadas a la RC entre dos colas, la tasa de llegada en la cola i + 1. En la Figura 4.2 se muestra el diagrama de transicin de estados de la cadena de Markov o que modela una serie de RC con M = 2, y espacio de los estados I = N2 . Cada estado (i, j) I cualquier cola i ser igual a . Ms an, una salida en una cola i(con i = 1, ..., M 1) ser una llegada n a a u a

signica que hay i clientes en la cola 1 y j clientes en la cola 2. La suma de i y j es el nmero total u de clientes en la RC. En la Figura 4.2 , una columna de estados representa los estados con el mismo nmero de clientes presentes en la RC. As se reconocen bsicamente 4 diferentes tipos de estados y se u a denotan las ecuaciones de balance a continuacin: o estado (0,0) estados (i, 0), i N+ estados (0, j), j N+ estados (i, j), i, j N+ normalizacin o : : : : : p0,0 = p0,1 2 , pi,0 ( + 1 ) = pi1,0 + pi,1 2 , p0,j ( + 2 ) = p1,j1 1 + p0,j+1 2 , pi,j ( + 1 + 2 ) = pi1,j + pi+1,j1 1 + pi,j+1 2
i=0 j=0 P P

pi,j = 1

Estas ecuaciones se pueden resolver de la misma manera como se explic en la seccin 3.3 y se o o obtendr: a pi,j = (1 1 )i (1 2 )j 1 2 (4.1)

En las RCs en serie se observa que se puede calcular la distribucin de probabilidad total de clientes o como el producto sobre cada distribucin de probabilidad de cada cola. As estas series de RCs son o llamadas redes de colas de forma de producto. Esta propiedad se puede mostrar de manera sencilla, todos los ujos de clientes en series de RCs son ujos de Poisson. Esto fue demostrado por Burke y se conoce como el teorema de Burke que dice: El proceso de salida de un solo servidor estable de una cola M | M |1 con una tasa de llegada y de Para mostrar la validez del teorema, se considera una cola M | M | 1. Mientras la cola no este vac a,

servicio y respectivamente, es un proceso de Poisson con tasa .

los clientes dejarn la estacin conforme el tiempo de distribucin es igual a la distribucin de tiempo a o o o

de servicio. Si despus de una salida la cola se vac tiene que esperar hasta la siguiente llegada, la e a, cul toma una longitud exponencialmente distribuida, ms su periodo de servicio siguiente. Entonces, a a cuando se deja una cola vac el tiempo que pasa hasta la siguiente salida tiene una distribucin a, o hipo-exponencial con dos fases, y tasas y . La probabilidad de que despus de la salida la cola no e

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

37

4.1. Redes de colas de prealimentacin. o

est vac es igual a , as se puede calcular la distribucin entre llegadas FD (t) como: e a o t t t e e FD (t) = (1 e ) + (1 ) 1 , +

(4.2)

la cul se reduce a FD (t) = 1 et = FA (t), donde FA es la funcin de distribucin de llegada. a o o Finalmente, se denota con Ni como el nmero de clientes en la cola i, la variable aleatoria N = u a (N1 , ..., NM ) representa el estado de las RC en serie. Debido a esto, el espacio de estados ser I = NM

y como resultado se obtienen las siguientes probabilidades de estado estable: M M M Q Q Q ni ni (1 i ) i = (1 i ) i P {N = n} =


i=1 i=1 i=1

donde G es una constante de normalizacin descrita como: o M !1 Y G= (1 i )


i=1

1 Y ni i , = G
i=1

(4.3)

(4.4)

lo cul asegura que la suma de todas las probabilidades sea igual a 1. Se puede resaltar que esta a probabilidad es resultado del producto de las probabilidades de estado estable de cada cola (ver seccin o 3.3). Ahora bien, este tipo de redes no necesariamente tienen que estar en serie. Todas por si mismas son del tipo M | M | 1. Se denota el ambiente con 0 y se dene el proceso de llegada total para el ambiente como un proceso de Poisson con tasa 0 . Se dene ri,j como la probabilidad (especicada por el usuario) de que un cliente deje la cola i y se vaya a la cola j. Por denicin, se sabe que ri,j = 0 toda o vez que j i. Las probabilidades r0,i indican como las llegadas son distribuidas en colas individuales El ujo total de clientes que pasan por la cola j es igual a la suma de todo lo que viene del ambiente y de otras colas hasta que se complete el servicio, es decir: X i ri,j , j = 1, ..., M j = 0 r0,j +
i<j

y las probabilidades ri,0 representan las salidas de la RC.

(4.5)

Estas ecuaciones son llamadas las ecuaciones de trco de primer orden. Habr tantas ecuaciones como a a estaciones en la RC. Como este tipo de redes son ac clicas se pueden resolver de manera sucesiva, es decir se resuelve para cada variable y con el resultado obtenido se resuelve para la siguiente variable: 0 1 2 ... M (4.6)

De manera similar que para los otros sistemas sencillos, si todos los i = i /i < 1, se dice que la RC es estable. Si ese es el caso se puede ver la RC otra vez como el producto de las probabilidades de estado estable y se obtendr el resultado de la ecuacin 4.1. a o

38

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 4. Redes de Colas.

4.2.

Redes de Jackson.

Las redes de colas de Jackson (RCJs) son una extensin de las redes mencionadas en la seccin 4.1, o o solo que la restriccin de que un cliente solo est atendido en nodos posteriores, no existir. Es decir, o e a estas redes permiten que los clientes sean enrutados a estaciones donde ya haban sido atendidos (ver Figura 4.3). Por esto, los ujos de clientes entre varias colas ya no son ujos de Poisson por que son compuestas por ujos dependientes.

Figura 4.3: Red de Jackson simple.

Sin embargo, se puede descomponer el sistema en las diferentes estaciones que lo componen, y a pesar de que los ujos no sean de Poisson, los resultados anal ticos comprueban que las probabilidades de estado estable tomarn la forma como si ciertamente fueran de Poisson[10]. Esto implicar que para a a las probabilidades de estado estable se obtendr el mismo resultado de la ecuacin 4.1 si para todas a o a a a las i estaciones i = i /i < 1. Para lo cul se tendrn que resolver las ecuaciones de trco, que es la unica diferencia con las redes de prealimentacin sern las ecuaciones de trco que ahora sern: o a a a j = 0 r0,j +
M X i=1

i ri,j , j = 1, 2..., M

(4.7)

Como ya no existe la restriccin ac o clica de las RC de prealimentacin, entonces ya no se puede resolver o de manera sucesiva, entonces se tendr que resolver por medio de un procedimiento de eliminacin a o Gaussiana o por medio de una tcnica iterativa. e Cuando se cambia de estaciones con un solo servidor, a estaciones con varios servidores, se mantiene el resultado de los productos de la ecuacin 4.1 . La unica diferencia recae en la probabilidad del estado o estable para las estaciones con mltiples servidores [10]. u

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

39

4.2. Redes de Jackson.

En la vida real las redes abiertas, son muy utilizadas para estudiar la muchos modelos que se adaptan a este tipo de funcionamiento, tal es el caso de una cola de espera de cualquier comercio (supermercado, banco, tortillas, etc), servidores web, dispositivos de red (enrutadores, switches), l neas de ensamble, etc, ya que en estos sistemas existe un nmero innito de entradas al sistema y despus de haber sido u e atendidos, las enradas saldrn del sistema de redes. Sin embargo, existen otro tipo de sistemas que se a adaptan ms a una red cerrada, dnde existen un nmero determinado de tareas rotando en la red, a o u tal es el caso de una computadora, tanto el sistema operativo como el hardware, tendrn un nmero a u determinado de tareas en rotacin en cierto instante de tiempo. Entonces, el estudio de estas redes va o a depender del anlisis del modelo del mundo real para que los resultados obtenidos sean los correctos. a

40

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

CAP ITULO

5
Simulacin. o

5.1.

Introduccin a la simulacin. o o

La simulacin es una de las tcnicas usadas para la solucin de modelos estocsticos, y muy util o e o a en el anlisis de desempeo de sistemas computacionales. Si el sistema an no est implementado, la a n u a simulacin es util para probar el diseo y hacer comparaciones con diferentes alternativas. Si el sistema o n ya est construido y est preparado para que se le hagan mediciones, la simulacin es util, ya que se a a o pueden probar ms opciones de cargas y ambientes de trabajo. a Sin embargo, los modelos de simulacin muchas veces fallan, no producen resultados utiles o totalo mente verdaderos. Esto se debe a muchas razones, como modelar un nivel de detalle adecuado conforme a las mediciones que se requieran analizar. Para un modelo anal tico se necesita menos detalle, en uno de simulacin, el nivel de detalle est limitado solo por el tiempo de desarrollo de la simulacin. Por lo o a o tanto un nivel de detalle alto, tendr como costo un tiempo mayor de desarrollo, incluso mayor tiempo a para encontrar fallas, tiempo de cmputo, etc. Aunque un modelo con ms detalle, dar mejores resulo a a tados, no es del todo cierto, ya que si se hacen suposiciones errneas con algunos detalles en los datos o de entrada del modelo, los resultados sern incongruentes. Lo mejor ser iniciar por un nivel bajo de a a detalle, hacer pruebas, algunas mediciones, para despus hacer el modelo ms grande, hasta el nivel e a de detalle que se requiera. Para obtener una buena simulacin tambin es necesario tomar en consideracin el lenguaje de o e o programacin a usar, si va a ser un lenguaje de uso general o uno especializado para simulacin. o o Siempre es importante que el modelo sea estudiado hasta conrmar que se aproxima al sistema real, ya

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

41

5.2. Generacin de nmeros aleatorios. o u

que se puede incurrir en suposiciones errneas que no representarn la realidad. Los resultados siempre o a tendrn que ser conrmados por modelos anal a ticos, mediciones o por simple intuicin. El tiempo de o la simulacin depender de dos cosas, de los parmetros iniciales, ya que si no son bien establecidos o a a los resultados no sern totalmente ciertos; y depender de la exactitud deseada, y la varianza de las a a cantidades. Ya que los modelos estocsticos dependen de variables aleatorias, se tendr que poner a a especial atencin en las funciones de generacin de nmeros aleatorios y en la semilla que se utilice, o o u todo esto para obtener una varianza adecuada entre los nmeros aleatorios[10]. u

5.2.

Generacin de nmeros aleatorios. o u

Para simular modelos de desempeo de sistemas de comunicacin por computadora con el uso de n o una aplicacin de software se debe de tener la posibilidad de generar nmeros aleatorios de ciertas o u distribuciones de probabilidad, como se mencion en cap o tulos anteriores. La generacin de nmeros o u aleatorios (RNG, por sus siglas en ingls Random Number Generation) no es una tarea fcil y es e a muy importante, ya que cuando los nmeros generados no conforman la distribucin requerida, los u o resultados que se obtienen para una simulacin no son del todo conables. o Los nmeros aleatorios no pueden ser generados por un algoritmo determin u stico, es por esto que en computacin se tiene que satisfacer esto con nmeros pseudo-aleatorios. Para generar nmeros pseudoo u u aleatorios usualmente se generan series de nmeros pseudo-aleatorios en un subconjunto nito de N, u normalmente {0, . . . , m 1}, m N. De estas series se procesan nmeros aleatorios uniformemente u distribuidas a partir de variables uniformemente distribuidas. distribuidos. Despus de esto, existen diferentes mtodos para calcular variables no uniformemente e e

5.3.

Tipos de simulacin. o

Existen diferentes tipos de simulacin. Para el caso de las ciencias en computacin algunos de o o los ms importantes son la Emulacin, Simulacin de Monte Carlo, la Simulacin Controlada por a o o o Seguimiento (Trace-Driven Simulation) y la Simulacin de Eventos Discretos. La emulacin est basada o o a en la simulacin con el uso de hardware o rmware, por ejemplo simular un procesador con el conjunto o de instrucciones de otro. La simulacin de Monte Carlo trata de modelar fenmenos probabil o o sticos, donde sus caracter sticas no cambian con el tiempo. La simulacin por seguimiento esta basada en el o uso de trazas (registros de eventos ordenados por tiempo) y usualmente son usados para el anlisis o a la anacin de algoritmos para el manejo de recursos. o Existe una clasicacin de simulaciones de eventos conforme a dos caracter o sticas: su espacio de

42

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 5. Simulacin. o

estado y su evolucin en el tiempo [10]. En simulaciones de evento continuo se estudian sistemas en o el que su estado cambia continuamente en el tiempo, usualmente estos sistemas se pueden describir con el uso de ecuaciones diferenciales (que a esta solucin numrica a veces se le llama simulacin). En o e o sistemas f sicos el tiempo es un parmetro continuo, a pesar de que solo se puede observar el sistema a en ciertos puntos del tiempo, que lleva a un parmetro de tiempo discreto. Esta tesis se enfoca a las a simulaciones de eventos discretos, DES (por sus siglas en ingls, Discrete Event Simulations), en el que e los cambios del sistema ocurren en ciertos puntos del tiempo. El tiempo puede considerarse continuo o discreto, esto va a depender de cada aplicacin. o

5.4.

Simulaciones de eventos discretos.

Una simulacin que usa un modelo de estado discreto de un sistema es llamada simulacin de o o eventos discretos, que de manera anloga se opone a la simulacin de eventos continuos que utiliza a o modelos de estado continuos. En computacin, se usan los modelos de eventos discretos, ya que el o estado de un sistema est descrito por el nmero de tareas en varios dispositivos. a u Para la simulacin se utilizar un planicador de eventos que programe cada evento a un detero a minado tiempo. El tiempo tendr que ser simulado tambin. Para avanzar el tiempo se tienen dos a e opciones, por unidad de tiempo, que se basa en avanzar el tiempo en pequeos incrementos y cada vez n se verica si un evento sucede. La otra opcin es la controlada por eventos, que incrementa el tiempo o hasta el evento con el tiempo ms cercano. Esta ultima opcin es la ms usada en la simulacin de a o a o sistemas computacionales. El funcionamiento de este tipo de simulaciones est basado en guardar todos los eventos junto con a su tiempo de ocurrencia en una estructura de datos (usualmente una lista ligada, una lista indexada o un rbol), la simulacin se avanzar por cada evento que est al inicio de la estructura utilizada, se a o a e ejecutar una rutina programada de atencin al evento y nalmente el tiempo se incrementar conforme a o a al tiempo del evento ocurrido. El tiempo de cada evento usualmente est descrito mediante tiempos a relativos, es decir indican el incremento de tiempo al cul ocurrirn. Como lo indica la teor para a a a, algunos casos (por ejemplo para el tiempo de llegada o el tiempo de servicio) este tiempo deber ser a calculado a partir de nmeros aleatorios generados con cierta distribucin probabil u o stica. Cada evento que suceda causa que otros eventos nuevos ocurran ms adelante. Por ejemplo, cuando a un cliente llega al sistema la rutina que atiende a este evento, causar que se genere el evento de la a llamada de servicio para ese cliente, dicho evento creado se colocar en el lugar apropiado de la a estructura de datos. Despus se atender el evento que siga al inicio de la estructura de datos. e a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

43

5.5. Anlisis de resultados de la simulacin. a o

5.5.

Anlisis de resultados de la simulacin. a o

Una simulacin se lleva a cabo para obtener una visin cuantitativa de la operacin de un sistema o o o modelado. Cuando se ejecuta la simulacin, cada evento se llevar a cabo en un determinado tiemo a po y nalizar en otro momento. Todas las muestras u observaciones tomadas pueden desplegarse o a guardarse en archivos. Para la evaluacin nal de la simulacin, el responsable se tendr que asegurar que los datos o o a obtenidos son correctos y congruentes al la simulacin programada y al modelo diseado. Despus se o n e tendr que hacer una evaluacin de los datos a tomar en cuenta para obtener los resultados nales. a o Finalmente se calculan estad sticas a partir de la simulacin que sern presentadas al usuario de una o a manera apropiada para su interpretacin. o

5.5.1.

Validacin y vericacin del modelo. o o

La manera de medir un modelo de simulacin si es bueno o malo est en funcin de que tanto se o a o acerque la salida del modelo al sistema real. Cuando se desarrolla el modelo, se hacen varias suposiciones del comportamiento del sistema real. As se tienen dos v para medir el modelo, primero es evaluar , as si las suposiciones son razonables y la segunda es evaluar si el modelo implementa esas suposiciones correctamente. Estos pasos son llamados validar y vericar, respectivamente. La validacin se enfoca o en lo que las suposiciones representan y la vericacin en que tan correcta es la implementacin. o o Existen diferentes tcnicas para vericar un modelo. En la literatura usualmente se reere a la e vericacin como debugging. Ya que los modelos de simulacin son programas grandes de computadora, o o todas las tcnicas que sirven para el desarrollo, vericacin o mantenimiento de programas grandes, e o tambin son aplicables a estos modelos. Algunas de estas son: e

Diseo modular top-down. Esta tcnica se enfoca a la divisin del programa en mdun e o o los (subrutinas, subprogramas, procedimientos, etc.). Para organizar estos mdulos de manera o jerrquica y despus seguirlos dividiendo en ms sub-mdulos. Esto ayudar ya que cada mdulo a e a o a o pequeo es ms fcil de vericar. n a a Anti-errores. Se recomienda insertar algunas salidas o chequeos en el programa que denoten posibles errores, como contadores y algunas operaciones sencillas. Si el modelo de simulacin es o constantemente cambiado, estas salidas ayudarn a validar su funcionamiento. a Gu estructurada. Esto consiste en explicar a alguien ms como funciona el cdigo l a a o nea por l nea. As el programador encontrar si existen errores. a

44

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 5. Simulacin. o

Rastreo. El rastreo consiste en tener una lista de eventos ordenados por tiempo con sus variables asociadas. Cuando se analiza esta lista al nal de la simulacin se pueden identicar fcilmente o a el origen de los errores. Grcas. Las grcas pueden ser la manera ms simple que tiene el usuario de vericar como a a a se est llevando a cabo la simulacin y dependiendo de los resultados esperados puede identicar a o la validez del modelo. Independencia de la semilla. Se pueden realizar pruebas al cambiar la semilla de generacin o de nmeros aleatorios, este cambio no debe de afectar los resultados nales. u Pruebas. Ya que las simulaciones se basan en distribuciones de probabilidad y variables aleatorias, una prueba recomendable es indicar distribuciones constantes. Adems tambin se deben de a e iniciar las pruebas con los casos ms sencillos. Todo esto para poder deducir el resultado antes a de que se lleve a cabo la simulacin y as identicar el funcionamiento. Finalmente es aconsejable o hacer pruebas con valores de entrada extremos (valores m nimos y mximos, opciones m a nimas, etc.) y as vericar la robustez del modelo programado.

La validacin del modelo se reere a asegurar que las suposiciones usadas durante el desarrollo o del modelo son razonables, y si son implementadas correctamente. As el modelo arrojar resultados a cercanos al sistema real. A diferencia de la vericacin, las tcnicas utilizadas para validar solo son o e aplicables solamente para estos casos. La validacin del modelo consiste usualmente en validar tres aspectos claves del modelo: o

Suposiciones. Parmetros de entrada (valores y distribuciones). a Valores de salida y conclusiones.

Cada aspecto se debe de sujetar a una prueba de validacin de tres posibles fuentes: o

Intuicin experta. o Medidas del sistema real. Resultados tericos. o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

45

5.5. Anlisis de resultados de la simulacin. a o

Se podr decir entonces que todo modelo est sujeto a la validacin por medio de nueve pruebas. a a o Sin embargo en la realidad usualmente no se tienen todas las pruebas, principalmente por falta de las fuentes de informacin. o Cuando se crea un modelo de simulacin comnmente es por que se requiere ahorrar en construir o u un sistema real, entonces no se tendr las medidas reales con que comparar. A veces es posible tener an algunos resultados tericos en la literatura pero los modelos diseados tal vez no estn. Lo que se hace, o n e si es posible, es resolver el modelo de manera anal tica, el problema sobresale cuando el modelo es muy complicado para resolverlo anal ticamente. Esto nos lleva a que la manera ms prctica de validar un a a modelo es a travs de la intuicin de un experto. El experto puede intuir y predecir la salida de un e o modelo por experiencia y analizar si existen errores en alguno de los tres puntos clave a validar.

5.5.2.

Eliminacin transitoria. o

En la mayor de las simulaciones los resultados de desempeo de inters se obtienen cuando el a n e sistema ha llegado al estado estable. El estado inicial debe de ser descartado, a esta parte se le llama estado transitorio. El problema es identicar cuando se termina este estado transitorio que es llamado eliminacin transitoria. o Existe una gran dicultad para denir exactamente este estado, por lo tanto la mayor de los a mtodos para la eliminacin transitoria son heur e o sticos. Los mtodos ms importantes son seis: e a

Corridas largas. Este mtodo es el ms simple, ya que solo requiere de realizar una corrida e a de la simulacin larga de tal forma que los resultados de la parte transitoria no afecten a los o resultados nales. Sin embargo este mtodo presenta dos problemas principales. El primero es e que se consumen muchos recursos (tiempo de computacin, tiempo de ocupacin de equipos, etc.) o o y esta prueba suele ser muy cara. Segundo si es que esta prueba no involucra un costo excesivo, puede ser que no se sepa si se realiz una prueba lo sucientemente larga. o Inicializacin correcta. Se reere a realizar la prueba de manera que se inicialice a un estado o cercano al estado estable esperado. Por ejemplo que se inicie ya con un nmero de clientes u avanzado en el sistema (tanto en la cola, como en servicio) para reducir la etapa transitoria y no afecte a los resultados nales. Truncado. Este mtodo y los siguientes estn basados en la suposicin que la variabilidad durane a o te el estado estable es menor que en el estado transitorio, que generalmente es verdad. El mtodo e consiste en dadas m observaciones {x1 , x2 , x3 , ..., xn }, se ignoran las primeras l observaciones y despus se calculan el m e nimo y mximo de las m l observaciones restantes. As en este mtodo a , e
Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

46

Cap tulo 5. Simulacin. o

la variabilidad se mide en trminos de un rango, el m e nimo y mximo de observaciones. Si la a trayectoria de las observaciones es gracada se puede determinar cuando la simulacin entra al o estado estable. Supresin de los datos iniciales. Al igual que el mtodo de truncado, consiste en suprimir o e datos por medio de observaciones. Dado que los resultados cambian debido a la aleatoriedad de los nmeros generados, en este mtodo se recomienda hacer muchas observaciones con los u e mismos datos de entrada. Con esto se obtendr que solo cambien un poco los resultados de una a observacin a otra solo por la semilla de generacin de nmeros aleatorios. Lo que se hace con o o u estas observaciones es sacar un promedio de la trayectoria que sigue la simulacin para despus o e estimar la longitud del estado transitorio. Promedio de lotes. Consiste en hacer una simulacin muy larga. Despus se divide en partes o e iguales en duracin igual llamadas lotes. El promedio de las observaciones en cada lote se llama o promedio de lote, este mtodo requiere el estudio de la varianza de estos promedios como funcin e o del tamao de los lotes. El objetivo es encontrar el nmero n de lotes al cul la varianza entre n u a los lotes empieza a decrecer. Esta n ser la longitud del periodo transitorio. a Aunque en la mayor de los casos, el inters es el estudio y anlisis del estado estable, existen a e a algunos casos en que este estado nunca se alcanza. En estos casos se requiere estudiar el sistema en su estado transitorio. Este tipo de sistemas en simulacin son llamados simulaciones terminadas o (terminating simulations).

5.5.3.

Muestras de eventos.

Las mediciones que se pueden obtener de la simulacin pueden ser de dos tipos: orientadas al usuario o u orientadas al sistema. Las orientadas al usuario son aquellas que se enfocan a un usuario o cliente en espec co, esto se puede llevar a cabo con el monitoreo de un cliente en espec co. Por ejemplo, cuando un cliente entra a una parte del sistema se toma la marca de tiempo ta , de manera similar cuando el cliente deja esta parte del sistema se toma la marca de tiempo td . La diferencia ti = tdi tai es el resultado del tiempo de residencia del cliente. Con la suma de las diferencias de todos los n clientes simulados, se obtiene un estimado del tiempo de residencia de cliente promedio como: ! n n n X 1 X 1X (tdi tai ) = tdi tai r= n n
i=1 i=1 i=1

(5.1)

Para las mediciones orientadas a sistema se tiene que monitorear el sistema en si. Por ejemplo, una medida de inters puede ser la probabilidad a largo plazo de que un buer nito est ocupado. Esta e e medicin se puede llevar a cabo como se describi en el ejemplo anterior. Cuando el buer est lleno se o o e

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

47

5.5. Anlisis de resultados de la simulacin. a o

toma una marca de tiempo, cuando el buer est vac se tomar la siguiente marca de tiempo. Con e o a la diferencia obtendr la medida de la variable aleatoria que denota el periodo del buer lleno. Con la a suma de las diferencias dividido entre el tiempo de simulacin total se estima la probabilidad a largo o plazo de que el buer est lleno. e

5.5.4.

Valores promedio e intervalos de conanza.

Supngase que se ejecuta una simulacin para estimar la media de la variable aleatoria X con o o E[X] = a. Para hacer esto, la simulacin se utiliza para generar n muestras de xi , con i = 1, . . . , n o o o cada una se puede ver como una parte de la variable estocstica Xi . La simulacin se construy tal a e que las variables estocsticas Xi estn distribuidas de la misma manera que la variable aleatoria X. a Entonces para calcular los intervalos de conanza, se necesita que las Xi sean independientes entre si. e Entonces, para estimar E[X], se dene una variable estocstica X llamada el estimador de X. Toda a n o e e e vez que E[X] = a el estimador X se le llamar imparcial. Ahora bien, toda vez que P X a < a e 0 cuando n el estimador X se llamar consistente. La condicin posterior se traduce a un a o e requerimiento de que la var[X] 0, en todo momento que el nmero de muestras n . Entonces u las propiedades de imparcialidad y consistencia son propiedades deseables para los estimadores. Cuando sea que las observaciones X1 , ..., Xn son independientes, entonces 1X e Xi X= n
i=1 n

(5.2)

e e es un estimador imparcial y consistente para E[X] ya que E[X] = E[X] (imparcialidad) y var[X] = e var[X]/n, tal que var[X] 0 cuando n (consistencia). Sin embargo aunque el estimador soluciona algunos problemas, el problema de la independencia de u las Xi an causa problemas, ya que generalmente las muestras tomadas de simulaciones sucesivas no n son independientes. Por ejemplo si se toma una muestra para un Xi y es un valor grande o pequeo, a a n para la siguiente Xi lo ser ms grande o pequea, entonces esto muestra que son dependientes. Para garantizar la independencia se pueden usar varios mtodos. Cabe notar que esto es requerido e para obtener los intervalos de conanza. Los mtodos son: e

Rplicas independientes. Este mtodo consiste en la ejecucin de una simulacin n veces, e e o o simulacin, se toman las muestras xi,1 , ..., xi,m . Aunque estas muestras no son individuales entre o . P m xi,j m, i = 1, ...n, son considerados que son independientes entre si, los promedios xi = j=1 si. Estos n valores promedio son los que se consideran para el clculo del valor promedio total y a 48
Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

cada vez con una semilla diferente para la generacin de nmeros aleatorios. En la i ava o u

Cap tulo 5. Simulacin. o

los intervalos de conanza. La desventaja es que se tiene que ejecutar una y otra vez la simulacin o desde el inicio, esto implica el remover el comportamiento transitorio todas las veces. Promedios de lotes. Este mtodo solo requiere de una simulacin en donde se separan las muese o n tras x1 , ..., xn,m en n lotes de tamao m cada una. Para cada lote las muestras son promediadas como:

yi =

1 X x(i1)m+j m
j=1

(5.3)

Se asume que las muestras tomadas son independientes para calcular el promedio total y los intervalos de conanza. Ya que este mtodo es una aproximacin se dice que cada lote no es totalmente e o independiente, a pesar de esto este mtodo es el ms usado en la prctica. e a a

Mtodo Regenerativo. Este mtodo soluciona el problema de los lotes que no son totalmente e e independientes. Tambin consiste en separar una sola ejecucin en diferentes lotes, sin embargo e o esta separacin se hace con puntos llamados de regeneracin. Estos puntos de regeneracin son o o o denidos de tal forma que el comportamiento antes del punto es totalmente independiente del comportamiento despus de este. Por ejemplo un buen punto de regeneracin en una cola M | e o G | 1 es cuando la cola se queda vac Sin embargo, si el nmero de muestras por lotes no es a. u constante, es ms complicado, entonces se tienen que usar estimadores de razn[12]. a o

que la variable aleatoria

e Ya que se asume que las variables aleatorias Xi son independientes e idnticamente distribuidas, e el estimador X de la seccin pasada, de acuerdo al teorema del l o mite central[11], aproximadamente 2 n (se denota var[X] como 2 . Esto implica tendr una distribucin Normal con media a y varianza a o Z0 = e X a / n (5.4)

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

49

5.5. Anlisis de resultados de la simulacin. a o

tiene una distribucin Normal de (0, 1). Sin embargo como no se conoce la varianza de la variable o aleatoria X, se tiene que calcular. Un estimador imparcial para 2 , conocido como la varianza muestra, est dada por: a 2 1 X e Xi X , n1
n i=1

S2 =

(5.5)

Entonces la variable estocstica a e X a ^ S/ n

Z=

(5.6)

tiene una distribucin de Student [13] con n 1 grados de libertad (una tn1 distribucion). Cabe o P P 2 2 a xi y xi de las muestras denotar que a y pueden ser calculados fcilmente cuando se conocen e
i i

de la siguiente manera:

a=

i=1

n P

xi , y = e
2

i=1

n. 1

n P

x2 i

n (n. 1)

i=1

n P

xi

(5.7)

para que durante la simulacin, solo se tengan que mantener dos nmeros por medicin. o u o La distribucin de Student con tres o ms grados de libertad es una distribucin de forma de camo a o o pana simtrica, parecida en forma a la distribucin Normal[14]. Cuando n , la tn distribucin e o se aproxima a una distribucin Normal(0, 1). Por medio del uso de tablas estndar para sta distribuo a e cin se puede obtener el valor z > 0 tal que la P {|Z| z} = (x es llamado el valor cr o tico de ambos o lados para la tn distribucin, dado ). Con estos valores se puede escribir que: X a n e o e z = Pr X a z/ n = , Pr {|Z| z} = Pr / n

(5.8)

es . La probabilidad se le llama nivel de conanza. Como se puede observar, para hacer un intervalo a l2 veces ms larga.

a o de conanza un factor l menor, se necesitan l2 observaciones ms, para que la simulacin deba de ser

e el cual establece que la probabilidad de que el estimador X se desv menos de z/ n de la media a e

50

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

CAP ITULO

6
Diseo e implementacin. n o

Basado en los cap tulos anteriores se diseo e implement una aplicacin con las capacidades de n o o modelar redes de colas y llevar a cabo su simulacin, as como para poder visualizar los resultados o importantes de desempeo de estas simulaciones. La aplicacin est diseada en base a componentes, n o a n adems se crearon estos componentes adaptables al usuario. En este cap a tulo se describirn detalles a sobre el diseo y la implementacin de la aplicacin que es el producto ms importante de esta tesis. n o o a

6.1.

Diseo General. n

La aplicacin llamada QSim, es un ambiente de desarrollo integrado, IDE (Integrated Development o Environment), que se dise en base a tres componentes: un ncleo de simulacin de eventos discretos, no u o un mdulo de herramientas para la lectura/escritura de XML y generacin de cdigo a partir de XML o o o y un componente que provee el ambiente grco de interaccin con el usuario que hace uso de los dos a o componentes anteriores. En la Figura 6.1 se muestra esta dependencia de los mdulos. o Debido a que desde un inicio se penso implementar la aplicacin en el lenguaje de programacin n o o Java, es importante sealar que se ten en mente todas las caracter n an sticas importantes y las limitantes de la distribucin del kit de desarrollo de Java. La aplicacin est diseada e implementada para la o o a n versin 1.5 de este kit. El diseo de est aplicacin requer de una interfaz con las capacidades de o n a o a arrastrar y dejar entidades que representaran los generadores de entrada y servidores, asimismo requiere de dibujar las conexiones entre estas entidades. Debido a que esto no es una tarea fcil con las clases a que provee el kit de desarrollo de Java en los paquetes de grcos y de componentes, se decidi utilizar a o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

51

6.2. Ncleo de simulacin de eventos discretos. u o

Figura 6.1: Estructura de la aplicacin. o un paquete que brindar esta funcionalidad, el paquete utilizado fue JHotDraw. a

JHotDraw es un marco de trabajo de interfaces de usuario grcas (GUI, Graphic User Interface) a para grcos tcnicos y estructurados [15]. Este poderoso paquete fue desarrollado por Erich Gamma a e y Thomas Eggenshwiler en Java, ambos son investigadores de la teor y programacin orientada a a o objetos. El paquete bsicamente provee de todo el marco de trabajo para crear guras que se pueden a plasmar y mover en un lienzo de trabajo. Adems de que tambin permite conectar stas guras, a e e provee de muchas otras caracter sticas como poner etiquetas, crear pol gonos y otras funcionalidades ms. Para el caso de sta aplicacin se usaron las primeras dos tareas principalmente. a e o La interfaz de usuario de esta aplicacin desarrollada, est montada sobre este marco de trabajo o a de JHotDraw, el diseo y las clases desarrolladas se vern en una seccin posterior. El diseo de 3 n a o n componentes permite al usuario tener 3 entradas a la aplicacin como se muestra en la Figura 6.2: o

Por lo tanto el usuario tendr la opcin de usar directamente el n cleo, o utilizarlo a travs de las a o u e herramientas XML provistas o de igual forma hacer el uso del IDE para modelar y generar simulaciones de redes de colas. El diseo e implementacin de estos tres componentes se detallan a continuacin. n o o

6.2.

Ncleo de simulacin de eventos discretos. u o

Primero se dise el ncleo de simulacin de eventos discretos. Este mdulo es el ms importante de no u o o a la aplicacin ya que en ste, recae toda la funcionalidad de la simulacin. Este componente no requer o e o a de ms paquetes de Java de los que tra implementados para disear clases que realizaran las tareas a a n

52

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

Figura 6.2: Entradas de usuario en la estructura de la aplicacin. o bsicas de la simulacin de eventos discretos. Este mdulo se dise de tal forma que se basara en a o o no una simulacin orientada a eventos, es decir, que los eventos que suceden llevan el control del sistema, o tanto en tiempo como en el estado general del sistema. Para lo cul se implementaron las siguientes a clases que se muestran en el diagrama de clases de la Figura 6.3:

QueingSystem: esta clase modela un sistema de colas, el cul contendr un temporizador, n a a fuentes de entrada y m servidores, bsicamente. a Clock : la tarea principal de esta clase es de llevar el tiempo del sistema. Ya que lo necesitan varias clases, cada instancia se tendr que compartir entre las clases del sistema que lo utilicen. a Scheduler : modela el temporizador, el cul su tarea bsica es llevar una lista de eventos ordenados a a en base a su tiempo t en el que sucedan, por lo tanto se encargar de actualizar el reloj del sistema a en cada evento que suceda. DiscreteEvent: ste es un evento discreto el cual contendr el tiempo en el que sucede y el tipo e a de evento que envuelve. InputGenerator : este es un generador de entradas, es decir, generar los trabajos de llegada al a sistema. Su tarea bsica ser generar los trabajos de llegada con un tiempo denido basado en a a una distribucin de probabilidad. o Server : la clase Server modela una entidad de servicio dentro del sistema de colas. Aqu la tarea

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

53

6.2. Ncleo de simulacin de eventos discretos. u o

principal ser brindar servicio a peticin de un trabajo, pero si el servidor est ocupado, llevar el a o a a trabajo a una cola interna del servidor. Job: sta es la clase base de un trabajo. e TimedQueue: es una cola que tiene la capacidad de tomar el tiempo en el que los clientes se forman y salen de sta. e RandomVariateGenerator : este es un generador de nmeros aleatorios basado en una distribucin u o de probabilidad.

Figura 6.3: Diagrama de clases del ncleo de simulacin. u o Como se puede observar en la Figura 6.3 la mayor de las clases se disearon de manera abstracta a n para que se implementarn de manera personalizada por el usuario. Para las clases InputGenerator a y Server, se disearon de manera que reciban un tipo E, el cul deber ser un subtipo de clase Job, n a a es decir, esto denota el tipo de trabajos que utilizarn estas clases. a El funcionamiento de este paquete se muestra en el diagrama de colaboracin de la Figura 6.4. Este o funcionamiento est totalmente apegado a lo descrito en las secciones 3.1.3 y 3.1.4. a

54

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

Figura 6.4: Diagrama de colaboracin de las clases del ncleo de simulacin. o u o Cabe mencionar que aunque no se vea claramente el uso de todas las clases en el diagrama de clases, una parte muy importante de este mdulo y de toda la aplicacin es la generacin de nmeros o o o u aleatorios. Esto se debe a que si estos nmero no son generados correctamente, el funcionamiento y u por lo tanto los resultados de toda la simulacin, sern errneos. Para generarlos fue utilizada la clase o a o Random que proporciona Java para generar nmeros aleatorios entre 0 y 1. Esta clase genera estos u nmeros en base a una distribucin uniforme [16]. Se decidi utilizar sta clase y no una propia, debido u o o e a los aos de desarrollo adems de que est muy probado que en realidad si genera nmeros (pseudo) n a a u aleatorios uniformemente distribuidos [17]. Las clases que se implementaron fueron a partir de la clase abstracta RandomVariateGenerator la cul implementa una interfaz, para que el usuario implemente a el mtodo getNextDouble(), el cul variar en las implementaciones para generar nmeros aleatorios e a a u conforme a una distribucin de probabilidad en particular. o Para las clases InputGenerator y Server se explot la funcionalidad de los Generics, introducio dos en la versin 5 del lenguaje Java. Esta funcionalidad permite al desarrollador denir una clase o parametrizada, la cual podr utilizar estos parmetros para contener objetos de cualquier tipo E, que a a cumplan ciertas caracter sticas que desee el usuario. En el caso de estas dos clases, la restriccin de o implementacin es que E sea un subtipo de la clase Job. o El funcionamiento bsico de la clase QueueingSystem, est basado en la generacin de casos para a a o cada tipo de evento que suceda. Esto es, en cada ciclo del funcionamiento de esta clase, se hace suceder el siguiente evento que contenga el temporizador interno. De este evento se sacar su tipo de evento que a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

55

6.2. Ncleo de simulacin de eventos discretos. u o

suceda, por omisin se denieron tres tipos de eventos: llegada, peticin y terminacin. El evento de o o o llegada simboliza la llegada de un trabajo al sistema. Cuando llega al sistema el trabajo deber hacer a una peticin al servidor, esto se traduce en encolar un evento de peticin a algn servidor del sistema. o o u El evento de peticin encolar al trabajo en el servidor correspondiente y si no est ocupado lo pasar a o a a a servicio. Finalmente en el evento de terminacin el trabajo sale del servidor, posteriormente, el trabajo o continuar o saldr del sistema segn el modelo del usuario. Como se puede observar con estos tres a a u tipos de eventos, un evento de llegada por cada fuente de entradas, un evento de peticin y terminacin o o por cada servidor, es posible llevar a cabo cualquier simulacin de una red de colas tan complicada y o con tantas entidades como se desee. El usuario podr implementar clases propias, con el uso de las clases y la funcionalidad provista a por este ncleo y realizar simulaciones de sistemas de redes de colas. u

6.2.1.

Generacin de resultados. o

Como parte de la programacin de la aplicacin, se crearon clases concretas que implementaron la o o funcionalidad de entradas de tareas (clase InputGenerator) y servidores (clase Server) y cada clase generada ya sea por el usuario o por la herramienta de XML, extender de la clase QueueingSystem, a para lo cul es necesario crear la implementacin de los mtodos que hacen el clculo de los resultados a o e a de la simulacin. o Para cada variable de inters de tamao (tamao de las colas de espera y trabajos en el sistema) el e n n clculo se hace por medio de un algoritmo parecido al mencionado en la seccin 5.5.3 y un promedio a o ponderado. Por ejemplo para el caso particular de el tamao de las colas de espera(Nq ), es importante n considerar dos eventos: cuando se forma un nuevo trabajo y cuando sale un trabajo. As se toma el , n tiempo transcurrido entre llegadas a la cola tn , se multiplica por el tamao de la cola Nqn , que el trabajo ve (es decir, antes de que el se integre a la cola) y el resultado se acumula en una variable temporal. Al nal el resultado se divide por el total de tiempo simulado. En resumen, este promedio se calcula de la siguiente manera: Pn i=0 ti Nqi Nq = Pn i=0 ti

(6.1)

Y de manera similar para los trabajos en el sistema.

Para las variables de tiempo basta con tomar el tiempo que se tarda cada trabajo ya sea en el a sistema o en la cola. Para el caso particular de tiempo de espera en la cola(Wq ) se deber tomar el tiempo t0 en el que un trabajo j se forme en la cola. Cuando salga, este trabajo j de la cola, se toma

56

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

el tiempo t1 en el que sali y se realiza la diferencia de tiempos tn . Para conocer el tiempo que se o tard en la cola y se acumula en una variable. Al nal el resultado del acumulador se divide entre el o nmero de clientes q que se formaron en la cola durante toda la simulacin, para conocer el promedio u o de tiempo que se tard un trabajo en la cola. Esto es: o Pn
i=0 ti

Wq =

(6.2)

Para las dems variables de tiempo se hizo el clculo de manera similar. a a

6.3.

Herramientas para XML.

Las herramientas XML desarrolladas fueron diseadas para tres tareas principalmente: n 1. Proveer una interfaz de entrada al uso del ncleo de simulacin por medio de un lenguaje de u o etiquetas completamente aparte de Java como lo es XML. 2. Modelar clases que sirvieran como contenedores de meta-datos para las clases del n cleo de u simulacin. o 3. Y principalmente, proveer de una herramienta de descripcin de sistemas de simulacin en XML o o para a travs de esta descripcin, generar cdigo que implemente el sistema descrito. e o o Para llevar a cabo el objetivo del primer punto fue necesario establecer un formato de descripcin o de sistemas de redes de colas. En resumen el archivo producido est formado por los siguientes campos: a system: especica el inicio de un sistema, es el miembro ra del archivo. Es necesario especicar z su nombre con el atributo name. jobclass: este miembro indica el nombre de la clase de trabajos que se usarn en el sistema. a Adems aqu se especica el nmero de tipo prioridades que puede tener un trabajo por medio a u del atributo prioritytypes. distributionproperties: dentro del uso de estas herramientas existe un archivo el cul se utiliza a para mapear el nombre corto de la distribucin a el nombre de la clase que generar nmeo a u ros con sta distribucin. Por ejemplo si el archivo contiene: classname.distribution.M = e o ExponentialRandomGenerator, indica que todo elemento que indique que genera nmeros con u una distribucin nombrada M ser generado por medio de la clase ExponentialRandomGenerator. o a Este campo indica el archivo que contiene estos mapeos.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

57

6.3. Herramientas para XML.

inputgenerator: indica el inicio de un elemento generador de entradas para el sistema. Se pueden insertar un nmero indeterminado de estos elementos, el n mero de elementos va a depender u u espec camente de las capacidades del equipo donde se desee ejecutar la simulacin. En este o elemento se deben especicar los elementos meanarrivaltime (tiempo entre llegadas promedio), distribution (distribucin de probabilidad a la que va a generar las entradas), capacity (poblacin o o que genera) y por ultimo el elemento linksto, este es un elemento que se aade para indicar las n conexiones que existen hac otros elementos del sistema. Adems se deben de indicar la clase a a del generador por medio del atributo class, y un identicador unico en el atributo id. server: este elemento es muy similar al elemento inputgenerator, solo que ste describe un servidor e del sistema. De la misma manera que el elemento pasado, se puede repetir para aadir servidores n al sistema. La diferencia reside en que aqu se tiene que especicar un tiempo de servicio promedio por medio del elemento meanservicetime y un tamao de la cola interna del servidor con el n elemento maxqueuelength. Tambin en la parte de los atributos de la clase adems de la clase y el e a identicador, es necesario indicar la clase de la cola que tiene el servidor por medio del atributo queueclass. Por ultimo se puede indicar cuantos servidores tendr en su ncleo y la carga inicial a u que puede tener el servidor para algunos casos especiales.

As por medio de estos elementos se puede describir un sistema de redes de colas como se desee. En el cdigo 6.3 se muestra un ejemplo de este archivo XML. o

El archivo de XML es validado por medio de un Esquema W3C XML (tambin llamado XSD), e este archivo provee un medio para denir la estructura, contenido y la semntica de los documentos a XML[18]. Internamente, para leer el archivo se hizo uso de XPath. XPath es un lenguaje para localizar partes de un documento XML[19], bsicamente el lenguaje describe consultas a realizar a un archivo de XML a y de esta forma acceder a los valores de los elementos que se desee. La versin del kit de desarrollo de o Java, contiene clases de gran utilidad para hacer uso del lenguaje XPath, estas clases se encuentran en el paquete javax.xml.xpath. Como se mencion en el segundo punto al inicio de este cap o tulo, se disearon clases para guardar el n contenido de este anlisis. Adems de guardar el contenido del anlisis del archivo XML, es importante a a a mencionar que sirven como objetos de peso ligero, as no se tendrn que utilizar las clases descritas a en la seccin 6.2 para guardar este contenido. En la Figura 6.5 se muestra el diagrama de clases y la o relacin entre stas: o e

58

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

Figura 6.5: Diagrama de clases de herramientas XML.

En resumen, la clase XMLSystemCreator hace uso de un objeto de tipo XPathLittleHelper para el anlisis del archivo XML y as construir un objeto de tipo SystemXMLEntity, el cul contendr los a a a datos surgidos de este anlisis. a Como parte de estas herramientas, se incluye la clase SystemCodeGenerator, que tiene la capacidad de generar cdigo de una clase QueingSystem. Esta clase genera el cdigo a partir de un objeto o o SystemXMLEntity. As por medio del uso adecuado de estas clases, el usuario puede utilizar este paquete para generar un sistema de redes de colas listo para simularse. En la Figura 6.6 se muestra el diagrama de secuencia y muestra el uso que se le puede dar a este paquete:

6.4.

Interfaz de usuario.

La interfaz de usuario para esta aplicacin fue diseada para que fuera un IDE. Como se mencion al o n o inicio de este cap tulo, el diseo de ste mdulo necesitaba que la interfaz tuviera mecanismos para que n e o el usuario pudiera modelar sistemas con el uso de herramientas de arrastrar y dejar (Drag and Drop). Para lo cul fue necesario el uso del paquete JHotDraw. Las clases generadas para esta interfaz, fueron a derivadas de clases de JHotDraw, para que prestaran la funcionalidad adecuada al tipo de aplicacin o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

59

6.4. Interfaz de usuario.

Figura 6.6: Diagrama de secuencia para herramientas XML.

60

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

Figura 6.7: Diagrama de clases de la interfaz de usuario. que se requer construir. En la Figura 6.7 se muestra el diagrama de clases del paquete de la interfaz a de usuario. La aplicacin principal est construida en la clase QSimMainWindow la cul genera la ventana prino a a cipal de trabajo y dirige el uso de las dems clases. Adems de las clases que proveen la funcionalidad a a para interactuar con el ambiente de trabajo, se provee la clase DrawCompiler. Esta clase analiza el dibujo realizado por el usuario para generar un archivo XML y as poder generar cdigo del sistema o descrito. Por medio de la entrada al compilador [20] y los mecanismos de reexin [21] que provee el o kit de desarrollo de Java, fue posible la compilacin y ejecucin de una nueva clase generada dentro del o o ambiente. Adicionalmente se construyeron clases de utiler para llevar a cabo la simulacin en hilos a o de ejecucin separados y animar la simulacin. En el siguiente diagrama de colaboracin se muestra la o o o interaccin entre las clases de este paquete: o

6.5.

Mdulo de anlisis de resultados. o a

Como ya se mencion en el cap o tulo 5, una simulacin depende estrictamente de datos probabil o sticos y an ms importante, estos datos dependen a su vez de un generador de nmeros aleatorios. As se u a u restringe que cada simulacin depender de una instancia de un generador de nmeros aleatorios, esto o a u

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

61

6.5. Mdulo de anlisis de resultados. o a

Cdigo 1 Ejemplo de descriptor XML de un sistema de redes de colas o


<?xml version="1.0" encoding="UTF-8"?> <system name="System0"> <jobclass prioritytypes="1">Customer</jobclass> <distributionproperties>distributions.properties</distributionproperties>
1 2 3 4 5 6

<inputgenerator class="CustomerGenerator" id="InputGenerator_0"> <meanarrivaltime>100.0</meanarrivaltime> <distribution>M</distribution> <capacity>0</capacity> <linksto entity="server" id="Server_0"></linksto> </inputgenerator> <server class="CustomerServer" id="Server_0" queueclass="CustomerTimedQueue"> <maxqueuelength>0</maxqueuelength> <leavesystem>true</leavesystem> <meanservicetime>100.0</meanservicetime> <distribution>M</distribution> </server> </system>

7 8 9 10 11 12 13 14 15 16 17 18 19 20

Figura 6.8: Diagrama de colaboracin para las clases de la interfaz de usuario. o

62

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

servir para que toda simulacin sea idntica si y solo si la semilla del generador de nmeros aleatorios a o e u es igual para cada simulacin. Debido a esto si se modica la semilla para el generador de nmeros o u aleatorios se obtendrn resultados similares pero no idnticos. Adems lo que importar en cada sia e a a mulacin es el estado estable. Entonces lo que se obtendrn son diferentes resultados o muestras, para o a cada variable de inters en un nmero determinado de simulaciones, lo cual lleva al anlisis estad e u a stico de estas muestras. En este mdulo se tom en cuenta el mtodo mencionado en la seccin 5.5.2, para eliminacin del o o e o o estado transitorio se harn n simulaciones lo sucientemente largas en duracin para que en el promedio a o de los datos de inters el estado estable prevalezca. Ya que para cada simulacin se tomar una semilla e o a de generacin de nmeros aleatorios diferente, entonces se asegura que cada variable de inters a o u e calcular es independiente (ver 5.5.4). Como se aseguran ests dos propiedades se pueden calcular los a intervalos de conanza para cada variable de inters con las frmulas descritas al nal de la seccin e o o 5.5.4. La clase principal para este mdulo es la clase SimulatorAnalyzer la cul a partir de una inso a tancia de un sistema de colas(QueueingSystem) realizar n simulaciones con diferentes semillas y a tomar las n muestras para cada variable de inters del sistema. Para esto se implement la clase a e o StatisticVariable la cul est encargada de guardar cada muestra de la simulacin para despus a a o e calcular la media, varianza e intervalos de conanza para cada variable. Asimismo, ya que se tienen un nmero determinado de servidores, y para cada servidor interesan los clculos para diferentes variables, u a se cre la clase ServerStatistics la cul contendr las variables de inters de tipo StatisticVariable o a a e a calcular para cada servidor. En la gura 6.9 se muestra el diagrama de clases de este mdulo y en la o gura 6.10 se muestra el diagrama de secuencia del funcionamiento de estas clases. Como se muestra en la gura 6.10, el usuario puede hacer uso de esta clase directamente desde su programa. Asimismo en la interfaz de usuario, se provee una entrada a este mdulo para realizar un o nmero determinado de simulaciones y calcular los intervalos de conanza para las muestras obtenidas. u

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

63

6.5. Mdulo de anlisis de resultados. o a

Figura 6.9: Diagrama de clases del mdulo de anlisis estad o a stico.

64

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 6. Diseo e implementacin. n o

Figura 6.10: Diagrama de secuencia de las clases del mdulo de anlisis estad o a stico

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

65

CAP ITULO

7
Pruebas y resultados.

Se realizaron varias pruebas con el sistema propuesto en esta tesis, en este cap tulo se muestran un par de los resultados obtenidos en el sistema y su comparacin con los resultados obtenidos anal o ticamente. En primer lugar se revisar el caso ms sencillo de una cola, con un origen de trabajos y un servidor a a de atencin. En la segunda parte se revisar una red de colas en un modelo conocido como lo es el o a llamado de Servidor Central o Central Server en ingls. e En el Apndice C se encuentran ms resultados con sus respectivas comparaciones entre los resule a tados anal ticos y los resultados obtenidos con simulacin. o

7.1.

Resultados para prueba de sistema M | M | 1

Considrese el sistema mostrado en la Figura 7.1: e

Figura 7.1: Sistema de prueba M | M | 1


Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

67

7.1. Resultados para prueba de sistema M | M | 1

Como se coment anteriormente en la seccin 3.3, este sistema pertenece a los del tipo de nacio o miento y muerte. Tambin es el sistema ms sencillo que se puede encontrar de manear funcional en el e a mundo real. Este sistema cuenta con un generador de entradas (con tiempos de llegada distribuidos de manera exponencial), y una sola entidad de atencin(con tiempos de servicio distribuidos de manera o exponencial) para cada trabajo generado. Las pruebas anal ticas de este sistema se pueden evaluar con las frmulas de la Ley de Little (ver o seccin 3.1.6), con las cuales se obtienen los siguientes resultados: o Dado un servidor de atencin m y dados los siguientes datos de entrada para y : o

m = 1 = 1/30 = 1/20 Se obtienen los siguientes resultados:

(7.1) (7.2) (7.3)

p0

(/)n p0 if 0 n m n! p(n) = (/)n p0 if nm m!mnm X N = np(n) = 2 Nq = Wq = W


n=0 X n=m

j ( )m X m1 ( ) + = j! m!
j=0

(7.4) 1 m 1 1

(7.5)

(7.6)

(7.7) (7.8) (7.9) (7.10)

(n m)p(n) =

4 3

Nq 120 = = 40 3 1 = Wq + = 40 + 20 = 60

dentro del sistema programado. En el sistema se introdujeron los mismos datos para las pruebas,

Asimismo se obtuvieron resultados para 1/ = {30, 40, . . . , 90, 100}, tanto anal ticamente como

68

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 7. Pruebas y resultados.

30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20

0.66667 0.5 0.4 0.3333 0.28571 0.25 0.2222 0.2

N 2.0 1.0 0.66667 0.5 0.4 0.3333 .28571 0.25

Nq 1.3333 0.5 2.6667 0.16667 0.11429 0.08333 0.063492 0.05

Wq 40.0 20.0 13.333 10.0 8.0 6.6667 5.7143 5.0

W 60.0 40.0 33.333 30.0 28.0 26.667 25.714 25.0

Tabla 7.1: Resultados anal ticos para sistema M | M | 1. o se realizaron 5 simulaciones con tiempo de simulacin fue por 1.0e7 y una coleccin de semillas pao ra la generacin de nmeros aleatorios igual a 1973272912L, 747177549L, 20464843L, 640830765L, o u 1098742207L. Los resultados anal ticos se presentan en la la tabla 7.1 y los resultados obtenidos por el sistema (la media de las 5 simulaciones) en la tabla 7.2, la tabla 7.3 muestra los intervalos de conanza del 90 % calculados con el simulador.

Como se puede observar los resultados entre las dos tablas no var en demas (0.03 unidades an a en promedio), lo cual indica que el software realiza la simulacin correcta del sistema introducido. En o la tabla 7.4 se muestra el resultado de la diferencia entre los resultados y promediado, esto nos da un aproximado de la diferencia en unidades entre ambos resultados.

En la gura 7.2, se muestran las grcas de 1/ vs. de ambos resultados, el anal a tico y el simulado respectivamente, en las cuales tambin se observa que la diferencia es muy poca. Aqu se puede sealar e n que en las grcas de los resultados de QSim de aqu en adelante, se muestra tambin el intervalo de a e conanza, que se simboliza con dos barras horizontales que sealan el intervalo de conanza; ya que n

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

69

7.1. Resultados para prueba de sistema M | M | 1

30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20

0.6663 0.4987 0.3984 0.33122 0.2849 0.2494 0.2216 0.1996

N 1.9953 0.9964 0.6636 0.4985 0.3991 0.3329 0.2850 0.2497

Nq 1.3290 0.4975 0.2651 0.1662 0.1141 0.0835 0.0634 0.0501

Wq 39.8630 19.9234 13.2757 9.9796 7.9935 6.6815 5.7148 5.0124

W 59.8470 39.8935 33.2271 29.9262 27.9502 26.6372 25.6705 24.9743

Tabla 7.2: Resultados obtenidos por QSim para sistema M | M | 1. 0.0018 0.0013 9.89e4 5.39e4 4.13e4 5.90e4 7.03e4 7.06e4 N 0.0231 0.0067 0.0035 0.0027 0.0012 0.0017 0.0017 0.0014 Nq 0.0214 0.0056 0.0026 0.0022 8.83e4 0.0012 0.0012 9.49e4 Wq 0.5776 0.2029 0.1041 0.1368 0.0664 0.0932 0.1094 0.09186 W 0.5964 0.2269 0.1128 0.1767 0.1053 0.1173 0.1297 0.1170

Tabla 7.3: Intervalos de conanza obtenidos por QSim para sistema M | M | 1. 8.0887e4 N 0.0019 Nq 0.0011 Wq 0.0407 W 0.0735

Tabla 7.4: Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | M | 1.

70

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 7. Pruebas y resultados.

las simulaciones no varian mucho entre ellas, solo se aprecia como si fuera una l nea, en la Figura 7.3 se muestra un acercamiento a la grca para apreciar mejor el intervalo. a

Figura 7.2: Grca 1/ vs. del sistema M | M | 1 de los resultados anliticos y obtenidos en QSim. a a

7.2.

Resultados para prueba de sistema Servidor Central.

La segunda prueba importante del sistema programado para esta tesis, se baso en la simulacin de o un modelo de redes de colas conocido como lo es el del servidor central o central server. Este sistema es una red de colas cerrada y consta principalmente de 1 servidor central y M servidores, cada uno con su respectiva cola de atencin e interconectados entre si como se muestra en la Figura 7.4. o En las conexiones de un servidor se involucra cierta probabilidad de que una tarea tome una ruta a un servidor u otro, esto por ejemplo podr simular un procesador de una computadora (servidor a central) y M per fericos (servidores extras), a los cuales el procesador delegar tareas para realizar un a ciclo de servicio. El anlisis de estos sistemas suele hacerse por medio de Redes de Jackson (ver Seccin 4.2) o por a o un modelo que es una modicacin a las Redes de Jackson llamado de Gordon-Newell [22], las cuales o eliminan los generadores de tareas y suponen un nmero N de trabajos iniciales en circulacin en la u o red. Las ecuaciones de balance estn descritas por la siguiente expresin: a o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

71

7.2. Resultados para prueba de sistema Servidor Central.

Figura 7.3: Acercamiento a la grca 1/ vs. del sistema M | M | 1 de los resultados anliticos y a a obtenidos en QSim.

Figura 7.4: Sistema Servidor Central.

72

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 7. Pruebas y resultados.

P (n1 , n2 , . . . , nM ) =

1 Y (Di )ni , G(N )


i=1

(7.11)

donde ni son el nmero de clientes presentes en el servidor i, y (Di , D2 , . . . , DM ) es una solucin u o positiva real a las ecuaciones:

j Dj =

M X i=1

i Di pij , 1 j M ,

(7.12)

y G(N ) es una constante de normalizacin con la cul se asegura que la suma de las probabilidades o a P (n , n , . . . , n ) sean igual a uno. Esto es, se dene un vector = (n , n , . . . , n ) el cual describe n
1 2 M 1 2 M

el estado de la red, entonces:

G(N ) =

S(N,M) i=1 n

M Y (Di )ni ,

(7.13)

donde ( ) M +N1
N

S(N, M ) =

(n1 , n2 , . . . , nM )|

M X i=1

ni = N

y ni 0 i

(7.14)

Cabe denotar que la suma de la ecuacin 7.13 es realizada sobre todos los posibles o

estados

o o a del sistema (n1 , n2 , . . . , nM ). As para la solucin de la ecuacin de balance 7.11 es necesario el clculo M+N1 de G(N ) el cual involucra la suma de trminos y cada uno de ellos es un producto de M e N

u factores que son potencias de cantidades bsicas (Xi ). A pesar del nmero de operaciones que este a clculo involucra, Jerey P. Bunzen public un algoritmo iterativo en 1973, llamado de convolucin, a o o el cual realiza el cmputo de la variable G(N ) con un total de N M multiplicaciones y N M sumas, o As con la obtencin de esta variable de nomalizacin se puede llevar a cabo el clculo del resto de o o a

la descripcin de este algoritmo se puede consultar en [23]. o

las variables importantes para este tipo de sistemas. La prueba que se realiz consta de 1 servidor central y 2 servidores (ver Figura 7.5 y en la Figura o 7.6 se muestra la pantalla de QSim con este sistema) extras y los siguientes datos:

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

73

7.2. Resultados para prueba de sistema Servidor Central.

Figura 7.6: Sistema de red de colas en QSim.

Figura 7.5: Modelo Servidor Central de prueba.

74

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 7. Pruebas y resultados.

k 0 1 2 3

G(1, k) 1.0 1.0 1.0 1.0

G(2, k) 1.0 1.8 2.44 2.952

G(3, k) 1.0 3.6 8.92 19.008

Tabla 7.5: Resultados para la constante de normalizacin. o

E[S1 ] = 1 E[S2 ] = 2 E[S3 ] = 3 r1,2 = 0.4 r1,3 = 0.6 r2,1 = 1 r3,1 = 1 V1 = 1 V2 = 0.4 V3 = 0.6 Di = Vi E[Si ] D1 = 1 D2 = 2(0.4) = 0.8 D3 = 3(0.6) = 1.8

donde los valores de Vi son valores dados que especican la tasa de visita para cada servidor, es decir, esta variable expresa que por cada vez que se visite el servidor Si el servidor Sj es visitado en a promedio Vi veces. Y Di expresa la cantidad de servicio que un trabajo necesitar en promedio de un o u servidor Si en un ciclo. Inicialmente se estableci un nmero de 3 trabajos en la red. Los resultados para la constante G(N ) se muestran en la tabla 7.5.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

75

7.2. Resultados para prueba de sistema Servidor Central.

E[S1 ] 1 2 3 4 5

1 (3) 0.4692 0.74218 0.86804 0.92635 0.9555

2 (3) 0.3754 0.29687 0.23148 0.18521 0.15288

3 (3) 0.845 0.6679 0.5208 0.41686 0.3439

E[N1 (3)] 0.7112 1.1416 1.8805 2.1646 2.3451

E[N2 (3)] 0.5235 0.3852 0.2850 0.2198 0.1766

E[N3 (3)] 1.7651 1.1979 0.8344 0.6155 0.4783

E[R1 (3)] 1.5156 3.8182 6.4991 9.3468 12.271

E[R2 (3)] 2.7892 2.595 2.4629 2.3733 2.3102

E[R3 (3)] 6.268 5.3802 4.8065 4.43 4.1717

Tabla 7.6: Resultados anal ticos para servidor central. El resultado importante del cmputo de la constante de normalizacin G(N ) es Xj (N ), que denota o o la salida del servidor j cuando hay N trabajos en la red, y de forma general del sistema: G(M, N 1) G(M, N )

X(N ) =

(7.15)

Con estos resultados se calculan las variables importantes con las siguientes expresiones:

i (N ) = X(N )Di G(M, K k) G(M, K) k=1 PK Dk G(M, K k) E[Ni (K)] E[Ni (K)] = = k=1 i E[Ri (K)] = Xi (K) Vi X(K) Vi G(M, K 1) E[Ni (K)] =
k Di K X

(7.16) (7.17) (7.18)

7.6.

Con los mismos datos y la variacin de E[S1 ] = {1, 2, 3, 4, 5} se obtienen los resultados de la tabla o

Para simular este sistema se utilizaron los mismos datos de entrada, se realizaron 5 simulaciones con una coleccin de semillas para la generacin de nmeros aleatorios igual a 1973272912L, 747177549L, o o u 20464843L, 640830765L, 1098742207L. Los resultados obtenidos se muestran en la tabla 7.7 (la media de las 5 simulaciones). Tambin se muestra en la tabla 7.8 el intervalo de conanza al 90% obtenido e con el simulador.

76

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 7. Pruebas y resultados.

E[S1 ] 1 2 3 4 5

1 (3) 0.4693 0.7426 0.8680 0.9264 0.9554

2 (3) 0.3748 0.2961 0.2312 0.1863 0.1533

3 (3) 0.8438 0.6677 0.5242 0.4168 0.3436

E[N1 (3)] 0.7131 1.4151 1.8708 2.1615 2.3463

E[N2 (3)] 0.5231 0.3838 0.2859 0.2116 0.1773

E[N3 (3)] 1.7652 1.1979 0.8345 0.6156 0.4783

E[R1 (3)] 1.5186 3.8138 6.4495 9.3148 12.2345

E[R2 (3)] 2.7915 2.5949 2.4689 2.3904 2.3101

E[R3 (3)] 6.2691 5.3802 4.8065 4.4300 4.1717

Tabla 7.7: Resultados para servidor central obtenidos con QSim.

E[S1 ] 1 2 3 4 5

1 (3) 1.72e3 1.44e3 2.91e3 2.45e3 2.49e3

2 (3) 0.0025 1.71e3 2.10e3 3.05e3 2.03e3

3 (3) 1.97e3 2.74e3 4.08e3 4.50e3 6.12e3

E[N1 (3)] 1.73e3 2.69e3 5.34e3 6.88e3 0.0104

E[N2 (3)] 2.79e3 3.29e3 8.30e4 7.38e4 6.98e4

E[N3 (3)] 0.0051 0.0046 4.58e3 4.11e3 0.0077

E[R1 (3)] 0.0016 0.0042 0.0128 0.0167 0.0360

E[R2 (3)] 0.0049 0.0062 0.0104 0.0295 0.0180

E[R3 (3)] 0.0039 0.0119 0.0250 0.0235 0.0369

Tabla 7.8: Intervalos de conanza para servidor central obtenidos con QSim.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

77

7.2. Resultados para prueba de sistema Servidor Central.

1 (3) 0.0011

2 (3) 5.2944e4

3 (3) 9.8508e4

E[N1 (3)] 0.0578

E[N2 (3)] 0.0010

E[N3 (3)] 0.0032

E[R1 (3)] 0.0251

E[R2 (3)] 0.0051

E[R3 (3)] 0.0174

Tabla 7.9: Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema Servidor Central.

Al igual que en los ejemplos mostrados anteriormente, la tabla 7.7 presenta resultados que no dieren en demas en comparacin a los resultados obtenidos de manera anal a o tica. En la tabla 7.9 se muestra un promedio de la diferencia entre ambos conjuntos de resultados.

Por ultimo se presenta una comparacin entre las grcas obtenidas (Figuras 7.7 y 7.8) para este o a sistema, y as concluir que la diferencia entre los resultados obtenidos anal ticamente y los obtenidos por simulacin, no es muy grande, as se puede dar cierto grado de conanza a las simulaciones que se o hagan en el ambiente de simulacin presentado en esta tesis. o

Figura 7.7: Grca (3) vs. E[R(3)] del resultado anal a tico del sistema Servidor Central. En el anlisis de este sistema se observa que al aumentar el tiempo de servicio para un servidor, a en este tipo de sistema impacta a los dems servidores interconectados ya que los trabajos que estn a a

78

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 7. Pruebas y resultados.

Figura 7.8: Grca (3) vs. E[R(3)] del resultado obtenido con QSim del sistema Servidor Central. a uyendo en el sistema se detienen en un nodo, lo cul hace que en los dems servidores disminuya su a a ocupacin y en el servidor dnde se detienen aumente. Esto denota ciertas caracter o o sticas del sistema, por ejemplo:

Con la simulacin en el sistema se puede identicar rpidamente el cuello de botella en un sistema o a como ste de servidor central. e Tambin se puede identicar la ocupacin o uso de cada servidor, y as poder balancear y optie o mizar el uso de cada servidor. Esto es porque en algunos sistemas como este, como podr ser a una l nea ensamble en donde el uso no optimizado de los servidores o maquinas de servicio (en el caso particular de una l nea de ensamble) deriva en tiempo de los trabajos nales y costo de uso de cada mquina. a Asimismo en este tipo de sistemas lo que se busca es que la cola de atencin no crezca y que el o tiempo de respuesta se comporte conforme a lo previsto y no se eleve desmesuradamente.

Uno de los modelos ms estudiados de este tipo es el modelo de una computadora, donde se tiene a una unidad de procesamiento central (CPU, que acta como servidor central) y n entidades ms de u a servicio, que en este caso sern los dispositivos o perifricos de entrada y salida de la computadora. El a e

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

79

7.2. Resultados para prueba de sistema Servidor Central.

Figura 7.9: Diagrama de red de colas del funcionamiento en una computadora. funcionamiento que se plantea es el que se tienen M tareas en rotacin en el funcionamiento interno o de la computadora, las cuales las atiende el CPU y despus las delega a los dems perifricos de e a e la computadora a que atiendan estas tareas, que sern en s peticiones de entrada y salida a estos a dispositivos como lo puede ser la tarjeta de video, lectores de discos, tarjetas de sonido, teclado, etc. Los resultados que se obtienen del estudio de este sistema son muy importantes, ya que se habla del desempeo de un procesador central, y muchas compa como Intel o AMD realizan este tipo de n nas estudios en todas sus investigaciones para nuevos desarrollos de procesadores. En la Figura 7.9 se muestra el diagrama de esta red de colas de la vida real. .

80

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

CAP ITULO

8
Conclusiones y trabajo futuro.

Para llevar a cabo una simulacin de un modelo real, es muy importante tomar en cuenta todo o lo mencionado en esta tesis, acerca de los resultados que se pueden obtener de un modelo no conocido y las suposiciones que se hacen inicialmente. Es tambin importante tomar en cuenta la e desviacin que se tiene nmericamente debido a la generacin de nmeros aleatorios y la precisin o u o u o por naturaleza de la plataforma de hardware que se utilice. Finalmente el mejor punto de vista de resultados parciales de una simulacin de un modelo real, la tendr un experto que pueda o a saber el comportamiento aproximado de un sistema de redes de colas, o de algunos segmentos del sistema. En este trabajo de tesis se present un ambiente de desarrollo para la modelacin y simulacin de o o o redes de colas que cuenta con una interfaz de usuario amigable en el lenguaje de programacin o Java lo cual permite que el programa se pueda ejecutar en diferentes plataformas y sistemas operativos. El ncleo programado lleva a cabo las simulaciones, es adaptable y se puede usar u sin la necesidad de la interfaz grca. Asimismo permite la modelacin de sistemas por medio a o de archivos XML. La simulacin se basa en un simulador de eventos discretos los cuales son o administrados por clases internas propias. Por ultimo tambin se proveen las clases bases para e la generacin de nmeros aleatorios y algunos generadores de nmeros aleatorios con ciertas o u u distribucines probabil o sticas. Los resultados obtenidos por el ncleo de simulacin son acercados (un .5 % de diferencia mximo) u o a a los resultados obtenidos anal ticamente, y permiten el anlisis de sistemas muy complejos que a pueden no ser si quiera analizados de forma anal tica. As este sistema representa una buena opcin para la experimentacin de este tipo de sistemas. Adems de manera gratuita y la ventaja o o a

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

81

de poder extenderlo o modicarlo de manera relativamente sencilla. La interfaz de usuario desarrollada, permite al usuario modelar sistemas muy complejos. En esta interfaz se pueden observar fcilmente fallas o posibles resultados no deseados en la prctica, a a como el que la cola de un servidor se sature o que un servidor no est en uso. Adems se provee e a de un mdulo de anlisis de resultados, en el cual, es posible realizar la misma simulacin n veces, o a o lo cul es muy util para as jar un promedio de resultados ms aproximado a la realidad. Por a a ultimo tambin se incluye un mdulo de gracacin de resultados para un anlisis en tiempo real e o o a del comportamiento de la simulacin que se lleva a cabo. o Hay trabajo futuro que desarrollar en el ncleo de la simulacin. El ms importante es el soporte u o a para servidores dependientes de la carga, ya que existen muchos sistemas en el mundo real que funcionan de esta manera, cmo es el caso de los servidores computacionales. Otro punto a o mejorar es la generacin de resultados parciales en determinados puntos de la simulacin, para o o que el usuario observe en ciertos puntos de inters el comportamiento actual del sistema. Tambin e e el soportar colas con mayor nmero de trabajos, ya que esta propiedad esta arraigada totalmente u en la computadora del usuario, ya que debido a las estructuras complejas de los objetos puede que se sature la memoria del ambiente donde se ejecute el sistema. Tambin se podr mejorar e a la manera de seleccionar que datos de salida se requieren calcular ya sea desde la programacin o o desde el archivo de entrada XML, ya que esto podr aumentar el desempeo del tiempo de la a n simulacin para sistemas muy complejos. o Con respecto a la interfaz del usuario se podr integrar muchas funcionalidades, cmo el de an o guardar el estado de un sistema en cualquier punto, para despus poderla resumir. En un futuro e se podr generar grcas de resultados de las mltiples simulaciones de un mismo sistema para an a u as poderlo analizar de mejor manera. Una mejora importante ser la integracin de esta interfaz a o a un sistema web, ya sea en un applet con llamadas a servlets con sockets o realizar una interfaz con la misma funcionalidad con llamadas a servicios web con Adobe Flex o Flash [24]. Cabe sealar que esta aplicacin, a pesar de las fallas existentes (con respecto a que puede n o tomar mucho tiempo realizar algunas simulaciones o que haya errores debido a problemas de memoria) esta aplicacin realiza algunas simulaciones que no se pueden llevar a cabo en sistemas o comerciales, como la simulacin de redes de Gordon-Newell. Tambin el sistema no est apegado o e a a algn sistema o sector en espec u co (manufactura, nanzas, etc.), pero se pueden realizar adaptaciones sencillas para obtener resultados de inters relacionados con estos sectores, as el e sistema puede ser muy util en estos sectores. Por ultimo se podr realizar ciertas modicaciones o implementar nuevas clases con el uso del an mismo ncleo para simular trco vehicular o redes de Petri. Para el primer caso se tendr que u a an

82

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Cap tulo 8. Conclusiones y trabajo futuro.

modicar principalmente las clases de los trabajos para que pudieran tener cierto comportamiento al llegar a un servidor. En el segundo caso se tendr que modicar las clases de servidores, para an que acten como los estados de la red, y los trabajos ejemplicar las acciones para llegar a u an cierto estado de la red.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

83

REFERENCIAS

[1] Frederick S. Hillier and Gerald J. Lieberman. Introduction to operations research. McGraw-Hill, Dubuque, Iowa, 8th edition, 2005. Frederick S. Hillier, Gerald J. Lieberman. Includes indexes. [2] J. Sklenar. Introduction to simula, 1997. Disponible en: http://staff.um.edu.mt/jskl1/talk.html. [3] John Goble. Modsim iii - a tutorial., 1997. Disponible en: www.informs-cs.org/wsc97papers/0601.
PDF.

[4] Stephen V. Rice. Object-oriented simscript, April 18 2004. Disponible en: www.simprocess.com/
docs/O-O_Simscrip_IEEE.pdf.

[5] John. A Miller. Jsim homepage. Disponible en: http://chief.cs.uga.edu/~jam/jsim/. [6] Fred Howell. Simjava. Disponible en: http://www.dcs.ed.ac.uk/home/hase/simjava/. [7] M.C. Little. Javasim home page. Disponible en: http://javasim.ncl.ac.uk/. [8] William Feller. An introduction to probability theory and its applications. Wiley series in probability and mathematical statistics. Wiley, New York,, 3d edition, 1968. Bibliographical footnotes. [9] John D. C. Little. A proof for the queueing formula: L = W . [10] R. Haverkort Boudewijn. Performance of Computer Communication Systems: A Model-Based Approach. John Wiley & Sons, Inc., 1998. 521155. [11] James Stewart. Calculus : concepts and contexts. Thomson Brooks/Cole, Australia Belmont, CA, 3rd edition, 2005.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

85

Referencias

[12] Paul Gerhard Hoel. Introduction to mathematical statistics. Wiley publication in mathematical statistics. Wiley, New York, 5th edition, 1984. Paul G. Hoel. Includes index. [13] Student. The probable error of a mean. Biometrika, 6(1):125, 1908. 00063444 Cambridge University Press. [14] Wikipedia. Normal distribution, 2006. Disponible en: http://en.wikipedia.org/wiki/Normal_
distribution.

[15] Thomas Eggenschwiler Erich Gamma. Jhotdraw, 1996. Disponible en: http://www.jhotdraw.org/. [16] Sun Microsystems. Class random, 05-Jun-06 2004. Disponible en: http://java.sun.com/j2se/1.
5.0/docs/api/java/util/Random.html.

[17] LEcuyer Pierre. Software for uniform random number generation: distinguishing the good and the bad. In Proceedings of the 33nd conference on Winter simulation, Arlington, Virginia, 2001. IEEE Computer Society. 564139 95-105. [18] W3C. W3c xml schema, 05-Jun-06 2006. Disponible en: http://www.w3.org/XML/Schema. [19] W3C. Xml path language (xpath) version 1.0, 1999. Disponible en: http://www.w3.org/TR/xpath. [20] Shawn Silverman. Java tip 131: Make a statement with javac!, 2002. Disponible en: http://www.
javaworld.com/javatips/jw-javatip131.html.

[21] Ira Forman. Java reection in action., 05-Jun-2006 2004. Disponible en: http://www.developer.
com/java/other/article.php/10936_3504271_1.

[22] Gordon-Newell. Closed queueing systems with exponential servers. Operations Research, (15):254 263, 1967. [23] Jerey P. Buzen. Computational algorithms for closed queueing networks with exponential servers. Commun. ACM, 16(9):527531, 1973. 362345. [24] Adobe. Flex, 2006. Disponible en: www.adobe.com/es/products/flex/. [25] Wikipedia. Erlang distribution, 2006. Disponible en: http://en.wikipedia.org/wiki/Erlang_
distribution.

86

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

APENDICE

A
Propiedades de la distribucin exponencial o

Las caracter sticas de los sistemas de colas estn determinados a grandes rasgos por dos propiedades a estad sticas, la distribucin de probabilidad del tiempo entre llegadas y la distribucin de probabilidad o o del tiempo de servicio. Para los sistemas de colas reales, estas distribuciones pueden tomar casi cualquier forma. Sin embargo, para formular un modelo como representacin de un sistema real, es necesario o especicar una forma para cada una de estas distribuciones. Para que sea util, la forma supuesta deber ser lo sucientemente realista para que el modelo provea predicciones razonables, y adems a a sucientemente simple para que el modelo sea matemticamente tratable. En base a esto, la distribucin a o de probabilidad ms importante en la teor de colas es la distribucin exponencial. a a o

Se dene la variable T que representa ya sea el tiempo entre llegadas o el tiempo de servicio. Esta variable aleatoria se dice que tiene una distribucin exponencial con parmetro si su funcin de o a o densidad de probabilidad es:

fT (t) =

et para t 0 0

(A.1)

para t < 0,

como se muestra en la Figura A.1. En este caso, las probabilidades acumuladas son:

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

87

A.1. Propiedad 1.

a = 1.5

0.5

E=1/a 1

1.5

2.5

3.5

4.5

Figura A.1: Funcin de densidad de probabilidad de la distribucin exponencial. o o

t 0 P {T P {T

> t} = et

t} = 1 et

y el valor esperado y la varianza de T son, respectivamente:

E(T ) = var(T ) =

1 , 1 2

Las implicaciones para suponer que T tiene una distribucin exponencial para un modelo de colas o se enlistan a continuacin. o

A.1.

Propiedad 1.

que:

fT (t) es estrictamente una funcin decreciente de t(t 0). Una consecuencia de esta propiedad es o

88

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice A. Propiedades de la distribucin exponencial e o

P {0 T t} > P {t T t + t}

(A.2)

para cualquier valor estrictamente positivo de t y t. Esta consecuencia parte del hecho de que estas probabilidades son el area bajo la curva de fT (t) en el intervalo de longitud t, y el promedio de la altura de la curva es menor en la segunda probabilidad que en la primera. Entonces no es solo posible sino tambin relativo que T tomar un valor pequeo cercano a cero. De hecho, e a n

P como para

11 0T 2

= 0.393

(A.3)

11 31 T 2 2

= 0.383

(A.4)

tal que el valor que toma T es ms preciso que sea pequeo(menor a la mitad de E(T )) a a n c ercano(no ms all de la mitad de E(T )) a su valor esperado, a pesar de que el segundo intervalo es a a el doble de longitud que el primero. Si el servicio requerido es esencialmente idntico para cada trabajo, es decir que el servidor siempre e realice la misma secuencia de operaciones de servicio, entonces el tiempo de servicio actual tiende a estar cerca del tiempo de servicio esperado. Algunas desviaciones pequeas pueden ocurrir usualmente n por algunas variaciones menores en la eciencia del servidor. Un tiempo de servicio pequeo lejos de n la media es esencialmente imposible, por que se requiere un tiempo m nimo en la realizacin de las o operaciones de servicio, an cuando el servidor est a su mxima velocidad. Claramente la distribucin u e a o exponencial no provee una aproximacin cercana para la distribucin de tiempo de servicio para este o o tipo de situacin. o Por el otro lado, si se considera una situacin en el que el servidor atiende a trabajos que requieren o de diferentes servicios dependiendo del usuario. La naturaleza del servicio puede ser la misma, pero el tipo y la cantidad de servicio puede variar. Por ejemplo, en un hospital, los doctores encuentran una gran variedad de problemas mdicos. En la mayor de los casos, pueden brindar el servicio requerido e a rpido, pero en algunos casos los clientes pueden requerir de un cuidado extensivo. De manera similar a ocurre para los cajeros de banco o de un super-mercado que ocasionalmente el servicio se puede extender. Una distribucin exponencial puede satisfacer este tipo de situacin de servicio. o o Por ultimo si T representa el tiempo entre llegadas, esta propiedad modela la situacin cuando un o cliente potencial que se acerca al sistema de colas tiende a postponer su entrada si ve que un cliente

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

89

A.2. Propiedad 2.

que entra adelante de l. Adems es consistente con el fenmeno comn e las llegadas que ocurren e a o u aleatoriamente.

A.2.

Propiedad 2.

Ausencia de memoria. Esta propiedad puede denirse matemticamente como: a

P {T > t + t|T > t} = P {T > t}

(A.5)

para cualquier t y t positivos. Es decir, la distribucin de probabilidad del tiempo restante hasta o que un evento(de llegada o servicio) ocurra siempre es la misma, sin importar el tiempo(t) que haya pasado. El efecto es que el proceso se olvidade su historia. La demostracin de la ecuacin A.5 se o o puede encontrar en la referencia [1]. As para los tiempos entre llegadas, esta propiedad describe la situacin en que el tiempo de la o siguiente llegada es completamente independiente de la ultima llegada que ocurri. Para los tiempos o de servicio, aplica para el tipo de situacin cuando cada cliente requiere de un servicio distinto, as un o tiempo ms largo o ms corto depender del cliente que haya llegado. a a a

A.3.

Propiedad 3.

El m nimo de varias variables aleatorias exponenciales e independientes, tiene una distribucin o exponencial. Para establecer esta propiedad matemticamente se denen T1 , T2 , . . . , Tn como variables a e aleatorias exponenciales e independientes con parmetros 1 , 2 , . . . , n respectivamente. Tambin se a dene U como una variable aleatoria que toma el valor igual al m nimo de los valores que de hecho toman T1 , T2 , . . . , Tn , esto es:

U = m n{T1 , T2 , . . . , Tn }.

(A.6)

As si Ti representa el tiempo hasta que un evento en particular ocurre, entonces U representa el , tiempo hasta que el primer evento de n ocurre. Notes que para cualquier t 0, e 90
Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice A. Propiedades de la distribucin exponencial e o

P {U

> t} = P {T1 > t, . . . , Tn > t} = e1 t e2 t . . . en t n ! X = exp i t ,


i=1

(A.7) (A.8) (A.9) (A.10)

= P {T1 > t}P {T2 > t} . . . P {Tn > t}

as U tiene una distribucin exponencial con parmetro o a


n X i=1

(A.11)

Esta propiedad tiene varias implicaciones para el tiempo entre llegadas. Se supone el caso donde existan n diferentes tipos de trabajos, pero el tiempo entre llegadas de cada tipo i tiene una distribucin o exponencial con parmetro i (i = 1, 2, . . . n). Por la Propiedad 2, el tiempo restante de cualquier a instantes espec co hasta la siguiente llegada de tipo i tiene la misma distribucin. Entonces, se dene o Ti como el tiempo restante, tomado desde el instante en que un trabajo de cualquier tipo llegue. Esta Propiedad 3 indica que U , el tiempo entre llegadas para el sistema de colas como un todo, tienen una distribucin exponencial con parmetro como se deni en la ecuacin A.11. Como resultado, o a o o se puede elegir ignorar la distincin entre los clientes y an as tener una llegada exponencial para el o u tiempo entre llegadas. Esta propiedad es ms importante en el caso de servidores mltiples que en el tiempo entre llegadas. a u Por ejemplo, se plantea la situacin en que todos los servidores tengan la misma distribucin para el o o tiempo de servicio con parmetro . Ahora se establece n como el nmero de servidores dando servicio, y a u e o Ti el tiempo de servicio restante para el servidor i(i = 1, 2, . . . , n), que tambin tiene una distribucin exponencial con parmetro i = . Entonces U , el tiempo hasta el siguiente servicio de cualquier a servidor, tiene una distribucin exponencial con parmetro = n. Esto marcar que el sistema de o a a colas tiene un desempe o como si fuera un sistema de un solo servidor donde el tiempo de servicio n tiene una distribucin exponencial con parmetro n. o a

A.4.

Propiedad 4.

La relacin con la distribucin de Poisson. o o Suponga que el tiempo entre las ocurrencias consecutivas de un evento en particular tiene una distribucin exponencial con parmetro . Esta propiedad tiene que ver con la implicacin resultante o a o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

91

A.4. Propiedad 4.

acerca de probabilidad distribucin del nmero de veces que este tipo de evento ocurre en un tiempo o u designa el instante en el que la cuenta inicia. La implicacin es se da como: o (t)n et , n! especicado. Se dene X(t) como el nmero de ocurrencias en el tiempo t(t 0). donde el tiempo 0 u

P {X(t) = n} =

para n = 0, 1, 2, . . . ;

(A.12)

esto es, X(t) tiene un distribucin de Poisson con parmetro t. Por ejemplo, con n = 0, o a

P {X(t) = 0} = et ,

(A.13)

que es solo la probabilidad de la distribucin exponencial de que el primer evento ocurra despus o e del tiempo t. La media de esta distribucin de Poisson es o

E{X(t)} = t,

(A.14)

tal que el nmero de eventos esperados por unidad de tiempo es . Entonces, se dice que es la u tasa promedio a la cual los eventos ocurren. Cuando estos eventos son contados con una base continua, el proceso de conteo {X(t); t 0} se dice que es un proceso de Poisson con parmetro (la tasa a promedio). Esta propiedad provee de informacin util acerca de las terminaciones de servicio cuando el tiempo o de servicio tiene un distribucin exponencial con parmetro . Esta informacin se obtiene por medio o a o de la denicin de X(t) como el nmero de terminaciones de servicio logrados por un servidor cono u tinuamente ocupado en durante un tiempo t, donde = . Para modelos con servidores mltiples, u X(t) puede denirse tambin como el nmero de terminaciones de servicio logrados por n servidores e u continuamente ocupados en un tiempo t, donde = n. Esta propiedad tambin es util para describir el comportamiento probabil e stico de las llegadas cuando el tiempo entre llegadas tiene una distribucin exponencial con parmetro . En este caso, o a X(t) es el nmero de llegadas en durante un tiempo t, donde = que es la tasa de llegada promedio. u Entonces, las llegadas ocurren de acuerdo a un proceso de entrada de Poisson con parmetro . A veces a se dice que las llegadas ocurren aleatoriamente, que se traduce a que ocurren de acuerdo a un proceso de entrada de Poisson. Una interpretacin de este fenmeno es que cada periodo de tiempo de tomao o o n jo tiene la misma oportunidad de tener una llegada sin importar cuando ocurri la llegada anterior. o

92

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

APENDICE

B
Manual de usuario.

El ambiente programado para esta tesis, presenta una interfaz de usuario sencilla de usar, para lo cul es necesario el ambiente de ejecucin de java (Java Runtime Environment) versin 1.5 como a o o m nimo. Para ejecutar el programa se tiene que ejecutar el siguiente comando:

java -jar QSim.jar

Al ejecutar el programa se abrir la ventana que se muestra en la gura B.1 y se describe a a continuacin: o

Men de tareas: Esta es la barra de los mens de las tareas que se pueden realizar dentro del u u sistema. Aqu se econtrarn tres mens: Archivo, Edicin y Simulacin, que se describirn mas a u o o a tarde en esta seccin. o Barra de herramientas: Aqu se muestran iconos con las tareas principales que se pueden realizar dentro del sistema. Visor de tiempo de simulacin: En esta ventana se muestra la l o nea de tiempo cuando una simulacin se esta lleva a cabo. o Inspector de propiedades: El inspector de propiedades sirve para ingresar los datos principales de una simulacin. o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

93

B.1. Funcionamiento general.

Figura B.1: Ventana principal de QSim.

B.1.

Funcionamiento general.

El ambiente provee de herramientas bsicas para que el usuario pueda crear un modelo de una red a de colas con los parmetros requeridos por el usuario y as poder llevar a cabo la simulacin de dicho a o modelo. Para esta funcin es necesario ir al men de Archivo y dar click en la opcin de Nuevo. En la o u o ventana interna que se abri se podrn dibujar las entidades y conexiones necesarias para la creacin o a o de un modelo, para lo cul se encuentran los botones de Generador de entrada y Servidor en la barra a de herramientas. Al presionarlos se crear una nueva entidad, la cual se podr posicionar en donde a a el usuario desee siempre con la ayuda del mouse. Al posicionar las entidades, es necesario colocar las conexiones que el usuario desee con la ayuda de los botones de conectores que se encuentra en la barra de herramientas; con esta herramienta se podrn unir una o ms entidades a otras como se desee para a a llevar a la construccin del modelo que se tenga en mente. En la gura B.2 se observa un modelo o construido. Los parmetros se cada entidad, servidor o generador de entrada, asimismo como del sistema, se a pueden modicar en el inspector de propiedades. En cada cambio del modelo, as sea en entidades o cualquier dato del sistema se deber presionar a el botn de Compilar de la barra de herramientas, para que la aplicacin pueda simular el modelo o o

94

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice B. Manual de usuario. e

Figura B.2: Modelo creado en QSim. creado. Al compilar con xito un modelo se abrir la ventana de Resultados Generales (Figura B.3) e a donde se podrn observar los resultados parciales y nales de la simulacin seleccionada. a o Si se desean ver las grcas parciales de algunos de los resultados obtenidos, en el men de sia u mulacin se encuentran opciones de gracacin como la grca de Tiempo de Espera vs. Tiempo de o o a simulacin o Tamao de la Cola vs. Tiempo de Simulacin (ver Figura B.4). o n o

B.2.

Mdulo de Anlisis Estad o a stico.

En la aplicacin se agreg un mdulo de anlisis estad o o o a stico, el cual permite realizar la simulacin o de un mismo modelo n veces, esto para obtener cierto nivel de conanza segn se desee. En la gura u B.5 se muestra la ventana de anlisis estad a stico en la que se pueden capturar los datos que se deseen para la simulacin del modelo seleccionado. o

B.3.

Inspector de propiedades.

El inspector de propiedades permite la captura de datos para cada entidad del modelo creado, as como para el sistema en general, a continuacin se muestra una imagen de la ventana del inspector o de propiedades y los datos que se pueden capturar, dependiendo la entidad seleccionada.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

95

B.3. Inspector de propiedades.

Figura B.3: Resultados Generales en QSim.

Figura B.4: Grca de resultados en QSim. a

96

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice B. Manual de usuario. e

Figura B.5: Analizador Estad stico de QSim.

Figura B.6: Inspector de Propiedades de QSim.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

97

B.3. Inspector de propiedades.

1. Datos del Sistema: Nombre: Indica el nombre del sistema. Clase de los trabajos: Es la clase calicada de Java que implementa y representa un trabajo para el sistema(deber heredar de la clase mx.ipn.cic.qsim.kernel.Job). a Tipos de prioridad: Son los n tipos de prioridad para cada trabajo a generar. Propiedades de Distribucin: Indica la ruta en la que se encuentra el archivo de proo piedades de Java, en el cual se mapean las distribuciones a usar en el sistema y la clase de Java que implementa dicha distribucin. o Tiempo de simulacin: Es el tiempo total de simulacin, se puede indicar en notacin o o o exponencial. 2. Datos para un Generador de Entradas: Id: Identicador unico de cada generador de entradas. Clase: Es la clase calicada de Java que implementa y representa un generador de entradas para el sistema(deber heredar de la clase mx.ipn.cic.qsim.kernel.InputGenerator). a Distribucin: Es la distribucin de cada trabajo que se genere, indicada por el identicador o o usado en el archivo de propiedades de distribucin. o Tiempo de llegada: Es el tiempo promedio de llegada entre cada trabajo que se genere. Capacidad: Indica la cantidad de trabajos que puede generar. 3. Datos para un Servidor: Id: Identicador unico de cada servidor. Clase: Es la clase calicada de Java que implementa y representa un servidor para el sistema(deber heredar de la clase mx.ipn.cic.qsim.kernel.Server). a Distribucin: Es la distribucin de cada trabajo que se atender, indicada por el identio o a cador usado en el archivo de propiedades de distribucin. o Tiempo de servicio: Es el tiempo promedio de servicio para cada trabajo que ingrese al servidor. Tamao mximo de la cola: Indica el l n a mite de trabajos que se pueden encolar. Deja el sistema: Es un dato booleano que indica si el servidor es terminal en el sistema o no. Clase de la cola: Es la clase calicada de Java que implementa y representa una cola para el servidor(deber implementar la interfaz mx.ipn.cic.qsim.kernel.TimedQueue). a

98

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice B. Manual de usuario. e

Nmero de Servidores: Indica el nmero de servidores de atencin internos, los cuales u u o compartirn la misma cola de espera. a Carga inicial: Indica el nmero de trabajos que tendr inicialmente encolados en el servidor u a seleccionado.

B.4.

Barra de herramientas.

En esta barra se encuentran las tareas ms importantes a realizar dentro del sistema. A continuacin a o se presenta una imagen con la barra de herramientas y la descripcin de cada botn: o o

Figura B.7: Barra de herramientas de QSim.

1. Seleccionar: Esta herramienta permite seleccionar las entidades en el modelo actual. 2. Arrastrar y Dejar: Permite mover fcilmente las entidades. a 3. Generador de entradas: Crea un nuevo generador de entradas. 4. Servidor: Crea un nuevo servidor. 5. Conector: Crea un conector, para lo cual se deber dar click sobre la entidad origen, dejar a presionado el botn, arrastrar el mouse y dejar sobre la entidad destino para generar la o conexin. o 6. Conector en codo: Crea un conector con ngulos rectos segn sea necesario. a u 7. Conector en partes: Crea un conector. La diferencia principal es que para llegar a la entidad destino, se puede dar click donde se desee y en esos puntos se crearan puntos intermedios del conector. 8. Compilar: Compila el modelo seleccionado. 9. Reproducir: Inicia la simulacin del modelo seleccionado. o 10. Paso: Realiza un paso de la simulacin del modelo seleccionado. o 11. Pausa: Detiene la simulacin y la deja lista para continuarla de nuevo al presionar de nuevo o reproducir.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

99

B.5. Mens. u

12. Detener: Detiene por completo la simulacin, reinicializa todos los datos y tiempo de o simulacin. o

B.5.

Mens. u

Dentro de los mens se encuentran las siguientes opciones: u

1. Men de Archivo: u Nuevo. Crea una nueva ventana de desarrollo de un modelo. Abrir. Abre un modelo guardado. Guardar. Guarda un modelo creado. Imprimir. Imprime un modelo generado. Salir. Sale de la aplicacin. o 2. Men de Edicin: u o Seleccionar Todos: Selecciona todas las entidades en la venta de trabajo seleccionada. Cortar: Corta al portapapeles la(s) entidad(es) del modelo seleccionado. Copiar:Copia al portapapeles la(s) entidad(es) del modelo seleccionado. Pegar: Pega del portapapeles la(s) entidad(es) guardad ah . Duplicar: Duplica la(s) entidad(es) seleccionada(s). Borrar: Borra la(s) entidad(es) seleccionada(s). Agrupar: Agrupa las entidades seleccionadas. Desagrupar: Separa las entidades del grupo seleccionado. Enviar al fondo: Env al fondo la(s) entidad(es) seleccionada. a Traer al frente: Trae al frente la(s) entidad(es) seleccionada. Deshacer: Deshace la tarea inmediata realizada. Rehacer: Rehace la tarea inmediata realizada. 3. Men de Simulacin: u o Compilar: Compila el modelo seleccionado.

100

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice B. Manual de usuario. e

Reproducir: Realiza la simulacin del modelo seleccionado. o Paso: Realiza solo un ciclo de simulacin del modelo seleccionado. o Detener: Detiene por completo la simulacin en progreso del modelo seleccionado. o Submen de Estad u sticas: Analizador estad stico: Muestra la ventana del analizador estad stico. Ver tiempo de espera vs.tiempo: Muestra la ventana de gracacin entre tiempo o de espera vs. tiempo de simulacin. o Ver tamao de la cola vs. tiempo: Muestra la ventana de gracacin entre tamao n o n de la cola vs. tiempo de simulacin. o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

101

APENDICE

C
Pruebas.

C.1.

Sistema M | M | 2

Este sistema consta de un generador de trabajos y dos servidores (ver Figura C.1), los cuales tienen la particularidad que consiste en compartir la misma cola, en otras palabras se podr ver como una a entidad de servicio pero que internamente tiene dos entes de servicio internos. As este sistema y el presentado en la seccin 3.3.1 son solo un caso especial del sistema M | M | s, donde s indica el nmero o u de entidades de servicio que comparten una misma cola. A continuacin se presentan los datos con los o que se realizaron las pruebas y sus respectivos resultados.

C.2.

Sistema M | Er | 1

Este sistema est compuesto por un generador de trabajos y una entidad de servicio, la principal a caracter stica es que los tiempos de llegada del generador estn distribuidos conforme a una distribucin a o Markoviana o exponencial, pero los tiempos de servicio estn distribuidos conforme a una distribucin a o de Erlang-r [25]. Los resultados se presentan a continuacin. o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

103

C.2. Sistema M | Er | 1

Figura C.1: Sistema M | M | 2

20 30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20 20

0.5 0.3333 0.25 0.2 0.1667 0.1428 0.125 0.1111 0.1

N 1.3333 0.75 0.5333 0.41667 0.3428 0.2916 0.25397 0.225 0.2020

Nq 0.3333 0.0833 0.0333 0.0166 0.0095 0.0059 0.0039 0.0027 0.0020

Wq 6.6667 2.5 1.3333 0.8333 0.5714 0.4166 0.3174 0.25 0.20202

W 26.667 22.5 21.333 20.833 20.571 20.417 20.317 20.25 20.202

Tabla C.1: Resultados anal ticos para sistema M | M | 2.

104

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice C. Pruebas. e

20 30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20 20

0.4993 0.3326 0.2492 0.1991 0.1658 0.1422 0.1245 0.1107 0.0997

N 1.3302 0.7482 0.5314 0.4149 0.3412 0.2903 0.2530 0.2242 0.2014

Nq 0.3315 0.0829 0.0330 0.0165 0.0094 0.0058 0.0039 0.0027 0.0020

Wq 6.6329 2.4885 1.3230 0.8301 0.5679 0.4111 0.3144 0.2487 0.2017

W 26.6152 22.4580 21.2874 20.7781 20.4983 20.3492 20.2593 20.1985 20.1556

Tabla C.2: Resultados obtenidos con QSim, para sistema M | M | 2.

4.77e4 6.00e4 6.04e4 4..66e4 3.21e4 3.33e4 3.22e4 3.41e4 2.99e4

N 0.0021 0.0027 0.0017 0.0011 8.82e4 7.57e4 6.71e4 7.05e4 6.06e4

Nq 0.3315 0.0829 0.3303 0.0165 0.0094 0.0058 0.0039 0.0027 0.0020

Wq 0.0296 0.0450 .0231 0.0190 0.0202 0.0104 0.0099 0.0091 0.0079

W 0.0477 0.0595 0.0433 0.0412 0.0517 0.0473 0.0269 0.0271 0.0258

Tabla C.3: Intervalos de conanza obtenidos con QSim, para sistema M | M | 2.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

105

C.2. Sistema M | Er | 1

5.99304

N 0.0015

Nq 3.1563e4

Wq 0.0080

W 0.0544

Tabla C.4: Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | M | 2.

Figura C.2: Grca 1/ vs. W , resultados anal a ticos y sobre QSim, para el sistema M | M | 2. 30 40 50 60 70 80 90 100 20 20 20 20 20 20 20 20 0.6666 0.5 0.4 0.3333 0.2857 0.25 0.2222 0.2 N 1.4667 0.8 0.56 0.4333 0.3542 0.3 0.2603 0.23 Nq 0.8 0.3 0.16 0.1 0.0685 0.05 0.0380 0.03 Wq 24.0 12.0 8.0 6.0 4.8 4.0 3.4286 3.0 W 44.0 32.0 28.0 26.0 24.8 24.0 23.429 23.0

Tabla C.5: Resultados anal ticos para sistema M | Er | 1. 106


Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice C. Pruebas. e

30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20

0.6666 0.49967 0.3998 0.3331 0.2852 0.2495 0.2218 0.1994

N 1.4643 0.7994 0.5589 0.4326 0.3536 0.2992 0.2598 0.2292

Nq 0.7977 0.2997 0.1590 0.0995 0.0683 0.0497 0.0379 0.0298

Wq 23.9410 11.9975 7.9566 5.9804 4.7928 3.9872 3.4250 2.9935

W 43.9460 31.9962 27.9603 25.9918 24.8052 23.9971 23.4334 23.0020

Tabla C.6: Resultados obtenidos con QSim, para sistema M | Er | 1. 0.0010 7.4e4 6.20e4 6.26e4 6.46e4 6.12e4 5.66e4 5.24e4 N 0.0100 0.0021 0.0016 7.34e4 8.89e4 9.49e4 7.95e4 6.48e4 Nq 0.0092 0.0015 0.0012 3.15e4 4.12e4 3.50e4 2.38e4 1.46e4 Wq 0.2682 0.0567 0.0604 0.0190 0.0278 0.0234 0.0172 0.0130 W 0.2811 0.7267 0.0680 0.0300 0.0404 0.0510 0.0411 0.0390

Tabla C.7: Intervalos de conanza obtenidos con QSim, para sistema M | Er | 1. 3.0713e4 N 8.9327e4 Nq 5.8123e4 Wq 0.0150 W 0.0193

Tabla C.8: Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | Er | 1.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

107

C.3. Sistema M | G | 1

Figura C.3: Grca 1/ vs. W , resultados anal a ticos y sobre QSim, para el sistema M | Er | 1 .

C.3.

Sistema M | G | 1

Como se mencion en la seccin 3.4 este sistema consiste de un generador de entrada y una entidad o o de servicio, en este caso G indica que los tiempos de servicio estn distribuidos conforme a una funcin a o general, que para el caso de la prueba realizada es sobre un tiempo constante de servicio. A continuacin o se presentan los resultados de esta prueba.

Por ultimo se muestra una comparacin del comportamiento entre los tres sistemas en la Figura o C.5, dnde se observa la grca de los tiempos de llegada (1/) contra el uso del servidor (), este o a tipo de anlisis se puede realizar de manera rpida y sencilla con la solucin de software propuesta en a a o esta tesis, la cul permite identicar que opcin es la ms adecuada conforme al desempeo y dems a o a n a resultados que se esperen del sistema modelado.

108

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice C. Pruebas. e

30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20

0.6666 0.5 0.4 0.3333 0.2857 0.25 0.2222 0.2

N 1.3333 0.75 0.5333 0.4166 0.3428 0.2916 0.2539 0.225

Nq 0.6666 0.25 0.1333 0.08333 0.0571 0.0416 0.0317 0.025

Wq 20.0 10.0 6.6667 5.0 4.0 3.3333 2.8571 2.5

W 40.0 30.0 26.667 25.0 24.0 23.333 22.857 22.5

Tabla C.9: Resultados anal ticos para sistema M | G | 1.

30 40 50 60 70 80 90 100

20 20 20 20 20 20 20 20

0.6671 0.5005 0.4004 0.3338 0.2860 0.2500 0.2222 0.2001

N 1.3358 0.7514 0.5340 0.4174 0.3432 0.2916 0.2539 0.2250

Nq 0.6684 0.2509 0.1336 0.0835 0.0572 0.0415 0.0316 0.0249

Wq 20.0298 10.0254 6.6767 5.0051 4.0254 3.3235 2.8493 2.4911

W 40.0297 30.0254 26.6766 25.0050 24.0024 23.3233 22.8490 22.4909

Tabla C.10: Resultados obtenidos con QSim para sistema M | G | 1.

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

109

C.3. Sistema M | G | 1

0.0011 3.46e4 3.55e4 3.36e4 2.84e4 3.12e4 3.19e4 3.72e4

N 0.0048 4.57e4 8.54e4 8.66e4 5.30e4 5.70e4 6.37e4 6.19e4

Nq 0.0037 3.35e4 6.30e4 5.67e4 2.84e4 3.26e4 3.25e4 2.52e4

Wq 0.0834 0.0156 0.0291 0.0299 0.0171 0.0238 0.0253 0.0208

W 0.0835 0.0156 0.0291 0.0299 0.0171 0.0237 0.0253 0.0208

Tabla C.11: Intervalos de conanza obtenidos con QSim para sistema M | G | 1. 3.5855e4 N 7.5141e4 Nq 4.5070e4 Wq 0.0124 W 0.0124

Tabla C.12: Diferencia entre resultados anal ticos y obtenidos por QSim para el sistema M | G | 1.

Figura C.4: Grca 1/ vs. W , resultados anal a ticos y sobre QSim, para el sistema M | G | 1. 110
Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

Apndice C. Pruebas. e

Figura C.5: Comparacin entre tres sistemas (resultados obtenidos con QSim). o

Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

111

Vous aimerez peut-être aussi