Se requiere que la densidad de una pieza de plástico usada en un teléfono celular sea de al menos 0.70 g/cm3. Las piezas se suministran en grandes lotes y se piensa usar un plan de aceptación por variables para evaluar los lotes. Se desea que un lote con 2% de unidades no conformes sea aceptado con una probabilidad del 90%, mientras que los lotes con 10% de unidades no conformes sean aceptados con una probabilidad de solo 6%.
El desarrollo inicia con la carga de la librería y la definición de los parámetros del ejercicio.
plan1 <- find.plan(
PRP = c(AQL, 1-alpha),
CRP = c(LTPD, beta),
type = "normal",
s.type = "known"
)
print(plan1)## $n
## [1] 14
##
## $k
## [1] 1.71124
##
## $s.type
## [1] "known"
Se busca determinar el tamaño de muestra y la constante de aceptación (k), suponiendo que la desviación estándar del proceso es conocida. Se nos dice que los lotes con un 2 % de unidades no conformes deben tener una probabilidad de aceptación del 90 %, mientras que los lotes con un 10 % de unidades no conformes deben aceptarse con una probabilidad del 6 %. Al ingresar estos valores en la función find.plan(), se obtiene un tamaño de muestra de 14 piezas y una constante de aceptación de 1.711240.
La fórmula que se utiliza para evaluar la aceptación del lote es:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{\sigma} \]
Donde:
El criterio de aceptación es:
\[ Z_{LIE}\geq k \]
Por lo tanto, el plan obtenido es (n,k)=(14, 1.711240). Esto significa que se deben evaluar 14 piezas y comprobar que el estadístico de aceptación cumpla con el valor mínimo establecido por la constante (k).
plan2 <- find.plan(
PRP = c(AQL, 1-alpha),
CRP = c(LTPD, beta),
type = "normal",
s.type = "unknown"
)
print(plan2)## $n
## [1] 34
##
## $k
## [1] 1.716943
##
## $s.type
## [1] "unknown"
se calcula nuevamente el plan de muestreo, pero suponiendo que no se conoce la desviación estándar del proceso y que, por lo tanto, debe estimarse a partir de los datos de la muestra. Al ejecutar la función find.plan() con la opción s.type = “unknown”, encontramos un tamaño de muestra de 34 piezas y una constante de aceptación de 1.716943.
La fórmula para evaluar la aceptación es:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{s} \]
Donde (s) representa la desviación estándar calculada con los datos de la muestra. El criterio de aceptación se mantiene:
\[ Z_{LIE}\geq k \]
En este caso, el plan obtenido es (n,k)=(34, 1.716943). Al comparar los dos planes, se observa que cuando la desviación estándar es conocida se necesitan 14 piezas, mientras que cuando es desconocida se requieren 34. Esto se debe a que, al no conocer la desviación estándar poblacional, es necesario estimarla con la muestra, lo que introduce incertidumbre adicional en la evaluación y hace necesario un tamaño de muestra mayor.
Para terminar quisimos comprobar que los dos planes sí cumplen lo que pide el enunciado: que la curva OC pase por (2 %, 0.90) y por (10 %, 0.06). Para eso calculo la probabilidad de aceptación (Pa) de cada plan con p = 2 % y con p = 10 %.
Primero se necesita saber qué tan lejos del LIE queda la media del proceso cuando el lote tiene una proporción p de piezas no conformes:
\[ z_p=\Phi^{-1}(1-p) \]
Donde:
Plan con σ conocida. Aquí Z_LIE se distribuye normal, y la probabilidad de aceptación es:
\[ P_a=\Phi\left((z_p-k)\sqrt{n}\right) \]
Donde:
Plan con σ desconocida. Como ahora se divide por s en lugar de σ, el estadístico ya no es normal sino t no central, y la probabilidad de aceptación es:
\[ P_a=P\left(t\geq \sqrt{n}\,k\right) \]
Donde:
Pa_conocida <- function(p, n, k) pnorm((qnorm(1 - p) - k) * sqrt(n))
Pa_desconocida <- function(p, n, k) 1 - pt(sqrt(n) * k, df = n - 1, ncp = sqrt(n) * qnorm(1 - p))
Pa_conocida(c(AQL, LTPD), n = 14, k = 1.711240)## [1] 0.89999990 0.05394531
## [1] 0.90000645 0.05820296
Para el plan con σ conocida (n = 14, k = 1.711240) se obtiene Pa(2 %) = 0.900 y Pa(10 %) = 0.054. Para el plan con σ desconocida (n = 34, k = 1.716943) se obtiene Pa(2 %) = 0.900 y Pa(10 %) = 0.058.
En ambos casos la probabilidad de aceptar un lote con 2 % de no conformes es 0.90 y la de aceptar uno con 10 % queda por debajo del 6 % exigido, así que los dos planes cumplen los dos puntos de la curva OC. El plan con σ desconocida queda un poco más cerca del límite (0.058 frente a 0.054), lo cual tiene sentido porque hay más incertidumbre y n = 34 es el tamaño mínimo que logra cumplir el riesgo del consumidor.
LIE <- 0.70
x_bar <- 0.73
s <- 0.018
k <- 1.716943
# Estadistico de aceptacion
Z_LIE <- (x_bar - LIE) / s
print(Z_LIE)## [1] 1.666667
# Criterio de aceptacion
if (!is.na(k)) {
limite <- LIE + k*s
print(limite)
if (Z_LIE >= k) {
print("ACEPTAR EL LOTE")
} else {
print("RECHAZAR EL LOTE")
}
}## [1] 0.730905
## [1] "RECHAZAR EL LOTE"
Para este literal se utiliza el plan obtenido en el punto anterior, en el que la desviación estándar es desconocida. Después de tomar una muestra de 34 piezas, se obtuvo un promedio de densidad de (0.73g/cm3) y una desviación estándar muestral de (0.018g/cm3). Con estos datos, se calcula el estadístico de aceptación y se compara con la constante (k=1.716943).
La fórmula utilizada es:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{s} \]
Reemplazando los valores del ejercicio:
\[ Z_{LIE}=\frac{0.73-0.70}{0.018} \]
\[ Z_{LIE}=1.666667 \]
Al comparar este resultado con la constante de aceptación, se obtiene:
\[ 1.666667<1.716943 \]
Como el estadístico calculado es inferior a (k), no se cumple el criterio de aceptación. Por esta razón, se debe rechazar el lote, de acuerdo con el plan de muestreo establecido.
Para que el inspector pueda aplicar directamente el plan sin calcular primero el estadístico, se despeja el promedio de la fórmula anterior:
\[ \frac{\bar{x}-LIE}{s}\geq k \]
\[ \bar{x}\geq LIE+ks \]
Sustituyendo los valores:
\[ \bar{x}\geq 0.70+(1.7166943)(0.018) \]
\[ \bar{x}\geq 0.730905\ g/cm^3 \]
Esto significa que el inspector debe aceptar el lote cuando el promedio de densidad de las 34 piezas sea igual o superior a (0.730905g/cm3). Si el promedio queda por debajo de ese valor, debe rechazarlo. Como en este ejercicio el promedio fue de (0.73g/cm3), no alcanza el mínimo requerido y, por lo tanto, se rechaza el lote.
Un ingenio azucarero quiere evitar enviar a sus clientes lotes con sacos bajos de peso. Un saco debe traer aproximadamente 50 kg y un saco con 49.8 kg o menos se considera bajo de peso. Dado que inspeccionar cada uno de los sacos resulta muy costoso, además de dispendioso, y puede provocar problemas de salud a los trabajadores, se planea llevar a cabo un muestreo de aceptación diseñado para el peso. Siguiendo la MIL STD 414 y el método M, diseñe un plan de muestreo teniendo en cuenta que el tamaño de lote es de 2500 unidades, se requiere un nivel general de inspección IV y se ha definido un AQL de 0.15%. Asuma inspección normal y desviación estándar desconocida.
Primero se definen los parámetros del problema, donde el peso de un saco es de 50 kg, pero este valor no interviene en el cálculo. Como un saco se considera bajo de peso cuando pesa 49.8 kg o menos, este valor sera el limite inferior(LIE) y especificación unilateral.
Luego, el plan de muestreo se obtiene con la función interactiva
AAZ19(type = "Normal", stype = "unknown") de la librería
AQLSchemes. Esta función sigue una configuración de
inspección normal y de nivel 4 con desviación estandar desconocida.
Como la función solo admite datos por consola, se ingresaron los siguientes valores:
A partir de estos datos, se obtuvo el siguiente plan:
# Resultado obtenido de AAZ19 (inspección normal, σ desconocida)
n <- 50
k <- 2.499948
M <- 0.005030
library(knitr)
Plan_muestreo <- data.frame(
Parametro = c("n", "k", "M"),
Valor = c(n, k, M))
kable(Plan_muestreo, align = "lc")| Parametro | Valor |
|---|---|
| n | 50.000000 |
| k | 2.499948 |
| M | 0.005030 |
b.Si se realiza el muestreo de las n unidades indicadas por el plan anterior y se encuentra que, para un determinado lote, la media de la muestra es de 50.05 kg y la desviación estándar es de 0.1 kg, ¿se acepta o no dicho lote?
Para realizar el enunciado b, se proponen los siguientes parámetros nuevos, además de los parámetros definidos en el inciso a.
#Parametros nuevos
prom_muestra <-50.05
desviacion_muestra <- 0.1
LIE<-49.8
ZLIE<- (prom_muestra-LIE)/desviacion_muestra
ZLIE## [1] 2.5
Donde el índice de calidad inferior (ZLIE) es de 2.5, este valor indica la diferencia entre la media muestral y el límite inferior, es decir, que la media muestral se encuentra a 2.5 desviaciones estándar por encima del límite inferior de especificación.
Para establecer si el lote se acepta o se rechaza, se utiliza la
función con las siguientes configuraciones:
EPn(sided="one",stype="unknown",LSL=49.8,xbar = 50.05,s=0.1,n=50).
library(AQLSchemes)
Pi1 <- EPn(sided="one",stype="unknown",LSL=49.8,xbar = 50.05,s=0.1,n=50)
Pi1 <-Pi1*100Por último, se compara el valor obtenido del porcentaje estimado de unidades defectuosas en el lote (Pi) con el máximo permitido por el plan (M):
library(knitr)
resultado <- data.frame(
Parametro = c("Pi (% estimado de no conformes)", "M (% máximo permitido)"),
Valor = c(Pi1, M * 100)
)
kable(resultado, align = "lc")| Parametro | Valor |
|---|---|
| Pi (% estimado de no conformes) | 0.5029158 |
| M (% máximo permitido) | 0.5030000 |
El porcentaje de no conformes estimado es Pi = 0.503 %, es menor al máximo admisible por el plan, M = 0.503 %. Al mismo tiempo, el índice de calidad inferior (Z_LIE) es de 2.5, siendo un valor mayor o igual a k = 2.499948. Por lo tanto, el lote se acepta bajo inspección normal, sin embargo, el margen de aceptación es demasiado estrecho, ya que los valores son prácticamente iguales.
c.Suponga que, por el historial reciente de calidad, el lote debe evaluarse bajo inspección severa. ¿Cambia la decisión? ¿Qué implica esto para el ingenio?
Debido a que el lote se va a evaluar bajo una inspección severa, se
debe volver a plantear un plan de muestreo con la misma fórmula del
inciso a, cambiando la configuración de la siguiente manera:
AAZ19(type='Tightened',stype="unknown")
De la misma forma, la función solo admite datos por consola, por lo tanto, se ingresaron los mismos valores:
A partir de estos datos, se obtuvo el siguiente plan:
# Resultado obtenido de AAZ19 (inspección normal, σ desconocida)
n2<-50
k2<-2.606542
M2 <- 0.00355
library(knitr)
Plan_muestreo <- data.frame(
Parametro = c("n", "k", "M"),
Valor = c( n2, k2, M2))
kable(Plan_muestreo, align = "lc")| Parametro | Valor |
|---|---|
| n | 50.000000 |
| k | 2.606542 |
| M | 0.003550 |
Luego se calculó el porcentaje de no conformes estimado, con la
función
EPn(sided="one", stype="unknown", LSL=49.8, xbar=50.05, s=0.1, n=50)
Por último, se busca realizar la comparación entre Pi(2) y el máximo admisible.
library(knitr)
resultado2 <- data.frame(
Parametro = c("Pi (% estimado de no conformes)", "M (% máximo abmisible)"),
Valor = c(Pi2, M2 * 100)
)
kable(resultado2, align = "lc")| Parametro | Valor |
|---|---|
| Pi (% estimado de no conformes) | 0.5029158 |
| M (% máximo abmisible) | 0.3550000 |
A partir de estos resultados, se evidencia que, si se realiza una inspección severa, el lote será rechazado, ya que el porcentaje de no conformes estimado (Pi2) es de 0.503 %, el cual es mayor al valor máximo permitido de 0.355 %.
library(knitr)
Valores_finales <- data.frame(
Plan = c("Normal", "Severa"),
Pi = c(Pi1, Pi2),
M = c(M * 100, M2 * 100)
)
kable(Valores_finales,
col.names = c("Plan de muestreo", "Pi (% estimado de no conformes)",
"M (% máximo admisible)"),
digits = 4, align = "lcc")| Plan de muestreo | Pi (% estimado de no conformes) | M (% máximo admisible) |
|---|---|---|
| Normal | 0.5029 | 0.503 |
| Severa | 0.5029 | 0.355 |
Como podemos observar, la decisión sí cambia, ya que si se realiza una inspección normal el lote será aceptado, mientras que si se realiza una inspección severa será rechazado. Esto se debe a que el plan severo es más exigente, puesto que utiliza el mismo tamaño de muestra (n = 50), pero disminuye el porcentaje máximo admisible y aumenta el índice de calidad mínimo. Adicionalmente, el porcentaje de no conformes estimado se mantiene igual, cumpliendo el límite normal, pero es mayor en el plan severo, produciendo su rechazo.
Si la empresa opta por un plan de muestreo para inspección severa, para el ingeniero implica que más lotes serán rechazados, ya que, aun manteniendo los mismos parámetros de promedio de muestra, desviación estándar muestral y porcentaje de no conformes estimado, este último sobrepasa el porcentaje máximo admisible. Todos estos lotes rechazados se traducen en pérdidas para la empresa.
El cambio de inspección se tuvo que haber debido a que el cliente rechazó 2 de 5 lotes de forma consecutiva; por lo tanto, el ingeniero se debe asegurar de que 5 lotes consecutivos sean aceptados para volver a la inspección normal.
Considere nuevamente las condiciones del punto 1 (p1 = 2%, α = 10%, p2 = 10%, β = 6%).
Primero se definen los parámetros del problema, que son los mismos del punto 1. El punto p1 (nivel de calidad aceptable, AQL) debe aceptarse con probabilidad 1 − α = 0.90, y el punto p2 (nivel de calidad inaceptable, LTPD) debe aceptarse con una probabilidad de solo β = 0.06.
# Parametros
AQL <- 0.02
alpha <- 0.10
Pa_AQL <- 1 - alpha
LTPD <- 0.10
beta <- 0.06
Pa_LTPD <- betaLuego, el plan se obtiene con la función find.plan() de
la librería AcceptanceSampling, con
type = "binomial" (atributos), porque cada pieza solo se
clasifica como conforme o no conforme. En PRP se ingresa el
punto del productor (AQL, 1 − α) y en CRP el punto del
consumidor (LTPD, β).
library(AcceptanceSampling)
# Obtener el plan:
find.plan(PRP = c(AQL, 1 - alpha),
CRP = c(LTPD, beta),
type = "binomial")## $n
## [1] 73
##
## $c
## [1] 3
##
## $r
## [1] 4
La función devuelve el plan n = 73, c = 3 (y r = 4). Es decir, se toman 73 piezas del lote y el lote se acepta si en la muestra hay 3 o menos piezas no conformes; con 4 o más se rechaza.
Para comprobar que el plan sí cumple, se ingresan n y c, y se calcula
la probabilidad de aceptación (Pa) en los dos puntos de la curva OC con
pbinom(). Esta función calcula P(d ≤ c) cuando se muestrean
n piezas con una proporción p de no conformes.
## [1] 0.9411567
## [1] 0.05795227
## [1] 0.05884331
## [1] 0.05795227
Se puede verificar con la función assess(), se crea el
plan con OC2c() y se compara contra los dos puntos
exigidos.
plan_1 <- OC2c(n = 73, c = 3,
type = "binomial",
pd = seq(0, 0.14, 0.01))
assess(plan_1, PRP = c(AQL, 1 - alpha), CRP = c(LTPD, beta))## Acceptance Sampling Plan (binomial)
##
## Sample 1
## Sample size(s) 73
## Acc. Number(s) 3
## Rej. Number(s) 4
##
## Plan CAN meet desired risk point(s):
##
## Quality RP P(accept) Plan P(accept)
## PRP 0.02 0.90 0.94115669
## CRP 0.10 0.06 0.05795227
El resultado dice que el plan puede cumplir ambos puntos: Pa(2 %) = 0.9412, que es mayor a 0.90, y Pa(10 %) = 0.0580, que es menor a 0.06. Con este plan el riesgo real del productor es de 5.88 % y el del consumidor de 5.80 %.
Los planes por variables son los que se obtuvieron en el punto 1 con
find.plan() y type = "normal": con σ conocida
n = 14 y k = 1.711240, y con σ desconocida n = 34 y k = 1.716943.
library(knitr)
comparacion <- data.frame(
Plan = c("Variables, sigma conocida", "Variables, sigma desconocida", "Atributos"),
n = c(14, 34, 73),
Criterio = c("Z_LIE >= 1.711240", "Z_LIE >= 1.716943", "d <= 3"),
Ahorro = c(80.8, 53.4, 0)
)
kable(comparacion,
col.names = c("Plan de muestreo", "n", "Criterio de aceptación",
"Ahorro frente a atributos (%)"),
align = "lccc")| Plan de muestreo | n | Criterio de aceptación | Ahorro frente a atributos (%) |
|---|---|---|---|
| Variables, sigma conocida | 14 | Z_LIE >= 1.711240 | 80.8 |
| Variables, sigma desconocida | 34 | Z_LIE >= 1.716943 | 53.4 |
| Atributos | 73 | d <= 3 | 0.0 |
El ahorro se calcula como 1 − n/73
El plan por atributos requiere 73 piezas, el de variables con σ desconocida 34 y el de variables con σ conocida 14. Por lo tanto, los planes por variables requieren menos unidades inspeccionadas.
Esto se debe a que, en un plan por atributos, de cada pieza solo se usa si cumple o no cumple. En cambio, en un plan por variables se usa el valor medido de la pieza, que dice qué tan cerca o lejos está del límite de especificación y, por lo tanto, aporta mucha más información sobre la proporción de no conformes del lote. Con menos información (atributos) se necesita más muestra para lograr la misma protección.
Para comparar el desempeño de los tres planes se grafican sus curvas
OC se ingresan los valores de n y k en OCvar(), y se agrega
el plan por atributos con OC2c().
library(AcceptanceSampling)
p <- seq(0, .14, .001)
# I valores de n y k:
plan1 <- OCvar(n = 14,k = 1.711240,pd = p,
s.type = "known")
plan2 <- OCvar(n = 34,k = 1.716943, pd = p,
s.type = "unknown")
# Plan por atributos:
plan3 <- OC2c(n = 73, c = 3,
type = "binomial", pd = p)
# Trama
plot(p, plan1@paccept, type = 'l', lty = 1, col = 1,
xlab = 'Proporción de no conformidades', ylab = 'OC')
lines(p, plan2@paccept, type = 'l', lty = 2, col = 2)
lines(p, plan3@paccept, type = 'l', lty = 4, col = 4)
legend(.08, .95,
c("Variable, sigma conocida (n=14)",
"Variable, sigma desconocida (n=34)",
"Atributos (n=73, c=3)"),
lty = c(1, 2, 4), col = c(1, 2, 4), cex = 0.8)
grid()Las tres curvas pasan por los dos puntos exigidos, (2 %, 0.90) y (10 %, 0.06), y son muy parecidas entre sí. Es decir, ofrecen prácticamente la misma protección al productor y al consumidor, pero los planes por variables lo logran con muchas menos piezas.
La decisión depende de comparar el costo total de inspección de cada plan, teniendo en cuenta tanto el número de piezas que se deben evaluar como el costo y las consecuencias de realizar cada inspección.
En este ejercicio se tienen dos alternativas:
La comparación de los costos directos de inspección se puede expresar de la siguiente manera:
\[ C_{\text{variables}}=34C_d \]
\[ C_{\text{atributos}}=73C_a \]
Donde:
Para determinar cuándo resulta más económico el plan por variables, se comparan ambos costos:
\[ 34C_d < 73C_a \]
Despejando:
\[ \frac{C_d}{C_a}<\frac{73}{34} \]
\[ \frac{C_d}{C_a}<2.15 \]
Esto significa que el plan por variables solamente resulta más económico cuando medir la densidad de una pieza cuesta menos de aproximadamente 2.15 veces lo que cuesta clasificarla.
Considerando que el ensayo de laboratorio para medir la densidad es costoso y destructivo, mientras que la clasificación por atributos es rápida y económica, se recomienda utilizar el plan de muestreo por atributos (\(n=73,\ c=3\)).
Aunque este plan requiere inspeccionar 39 piezas adicionales respecto al plan por variables con desviación estándar desconocida, presenta ventajas importantes: evita los costos asociados a los ensayos de laboratorio, reduce las pérdidas de producto por pruebas destructivas y permite realizar la inspección de manera más rápida y sencilla.
Además, el plan por atributos cumple con las condiciones de calidad establecidas en el ejercicio, ya que presenta una probabilidad de aceptación de 0.9412 para lotes con un 2 % de unidades no conformes y de 0.0580 para lotes con un 10 % de unidades no conformes. Por lo tanto, mantiene la protección requerida tanto para el productor como para el consumidor.
Además del costo y del tamaño de la muestra, existen otros aspectos importantes para tomar la decisión:
Destrucción de las piezas: se debe considerar que los ensayos de laboratorio pueden destruir las unidades inspeccionadas, generando pérdidas económicas y reduciendo la cantidad de producto disponible.
Tiempo de inspección: la clasificación por atributos permite obtener resultados más rápidamente, mientras que la medición de densidad requiere procedimientos de laboratorio que pueden retrasar la liberación de los lotes.
Confiabilidad de la inspección: es importante garantizar que la clasificación de las piezas sea precisa y que los inspectores estén capacitados para identificar correctamente las unidades conformes y no conformes.
Riesgo del productor y del consumidor: se debe verificar que el plan mantenga las probabilidades de aceptación establecidas en el ejercicio, evitando tanto el rechazo innecesario de lotes buenos como la aceptación de lotes de mala calidad.
Consecuencias de aceptar piezas defectuosas: se debe evaluar qué tan grave sería que una pieza que no cumple con la densidad mínima llegue al proceso de producción o al cliente.
Disponibilidad de recursos: también se deben considerar los equipos, el personal, las instalaciones y los recursos necesarios para realizar cada tipo de inspección.
En conclusión, aunque el plan por variables requiere una muestra menor, no necesariamente representa la alternativa más conveniente desde el punto de vista económico y operativo. En este caso, debido al costo elevado y al carácter destructivo de las pruebas de laboratorio, el plan por atributos resulta una alternativa más práctica y conveniente, siempre que el procedimiento de clasificación permita identificar correctamente las piezas no conformes.
Por lo tanto, se recomienda implementar el plan por atributos de 73 piezas, aceptando el lote cuando se encuentren como máximo 3 piezas no conformes y rechazándolo cuando se encuentren 4 o más.
El valor de 2.15 es un punto de equilibrio que compara únicamente los costos directos de inspección. No incluye todavía el valor económico de las piezas destruidas, los costos de retraso ni las consecuencias de los errores de clasificación. Al incorporar esos factores, la conveniencia del plan por atributos puede ser todavía mayor.
El siguiente código permite calcular el punto de equilibrio con los tamaños de muestra de los dos planes:
n_variables <- 34
n_atributos <- 73
# El plan por variables es más económico si:
# costo de medir densidad / costo de clasificar < razon_equilibrio
razon_equilibrio <- n_atributos / n_variables
diferencia_muestra <- n_atributos - n_variables
razon_equilibrio## [1] 2.147059
## [1] 39
Por tanto, si el costo de medir la densidad es más de 2.15 veces el costo de clasificar una pieza, el plan por atributos tendrá un menor costo directo de inspección. Esta comparación debe complementarse con los costos asociados a la destrucción de las piezas, el tiempo de inspección y los posibles errores de clasificación.