miércoles, 24 de febrero de 2010

Simulación en líneas de espera (colas)

A quien no nos ha pasado que cuando requerimos de un servicio como hacer pagos en el supermercado, el banco, el teléfono, el agua, inscripciones en escuelas, e incluso cuando necesitamos atención telefónica o descargar algún archivo o paquete de un servidor en internet hemos tenido que esperar a recibir el servicio y entonces nos toca ir "a la cola". Una cola es un sistema en el que hay clientes que llegan al sistema mediante un proceso de llegadas, esperan un tiempo en el sistema hasta recibir el servicio requerido, son atendidos por un servidor y finalmente salen del sistema.

¿ Porque es importante estudiar colas ?


Si una empresa necesita poner un nuevo centro de servicio en un lugar especifico, es importante que se tomen las decisiones correctas en cuanto al número de servidores que se instalaran, el espacio que ocuparán, el número promedio de clientes que recibirá, el tamaño limite del sistema, los tiempos de servicio, etc. Si no se hace un análisis previo del comportamiento de estos sistemas pueden ocurrir problemas relacionados con perdida de clientes, demasiados tiempos de espera, muchos servidores desocupados, etc. Un ejemplo particular es el estimulo 1 mostrado en la clase de simulación de sistemas.

¿Qué es teoría de colas?

La teoría de colas es un conjunto de modelos matemáticos que surgen para describir estos sistemas en sus distintas variantes. Si bien la teoría de colas no proporciona una solución directa al problema si contribuye con información vital que se requiere para tomar decisiones importantes concernientes con el desarrollo del sistema. Un modelo típico cumple con los siguientes aspectos:
  • Existe por lo menos una cola de clientes
  • Se establecen el o los procesos de llegadas de los clientes.
  • Se establecen el orden en que son atendidos los clientes.
  • Se define el número de servidores de que dispone el sistema para prestar el servicio.
  • Se definen la distribución de tiempos de servicio de cada servidor (podrían cambiar dependiendo del servidor.)
Procesos de llegadas En los modelos es típico que los tiempos entre llegadas son independientes e idénticamente distribuidos, sin embargo en la vida real esto casi nunca es así ya que la tasa de llegadas típicamente varia con el paso del tiempo. En ejemplo claro es que en un banco el número promedio de clientes que llegan durante el medio día es mayor que el de los que llegan por la mañana o por  la tarde. El tipo de proceso más común de encontrar en los modelos es el llamado proceso de Poisson. Este se caracteriza porque los tiempos entre llegadas siguen la distribución exponencial. Notación para describir una cola
La notación que se usa para identificar una cola es la siguiente: L/S/m/n Donde :
  • L es el proceso de llegadas
  • S es el proceso de servicio
  • m es el número de servidores
  • n es el límite de largo de cola (omitido si es el largo es infinito)
Tipos de colas

Seguramente hemos observado que existen diferentes tipos de colas.
  • En la mayoría de los casos en una cola en la vida real la cola tiene la característica que el servicio se presta en el orden en que los clientes llegaron a la cola, este tipo de cola es denomina FIFO por sus siglas en ingles (first in first out).
  • Existe también el llamado LIFO (last in first out), en este tipo de cola el ultimo en llegar es el primero en ser atendido. Existe un tipo de dato abstracto asociado al principio LIFO y es la pila.
  • PS el servidor atiende por igual a todos los clientes de la fila dedicando una pequeña parte de su tiempo a cada cliente.
  • Por prioridad los clientes con mayor prioridad son los que se atienden primero, una ejemplo típico es una cola en la sala de urgencias, si llega una persona muy grave es la que se atiende primero.
En la vida real existen muchas variantes, por ejemplo todos sabemos que en muchas ocasiones hay personas que se meten en las filas. Servidores y tiempos de servicio Para dar servicio a las clientes que se encuentran en la cola puede haber uno o varios servidores. Además también se presentan los casos en que varias colas comparten servidores o los clientes salen de una cola para pasar a otra cola y en este caso se forman las llamadas redes de colas. Cada servidor tiene tiempos de servicio idénticamente distribuidos y con tiempo de atención promedio finito.
Medidas de interés
Cuando el largo es infinito.
  • Largo de cola
  • Tiempo de espera
  • Número promedio de clientes en el sistema
Cuando el largo es finito implica que si un cliente llega al sistema, este no podrá entrar a la cola y se dice que es rechazado por el sistema. A este tipo de sistemas se les denomina sistemas de rechazo. En estos casos las medidas de interés son:
  • Largo de cola.
  • Tiempo de espera.
  • Probabilidad de rechazo.
  • Número promedio de clientes en el sistema.
  • Número de clientes rechazados por el sistema.

Aplicaciones de la teoría de colas

  1. Investigación agropecuaria: 12
  2. Telefonía
  3. Economía aplicada: 1 .
  4. Producción industrial: 1 .

¿ Cuando es necesario simular colas ?

La teoría de colas sigue en desarrollo y en estos momentos existen muchos resultados para diferentes tipos de colas. Sin embargo, existen sistemas de colas tan complejos que no hay aún resultados establecidos que nos digan como es el comportamiento del sistema. La teoría si bien nos proporciona información general, también es muy restrictiva. En un banco por ejemplo el número de clientes por hora cambia en el transcurso del día, el número de clientes por día cambia en el transcurso de la semana. Es decir, suelen presentarse ciclos ya sea en días, semanas, quincenas. También hay ocasiones en el que queremos estudiar como es el comportamiento de una red de colas. Cuando no tenemos resultados sobre el tipo de cola o sistema de colas que estemos estudiando y cuando queramos verificar resultados, en esos casos es necesario realizar simulaciones.

Simulando una cola

A continuación se presentan algunos resultados de una simulación de una cola realizada durante el curso de procesos estocásticos. Se simula una cola M/M/1 de tal manera se toman como parámetros a λ, μ y la duración total de la simulación t, donde λ es la tasa de llegada de los clientes, μ es la tasa de atención del servidor. Definimos evento como la ocurrencia de una llegada o la conclusión de un servicio en el sistema. En cada una de las siguientes figuras se muestran tres ejecuciones típicas de la simulación . La primera con parámetros λ= 4, μ=6, servidores=1 y la segunda con parámetros λ= 25, μ=5, servidores=1.




En seguida se simula una cola M/M/n/k donde recibes como parámetros a λ, μ, n y k. Para un tiempo mucho mayor de estudio se encontró que solo hay convergencia o estabilidad en el numero promedio de clientes en la cola cuando λ>μ en otro caso. La siguiente figura muestra tres ejecuciones de la simulación así como la línea o valor al que converge el número promedio de clientes en la cola con valores en los parámetros λ= 4, μ=16 y 1 servidor. Las líneas roja,verde y azul son las correspondientes a las simulaciones y la línea rosa es el valor al que convergen. Se encontró que el valor al que convergen es el mismo que el obtenido en teoría de colas.




En la simulación se pudo observar que dado que el tamaño de la cola es finito, siempre se tiene convergencia en el tamaño promedio de la cola. La siguiente figura muestra tres ejecuciones de la simulación y se observa la convergencia en los 3 casos.

No hay comentarios:

Publicar un comentario