# Reproducibilidad
set.seed(1234)

Contexto

En un centro de soporte técnico llegan solicitudes de usuarios para ser atendidas por ingenieros. Se modelan llegadas, tiempos entre llegadas, duración de atención y escalamiento de tickets usando distribuciones de probabilidad; se simula y se interpretan resultados.

  1. Llegadas de solicitudes (Poisson)

Supuesto: En promedio llegan 5 solicitudes por hora ⇒𝑋∼ Poisson (𝜆=5)

1.a. Generación de 5000 horas simuladas

lambda <- 5
n_horas <- 5000
llegadas <- rpois(n = n_horas, lambda = lambda)
head(llegadas)
## [1] 2 6 5 6 7 6

1.b Interpretación

summary(llegadas)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   0.000   3.000   5.000   5.013   6.000  14.000
media_emp <- mean(llegadas)
var_emp   <- var(llegadas)
c(Media_empirica = media_emp, Var_empirica = var_emp)
## Media_empirica   Var_empirica 
##       5.013200       5.054837

Interpretación: Para una Poisson ideal se espera media ≈ varianza ≈𝜆=5. Si la media y la varianza empíricas están cercanas a 5, la simulación es coherente con el modelo.

1.c Gráfico de barras de frecuencias

freqs <- table(llegadas)
barplot(freqs,
        main = "Llegadas por hora (5000 simulaciones)",
        xlab = "Número de solicitudes por hora",
        ylab = "Frecuencia",
        border = NA)

1.d Probabilidad empírica de llegar menos de 3 solicitudes

prob_emp_menor3 <- mean(llegadas < 3)
prob_emp_menor3
## [1] 0.121

Interpretación: El valor anterior es la probabilidad empírica 𝑃^(𝑋<3) a partir de 5000 horas simuladas (cuántas horas tuvieron 0, 1 o 2 solicitudes sobre el total).

  1. Tiempos entre llegadas (Exponencial) Supuesto: El tiempo entre llegadas (en minutos) tiene media 12 ⇒𝑇∼Exp(rate=1/12).

2.a Generación de 5000 tiempos entre llegadas

media_min <- 12
rate <- 1/media_min
n_inter <- 5000
t_inter <- rexp(n = n_inter, rate = rate)
head(t_inter)
## [1] 29.452282 21.164602  4.923090  3.698380 30.827614  5.215138

2.b Histograma

hist(t_inter,
     main = "Tiempos entre llegadas (Exponencial, media = 12 min)",
     xlab = "Minutos",
     ylab = "Frecuencia",
     breaks = "FD", border = NA)

Interpretación: La Exponencial modela tiempos entre eventos de un proceso de llegadas aleatorio sin memoria: muchos intervalos cortos y algunos largos, con cola hacia la derecha y media ≈ 12 minutos.

  1. Duración de la atención (Normal)

Supuesto: Tiempo de atención por ingeniero (min) 𝑆∼𝑁(𝜇=30,𝜎=5).

3.a Simulación de 5000 atenciones

n_serv <- 5000
mu <- 30
sigma <- 5
servicios <- rnorm(n_serv, mean = mu, sd = sigma)
summary(servicios)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   13.32   26.79   30.13   30.10   33.36   48.09

3.b Histograma con curva normal teórica

hist(servicios,
     probability = TRUE,
     main = "Duración de la atención (Normal 30, 5)",
     xlab = "Minutos",
     ylab = "Densidad",
     breaks = "FD", border = NA)
curve(dnorm(x, mean = mu, sd = sigma), add = TRUE, lwd = 2)

3.c Proporción de atenciones que superan 35 minutos

prop_mayor_35 <- mean(servicios > 35)
prop_mayor_35
## [1] 0.1556

Interpretación: La proporción anterior estima 𝑃(𝑆>35) bajo la simulación Normal(30,5). En este contexto, representa cuántos tickets toman más de 35 min.

  1. Tickets escalados a segundo nivel (Binomial)

Supuesto: 20% de tickets requieren escalamiento. Por hora llegan 10 tickets. Número de escalados por hora 𝐸∼Binomial(𝑛=10,𝑝=0.2).

4.a Simular 1000 horas de operación

n_horas_sim <- 1000
n_por_hora  <- 10
p_esc       <- 0.20
escalados_hora <- rbinom(n_horas_sim, size = n_por_hora, prob = p_esc)
head(escalados_hora)
## [1] 1 5 0 5 4 2

4.b Conteo de tickets escalados

# Total escalados en 1000 horas:
total_escalados <- sum(escalados_hora)
# Promedio escalados por hora:
prom_escalados <- mean(escalados_hora)

list(Total_escalados_en_1000_horas = total_escalados,
     Promedio_escalados_por_hora   = prom_escalados)
## $Total_escalados_en_1000_horas
## [1] 2015
## 
## $Promedio_escalados_por_hora
## [1] 2.015

Además, la distribución por hora:

tabla_escalados <- table(escalados_hora)
tabla_escalados
## escalados_hora
##   0   1   2   3   4   5   6 
## 110 266 301 187 100  30   6

4.c Gráfico (barplot)

barplot(tabla_escalados,
        main = "Escalados por hora (Binomial: n=10, p=0.2)",
        xlab = "Tickets escalados en una hora",
        ylab = "Frecuencia de horas",
        border = NA)

Interpretación: La Binomial cuenta “éxitos” (escalamientos) en 𝑛=10 tickets con probabilidad 𝑝=0.2. El total acumulado en 1000 horas aproxima 1000×10×0.2=2000 escalados, con fluctuación aleatoria.

Conclusiones

-Llegadas (Poisson): El conteo por hora mostró media y varianza empíricas cercanas a 𝜆=5, validando el supuesto de llegadas con tasa promedio estable. La probabilidad empírica de menos de 3 llegadas por hora se obtuvo directamente de la simulación.

-Interarribos (Exponencial): El histograma reflejó la cola a la derecha esperada y la ausencia de memoria; la media observada se aproximó a 12 min.

-Servicio (Normal): Las duraciones siguieron un patrón simétrico alrededor de 30 min; la proporción 𝑃(𝑆>35) estimó la fracción de atenciones “largas”.

-Escalamiento (Binomial): La distribución por hora y el total acumulado en 1000 horas se alinearon con 𝑛=10 y 𝑝=0.2, útil para dimensionar capacidad del segundo nivel.

Aporte de cada distribución al sistema de colas:

-Poisson modela el número de llegadas por unidad de tiempo.

-Exponencial modela tiempos entre llegadas (proceso de Poisson), clave para analizar congestión/oclusión temporal.

-Normal aproxima tiempos de servicio cuando hay muchos factores aditivos; facilita comparaciones e intervalos.

-Binomial modela eventos dicotómicos por lote (escalar vs no escalar), útil para estimar carga del segundo nivel y planificación.