Modelado y Optimización de Proyectos 1. Red de actividades 2. Camino crítico (CPM Critical Path Method) 3. CPM con costes 4. Probabilidad de acabar un proyecto a tiempo (PERT Program Evaluation and Review Technique) 5. Nivelación de recursos 6. Asignación de recursos TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 1 Red de actividades de un proyecto Un proyecto se representa mediante una red que visualiza gráficamente las relaciones de precedencia en la realización de las actividades. Típicamente se considera: Actividad (tarea) Duración de la actividad Evento (fin de las tareas que llegan al nodo) Relaciones de precedencia Comienzo y fin de las actividades TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS Arco Valoración del arco Nodo Sentido del arco Nodo inicial y final 2 Propiedades de la red de un proyecto: 1. Cada actividad se representa por un solo arco 2. Dos nodos no pueden estar conectados directamente por más de un arco (grafo simple) Actividad ficticia: • Se utiliza para establecer relación de precedencia • No tiene duración • Se utiliza para evitar violar las propiedades anteriores A 1 B A C 2 3 C 3 1 4 B CORRECTO INCORRECTO TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 2 3 Ejemplo red de actividades: Actividad Descripción Predecesores Duración A Capacitar trabajadores -- 6 B Comprar materia prima producto 1 -- 9 C Comprar materia prima producto 2 -- 5 D Fabricar producto 1 A, B 8 E Fabricar producto 2 A, C 7 F Probar producto 2 E 10 G Ensamblar productos 1 y 2 D, F 12 B 9 1 A 6 2 D 8 G 12 3 6 7 F 10 E 7 C 5 4 TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 5 4 Determinación del camino crítico CPM Procedimiento de determinación del camino crítico: se hace en dos pasadas. PASADA HACIA DELANTE: Cálculo de los instantes más tempranos ti para la ejecución de las actividades 1. Etiquetar el comienzo del proyecto con tiempo t1=0 2. Instante más temprano de cada nodo es el tiempo más temprano del nodo inmediatamente anterior (si sólo tiene uno) y la duración de la actividad (arco) que los une 3. Si existe más de una actividad que llega a un nodo, el tiempo tj de dicho nodo es el máximo para cada actividad de la suma del tiempo ti del antecesor más la duración de la actividad t j = max {t p + d pj , tq + dqj ,..., tv + dvj } (el antecesor debe estar etiquetado) 4. Realizar los pasos 2 y 3 hasta etiquetar nodo final n (tn duración mínima del proyecto) TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 5 PASADA HACIA ATRÁS: Cálculo de los instantes más tardíos Ti para la ejecución de las actividades 1. El instante más tardío del final del proyecto = instante más temprano del final del proyecto (Tn=tn) 2. Instante más tardío TJ de cada nodo es el tiempo Ti del nodo inmediatamente posterior (si sólo tiene uno) menos la duración de la actividad (arco) que los une 3. Si existe más de un nodo posterior se toma el mínimo de las diferencias previas Tj = min{Tp − d jp ,Tq − d jq ,...,Tv − d jv} (el sucesor debe estar etiquetado) 4. Realizar los pasos 2 y 3 hasta etiquetar nodo inicial (T1 debe ser 0, sino error) TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 6 Definiciones Holgura de un evento (nodo) j Diferencia entre su instante más tardío Tj y su instante más temprano tj (siempre ≥0) Holgura total de una actividad (arco) de i a j TFij = T j − ti − d ij Diferencia entre su instante más tardío de j y la suma de su instante más temprano de i y la duración de la actividad i a j. Se puede interpretar como máximo retraso en su punto de comienzo o máximo incremento en su duración, sin retrasar el proyecto (aunque sí puede afectar al inicio de actividades sucesoras). Holgura libre de una actividad (arco) de i a j FFij = t j − ti − d ij Diferencia entre su instante más temprano de j y la suma de su instante más temprano de i y la duración de la actividad i a j. Se puede interpretar como máximo retraso en su punto de comienzo o máximo incremento en su duración, sin retrasar el inicio de una actividad posterior. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 7 La holgura libre es siempre menor que la holgura total FFij ≤ TFij . Actividad crítica Actividad que no tiene ningún tipo de holgura, es decir, (i,j) crítica si se cumple Tj = t j , Ti = ti , Tj −Ti = t j − ti = dij . No es suficiente para que una actividad sea crítica que sus nodos inicial y final no tengan holguras, además no debe tenerla la actividad (holguras libre y total deben ser cero). Camino crítico Camino a través de la red donde todas las actividades son críticas (tienen holgura 0). Una red de un proyecto siempre tiene al menos un camino crítico. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 8 t1 = 0B 6 T1 = 0 B 6 1 1 AA5 5 t2 = 5 t3 = 8 3 T3 = 1 1 3 F 11 F 11 E 2 C 3E 2 t5 = 1 3 0 C 3 T5 = 1 3 2 4 2 4 t4 = 1 3 D 8 T2 = 5 D 8 5 5 H 1 G 12 G 12 6 6 t6 = 2 5 T6 = 25 H 1 T4 = 13 9 Fase hacia delante: 1. t1 = 0 2. t2 = t1 + d12 = 0 + 5 = 5 2. t3 = max {t1 + d13 , t2 + d 23} = max {0 + 6, 5 + 3} = 8 2. t4 = t2 + d24 = 5 + 8 = 13 2. t5 = max {t3 + d35 , t4 + d45 } = max {8 + 2,13 + 0} = 13 2. t6 = max {t3 + d36 , t4 + d46 , t5 + d56 } = max {8 + 11,13 + 1,13 + 12} = 25 9 Fase hacia atrás: 1. T6 = 25 2. T5 = T6 − d56 = 25 − 12 = 13 2. T4 = min {T6 − d46 , T5 − d45} = min {25 −1,13 − 0} = 13 2. T3 = min {T6 − d36 , T5 − d35} = min {25 −11,13 − 2} = 11 2. T2 = min {T3 − d23 , T4 − d24 } = min {11 − 3,13 − 8} = 5 2. T1 = min {T3 − d13 , T2 − d12 } = min {11 − 6, 5 − 5} = 0 Críticas: A, D y G. (Ojo H) TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 9 Diagrama de Gantt A 5 D 8 G 12 B 6 C 3 E 2 F 11 H 1 5 D u ra c ió n 10 H o lg u ra lib re 15 20 25 H o lg u ra to ta l Obsérvese que no se representan las actividades ficticias, y que las actividades críticas se muestran en la parte superior. Además, si las holguras libre y total coinciden, la holgura se comporta como la holgura libre. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 10 CPM con costes Objetivo: Determinar el coste mínimo para finalizar un proyecto en una fecha prefijada Coste de una actividad ( i, j ) ∈ A en la red de actividades: Recta con valores factibles entre los límites máximo y mínimo de duración de la actividad. Bij+Aij⋅dij (Aij≤0) coste Dij TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS Dij Duración actividad 11 CPM con costes resuelto con optimización lineal Coste del proyecto ∑∑ ( A ij i Duración de cada actividad ⋅ xij + Bij ) j D ij ≤ xij ≤ D ij Instante de inicio actividades en evento j y j yi + xij ≤ y j Condiciones iniciales y1 = 0 yn ≤ T ∀ ( i, j ) ∈ A ∀ ( i, j ) ∈ A comienzo del proyecto final del proyecto de duración T prefijada Sensibilidad a la variación del coste por variación de T: programación lineal paramétrica. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 12 Probabilidad de acabar un proyecto a tiempo (PERT) Objetivo: Estimar la probabilidad de terminar el proyecto en una fecha programada suponiendo que las duraciones de las actividades son parámetros aleatorios. Procedimiento: • Modelado de la duración aleatoria de una actividad según una distribución beta: o Más probable (realista) m: moda de la distribución o Optimista (todo funciona bien) a: cota inferior de la distribución o Pesimista (todo funciona mal) b: cota superior de la distribución prob duración a TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS m b 13 • Cálculo de la esperanza y varianza de las duraciones Dij de las actividades. 2 b − a ⎛ ⎞ Varianza σ ij2 = ⎜ ij ij ⎟ ⎝ 6 ⎠ a +b ⎞ 1⎛ Tiempo medio µij = ⎜ 2mij + ij ij ⎟ 3⎝ 2 ⎠ • Cálculo del camino crítico con duraciones esperadas. • Determinación de la distribución normal de la duración del proyecto. o Tiempo medio del proyecto µ: Suma de tiempos medios de actividades del camino crítico o Varianza tiempo del proyecto σ2: Suma de varianzas de tiempos de actividades del camino crítico ⎛ ⎞ CP N ⎜ µ = ∑ µij ,σ 2 = ∑ σij2 ⎟ (i, j )∈c.crítico ⎝ (i, j)∈c.crítico ⎠ • Cálculo de la probabilidad de terminar en una fecha programada o de la fecha con una probabilidad alta de no sufrir demoras: estandarización de la distribución de la duración del proyecto d TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 14 9 Ejemplo: • C. crítico: medias 9, 0, 7, 10, 12, varianzas 1.78, 0, 4, 0.44, 1. Proyecto N(38,7.22) • Prob. acabar antes de 35: P(CP ≤ 35) = P( CP − 38 35 − 38 ≤ ) = P(Z ≤ −1.12) = 0.13 7.22 7.22 • Duración para probabilidad 97.5% acabar a tiempo: P(CP ≤ x) = 0.975 P( CP − 38 x − 38 x − 38 ≤ ) = 0.975 ⇒ P( Z ≤ ) = 0.975 ⇒ 7.22 7.22 7.22 x − 38 = 1.96 ⇒ x = 43.27 7.22 TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 15 Hipótesis que han sido requeridas (criticables): • Las actividades son parámetros aleatorios independientes Esta suposición no siempre es razonable (por ejemplo, una demora en una actividad podría provocar que las siguientes se hiciesen con mayor velocidad) • Para cualquier escenario de la incertidumbre el camino crítico, obtenido con los tiempos medios es siempre el mismo. Esta hipótesis es cierta para los tiempos medios, no tiene por qué serlo cuando se consideran tiempos optimistas o pesimistas • Tiempo del proyecto se distribuye según una normal, basándose en el teorema central del límite: tiene que haber suficiente número de actividades en el camino crítico • Tiempo de las duraciones de las actividades es una beta, cuando podrían no serlo. Nos podrían proporcionar directamente la media y varianza de las duraciones. Nota examen: no se requerirán tablas de la normal estándar: • Para el caso de determinar probabilidades, se piden las expresiones en función de probabilidades a la izquierda. Un ejercicio interesante sería encontrar las expresiones para las probabilidades P(X≥a), P(X≤b), P(X≥-a), P(X≤-b), P(a≤X≤b), P(-a≤X≤b), TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 16 P(a≤X≤-b) ó P(-a≤X≤-b), siendo a y b números positivos, y X cualquier distribución normal. • Para el caso de determinar duraciones, se pedirá la duración en función de valores z de la normal estándar que dejen a la izquierda una determinada probabilidad. Así, en el anterior ejemplo podría haberse terminado expresando x como 38+z0.975 7.22 , siendo z0.975 el valor de Z que deja a su izquierda una probabilidad de 0.975. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 17 Nivelación de recursos Objetivo Nivelar o repartir el uso de recursos en el tiempo de la forma más equilibrada posible sin superar la duración del proyecto (la del camino crítico) n • Minimizar la cuasivarianza (varianza muestral) S = ∑ (Yp − Y ) 2 / n − 1 siendo Yi 2 p =1 los recursos utilizados en el instante (día) p, e Y el número medio de recursos utilizados a lo largo del horizonte, que es constante al no variar la duración del proyecto (n). Equivale a minimizar n ∑Y p =1 2 p . Optimización cuadrática. n • Minimizar desviaciones D = ∑ Yp − Y diarias al ideal Y . Optimización lineal. p =1 • Algoritmos heurísticos (no asegurado el óptimo): Burgess-Killebrew. Consiste en evaluar la nivelación retrasando actividades no críticas dentro de las holguras. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 18 A 5 D 8 G 12 B 6 C 3 E 2 F 11 H 1 5 10 15 20 25 Tareas Mano de obra/dia A 5 B 5 C 5 D 5 E 10 F 10 G 5 H 5 25 20 15 10 5 5 10 15 TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 20 25 19 Nivelación mediante optimización cuadrática (i) Datos j : actividades del proyecto k : recursos a nivelar (la programación matemática es más flexible) p : periodos de tiempo (de 1 a la duración del proyecto) d j : duración de la actividad j carjk : carga del recurso k que utiliza la actividad j para cada unidad de tiempo G = (V , A) : grafo de precedencias, de modo que los nodos son las actividades y los arcos las relaciones de precedencia directas, es decir, existe un arco en Q si el nodo inicial corresponde a una actividad que ha de acabar antes que la correspondiente al nodo final (distinto al grafo de la red de actividades. Variables (MIP) ⎧1 si la actividad j se está realizando en el periodo p X jp = ⎨ ⎩0 en otro caso TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 20 Nivelación mediante optimización cuadrática (ii) Restricciones a) Todas las actividades han de hacerse dentro del tiempo permitido n. ∑ p =1,.., n X jp = d j ∀j ∈V b) Respetar las relaciones de precedencia del grafo G ⎜⎛ X jp = 1 ⇒ ∑ X j′p′ = d j′ ∀p > d j′ , ∀( j′, j) ∈ A⎞⎟ ∑ p′ =1,.., p −1 ⎝ X j′p′ ≥ d j′ X jp p′< p ∀p = d j ' + 1,.., n, ∀( j′, j ) ∈ A ( ⎠ c) Las actividades se han de hacer sin interrupción X jp =1⇒ X jp+d + .. + X jn = 0 ∀j ∈V; p ≤ n − d j j ) X jp + X j p + k ≤ 1 ∀j ∈ V , p = 1,.., n − d j , k = d j ,.., n Función objetivo: Minimizar la suma de los cuadrados de las cargas (nivelación independiente por recurso) ⎛ m in ∑ ∑ ⎜ ∑ car jk X p = 1,.., n k ⎝ j∈V TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS ⎞ jp ⎟ ⎠ 2 21 Nivelación mediante optimización lineal (iii) Datos ⎛ ⎞ Y k carga media del recurso k en el horizonte de longitud n ⎜ Y k = ∑ carjk ⋅ d j / n ⎟ j∈V ⎝ ⎠ Variables N pk , S pk : desviación inferior (por debajo) o superior (por encima) durante el periodo p al valor medio de la carga del recurso k Restricciones adicionales a las anteriores ∑ car j∈V jk X jp + N pk − S pk = Y k ∀p = 1,.., n, ∀k Función objetivo: Minimizar desviaciones min ∑ ∑ (N p =1,.., n k TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS pk + S pk ) 22 Asignación de recursos limitados Hipótesis Los recursos son limitados en cantidad, restringen la solución. Objetivo Minimizar el tiempo total de realización del proyecto con los recursos disponibles. • En este caso el tiempo del proyecto es el objetivo por lo que se va a considerar N su cota superior; sin un análisis previo puede ser la suma de todas las duraciones, pero es mejor un pequeño análisis para reducir este índice dado que influye significativamente en el número de variables del problema como modelo de optimización lineal. • Algoritmos heurísticos (no asegurado el óptimo): Wiest y Levi. Consiste en satisfacer las limitaciones retrasando actividades, primero empezando por las no críticas dentro de lo que permitan las holguras, y luego por las críticas. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 23 Asignación mediante optimización lineal (i) Restricciones adicionales ∑ car j∈V jk ⋅ X jp ≤ dispk ∀p = 1,.., N , ∀k Función objetivo: Penalizar la realización de la tarea en periodos lejanos min ∑ p =1,.., N α p ⋅ (∑ X jp ) j∈V si p > p′ entonces α p > α p′ para penalizar más la programación de una tarea en periodos altos. Sin embargo, se puede incurrir en un error, dado que se puede penalizar más un periodo pequeño con muchas tareas asignadas, que un periodo alto con una única tarea. TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS 24 Asignación mediante optimización lineal (ii) Variables ⎧1 si se programa alguna actividad durante el periodo p Rp = ⎨ ⎩0 en otro caso Restricción adicional: lógica Yp y Xjp (si Xjp=1 para algún j⇒Rp=1) ∑X j∈V jp ≤ M ⋅ Rp ∀p = 1,.., N Función objetivo: Penalizar la realización de la tarea en periodos lejanos min ∑ p =1,.., N TÉCNICAS DE PLANIFICACIÓN Y CONTROL DE PROYECTOS α p ⋅ Rp 25