Cómo obtener la Ruta Crítica de un Proyecto (CPM) con OM Explorer en Excel

El el artículo Cómo obtener la Ruta Crítica de un Proyecto (Critical Path Method) describimos de forma detallada cómo las holguras de las actividades de un proyecto y la ruta o camino más largo (no necesariamente único) que determina la duración de un proyecto. Como complemento a lo anterior a continuación presentamos cómo desarrollar este procedimiento de forma sencilla haciendo uso de OM Explorer. Para este propósito utilizaremos como ejemplo un proyecto que considera un total de 12 actividades que se muestran a continuación junto al tiempo esperado para completar cada una de las actividades (en meses) y la relación de predecesores.

actividades-proyecto-ruta-c

En primer lugar y una vez instalado el complemento OM Explorer en Excel ingresamos a Solvers (como se aprecia en la esquina superior izquierda en la imagen a continuación) y luego seleccionamos Project Management y Single Time Estimate.

project-management-om-explo

Luego en la pestaña Inputs del archivo se ingresan las actividades, el tiempo requerido para completarlas y las relaciones de predecesores. La plantilla permite implementar hasta 4 predecesores por actividad lo que es claramente suficiente para nuestro ejemplo.

inputs-proyecto-om-explorer

Una vez incorporadas la totalidad de las actividades en Inputs podemos revisar los resultados obtenidos en la hoja Results. Se observa el tiempo para completar el proyecto (15,5 meses) y con color rojo se destacan las actividades críticas (con holgura igual a cero), a saber, A-B-D-G-H-I-K-L, las que en dicho orden determinan la ruta crítica del proyecto (en este ejemplo única). Adicionalmente tanto para las actividades pertenecientes a la ruta crítica como aquellas con holgura mayor a cero se detalla el inicio más cercano (Early Start), término más cercano (Early Finish), inicio más lejano (Late Start) y término más lejano (Late Finish).

ruta-critica-con-om-explore

OM Explorer entrega adicionalmente una Carta Gantt donde se observa las actividades críticas en color rojo (con holgura o slack igual a cero), el tiempo de las actividades no críticas en color amarillo y el tiempo holgura de las actividades no críticas en color celeste, lo cual permite interpretar de forma intuitiva los resultados obtenidos.

Cálculo de los Beneficios Esperados de un Proyecto utilizando PERT

Un aspecto usual en la Gestión de Proyectos es enfrentar incentivos económicos por entregas anticipadas o a tiempo en base a la planificación preliminar y adicionalmente multas o cargos por entregas atrasadas o tardías. En este contexto el método PERT (Program Evaluation and Review Technique) permite incorporar de forma explícita la incertidumbre asociada a los tiempos requeridos para completar cada una de las actividades de un proyecto.

Beneficios Esperados de un Proyecto utilizando PERT

En el siguiente ejemplo se presenta la situación de un proyecto que consta de 9 actividades, cuyas relaciones de precedencia y tiempos en días (pesimista, más probable y optimista) se resumen a continuación:

tabla-proyecto-pert

Donde N\sim (\mu ,\sigma ^{2}) y los tiempos están en días.

Se desea completar el proyecto al cabo de 40 días a contar del inicio de las actividades. En caso de terminar antes de dicho plazo se estima que se accederá a un incentivo monetario de $200.000, no obstante, en caso contrario se asumirá una pérdida de $15.000 por cada día de atraso con un tope máximo de $30.000 (sobre los beneficios estimados). ¿Cuál es la ruta crítica del proyecto?, ¿Cuáles son los beneficios esperados del proyecto?.

Sabemos que el tiempo esperado para cada actividad se obtiene de Te=\frac{(a+4m+b)}{6}, por ejemplo, Te_{A}=\frac{(6+4*7+8)}{6}=7. Adicionalmente la varianza se obtiene de \sigma ^{2}=\frac{(b-a)^{2}}{36}, por ejemplo, \sigma ^{2}_{A}=\frac{(8-6)^{2}}{36}=\frac{1}{9}\cong 0,111. Con la ayuda de Excel resulta sencillo replicar el procedimiento para el resto de las actividades como se muestra a continuación:

pert-con-tiempo-esperado-y-

Considerando el Tiempo Esperado (Te) para cada una de las actividades generamos un diagrama de proyecto que nos permita identificar la Ruta Crítica y las holguras (en días) para cada una de las actividades. De esta forma se obtiene que A-D-F-H es la ruta crítica del proyecto con un tiempo esperado para completar éste de 39 días.

diagrama-proyecto-pert

Donde los valores con color rojo en la esquina superior izquierda de cada nodo representan el inicio más cercano; los valores con color azul de la esquina superior derecha el término más cercano; los valores de la esquina inferior izquierda con color naranjo el inicio más lejano y finalmente los números con color verde en la esquina inferior derecha representan el término más lejano.

A continuación se requiere estimar la probabilidad de completar el proyecto antes de 40 días, caso en el cual se accede a un beneficio de $200.000.

\mathbb{P}[T<40]=\mathbb{P}[Z_{\alpha }<\frac{40-39}{\sum {\sigma _{RC}}^{2}}]=\frac{40-39}{\sqrt{(\frac{1}{9})+(\frac{4}{9})+(\frac{16}{9})+4}}\cong0,6544

El beneficio esperado en este escenario sería $200.000*0,6544=$130.880.

Por otra parte la probabilidad de que el proyecto demore más de 41 días se obtiene de la siguiente forma:

\mathbb{P}[T>41]=\mathbb{P}[1-Z_{\alpha }<\frac{41-39}{\sum {\sigma _{RC}}^{2}}]=\frac{41-39}{\sqrt{(\frac{1}{9})+(\frac{4}{9})+(\frac{16}{9})+4}}\cong0,2134

Con un beneficio esperado de $170.000*0,2134=$36.278.

Finalmente evaluamos el caso donde el tiempo del proyecto se encuentra en el intervalo entre 40 y 41 días.

\mathbb{P}[T\geq40]+\mathbb{P}[T\leq 41]=0,1322

Siendo el beneficio esperado de este escenario $185.000*0,1322=$24.457.

En consecuencia el beneficio esperado asociado a completar el proyecto es de $191.615 ($130.880+$36.278+$24.457).

Problema de Inversión y Selección de Proyectos

Los modelos de Programación Entera constituyen una alternativa eficiente para apoyar la toma de decisiones en aquellos problemas donde se debe implementar (o no) una alternativa o curso de acción que no admite soluciones intermedias. Tal es el caso del Problema de Selección de Cartera de Proyectos donde no es razonable, por ejemplo, si se destina la mitad de los fondos requeridos para un proyecto, asumir que de éste se obtendrá la mitad de sus beneficios o Valor Presente Neto (VPN). Dicho de otro modo, el cumplimiento del supuesto de la proporcionalidad de la Programación Lineal no es adecuado.

El problema que se presenta a continuación aborda estos aspectos y adicionalmente se busca proponer distintas alternativas al momento de establecer las restricciones o condiciones del problema.

Problema de Inversión y Selección de Proyectos

Una empresa está pensando invertir en cuatro proyectos diferentes, cada proyecto se finaliza a lo más en 3 años. Los flujos de caja requeridos en cada año junto con el Valor Presente Neto (VPN) de cada proyecto, concluidos los años de ejecución, y las disponibilidades de recursos financieros se resumen en la siguiente tabla:

tabla-inversion-y-vpn-proye

Interesa determinar en cuáles proyectos invertir de modo de conseguir el mayor VPN de la inversión.

Variables de Decisión: Se desea determina en cuáles proyectos invertir de las 4 alternativas posibles.

variables-decision-inversio

Función Objetivo: Maximizar la sumatoria del Valor Presente Neto (VPN) de los proyectos en los cuales se decida invertir.

maximizar-vpn-inversion

Restricciones: Se proponen 3 escenarios para definir las restricciones del problema.

Alternativa 1: Reinvirtiendo el dinero no utilizado en un período, es decir, el dinero que eventualmente quede disponible al final del año 1 y año 2 se puede considerar como parte del presupuesto disponible para el año siguiente. Lo anterior se representa a través de las variables s_{1} y s_{2}, respectivamente.

alternativa-1-inversion-pro

La implementación computacional del problema haciendo uso de Solver de Excel nos entrega los siguientes resultados:

solucion-optima-inversion-1

Se debe invertir en los proyectos 1 y 4. El VPN total es de $51.

Alternativa 2: Sin invertir el dinero no utilizado en un período, pero utilizando el retorno de los proyectos concluidos.

alternativa-2-inversion

En este caso se debe invertir en los proyectos 1, 2 y 4, alcanzando un VPN total de $69.

solucion-optima-inversion-2

Alternativa 3: Reinvirtiendo el dinero no utilizado en un período y también el retorno de los proyectos concluidos.

alternativa-3-inversion

En este caso la solución óptima y valor óptimo es equivalente al escenario planteado en la Alternativa 3.

solucion-optima-inversion-3

Cabe destacar que la Alternativa 3 es la que provee mayor flexibilidad (en cuanto a los presupuestos para inversión) en comparación a las Alternativas 1 y 2, en consecuencia era razonable esperar en este caso que el VPN total de la Alternativa 3 sea mayor o igual que los VPN de las Alternativas 1 y 2.

Notar que el conjunto de las soluciones factibles es finito. Esto ocurrirá generalmente con los problemas de Programación Entera (puros). En el ejemplo, el número de soluciones factibles no supera el número de las soluciones binarias del problema (variables restringidas sólo a valores 0 o 1) que son 2^{4}=16, dado el número de variables utilizadas, de hecho las soluciones factibles son menos de 16 pues en particular x_{i}=1 para i=1,2,3,4 no satisface las disponibilidades de capital en cualquiera de las tres alternativas.

Cómo determinar la Duración Óptima de un Proyecto a través del Análisis de Crashing

La Programación Lineal como hemos analizado anteriormente provee una forma eficiente para enfrentar el problema de cómo reducir la duración de un proyecto de la forma más económica posible (Análisis de Crashing) en el contexto de la aplicación del Método de Ruta Crítica (CPM) para la gestión de proyectos. Adicionalmente en algunas situaciones se suele enfrentar costos de penalización en la medida que el proyecto se entregue más tarde de lo comprometido o estimado, como también incentivos por entregas anticipadas que no vayan en desmedro de la calidad del proyecto.

Consideremos el siguiente ejemplo para el cálculo de la Duración Óptima de un Proyecto (el tiempo está medido en días y el costo en dólares):

tabla-datos-proyecto-crashi

Por ejemplo la Actividad F tiene una duración normal de 4 días a un costo de 600 dólares y se puede comenzar una vez terminadas las Actividades B y E (predecesores). Si se desea apurar (hacer «crash») en la Actividad F, el menor tiempo que se puede adoptar es de 2 días (es decir, la reducción máxima es 2 días), donde por cada día que se reduce la duración de dicha actividad se incurre en un costo adicional de 175 dólares. De esta forma, por ejemplo, si se quisiera reducir la duración de la Actividad F de 4 a 3 días, el costo sería de 775 dólares (600+175).

Asuma que la fecha de entrega del proyecto es el día 10. La compañía debe pagar 170 dólares por cada día de atraso. Encuentre el número óptimo de días que debe durar el proyecto a través del análisis de crashing y el costo total del proyecto (incluyendo posibles multas por atraso).

Indique claramente las actividades donde realice crashing. Dibuje el diagrama del proyecto de la alternativa que se propone (el proyecto con el costo más bajo), representando el nombre de cada actividad al interior de los respectivos nodos. Para cada actividad calcule los siguientes indicadores: IC, TC, IL, TL. Luego obtenga explícitamente la holgura de cada actividad y la(s) ruta(s) crítica(s) del proyecto.

A continuación se define un modelo de optimización lineal propuesto para abordar el problema:

Variables de Decisión:

variables-crashing

Parámetros:

parametros-crashing-optimo

Función Objetivo: Consiste en minimizar el costo de terminar el proyecto en K días, donde 3.175 corresponde al costo en dólares de desarrollar el proyecto con las actividades en tiempo normal y la expresión en la sumatoria es el costo incremental de disminuir la duración del proyecto.

funcion-objetivo-crashing-o

Restricciones:

Cada actividad se puede reducir (de ser posible) dentro del límite máximo de reducción permisible:

xi-menor-o-igual-a-mi

Relaciones de predecesores entre las actividades y el tiempo de inicio y reducción:

relacion-predecesores-crash
Definición del tiempo objetivo para el proyecto:
tiempo-objetivo-crashing
No negatividad de las variables de decisión:
no-negatividad-crash

Una vez definido el modelo de Programación Lineal se implementa computacionalmente haciendo uso de Solver de Excel. Para ello será necesario sensibilizar los resultados del modelo para valores del parámetro K en el intervalo de [10,15] días (el lector puede corroborar que la duración del proyecto si cada actividad mantiene su duración normal es de 15 días). La solución óptima se resume a continuación:

solucion-crashing-solver

El tiempo óptimo para completar el proyecto corresponde a 12 días, con un costo total (incurriendo multas por atraso) de 3.890 dólares. El gráfico a continuación muestra el valor de la función objetivo (costo total) para distintos valores de duración del proyecto.

costo-proyecto-versus-tiemp

A continuación desarrollamos el diagrama del proyecto donde se observa que existen 2 rutas críticas: A-B-F y A-C-E-F, con una duración de 12 días. Notar que la única actividad que no es crítica con holgura positiva (de 1 día) es la Actividad D.

ruta-critica-crashing

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?

[sociallocker]Crashing Óptimo[/sociallocker]

Problema de Selección de Cartera de Proyectos a través de la Programación Entera

La Programación Entera provee una forma eficiente de enfrentar los problemas de selección de proyectos a ejecutar dentro de una cartera de potenciales proyectos a realizar, donde cada uno de éstos tiene asociado un tiempo de ejecución, requerimientos de fondos de inversión y necesidades adicionales. El siguiente artículo aborda la formulación de un modelo de optimización de Programación Entera que permita seleccionar los proyectos a realizar que maximice el Valor Presente Neto (VPN) del conjunto, respetando restricciones presupuestarias, políticas de inversión y de disponibilidad de personal.

Problema de Selección de Cartera de Proyectos

Consideremos una empresa que tiene en carpeta 8 proyectos, cada uno de los cuales con una estimación del VPN, la necesidad de financiamiento (en dólares) y los requerimientos de personal. La información se resume en la siguiente tabla:

tabla-inversion-proyectos

Por ejemplo, el Proyecto 1 requiere de 120 profesionales para ser realizado, con una inversión inicial de 15 millones de dólares y representa un Valor Presente Neto (VPN) de 8 millones de dólares. Asumiremos que la empresa dispone de 155 profesionales, un presupuesto para inversión de 40 millones de dólares. Adicionalmente para efectos de minimizar el riesgo la empresa debe ejecutar al menos 4 proyectos. Los proyectos 3 y 6 son excluyentes, es decir, sólo uno de los 2 puede ejecutarse.

Variables de Decisión:

variable-invertir-proyecto

Probablemente el lector se pregunte si es equivalente definir Xi: dólares a invertir en el Proyecto i. El problema subyacente a dicha formulación es asumir que si, por ejemplo, se invierte 7,5 millones de dólares en el Proyecto 1 se obtiene un VPN de 4 millones de dólares, es decir, que el VPN es proporcional al dinero invertido. Recordar que la proporcionalidad es un supuesto básico de la Programación Lineal donde claramente no provee una forma realista de representación en este caso, donde la naturaleza de la decisión es realizar o no un proyecto, sin dejar espacio para decisiones «intermedias».

Función Objetivo:

funcion-objetivo-inversion-

Consiste en maximizar la sumatoria del Valor Presente Neto de los proyectos (en millones de dólares). En este contexto el valor óptimo corresponderá a la suma del VPN de aquellos proyectos que finalmente se llevaran a cabo.

Restricciones:

Se debe respetar la disponibilidad de trabajadores:

restriccion-disponibilidad-

La inversión total no puede superar el presupuesto disponible:

restriccion-presupuesto-pro

Al menos se deben realizar 4 proyectos para efectos de diversificación del riesgo:

al-menos-4-proyectos

Los proyectos 3 y 6 son excluyentes:

proyectos-excluyentes

Luego de implementar computacionalmente el problema anterior con Solver se alcanza los siguientes resultados:

solucion-optima-proyectos

La solución óptima consiste en desarrollar los proyectos 2, 4, 5, 6 y 7 lo que reporta un VPN de 10,7 millones de dólares (valor óptimo).

¿Quieres tener el archivo Excel con la resolución en Solver de este problema?. Recomiéndanos en Facebook, Google+ o Twitter utilizando la herramienta de redes sociales a continuación y accede de forma gratuita e inmediata a la descarga del archivo (el enlace de descarga con el nombre «Descarga el Archivo» se mostrará abajo una vez que nos hayas recomendado).

[l2g name=»Descarga el Archivo» id=»4355″]