Sistemas de colas: clase 1 Amedeo R. Odoni 10 de octubre de 2001 Temas de teoría de colas 9. Introducción a las colas: ley de Little; M/M/1 10. Colas de nacimiento y muerte de Markov 11. Cola M/G/1 y extensiones 12. Colas de prioridad: representaciones de estados 13. Precio de congestión 14. Comportamiento dinámico de las colas 15. Sistema de colas hipercubo 16. Motor de inferencia de colas: psicología de las colas Esquema • Introducción a los sistemas de colas • Representación conceptual de • • • • • • • los sistemas de colas Códigos para modelos de colas Terminología y notación Ley de Little y relaciones básicas Procesos de nacimiento y muerte Sistema de colas M/M/1 Diagramas de transición Probabilidades de estado estacionario Colas • La teoría de colas es la rama de la investigación operativa que estudia las listas de espera (retardo/congestión) • Un sistema de colas está formado por un origen de usuario, una cola de espera y posibilidades de servicio con uno o varios servidores paralelos idénticos • La red de colas es un conjunto de sistemas de colas conectados entre sí • Parámetros básicos de un sistema de colas: Tasa de demanda Capacidad (tasa de servicio) Tiempos de demanda entre llegadas/Tiempos de servicio Capacidad y disciplina de la cola (finita/infinita; FIFO/FCFS, SIRO, LIFO, prioridades) Numerosos detalles (retroalimentación, “jockeying”, etc.) Sistema de colas genérico Servidores C Punto de llegada al sistema Origen de usuarios/ clientes C Punto de salida del sistema C Cola C C C C C C C C C C Proceso de llegadas Tamaño de origen de usuario Disciplina de cola y capacidad Proceso de servicio Número de servidores Red de colas formada por cinco sistemas de colas Sistema de colas 2 Llegada Sistema de colas 1 Punto de elección de de los usuarios Sistema de colas 3 Punto en el que los usuarios se fusionan Sistema de colas 4 + Sistema de colas 5 Salida Aplicaciones de la teoría de colas • Algunos ejemplos de colas: _ Facturación en aeropuertos _ Cajeros automáticos _ Restaurantes de comida rápida _ Esperas en líneas de atención telefónica _ Intersecciones de tráfico _ Peajes _ Aviones en espera para aterrizar _ Llamadas a la policía o a compañías de servicios públicos • Estándares de calidad del servicio (LOS) • Análisis económicos que incluyan comparaciones entre costes de explotación, inversiones de capital y LOS Importancia de los modelos de colas en los análisis de inversiones de capital Coste Coste total Coste óptimo Coste de crear la capacidad Coste de pérdidas por esperas Capacidad“óptima” Capacidad del aeropuerto Ventajas e inconvenientes de la teoría de colas • Los modelos de colas implican siempre aproximaciones a la realidad y una simplificación de ésta • Los resultados permiten apreciar el orden de importancia, los cambios con relación a un punto de referencia y las tendencias más probables • Resultados "cerrados" limitados casi siempre a situaciones de“estado estacionario" y obtenidos sobre todo (aunque no exclusivamente) para su aplicación a sistemas de nacimiento y muerte y de “fase” • Proporciona algunas cotas útiles para sistemas más generales en estado estacionario • Cada vez hay más soluciones numéricas disponibles para sistemas dinámicos P Código para modelos de colas: A/B/m Distribución del tiempo de servicio Sistema de colas Número de servidores –/–/– Distribución del tiempo entre llegadas Usuarios C C CCCCCC C C Cola S S S S Posibilidad de servicio • Algunos códigos de letras estándar para A y B: _ M: Exponencial negativa _ D: Determinista _ Ek:Distribución de Erlang en orden k _ G: Distribución general • Modelo tratado en esta clase: M/M/1 Terminología y notación • Estado del sistema: número de usuarios • • • • • que hay en el sistema Longitud de la cola : número de usuarios en espera de servicio N(t) = número de usuarios en el sistema en un tiempo t Pn(t) = probabilidad de que N(t) sea igual a n λn: tasa media de llegada de nuevos usuarios cuando N(t) = n µn: tasa de servicio media (combinada) cuando N(t) = n Terminologia y notación (2) • Estado transitorio : el estado del sistema en t • • • • • depende del estado en t = 0 o en t Estado estacionario : el sistema es independiente del estado inicial y de t m: número de servidores (canales de servicio paralelos) Si λ n y la tasa de servicio por servidor ocupado son constantes, λ n=λ, µn= min (nµ, mµ) Tiempo previsto entre llegadas= 1/λ Tiempo de servicio previsto= 1/µ Algunos valores previstos importantes en estado estacionario • Datos: _ _ λ = tasa de llegadas µ = tasa de servicio por canal de servicio • Incógnitas: L = número previsto de usuarios en el sistema _ Lq = número previsto de usuarios en cola de espera _ W = tiempo previsto de permanencia en el sistema por usuario (W = E(w)) _ W q = tiempo previsto de espera en cola por usuario (W q = E(wq)) • 4 incógnitas ⇒ Necesitamos 4 ecuaciones _ Ley de Little Número de usuarios A(t): llegadas acumuladas al sistema C(t): servicios completos acumulados en el sistema A(t) N(t) C(t) t T LT ∫ = 0 N (t )dt T T T A(T ) ∫0 N (t )dt = ⋅ = λT ⋅ WT T A(T ) Tiempo Correlaciones entre L, L q, W, Wq • 4 incógnitas: L, W, L q,Wq • Necesitamos 4 ecuaciones y tenemos 3: _ _ L = λW (Ley de Little) Lq = λWq 1 _ W = Wq + µ • Conociendo cualquiera de los 4 valores previstos, podremos hallar los otros 3 • Hallar el valor de L será más o menos difícil dependiendo del tipo de sistema de colas disponible ∞ • L = ∑ nPn ( Pn : probabilidad de que haya n clientes en el sistema) n =0 Sistemas de colas de nacimiento y muerte 1. 2. 3. 4. 5. m paralelo, servidores idénticos. Colas de capacidad infinita. Cuando hay n usuarios en el sistema (en cola y en servicio), las llegadas son según Poisson a una tasa λ n por unidad de tiempo. Cuando hay n usuarios en el sistema, las salidas son según Poisson a una tasa de µ n por unidad de tiempo. Disciplina FCFS. ii M/M/1: Vista de diagrama de transición entre estados desde dos puntos • Desde el punto 1: ?P0 = µP1 (λ + µ ) P1 = λP0 + µP2 λ λ 0 • λ λ … 2 1 n-1 λ λ λ µ µ µ µ (λ + µ ) Pn = λPn−1 + µPn+1 n+1 n µ µ µ Desde el punto 2: λ λ 0 λ µ λ … 2 1 µ λPn = µPn+1 λP1 = µP2 ?P0 = µP1 µ n-1 µ n+1 n µ λ λ λ µ µ M/M/1: Derivación de P0 y Pn 2 P1 = Paso 1: Paso 2: Paso 3: Paso 4: n λ λ λ P0 , P2 = P0 , L, Pn = P0 µ µ µ n λ P = 1 , ⇒ P ∑ n 0 ∑ µ = 1 ⇒ P0 = n= 0 n= 0 ∞ ∞ 1 λ ∑ n =0 µ ∞ n n ∞ λ λ 1− ρ ∞ 1 n ρ = , luego ∑ = ∑ ρ = = (Q ρ < 1) µ µ 1 − ρ 1 − ρ n= 0 n= 0 ∞ P0 = 1 ∞ n ρ ∑ n= 0 = 1− ρ y Pn = ρ n (1 − ρ ) M/M/1: Derivación de L, W,Wq, y Lq ∞ ∞ n= 0 n =0 ∞ ∞ • L = ∑ nPn =∑ nρ (1 − ρ ) = (1 − ρ )∑ nρ = (1 − ρ ) ρ ∑ nρ n−1 n n= 0 n n =1 d ∞ n d 1 = (1 − ρ ) ρ ∑ ρ = (1 − ρ ) ρ dρ n =0 dρ 1 − ρ λ 1 ρ λ µ = (1 − ρ ) ρ = = = 2 (1 − ρ ) (1 − ρ ) 1 − λ µ µ − λ L λ 1 1 • W= = ⋅ = λ µ −λ λ µ −λ • Wq = W − 1 1 1 λ = − = µ µ − λ µ µ (µ − λ ) λ λ2 • Lq = λ Wq = λ ⋅ = µ (µ − λ ) µ ( µ − λ )