Se realiza la simulación del proceso de soldadura
set.seed(2215)
# 1. Simulación de las longitudes de las barras
n_barras <- 500
x1 <- rnorm(n_barras, mean = 30, sd = sqrt(0.81))
x2 <- rnorm(n_barras, mean = 18, sd = 0.3)
soldadura <- x1 + x2
# 2. Definición de las especificaciones
LSL <- 45
USL <- 55
# 3. Cálculo de la probabilidad y los índices
prob_fuera <- sum(soldadura < LSL | soldadura > USL) / n_barras
Cp <- (USL - LSL) / (6 * sd(soldadura))
Cpk <- min((USL - mean(soldadura)) / (3 * sd(soldadura)), (mean(soldadura) - LSL) / (3 * sd(soldadura)))
# 4. Presentación clara de los resultados numéricos
cat("Probabilidad de defecto estimada:", scales::percent(prob_fuera), "\n")
## Probabilidad de defecto estimada: 0%
cat("Índice de Capacidad Potencial (Cp):", round(Cp, 3), "\n")
## Índice de Capacidad Potencial (Cp): 1.798
cat("Índice de Capacidad Real (Cpk):", round(Cpk, 3), "\n")
## Índice de Capacidad Real (Cpk): 1.066
# 5. Gráfica de la distribución de las longitudes
hist(soldadura, main = "Distribución de Longitudes Soldadas",
xlab = "Longitud total (cm)", ylab = "Frecuencia",
col = "gray70", border = "black", breaks = 20)
abline(v = c(LSL, USL), col="firebrick", lwd=3, lty=2)
abline(v = mean(soldadura), col="steelblue", lwd=2)
legend("topright", legend=c("Límites de Especificación", "Media del Proceso"),
col=c("darkgoldenrod", "darkseagreen"), lty=c(2,1), lwd=c(3,2))
Con base en los resultados obtenidos, el proceso presenta un índice
de capacidad potencial Cp (1.798), superior al umbral
de referencia de 1.33, lo que evidencia una adecuada
dispersión y un potencial favorable de cumplimiento frente a los límites
de especificación establecidos.
No obstante, el índice de capacidad real Cpk (1.066) es
inferior al valor recomendado, lo que sugiere que el proceso no
se encuentra completamente centrado dentro del intervalo de
tolerancia. En este sentido, aunque la variabilidad del proceso es
reducida, se identifica un ligero desplazamiento respecto al valor
nominal que limita su desempeño efectivo.
La probabilidad estimada de no conformidad (0%)
confirma que las observaciones permanecen dentro de los límites
especificados, y el histograma refleja una distribución concentrada
hacia el límite inferior, sin evidencia de datos atípicos ni
comportamientos fuera de control.
Se simula el tiempo total para reparar 200 piezas en 10 ocasiones (réplicas)
set.seed(1204)
n_replicas <- 10
n_piezas <- 200
tiempos_totales <- numeric(n_replicas)
max_defectos <- 3
media_defectos <- 2.4
prob_defecto <- media_defectos / max_defectos
tasa_reparacion <- 0.2
# Bucle para las 10 réplicas
for (r in 1:n_replicas) {
defectos_por_pieza <- rbinom(n_piezas, size = max_defectos, prob = prob_defecto)
tiempos_reparacion <- sapply(defectos_por_pieza, function(k) {
if (k == 0) return(0)
sum(rexp(k, rate = tasa_reparacion))
})
tiempos_totales[r] <- sum(tiempos_reparacion)
}
# Presentación clara de los resultados en formato de lista
cat("Tiempos totales (en minutos) para cada una de las 10 réplicas:\n")
## Tiempos totales (en minutos) para cada una de las 10 réplicas:
for (r in 1:length(tiempos_totales)) {
cat(sprintf("Réplica %2d: %.2f minutos\n", r, tiempos_totales[r]))
}
## Réplica 1: 2496.38 minutos
## Réplica 2: 2367.91 minutos
## Réplica 3: 2458.48 minutos
## Réplica 4: 2236.22 minutos
## Réplica 5: 2410.54 minutos
## Réplica 6: 2244.15 minutos
## Réplica 7: 2174.72 minutos
## Réplica 8: 2343.62 minutos
## Réplica 9: 2468.92 minutos
## Réplica 10: 2055.28 minutos
# Gráfico del tiempo total por réplica
plot(tiempos_totales, type = "b", pch = 19,
main = "Tiempo Total de Procesamiento por Réplica",
xlab = "Número de Réplica", ylab = "Tiempo Total (minutos)",
col = "darkorchid")
grid()
Se simula el proceso logístico del camión
set.seed(842)
# Función para simular un día de trabajo del camión
simular_viajes <- function(horas_jornada = 8) {
tiempo_maximo_min <- horas_jornada * 60
tiempo_acumulado <- 0
viajes_completados <- 0
while (TRUE) {
t_carga <- runif(1, min = 20, max = 40)
t_traslado1 <- rexp(1, rate = 1/40)
t_descarga <- runif(1, min = 15, max = 25)
t_traslado2 <- rexp(1, rate = 1/40)
tiempo_ciclo <- t_carga + t_traslado1 + t_descarga + t_traslado2
if (tiempo_acumulado + tiempo_ciclo > tiempo_maximo_min) break
tiempo_acumulado <- tiempo_acumulado + tiempo_ciclo
viajes_completados <- viajes_completados + 1
}
return(viajes_completados)
}
# a) Simulación de 10 horas
viajes_10_horas <- replicate(5, simular_viajes(horas_jornada = 10))
# b) Simulación para intervalo de confianza en un día (8 horas)
viajes_8_horas <- replicate(1000, simular_viajes(horas_jornada = 8))
ic_95 <- t.test(viajes_8_horas)$conf.int
# Presentación clara de los resultados de (a) y (b)
cat("a) Viajes completados en 5 réplicas de 10 horas:", paste(viajes_10_horas, collapse = ", "), "\n\n")
## a) Viajes completados en 5 réplicas de 10 horas: 5, 3, 4, 5, 5
cat("b) Intervalo de confianza del 95% para un día de 8 horas:", sprintf("[%s, %s]", round(ic_95, 3), round(ic_95, 3)), "\n")
## b) Intervalo de confianza del 95% para un día de 8 horas: [3.231, 3.231] [3.337, 3.337]
# Gráfica para el apartado a)
barplot(viajes_10_horas, main = "Número de Viajes por Réplica (Jornada de 10h)",
xlab = "Réplica", ylab = "Viajes Realizados",
col = "steelblue", names.arg = 1:5,
ylim = c(0, max(viajes_10_horas) + 1))
c) Si la empresa necesita realizar al menos 10 entregas por día, ¿qué recomendaciones daría? Justifique su respuesta y establezca sus supuestos.
Los resultados de la simulación para una jornada de 8
horas muestran un intervalo de confianza del 95 % de
[3.231, 3.337] viajes por día.
El gráfico de barras correspondiente a la jornada de 10
horas refleja un rendimiento que oscila entre 5, 3, 4,
5, 5 viajes, evidenciando un desempeño significativamente por
debajo del objetivo establecido.
Por tanto, el sistema actual es incapaz de alcanzar las 10
entregas diarias, debido a la duración acumulada de los tiempos
de carga, traslado y descarga, que limitan la productividad operativa
del camión.
Recomendaciones: 1. Adquirir un segundo
camión: Permitiría aumentar la capacidad operativa,
posibilitando realizar cargas y entregas simultáneas.
2. Optimizar los tiempos en base: Se sugiere reducir
los tiempos de carga y descarga mediante mejoras logísticas o de
infraestructura.
3. Extender la jornada laboral: Aunque factible, esta
medida implica mayores costos y posibles impactos en la eficiencia
general.
Supuestos establecidos:
Se considera un “día laboral” de 8 horas, sin
interrupciones externas (como tráfico o averías), y se asume que el
muelle de carga constituye el principal cuello de
botella dentro del sistema logístico.