Tiempo de salida de pedidos en Rancho Lunass

Introducción

En el restaurante Rancho Lunass, el tiempo de salida de los pedidos puede analizarse como una variable aleatoria, ya que depende de la carga de trabajo en cocina, del número de clientes y de la complejidad de la preparación. En este documento se estudia el comportamiento de los tiempos de entrega mediante distribuciones de probabilidad.

Planteamiento

Se considera que el primer pedido tarda 25 minutos, el segundo 35 minutos y el tercero 40 minutos. A medida que ingresan más pedidos, es normal que el tiempo aumente entre 5 y 10 minutos adicionales por pedido. El comedor tiene una capacidad máxima de 80 personas y el restaurante opera desde las 11:30 a. m. hasta las 3:30 p. m., es decir, durante 240 minutos.

Objetivo general

Analizar el tiempo de salida de los pedidos en el restaurante Rancho Lunass mediante distribuciones probabilísticas, con el fin de describir su comportamiento y evaluar el servicio.

Datos de ejemplo

## Warning: package 'knitr' was built under R version 4.5.3
## Warning: package 'kableExtra' was built under R version 4.5.3
Pedido Tiempo_Salida_Min
1 25
2 35
3 40
4 45
5 50
6 55
7 60
8 65
9 70
10 75
11 80
12 85

1. Distribución Lognormal

Definición

La distribución lognormal se usa para variables positivas y asimétricas. En este caso permite representar tiempos de salida que aumentan y no toman valores negativos.

Fórmula

\[ f(x)=\frac{1}{x\sigma \sqrt{2\pi}}e^{-\frac{(\ln x-\mu)^2}{2\sigma^2}}, \quad x>0 \]

Algoritmo manual en R

fact <- function(n) {
  r <- 1
  if (n > 0) for (i in 1:n) r <- r * i
  return(r)
}

raiz <- function(v) {
  if (v < 0) return(NA_real_)
  if (v == 0) return(0)
  r <- v / 2
  for (k in 1:30) r <- (r + v / r) / 2
  return(r)
}

expo <- function(x) {
  if (x < 0) return(1 / expo(-x))
  s <- 0
  for (i in 0:100) s <- s + (x ^ i) / fact(i)
  return(s)
}

lognormal_manual <- function(x, mu, sigma) {
  if (x <= 0 || sigma <= 0) return(0)
  return((1 / (x * sigma * raiz(2 * pi))) * expo(-((log(x) - mu)^2) / (2 * sigma^2)))
}

Comparación con R

lognormal_manual(40, 3.9, 0.35)
## [1] 0.02375596
dlnorm(40, meanlog = 3.9, sdlog = 0.35)
## [1] 0.02375596

Tabla lognormal

Parámetro Valor
Media logarítmica 3.9873763
Desviación logarítmica 0.3682479
Promedio tiempo 57.0833333
Tiempo máximo 85.0000000

Gráfica lognormal

par(mfrow = c(1, 2))

x1 <- seq(0.1, max(tiempos) * 1.2, length.out = 300)
y1 <- dlnorm(x1, meanlog = mu_log, sdlog = sd_log)
plot(x1, y1, type = "l", col = "brown", lwd = 2,
     main = "Lognormal - Rancho Lunass",
     xlab = "Tiempo (minutos)", ylab = "Densidad")

x2 <- seq(0.1, max(tiempos) * 1.2, length.out = 300)
y2 <- dlnorm(x2, meanlog = log(mean(tiempos)), sdlog = sd_log)
plot(x2, y2, type = "l", col = "darkgreen", lwd = 2,
     main = "Lognormal - Comparación",
     xlab = "Tiempo (minutos)", ylab = "Densidad")

par(mfrow = c(1, 1))

2. Distribución Gaussiana

Definición

La distribución gaussiana o normal describe datos que se agrupan alrededor de un promedio. En este caso modela el tiempo de preparación de los pedidos cuando la mayoría se concentra cerca de un valor central.

Fórmula

\[ f(x)=\frac{1}{\sigma \sqrt{2\pi}}e^{-\frac{(x-\mu)^2}{2\sigma^2}} \]

Algoritmo manual en R

gaussiana_manual <- function(x, mu, sigma) {
  if (sigma <= 0) return(0)
  return((1 / (sigma * raiz(2 * pi))) * expo(-((x - mu)^2) / (2 * sigma^2)))
}

Comparación con R

gaussiana_manual(50, mean(tiempos), sd(tiempos))
## [1] 0.01979898
dnorm(50, mean = mean(tiempos), sd = sd(tiempos))
## [1] 0.01979898

Tabla gaussiana

Parámetro Valor
Media 57.08333
Desviación estándar 18.76388
Capacidad comedor 80.00000
Horario de servicio (min) 240.00000

Gráfica gaussiana

xg <- seq(min(tiempos) - 10, max(tiempos) + 10, length.out = 300)
yg <- dnorm(xg, mean = mean(tiempos), sd = sd(tiempos))
plot(xg, yg, type = "l", col = "darkgreen", lwd = 2,
     main = "Gaussiana - Tiempo de preparación",
     xlab = "Tiempo (minutos)", ylab = "Densidad")

Conclusión

En Rancho Lunass, los tiempos de salida de los pedidos muestran un comportamiento creciente a medida que aumenta la carga de trabajo. La distribución lognormal permite representar tiempos positivos y asimétricos, mientras que la gaussiana ayuda a describir el valor promedio y la variabilidad del proceso. Este análisis facilita comprender mejor el servicio y proporciona una base para futuras mejoras operativas.