# Parámetro de la distribución (media de llegadas por hora)
lambda <- 5  

# a. Generar 5000 valores aleatorios de una Poisson(5)
set.seed(123)  # Semilla para reproducibilidad
solicitudes <- rpois(5000, lambda)

# Mostrar los primeros 10 valores
head(solicitudes, 10)
##  [1] 4 7 4 8 9 2 5 8 5 5
# b. Interpretación:
# Estos valores representan el número de solicitudes que llegan en una hora.
# Como la media es 5, los resultados estarán alrededor de ese valor.

# c. Gráfico de barras de las frecuencias
tabla_frec <- table(solicitudes)
barplot(tabla_frec, 
        main = "Frecuencia de solicitudes por hora",
        xlab = "Número de solicitudes",
        ylab = "Frecuencia",
        col = "skyblue")

# d. Probabilidad empírica de que lleguen menos de 3 solicitudes
prob_menor3 <- mean(solicitudes < 3)
prob_menor3
## [1] 0.1248
# Parámetro de la distribución exponencial
media <- 12
lambda <- 1 / media  # tasa = 1/12

# a. Generar 5000 tiempos entre llegadas
set.seed(123)
tiempos <- rexp(5000, rate = lambda)

# Mostrar los primeros 10 valores
head(tiempos, 10)
##  [1] 10.1214871  6.9193233 15.9486584  0.3789283  0.6745317  3.7980146
##  [7]  3.7707275  1.7432016 32.7148376  0.3498414
# b. Histograma
hist(tiempos, 
     breaks = 50,         # número de intervalos
     main = "Histograma de tiempos entre llegadas",
     xlab = "Tiempo (minutos)",
     ylab = "Frecuencia",
     col = "lightgreen",
     border = "white")

# Parámetros de la distribución normal
media <- 30
desv <- 5

# a. Simular 5000 atenciones
set.seed(123)
atenciones <- rnorm(5000, mean = media, sd = desv)

# Mostrar los primeros 10 valores
head(atenciones, 10)
##  [1] 27.19762 28.84911 37.79354 30.35254 30.64644 38.57532 32.30458 23.67469
##  [9] 26.56574 27.77169
# b. Histograma con curva normal teórica
hist(atenciones, 
     breaks = 40, 
     probability = TRUE,   # para que el histograma sea densidad
     main = "Duración de atenciones con curva normal",
     xlab = "Tiempo (minutos)",
     col = "lightblue",
     border = "white")

# Agregar la curva normal teórica
x <- seq(min(atenciones), max(atenciones), length = 100)
y <- dnorm(x, mean = media, sd = desv)
lines(x, y, col = "red", lwd = 2)

# c. Proporción de atenciones que superan los 35 minutos
prop_supera35 <- mean(atenciones > 35)
prop_supera35
## [1] 0.1562
# Parámetros de la binomial
n <- 10       # número de tickets por hora
p <- 0.2      # probabilidad de escalamiento

# a. Simular 1000 horas de operación
set.seed(123)
escalados <- rbinom(1000, size = n, prob = p)

# Mostrar los primeros 10 resultados
head(escalados, 10)
##  [1] 1 3 2 4 4 0 2 4 2 2
# b. Contar cuántos tickets son escalados en total
total_escalados <- sum(escalados)
total_escalados
## [1] 1986
# c. Gráfico de barras de la frecuencia de tickets escalados por hora
tabla_frec <- table(escalados)
barplot(tabla_frec,
        main = "Distribución de tickets escalados por hora",
        xlab = "Tickets escalados en una hora",
        ylab = "Frecuencia",
        col = "orange")

Aporte de cada distribución en la simulación del sistema de colas

En la simulación de un sistema de colas, cada distribución de probabilidad aporta una representación realista de los distintos componentes del proceso. A continuación, se describe el rol de cada una:

Distribución de Poisson (Llegadas de solicitudes): modela el número de solicitudes que llegan en una unidad de tiempo (por ejemplo, por hora). Representa la naturaleza aleatoria de la demanda: algunas horas llegan más solicitudes y en otras menos. Se utiliza en sistemas con llegadas independientes como call centers, telecomunicaciones y mesas de soporte.

Distribución Exponencial (Tiempos entre llegadas): modela el tiempo que transcurre entre la llegada de una solicitud y la siguiente. Introduce variabilidad en el ritmo de llegada: a veces llegan solicitudes casi de inmediato y otras veces después de intervalos largos. Su propiedad clave es la falta de memoria, lo que significa que el tiempo hasta la próxima llegada es independiente del ya transcurrido.

Distribución Normal (Duración de la atención): modela el tiempo que tarda un ingeniero en resolver un ticket. Aporta realismo al servicio, ya que no todos los tickets tardan lo mismo: algunos requieren menos tiempo y otros más que el promedio. En este caso, la media es de 30 minutos con una desviación estándar de 5 minutos.

Distribución Binomial (Tickets escalados a segundo nivel): modela, de un conjunto de tickets recibidos (por ejemplo, 10 en una hora), cuántos requieren ser escalados a un nivel superior. Representa la probabilidad de que un ticket sea más complejo de lo habitual. Permite estimar la carga de trabajo adicional en niveles superiores.

En conjunto, estas distribuciones hacen la simulación más realista:
- La Poisson y la Exponencial representan la demanda (cómo llegan los tickets).
- La Normal representa el tiempo de servicio (duración de la atención).
- La Binomial modela la complejidad (proporción de tickets escalados).