La densidad de la pieza debe ser al menos \(0.70\ g/cm^3\), es decir, solo hay límite inferior de especificación (LEI).
LEI <- 0.70
AQL <- 0.02 # p1
alfa <- 0.10
LTPD <- 0.10 # p2
beta <- 0.06
plan_known <- find.plan(PRP = c(AQL, 1 - alfa),
CRP = c(LTPD, beta),
type = "normal",
s.type = "known")
plan_known
## $n
## [1] 14
##
## $k
## [1] 1.71124
##
## $s.type
## [1] "known"
n_known <- plan_known$n
k_known <- plan_known$k
Respuesta: n = 14 y k = 1.7112.
Se acepta el lote si:
\[ Z_{LIE} = \frac{\bar{x} - LEI}{\sigma} \geq k \]
plan_unknown <- find.plan(PRP = c(AQL, 1 - alfa),
CRP = c(LTPD, beta),
type = "normal",
s.type = "unknown")
plan_unknown
## $n
## [1] 34
##
## $k
## [1] 1.716943
##
## $s.type
## [1] "unknown"
n_unknown <- plan_unknown$n
k_unknown <- plan_unknown$k
data.frame(Plan = c("Sigma conocida", "Sigma desconocida"),
n = c(n_known, n_unknown),
k = round(c(k_known, k_unknown), 4))
## Plan n k
## 1 Sigma conocida 14 1.7112
## 2 Sigma desconocida 34 1.7169
p <- seq(0, 0.20, 0.001)
plan1 <- OCvar(n = n_known, k = k_known, pd = p, s.type = "known")
plan2 <- OCvar(n = n_unknown, k = k_unknown, pd = p, s.type = "unknown")
plot(p, plan1@paccept, type = "l", lty = 1, col = 1,
xlab = "Proporción de no conformidades",
ylab = "Probabilidad de aceptación",
main = "Curvas OC - Muestreo por variables")
lines(p, plan2@paccept, lty = 2, col = 2)
points(c(AQL, LTPD), c(1 - alfa, beta), pch = 19, col = 4)
legend("topright", c("Sigma conocida", "Sigma desconocida"),
lty = c(1, 2), col = c(1, 2))
Respuesta: con sigma desconocida se necesita n = 34 frente a n = 14 con sigma conocida.
¿A qué se debe la diferencia? Cuando no se conoce la desviación estándar del proceso, hay que estimarla con la muestra (S). Como S también varía de una muestra a otra, hay más incertidumbre en el estadístico \((\bar{x}-LEI)/S\), y se necesita una muestra mayor para cumplir con los mismos riesgos. Cuando sigma es conocida se tiene información adicional del proceso y basta una muestra más pequeña.
Se usa el plan del literal b (sigma desconocida).
xbar <- 0.73
S <- 0.018
Q_L <- (xbar - LEI) / S
Q_L
## [1] 1.666667
k_unknown
## [1] 1.716943
decision <- ifelse(Q_L >= k_unknown, "ACEPTAR el lote", "RECHAZAR el lote")
decision
## [1] "RECHAZAR el lote"
xbar_critico <- LEI + k_unknown * S
xbar_critico
## [1] 0.730905
\[ Q_L = \frac{0.73 - 0.70}{0.018} \]
Respuesta: Q_L = 1.6667 frente a k = 1.7169. Por lo tanto, se debe: RECHAZAR el lote.
Criterio para el inspector: con una muestra de n = 34 piezas, calcular \(\bar{x}\) y S, y aceptar el lote si:
\[ \bar{x} \geq 0.70 + k \cdot S \]
Con S = 0.018, el promedio mínimo para aceptar es 0.7309 \(g/cm^3\). El promedio obtenido es 0.73, así que no lo alcanza.
Interpretación: aunque el promedio de densidad (0.73) es mayor que el límite mínimo (0.70), eso no basta: también hay que tener en cuenta la variación entre las piezas. Con S = 0.018, el estadístico Q_L = 1.6667 es inferior al valor de k que exige el plan, por lo que el lote se rechaza.
Pa_AQL <- OCvar(n = n_unknown, k = k_unknown, pd = AQL, s.type = "unknown")@paccept
Pa_LTPD <- OCvar(n = n_unknown, k = k_unknown, pd = LTPD, s.type = "unknown")@paccept
data.frame(p = c(AQL, LTPD),
Pa_obtenida = round(c(Pa_AQL, Pa_LTPD), 4),
Pa_requerida = c(1 - alfa, beta))
## p Pa_obtenida Pa_requerida
## 1 0.02 0.9000 0.90
## 2 0.10 0.0582 0.06
Un ingenio azucarero quiere evitar enviar lotes con sacos bajos de peso. El peso objetivo es de 50 kg y un saco con 49.8 kg o menos se considera bajo de peso. Se usa muestreo de aceptación por variables con la MIL STD 414 y el método M.
N <- 2500 # tamaño del lote
AQL <- 0.15 # AQL en %
LIE <- 49.8 # límite inferior de especificación (kg); no hay LSE
Solo importa que el saco no pese menos de 49.8 kg, por lo tanto la especificación es unilateral inferior.
Regla del método M: se rechaza el lote si \(P_i > M\).
Paso 1 - Letra código (Tabla 1): lote de 1301 a 3200 y nivel de inspección IV, entonces la letra código es L.
Paso 2 - n y M (Tabla 2, variabilidad desconocida): fila L y columna AQL = 0.15.
n <- 40 # fila L
M_normal <- 0.566 # % inspección normal, AQL 0.15
M_severa <- 0.401 # % inspección severa, AQL 0.15
Respuesta: letra L, n = 40 y M = 0.566% (inspección normal).
xbar <- 50.05
s <- 0.1
Z_LIE <- (xbar - LIE) / s
Z_LIE
## [1] 2.5
Con Z y n se obtiene el porcentaje estimado de no conformes (el valor que da la tabla de estimación de MIL STD 414):
Pi <- 100 * pbeta(0.5 * (1 - Z_LIE * sqrt(n) / (n - 1)), (n - 2) / 2, (n - 2) / 2)
Pi
## [1] 0.4725395
\[ \text{Si } P_i > M \Rightarrow \text{rechazar};\qquad \text{Si } P_i \le M \Rightarrow \text{aceptar} \]
cat("Pi =", round(Pi, 3), "% vs M =", M_normal, "%\n")
## Pi = 0.473 % vs M = 0.566 %
if (Pi > M_normal) {
cat("RECHAZA el lote\n")
} else {
cat("ACEPTA el lote\n")
}
## ACEPTA el lote
Respuesta: Pi = 0.473% y M = 0.566%. Con inspección normal, se acepta el lote.
Se toman los mismos datos (mismo Pi) y se compara con el M de inspección severa:
cat("Pi =", round(Pi, 3), "% vs M =", M_severa, "%\n")
## Pi = 0.473 % vs M = 0.401 %
if (Pi > M_severa) {
cat("RECHAZA el lote\n")
} else {
cat("ACEPTA el lote\n")
}
## RECHAZA el lote
Respuesta: Pi = 0.473% y M = 0.401%. Con inspección severa, se rechaza el lote. La decisión cambia con los mismos datos.
Se mantienen las condiciones del punto 1 (p1 = 2%, \(\alpha\) = 10%, p2 = 10%, \(\beta\) = 6%).
AQL <- 0.02
alfa <- 0.10
LTPD <- 0.10
beta <- 0.06
Plan3 <- find.plan(PRP = c(AQL, 1 - alfa),
CRP = c(LTPD, beta),
type = "binomial")
Plan3
## $n
## [1] 73
##
## $c
## [1] 3
##
## $r
## [1] 4
n_attr <- Plan3$n
c_attr <- Plan3$c
Respuesta: el tamaño de muestra es n = 73, el número de aceptación es c = 3 y el número de rechazo es d = 4. Si en la muestra hay 3 o menos unidades defectuosas se acepta el lote; si hay 4 o más, se rechaza.
p <- seq(0, 0.14, 0.001)
plan1_curva <- OCvar(n = n_known, k = k_known, pd = p, s.type = "known")
plan2_curva <- OCvar(n = n_unknown, k = k_unknown, pd = p, s.type = "unknown")
plan3_curva <- OC2c(n = n_attr, c = c_attr, type = "binomial", pd = p)
plot(p, plan1_curva@paccept, type = "l", lty = 1, col = "black",
main = "Curvas características de operación",
xlab = "Proporción de no conformes", ylab = "Probabilidad de aceptación")
lines(p, plan2_curva@paccept, lty = 2, col = "blue")
lines(p, plan3_curva@paccept, lty = 4, col = "red")
legend("topright",
c("Variable con sigma conocida", "Variable con sigma desconocida", "Atributo simple"),
lty = c(1, 2, 4), col = c("black", "blue", "red"))
grid()
Respuesta: el plan por atributos requiere inspeccionar 73 unidades, el plan por variables con sigma desconocida 34 y el plan por variables con sigma conocida 14. Los planes por variables requieren menos unidades, y el de sigma conocida es el que requiere menos. Esto se debe a que el plan por variables usa el valor medido de cada pieza y no solo si es conforme o no, es decir, extrae más información de cada unidad inspeccionada.
Si medir la densidad exige un ensayo de laboratorio costoso y destructivo, y clasificar una pieza como conforme o no conforme es rápido y económico, se recomienda el plan por atributos, siempre que el costo de cada medición de laboratorio sea bastante mayor que el de una clasificación. Con el plan por variables se inspeccionan menos piezas, pero cada una cuesta más y además se destruye. El costo total aproximado es (costo por pieza) x n, así que los atributos (n = 73) resultan más económicos solo si una medición cuesta más de 2.15 veces lo que cuesta una clasificación (usando el plan de sigma desconocida, n = 34). Además, el plan por atributos funciona sin importar la distribución de la variable, mientras que el de variables supone normalidad.
Otros factores a tener en cuenta: