B041246

download B041246

of 133

Transcript of B041246

INSTITUTO POLITCNICO NACIONAL

CENTRO DE INVESTIGACIN EN COMPUTACIN

Ambiente Visual de Simulacin y Anlisis de Redes de ColasT E S I SQUE PARA OBTENER EL GRADO DE

MAESTRO EN CIENCIAS DE LA COMPUTACINPRESENTA

ING. JUAN MANUEL HORTA MENDOZA

DIRECTOR DE TESIS

M. EN C. JOS GIOVANNI GUZMN LUGOCODIRECTOR DE TESIS

M. EN C. ROLANDO MENCHACA MNDEZ

MXICO D.F.

MAYO 2007

INSTITUTO POLITECNICO NACIONALSECRETARA 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 [email protected]___. Si el permiso se otorga, el usuario deber dar el agradecimiento correspondiente y citar la fuente del mismo.

Juan Manuel Horta MendozaNombre 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

v

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.

V

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

X

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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 108Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o aXI

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. . 106Ambiente 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

1Introduccin. 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.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.

2

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

3

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.

4

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. oEvaluacin 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

5

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.

6

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

7

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

8

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. o1

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

9

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

2Procesos 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 mn (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 0Ambiente 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

3Sistemas de colas.

3.1.3.1.1.

Introduccin a la teor de colas. o aTeor 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.

P

(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

X

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

X

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

n=0

!1

=

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

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 0Ambiente Visual de Simulacin y Anlisis de Redes de Colas. o a

P

(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 1n=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 transmisi