Kevin Daniel Diaz Ortega - 2419590
Lili Sofía
Cruz García - 2417663
Oscar Eduardo Males Muñoz - 2418427
En este taller se diseñan y comparan planes de muestreo de aceptación por variables y por atributos, utilizando los procedimientos y las tablas estudiados en Control de Calidad. En cada literal se presenta la pregunta del taller, el desarrollo en R y la respuesta interpretada, de modo que sea sencillo seguir la solución y sus resultados.
La decisión de aceptar o rechazar un lote se toma bajo riesgos establecidos para el productor (\(\alpha\)) y el consumidor (\(\beta\)). Un lote aceptado no significa que todas sus unidades sean conformes; significa que cumple la regla probabilística del plan seleccionado.
Herramientas: funciones de R base
(qnorm, pnorm, qt,
pt, pbinom, pbeta), gráficos
básicos y knitr::kable para las tablas. No es necesario
instalar los paquetes especializados para ejecutar este documento. Las
reglas siguen los ejercicios y el material de clase proporcionados.
Se requiere que la densidad de las piezas de plástico utilizadas en teléfonos celulares sea de al menos 0,70 g/cm³. Las piezas se reciben en lotes grandes. Se necesita un plan que acepte con probabilidad del 90 % los lotes con 2 % de unidades no conformes y con probabilidad de apenas 6 % los lotes con 10 % de unidades no conformes.
Esto corresponde a un límite inferior de especificación (LIE) y a los dos puntos de riesgo de la curva característica de operación (OC):
\[ P_a(p_1=0.02)\geq 0.90,\qquad P_a(p_2=0.10)\leq 0.06. \]
#======================================================#
# EJERCICIO 1 - DATOS
#======================================================#
LIE_1 <- 0.70 # g/cm3
AQL_1 <- 0.02 # Calidad aceptable
alpha_1 <- 0.10 # Riesgo del productor
LTPD_1 <- 0.10 # Calidad rechazable
beta_1 <- 0.06 # Riesgo del consumidor
Pa_AQL_1 <- 1 - alpha_1
Pa_LTPD_1 <- beta_1
knitr::kable(
data.frame(
Parametro = c("LIE", "AQL", "Riesgo del productor (alfa)",
"LTPD", "Riesgo del consumidor (beta)"),
Valor = c("0.70 g/cm3", "2%", "10%", "10%", "6%")
),
caption = "Condiciones de diseño del plan por variables"
)| Parametro | Valor |
|---|---|
| LIE | 0.70 g/cm3 |
| AQL | 2% |
| Riesgo del productor (alfa) | 10% |
| LTPD | 10% |
| Riesgo del consumidor (beta) | 6% |
Encuentre el plan de muestreo \((n,k)\) por el método k, suponiendo que la desviación estándar del proceso es conocida.
Cuando la desviación estándar poblacional (\(\sigma\)) es conocida, el criterio de aceptación para una especificación inferior es:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{\sigma}\geq k. \]
Para una característica normalmente distribuida, la probabilidad de aceptar un lote con proporción de no conformes \(p\) se expresa como:
\[ P_a(p)=\Phi\left[\sqrt n\left(z_{1-p}-k\right)\right]. \]
El tamaño teórico de muestra se obtiene mediante los dos puntos OC:
\[ n=\left(\frac{z_{1-\alpha}-z_{\beta}}{z_{1-p_1}-z_{1-p_2}}\right)^2. \]
Luego se redondea hacia arriba y se calcula la constante de aceptación a partir del punto del productor:
\[ k=z_{1-p_1}-\frac{z_{1-\alpha}}{\sqrt n}. \]
#------------------------------------------------------#
# A. DESVIACION ESTANDAR CONOCIDA
#------------------------------------------------------#
z_AQL <- qnorm(1 - AQL_1)
z_LTPD <- qnorm(1 - LTPD_1)
n_teorico_conocida <- ((qnorm(Pa_AQL_1) - qnorm(Pa_LTPD_1)) /
(z_AQL - z_LTPD))^2
n_conocida <- ceiling(n_teorico_conocida)
k_conocida <- z_AQL - qnorm(Pa_AQL_1)/sqrt(n_conocida)
# Probabilidad de aceptacion de un plan k con sigma conocida
Pa_k_conocida <- function(p, n, k) {
pnorm(sqrt(n) * (qnorm(1 - p) - k))
}
Pa_conocida_AQL <- Pa_k_conocida(AQL_1, n_conocida, k_conocida)
Pa_conocida_LTPD <- Pa_k_conocida(LTPD_1, n_conocida, k_conocida)
cat("Tamaño teórico de muestra:", round(n_teorico_conocida, 4), "\n")## Tamaño teórico de muestra: 13.4914
## Tamaño entero (n): 14
## Constante de aceptación (k): 1.71124
knitr::kable(
data.frame(
Punto = c("AQL = 2%", "LTPD = 10%"),
Pa_obtenida = sprintf("%.4f%%", 100*c(Pa_conocida_AQL, Pa_conocida_LTPD)),
Exigencia = c("Al menos 90%", "Como máximo 6%"),
Cumple = c(Pa_conocida_AQL >= Pa_AQL_1,
Pa_conocida_LTPD <= Pa_LTPD_1)
),
caption = "Verificación de los dos puntos OC (sigma conocida)"
)| Punto | Pa_obtenida | Exigencia | Cumple |
|---|---|---|---|
| AQL = 2% | 90.0000% | Al menos 90% | TRUE |
| LTPD = 10% | 5.3945% | Como máximo 6% | TRUE |
El plan por variables con desviación conocida es \(n =\) 14 y \(k =\) 1.7112. Se seleccionan 14 piezas y se acepta el lote cuando \(\left(\bar{x}-0.70\right)/\sigma\geq\) 1.7112. El plan cumple los dos riesgos requeridos: \(P_a(2\%) =\) 90 % y \(P_a(10\%) =\) 5.395 %.
Encuentre el plan suponiendo ahora que la desviación estándar es desconocida y debe estimarse con la muestra. Compare los tamaños de muestra de ambos planes y explique a qué se debe la diferencia.
Cuando \(\sigma\) no se conoce, debe estimarse mediante la desviación estándar muestral (\(S\)). El estadístico de decisión sigue siendo \(Z_{LIE}=(\bar{x}-LIE)/S\), pero su distribución muestral ya no es normal estándar: se utiliza una distribución t no central.
\[ T=\sqrt{n}\,\frac{\bar{x}-LIE}{S},\qquad T\sim t_{n-1}\left(\delta=\sqrt{n}\,z_{1-p}\right). \]
La probabilidad de aceptación se obtiene como \(P(T\geq k\sqrt{n})\). Para buscar el tamaño mínimo se recorren tamaños enteros \(n\) y se determina si existe un valor \(k\) que satisfaga simultáneamente ambos puntos de riesgo.
#------------------------------------------------------#
# B. DESVIACION ESTANDAR DESCONOCIDA
#------------------------------------------------------#
# La t no central permite evaluar los riesgos al estimar sigma con S.
n_desconocida <- NA_integer_
k_desconocida <- NA_real_
for (n_candidato in 2:500) {
gl <- n_candidato - 1
# El riesgo del productor exige k <= k_maximo.
k_maximo <- qt(alpha_1, df = gl,
ncp = sqrt(n_candidato)*z_AQL) / sqrt(n_candidato)
# El riesgo del consumidor exige k >= k_minimo.
k_minimo <- qt(1 - beta_1, df = gl,
ncp = sqrt(n_candidato)*z_LTPD) / sqrt(n_candidato)
if (k_minimo <= k_maximo) {
n_desconocida <- n_candidato
k_desconocida <- k_maximo
break
}
}
if (is.na(n_desconocida)) stop("No se encontró un plan viable.")
Pa_k_desconocida <- function(p, n, k) {
pt(k*sqrt(n), df = n-1, ncp = sqrt(n)*qnorm(1-p),
lower.tail = FALSE)
}
Pa_desconocida_AQL <- Pa_k_desconocida(AQL_1, n_desconocida, k_desconocida)
Pa_desconocida_LTPD <- Pa_k_desconocida(LTPD_1, n_desconocida, k_desconocida)
diferencia_n <- n_desconocida - n_conocida
cat("Plan con sigma desconocida: n =", n_desconocida,
"; k =", round(k_desconocida, 6), "\n")## Plan con sigma desconocida: n = 34 ; k = 1.716952
## Pa(2%): 90 %
## Pa(10%): 5.82 %
knitr::kable(
data.frame(
Condicion = c("Sigma conocida", "Sigma desconocida"),
n = c(n_conocida, n_desconocida),
k = round(c(k_conocida, k_desconocida), 4),
Pa_AQL = sprintf("%.3f%%",100*c(Pa_conocida_AQL,Pa_desconocida_AQL)),
Pa_LTPD = sprintf("%.3f%%",100*c(Pa_conocida_LTPD,Pa_desconocida_LTPD))
),
caption = "Comparación de planes por variables"
)| Condicion | n | k | Pa_AQL | Pa_LTPD |
|---|---|---|---|---|
| Sigma conocida | 14 | 1.7112 | 90.000% | 5.395% |
| Sigma desconocida | 34 | 1.7170 | 90.000% | 5.820% |
Con desviación desconocida se obtiene el plan \(n =\) 34 y \(k =\) 1.717. Se inspeccionan 20 unidades adicionales con respecto al caso de \(\sigma\) conocida. Esto sucede porque calcular \(S\) introduce incertidumbre adicional; la muestra debe ser más grande para mantener la protección exigida al productor y al consumidor.
Con el plan del literal b, se tomó una muestra del tamaño indicado y se obtuvo un promedio de \(0,73\;\mathrm{g/cm^3}\) y una desviación estándar \(S=0,018\;\mathrm{g/cm^3}\). ¿Cuál es la decisión a tomar? Exprese también el criterio de aceptación en términos de \(\bar{x}\), de forma que pueda aplicarlo directamente el inspector.
Se dispone de una muestra de tamaño 34, con media \(\bar{x}=0.73\) g/cm³ y desviación estándar \(S=0.018\) g/cm³. El inspector debe comprobar:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{S}\geq k. \]
Despejando la media, se obtiene una regla sencilla para aplicación directa:
\[ \boxed{\bar{x}\geq LIE+kS}. \]
#------------------------------------------------------#
# C. DECISION DEL LOTE
#------------------------------------------------------#
xbarra_1 <- 0.73
S_1 <- 0.018
Z_LIE_1 <- (xbarra_1 - LIE_1)/S_1
xbarra_minima_1 <- LIE_1 + k_desconocida*S_1
decision_1 <- if (Z_LIE_1 >= k_desconocida) "ACEPTAR" else "RECHAZAR"
cat("Estadístico Z_LIE:", round(Z_LIE_1, 6), "\n")## Estadístico Z_LIE: 1.666667
## Constante k: 1.716952
## Media mínima para aceptar: 0.730905 g/cm3
## Media observada: 0.73 g/cm3
## DECISIÓN: RECHAZAR EL LOTE
Se obtiene \(Z_{LIE}=\) 1.6667, menor que el valor crítico \(k=\) 1.717. La media debe ser, como mínimo, 0.730905 g/cm³, pero se encontró 0,730 g/cm³. Por lo tanto, corresponde RECHAZAR el lote.
Para futuras muestras con tamaño 34, el inspector puede usar directamente la regla \(\bar{x}\geq 0.70+\) 1.717 \(\times S\). No basta con que la media supere 0,70: también se debe tener en cuenta la variabilidad.
Un ingenio recibe lotes de 2.500 sacos de azúcar. Los sacos de 49,8 kg o menos se consideran de bajo peso. Se requiere diseñar un plan según MIL-STD-414, con nivel general de inspección IV, AQL de 0,15 %, inspección normal y desviación estándar desconocida. Posteriormente se evaluará la misma muestra bajo inspección severa.
En este caso solo existe un límite inferior de especificación. El método M compara el porcentaje de no conformes estimado (\(P_i\)) con el valor máximo admisible (\(M\)) de la tabla.
#======================================================#
# EJERCICIO 2 - DATOS
#======================================================#
N_2 <- 2500
LIE_2 <- 49.8
AQL_2 <- 0.0015 # 0.15% como proporción
nivel_2 <- "IV"
xbarra_2 <- 50.05
S_2 <- 0.1
cat("Tamaño del lote:", N_2, "sacos\n")## Tamaño del lote: 2500 sacos
## LIE: 49.8 kg
## Nivel de inspección: IV
## AQL: 0.15 %
Enuncie el plan de muestreo correspondiente: letra código, tamaño de muestra \(n\) y máximo porcentaje admisible \(M\).
Se utilizan las tablas MIL-STD-414 presentadas en las diapositivas 17 y 18 de 6. Planes de muestreo por Variables:
Estos valores proceden de las tablas del curso; se escriben como parámetros, no se calculan con una distribución de probabilidad.
#------------------------------------------------------#
# A. CONSULTA DE LAS TABLAS MIL-STD-414
#------------------------------------------------------#
letra_codigo_2 <- "L"
n_2 <- 40
M_normal_pct_2 <- 0.566
M_severa_pct_2 <- 0.401
# Convertimos los porcentajes a proporciones para comparar con Pi.
M_normal_2 <- M_normal_pct_2/100
M_severa_2 <- M_severa_pct_2/100
knitr::kable(
data.frame(
Inspeccion = c("Normal", "Severa"),
Letra = c(letra_codigo_2, letra_codigo_2),
n = c(n_2, n_2),
M_porcentaje = sprintf("%.3f%%", c(M_normal_pct_2, M_severa_pct_2))
),
caption = "Plan seleccionado con las tablas MIL-STD-414"
)| Inspeccion | Letra | n | M_porcentaje |
|---|---|---|---|
| Normal | L | 40 | 0.566% |
| Severa | L | 40 | 0.401% |
Bajo inspección normal, se emplea la letra código L, una muestra de 40 sacos y un máximo admisible \(M=\) 0.566 %. Se aceptará el lote si el porcentaje estimado de sacos bajos de peso no supera dicho máximo.
Si se realiza el muestreo de las \(n\) unidades indicadas por el plan y se encuentra una media muestral de 50,05 kg y una desviación estándar de 0,1 kg, ¿se acepta o no dicho lote?
De la muestra se obtiene \(\bar{x}=50.05\) kg y \(S=0.1\) kg. Se calcula:
\[ Z_{LIE}=\frac{\bar{x}-LIE}{S}. \]
Dado que \(\sigma\) es desconocida, el procedimiento M estima \(P_i\) mediante las tablas de conversión correspondientes. Para obtener el mismo resultado en R base se utiliza la función beta incompleta, equivalente al estimador de la tabla para \(S\) desconocida:
\[ P_i=F_{\mathrm{Beta}(n/2-1,\ n/2-1)}\left(\frac12-\frac{Z_{LIE}\sqrt n}{2(n-1)}\right), \]
limitando el argumento de la función beta al intervalo \([0,1]\). Esta expresión reproduce los valores de la tabla utilizada en clase. Regla de decisión: aceptar si \(P_i\leq M\); rechazar si \(P_i>M\).
#------------------------------------------------------#
# B. PORCENTAJE ESTIMADO DE NO CONFORMES
#------------------------------------------------------#
# Implementación sin paquetes extra del método M, sigma desconocida.
EPn_inferior_desconocida <- function(LSL, xbar, s, n) {
if (n <= 2 || s <= 0) stop("Se requiere n > 2 y s > 0")
z <- (xbar - LSL)/s
x_beta <- 0.5 - 0.5*z*sqrt(n)/(n-1)
x_beta <- max(0, min(1, x_beta))
pbeta(x_beta, shape1 = n/2-1, shape2 = n/2-1)
}
Z_LIE_2 <- (xbarra_2 - LIE_2)/S_2
Pi_2 <- EPn_inferior_desconocida(LIE_2, xbarra_2, S_2, n_2)
decision_normal_2 <- if (Pi_2 <= M_normal_2) "ACEPTAR" else "RECHAZAR"
cat("Z_LIE =", round(Z_LIE_2, 4), "\n")## Z_LIE = 2.5
## Porcentaje estimado Pi = 0.472539 %
## Máximo M (normal) = 0.566 %
## DECISIÓN: ACEPTAR EL LOTE
El estadístico es \(Z_{LIE}=\) 2.5 y se estima \(P_i=\) 0.4725 % de sacos bajo el límite. Como 0.4725 % es menor que \(M=\) 0.566 %, la decisión bajo inspección normal es ACEPTAR el lote.
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?
La norma mantiene la letra código y el tamaño de muestra, pero reduce el porcentaje máximo admitido. El mismo \(P_i\) debe compararse ahora con \(M=0,401\%\).
#------------------------------------------------------#
# C. INSPECCION SEVERA
#------------------------------------------------------#
decision_severa_2 <- if (Pi_2 <= M_severa_2) "ACEPTAR" else "RECHAZAR"
knitr::kable(
data.frame(
Inspeccion = c("Normal", "Severa"),
n = c(n_2, n_2),
Pi_estimado = sprintf("%.4f%%", 100*Pi_2),
M_admisible = sprintf("%.3f%%", c(M_normal_pct_2, M_severa_pct_2)),
Decision = c(decision_normal_2, decision_severa_2)
),
caption = "Comparación de decisiones en inspección normal y severa"
)| Inspeccion | n | Pi_estimado | M_admisible | Decision |
|---|---|---|---|---|
| Normal | 40 | 0.4725% | 0.566% | ACEPTAR |
| Severa | 40 | 0.4725% | 0.401% | RECHAZAR |
Sí cambia la decisión. Como el porcentaje estimado es 0.4725 %, que supera el máximo 0.401 %, el lote se debe RECHAZAR bajo inspección severa. Para el ingenio esto implica un control más estricto, gestionar el lote no aceptado conforme al procedimiento interno y revisar las causas de los problemas de peso.
Se toman nuevamente las condiciones del ejercicio 1: \(p_1=2\%\), \(\alpha=10\%\), \(p_2=10\%\) y \(\beta=6\%\). Debe diseñarse un plan simple por atributos y compararse con los planes por variables.
Como el enunciado indica que se reciben grandes lotes, se usa el modelo binomial para contar piezas no conformes. Para este plan, \(n\) es la muestra y \(c\) es la cantidad máxima de no conformes que permite aceptar el lote:
\[ P_a(p)=P(D\leq c)=\sum_{d=0}^{c}{n\choose d}p^d(1-p)^{n-d}. \]
Diseñe un plan de muestreo simple por atributos \((n,c)\) que cumpla con ambos puntos de la curva OC.
Se buscan valores enteros de \(n\) y \(c\) que cumplan las dos condiciones:
\[ P_a(0.02)\geq 0.90,\qquad P_a(0.10)\leq 0.06. \]
Se examinan tamaños muestrales crecientes hasta obtener el primer plan que satisface simultáneamente ambos riesgos.
#======================================================#
# EJERCICIO 3 - PLAN SIMPLE POR ATRIBUTOS
#======================================================#
plan_atributos <- NULL
for (n_candidato in 1:500) {
for (c_candidato in 0:n_candidato) {
Pa_bueno <- pbinom(c_candidato, size = n_candidato, prob = AQL_1)
Pa_malo <- pbinom(c_candidato, size = n_candidato, prob = LTPD_1)
if (Pa_bueno >= Pa_AQL_1 && Pa_malo <= Pa_LTPD_1) {
plan_atributos <- list(
n = n_candidato, c = c_candidato,
Pa_AQL = Pa_bueno, Pa_LTPD = Pa_malo
)
break
}
}
if (!is.null(plan_atributos)) break
}
if (is.null(plan_atributos)) stop("No se encontró plan en el rango evaluado.")
n_atributos <- plan_atributos$n
c_atributos <- plan_atributos$c
cat("Plan obtenido: n =", n_atributos, "; c =", c_atributos, "\n")## Plan obtenido: n = 73 ; c = 3
## Pa(AQL) = 94.1157 %
## Pa(LTPD) = 5.7952 %
knitr::kable(
data.frame(
Punto = c("AQL = 2%", "LTPD = 10%"),
Pa = sprintf("%.4f%%", 100*c(plan_atributos$Pa_AQL,
plan_atributos$Pa_LTPD)),
Condicion = c("Al menos 90%", "Como máximo 6%"),
Cumple = c(plan_atributos$Pa_AQL >= Pa_AQL_1,
plan_atributos$Pa_LTPD <= Pa_LTPD_1)
),
caption = "Verificación de riesgos del plan simple por atributos"
)| Punto | Pa | Condicion | Cumple |
|---|---|---|---|
| AQL = 2% | 94.1157% | Al menos 90% | TRUE |
| LTPD = 10% | 5.7952% | Como máximo 6% | TRUE |
El plan mínimo encontrado es \(n=\) 73, \(c=\) 3. Se inspeccionan 73 piezas y se acepta el lote si se encuentran 3 o menos unidades no conformes. Si aparecen más de 3, se rechaza. Sus probabilidades de aceptación en los dos puntos son 94.116 % y 5.795 %, por lo que satisface las condiciones establecidas.
Compare el tamaño de muestra de este plan con los de los planes por variables obtenidos en el punto 1. ¿Cuál requiere menos unidades inspeccionadas?
#------------------------------------------------------#
# B. TABLA COMPARATIVA DE LOS TRES PLANES
#------------------------------------------------------#
tabla_comparacion <- data.frame(
Plan = c("Variables, sigma conocida",
"Variables, sigma desconocida",
"Atributos, plan simple"),
Muestra_n = c(n_conocida, n_desconocida, n_atributos),
Regla = c(sprintf("k = %.4f", k_conocida),
sprintf("k = %.4f", k_desconocida),
sprintf("c = %d", c_atributos))
)
knitr::kable(tabla_comparacion,
caption = "Comparación de tamaños muestrales")| Plan | Muestra_n | Regla |
|---|---|---|
| Variables, sigma conocida | 14 | k = 1.7112 |
| Variables, sigma desconocida | 34 | k = 1.7170 |
| Atributos, plan simple | 73 | c = 3 |
cat("Atributos vs. variables con sigma desconocida:",
n_atributos-n_desconocida, "unidades adicionales\n")## Atributos vs. variables con sigma desconocida: 39 unidades adicionales
cat("Atributos vs. variables con sigma conocida:",
n_atributos-n_conocida, "unidades adicionales\n")## Atributos vs. variables con sigma conocida: 59 unidades adicionales
El plan que requiere menos unidades inspeccionadas es el de variables con desviación conocida, con 14 piezas. El plan por variables con desviación desconocida requiere 34, mientras que el plan por atributos necesita 73. Por tanto, los planes por variables son más eficientes en cantidad de inspecciones, aunque esto no asegura que sean los más económicos.
Si medir la densidad exige un ensayo de laboratorio costoso y destructivo, mientras que clasificar una pieza como conforme o no conforme es rápido y económico, ¿qué plan recomendaría? ¿Qué otros factores tendría en cuenta?
Si medir densidad exige una prueba de laboratorio costosa y destructiva, pero la clasificación por atributos es rápida y barata, el número de muestras por sí solo no basta para escoger el método.
Definamos los costos variables por unidad examinada:
\[ C_{\mathrm{atributos}}=n_a\,C_a,\qquad C_{\mathrm{variables}}=n_v\,C_v. \]
Para el caso en que \(\sigma\) es desconocida, el punto en que ambos costos variables se igualan es:
\[ \frac{C_v}{C_a}=\frac{n_a}{n_v}. \]
#------------------------------------------------------#
# C. UMBRAL DE COSTO PARA COMPARAR LOS PLANES
#------------------------------------------------------#
umbral_costos_desconocida <- n_atributos / n_desconocida
umbral_costos_conocida <- n_atributos / n_conocida
cat("Si sigma es desconocida, el ensayo por variables debe costar\n")## Si sigma es desconocida, el ensayo por variables debe costar
## menos de 2.147 veces el costo unitario de clasificar
## para tener menor costo variable que el plan por atributos.
## Si sigma es conocida, ese cociente es 5.214
Se recomendaría el plan por atributos, siempre que clasificar cada pieza como conforme o no conforme sea realmente un procedimiento confiable, rápido y no destructivo. Aunque exige revisar más unidades, podría evitar numerosos ensayos de laboratorio y reducir el costo total.
Con \(\sigma\) desconocida, si un ensayo por variables cuesta más de 2.147 veces lo que cuesta clasificar una pieza, el plan por atributos tendrá menor costo variable de inspección (sin incluir costos fijos).
Para decidir definitivamente también se tendrían en cuenta el costo de los equipos, el tiempo de ensayo, el valor de las piezas destruidas, la exactitud de las clasificaciones, la capacidad del laboratorio, la confiabilidad de las mediciones y las consecuencias de aceptar lotes de mala calidad. Importante: si clasificar una pieza requiere realizar el mismo ensayo destructivo de densidad, esa ventaja económica del plan por atributos ya no estaría garantizada.
Estas curvas permiten comparar cómo cambia la probabilidad de aceptar un lote a medida que aumenta la proporción de unidades no conformes. Los puntos de riesgo establecidos se muestran en el gráfico.
#------------------------------------------------------#
# GRAFICA DE LAS TRES CURVAS OC
#------------------------------------------------------#
P <- seq(0.001, 0.14, by = 0.001)
Pa_atributos <- pbinom(c_atributos, n_atributos, P)
Pa_variables_conocida <- Pa_k_conocida(P, n_conocida, k_conocida)
Pa_variables_desconocida <- sapply(
P, Pa_k_desconocida,
n = n_desconocida, k = k_desconocida
)
plot(P, Pa_atributos,
type = "l", lwd = 2, col = "#175CD3",
xlab = "Proporción de unidades no conformes (p)",
ylab = "Probabilidad de aceptación (Pa)",
main = "Curvas OC de los tres planes",
xlim = c(0, 0.14), ylim = c(0, 1))
lines(P, Pa_variables_conocida,
col = "#64748B", lwd = 2, lty = 2)
lines(P, Pa_variables_desconocida,
col = "#123B73", lwd = 2, lty = 3)
abline(v = c(AQL_1, LTPD_1), col = "gray50", lty = 3)
points(c(AQL_1, LTPD_1), c(Pa_AQL_1, Pa_LTPD_1),
pch = 19, col = "black")
grid()
legend("topright", bty = "n", cex = 0.72,
legend = c(sprintf("Atributos (n=%d, c=%d)", n_atributos, c_atributos),
sprintf("Variables, sigma conocida (n=%d)", n_conocida),
sprintf("Variables, sigma desconocida (n=%d)", n_desconocida),
"Puntos de diseño (AQL y LTPD)"),
col = c("#175CD3", "#64748B", "#123B73", "black"),
lty = c(1, 2, 3, NA), pch = c(NA, NA, NA, 19),
lwd = c(2, 2, 2, NA))Comparación de curvas OC para los planes por variables y atributos
Bermúdez Vera, I. M. (2026). Muestreo por variables [Presentación de clase]. Universidad del Valle, Control de Calidad.
Burr, I. (1976). Statistical quality control methods.
Duncan, A. J. (1989). Control de calidad y estadística industrial (5.ª ed.). Alfa Omega.
Gutiérrez Pulido, H. (2009). Control de calidad y Seis Sigma (2.ª ed.). McGraw-Hill.
Montgomery, D. C. (2004). Control estadístico de la calidad (3.ª ed.). Limusa Wiley.
Vargas, J. A. (2006). Control estadístico de calidad (1.ª ed.). Universidad Nacional.