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).

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″]

Cómo instalar WinQSB en un computador con Sistema Operativo Windows 7

Lamentablemente el popular software WinQSB (muy útil como herramienta de análisis para cursos de Gestión de Operaciones e Investigación de Operaciones) el cual hemos utilizado en artículos anteriores en el blog no es compatible con las últimas versiones de sistema operativo Windows, en particular con Windows 7 y tampoco lo es con Windows 8 o con la reciente versión disponible de Windows 10 que Microsoft ha dispuesto para descarga e instalación gratuita por parte de los usuarios. Si bien existen alternativas en la red donde podemos descargar el programa quedará en evidencia la incompatibilidad según se muestra en la imagen a continuación:

winqsb-incompatible-con-win

En nuestra experiencia WinQSB ha funcionado sin inconvenientes en una versión de 34 bits de Windows Vista pero desconocemos desde que versión de Windows exactamente ya no es posible su utilización (lo más probable es que justamente sea a contar de la versión de Windows 7).

¿Qué podemos hacer entonces para utilizar WinQSB en una versión más reciente de Windows?. En una frase esta pregunta no es fácil de responder, sin embargo, te sugerimos los siguientes pasos:

1. Verifica con exactitud que versión de Windows tienes. Para ello haz clic en el botón InicioImagen del botón Inicio, luego con el botón secundario en Equipo y finalmente en Propiedades.

windows-7-home-premium

2. Intenta si es posible instalar Windows XP Mode. Con Windows XP Mode se pueden ejecutar programas diseñados para Windows XP en equipos con las ediciones Professional, Enterprise o Ultimate de Windows 7. Lamentablemente Windows XP Mode no se admite en Windows 8. (Lee detenidamente las instrucciones disponibles en: http://windows.microsoft.com/es-xl/windows7/install-and-use-windows-xp-mode-in-windows-7).

Como podrás haber apreciado nuestra versión de Windows 7 es Home Premium la que en principio sería incompatible con XP Mode. Si tienes la edición ProfessionalEnterprise o Ultimate te agradeceríamos nos puedas compartir tu experiencia en la instalación de Windows XP Mode y luego la utilización de WinQSB (para ello puedes agregar tus comentarios a este artículo, te agradecemos de antemano!).