##1. Llegadas de solicitudes
#Suponga que, en promedio, llegan 5 solicitudes por hora al sistema.
# 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 = "red")
# d. Probabilidad empírica de que lleguen menos de 3 solicitudes
prob_menor3 <- mean(solicitudes < 3)
prob_menor3
## [1] 0.1248
#2. Tiempos entre llegadas
#El tiempo entre llegadas de solicitudes sigue una distribución Exponencial con media 12 minutos.
# 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 = "gold",
border = "white")
#3. Duración de la atención
#Cada ingeniero tarda en promedio 30 minutos en resolver un ticket, con una desviación estándar de 5 minutos
# 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 = "red",
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 = "orange", lwd = 2)
# c. Proporción de atenciones que superan los 35 minutos
prop_supera35 <- mean(atenciones > 35)
prop_supera35
## [1] 0.1562
#4. Tickets escalados a segundo nivel
#Un 20% de los tickets requieren ser escalados a un nivel superior.
#Suponga que en una hora se reciben 10 tickets.
# Parámetros de la binomial
n <- 10 # 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 = "blue")
En conjunto, estas distribuciones permiten simular el comportamiento de un sistema de colas, aportando una visión realista sobre la llegada de solicitudes, los tiempos de espera, la duración de la atención y la necesidad de escalar tickets.