Está en la página 1de 12

APLICACIÓN DE LA TEORÍA DE GRAEOS A LA

PLANIEICACIÓN Y PROGRAMACIÓN DE PROYECTOS

(GRAPHS IN PROJECT PLANNING AND PROGRAMMING)

Alfonso Recuero y Olga Río, Drs. Ings. de Caminos


Instituto E d u a r d o Torroja - CSIC

Marina Alvarez, Dra. Arquitecta


Facultad d e Informática, UPM, C a m p u s M o n t e g a n c e d o
Boadilla del Monte, Madrid Fecha de recepción: 15 - VII - 94
ESPAÑA 403-15

RESUMEN SUMMARY

Se presenta un conjunto de herramientas matemáticas para la A set of mathematical tools for activities planning based on
planificación y programación de proyectos mediante grajos, que graphs ispresejtted. A compact and efficient storage scheme is
hacen uso de un esquema compacto y eficiente para almacenar proposed that can be easily handle by the algorithms, and
y manejar la información que se organiza en listas de which makes use of adjacency lists, consisting of one-dimension
adyacencia, almacenadas en matrices unidimensionales sin arrays without pointers. All tools are based on depth-search, and
punteros. Todas ellas se basafi en la generación y búsqueda en they are generically described together with the particular
profundidad de un árbol (Depth-first-search), cuyo esquema conditions of each case.
genérico se describe detalladamente, así como las condiciones
especficas de cada uno de los procesos concretos.

1. Introducción 1.1. Planificación, programación y control de un


proyecto
El desarrollo de un proyecto consiste en la ejecución
de un conjunto de actividades, estando el comienzo En la gestión de proyectos pueden distinguirse las
de cada una de ellas subordinado a la conclusión de siguientes fases: selección de objetivos, estrategia
otras. Los métodos PERT (Programme Evaluation para su realización, determinación de necesidades
and Review Technique), desarrollado por la U.S. para llevarlo a cabo, asignación de recursos y con-
Navy durante el proyecto Polaris, CPM (Critical Path trol de todo el proceso. Los métodos PERT y CPM
Method), por encargo de la compañía Dupont, y (1, 2, 3, 4) son particularmente útiles en la gestión
otros similares, fueron ampliamente utilizados a par- de proyectos en general y en especial en las fases
tir de los sesenta, gracias a la introducción de los de planificación. En cuanto a los recursos, habitual-
computadores electrónicos. mente pueden considerarse los siguientes: mano de

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
50
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

obra, capital, materiales, maquinaria y tiempo. Otro mientras que el PERT se forma con los aconteci-
elemento esencial en un proyecto lo constituyen las mientos importantes que ocurren en el curso de
condiciones o restricciones impuestas externamente un programa.
por la entrega de materiales, disponibilidad de
maquinarias, etc. y que deben tenerse en cuenta a — El CPM utiliza una sola medida del tiempo por
la hora de planificar el proyecto. actividad (método determinista), dado que en su
origen se destinó a una empresa industrial con
La herramienta básica de la planificación de opera- procesos bien definidos, y el PERT, tres medidas
ciones es el diagrama de flechas (PERT, de tiempo estudiando al final la probabilidad de
PERT/COST, CPM). Las flechas se conectan en una alcanzar el plazo fijado (método semiprobabi-
secuencia lógica que indica el flujo del trabajo lista), debido a que en su origen fue destinado
desde el inicio hasta el final del proyecto. A cada al control de un proyecto de I+D, en el que los
actividad se le asigna un tiempo de duración esti- tiempos debían estimarse con un margen de
mado, a partir del cual es posible determinar qué error.
secuencia de actividades, a través de un proyecto,
es la más larga, o en otras palabras la más crítica. La 1.2. Graf os
planificación se puede definir como la determina-
ción de las necesidades de recursos del proyecto, y Un grafo es un conjunto de vértices conectados
su orden de aplicación en las diversas operaciones por medio de aristas. Las aristas p u e d e n estar
que deben realizarse, para lograr los objetivos del direccionadas, en cuyo caso se las denomina
mismo. arcos, y a las mismas se les puede asignar un peso
que puede representar por ejemplo su longitud o
En esta fase de planificación sólo se consideran las un tiempo asociado con la misma, etc. Un grafo en
operaciones y las limitaciones permitiendo elaborar el que las aristas están direccionadas se denomina
un plan maestro que puede usarse como modelo digrafo.
del proyecto para simular acontecimientos reales.
Una vez se ha elaborado dicho plan maestro se pro- Los grafos constituyen una herramienta de gran uti-
cede con la programación. Un programa puede lidad en la resolución de gran número de proble-
definirse como una tabla de tiempos de calendario mas en una gran variedad de áreas. Por citar sólo
para asignar o aplicar recursos a las actividades del algunas de ellas mencionaremos flujos en redes,
proyecto, dentro de los límites disponibles. árboles genealógicos, emparejamientos, programa-
ción de actividades, análisis de estructuras, resulta-
De lo expuesto en los párrafos anteriores se ve dos de torneos, coloreado de mapas, análisis lin-
que la planificación y la programación constituyen güísticos, diversos juegos, circuitos electrónicos,
dos etapas separadas. Ésta es la principal diferen- etc. Si bien su uso se remonta a muchos siglos
cia que presentan los métodos basados en redes atrás, su desarrollo actual puede considerarse ini-
con respecto a los denominados métodos tradicio- ciado con los trabajos de Euler. Es un área de las
nales que se empezaron a emplear a principios matemáticas en la que no existe una nomenclatura
de este siglo (diagramas de barras y cartas de generalmente aceptada, tal vez porque son muchos
Gantt). En los métodos tradicionales la planifica- los autores que han realizado aportaciones de inte-
ción, asignación de recursos y la programación se rés, sin que haya una figura dominante. De hecho,
llevan a cabo simultáneamente. No obstante, el hay todavía numerosos problemas sin resolver, que
diagrama de barras presenta la ventaja de su fácil se van ampliando a medida que se profundiza en
lectura y es por eso que se utiliza como presenta- su estudio. Vale aquí el principio: "Todo problema,
ción del CPM. por complicado que sea, al estudiarlo detenida-
mente se complica más." Algunos nombres de
Si bien desde su origen (finales de los cincuenta) matemáticos que han hecho aportaciones impor-
los métodos PERT y CPM han sufrido modificacio- tantes, tanto teóricas o en forma de algoritmos, son
nes y cada uno posee actualmente muchas caracte- Hamilton, Kirchoff, Kónig, Tutte, Kuratowski,
rísticas que al principio sólo se encontraban en el Menge, Verge, Girdle, Djkstra, Ramsey, Eulkerson,
otro; existen sin embargo dos diferencias funda- fiarari, etc. Hay numerosos artículos y libros sobre
mentales: temas de grafos. Se referencian algunas obras que
permitirán al lector interesado profundizar tanto en
— El método CPM se basa fundamentalmente en los aspectos teóricos como en las aplicaciones con-
las tareas o trabajos realizados (actividades), cretas (4, 5, 6, 7, 8, 9).

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
51
Informes de la Construcción, Vol. 46, n.° 431, mayO/''junio 1994

La planificación de proyectos es un problema en el se debe desarrollar entre dos acontecimientos. Varias


que la aplicación de la teoría de grafos es evidente. actividades pueden iniciarse a partir de un mismo
En este trabajo se propone una forma de organizar acontecimiento (actividades de salida). Varias activi-
la información descriptiva del problema que per- dades pueden tener que ser completadas antes de
mite realizar de una forma sencilla y eficiente los que se alcance un mismo acontecimiento (activida-
algoritmos para dibujar automáticamente el dia- des de entrada). Un acontecimiento sin actividades
grama de la malla, determinar las actividades críti- de entrada será un acontecimiento inicial, en tanto
cas y las horquillas en los tiempos en que pueden que uno sin actividades de salida será un aconteci-
alcanzarse los distintos acontecimientos, o corregir miento final. Para su identificación, se numeran los
los tiempos de comienzo de todas las actividades acontecimientos de un proyecto mediante números
afectadas por la variación del inicio de cualquier positivos preferentemente consecutivos.
actividad o fecha de un acontecimiento.
Las actividades se describen mediante sus aconteci-
El esquema utiliza únicamente matrices unidimen- mientos inicial y final, esto es, el acontecimiento a
sionales, sin punteros, de tamaño proporcional al partir del cual puede iniciarse y el acontecimiento a
número de actividades del proyecto, lo que permite partir del cual pueden iniciarse las actividades que
su implementación con lenguajes de programación dependen de la finalización de la actual. Además,
sencillos. Se describe también la estructura genérica una actividad se describe por su denominación, su
de los algoritmos de generación exhaustiva de los responsable, su duración y por los recursos consu-
árboles necesarios en los distintos p r o c e s o s , midos por unidad de tiempo (Tabla 1). Como resul-
haciendo uso del esquema de almacenamiento pro- tado del proceso de cálculo, se determinarán los
puesto, utilizando para ello un lenguaje de progra- límites del tiempo de comienzo de cada actividad,
mación sencillo. que debe estar comprendido entre el momento del
acontecimiento inicial y el del acontecimiento final
2. Definiciones y descripción de los datos menos la duración de la misma (Tabla 2). Pueden
considerarse actividades ficticias, con duración nula
Se denomina acontecimiento al momento a partir del —actividad 2-9— que permiten establecer preceden-
cual puede iniciarse una actividad. Así, una actividad cias entre acontecimientos en principio inconexos.

TABLA 1

NUDO I NUDOJ DESCRIPCIÓN RESPONSABLE DURACIÓN RECURSO


1 2 ACTIVIDAD A RESl 10 5
2 9 VIRTUAL RESl 0 0
9 10 ACTIVIDAD B RES4 7 5
10 11 ACTIMDAD C RES5 5 5
2 7 ACTIVIDAD D RESl 2 5
2 4 ACTIVIDAD E RESl 2 5
-7 10 ACTIVIDAD F RES5 6 5
1 4 ACTIVIDAD G RES3 12 5
4 8 ACTIVIDAD H RESl 4 5
8 11 ACTIMDAD I RES3 10 5
1 3 ACTIVIDAD; RES2 8 5
3 4 ACTIVIDAD K RES3 7 5
3 5 ACTIVIDAD L RES2 7 5
5 6 ACTIVIDAD M RES2 4 5
6 11 ACTIVIDAD N RES2 11 5
4 5 ACTIVIDAD O RES4 6 5
4 6 ACTIVIDAD P RES3 9 5
4 7 ACTIVIDAD Q RES2 9 5
6 8 ACTIVIDAD R RES2 3 5
7 8 ACTIVIDAD S RES3 •7
5
7 9 ACTIVIDAD T RES3 4 5

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
52
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

TABLA 2

I NUM ACTIVIDAD DESCRIPCIÓN RESP. DURA MÍNIMO MÁXIMO FLUCTU IN

î
2
1
2
2
9
ACTIVIDAD A
VIRTUAL
RESl
RESl
10
0
0
10
10
10
2
29
12
29
2
19
0
10
3 9 10 ACTI\TDAD B RES4 7 28 35 29 29 19 10
4 10 11 ACTIVIDAD C RES5 5 35 40 36 41 1 35
5 2 7 ACTIVIDAD D RESl 2 10 12 22 24 12 10
6 2 4 ACTIVIDAD E RESl 3 10 13 12 15 2 10
•7 7 10 ACTIVIDAD E RES5 6 24 30 30 36 6 24
8 1 4 ACTIVIDAD G RES3 12 0 12 3 15 3 0
9 4 8 ACTIVIDAD H RESl 4 15 19 27 31 12 15
10 8 11 ACTIVIDAD I RES3 10 31 41 31 41 0 31
11 1 3 ACTIVIDAD; RES2 8 0 8 0 8 0 0
12 3 4 ACTIVIDAD K RES3 7 8 15 8 15 0 8
13 3 5 ACTIVIDAD L RES2 7 8 15 17 24 9 8
14 5 6 ACTIVIDAD M RES2 4 21 25 24 28 3 21
15 6 11 ACTIVIDAD N RES2 11 25 36 30 41 5 25
16 4 5 ACTIVIDAD O RES4 6 15 21 18 24 3 15
1~' 4 6 ACTIVIDAD P RES3 9 15 24 19 28 4 15
18 4 7 ACTRTDAD Q RES2 9 15 24 15 24 0 15
19 6 8 ACTIVIDAD R RES2 3 25 28 28 31 3 25
20 7 8 ACTIVIDAD s RES3 7 24 31 24 31 0 24
21 7 9 ACTIVIDAD T RES3 4 24 28 25 29 1 24

Los métodos denominados de redes citados impo- corresponde con los resultados de la Tabla 3.
nen la existencia de un solo acontecimiento inicial y
un solo acontecimiento final (Fig. 1), para lo cual Como puede verse en la Fig. 1 el proyecto se repre-
puede ser necesario introducir actividades ficticias senta mediante un digrafo, en el que los aconteci-
(representada en línea de trazo en la Fig. 1). El mientos se corresponden con sus vértices y las acti-
método que se describe admite la existencia de vidades con sus arcos. La condición de que este
cualquier número de acontecimientos iniciales o digrafo sea conexo implica que no existan partes
finales, requiriendo únicamente que el digrafo del mismo independientes del resto. Tampoco debe
representativo del proyecto sea conexo y no con- contener ciclos, esto es, un acontecimiento no debe
tenga ciclos, como puede verse en la Fig. 2 que se depender de sí mismo.

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
53
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

TABLA 3

NUM ACTIVIDAD DESCRIPCIÓN RESP. DURA MÍNIMO MÁXIMO ELUCTU IN

î
2
2
9
9
10
VIRTUAL
ACTIVIDAD B
RESl
RES4
0
7
10
28
10
35
28
28
28
35
18
0
1
2
3 10 11 ACTIVIDAD C RES5 5 35 40 36 41 1 3
4 2 7 ACTIVIDAD D RESl 2 10 12 22 24 12 1
5 2 4 ACTIVIDAD E RESl 3 10 13 12 15 2 1
6 7 10 ACTIVIDAD F RES5 6 24 30 29 35 5 2
7 4 8 ACTIVIDAD H RESl 4 15 19 27 31 12 1
8 8 11 ACTIVIDAD I RES3 10 31 41 31 41 0 3
9 3 4 ACTIVIDAD K RES3 7 8 15 8 15 0
10 3 5 ACTIVIDAD L RES2 7 8 15 14 21 6
11 5 6 ACTIVIDAD M RES2 4 21 25 21 25 0 2
12 6 11 ACTIVIDAD N RES2 11 25 36 30 41 5 2
13 4 5 ACTIVIDAD 0 RES4 6 15 21 15 21 0 1
14 4 6 ACTIVIDAD P RES3 9 15 24 16 25 1 1
15 4 7 ACTIVIDAD Q RES2 9 15 24 15 24 0 1
16 6 8 ACTIVIDAD R RES2 3 25 28 28 31 3 2
17 7 8 ACTIMDAD s RES3 7 24 31 24 31 0 2
18 •7
9 ACTIVIDAD T RES3 4 24 28 24 28 0 2

^\?- 2

3. Almacenamiento de la descripción acontecimientos inicial y final. Es con-


del proyecto veniente, pero no imprescindible, que
el número del acontecimiento final sea
Supongamos que el proyecto consta de W activida- mayor que el inicial;
des y que N es el número más alto asignado a sus
acontecimientos. La descripción inicial puede alma- DES$, RES$: que contienen la denominación y el
cenarse en las siguientes matrices unidimensionales, responsable de la actividad;
cada una de ellas con W elementos:
TAR: que contienen la duración de la activi-
NINI, NFIN: que contienen los n ú m e r o s de los dad, en la unidad de tiempo elegida;

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
54
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

R: q u e c o n t i e n e n los r e c u r s o s q u e con- K=ARCO(L) + 1


s u m e c a d a actividad, p o r u n i d a d d e FIN=0
tiempo. IF K < POSOUT(I+l) THEN
Kl=AROUTCK)
A partir d e estos datos, más concretamente de NINI J=NFINCK1)
y d e NFIN, se c o n s t r u y e n las siguientes matrices IF VT(L)+VALOR(Kl) < V(J) THEN FIN=1
unidimensionales : END IF
IF POSOUT(I)=POSOUT(I+l) THEN FIN=1
ARIN: de W e l e m e n t o s , q u e c o n t i e n e los IF FIN OR K=POSOUT(I+l) THEN 'RETROCEDER
n ú m e r o s de las actividades de entrada IF K < POSOUTCl+1) - 1 THEN ARCO(L)=K ELSE
de cada u n o de los acontecimientos, es L=L-1
lo q u e se d e n o m i n a u n a lista de adya- ELSE 'AVANZAR
cencias y actúa c o m o vector d e direc- ARCO(L)=K
cionamiento indirecto; L=L+1
T(L)=J
POSIN: de N+1 elementos, auxiliar para m a n e - VT(L)=VTCL-1) + VALOR(Kl)
jar ARIN, de m o d o q u e los n ú m e r o s de ARCO(L)=POSOUT(J) - 1
las actividades de entrada al aconteci- END IF
m i e n t o I e s t á n c o n t e n i d o s e n t r e las LOOP
posiciones POSIN(I) y POSIN(I+l)-l;
El significado de las variables y d e las matrices uni-
AROUT, POSOUT: s o n a n á l o g a s a ARIN y
d i m e n s i o n a l e s u t i l i z a d a s e n e s t e e s q u e m a es el
POSIN, p e r o referidas a
siguiente:
actividades de salida.

INI: es el vértice inicial, raíz del árbol;


C o m o r e s u l t a d o del p r o c e s o d e cálculo se o b t i e n e
T: d e N e l e m e n t o s , c o n t i e n e el n ú m e r o del
la matriz u n i d i m e n s i o n a l d e W e l e m e n t o s : FINI,
vértice asociado a cada nivel d e la rama del
q u e c o n t i e n e el m o m e n t o d e inicio d e cada acti-
árbol q u e se está analizando;
vidad.
VT: de N elementos, contiene el valor del n u d o
4. D e s a r r o l l o d e l árbol c o n o r i g e n correspondiente del árbol, esto es la suma
e n u n vértice d e los valores de los arcos d e s d e la raíz al
nudo;
Los algoritmos q u e se van a describir para el dibujo V: de N elementos, contiene el valor más des-
automático de la malla, para determinar la horquilla favorable alcanzado para cada vértice. Se
de tiempos en q u e p u e d e producirse cada aconteci- s u p o n e conocido inicialmente para el vér-
miento, y para asignar los tiempos d e comienzo de tice situado e n la raíz;
las actividades d e p e n d i e n t e s de otra cuya fecha ini- ARCO: d e N e l e m e n t o s , c o n t i e n e el n ú m e r o del
cial se modifica, se basan en el desarrollo del árbol arco utilizado para p a s a r d e u n nivel del
con raíz e n u n vértice. La técnica q u e se considera árbol al siguiente;
m á s a d e c u a d a es la d e d e s a r r o l l o e x h a u s t i v o e n L: es el nivel del árbol q u e se considera en u n
profundidad del árbol, por ser más económica en m o m e n t o dado;
requerimientos de memoria central q u e la de gene- I: es el vértice asociado al nivel L;
ración exhaustiva en amplitud. Un e s q u e m a gené- K: es la p o s i c i ó n q u e o c u p a el n ú m e r o del
rico de este proceso, e x p r e s a d o en u n lenguaje sen- arco a utilizar, en el vector de direcciona-
cillo d e p r o g r a m a c i ó n , tal c o m o Q B , u t i l i z a n d o miento indirecto;
t é c n i c a s d e p r o g r a m a c i ó n e s t r u c t u r a d a , es el Kl: es el arco considerado para pasar del nivel
siguiente: L al siguiente;
J: es el p o s i b l e v é r t i c e a a s o c i a r al n i v e l
L=l siguiente al L;
T(1)=INI VALOR: de W elementos, contiene el valor asociado
VTC1)=V(INI) a cada arco q u e d e b e considerarse, depen-
ARCOCl)=POSOUTClNI)-l d i e n d o del problema a resolver;
D O WHILE L FIN: es u n indicador para saber si la rama anali-
I=T(L) zada d e b e acabar en el n u d o actual, bien

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
55
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

por ser terminal o por conducir a un vértice con un AROUT y NFIN por POSIN, ARIN y NINI, respecti-
valor más adecuado que el que se obtendría por la vamente.
rama actual. Esta última circunstancia depende del
problema considerado. Como puede verse, el algoritmo de generación y
análisis del árbol es muy sencillo, y tiene unos
De forma literaria, el esquema mostrado realiza los requerimientos de memoria muy reducidos, propor-
siguientes pasos: cionales al tamaño de la malla.

1. Inicia el proceso en un vértice, preparando el 5. Dibujo automático del diagrama


primer arco que sale de él, y situándolo en el
primer nivel. Se toma este primer nivel como el Los datos suministrados proporcionan una descrip-
actual. ción topológica de la malla. Para esquematizarla
gráficamente es preciso asignar a los vértices unas
2. Mientras que el nivel actual sea distinto de cero, coordenadas convenientes, que permitan dibujarla
en cuyo caso se habría terminado el recorrido claramente evitando que los arcos pasen por vérti-
del árbol, se considera el vértice del nivel actual, ces distintos de sus extremos. La longitud de los
y el siguiente arco de la lista de los que empie- arcos no está relacionada con su duración, y los
zan en él. vértices deben mantener su precedencia relativa
manifestándola por su coordenada X.
2.1. Ver si no se puede seguir, por estar en un
vértice final, o no merece la pena seguir, Inicialmente, se sitúan los vértices en los nudos de
por encontrar al final del arco un vértice ya una red de coordenadas enteras (X, Y), que se
alcanzado y que tiene un valor más ade- determinan por separado, primero las X y luego las
cuado que el que se va a proponer. En Y. A continuación, si se considera conveniente,
ambos casos se indica el final de la rama en podrá deformarse desplazando los grupos de vérti-
curso. ces que están en la misma vertical, como es el caso
de la Fig. 3.
2.2. Si se ha agotado la lista de arcos por los que
progresar, retroceder al nivel anterior, y Se asigna como coordenada X de cada vértice al
seguir en 2. máximo nivel que el mismo alcance en cualquiera
de los árboles progresivos que pueden formarse en
2.3. Si se ha llegado al fin de una rama, si hay la malla. Para ello se asigna el valor 1 a cada arco, y
más arcos pendientes para seguir desde el se toma como vértice raíz cada uno de los vértices
nivel actual, preparar el siguiente, y si no iniciales, generando su árbol progresivo. Las condi-
los hay, volver al nivel anterior. Continuar ciones de finalización de una rama son alcanzar un
en 2. vértice final o que el vértice siguiente hubiese
alcanzado un nivel más alto en el mismo árbol o en
2.4. Si se p u e d e p r o g r e s a r , p r e p a r a r el uno anterior. La asignación del nuevo valor de cada
siguiente arco de la lista del vértice del vértice puede hacerse indistintamente en las fases
nivel actual, para cuando se vuelva retro- de avance o de retroceso. Si hubiese más de un
cediendo, y pasar al siguiente nivel. Para acontecimiento inicial, se generarán los árboles
esto, anotar el vértice que le corresponde, regresivos con raíz en los vértices finales, asignando
y preparar el primer arco de su lista. Con- a éstos la coordenada X obtenida anteriormente.
tinuar en 2.
Para asignar las coordenadas Y, clasificaremos los
El nuevo valor que corresponde a cada vértice vértices por estratos, asignando como coordenada
puede ser asignado en la fase de avance o en la de el número de estrato. Para ello generaremos el
retroceso, según convenga. En cada caso se indicará árbol progresivo con raíz en cada uno de los vérti-
en qué fase es conveniente asignarlo. ces iniciales. Cada vez que se finalice una rama, se
incrementará en 1 el número del estrato actual, por
El esquema descrito corresponde al árbol de acti- lo que la asignación del valor de cada vértice ha de
vidades posteriores al acontecimiento INI (árbol hacerse en la fase de retroceso. La condición de
progresivo —forward scan—). El árbol de activi- finalización de una rama es alcanzar un vértice final
dades anteriores (árbol regresivo —backward o que el siguiente vértice tenga asignado un
scan—) es semejante, sustituyendo POSOUT, número de estrato.

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
56
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

Fig. 4

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
57
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

Una vez asignadas las coordenadas de todos los haberse completado todas las actividades de las que
vértices, se procede al dibujo del diagrama, como depende. Si un acontecimiento tiene varias activida-
por ejemplo el de la Fig. 3. Los arcos correspon- des de entrada, normalmente no concluirán todas al
dientes a actividades ficticias se dibujarán de trazos mismo tiempo. Si tiene varias actividades de salida,
(por ejemplo, actividad 2-9), en tanto que los todas podrán iniciarse al tiempo, aunque probable-
correspondientes a actividades reales serán de trazo mente no lo hagan. Con todo esto, se ve que el
continuo. Si la recta que une los vértices extremos momento en que se alcanza un acontecimiento
de un arco pasase por otro vértice, se dibujará un depende de un conjunto de decisiones sobre el
arco curvo (actividad 4-6) que lo evite. comienzo de las actividades que pueden estar con-
dicionadas por criterios de índole diversa, tales
Para detectar este acontecimiento, se ordenan los como plazos de ejecución, disponibilidad de recur-
vértices según valores crecientes de su coorde- sos humanos, materiales o financieros, intereses
nada X. Se toma entonces cada uno de los vérti- políticos, etc. Vamos a atender en primer lugar a los
ces, en dicho orden, y se repasan todos sus arcos criterios de plazo, y veremos después cómo intro-
de salida. Sean I y J los vértices extremos del arco ducir los restantes.
considerado. Si X(J)=X(I)+1 no habrá interferencia
posible. En caso contrario, se revisan los vértices Si se cumpliesen exactamente las duraciones atri-
posteriores al I, en el orden mencionado, mientras buidas a cada actividad, existe un plazo total
que su coordenada X sea menor que X(J). Si su mínimo para la ejecución del proyecto completo
coordenada Y es mayor o menor que Y(I) e Y(J), (en el ejemplo considerado es de cuarenta y un
no habrá interferencia. En caso contrario, se com- días). Habrá un conjunto de actividades que debe-
probará si el vértice estudiado está alineado con rán ejecutarse inmediatamente alcanzado su aconte-
los vértices I y J. En caso afirmativo, se marcará el cimiento inicial, alargándose el plazo total de ejecu-
arco c o m o curvo y se p a s a r á a e s t u d i a r el ción en caso contrario. Dichas actividades son
siguiente arco. En caso negativo se seguirán revi- llamadas críticas, existiendo, al menos, una secuen-
sando vértices. cia de ellas entre el acontecimiento más temprano y
el más tardío, que puede no ser un camino único
Debe señalarse que los arcos pueden cruzarse, si sino con bifurcaciones. En la Eig. 5 donde se ha
bien no lo harán tapando vértices. Si los vértices se representado mediante un grafo el ejemplo que se
remarcan adecuadamente y se etiquetan, el dia- corresponde con los resultados de la Tabla 2 se
grama no dará lugar a confusiones. indican en línea continua más gruesa las actividades
críticas (camino crítico). Si se ha de respetar el
Normalmente, los estratos en que están situados plazo mínimo, los acontecimientos inicial y final de
los vértices extremos del diagrama serán muy dis- las actividades críticas d e b e r á n ocurrir en un
tintos. El diagrama suele ser más claro si los vérti- momento fijo. En cambio, para aquellos aconteci-
ces extremos están a la misma altura. Para conse- mientos no relacionados con actividades críticas, su
guirlo, basta mover los grupos de vértices de una momento de ocurrencia puede fluctuar dentro de
misma vertical proporcionalmente a su distancia una horquilla de tiempos. La fecha más temprana
horizontal al vértice más a la izquierda, de modo de la horquilla corresponderá al inicio más tem-
que el vértice más a la derecha alcance la altura prano de todas las actividades previas, en tanto que
deseada (Eig. 3)- la más tardía corresponderá al caso de empezar lo
más tarde posible las actividades dependientes del
Una segunda posibilidad de deformar el diagrama, acontecimiento actual.
que puede denominarse centrado en vertical, con-
siste en tomar todos los vértices situados en la Para determinar el plazo mínimo de ejecución, las
misma vertical y desplazarlos solidariamente de actividades críticas y la horquilla de tiempos para
modo que su punto medio esté a la misma altura, cada acontecimiento puede seguirse un proceso
en todas las verticales (Eig. 4). entre fases como el que se describe, asignando
como valor de cada arco su duración.

En la primera fase, se asignará inicialmente el valor


6. Tiempo de ocurrencia de los acontecimientos O a todos los vértices. Se generarán entonces los
árboles progresivos con origen en los vértices ini-
Un acontecimiento es el momento a partir del cual ciales, obteniéndose así una asignación inicial de
puede iniciarse una actividad, pero para ello han de los tiempos mínimos.

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
58
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

En la segunda fase, se calcula el tiempo mayor de acontecimiento inicial más su duración. Puede utili-
la fase anterior, y se asigna este valor a todos los zarse esta información, al dibujar el diagrama, para
vértices. Se generan entonces los árboles regresivos señalar de forma resaltada tales actividades.
con raíz en los vértices finales, tomando como
tiempo inicial de la raíz el obtenido en la fase ante- 7. Análisis de recursos
rior y se obtienen así los tiempos máximos de todos
los vértices. Para analizar los recursos consumidos, en cada uni-
dad de tiempo del período de ejecución o acumula-
La tercera fase es necesaria sólo si hay más de un dos, hay que fijar exactamente el comienzo de cada
vértice inicial. En ella se asigna inicialmente el valor actividad. Puede suponerse inicialmente que se
O a todos los vértices, y se generan los árboles pro- desea concluir en el menor plazo posible. Cabe
gresivos con raíz en los vértices iniciales, asignando entonces elegir, como base inicial, empezar sistemá-
a la raíz el tiempo obtenido en la fase anterior. Se ticamente las actividades no críticas lo antes posible
obtienen así los tiempos mínimos definitivos. De o lo más tarde posible. Todo esto conduce a fijar
este modo, los vértices iniciales empezarán lo más los tiempos de inicio de todas las actividades.
tarde posible, pues de no ejecutar esta tercera fase,
empezarían todos en el tiempo cero. Puede construirse entonces el histograma de recur-
sos necesarios en cada unidad de tiempo del pro-
En todos estos casos, la asignación de valor a los yecto (Eigs. 6a —tiempos más tempranos— y 6b
vértices puede hacerse indistintamente en las fases —tiempos más tardíos—), y la curva de recursos
de avance o de retroceso. La condición de finaliza- acumulados (Figs. 7a y 7b), que será la integral del
ción de una rama será el alcanzar un vértice final, o histograma. Esta información puede llevar a modifi-
que el vértice destino tenga asignado un valor más car el inicio de algunas actividades, adelantándolo o
desfavorable que el que se obtendría por la rama atrasándolo, para poder cumplir requerimientos de
en curso. cualquier tipo. Es necesario que, al modificar el ini-
cio de una actividad, se detecten todas las activida-
Serán críticas todas las actividades en las que el des afectadas por tal modificación, y determinar
tiempo más tardío de su acontecimiento final coin- cómo debe corregirse su comienzo, lo menos posi-
cida con la suma del tiempo más temprano de su ble, para permitir la modificación propuesta.

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
59
Informes de la Construcción, Vol. 46, n.° 431, mayo/junio 1994

Fií>. (xi

Fig. la Fig. 7h

Dependiendo de que se adelante o se atrase el varias modificaciones de tiempos de inicio de activi-


comienzo de la actividad a desplazar, deberá gene- dades del tipo descrito. Deberán revisarse todos los
rarse el árbol progresivo con origen en el aconteci- arcos de entrada del acontecimiento, fijándolos
miento final de la actividad o el regresivo con origen como máximo en el tiempo mínimo del aconteci-
en el acontecimiento inicial. El esquema de la gene- miento menos su duración, en caso de adelantar su
ración del árbol es el indicado, pero hay una varia- tiempo mínimo, o los de salida, fijándolos como
ción importante en este caso. La característica a con- mínimo en el nuevo tiempo máximo del aconteci-
siderar está ligada a las actividades en lugar de los miento, en caso de atrasar su tiempo máximo.
acontecimientos, como ocurría en los casos anterio-
res. A cada nudo del árbol se asocia el momento de 8. Conclusiones
comienzo de la actividad que permite pasar al
siguiente nivel, por lo que los nuevos tiempos de La programación de actividades es un caso típico de
comienzo conviene asignarlos en la fase de avance. aplicación de la teoría de grafos, aunque presenta
ciertas peculiaridades, tales como que los arcos,
Puede interesar adelantar el tiempo mínimo en que que representan las actividades, están limitados por
se alcance un acontecimiento, o retrasar su tiempo sus vértices extremos, acontecimientos, pero tienen
más tardío. En estos casos, puesto que hay que un tiempo propio de inicio, además de su duración.
modificar tiempos de inicio de actividades y no de Así, un cambio en una actividad afectará a otras
ocurrencia de acontecimientos, no se deben generar dependiendo no sólo de sus relaciones topológicas
los árboles regresivo o progresivo con raíz en el (conexiones entre vértices), sino de sus tiempos de
acontecimiento, sino que deben desencadenarse comienzo.

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es
60
Informes de la Construcción, Vol. 46, n.° 431, mayo/'junio 1994

Se presenta un conjunto de herramientas matemáti- Otro resultado de interés, para la fase de asignación
cas para la planificación y programación de proyec- de recursos, es la posibilidad de modificar el tiempo
tos mediante grafos, que hacen uso de un esquema de inicio de una actividad o los tiempos más tem-
compacto y eficiente para almacenar y manejar la prano o más tardío de un acontecimiento, determi-
información, que se organiza en listas de adyacen- nando todas las actividades afectadas, y corngiendo
cia, almacenadas en matrices unidimensionales sin sus tiempos de comienzo en la menor medida posi-
punteros. Todas ellas se basan en la generación y ble, de modo que se respeten las relaciones de pre-
búsqueda en profundidad de un árbol (Depth-first- cedencia.
search), cuyo esquema genérico se ha descrito deta-
lladamente, así como las condiciones específicas de Todos los procedimientos descritos se han progra-
cada uno de los procesos concretos. mado en un lenguaje tan simple como QB, y pro-
bado en un ordenador IBM-PC compatible, apli-
Un primer resultado original interesante es el cándolos a un ejemplo realista de tamaño reducido,
dibujo automático de un esquema del diagrama de elegido así por razones de publicación, pues se han
actividades, en el que quedan de manifiesto las hecho pruebas con ejemplos grandes (189 activida-
precedencias entre actividades, y que resulta claro des y 121 acontecimientos), ejecutándose todos los
en su presentación, sin que un arco pase por vérti- procesos en tiempos muy breves.
ces distintos de sus extremos, si bien no se trata de
evitar los cortes entre arcos, lo que puede no ser 9. Agradecimientos
posible.
Este trabajo forma parte de los estudios previos del
Se describe la forma de hallar las actividades críti- proyecto de investigación "Desarrollo, mejora e
cas, el plazo mínimo de ejecución, y las holguras o integración de sistemas CAD/CAE en Construcción",
fluctuaciones de cada actividad, que son los resulta- que se lleva a cabo en el Instituto Eduardo Torroja,
dos que proporcionan habitualmente las publicacio- y está financiado por la DGICYT, con el código
nes al respecto. PB93/0111.

BIBLIOGRAFÍA 5. Abellanas, M., y Lodares, D. (1990): '-Análisis de algoritmos y


teoría de grafos". Ed. ra-ma. Madrid.
1. Martín, W. R. (1969): "Aplicación de las técnicas PERT/'CPM a
la planificación y control de la Construcción", Editorial Blume, 6. Dolan, A. & Aldous, J. (1993): "Networks and algorithms: An
Barcelona. introductory approach", Ed. J. Wiley & Sons. England.

2. Martino, R. L. (1964): "Planeación de operaciones aplicadas". 7. BoUobás, B. (1990): "Graph theor)^: An introductor)^ Course",
Editora Técnica, S.A. México, 1964. Springer-Verlag, New York.

3. Pomares, J. (1977): "Planificación gráfica de obras", Editorial 8. Gould, R. (1980): "Graph theory". Ed. Cummings P. C, Inc.
G. Gilí, Barcelona. California.

4. Elmaghraby, S.: "Some network models in management 9- Knuth, D. (1968): "The art of computer programming". Addi-
science, " Springer Verlag, New York. son-Wesley Publishing Company, California.

(c) Consejo Superior de Investigaciones Científicas


Licencia Creative Commons 3.0 España (by-nc) http://informesdelaconstruccion.revistas.csic.es

También podría gustarte