ESTADISTICA ESPAÑOLA Núm. 106, 1985, págs. 71 a$O Una nota sobre la corrección de holguras en la nivelación de recursos por JUAN ANTONIO CAÑAS MADUEÑO Profesor de Economía de la Empresa Agraria. ETS^A. Universidad de Córdoba y por RAFAELA DIOS PALOMARES Profesora de Estadistica e Investigación Operativa. ETSIA. Universidad de Córdoba. RESUMEN En este trabajo se presenta un proceso de cálculo para corregir las holgurds totales y libres de las actividades en que se descompone un proyecto, cuando se aplica el algoritmo de E3urgess--Killebrew, a la resolución del problema de la nivelación de recursos. Para aplicar las expresiones yue se proponen para corregir las holguras, definimos los términos de holgura total disponible y de holgura libre disponible. Puluhrus cluvc^: Holgura total, Holg^ira libre, Nivelación de recursas, Corrección de holguras, Actividades críticas, actividades no críticas. 1. INTRODUCCION La nivelación de recursos es uno de los problemas que hay que resolver una vez que se efectúa el estudio y control de un proyecto mediante los métodos PERT y ROY. Con este método se trata de unificar las necesidades del o de los factores de producción necesarios en ta ejecución de un proyecto durante el tiempo necesario para su realización, de tal forma que no existan períodos con muchas necesidades del recurso objeto de estudio, y otros períodos con escasas necesidades del mismo; así, si se consiguen unas nece- E tiT ^^()ItiT I( 1 f^f'-^ti(^l 1 ?^ sidades ur^^iformes a lo larga de la ejecución del proyecto, a la persona responsable del mismo se le plantearán menos problemas que en el caso en que tenga que enfrentarse a unas necesidades variables que puedan provocar excedente o deficit de dicho recurso. Por ejernplo, cuando estudiamos las necesidades de mano de obra en la ejecución de un proyecto, si dicho recurso no está nivelado, podemos encontrarnos en la situación de unas necesidades muy elevadas de jornales en unos períodos y por el contrario necesitar escasos jornales en otros, de tal forn^a que si se contrata mano de obra con arreglo a las necesidades mínimas, habrá de contratarse mano de obra eventual en los períodos de máxima necesidad y por el contrario, si se contrata la mano de obra máxima, se incurrirá en excedente en aquellas períodos de necesidades mínimas. La nivelación de recursos en la ejecución de proyectos no supone incremento del coste de realización de la obra ya que el tiempo total no varía respecto del calculado en el método PERT, debido a que las actividades se desplazan dentro del intervalo que le permite su holgura. 2. MODELOS DE RESOLUCION La nivelación de recursos se puede realizar mediante el planteamienta y resolución de un modelo de programación maternática (3, pp 133-138), si hien los modelos resultantes san excesivamente complicados y de difícil resolución f'rente a otros algoritmos heurísticas desarrollados para resolver de una manera específica este tipo de problemas, como es el algoritmo de Burgess-Killebrew (1). Este algoritrno parte de la confección de un calendario de obras, consideranda que todas las actividades comienzan su ejecución en el tiempo más pronto posible. Dicho calendario de obras se elabora a partir de los resultados obtenidos con los métodos PERT o RC7^ Y. El algoritmo se aplica iterativamente retrasando la ejecución de las actividades, empezando por aquella actividad que presenta un tiempo de finalización temprana má^ avanzado. El aplazamiento de cada actividad se realizará según le permitan las prelaciones del grafo, teniendo como límite máximo de movimiento su holgura total. Como veremos más adelante, el número de días que se puede desplazar la actividad que estamos analizando podría alcanzar este valor máximo si todas las actividades no críticas que le suceden agotan su holgura total. El número de días aplazada será aquel que haga mínima Ia suma de los cuadrados de las cargas diarias del recurso objeto de estudio. Para ver con más detalle el algaritmo de Burgess-1Cillebrew ver (1), (2, pp 14^3-15$) y(3, pp 140--14 5 ). I'\ ^\i) I f^ ti(1t(kF I 1(()ltkf C ( I() ♦ [ ^f Fi( )! t^l K ^ti f\ I ^\1^ t 1 ^( I()\ I)t kf ( l kti()ti 7^ Fn el desarrollo del algoritmo y en las apiicaciones del mismo que se realizan en los trahajo^; consultados, incluido el artículo publicado por f3urgess-1^illebrew, no se realizó una explicación detal[ada de la corrección de Cas hoiguras de 1as actividades precedentes a medida que se aplazaba !a ejecución de la actividad en estudio. Se indicaba que es prccisa corregir la holgura de las actividades precedentes cuando sea necesario, pero no s^,^ exponía la forma en la que había que carregirla, ni cuando había que hacerlo. Las aplicaciones del algoritrna en los trabajos citados se realizaron a casas muy sirnples en los que con cortos aplazamientos de escasas actividades se conseguía una nivelación cíptima en la que la carga diaria del recurso estudiado era constante. Además el aplazamiento de la actividad correspondiente no se realiza de una forma ,i^;tematizada y se tiene que tener presente el calendario resultante después de cada ^iplazamiento para ver los días yue se pucden aplazar las actividades precedente5. ^. C'ONSIDERACIONES METODCJLO^;IC'AS EN LA NIVELACION DE REC'l.^ RSOS U na vez aplicado el algoritmo PERT o ROY obtenemos para cada actividad su holgura total y libre. La primera nos indica el número de d^as que se puede aplazar la ejecución de una actividad sin que se retrase la terminación del proy^ecto. Si una actividad se aplaza hasta consumir total ^ parcialmente su holgura total, podrá af'ectar a la holgura total de las actividades siguientes. La holgura libre es la parte de holgura total que p^iede aplazarse una actividad sin afectar a la halgura de las actividades siguientes. Para iniciar el algoritmo consideramos que todas las actividades se inician en sus fechas de comienzo más tempranas. A partir de aquí empezamos por aplazar la actividad, que no siendo crítica, presente una fecha de finalización temprana más avanzada. Esta actividad, que podemos denominar uk^ tendrá por suceso final un suceso crítico y su holgura total y su holgura libre c^oinciden debido a este hecho. Esto mismo le ocurrirá a todas aquellas actividades del proyecto cuyo suceso fin sea crítico, así como aquellas que sin ser críticas, empiecen y acaben en sucesos críticos. t'omo aclaración tenemos que indiear que la holgura total de una actividad cualquiera que origine divergencia es igual a la suma de la holgura libre de dicha actividad más cl valor mínimo de la holgura total de las actividades siguientes, siempre que el suceso tin de dicha actividad no sea crítico. Así, la holgura total de una actividad u^k que origina divergencia la pademos calcular mediante la expresión H,^^=H^+Min. H^ltl k, !/^a,^^ [1] E til ^^[^ItiTI( ^1 E 4P^1ti{)I :1 ,^ EI signit^cada de los términos y del simbolo lógico de la expresión (1 ] es: }^ r^ - holgura total de la actividad u, ^ ,^^{^ ^= holgura libre de la actividad u, ^ }.^^^^ = holgura total de la actividad a^ , ^d k, 1/^ u^ r= para todo par de vértices ^^ tal que exista un arco u^ ^ Una vez seleccionada la actividad que vamos a desplazar hacia la derecha, iremas aplazando su ejecución día a día caiculando ta suma de los cuadrados de las cargas diarias. EI número máxirno de dias que se puede mover una actividad será su holgura total si no se ha visto afectada por el anterior movimiento de las que le siguen, o bien, su holgura total corregida, según verernos más adelante, la cual llamaremos holgura total disponible. E1 número de días que realmente se desplazará la actividad (lo representaremas por D), será aquel en el que la suma de los cuadrados de las cargas diarias sea mínima. Los pasos a seguir en el desplazamiento de la ejecución de actividades para nivelar el recurso e^n estudio, los podemos sintetizar de la forma siguiente: i. Cada actividad se puede desplazar hasta consumir su holgura tatal o su holgura total disponible. 2. Cálcuio de los días que realmente se desplaza. 3. Cálculo de la holgura libre disponible una vez desplazada la actividad correspondiente. 4. Análisis de la repercusión del movimiento de esta actividad en las halguras totales disponibles de las actividades precedentes. Hay que corregir la holgura total disponible debido a que si no se realiza la corrección, se pueden dejar de cumplir las prelaciones obligadas en la ejecución del proyecto. Una vez que hemos recorrido todo el calendario de obras y canseguido un valar mínimo para la suma de los cuadrados de las cargas diarias, finaliza la primera iteración. A continuación se procede a realizar nuevas iteraciones, hasta que en dos iteraciones seguidas se obtenga el mismo valor de la suma de los cuadrados de las cargas tal y como se indica en el algoritmo de Burgess-Killebrew. A1 empezar una nueva iteración tenemos que calcular la holgura total que tiene c.^ada actividad según la situación en que se encuentre en el calendario de obras, debid^ a lus desplazamientos que haya experimentado en la iteración o iteraciones anteriores. t ti.^1 tii)"I -1 tiC)NFLE: L.1 t't^KkHt't'1()ti F'^F_ H()LC;I'RAti Fti LA ti!^'^l_:1t'It)^i C^E REC'l'RS()S 75 Esta holgura total la calcularemos por diferencia entre la fecha de finalización más tardía, obtenida por el método PERT o con el método ROY, y la fecha de finalización que presente en ese momento. Este praceso de cálculo de la holgura total es el misrno del método PERT, como podemos observar en las expresiones [2] y[3] ._ ^..^ i^ T `" t^ l; -` t; .i [2] donde t; es el tiempo last del suceso fin de la actividad a; ; t^ es el tiempo early del suceso inicio de la actividad a,; t^ ; es la duración de ejecución de la actividad a; ^ estos términos se pueden ver con más detalle en (3, pp. 41-50). La expresión [2] se puede expresar de la forma indicada en [3] r_t^_(t..f-1 , ^;) H;;1 [3] y el término t; + t;; nas situa dentro del calendario de obras inicial en la fecha de finalización de la actividad; por tanto la holgura total se obtiene restando la fecha de finalización que presente la actividad en ese momento, de la fecha de finalización rnás tardía. Esta holgura t^tal se podrá ver tarnbién afectada por los desplazamientos de las actividades siguientes a la que se esté analizando. La holgura libre de cada actividad al iniciar una nueva iteración es la misma holgura libre disponible que se calcula, según veremos más adelante, en la iterac;ión precedente. Así pues, la nueva iteración se inicia con los nuevos valores de la holgura total disponible y la holgura libre disponible calculados. En el apartado siguiente vamos a desarrollar formalmente el punto 4 en relación con la corrección de holguras necesaria en el proceso de nivelación de recursos y a continuación veremos la forma de corregir las holguras libres. FORMULACION DE LA C'ORRECCION DE HOLGURAS TOTALES De acuerdo con el proceso operativo sintetizado anteriormente, vamos a suponer que se va a desplazar la actividad u^ ^, cuya holgura total es H,^1 Y Dk ^, el número de días que realmente se ha desplazado. FST,aI)IS^f K A k^PAtiUl.1 76 EI valor de D,^ f siempre cumplirá la siguiente condición: r Dk 1 < Hk 1 lo cual nos sitúa ante dos posibilidades 1. Que Dk ^= Hk 1• En este primer caso, puesto que el número de días que se desplaza la actividad ak ^ es igual a su holgura total, no hay que corregir (disminuir) la holgura total de las actividades precedentes, ya que estas actividades pueden disponer de toda su holgura total para desplazarse. 2. Que D,^ ,< H^ ,. En este segundo caso puede ser que haya que corregir la holgura de las actividades precedentes debido a que la actividad a^ ^ no ha consumido toda su holgura total. Ante esta situación tenemos que avanzar más en nuestro análisis para contemplar la repercusión que puede tener sobre las actividades precedentes, el que la actividad u^ ^ no haya consumido toda su holgura. A^ continuación, tenemos que pasar a comparar el valor de D^. ^ con la holgura total de las actividades precedentes, pudiendo presentarse los casos que se reflejan en la condición < T Dk 1 ^ Hj k que se pueden analizar de la siguiente manera 2.1. Cuando el valor de D,^ ^ es mayor o iguai que la holgura total de las actividades precedentes (Dk ^^ HT k), entonces no hay que corregir tampoco la holgura total de dichas actividades ya que el aplazamiento de ak ^ no supone límites para el apiazamiento posterior de las actividades precedentes. Este hecho ocurre cuando el suceso k es tal que a partir de él se presentan preíacio nes que originan divergencia, como se indica en la figura 1. Figura 1 l ti^1 tiO I i tiOi;1tf 1.^1 (() RRE.(^( IOti t)E^ F^OLC;I'RAS E ti t A tilti'f;LAC'1(.)1: [)F RE^.(^l R5O5 ^, Esta situación tiene lugar cuando es otra de las actividades que parten de este vértice la que influye en la determinación de la holgura total de la actividad a; ^ según la expresión [ 1]. 2.2. Otro caso que se puede presentar es que D,^ ^ < H ^, Esta situación se presenta cuando la actividad a^ ^ es la que interviene en la obtención de la H; ^., o bien, cuando las prelaciones en relación al suceso k son lineales u originan convergencia tal y como se puede ver en las figuras 2 y 3. .Í ti F i^ura Z ^ k 1 1^'ik^cra 3 En cualquiera de las situaciones presentadas en las figuras ^ y 3, la holgura total de las actividades precedentes a; ,^ ó a; ^ y a; ,^ se calculan por la expresión [ 1]; sin embargo al ser D^ 1^< H^ ! esto implica que D^ ^< H,^^. que es el caso que estamos estudiando. Debido a que a^ ^ no consume toda su holgura, hay que corregir la holgura total de las actividades precedentes, obteniendo una holgura total a la que llamaremos holgura total disponible y la representaremos por H T^. Dicha holgura la calcularemos mediante las expresiones [4] ó[5]. H; 7^,^ n = H, ^.,^ D^ i Hjti=H;^-tH^r-D^^^ [4) [5] La expresión [4] nos indica que la holgura total disponible para la actividad precedente se obtiene sumando la holgura libre de dicha actividad más los días en que se desplaza la actividad siguiente. La expresión [5] nos permite calcular la holgura total disponible restándole a la holgura total de la actividad que estamos corrigiendo, los días que ha dejado de utilizar la actividad siguiente de su holgura total. Estos días se calculan como diferencia entre la holgura total y los dias realmente desplazados ( H^ ^- D^ ^). 7K ESTA[^ISTt('A ESYA^tiOL.A E1 significado de la holgura total disponible es el mismo que el de la holgura totai, pero corregida del efecto producido por los días que deja de consumir de su holgura total la actividad siguiente. Por lo tanto, la hoigura total disponibie sustituye a la holgura total obtenida inicialmente en el procesa de desplazamiento de las actividades hacia su fecha de finalización tardía. Las expresiones [4] y[Sj son idénticas, como podemos ver a continuación: Sea, la expresión [Sj HT,^^H ^-( H^^-D^r) si sustituimos en ella la Hx por su valor dado por la expresión [ 1], tenienda en cuenta la situación de las figuras 2 ó 3, resulta HT^=H;^,^+H^i-(H^^-a^t) [bj y simplificando la expresián [6j, queda L H^7' D x-H;^+D^i que es la expresión [4j. En posteriores desplazamientos de actividades que partan del vértice k, correg:remos, cuando sea necesario, las halguras de las actividades que acaban en k a partir de las holguras totales disponibles calculadas. Una vez corregidas las holguras de las actividades precedentes de la a,^ ^, es decir, de las actividades que acaban en el suceso k, hay que corregir las holguras de las actividades que acaban en los sucesos anteriores a k. Dicho de otra forma, hay que corregir progresivarnente, recorriendo los caminos hacia la izquierda, las holguras de todas las actividades precedentes hasta que lleguemos a un suceso crítico a partir del cual dejamos de carregi r. La corrección de las holguras totales de las actividades que acaban en el vértice j (siendo j un suceso anterior a k), se realiza aplicando la expresión [ 1). Así, la holgura total disponible para una actividad a; ;, se obtendrá de la forma siguiente H T°- H ^, + M in. H T k d;, ,^ /^ a; ,^ t^.:^ tic^ r-^^ ^c^HKE: t.:^ c-c^RKE.c^c tc>^ nE= tic^t_c;t,K.aS t:ti i_^^ ^i^^t t.^^c tc^ti nE-: kFC^t^ksc^^ ^y De esta forma continuaremos corrigiendo holguras y desplazadando actividades hasta llegar a la actividad no crítica yue presenta su fecha de finalización temprana más atrasada. Para simplificar el proceso de eálcuto expuesto para corregir, cuando sea preciso, la holgura total o la holgura total disponible de una actividad debido al desplazamiento de las actividades siguientes, podemos seguir el esquema que se expone a continuación: No hay que corregir D^ ^ ^ H r D^. ^ > H; ,c Actividad u^ ^ Aplazamiento D^ ^ Holgura total H^ ^ f. D^^ c H^r Corregi r con ^ f ^ H ?^ ^ ^`l^ ° [5^ FORM U LACION DE LA CoRREC'CCION DE HOLGCJ RAS LIBRES Además de calcular las holguras totales disponi ^^les para cada actividad, hay que obtener también las holguras libres disponibles después de desplazar una actividad, y cuyo signifiCado es análogo al de las holguras libres. Las holguras libres disponibles se calculdn restando de la holgura total disponible los dias yue se desplaza la actividad correspondiente, según se puede ver en la expresión [7] ! I) 7^ /) H, ^ , = H; ; -- D; , [ 7 ^ TaT,AUIS^TI(^^^ F.tiF'?ltiOL..^^ KO REFERENCIAS BIBLIOGRAFIC'AS ( 1) BURGESS. A. R. Y KILLEBREW, J. B.: Variation in Activity Level an a Cyclical Arrow Diagram. Jc^urna! oJ'Inúustria! InKin^erin^, I 9b2. Volumen 13. Págs., 76-83. (2) C^RTIGUERIRA, M.: Programación Reticular. Ediciones ICE. Madrid, 197b. (3) RoMERO, C.: Técnicas de programacián y control de proyectos. Ediciones Pirámide. Madrid, 1983. SUMMARY A NOTE ON THE CORRECTION ©F FLOATS IN THE LEVELLING OF RESOURCES. With the aim af solving the problem of smoothing activity levels, this work puts forward a technique ta correct both total floats and free floats for all the job camponents of a particular project, by applying the BurgessKillebrew algorithm. ln order to carry out the above, the terms "total available float" and "free available float" have been defined. h:c'^' 1^•vr(^.y: Total float, Free float, Smoothing activity levels, Float correction, Critic activities, Non critic activities. AMS, 1980. Subject classification: Primary: 68E 10; Secondary: 94C 15.