Un proyecto es un proceso constituido por múltiples actividades con diferentes relaciones de dependencia. Estas actividades son tareas asociadas al proyecto y consumen un cierto tiempo de ejecución. A su vez, las actividades tienen ciertas relaciones de precedencia entre ellas, es decir, algunas tareas requieren que ciertas actividades hayan terminado (o empezado) para poder comenzar (o terminar). Luego de haber identificado todas las actividades asociadas a un proyecto, así como sus duraciones y relaciones de precedencia, es posible aplicar diversas técnicas de administración de proyectos para estimar el desempeño del proyecto. Para esta entrega del vLog analizaremos un caso práctico sobre la planeación y control de proyectos: - INTRODUCCIÓN. - CARACTERÍSTICAS DEL DSS. - VERIFICACIÓN DEL DESEMPEÑO DEL DSS. - RESULTADOS DE LA VERIFICACIÓN. - CONCLUSIONES. INTRODUCCIÓN. Las medidas de desempeño de un proyecto más difundidas son la duración (fecha de terminación) y el costo, ambas medidas dependen típicamente de las duraciones de las actividades del proyecto. Como se menciona en la mayoría de textos sobre Administración de Proyectos, la metodología tradicional para estimar la duración y el costo de un proyecto que se basa en la aplicación de las técnicas PERT/CPM (Taha 2006). El método de la ruta crítica (CPM) y la técnica de evaluación y revisión de proyectos (PERT) se han usado de los años 1950s para estimar la duración de un proyecto. El CPM permite encontrar la duración de un proyecto cuando se conoce con certeza las duraciones de las actividades, mientras que el PERT permite incorporar incertidumbre en estas duraciones, pero considera sólo las duraciones esperadas para identificar la ruta crítica, y en consecuencia, la validez de los métodos clásicos PERT/CPM depende de varios supuestos como lo son: - Las duraciones de las actividades son estadísticamente independientes. - Las relaciones de precedencia de una actividad deben ser del tipo finish to start (es decir, el precedente debe haber concluido para que la actividad siguiente pueda comenzar). - Se asume una única ruta crítica, que se determina con las duraciones esperadas de las actividades. En la realidad, es difícil que un proyecto complejo cumpla con estos supuestos, debido a que la incertidumbre en las duraciones de las actividades genera incertidumbre en la ruta crítica y, asimismo, las precedencias entre actividades pueden ser de algún tipo diferente a la tradicional finish to start (e.g., start to start). Es por esta razón que actualmente se están difundiendo métodos de análisis del desempeño de un proyecto utilizando técnicas más robustas que los métodos clásicos PERT/CPM, entre las que destacan las técnicas desimulación estocástica (Meredith y Mantel 2009). La incertidumbre asociada a las duraciones de las actividades se puede incorporar al análisis de un proyecto utilizando distribuciones de probabilidad, pero debido a las relaciones de precedencia, no es posible obtener expresiones analíticas para las estimaciones de las medidas de desempeño, por lo que la simulación es una herramienta apropiada para analizar el desempeño de un proyecto. El concepto de simulación se refiere a la imitación del comportamiento de un sistema por medio de un modelo cuyo desempeño puede evaluarse por computadora (Law 2006). Esta herramienta se utiliza principalmente cuando el modelo es complejo, en el sentido que no es posible obtener expresiones analíticas para las medidas de desempeño. Por otro lado, los métodos de simulación de Monte Carlo permiten generar variables aleatorias, por lo que se puede simular el desempeño de un modelo estocástico, como el que corresponde a un proyecto donde las duraciones de las actividades son variables aleatorias. Como se mencionó anteriormente, el uso de la simulación para estimar las medidas de desempeño de un proyecto ya se propone en la mayoría de libros de texto sobre Administración de Proyectos, así como en diversos artículos. Por ejemplo, la investigación de Lu y AbouRizk (2000) ilustra cómo se puede combinar la técnica PERT/CPM y la simulación de evento discreto para estimar el desempeño de un proyecto, proponiendo un método rápido para identificar la ruta crítica. Lee (2005) presenta un software (llamado SPSS), que tiene por finalidad estimar la probabilidad de que la duración de un proyecto no exceda un tiempo objetivo especificado por el usuario. Lee y Arditi (2006) describen una mejora sobre el software SPSS (lamado S3) que proporciona además un intervalo de confianza asintótico para medir la precisión del estimador, determinando además el número de repeticiones del experimento por simulación, con el objetivo de lograr una precisión deseada. Sin embargo, en los trabajos reportados todavía se asume un solo tipo de relación de precedencia (el clásico finish tostart). CARACTERÍSTICAS DEL DSS. Los datos introducidos en el DSS consisten en un listado detallado de las actividades de un proyecto, incluyendo datos sobre la duración y los precedentes de cada una de ellas. Se consideraron las siguientes relaciones de precedencia en el sistema (Chatfield y Johnson 2007): - Finish to start: la actividad puede empezar sólo si su precedente ha terminado, en adelante abreviado FS. - Start to start: la actividad puede empezar sólo si su precedente ha empezado, en adelante abreviado SS. - Finish to finish: la actividad puede terminar sólo si su precedente ha terminado, en adelante abreviado FF. - Start to finish: la actividad puede terminar sólo si su precedente ha empezado, en adelante abreviado SF. Asímismo, es posible agregar cierto retraso en el tiempo de inicio o finalización de una actividad utilizando actividades artificiales, también conocidas como "dummies". En la siguiente imagen se ilustran los diferentes tipos de relaciones de precedencia considerados, así como un ejemplo de una actividad artificial (cuadro en fondo claro) utilizada para que una actividad comience x días después de cumplirse una relación de precedencia FS.
La metodología clásica para calcular la ruta crítica de un proyecto, como la aborda el método CPM(Taha 2006; Muñoz 2009), se basa en el uso de un algoritmo que calcula el tiempo de inicio temprano (TITE), tiempo de terminación temprana (TTTE), tiempo de inicio tardío (TITA) y tiempo determinación tardía (TTTA) para cada actividad. Dicho algoritmo hace dos iteraciones, una “hacia delante” y otra “hacia atrás”. En la iteración “hacia delante” se calculan los TITE y los TTTE de las actividades en base a sus predecesoras, empezando por la primera actividad. Por otro lado, en la iteración “hacia atrás” se calculan el TITA y TTTA de las actividades en base a sus sucesoras,empezando por la última actividad. De esta manera, las actividades cuyo TITE es igual a su TITA (y en consecuencia TTTE es igual a TTTA) pertenecen a la ruta crítica, pues no existe holgura entre sus tiempos tempranos y tardíos. Cabe mencionar que este algoritmo sólo es capaz de trabajar con proyectos que manejan la precedencia FS en sus actividades. En la siguiente figura se presentan los cálculos necesarios para obtener la ruta crítica con este algoritmo.
Con el fin de identificar la ruta crítica en proyectos con más de un tipo de relación de precedencia, se desarrolló una variante del algoritmo clásico. Dicho algoritmo también se halla dividido en 2 iteraciones, una “hacia delante” y otra “hacia atrás”, en donde se calculan los TITE, TTTE, TITA y TTTA de cada actividad. Sin embargo, a diferencia del método clásico, se deben verificar varias condiciones adicionales correspondientes a cada tipo de relación de precedencia. En la siguiente imagen se presentan los cálculos requeridos para cada iteración del algoritmo propuesto, separando las restricciones de acuerdo a la precedencia que satisfacen. Cabe mencionar que los TITE y los TTTE son los menores valores que satisfacen las desigualdades, y en cambio los TITA y TTTA son los mayores valores que satisfacen las desigualdades. Por otro lado, se asume que la red que representa el proyecto no contiene ciclos, de manera que las actividades se pueden ordenar para resolver las actividades en secuencia, en cada una de las dos iteraciones.
Las duraciones de las actividades se modelaron con distribuciones triangulares, que se definen como en la técnica PERT a partir de 3 valores: optimista, más probable y pesimista. El DSS utiliza simulación de Monte Carlo para generar repeticiones del desempeño del proyecto. En cada repetición se simulan las duraciones de las actividades, la duración total y la ruta crítica del proyecto. De esta manera, para un número m de repeticiones, se calcula la duración media del proyecto, la probabilidad de que una actividad forme parte de la ruta crítica y medidas de precisión para ambos valores (anchos medios del intervalo de confianza)(Law 2006). En la siguiente figura se puede apreciar el pseudocódigo del DSS desarrollado. El valor
es llamado “ancho medio del (1−α )100% de confianza”, y es la medida de precisión de la estimación más usada en el ámbito de la simulación estocástica, donde zα denota al valor que cumple
, para 0 <α < 1, cuando Z es una variable aleatoria que sigue la distribución normal estándar. Una interpretación práctica del ancho medio es que la esperanza de la duración total se encuentra entre
con el (1−α )100% de confianza, y de manera similar se interpreta el ancho medio para el caso de la probabilidad de pertenecer a la ruta crítica.
La interfaz utilizada para el DSS fue ©Excel de Microsoft que, haciendo uso de macros en ©VBA (Visual Basic for Applications), hace llamados a procedimientos exportados hacia DLL generados desde ©VisualC++. En su versión actual, este prototipo permite ingresar, en la hoja de nombre “Ruta Critica”, las características de las actividades del proyecto: nombre, predecesores por cada tipo de relación de precedencia y duraciones mínima, mas probable y máxima. Luego de especificar el número de actividades a considerar y el número de repeticiones del experimento por simulación, los resultados de las estimaciones de la duración esperada del proyecto, así como de la probabilidad de formar parte de la ruta crítica, para cada actividad, se reportan en la hoja de nombre “Probabilidades”. VERIFICACIÓN DEL DESEMPEÑO DEL DSS. Como se ilustra en la figura anterior, cuando se estima un parámetro utilizando simulación estocástica, el experimento se repite para cuantificar la precisión del estimador, y el proceso de estimación debe ser consistente, lo que significa que el estimador por simulación debe aproximarse al parámetro a medida que se incrementa el número de repeticiones. Para comprobar, empíricamente, que el DSS desarrollado proporciona estimadores consistentes de los parámetros estimados, se utilizó un proyecto hipotético de 18 actividades (Torres 2008), y se replicó el experimento de estimación (figura anterior) un número M de veces para distintos valores de m. De esta manera, fue posible obtener valores para cierta medidas que sirven para verificar el correcto desempeño del DSS: cubrimiento empírico(CE), valores promedios y desviaciones estándar de los anchos medios, error cuadrático medio(MSE) y sesgo empírico, que se detallan a continuación. Sea hi el ancho medio obtenido en el experimento i , para i = 1,2,K,M , el promedio y la desviación estándar de los anchos medios son el promedio y la desviación estándar de los hi , respectivamente. Por otro lado, si i rˆ es el estimador del parámetro r (cuyo valor es conocido) obtenido en el experimento i , para i = 1,2,K,M , el error cuadrático medio se define por:
Es conveniente mencionar, que si el DSS se comporta satisfactoriamente, tanto el MSE como el sesgo y el promedio de los anchos medios deben tender a cero a medida que el número de repeticiones crece, mientras que el cubrimiento empírico debe aproximarse al nominal (1−α ). En la siguiente imagen se puede apreciar un diagrama del proyecto utilizado para correr los experimentos. Cabe señalar que los números a un lado de las precedencias indican que la actividad puede comenzar ese número de días después de cumplida la condición. En caso de no haber número, se asume un valor de cero.
RESULTADOS DE LA VERIFICACIÓN. Los primeros resultados que se reportan corresponden a una sola corrida del DSS con un valor de m muy grande (10 ), cuyos resultados se asumen como el valor real ( r ) para la duración esperada y las probabilidades de pertenecer a la ruta crítica (de cada actividad). La duración esperada estimada fue de 44.5358, con un ancho medio del 95% de confianza de 0.0004, y en la tabla presentan las probabilidades obtenidas para las actividades del proyecto hipotético, así como el ancho medio de la estimación con una confianza del 95%.
Tomando como duración esperada el valor de la estimación encontrada y como verdaderas probabilidades de pertenecer a la ruta crítica las proporcionadas en la tabla anterior, se repitió el experimento de estimación M=10 a la 3 veces con una confianza de 95%. A manera de ejemplo, solo se presentarán los resultados obtenidos para la duración total del proyecto y una sola actividad, la I. Las siguientes tablas resumen los resultados hallados con diferentes valores de m. Como puede observarse, aún para valores pequeños de m se obtienen cubrimientos muy cercanos al nominal (0.95), así como anchos medios que se hacen pequeños a medida que m crece.
Resultados de la duración total del proyecto para diferentes valores de m , con una confianza del 95%
Resultados de la probabilidad de que la actividad I forme parte de la ruta crítica para diferentes valores de m , con una confianza del 95%
CONCLUSIONES. Se desarrolló exitosamente un DSS capaz de calcular las medidas de desempeño asociadas a la duración de un proyecto, incorporando la incertidumbre asociada a la duración de las actividades y, además, considerando más de un tipo de relación de precedencia entre las actividades. Se utilizó simulación de Monte Carlo para incorporar la incertidumbre de las duraciones de las actividades y se desarrolló un algoritmo que fuese capaz de determinar la rutas críticas en cada réplica, permitiendo estimar, con base en un número de repeticiones especificado por el usuario, la esperanza de la duración total del proyecto, así como la probabilidad de pertenecer a la ruta crítica, para cada actividad, y para cada una de estas estimaciones, estima el nivel de error a través del ancho medio de un intervalo de confianza. Asimismo, en este estudio también se verificó el buen desempeño del DSS desarrollado, por medio de experimentos que miden la precisión y consistencia de los resultados que reporta el DSS. Los resultados de la verificación con un ejemplo hipotético mostraron que, aún para un número pequeño de repeticiones se obtienen cubrimientos buenos, así como anchos medios que se hacen pequeños a medida que crece el número de repeticiones.
Referencias: - Chatfield, C. y T. Johnson; Microsoft Office Project 2007 Step by Step, Microsoft Press, Redmond,USA (2007). - Hoi-Ching, L. y L. Ming; Simulation-based optimized scheduling of limited bar-benders over multiplebuilding sites, Actas del 2008 Winter Simulation Conference, 2353-2360, Miami-USA 7 al 10 dediciembre (2008). - Kuhl, M.E. y R. A. Tolentino-Peña; A dynamic crashing method for project management usingsimulation-based optimization, Actas del 2008 Winter Simulation Conference, 2370-2376, Miami-USA7 al 10 de diciembre (2008). - Law, A.M.; Simulation Modeling and Analysis, 4a ed., McGraw-Hill, NY-USA (2006). - Lee, D.; Probability of project completion using stochastic project scheduling simulation, Journal ofConstruction Engineering and Management: 131(3), 310-318 (2005). - Lee, D. y D. Arditi; Automated statistical analysis in stochastic project scheduling simulation, Journalof Construction Engineering and Management: 132(3), 268-277 (2006). - Liu, Y. y Y. Mohamed; Multi-agent resource allocation (MARA) for modeling construction processes,Actas del 2008 Winter Simulation Conference, 2361-2369, Miami-USA 7 al 10 de diciembre (2008). - Lu, M. y S. M. AbouRizk; Simplified CPM/PERT simulation model; Journal of ConstructionEngineering and Management: 126(3), 219-226 (2000). - Meredith, J.R. y S.J. Mantel; Project management: A managerial Approach, 7a ed., John Wiley, NewJersey, USA (2009). - Muñoz, D.F.; Administración de Operaciones Enfoque de Administración de Procesos de Negocios,Cengage, México (2009).