Descripción del problema

Simulación en R: Tiempo total para procesar 200 piezas

Datos del problema:

  • Llegada de piezas: cada 20 minutos
  • Defectos por pieza: entre 0 y 3
  • Distribución de defectos: Binomial con media 2.4
  • Tiempo de reparación por defecto: Exponencial con parámetro \( = 0.2 \)
  • Número de piezas a simular: 200
  • Réplicas de la simulación: 10

set.seed(123)  # Para resultados reproducibles

————————————————————

Parámetros conocidos

n_piezas <- 200      # número de piezas
reps <- 10           # número de réplicas
media_defectos <- 2.4
max_defectos <- 3
lambda <- 0.2        # tasa exponencial (piezas/minuto)
tiempo_llegada <- 20 # minutos entre llegadas

————————————————————

Determinamos los parámetros de la distribución binomial

La media de una distribución binomial está dada por:

\[ \text{media} = n \times p \quad \Rightarrow \quad p = \frac{\text{media}}{n} \]

p <- media_defectos / max_defectos

————————————————————

Creamos un vector para guardar los tiempos totales de cada réplica

tiempo_total <- numeric(reps)

for (r in 1:reps) {
  # Generamos el número de defectos de cada pieza
  defectos <- rbinom(n_piezas, size = max_defectos, prob = p)
  
  # Para cada defecto, generamos un tiempo de reparación
  # Si una pieza tiene 0 defectos, su tiempo de reparación será 0
  tiempos_reparacion <- sapply(defectos, function(d) {
    if (d == 0) return(0)
    sum(rexp(d, rate = lambda))
  })
  
  # Tiempo total de procesamiento de las 200 piezas
  # Incluye el tiempo entre llegadas más el tiempo de reparación
  tiempo_total[r] <- sum(tiempo_llegada + tiempos_reparacion)
}

————————————————————

Mostramos los resultados

tiempo_total
##  [1] 6427.112 6548.740 6350.137 6274.511 6578.053 6353.405 6506.708 6450.375
##  [9] 6410.956 6421.431

————————————————————

Promedio del tiempo total

promedio_tiempo <- mean(tiempo_total)

cat("Tiempo promedio total para procesar 200 piezas (10 réplicas):",
    round(promedio_tiempo, 2), "minutos\n")
## Tiempo promedio total para procesar 200 piezas (10 réplicas): 6432.14 minutos