Teoría de colas

En este artículo

¿Qué son las colas y qué es la teoría de colas?
Las colas son modelos de sistemas reales que pueden representar a clientes, maquinaria, sistemas logísticos, o flujos de trabajo donde se espera que estas reciban un servicio y salgan del mismo una vez se ha recibido.

Representan una línea de estudio matemático importante dentro de las operaciones, así como en los sistemas.
En la vida real, al no haber una sincronía absoluta (es imposible que exista) o espera quien presta el servicio o espera quien lo va a recibir.
Se produce siempre una espera, puesto que la sincronía absoluta no existe.
La espera es habitual en muchísimos casos ordinarios y cada uno tiene unas características que lo definen.
El origen está en la telefonía: el ingeniero danés Agner Krarup Erlang publicó en 1909 el primer trabajo sobre cuántas líneas hacían falta para atender las llamadas sin esperas excesivas. De ahí vienen las fórmulas de Erlang que se siguen usando hoy para dimensionar call centers.
Encontramos reflejada la teoría de colas en los procesos de las fábricas, en la cola del banco, en cualquier transporte público, en la cola del supermercado. Se estudia mucho para los diseños de Call center. En servidores de internet o incluso en nuestra bandeja de entrada de correo.
Este resumen está realizado a partir de notas para el estudio de una asignatura sobre teoría de colas. Si quieres ver un ejemplo de cálculo, al final del mismo lo incluyo. Por supuesto, se acepta toda matización o apreciación al mismo, y me gustaría citar una fuente de estudio, quizás la mejor que existe en castellano para dicha materia, como son los apuntes «Aplicando Teoría de Colas en Dirección de Operaciones» de José Pedro García Sabater (DOE, UPV).
Elementos de las colas
Veremos la población, la entrada, la cola, el servicio y la salida.
Población
La población en una cola es quien quiere hacer uso del servicio en el sistema. Puede ser finita o infinita. Y puede haber varios tipos o un solo tipo de población (clientes).
Entrada
O arrival, esta vendría caracterizada por la tasa de entrada, la distribución entre entradas y si tiene lotes o no.
– La tasa de entrada: la definimos como el número de clientes que llegan de media por unidad de tiempo.
– Distribución entre entradas consecutivas.
– ¿Tiene Lotes? SÍ / NO.
Ejemplo de lotes: Si un barco descarga todos los elementos en un puerto concreto, sería un lote de contenedores.
Cola (Queue)
Es el elemento donde se espera en función de que los servidores tengan capacidad para atender. Las podemos clasificar en cola única o múltiple, por tipo de disciplina: FIFO, LIFO, RSS, Priority, WFQ, así como por la tasa de abandono.
- Cola Única / Cola múltiple. Esto define la configuración de la cola, pueden ser varias colas en paralelo u otros sistemas donde una única cola puede alimentar a varios servidores. Por ejemplo podemos tener varias colas para coches, alguna para vehículos pesados, otra para motos.

FIFO: First-In First-Out
Primero en entrar, primero en salir: En esta disciplina atendemos por orden de llegada. En una cola simple FIFO, los «paquetes» que llegan deben ponerse al final y esperar su turno para ser procesados, la forma de vaciado es coger el paquete que hace más tiempo que se encuentra en la cola. Todos los paquetes tienen el mismo tratamiento y por ende, no se puede garantizar servicios adicionales como calidad de servicio en ciertos paquetes.
LIFO: Last-In First-Out
Las LIFO, también conocidas como Pilas (o Stack) es una disciplina de cola donde el último en entrar es el primero en salir.
Atendemos primero el último cliente. En una cola LIFO, la forma de vaciado será coger el paquete último en entrar. Es parecido a una pila, donde vamos apilando elementos y cuando hay que vaciar cogemos el último que hemos apilado.
Colas Random (RSS)
También conocidas como RSS (Random Selection for Service) o SIRO (Service In Random Order), este tipo de nomenclatura se usa cuando la disciplina usa una selección aleatoria.
Colas Priority
La nomenclatura de colas Priority se usa cuando existe una prioridad dentro de la cola.
Dentro de prioridad, podemos tener con o sin interrupción, según si llega un cliente con prioridad se interrumpe el trabajo en curso o no.
En este tipo de colas los paquetes que llegan se clasifican por clases de prioridad.
Esta clase de prioridad debe estar marcada de alguna forma. Cada clase de prioridad tendría su cola virtual independiente. Cuando toque procesar un paquete se elegirá el paquete de la clase más alta de una cola no vacía. Cada cola trabajará a partir del criterio FIFO para elegir el paquete a procesar.
También se pueden hacer disciplinas más complejas, puesto que dentro de cada prioridad se pueden aplicar a su vez disciplinas random, LIFO, o FIFO. Otro tipo de disciplina son las colas WFQ.
Colas WFQ
WFQ (Weighted Fair Queueing) es la disciplina donde los paquetes se clasifican en clases y se colocan en su cola correspondiente. Se va dando servicio a cada clase de forma circular, de forma parecida a un algoritmo Round Robin, pero repartiendo la capacidad según el peso asignado a cada clase.
El sistema WFQ reparte la capacidad según los pesos (W) configurados para cada clase, sin dejar de atender a las colas con menos peso. Este sistema permite procesar distintas necesidades sin dejar a ninguna clase sin servicio.
Tasa de abandono
Tenemos que tener en cuenta que en algunos sistemas también puede haber clientes que abandonan la cola. Deberemos modelizar correctamente dicha tasa de abandono.
Servicio (s)
Distribución del tiempo de atención. Media y desviación típica.
Tipos de clientes.
Procesa por lotes o no en su gestión.
Salida (d)
Representa el flujo de salida del sistema.
Diseño y dimensionamiento del sistema
Al diseñar el sistema hay que dimensionarlo bien y decidir los recursos que vamos a invertir, como el número de servidores, la disciplina o la capacidad.
Para acertar en ese dimensionamiento deberemos estudiar la disponibilidad de recursos que tenemos así como qué calidad de servicio (y por tanto coste derivado) estamos dispuestos a dar en el sistema.
Deberemos tener en cuenta para conocer el rendimiento del sistema, que puede ser que existan servidores esperando sin ser utilizados, o que si tenemos el sistema lleno podemos perder clientes y que habrá un tiempo de espera que puede superar cierto requisito del cliente.
Teorema de Little

L = λ · W
El tiempo medio de estancia en el sistema (representado por W), multiplicado por la tasa de entrada del sistema (λ) es igual al número medio de clientes en el sistema (representado por L).
Este teorema se aplica para la cola, o para un sistema de colas. Lo demostró John D. C. Little en 1961 y sirve para cualquier distribución de llegadas y de servicio, siempre que el sistema sea estable. Aplicado solo a la cola queda Lq = λ · Wq.
Nivel de saturación ρ = λ / μ con un servidor, y ρ = λ / (c · μ) con c servidores, donde μ es la tasa de servicio de cada servidor.
Libros recomendados:
Factory Physics (Hopp y Spearman)
Manufacturing Systems Modeling and Analysis (Curry y Feldman)
Sistemas de colas simples
La notación de Kendall nos permite escribir las características de los sistemas de colas con el formato A/B/c/K/N/D:
| Posición | Significado | Valores habituales |
|---|---|---|
| A | Distribución entre llegadas | M (exponencial, llegadas de Poisson), D (determinista), G (general) |
| B | Distribución del tiempo de servicio | M, D, G, Ek (Erlang) |
| c | Número de servidores en paralelo | 1, 2, … c |
| K | Capacidad máxima del sistema (cola más servicio) | ∞ si se omite |
| N | Tamaño de la población | ∞ si se omite |
| D | Disciplina de la cola | FIFO si se omite |
David G. Kendall propuso los tres primeros símbolos; los otros tres se añadieron después. Cuando solo se escriben tres, se entiende que la capacidad y la población son infinitas y la disciplina es FIFO.
M/M/1 equivale a M/M/1/∞/∞/FIFO
Es decir, sería una cola de una única etapa sin límite de capacidad.
Una población infinita trata de acceder a un servicio ofrecido por un único servidor.
La entrada sigue una distribución de Poisson de media λ.
El tiempo de servicio sigue una distribución exponencial de media 1/μ.
La saturación del sistema es ρ = λ / μ, y el número medio de clientes en el sistema es L = ρ / (1 − ρ).
W = L / λ = 1 / (μ − λ)
El tiempo que cada cliente de promedio está en el sistema.
Por tanto podemos saber cuánto tiempo estarán en la cola, que será igual al tiempo que estarán en el sistema menos el tiempo en el que serán atendidos.
Wq = W − 1/μ = ρ / (μ − λ)
El tiempo de estancia en cola.
Aplicando la fórmula de Little, el tamaño medio de la cola es:
Lq = λ · Wq = λ² / (μ (μ − λ)) = ρ² / (1 − ρ)
M/M/1 tiene un servidor
M/M/c tiene c servidores.
La saturación del sistema será ρ = λ / (c · μ), y debe ser menor que 1 para que sea estable.
Llamando a = λ / μ a la carga ofrecida (el número medio de servidores ocupados), las fórmulas del M/M/c son:
P0 = [ Σ (de n = 0 a c − 1) aⁿ / n! + aᶜ / (c! · (1 − ρ)) ]⁻¹
La probabilidad de que el sistema esté vacío.
C(c, a) = aᶜ / (c! · (1 − ρ)) · P0
La fórmula de Erlang C: probabilidad de que un cliente que llega tenga que esperar.
Lq = C(c, a) · ρ / (1 − ρ)
Wq = Lq / λ
W = Wq + 1/μ
L = λ · W = Lq + a
Con c = 1 estas fórmulas se reducen a las del M/M/1.
Por último a nivel práctico podemos comentar que existe un problema en los sistemas reales cuando el uso se acerca al 90% de capacidad: entonces empiezan los problemas de calidad de servicio, porque los tiempos de espera crecen muy rápido.
Ejemplo práctico de teoría de colas: centro de reparación Apple Store

El servicio técnico de la tienda Apple Store debe hacer todos los cambios de batería del iPhone, aunque en algunos casos, por política de empresa, deben cambiar también la pantalla.
El tiempo de reparación está distribuido de forma exponencial con una media de 30 minutos por teléfono entre abrir, cambiar la batería, cerrar y comprobar.
A pesar de que hay cita previa, nadie llega exactamente a la hora y los clientes con su teléfono van llegando durante todo el día.
Asumiremos por facilidad, que ese día no sacan ningún teléfono nuevo, y los clientes llegan de forma más o menos escalonada. Para reparaciones: Llegan de media 10 al día en las 8 horas que está abierta la tienda.
Queremos conocer cuál es la capacidad de reparación y cuánto tiempo está el servicio técnico sin reparar teléfonos.
La tasa de llegada de teléfonos (λ) es de 10/8 = 1,25 teléfonos a la hora.
La tasa de reparación (μ) es de 2 teléfonos a la hora.
ρ = λ / μ = 1,25 / 2 = 0,625
P0 = 1 − λ / μ = 1 − 5/8 = 3/8 = 0,375
La capacidad de reparación es de 2 teléfonos a la hora, 16 en una jornada de 8 horas, frente a los 10 que llegan. El servicio técnico está ocupado el 62,5 % del tiempo y está inactivo 3 de cada 8 horas.
¿De media cuántos teléfonos hay por reparar?
L = ρ / (1 − ρ) = 0,625 / 0,375 ≈ 1,67 teléfonos en el sistema
Lq = ρ² / (1 − ρ) ≈ 1,04 teléfonos esperando en cola
¿Cuál es el tiempo medio total que un usuario con su teléfono está en la Apple Store para una reparación?
W = 1 / (μ − λ) = 1 / 0,75 ≈ 1,33 horas, es decir, 80 minutos.
Wq = ρ / (μ − λ) = 0,625 / 0,75 ≈ 0,83 horas, es decir, 50 minutos de espera antes de que empiece la reparación.
Se puede comprobar con la fórmula de Little: L = λ · W = 1,25 · 1,33 ≈ 1,67.
Ampliación: dos técnicos (M/M/2)
Supongamos que la demanda sube a 3 teléfonos a la hora (24 en la jornada). Con un solo técnico ρ = 3 / 2 = 1,5: llegan más teléfonos de los que se pueden reparar y la cola crece sin límite. Ponemos un segundo técnico con el mismo ritmo de trabajo.
λ = 3 teléfonos/hora, μ = 2 teléfonos/hora por técnico, c = 2
a = λ / μ = 1,5
ρ = λ / (c · μ) = 3 / 4 = 0,75
P0 = [1 + 1,5 + 1,5² / (2! · 0,25)]⁻¹ = [2,5 + 4,5]⁻¹ = 1/7 ≈ 0,143
C(2; 1,5) = 4,5 · 1/7 ≈ 0,643: el 64 % de los clientes tendrá que esperar.
Lq = 0,643 · 0,75 / 0,25 ≈ 1,93 teléfonos esperando en cola
Wq = Lq / λ = 1,93 / 3 ≈ 0,64 horas, unos 39 minutos
W = Wq + 1/μ ≈ 0,64 + 0,5 = 1,14 horas, unos 69 minutos
L = λ · W ≈ 3 · 1,14 ≈ 3,43 teléfonos en el sistema (comprobación: Lq + a = 1,93 + 1,5 = 3,43)
Cada técnico está ocupado el 75 % del tiempo.
Todos estos resultados suponen que el sistema está en régimen estacionario, es decir, que funciona el tiempo suficiente con las mismas tasas de llegada y de servicio.
Agradecimientos
Me gustaría agradecer públicamente:
Al Catedrático Antonio Rufián de la Universidad de Sevilla, por su tiempo, valoración, revisión y sus ánimos para extender el artículo.
Al Catedrático de la Universidad de Málaga Ezequiel López, por su revisión y sugerencias.
A mi tutor de la UOC Eduard García, por su revisión y recomendaciones.
Datos de la ley de Little, los modelos M/M/1 y M/M/c (Erlang C) y los apuntes de teoría de colas de la UPV, la Universidad de Oviedo y la UC3M, revisados el 1 de noviembre de 2026. Cálculos de los ejemplos verificados.