Cálculos
El diagrama PERT permite calcular los inicios mínimos y los finales máximos de todas las tareas del proyecto. En cada nodo obtendremos el inicio mínimo de todas las tareas que tengan origen en ese nodo y el final máximo de todas las tareas que lleguen a él. En todas las ilustraciones y ejemplos de este curso situaremos los inicios mínimos en la parte superior del nodo y los finales máximos en la parte inferior.
En primer lugar se calculan todos los inicios mínimos del proyecto; para ello:
Por definición, el inicio mínimo de un proyecto es el instante cero de ese proyecto. por lo tanto, se ha de poner un cero en la parte superior del primer nodo.
Si al inicio mínimo (im) de una tarea Ti le sumamos la duración de la misma, obtendremos el final mínimo (fm) de dicha tarea: fmi=imi+di. Si la tarea Tj depende sólo de la tarea Ti con una relación fin-inicio, Tj sólo podrá iniciarse una vez que la tarea precedente (Ti) haya terminado. O sea, el inicio mínimo de Tj será igual al fin mínimo de Ti:
imj = fmi = imi+di |
Por lo tanto, se ha de recorrer el diagrama en el sentido de las flechas. En la parte superior de cada nodo se escribe el valor resultante de sumar la duración de la tarea mediante la que se llega al nodo y el valor en la parte superior del nodo del que procede.
Si una tarea Tj depende de varias tareas Ti con una relación fin-inicio, la tarea Ti no se podrá iniciar hasta que no hayan terminado todas las tareas Ti, o sea, el inicio mínimo de Tjes igual al mayor de los finales mínimos de las tareas Ti:
imj = max(fmi) |
Por lo tanto, sobre el grafo, cuando a un nodo llegan varias flechas se deben calcular los valores obtenidos a través de los distintos caminos de llegada al nodo y tomar el mayor de dichos valores.
El último nodo representa el final del proyecto. En este punto ya conocemos los inicios mínimos de todas las tareas del proyecto. El valor en la parte superior del nodo es el inicio mínimo de cualquier tarea que se realice una vez terminado el proyecto, por lo que corresponde con el fin mínimo del proyecto. Normalmente nos interesa hacer los cálculos de manera que reflejen lo más pronto que se puede acabar el proyecto, por lo que fijaremos el fin máximo del proyecto igual a su fin mínimo.
fmproy = FMproy |
Así, una vez se llega al último nodo, se copia en la parte inferior el valor obtenido en la parte superior.
A continuación se calcularán todos los finales máximos del proyecto:
Si al final máximo de una tarea Tj le restamos su duración, obtendremos su inicio máximo (lo más tarde que puede empezar sin retrasar el proyecto), o sea: IMj = FMj-dj. Si la tarea Tj depende sólo de la tarea Ti con una relación fin-inicio, la tarea Ti no podrá acabar más tarde del inicio máximo de Tj sin retrasar el proyecto, o sea, lo más tarde que puede terminar Ti es lo más tarde que puede empezar Tj:
FMi = IMj = FMj-dj |
Por lo tanto, se ha de recorrer el diagrama en sentido inverso al de las flechas empezando por el nodo final. En la parte inferior de cada nodo se escribe el valor resultante de restar la duración de la tarea que parte del nodo calculado al valor en la parte inferior del nodo al que llega la tarea.
Si varias tareas Tj dependen de una o más tareas Ti, lo más tarde que podrán terminar las tareas Ti sin retrasar el proyecto será lo más tarde que podrá empezar la primera de las tareas Tj, o sea, aquella cuyo inicio mínimo sea menor. De este modo:
FMi = mín(IMj) = mín(FMj-dj) |
Así, cuando de un nodo parten varias flechas, se deben calcular los valores obtenidos a través de cada una de ellas y tomar el menor de dichos valores.
El primer nodo del proyecto corresponde a su inicio, así que el valor obtenido como fin máximo se refiere al fin máximo que debería tener cualquier actividad previa al proyecto. Para que el proyecto pueda empezar en el instante 0, el fin máximo de cualquier actividad previa deberá también ser 0, por lo que éste deberá de ser el valor que obtengamos en la parte inferior del primer nodo.
Aunque la obtención de un cero en la parte inferior del primer nodo no nos garantiza que los cálculos sean correctos, si se obtiene cualquier otro valor se podrá afirmar que existe algún error en los cálculos realizados.