Lección 07 — Estimaciones de duración (a, m, b)
Media y varianza PERT, Beta-PERT, triangular y uniforme; quién aporta varianza
Qué se aprende
A convertir tres estimaciones por actividad (optimista, más probable, pesimista) en una duración media y una varianza, a entender de dónde salen las fórmulas del PERT y a compararlas con otras distribuciones con los mismos extremos.
Conceptos
Cuando la duración de una actividad es incierta se piden tres valores: optimista \(a\) (si todo va bien), más probable \(m\) (moda) y pesimista \(b\) (si todo va mal). El método PERT clásico supone que la duración sigue una distribución Beta en \([a, b]\) con moda \(m\) y aproxima su media y su varianza por
\[D = \frac{a + 4m + b}{6}, \qquad \sigma^2 = \left(\frac{b - a}{6}\right)^2 .\]
La media es una media ponderada que da cuatro veces más peso a la moda que a cada extremo; la desviación típica es un sexto del recorrido, por analogía con una normal en la que \(b - a \approx 6\sigma\) cubre casi toda la probabilidad.
Beta-PERT. La Beta concreta que cumple esa media tiene parámetros \(\alpha = 1 + 4\frac{m-a}{b-a}\) y \(\beta = 1 + 4\frac{b-m}{b-a}\) sobre \([a, b]\). Su varianza exacta es \(\frac{(D-a)(b-D)}{7}\); para el caso simétrico (\(m\) en el centro) vale \((b-a)^2/28\), algo mayor que \((b-a)^2/36\): la fórmula del PERT subestima ligeramente la varianza.
Otras distribuciones con los mismos extremos. Para comparar:
| Distribución | Media | Varianza |
|---|---|---|
| Beta-PERT (aprox.) | \((a + 4m + b)/6\) | \(((b-a)/6)^2\) |
| Triangular\((a, m, b)\) | \((a + m + b)/3\) | \((a^2 + m^2 + b^2 - am - ab - mb)/18\) |
| Uniforme\([a, b]\) | \((a + b)/2\) | \((b-a)^2/12\) |
La uniforme es la más prudente (mayor varianza): no concentra probabilidad cerca de la moda. La triangular da más peso a los extremos que la Beta-PERT. Cuando \(m\) está descentrado, las medias también difieren: la PERT se queda más cerca de la moda.
Asimetría. Si la cola pesimista es larga (\(b - m > m - a\)), la media PERT queda por encima de la moda: los retrasos posibles pesan más que los adelantos. Es la situación habitual en proyectos.
Problema inverso. De \(D = (a + 4m + b)/6\) se despeja cualquiera de los tres datos: \(a = 6D - 4m - b\), etc. Sirve para reconstruir estimaciones perdidas o para preguntar «¿cuál debería ser la pesimista para que la media fuera \(D\)?».
Ejemplo
Actividad C con \(a = 2\), \(m = 4\), \(b = 9\):
\[D = \frac{2 + 16 + 9}{6} = 4.5, \qquad \sigma^2 = \left(\frac{9 - 2}{6}\right)^2 = 1.361, \qquad \sigma = 1.167.\]
La triangular daría media \((2 + 4 + 9)/3 = 5\) y varianza \((4 + 16 + 81 - 8 - 18 - 36)/18 = 2.17\); la uniforme, media 5.5 y varianza 4.08.
Con las medias de todas las actividades se calcula el calendario como si fueran deterministas (lecciones 03–05); las varianzas sólo intervienen en la probabilidad de cumplir un plazo (lección 08). Una actividad de duración fija (\(a = m = b\)) aporta media pero varianza cero.
Qué hay que vigilar
- Las fórmulas no son «la» media y varianza de la Beta: son una aproximación clásica. Para simular (lección 09) conviene muestrear la Beta-PERT real o la triangular, no una normal recortada.
- Redondear la media a entero para usar la librería (que trabaja con duraciones enteras) es una simplificación; la varianza se conserva sin redondear.
- Las estimaciones son opiniones: su calidad depende de quién las da y de cómo se pregunta (pedir primero la pesimista evita anclarse en la más probable).
Con pmULE
datos['duration'] = datos.eval('(a + 4 * m + b) / 6')
datos['variance'] = datos.eval('((b - a) / 6) ** 2')
duraciones = datos['duration'].round().astype(int)
proyecto.duration(duraciones); proyecto.display_critical_path(duraciones)Qué practica cada variante
tres-estimaciones: medias y varianzas con los números sustituidos, calendario con las medias, reconstrucción de un dato perdido, comparación Beta-PERT / triangular / uniforme. deterministas: algunas actividades de duración fija; quién aporta varianza al proyecto y quién no.