Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Introducción
El PERT (“Program Evaluation and Review Technique” o “Técnica de
evaluación y revisión de programas”) y el CPM (“Critical Path Method”
o “Método del camino crı́tico”) son métodos diseñados para ayudar en
la planificación, la programación y el control de proyectos.
Un proyecto se define como una colección de actividades interrela-
cionadas, en donde cada actividad requiere tiempo y recursos.
Con la ayuda del PERT y del CPM se puede:
1. Planificar el proyecto antes de llevarlo a cabo y prever posibles
fuentes de problemas y retrasos en su realización.
2. Programar las actividades del proyecto en los momentos oportunos
para ajustarse a la secuencia de tareas a realizar, de forma que el
proyecto se termine lo más pronto posible.
3. Coordinar y controlar las actividades del proyecto para que sigan el
calendario previsto y no retrasen la finalización del proyecto.
Estas dos técnicas (el PERT y el CPM) fueron desarrolladas indepen-
dientemente en EE.UU. en los años 50. Son muy semejantes. La única
diferencia que debemos reseñar es la siguiente:
El PERT incorpora incertidumbre mediante la introducción de proba-
bilidades en los tiempos de ejecución de las actividades, mientras que el
CPM supone conocidos los tiempos de duración de las actividades (tiene
un carácter determinista).
Debido al distinto enfoque que tienen el PERT y el CPM con respecto a
los tiempos de las actividades, el PERT trabaja con tres estimaciones del
tiempo (la pesimista, la optimista y la más probable) y el CPM considera
sólo una.
Además el CPM fue posteriormente prolongado, introduciendo la rela-
ción que existe entre coste y duración de una actividad. De esta forma
surgió la PROGRAMACIÓN DE PROYECTOS A COSTE MÍNIMO (MCE: “Min-
imum Cost Expediting” o “aceleración del proyecto a coste mı́nimo”),
una de las variantes del CPM que ha resultado más fructı́fera, donde se
supone que hay una relación entre la cantidad de recursos necesarios
para una actividad y su tiempo de ejecución.
1
APLICACIONES DEL PERT Y DEL CPM
Construcción de edificios, autopistas, casas, puentes, etc.
Fabricación de aviones, barcos, ordenadores, etc.
Diseño, fabricación y distribución de nuevos productos.
Reparación y mantenimiento de barcos, refinerı́as de petróleo, etc.
Proyectos simples como restauración de casas, mudanza a una nueva
casa, etc.
HIJK
ONML
i
A / HIJK
ONML
j
OBSERVACIÓN
Si A:(i,j) entonces i < j.
2
se haya finalizado la actividad de nivelación.
Para poder iniciar la obra se ha tenido que conseguir previamente el
correspondiente permiso administrativo.
• ¿Cómo se representan en el grafo tales prioridades?
Si para iniciar la actividad B es necesario que haya terminado la ac-
tividad A:
HIJK
ONML
1
A / HIJK
ONML
2
B / HIJK
ONML
3
ONML
HIJK
1 MMM
MMM
MMA
MMM
MMM
HIJK
ONML / HIJK
ONML / HIJK
ONML
M&
B D
2 qq 8 4 5
qq
Cqqqq
q
qqq
HIJK
ONML
qqq
3
HIJK
ONML
qqq8 3
q
Bqqqq
qq
qq
HIJK
ONML / HIJK
ONML / HIJK
ONML
A qqq C
1 2 MMM 4
MMM
MMD
MMM
MMM
HIJK
ONML
M&
5
“A, B y C preceden a D, E y F”
3
ONML
HIJK
1 MMM HIJK
ONML
MMM qqq8 5
q
MMA
MMM Dqqqq
MMM qq
qq
HIJK
ONML / HIJK
ONML / ONML
HIJK
B
M& qqq E
2 qq8 4 MMMM 6
qqq MM
C qq MMFM
qqqq MMM
HIJK
ONML HIJK
ONML
q MMM
qqq &
3 7
Actividades ficticias
Veamos ciertos problemas que se plantean en la construcción del grafo
PERT.
“A y B preceden a C”
“A precede a D”
En principio podrı́amos pensar en representarlo ası́:
ONML
HIJK
1 OOO HIJK
ONML
4
OOO oooo7
OA
OOO C oo
oo
ooo
HIJK
ONML
OOO o
O' oo
o 7 3 OOO
oo OOO
Boooo OD
OOO
oo
HIJK
ONML HIJK
ONML
ooo OOO
oo O'
2 5
HIJK
ONML
1
A / HIJK
ONML
3
D / HIJK
ONML
5
HIJK
ONML
2
B / HIJK
ONML
4
C / HIJK
ONML
6
4
Las actividades ficticias también son usadas para resolver el problema
de las actividades “en paralelo”:
“A precede a B, C y D, y éstas a E”
HIJK
ONML / HIJK
ONML / HIJK
ONML / HIJK
ONML
"
A C E
1 2 3 4
<
HIJK
ONML
qqq8 3 M M
q MM
Bqqqq MM
qqq
HIJK
ONML / HIJK
ONML / ONML
HIJK / HIJK
ONML
qq MM
A qq C & E
1 2 MMM 8 5 6
MMM q qq
MMD
MMM
MMM q qq
HIJK
ONML
M& qq
4
5
CONSTRUCCIÓN DEL GRAFO PERT
SUCESO INICIO DEL PROYECTO
Representa el inicio de una o más actividades, pero no representa el
fin de ninguna.
SUCESO FIN DEL PROYECTO
Representa el fin de una o más actividades, pero no representa el
comienzo de ninguna.
En todo proyecto hay un único suceso inicio y un único suceso fin.
EJEMPLO
Construir el grafo PERT de un proyecto cuyas actividades y prelaciones
existentes entre las mismas son:
A precede a C,D,E
B precede a C
C precede a K
D precede a F,G
E precede a J
F precede a I
G precede a H
H,I,J preceden a L
K precede a M
L precede a P
M precede a N
N,P preceden a Q
Q precede a R
6
Construyamos el cuadro de prelaciones correspondiente a este proyecto:
ACTIVIDADES PRECEDENTES
A -
B -
C A,B
D A
E A
F D
G D
H G
I F
J E
K C
L H,I,J
M K
N M
P L
Q N,P
R Q
@ABC
GFED
z < 7 FF
FF
F zzzz FFI
FF
zz
@ABC
GFED @ABC
GFED
z FF
z "
<z 4 DD <x 9M 5
DD G x 55
Dzzzz DD H xxx 55
z D xx
GFED
@ABC @ABC
GFED
zz DD xx 55
z " x 55L
55
F 2 DDD 8 55
DDD
E 55
D
@ABC
GFED @ABC
GFED
DD 5
"
A J
5 115
55
55
@ABC
GFED
55
55P
1 DD 55
DD B 55
DD 55
DD
@ABC
GFED C @ABC
G FED @ABC
GFED M / @ABC GFED N / @ABC GFED / @ABC
GFED / GFED
@ABC
D" 5
/ K / Q R
3 6 10 12 13 14 15
7
ASIGNACIÓN DE TIEMPOS A LAS ACTIVIDADES
La duración de una actividad no puede fijarse, en la mayorı́a de los
casos, con exactitud. Depende de circunstancias aleatorias (averı́as en
las máquinas, cortes de energı́a eléctrica, retraso en la entrega de sumi-
nistros, enfermedad del personal,. . .).
este problema es abordado por el método PERT de modo muy peculiar,
pues considera tres estimaciones de tiempo distintas:
• LA ESTIMACIÓN OPTIMISTA, que representa el tiempo mı́nimo en que
podrı́a ejecutarse la actividad si todo marchase excepcionalmente bien,
no produciéndose ningún tipo de contratiempo durante la fase de eje-
cución.
Se considera que la probabilidad de poder finalizar la actividad en esta
estimación optimista (o en menos tiempo) no es superior a 0’01.
La denotaremos por “a”.
• LA ESTIMACIÓN MÁS PROBABLE, llamada también “estimación modal”,
y representa el tiempo que “normalmente” se empleará en ejecutar la
actividad.
Se considera que este tiempo es el que se producirı́a con más frecuencia
si la actividad se ejecutase un cierto número de veces.
La denotaremos por “m”.
• LA ESTIMACIÓN PESIMISTA, que representa el tiempo máximo en que
podrı́a ejecutarse la actividad si todas las circunstancias que influyen en
su duración fuesen totalmente desfavorables, produciéndose todo tipo de
contratiempos (exceptuando casos extremos: incendios, huelgas,. . .).
Se considera que la probabilidad de que dure la estimación pesimista
(o más) no es superior a 0’01.
La denotaremos por “b”.
Una vez establecidas las tres estimaciones de tiempo, se calcula el
tiempo PERT tij de ejecución de una actividad (i,j) ponderando las an-
teriores estimaciones por medio de la fórmula:
tij = a+4m+b
6
(Aunque no hay una clara justificación estadı́stica para esta esti-
mación, es ampliamente utilizada.)
8
DEFINICIÓN
Sea tij el tiempo PERT de ejecución de una actividad (i,j).
Se define el TIEMPO MÁS PRONTO POSIBLE (“early”) de un suceso j,
y lo denotaremos por tj , a:
tj = max {ti + tij }
i/(i,j)∈G
donde G nos indica el grafo PERT.
• El tiempo “más pronto posible” de un suceso nos indica el tiempo mı́nimo
necesario para llegar a él.
• El tiempo más pronto posible del suceso fin del proyecto es LA DURACIÓN
DEL PROYECTO.
OBSERVACIÓN
tj nos indica la longitud del camino más largo desde 1 hasta j.
Vamos a demostrarlo por inducción (en j).
j=1
t1 = 0 (cierto)
Lo suponemos cierto para 2,3,. . .,j
j+1
Lo demostramos para j+1 por reducción al absurdo.
Ya sabemos (por definición) que:
tj+1 = max {ti + ti·j+1 } = ti0 + ti0 ·j+1
i/(i,j+1)∈G
Sea ahora C el camino más largo desde 1 hasta j+1, y supongamos,
entonces, que tiene longitud mayor que tj+1 :
L(C) > tj+1
En tal caso, el último arco de C será (ı̂, j + 1) en donde ı̂ < j + 1.
Tendremos entonces:
9
DEFINICIÓN
Se define el TIEMPO MÁS TARDE PERMISIBLE (“last”) de un suceso i,
y lo denotaremos por t∗i , a:
t∗i = min {t∗j − tij }
j/(i,j)∈G
• El tiempo más tarde permisible de un suceso nos indica lo más tarde que
podemos llegar a él sin que se retrase la duración del proyecto.
OBSERVACIÓN
t∗i nos indica la longitud del camino más largo desde el inicio al fin del
proyecto menos la longitud del camino más largo desde i hasta el fin del
proyecto.
10
i-1
Lo demostramos para i-1 por reducción al absurdo:
Por un lado, ya sabemos (por definición) que:
t∗i−1 = min {t∗j − ti−1·j } = t∗j 0 − ti−1·j 0
j/(i−1,j)∈G
0
donde j > i − 1
Sea, ahora, C el camino más largo de i-1 a n, y supongamos que:
L(C) > L(Ci−1·n )
es decir:
t∗i−1 = t∗n − L(Ci−1·n ) > t∗n − L(C)
En tal caso, el primer arco de dicho camino C será (i − 1,̂) para algún
̂ > i − 1.
Por lo tanto, h i
∗ ∗
ti−1 > tn − L(C) = L − L(camino más largo de ̂ a n) + ti−1·̂ =
= L − L(camino más largo de ̂ a n) − ti−1·̂
= t̂∗ − ti−1·̂ ≥
≥ min {t∗j − ti−1·j } = t∗i−1
j/(i−1,j)∈G
lo cual nos lleva a una contradicción.
En consecuencia, t∗i nos indica lo más tarde que puedo salir de i si
quiero llegar a n en el tiempo tn .
11
EJEMPLO
Supongamos que tenemos el siguiente grafo PERT, en donde indicamos
las actividades y sus tiempos de ejecución.
GFED
@ABC E,3 @ABC
GFED
/ 5 VV
={ 3O 1 VVVV
VVVV
{{ 1 VVVV
{ VVVV H,2
B,3 {{{ 1 VVVV
{{ 1 VVVV
{{ 1 VVVV
{ VVVV
@ABC
GFED @ABC
GFED @ABC
G/ FED
{{ 1 VVVV
{ 1 VV*
1 CC C,7 1 8
={ O I,2
9
CC 1 {{
CC {
CCA,2 1 G,8 {{{
CC 1 {{
CC 1 {
CC {{
@ABC
GFED G/ FED
@ABC @ABC
G/ FED @ABC
GFED
C! 1 {
D,8 F,9 {{ J,10
2 4 6 / 7
MATRIZ DE ZADERENKO
Cuando el grafo PERT es muy grande (muchas actividades) el cálculo
de los tiempos “más pronto posible” y “más tarde permisible” puede
ser muy engorroso. Por eso Zaderenko propuso un método matricial de
cálculo de tiempos “más pronto posible” y “más tarde permisible”, que
resulta sencillo para grafos grandes y pequeños, y además, es fácil de
programar.
a) Se construye una matriz cuadrada A de dimensión igual al número
12
de nodos del grafo y tal que aij es el tiempo PERT de la actividad (i,j) si
tal actividad existe, sino, aij no está definido. (En un ordenador, si (i,j)
no existe, hacemos entonces, por ejemplo, aij < 0).
b) Para calcular los tiempos “más pronto posible” se comienza por
agregar una columna adicional a la izquierda de la matriz (en la que se
irán escribiendo los tiempos “más pronto posible”).
El primer elemento de la columna es el cero.
Para calcular los tiempos “más pronto posible” de los demás sucesos:
tj = max {ti + aij }
i/aij ≥0
c) Para calcular los tiempos “más tarde permisible” se agrega una fila
adicional en la parte inferior de la matriz.
el último elemento de la fila es igual al tiempo “más pronto posible”
del nodo final.
Para calcular los tiempos “más tarde permisible” de los demás sucesos:
t∗i = min {t∗j − aij }
i/aij ≥0
ti 1 2 3 4 5 6 7 8 9
0 1 2 3
2 2 7 8
9 3 0 3
10 4 9
12 5 2
19 6 10 8
29 7 0
29 8 2
31 9
t∗j 0 2 10 10 29 19 29 29 31
13
HOLGURAS Y CAMINO CRÍTICO EN EL PERT
La información que proporciona el conocimiento de los tiempos “más
pronto posible” y “más tarde permisible” de los diferentes sucesos no es
demasiado importante, salvo los del suceso fin del proyecto, pues este
tiempo representa la duración del proyecto.
La verdadera importancia de los tiempos “más pronto posible” y “más
tarde permisible” es que constituyen la base para el cálculo de las hol-
guras, que son la pieza fundamental en todo el proceso de análisis del
método PERT.
Comenzaremos por el concepto de holgura de un suceso.
La HOLGURA DE UN SUCESO i, que representaremos por Hi , se define
como la diferencia entre los tiempos “más pronto posible” y “más tarde
permisible” de dicho suceso:
Hi = t∗i − ti
Nos da cuánto puede retrasarse la llegada al suceso “i” sin que la
duración del proyecto experimente retraso. Si Hi = 0 entonces coinci-
den el tiempo más pronto posible en que llegamos a “i” y el más tarde
permisible en que podemos salir de “i” (ti y t∗i ).
OBSERVACIÓN
¿Qué nos da ti ?
En términos de grafos, nos da la longitud del camino más largo desde
el inicio hasta i.
¿Qué nos da t∗i ?
En términos de grafos, nos da la diferencia entre la longitud del camino
más largo desde el inicio hasta el fin y la longitud del camino más largo
desde i hasta el fin.
Por lo tanto, cuando Hi = 0, para algún i, esto implica que:
t∗i − ti = 0
pero, como acabamos de indicar,
t∗i = L(I, F ) − L(i, F )
ti = L(I, i)
en consecuencia, se tiene que
L(I,F) - L(i,F) - L(I,i) = 0
lo cual quiere decir que
L(I,F) = L(I,i) + L(i,F)
14
con lo que podemos concluir que entre I y F hay un camino de longitud
máxima que pasa por i.
El recı́proco también es cierto, puesto que si por “i” pasa un camino
de I a F de longitud máxima, tendremos que:
L(I,F) = L(I,i) + L(i,F)
con lo que:
Hi = 0.
PROPOSICIÓN
ti = t∗i
HijT = 0 ⇐⇒ tj = t∗j
tj − ti = t∗j − t∗i = tij
DEMOSTRACIÓN
• Primero probaremos que ti ≤ t∗i , ∀i
Supongamos que ∃i, ti > t∗i .
Sea ̂ ∈ N tal que t̂∗ − tî = min {t∗j − tij } = t∗i
j/(i,j)∈G
por lo tanto
t̂∗ − tî = t∗i < ti
con lo que
t̂∗ < ti + tî ≤ max {tk − tk̂ } = t̂
k/(k,̂)∈G
15
Ası́ seguirı́amos hasta llegar a la conclusión de que el tiempo “más
pronto posible” del suceso fin del proyecto es mayor que su tiempo “más
tarde permisible”, lo cual es una contradicción.
“⇐=”
HijT = t∗j − ti − tij = tj − ti − tij = 0
16
OBSERVACIÓN
Para
probar “⇐”nos bastó que:
∗
tj = tj
(a)
tj − ti = tij
o,
equivalentemente, nos hubiera bastado que:
∗
ti = ti
(b)
t∗j − t∗i = tij
luego,
(a) ⇒ HijT = 0 ⇒ (b) ⇒ HijT = 0 ⇒ (a)
entonces:
HijT = 0 ⇔ (a) ⇔ (b)
pero, entonces:
L(I,F) = L(I,j) +L(j,F)=
= tj +L(j,F)=
= ti + tij +L(j,F)=
= L(I,i)+tij +L(j,F)
es decir,
(i,j) forma parte de un camino de longitud máxima de I a F.
HIJK
ONML _ _ _ _ _ti _ _ _ _ _ONML
HIJK / HIJK
ONML
j _ _ _ _ _ _ _ _ _ _ _/ PQRS
WVUT
tij L(j,F )
I I / i F
u :
KL
rs
P o
S k
V Y h
\ t_j b e
17
tj = ti + tij
pues, en otro caso,
existirı́a k tal que tk + tkj = tj > ti + tij
con lo que
L(I,k)+tkj +L(j,F) > L(I,i) + tij +L(j,F) = L(I,F)
lo cual contradirı́a el hecho de que hay un camino de longitud máxima
de I a F que contiene a (i,j).
Por lo tanto, hemos obtenido que:
“(i,j) tiene holgura total cero si y sólo si forma parte de un camino de
longitud máxima desde el inicio al fin del proyecto”
18
El camino crı́tico serı́a:
A/D/F/J/I
OBSERVACIONES
• Si la duración de la actividad C (no crı́tica) se demora en 2 unidades de
tiempo, dejarı́a de ser crı́tica la D y lo serı́a la C.
• Si el tiempo PERT para la actividad G fuese 10, en vez de 8, tendrı́amos
dos caminos crı́ticos:
A/D/F/J/I
A/D/F/G/I
• Tal y como habı́amos indicado, todos los nodos por los que pasa un
camino crı́tico (y sólo éstos) tienen holgura nula.
Sin embargo,
H8 = H6 = 0
pero G:(6,8) no es crı́tica, puesto que:
t8 − t6 = 10 6= 8 = t68 .
• Por último, recordemos que ti nos da, para cada i, la longitud del
camino más largo desde el inicio hasta “i”, y t∗i nos da la diferencia entre
la duración del proyecto y la longitud del camino más largo desde “i”
hasta el final.
HOLGURA LIBRE DE UNA ACTIVIDAD (i,j)
HijL = tj − ti − tij
Nos indica lo que puede retrasarse una actividad, respecto a su tiempo
PERT previsto, sin que disminuya la holgura total de las actividades
siguientes o, lo que es lo mismo, la holgura libre denota el tiempo que
una actividad puede retrasarse sin retrasar el comienzo más temprano
de las actividades siguientes.
OBSERVACIÓN
HijT = 0 ⇒ HijL = 0
pues HijT = 0 ⇒ tj − ti = tij ⇒ HijL = 0
Sin embargo el recı́proco no es cierto, pues sı́ es posible que:
HijL = 0, Hi = 0 (ti = t∗i , Hj > 0 (t∗j > tj ))
(Véase en el ejemplo la actividad C)
pero no es posible que:
HijL = 0, Hi > 0, Hj = 0, HijT > 0
puesto que, en tal caso:
19
tj = t∗j , tj − ti = tij
con lo que, según la propiedad vista,
HijT = 0.
En resumen:
HijL ≤ HijT
HijL = HijT ⇐⇒ Hj = 0 (tj = t∗j )
EJEMPLO
Vamos a calcular las holguras libre, independiente y de retraso de las
actividades del ejemplo visto anteriormente.
T
ACTIVIDAD Hij HijL = tj − ti − tij HijI = tj − t∗i − tij HijR = t∗j − t∗i − tij
A : (1, 2) 0 2−0−2=0 2−0−2=0 2−0−2=0
B : (1, 3) 7 9−0−3=6 9−0−3=6 10 − 0 − 3 = 7
C : (2, 3) 1 9−2−7=0 9−2−7=0 10 − 2 − 7 = 1
D : (2, 4) 0 10 − 2 − 8 = 0 10 − 2 − 8 = 0 10 − 2 − 8 = 0
E : (3, 5) 17 12 − 9 − 3 = 0 12 − 10 − 3 = −1 29 − 10 − 3 = 16
F : (4, 6) 0 19 − 10 − 9 = 0 19 − 10 − 9 = 0 19 − 10 − 9 = 0
H : (5, 9) 17 31 − 12 − 2 = 17 31 − 29 − 2 = 0 31 − 29 − 2 = 0
J : (6, 7) 0 29 − 19 − 10 = 0 29 − 19 − 10 = 0 29 − 19 − 10 = 0
G : (6, 8) 2 29 − 19 − 8 = 2 29 − 19 − 8 = 2 29 − 19 − 8 = 2
I : (8, 9) 0 31 − 29 − 2 = 0 31 − 29 − 2 = 0 31 − 29 − 2 = 0
20
ESTABLECIMIENTO DE UN CALENDARIO DE EJECUCIÓN DEL PROYECTO
El proceso de cálculo que hemos desarrollado hasta ahora proporciona
una información de la que puede deducirse fácilmente un calendario de
ejecución del proyecto, que va a constituir un pieza básica para efectuar
el control del mismo.
En dicho calendario se establecen cuatro fechas para cada una de las
actividades:
21
OBSERVACIÓN
Nótese que para las actividades crı́ticas coinciden las fechas de comienzo
más temprana y más tardı́a, ası́ como las fechas de finalización más tem-
prana y más tardı́a, pues HijT = 0.
Además,
∆∗ij − ∆ij = (ti + HijT ) − ti = HijT
= t∗j − ti − tij
= ∇∗ij − ∇ij
22
EJEMPLO
Se pretende controlar el proceso de lanzamiento de un nuevo producto
al mercado. A continuación indicamos las actividades de que consta el
lanzamiento del producto y la duración prevista (en semanas) de cada
una de ellas.
A) Compra de las materias primas (2)
B) Producción del stock inicial (4)
C) Envasado del stock inicial (1)
D) Estudio del mercado (6)
E) Selección de una agencia de publicidad (3)
F) Realización de la campaña de publicidad (5)
G) Estudio y diseño de los envases (2)
H) Preparación de los envases (2)
I) Selección del equipo de vendedores (4)
J) Entrenamiento del equipo de vendedores (4)
K) Selección de los posibles distribuidores (3)
L) Venta a los distribuidores (5)
M) Envı́o de los primeros pedidos (2)
23
ACTIVIDADES PRECEDENTES
A -
B A
C B,H
D -
E G
F E
G D
H G
I D
J I
K D
L J,K
M C,L
24
CÁLCULO DE LOS TIEMPOS “MÁS PRONTO POSIBLE” Y “MÁS TARDE
PERMISIBLE”
MATRIZ DE ZADERENKO
ti 1 2 3 4 5 6 7 8 9 10
0 1 2 6
2 2 4
6 3 2 3 3
8 4 2 3
9 5 4
10 6 1
13 7 5
18 8 2
11 9 5
20 10
t∗j 0 13 6 12 9 17 13 18 15 20
25
Actividad tij ti tj t∗i t∗j Hi Hj HijT HijL HijI HijR ¿Crı́tica?
A : (1, 2) 2 0 2 0 13 0 11 11 0 0 11 No
D : (1, 3) 6 0 6 0 6 0 0 0 0 0 0 Sı́
B : (2, 6) 4 2 10 13 17 11 7 11 4 −7 0 No
G : (3, 4) 2 6 8 6 12 0 4 4 0 0 4 No
I : (3, 5) 3 6 9 6 9 0 0 0 0 0 0 Sı́
K : (3, 7) 3 6 13 6 13 0 0 4 4 4 4 No
H : (4, 6) 2 8 10 12 17 4 7 7 0 −4 3 No
E : (4, 9) 3 8 11 12 15 4 4 4 0 −4 0 No
J : (5, 7) 4 9 13 9 13 0 0 0 0 0 0 Sı́
C : (6, 8) 1 10 18 17 18 7 0 7 7 0 0 No
L : (7, 8) 5 13 18 13 18 0 0 0 0 0 0 Sı́
M : (8, 10) 2 18 20 18 20 0 0 0 0 0 0 Sı́
F : (9, 10) 5 11 20 15 20 4 0 4 4 0 0 No
@ABC
GFED B @ABC
G/ FED C @ABC
G/ FED
| =2 | =6 8
EM CCCCCC
|| || CCCCC
| || |||
CCCC
A ||| H ||| CCCCM
| |
CCCC
| | | | CCCC
|| || CCCC
| | CCCC
@ABC
GFED @ABC
GFED @ABC G FED / @ABC
GFED
| | C %
|| || E F
1 BBBB /
| =4
9 10
BBBB ||
B
BBB |
BBBB ||
BBBBD G ||| L
BBBB ||
BBBB
B |||
BBB |
@ABC
GFED G
@ABC FED
BB% |||
I 3 +
3 QQQQ 5 BBBB
QQQ BBBB
QQQ
QQQ BBBB
BB
QQQK B
BBBJ
QQQ BB
QQQ BBBBBB
QQQ BBBB
QQQ BBB
@ABC
GFED
QQBQ %
(
7
26
CALENDARIO DE EJECUCIÓN DEL PROYECTO
27
DIAGRAMA DE GANTT
0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
D
I
J
L
M
∆ ∇ A ∆∗ ∇∗
∆ ∇ B ∆∗ ∇∗
∆ ∇ G ∆∗ ∇∗
∆ K ∇ ∆∗ ∇∗
∆ ∇ H ∆∗ ∇∗
∆ ∇ ∆∗ E ∇∗
∆ ∇ C ∆∗ ∇∗
∆ F ∆∗ ∇ ∇∗
28
El método MCE
El método MCE (MINIMUM COST EXPEDITING o “aceleración del proyecto
a coste mı́nimo”) es una prolongación del método CPM, introduciendo la
relación entre coste y duración de una actividad.
Este método contempla la posibilidad de que el nivel de utilización
de recursos para la realización de una actividad no sea único, y, por lo
tanto, no hablaremos de una duración única sino que a cada nivel de
recursos le corresponderá una determinada duración. Es decir, se puede
reducir la duración de una actividad a base de incrementar su coste de
ejecución.
Ası́, por ejemplo, supongamos que en el proyecto existe una acividad
que es el alicatado de paredes con azulejos. El tiempo PERT previsto es
de 25 dı́as. Ahora bien, este tiempo PERT se ha calculado en base a un
determinado nivel de utilización de recursos (una cuadrilla de albañiles
y un turno de trabajo). Indudablemente, este tiempo PERT podrı́a re-
ducirse sin más que incrementar las cuadrillas de albañiles y/o los turnos
de trabajo.
En definitiva, existirá una relación funcional decreciente, que supon-
dremos lineal, entre el coste (adicional) y el tiempo de ejecución de una
actividad.
T
Cij s (Tij , Cij )
@
@
@
@
@
@
@
s (xij , cij )
@
@
@
@
@
@
@
@
(tij , 0) xij
Llamaremos:
xij : duración de la actividad (i,j).
tij : duración de la actividad (i,j) si le asignamos el mı́nimo nivel de
recursos.
29
Tij : duración de la actividad (i,j) si le asignamos el máximo nivel de
recursos.
cij : coste (adicional) de ejecución de la actividad (i,j).
cTij : coste (adicional) de ejecución de la actividad (i,j) si le asignamos
el máximo nivel de recursos.
además,
el coste adicional de ejecución de la actividad si le asignamos el mı́nimo
nivel de recursos es cero.
OBJETIVO:
Proponer un plan de aceleración del proyecto de modo que se incurra
en un coste lo más pequeño posible.
• ¿Cuál es el coste (adicional) de ejecución de una actividad (i,j) asociado
a una duración xij ?
Basta calcular la ecuación de la recta:
tij − xij 0 − cij
=
tij − Tij 0 − cTij
y despejar cij :
cTij
cij = (tij − xij )
tij − Tij
cTij
• Llamaremos a Qij = el COSTE UNITARIO DE REDUCCIÓN, que
tij − Tij
es el coste (adicional) de ejecución de la actividad (i,j) por unidad de
tiempo que se reduce su duración.
El problema que resuelve el MCE puede plantearse como un problema
de programación lineal paramétrica:
min cij ⇐⇒ max Qij xij
(i,j)∈G (i,j)∈G
y el problema serı́a:
X
maximizar Qij xij
(i,j)∈G
sujeto a ij ≤ xij ≤ tij ∀(i, j) ∈ G
TX
xij ≤ λ ∀C ∈ C = {caminos de 1 a n}
(i,j)∈C
xij : variables de decisión
λ: parámetro (duración del proyecto)
30
Para cada valor que demos al parámetro λ, el problema nos dará el
tiempo óptimo de ejecución de las diferentes actividades (xij ) para que
el coste sea mı́nimo.
HIJK
ONML
2 ITITTTT
uu: II TTTT
uu II
A uuuu IID TTTTTTTG
II TTTT
uu II TTTT
uuu II TTTT
HIJK
ONML / ONML
HIJK / HIJK
ONML f/3HIJK
ONML
u II
uu C $ F
TTT*
I
1 II u : 4 5 ff fffff 6
II u fff
II uu fffff
IIB
II E uuuu H
f ffffffff
u f
II uu fffff
II uu ffffffffff
HIJK
ONML
II u
$ ufuffffff
3
En la tabla siguiente tenemos las actividades con sus tiempos “nor-
males” de ejecución, los tiempos “tope” o mı́nimos y los costes unitarios
de reducción:
Actividad tij Tij Qij
A:(1,2) 8 4 2
B:(1,3) 10 5 4
C:(1,4) 12 6 3
D:(2,4) 10 6 4
G:(2,5) 14 9 3
E:(3,4) 7 5 5
H:(3,6) 12 8 2
F:(4,5) 7 4 5
I:(5,6) 10 7 1
31
Para aplicar el algoritmo de Ackoff y Sasieni empezamos construyendo
una tabla que explicaremos a continuación.
32
“tabla MCE”
33
En la primera columna de la tabla representamos los caminos que van
desde el nodo inicio hasta el nodo fin del proyecto.
Las siguientes nueve columnas corresponden a las diferentes activi-
dades en que se ha descompuesto el proyecto. Debajo de cada actividad
se escribe el coste unitario de reducción siempre que esa actividad forme
parte del camino que viene indicado por la fila correspondiente. Si, por
el contrario, la actividad no forma parte de dicho camino, se deja en
blanco el espacio correspondiente.
El cuadro se completa con siete columnas y siete filas que corresponden
a las distintas etapas del algoritmo:
En la columna 1 (etapa 1) tenemos las “longitudes” de los caminos
representados en las filas correspondientes y en la fila 1 (etapa 1) las
reducciones posibles (tiempos normales menos tiempos topes) de las di-
ferentes actividades.
De la observación de la columna 1 se deduce que la duración del
proyecto es de 35 unidades de tiempo y que si queremos reducir dicha
duración habrá que reducir la duración del camino II, ya que este camino
es el crı́tico.
Para reducir la duración de este camino será necesario reducir el
tiempo de ejecución de alguna de las actividades que lo forman. Para
ello elegiremos la actividad cuyo coste unitario de reducción sea el más
pequeño, que, en este caso, es la (5,6), ya que su coste unitario de re-
ducción es 1.
La reducción máxima que puede efectuarse en la duración de esta
actividad es de 3 unidades de tiempo, según nos indica el elemento co-
rrespondiente de la fila 1. Esta reducción origina un cambio en las lon-
gitudes de los caminos que contienen a la actividad (5,6). Estas nuevas
longitudes pasan a formar parte de la columna 2. De esta columna se
deduce que la duración del proyecto ha pasado a ser de 32 unidades de
tiempo.
Para completar esta etapa del algoritmo agregamos a la tabla una
nueva fila, que marcamos con un 2 en la que figuran las reducciones
posibles que presentan ahora las diferentes actividades.
El coste adicional en concepto de reducción lo obtendremos multipli-
cando el coste unitario de reducción (que es uno) por la correspondiente
reducción de tiempo (que es tres); es decir, en esta etapa el coste adi-
cional debido a la reducción es de 3 unidades monetarias.
34
Repitiendo el proceso completarı́amos las demás etapas del algoritmo.
En la gráfica siguiente representamos los tiempos de ejecución del
proyecto y los costes adicionales.
Coste
Adicional
90 t
C
C
80 C
C 15
C
70 C
C
C
60 Ct
C
C
50 C
C 11
C
Ct
40 C
38
T
30
T 6
T
T
20
TTt
J
J5
10 J
tH2
JJ
t``1
` ` t
5 10 15 20 21 23 25 28 30 31 32 35
Duración
OBSERVACIÓN
Ponemos fin al algoritmo cuando no podamos reducir más la duración
del proyecto, o cuando los beneficios marginales que se obtengan por
reducir el tiempo de duración del proyecto sean inferiores a los costes
marginales. En este último caso es conveniente escribir una tabla donde
comparamos los costes y los beneficios.
En el ejemplo que hemos visto, supongamos que el ingreso marginal
debido a la reducción en la duración del proyecto es de 7 unidades mo-
netarias. Entonces, la duración óptima del proyecto será 25, pues si lo
35
reducimos a un tiempo menor lo haremos a un coste (por unidad de
tiempo reducida) de 11 (y posteriormente de 15), que es mayor que 7
(beneficio por unidad de tiempo reducida).
36
Planificación de proyectos con recursos limitados
Desde el primer momento, al tratar la planificación de proyectos,
hemos hablado de “recursos” (por ejemplo, definı́amos “actividad” como
la ejecución de una tarea que consume tiempo y recursos). Sin em-
bargo, hemos dejado de lado este tema haciendo implı́citamente la su-
posicición de que los recursos de que disponı́amos eran ilimitados. Pero
este supuesto es muy fuerte y no muy realista en muchas ocasiones. Por
ello vamos a dedicar ahora nuestra atención a los dos problemas más
importantes que hay en el contexto general de los recursos limitados:
• el problema de la nivelación de recursos
• el problema de la asignación de recursos
La nivelación de recursos
El objetivo es que los consumos de los diferentes tipos de recursos sean
lo más uniforme posible durante el perı́odo de ejecución del proyecto, sin
que la duración de dicho proyecto se exceda de la prevista (la dada por
el camino crı́tico).
La situación óptima, a la que no se podrá llegar en la mayorı́a de los
casos, será aquella en la que el consumo de cada uno de los recursos se
mantiene constante a lo largo del tiempo de ejecuciÛn del proyecto.
Veamos un ejemplo:
Consideremos el siguiente proyecto:
HIJK
ONML
2
uu: E,7
uu
B,2uuuu
u
uu
uu
HIJK
ONML / ONML
HIJK / HIJK
ONML / HIJK
ONML ) HIJK
/ ONML / OHIJK
NML
u
uu A,3 C,4 D,2 F,1 H,2
1 3 4 5 5 6 9 7
G,8
I,2
37
ti 1 2 3 4 5 6 7
0 1 2 3 8 2
2 2 7
3 3 4
7 4 2
9 5 1
10 6 2
12 7
t∗j 0 3 3 7 9 10 12
38
A
C
D
F
H
B
E
Días 1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12 DÍAS
30 30 20 15 15 15 15 15 10 5 5 5 CARGA
39
30
25
20
15
10
1 2 3 4 5 6 7 8 9 10 11 12
40
actividades no crı́ticas (siempre que lo permitan sus holguras) tratando
de conseguir ası́ que disminuya la varianza antes citada.
41
ii) Todas las actividades en que se ha descompuesto el proyecto deben
ser realizadas en el transcurso de los p perı́odos de tiempo:
Xp
xjk = Dj , j = 1, . . . , m
k=1
42
(La existencia de variables con valores determinados a priori produce
casi siempre una reducción considerable de la dimensión de los modelos.)
• Determinemos ahora la función del objetivo:
Como ya habı́amos indicado, lo que nos interesa es minimizar la va-
rianza de la variable “carga diaria”.
Como su media es fija nos bastará con minimizar la suma de los
cuadrados de las cargas.
Por lo tanto, tendremos!la siguiente función objetivo:
r Xp m 2
X X
min cij xjk
i=1 k=1 j=1
43
Seguidamente, continuaremos el proceso hasta llegar a la actividad
que posee la fecha más temprana de finalización menor, aplicándole el
mismo tratamiento.
Cuando dos o más actividades tengan la misma fecha más temprana de
finalización, se actuaráprioritariamente sobre la actividad cuya holgura
permita un retraso mayor en su finalización.
Paso 3
Una vez analizada la actividad con una fecha más temprana de fina-
lización menor, se vuelve a iniciar un nuevo ciclo de iteraciones.
El proceso de cálculo se detendrá cuando, finalizado un ciclo, no resulte
posible disminuir la suma de los cuadrados de las cargas.
Aunque el algoritmo lo hemos aplicado a un calendario de ejecución
del proyecto basado en las fechas más tempranas, puede aplicarse de
igual forma a un calendario que esté basado en las fechas más tardı́as.
En ambos casos, como es lógico, se llega a la misma solución, aunque el
número de ciclos e iteraciones puede cambiar.
Al ser este algoritmo de tipo “heurı́stico” nunca nos indicará si hemos
llegado a una solución optima, excepto en aquellos casos en los que se
alcanza el valor de la varianza cero (carga diaria constante).
Una de las ventajas que presenta este algoritmo es el de ser factible
de procesar en un ordenador, lo cual permite su aplicación a proyectos
complejos. Y uno de los principales inconvenientes es el de estar pensado
fundamentalmente para la nivelación de un único recurso.
44
• Vamos a resolver ahora el ejemplo planteado anteriormente:
A 10
C 5
D 5
F 5
H 5
B 5
E 5
G 5
I 10
1 2 3 4 5 6 7 8 9 10 11 12
30 30 20 15 15 15 15 15 10 5 5 5
900 900 400 225 225 225 225 225 100 25 25 25 3.500
30
25
20
15
10
1 2 3 4 5 6 7 8 9 10 11 12
45
Paso 1
La actividad E:(2,6) es la que posee la fecha más temprana de finali-
zación mayor y su holgura total es de un dı́a, entonces:
46
grama de cargas:
30
25
20
15
10
1 2 3 4 5 6 7 8 9 10 11 12
47
carga2
P
1 2 3 4 5 6 7 8 9 10 11 12
30/900 30/900 20/400 15/225 15/225 15/225 15/225 15/225 10/100 5/25 5/25 5/25 3.500
15/225 10/100 3.400
25/625 15/225 3.250
25/625 15/225 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 25/625 3.100
15/225 15/225 2.900
15/225 15/225 2.700
A
C
D
F
H
1 2 3 4 5 6 7 8 9 10 11 12
15 15 15 15 15 15 15 15 15 15 15 15
48
La asignación de recursos
El objetivo es minimizar la duración del proyecto, de forma que en
ninguno de los perı́odos de tiempo en los que se ejecuta el proyecto el
consumo de algún recurso supere las disponibilidades del mismo.
Obsérvese que, por primera vez, contemplamos la posibilidad de que
no tengamos recursos suficientes para que el proyecto se ejecute en el
tiempo PERT previsto.
Para explicar la asignación de recursos nos apoyaremos en el mismo
ejemplo modificándolo ligeramente. Ahora consideraremos que las necesi-
dades de mano de obra son: las de las actividades B, E, y G, de 3 obreros;
las de las actividades A, C y F de 5 obreros y las de las actividades D,
H, e I de 9 obreros.
Como en la nivelación, supondremos que estamos interesados únicamente
en el recurso mano de obra y que las disponibilidades de éste se estiman
en 12 obreros por dı́a.
Calculemos la carga diaria y el diagrama de carga correspondientes al
calendario de ejecución basado en las fechas más tempranas.
49
A 5
C 5
D 9
F 5
H 9
B 3
E 3
G 3
I 9
1 2 3 4 5 6 7 8 9 10 11 12
1 2 3 4 5 6 7 8 9 10 11 12 DÍAS
20 200 11 11 11 11 11 15 12 5 9 9 CARGA
20
19
18
17
16
15
14
13
12
11
10
1 2 3 4 5 6 7 8 9 10 11 12
50
A la vista del diagrama está claro que este calendario no se podrá
cumplir, pues necesitarı́amos más recursos los dı́as 1, 2 y 8.
Por ello hemos de modificar el calendario de ejecución, lo cual puede
repercutir en un retraso en la terminación del proyecto.
El objetivo de los métodos de asignación de recursos constirá en obtener
un nuevo calendario de ejecución que haga mı́nima la duración del proyecto,
satisfaciendo las restricciones impuestas por las disponibilidades de los
recursos.
Es decir, la asignación de recursos busca el calendario de duración
mı́nima en el que se cumpla que los consumos diarios (cargas) de los
recursos que estamos estudiando no superen las disponibilidades de los
mismos.
Igualmente a lo que ocurrı́a con la nivelación de recursos, el método
que se emplea en la asignación de recursos consiste en retrasar la eje-
cución de las actividades, con respecto a sus fechas más tempranas, den-
tro de lo que permitan sus holguras.
Asimismo, para buscar soluciones exactas acudiremos a la progra-
mación, obteniendo problemas de enorme dimensión, por lo que también
describiremos métodos heurı́sticos que, aunque no garantizan soluciones
óptimas, nos dan buenas soluciones en poco tiempo.
51
perı́odo k-ésimo, se tendrá que cumplir:
X m
cij xjk ≤ aik , i = 1, 2, . . . , r, k = 1, 2, . . . , p
j=1
el añadir esta nueva condición supone incluir en el modelo rp restric-
ciones más.
La mayor diferencia en los modelos de asignación y nivelación reside
en la estructura de la función objetivo.
En este caso el objetivo es encontrar un calendario de ejecución que,
cumpliendo las correspondientes restricciones, minimice la duración del
proyecto.
Una forma de expresar este objetivo es la siguiente:
Xm m
X m
X
min α1 xj1 + α2 xj2 + . . . + αp xjp
j=1 j=1 j=1
siendo α1 < α2 < . . . < αp .
Obviamente esta función del objetivo nos asegura una duración del
proyecto mı́nima, pues cuando haya que elegir entre ejecutar una activi-
dad en el perı́odo s o en el perı́do t (siendo ambas elecciones compatibles
con las restricciones y siendo s < t), elegirá realizarla en el perı́odo s.
52
ALGORITMO HEURÍSTICO PARA LA ASIGNACIÓN DE RECURSOS
La idea de este algoritmo es la de asignar los recursos, perı́odo por
perı́odo.
En el primer perı́odo se programarán todas las actividades que se
puedan ejecutar en el mismo, siempre que no se superen las disponibili-
dades existentes del recurso. A continuación se procede de igual forma
con los demás perı́odos y ası́ sucesivamente. Cuando las disponibilidades
de un perı́odo no cubren la carga del mismo, se dará preferencia de
realización a las actividades que dispongan de menos holgura.
En resumen, el algoritmo quedarı́a ası́:
Paso 1
Hacer un estudio PERT del proyecto y obtener el calendario en el que
todo ocurre lo más pronto posible.
Hacer T=1.
Paso 2
Determinar el conjunto de actividades elegibles “AE”, es decir, el con-
junto de actividades que no están definitivamente programadas, y que
son tales que todas las que las preceden ya están totalmente progra-
madas.
Paso 3
Determinar el conjunto ordenado de actividades elegibles “OAE”: las
actividades elegibles se ordenarán en orden creciente de sus “holguras
restantes” para T, es decir, la holgura de la correspondiente actividad si
empezara a ejecutarse en T.
En caso de empate, orden arbitrario.
Paso 4
Obtener por orden las actividades del conjunto OAE que se pueden
ejecutar en el perı́odo T sin sobrepasar el nivel de recursos disponibles.
Modificar, si es preciso, el tiempo de comienzo de cada actividad del
conjunto OAE.
Actualizar el nivel de recursos.
Obtener el nuevo conjunto AE y las holguras restantes para T+1.
Paso 5
Si todas las actividades han sido programadas: fin del algoritmo.
En otro caso, hacer T=T+1 e ir al paso 3.
53
HIJK
ONML
2
uu: E,7
uu
B,2uuuu
uu
uu
uu
HIJK
ONML / ONML
HIJK / HIJK
ONML / HIJK
ONML ) HIJK
/ ONML / OHIJK
NML
uu A,3 C,4 D,2 F,1 H,2
1 3 4 5 5 6 9 7
G,8
I,2
Actividad B:(1,2) A:(1,3) G:(1,6) I:(1,7) E:(2,6) C:(3,4) D:(4,5) F:(5,6) H:(6,7 )
Holgura 1 0 2 10 1 0 0 0 0
A 5
C 5
D 9
F 5
H 9
B 3
E 3
G 3
I 9
1 2 3 4 5 6 7 8 9 10 11 12
54
20
19
18
17
16
15
14
13
12
11
10
1 2 3 4 5 6 7 8 9 10 11 12
Paso 1
Una vez hecho el estudio PERT del proyecto y el calendario de fechas
más tempranas, sea T=1.
Paso 2
AE={A,B,G,I}
Paso 3
HA = 0
HB = 1
HG = 2
HI = 10
entonces OAE={A,B,G,I}
Paso 4
Las actividades que se pueden ejecutar en T=1 son: A,B,G
55
Recursos utilizados 11<12
entonces
A comienza en 1
B comienza en 1
G comienza en 1
El próximo nivel de recursos es 12.
T=2
AE={A,B,G,I}
HA = −1
HB = 0
HG = 1
HI = 9
OAE={A,B,G,I}
Pueden ejecutarse en T=2 las actividades: A, B, G.
Recursos 11<12
B terminada
Próximo nivel de recursos 12.
T=3
AE={A,E,G,I}
HA = −2
HE = 1
HG = 0
HI = 8
OAE={A,G,E,I}
Pueden ejecutarse en T=3 las actividades: A, G, E.
Recursos 11<12
A terminada
E comienza en 3.
Próximo nivel de recursos 12.
T=4
AE={G,I,C,E}
HG = −1
HI = 7
HE = 0
56
HC = 0
OAE={G,E,C,I}
Pueden ejecutarse en T=4 las actividades: G, E, C.
Recursos 11<12
C comienza en 4.
Próximo nivel de recursos 12.
T=5
AE={G,E,C,I}
HG = −2
HI = 6
HE = −1
HC = −1
OAE={G,E,C,I}
Pueden ejecutarse en T=5 las actividades: G, E, C.
Recursos 11<12
Próximo nivel de recursos 12.
T=6
AE={G,E,C,I}
HG = −3
HI = 5
HE = −2
HC = −2
OAE={G,E,C,I}
Pueden ejecutarse en T=6 las actividades: G, E, C.
Recursos 11<12
Próximo nivel de recursos 12.
T=7
AE={G,E,C,I}
HG = −4
HI = 4
HE = −3
HC = −3
OAE={G,E,C,I}
Pueden ejecutarse en T=7 las actividades: G, E, C.
57
Recursos 11<12
C terminada
Próximo nivel de recursos 12.
T=8
AE={G,E,I,D}
HG = −5
HE = −4
HI = 3
HD = −0
OAE={G,E,D,I}
Pueden ejecutarse en T=8 las actividades: G, E.
Recursos 6<12
G terminada
Próximo nivel de recursos 12.
T=9
AE={E,D,I}
HE = −5
HD = −1
HI = 2
OAE={E,D,I}
Pueden ejecutarse en T=9 las actividades: E,D.
Recursos 12≤12
E terminada
D comienza en 9
Próximo nivel de recursos 12.
T=10
AE={D,I}
HD = −2
HI = 1
OAE={D,I}
Pueden ejecutarse en T=10 la actividad D.
Recursos 9<12
D terminada
Próximo nivel de recursos 12.
58
T=11
AE={I,F}
HI = 0
HF = −1
OAE={F,I}
Pueden ejecutarse en T=11 la actividad F.
Recursos 5<12
F comienza en 11
F terminada
Próximo nivel de recursos 12.
T=12
AE={I,H}
HI = −1
HH = −1
OAE={I,H}
Pueden ejecutarse en T=12 la actividad I.
Recursos 9<12
I comienza en 12
Próximo nivel de recursos 12.
T=13
AE={I,H}
HI = −2
HH = −2
OAE={I,H}
Pueden ejecutarse en T=13 la actividad I.
Recursos 9<12
I terminada
Próximo nivel de recursos 12.
T=14
AE={H}
HH = −3
OAE={H}
Pueden ejecutarse en T=14 la actividad H.
59
Recursos 9<12
H comienza en 14
Próximo nivel de recursos 12.
T=15
AE={H}
HH = −4
OAE={H}
Pueden ejecutarse en T=15 la actividad H.
Recursos 9<12
H terminada
60
A
C
D
F
H
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Días
11 11 11 11 11 11 11 6 12 9 5 9 9 9 9 Carga Diaria
12
11
10
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
61