Tesis Sobre La Optimizacion Del Pert CPM
Tesis Sobre La Optimizacion Del Pert CPM
Tesis Sobre La Optimizacion Del Pert CPM
Departamento de Matemticas
dIBLIOTECA
1 DE CIENCIAS EXACTA
Y NATURALES
Tesis
Licenciado en Matemticas
Presenta
Contenido
Introduccin
11
13
17
18
21
22
23
25
44
47
58
63
63
CONTENIDO
Conclusiones
119
121
121
123
Bibliografa
125
CONTENI DO 3
INTRODUCCION
CONTENIDO
Captulo 1
EL PROBLEMA DE LA
SECUENCIA DE PROYECTOS
Un proyecto es una serie de actividades las cuales tienen una determinada secuencia para poder
realizarlas, es decir, existe una relacin tal que una actividad no se realiza hasta que otras terminan.
Un proyecto es un trabajo que necesita tiempo y capital para realizarse.
En la actualidad existe una gran cantidad de libros de Investigacin de Operaciones; en los que
hablan del mtodo CPM (Critical Path Method) pero no nos explican su fundamentacin ni nos
indican cmo poder llevarlo a la prctica. Esto es una gran deficiencia dado que este mtodo es
muy usado en la planificacin, control e informacin de los proyectos.
El proposito de nuestro es dar a conocer al lector uno de los mtodos ms utilizados en nuestros
tiempos cmo es el CPM, ya que en estos ultimos aos se ha visto que es el mtodo que ms a
dado resultados en la planificacin y programacin de todo tipo de actividades a realizar, como por
ejemplo: en la industria de la construccin (barcos, edificios, puentes, carreteras etc.), tambin en
la instalacin de los aparatos elctricos de cualquier empresa, o las mquinas pasa la construccin
de cualquier producto. Por lo tanto, este trabajo est dedicado a la divulgacin del mtodo CPM
desde el punto de vista prctico para que pueda ser aplicado a los proyectos que se puedan presentas.
El CPM es un mtodo que nos ayuda a encontrar cul es la forma ms eficiente de realizar un
proyecto consiguiendo que nos resulte lo mas barato posible en un tiempo razonable.
Daremos a conocer cmo saber el tiempo que se necesita para poder terminar una actividad
despus de que ha terminado la anterior. Estudiaremos tambin el acortamiento de la duracin del
proyecto, y las modificaciones del costo mnimo, empleando para esto una modificacin al Algoritmo
de Dijkstra y de Ford Fulkerson con fin de que se puedan entender los fundamentos de esta tcnica.
2. Diagramas o modelos
red que se forma nos representa solamente la relacin que existe entre una actividad y otra, estas
activida des estn sujetas a ciertas restricciones de precedencia. El representar estas condiciones
grficamente permite darnos cuenta de qu actividades son mas importantes, esta red no esta
terminad a hasta que a cada actividad se le asigne el tiempo que se necesita para terminar dicha
actividad, pues adems, tambin se le debe de agregar el costo, el cual esta relacionado con el
tiempo. Una vez dada toda la informacin de las actividades del proyecto se dira que hemos
modelado el proyecto con una red.
Como hemos dicho anteriormente las actividades estn sujetas a ciertas restricciones de precedencia y una actividad puede comprender una tarea o una serie de ellas.
Nuestro modelo de red adems de las actividades, cuenta con una serie de sucesos (nodos) que
nos representan el momento de comenzar o terminar una actividad representada por una flecha.
Ejemplo 1:
La siguiente red nos muestra un ploblema que est formado solamente por cuatro actividades
donde s es el inicio y t es el final.
fig. 1.1
Cada actividad debe de estar terminada para que la siguiente pueda comenzar. Sin embargo
los sucesos iniciales no tienen una actividad que le preceda y el suceso final no tiene una actividad
que le siga, por lo tanto el suceso final de la actividad precedente es igual que el suceso inicial de
la actividad subsiguiente, excepto en el primero y el ltimo suceso.
Como podemos observar, los eventos estan enumerados, esto es para poder identificar con mayor
exactitud cada uno de ellos, las actividades que en estos momentos estamos definiendo con flechas,
donde la longitud no significa nada, slo son para identificar cuales son los sucesos que estn
conectados.
Un diagrama de flechas es la representacin de un proyecto determinado en el que se muestra
la secuencia correcta para alcanzar los objetivos finales.
En algunas ocasiones existen en el diagrama de flechas una relacin de precedencia entre dos
actividades, que no existe realmente, es decir no se requiere algn trabajo, ni recursos, ni tiempo si
no que por algunas circunstancias especiales una actividad debe de realizarse antes de otra, como
por ejemplo:
Supongamos que construimos un gran alternador elctrico en el taller de caldera y no se puede
realizar el estator y el rotor al mismo tiempo por su tamao, siendo estas dos actividades independientes y para expresar el rden de ejecucin unimos con una flecha ficticia, indicando que primero
Estator
fig. 1.2
En este caso para expresar la conexin de estas actividades, se crea una flecha ficticia represenada con una linea punteada como en la figura 1.2
En muchas ocasiones, suele ocurrir que entre el mismo suceso inicial y el final aparezcan paralelamente varias actividades, para poder evitar esta confusin se puede crear la actividad ficticia
Ymentando el nmero de los sucesos.
Ejemplo
(a)
(b)
fig1.3 a, b
3. Planteamiento de Problemas
El diagrama de flechas es el primer paso para lograr encontrar el tiempo mnimo para terminar
cada una de las actividades con el costo ptimo, para poder lograr esto se requiere de un proseso
especificando las fechas de inicio y terminacin de cada actividad, para lograrlo se necesita encontrar
primero el tiempo ms tardo el cual tiene el costo menor que existe entre el principio y el fin del
proyecto e ir acortando este tiempo paulatinamente hasta encontrar el menor tiempo posible pero
al ir acortando el tiempo, el costo se va incrementando hasta llegar al punto en el cual el tiempo y
el costo son los adecuados, es decir, el menor costo bajo un tiempo razonable.
Problema de construccin
excavaci
cimbra
obtencin
del concreto
y varilla
colado
para el colado
fig. 1.4
Usando los datos de la figura 1.1 el ingeniero forma la siguiente tabla.
A(i,j)
A(s,1)
A(s,2)
A(1,3)
A(2,1)
A(2,4)
A(3,4)
A(4,t)
Descripcin
tiempo
Excavacin
Obtencin del concreto
8
Colocacin del acero de refuerzo
4
para los castillos y dalas
2
ficticia
Corte y doble del acero de refuerso
5
para el colado
colocacin de la cimbra
10
Colado
3
tabla 1.1
En la figura 1.4 nos indica el seguimiento de cada una de las actividades, indicndonos cual
actividad se debe de realizar primero, cual despus y el tiempo que se necesita en cada una de
ellas se muestra en la tabla. En la figura se puede observar 7 actividades, estas son A(s,1), A(5,2),
A(1,3), A(2,1), A(2,4) (3,4) y A(4,t) de las cuales una de ellas la A(2,1) es ficticia y por lo tanto
lanteamien to de Problemas
11
e necesita tiempo para realizarla pero nos indica que no se puede realizar la actividad A(1,3)
ue halla terminado la actividad A(s,2) pero tambien tenemos que la actividad A(1,3) no puede
zar hasta que termine la actividad A(s,1) es decir no puede colocar el acero de refuerzo sin
hecho la escavacin y no puede cortar la varilla sin haberla adquirido antes, tambien nos
tira con la figura que no puede colar si antes no se realizaron todas las demas actividades.
ui podemos observar que la mxima duracin del proyecto es de 18 das ya que el camino
une a las actividades A(s,1) y A(1,t) es el ms largo del proyecto.
Financiamiento
para 5 aos
Clculo de
presupuesto
Prueba
de
equipo
Bsqueda
de capital
Instalacin
del equipo
equipo
fig. 1.5
enero se ha percatado de que algunas actividades no se pueden comenzar hasta que otras
erminado como por ejemplo: para poder saber cunto se gastar, es necesario comprar
y para saber el financiamiento primero es necesario conocer con cunto capital se cuenta
o se debe saber cules actividades podemos realizar primero y cules despus.
la figura anterior se puede notar que para poder comprar el equipo primero se debe calcular
upuesto y que para poder probarlo primero se debe de capacitar al personal, tambin se
blerrvar que para poderlo instalar primero se debe de comprar, por ltimo se da cuenta que
der probar el equipo se debe tener todo ya listo, es decir, se debe de calcular el presupuesto,
,elequipo, capacitar al personal, instalarlo, buscar el capital, siendo este el final del proyecto
podemos observar que la duracin del proyecto es de 20 das.
ernpos para cada actividad se especifican en la siguiente tabla.
eamiento de Problemas
13
Tiempo
Descripcin
A(i,j)
A(2,3)
6
5
A(3,4)
A(4,t)
Instalacin
Pruebas de equipo
4
8
A(s,1)
A(s,2)
A( s ,4)
A(1,4)
1
10
12
tabla 1.2
stos dos problemas que hemos mencionado son problemas que utilizamos como ejemplo de
os otros ms que existen en la vida real.
ontinuacin se presentan las actividades necesarias para la fabricacin de un nuevo producto.
4- Pronsticos de Venta.
Clculo de costos de publicidad.
Compra de material.
Pruebas de produccin.
Presupuesto.
Estrategia de ventas.
Pruebas de control de calidad.
Resultados de publicidad.
Lanzamiento al pblico.
continuacin presentamos la red que se forma con estas actividades
fig. 1.6
De acuerdo a la figura 1.6 se forma la siguiente tabla donde las actividades se encuentran
sumidas de la siguiente manera en la primera columna se muestran los A(i,j), en la segunda
umna se muestra la lista de actividades del proyecto y en la tercera columna se indica la duracin
cada actividad (en das) Determnese la duracin mnima del proyecto.
15
Planteamiento de Problemas
A(ii)
A(s,1)
A(1,2)
A(2,3)
A(3,4)
A(3,5)
A(3,6)
A(3,7)
A(3,8)
A(4,9)
A(5,10)
A(6,11)
A(7,11)
A(8,14)
A(9,12)
A(10,9)
A(11,8)
A(12,13)
A(13,11)
A(13,14)
A(14,t)
Actividad
Decisin preliminar.
Estudio de mercado.
Reporte de estudio.
Sugerencia del diseo.
Lista posible de proveedores.
Estimacin de la capacidad
de produccin.
Lista de posibles distribuidores.
Estudio de campaa de publicidad.
Estudio del diseo.
Cotizacin de precios.
Pronsticos de Venta.
Clculo de costos de publicidad.
Compra de material.
Pruebas de produccin.
Presupuesto.
Estrategia de ventas.
Pruebas de control de calidad.
ficticia.
Resultados de publicidad.
Lanzamiento al pblico.
Duracin
15
30
2
10
4
10
4
20
40
10
8
6
20
30
15
3
30
12
7
tabla 1.3
Este problema como podemos observar tiene ya un nmero mayor de actividades incluyendo
algunas actividades ficticias, estas actividades se utilizan cuando en algun proyecto existe una
alacin que no requiere tiempo ni recursos pero se utiliza por alguna circunstancia especial, esta
ctividades ficticias se representa por una linea punteada, stas son actividades que los problemas
Jmencionados anteriormente no las teman, por consiguiente este es ya un problema mas real y por
tanto para resolverlo es necesario estructurarlo ms detalladamente mediante una red la cual
os representa paso a paso todas las actividades y la ruta que se tiene que seguir para poder llegar
la ltima actividad y as poder conocer la duracin y el costo del proyecto, pero para esto es
ecomendable utilizar algn procedimiento de lo cual hablaremos mas adelante.
En el siguiente cpitulo veremos cmo dasificar las actividades en crticas o no crticas adems
de encontrar el tiempo suficiente que necesita cada actividad para terminar el proyecto y observar
u tiempo tiene cada actividad para comenzar y terminar, al cual se le llama tiempo de holgura,
veremos como representar nuestro problema, observaremos cmo relacionar el costo con la duracin
de una actividad y como acotarla.
TECNICA CPM EN LA
UENCIA DE PROYECTOS
acin de un proyecto por CPM consiste en planear, programar y controlar cada una de
Ldades del proyecto.
ante veremos que la actividad no crtica tiene un tiempo de holgura que nos indica el
puede atrasarse la actividad sin que otras actividades sufran algn cambio tanto en el
en el tiempo.
t(C(k)) =
t(i, j)
AmEc(k)
el siguiente ejemplo calculemos la duracin de una ruta.
19
fig. 2.1
oyecto esta formado por 5 eventos y 8 arcos, los eventos y los arcos forman una red que
s y termina en t, los cuales tienen sus tiempos determinados que son
20 das
10 das
30 das
-'5 das
70 das
-,1 da
2 das
5 das
uta seria la formada por las actividades A(s,1), A(1,2), A(2,3), A(3,t) y su duracin est
+ 1,2) + t(2,3) + t(3,t) 20 + 30 1 + 5 = 56 das.
u muchas rutas ms pero solo una es la que nos interesa la cual encontramos acontinuacin:
ando la ruta que nos indique la duracin del proyecto.
culos para la ruta crtica la cual definiremas ms adelante requiere dos faces, la primera
clculo hacia adelante, la cual empieza en s y termina en t, donde en cada nodo se calcula
que representa el tiempo de inicio mas rpido del evento correspondiente. La segunda
TIMRs=0
si j=s
uno
O das
[0+20] = 20 das
Max[0+10, 20+30] = Max[10, 50] = 50 das
Max[20+5, 50+1] = Max[25, 51] = 51 das
Max [20+70, 50+2, 51+5] = Max[90, 52, 56] = 90 das
operacin terminamos los clculos hacia adelante el cual determina la duracin del
"rulos hacia atrs comienza desde t y terminan en s. lo que se quiere es encontrar los
inicio ms tardo, TIMT, representa el tiempo de inicio ms tardo del evento i para
icvidades que comienzan en el evento i. Para encontrar estos tiempos se usa la siguiente
V i
t, j sucesor de i
si i=t
do ahora todos los tiempos ms tardos de cada uno de los eventos tenemos
TIMRt = 90 das
TIMTt - t(3,t) = 90-5 = 85 das
min[TIMTt - t(2,t),TIMT3 - t(2,3)] = min[90- 2, 85-1] = min[88, 84] = 84 das
= inin[TIMTt - t(1,t),TIMT3 - t(1,3),TIMT2 - t(1,2)]=min[90 -70, 85 - 5, 84 - 30] =
e la Ruta Crtica
21
das
n[TIMTi - t(s,l),TIMT2 - t(s,2)] = min [20 - 20, 84 - 10] = Min[0, 74] = 0 das
a los clculos hacia atrs.
n veremos la utilidad de estos clculos.
km de Ruta Crtica
de la ruta crtica se pueden identificar usando los resultados que encontramos
donde podemos observar que una actividades A(i,j) est en la ruta crtica si satisface
condiciones:
TIM T;
TIMT
TIMT; = TIMT3 - TIMRi t(i,j).
idades que nos definen la ruta crtica para nuestro ejemplo son A(s,l), A(1,t), que
d das es el tiempo mximo posible para terminar el proyecto.
a no es crtica cuando se tiene una actividad A(i,j) que no cumple las tres condiciones
anteriormente, por ejemplo, si se tiene la actividad A(2,3) del ejemplo anterior podear que los tiempos de inicio ms rpido son diferentes a los tiempos ms tardios.
probar esto hagamos los clculos:
condicin:
= max[0+10, 20+30] = max[10, 50] = 50 das
= min[T I MTt - t(2,t),T I MT3 - t(2,3)] = min[90- 2, 85-1] = min[88, 84] = 84 das
Condicin:
= max[20+5, 50+1] = max[25, 51] = 51 das
3=
a condicin :
R3 -
TIMT2 = 51 - 84 = -33
T3 -
TIMR2 = 85 - 50 = 35
omo las condiciones no se cumplieron podemos decir que esta actividad no se encuentra en la
rtica.
puede afirmar que el tiempo de 90 das es el ms rpido para terminar el proyecto ya que si
os otra ruta veremos que es ms corta en duracin.
23
T(s,2) -= 84 - O - 10 = 74 das
.RT(1,2) = 84 - 20 - 30 = 34 das
T(1,3) = 85 - 20 - 5 = 60 das
ILT(1,t) = 90 - 20 - 70 = O das
HT(2,3) = 85 - 50 - 2 = 33 das
T(2,t) = 90 - 50 - 2 = 38 das
T(3,t) = 90 - 51 - 5 = 34 das
Existen otros tipos de holgura los cuales para fines prcticos de nuestro problema no se utilizan.
La determinacin de las holguras en las actividades es muy importante ya que son las que nos
dican que tanto podemos retrasarnos en la actividad para no retrasar el proyecto y nos indica
ambien cual es el tiempo mximo que podemos retrasarnos en iniciar una actividad antes de que
e convierta en crtica.
= 30 das hbiles.
l er
3 tur
2 tur OS
1 turno
10
15 30
duracin
fig. 2.2
e ahora puede ser calculada en cualquier periodo intermedio de terminacin. A
aumentan los turnos, se incrementar el costo de la operacin, pero siempre hay un
ya no se puede disminuir de duracin. A esta duracin se le llama duracin mnima
25
le denota como d(i,j) y el costo de esta duracin sera la mxima a la cual se le llama C(i,j).
Por otro lado el costo mnimo designado como c(i,j) esta relacionado con la duracin mxima a
uracin con el costo mnimo se le denomina D(i,j).
Entre la duracin mxima y la mnima existe una infinidad de duraciones, si nosotros enconamos todas las soluciones que existen entonces se formar una linea recta uniendo la duracin
4,xima y la mnima como se ve en la figura.
fig. 2.3
Por lo tanto con los puntos que se forman en la recta los cuales son (D(i,j), c(i,j)) y (d(i,j),
C(i,j)) podemos ver que la pendiente que se forma es la siguiente:
Nizo DC(i.j.)-C
-d.,j
(14)(t)
,2)
Esta formula se usa para el acortamiento de una actividad como lo veremos a continuacin.
P (ij )_ g{2}---cdti,j4
para cada actividad A(i,j).
la ecuacin dados dos puntos de una recta y tomando los puntos mencionados anteriormente
os;
c(i,i) C /,ij
t
- c (i ,j ) = -POLO[t (ii) - D(i,j)]
a: cabe aclarar que el signo de P(i,j) es debido a cmo se define P(i,j)
pejando C(i,j) queda:
j) = c(i,j) "ii)NOLD - D(i,j)]
arrollando:
= c(i,j) - P(i,j)t(i,j) t P(i,j)D(i,j)]
ero como c(i,j) P(i,j) D(i,j) es una constante a la cual la llamamos c(i,j) entonces nos queda
siguiente manera:
(11.1) = c(i,j) POLgt(1j)
n el ejemplo anterior la duracin mxima D(i,j) es de 30 das y el costo mnimo c(i,j) = 5400
as que la duracin mnima d(i,j) es de 10 das y el costo mximo es de 5700 entonces el
ento que existe por cada unidad de tiempo es de P(i,j) = 573oliso
= 15 unidades, el cual
ca que al aumentar una unidad de tiempo, disminuye 15 unidades de costo.
ntonces para reducir el tiempo de todo el proyecto, lo primero es reducir la duracin de las
idades crticas, y elegir la que tenga menor incremento de costo por unidad.
ara explicar ms claramente el proceso de reduccin del tiempo de los proyectos veamos un
lo. Observaremos cuantos cminos existen desde el nodo origen s al nodo destino t y obtenos la duracin de cada uno de ellos; tomaremos el de mayor duracin y trataremos de disminuir
acin del mismo, buscando la actividad que tiene el costo mnimo por unidad de tiempo en
27
fig. 2.5
a red los valores de cada actividad tanto en costo como en duracin se dan en la siguiente
linera columna tenemos las actividades, en la segunda el nodo inicial, en la tercera el
e siguen duracin mxima, mnima, costo mnimo, costo mximo y costo por unidad
d(i,j)
2
1
1
5
2
2
1
6
2
5
1
1
1
C(i,
C(j,i)
100
50
150
200
20
20
60
30
10
70
100
140
900
199
80
180
250
41
40
80
62
19
90
130
160
990
tabla 2.1
tividades se encuentran en su mxima duracin para que el cost o de cada una sea
entras que el costo de total del proyecto se calcula como la suma del costo de cada
,pr oyecto.
Corrida de escritorio
a red podemos encontrar todos los caminos que existen desde el n odo s al nodo t y
var que son los siguientes:
/vi ad se representa por letras maysculas y utilizamos la duracin s mximas repremanas las cuales ponemos entre parentesis es decir A (5) represe ta la actividad A
n de 5 semanas:
(9) = 11 semanas
5) + M(3) = 10 semanas
+ M(3) = 12 semanas
+ K(4) + M(3) = 17 semanas
(5) + L(3) = 13 semanas
(7) + G(3) + J(9) = 24 semanas
(7) + G(3) + I(5) + M(3) = 23 semanas
29
fig. 2.6
e t(i) = TIMR, (Tiempo de Inicio Ms Rpido en i)
cede ver que la duracin mxima del proyecto es de 25 semanas.
siguiente tabla podemos observar que en la columna de modificacin de duracin tenemos
que aument o disminuy cierta actividad y lo mismo sucede en la ltima columna pero
costo.
Modificacin
de duracin
Duracin
No
Crtica crtica
25
os o recto mmuno
100
50
150
200
20
20
60
30
10
70
100
140
200
1150
tabla 2.2
Primera Programacin
os reducir el tiempo del proyecto cuidando que nos salga lo ms barato posible, por lo
sca la actividad crtica que tenga el costo por unidad de tiempo ms bajo, podemos
e esta es la actividad H (ver la tabla 2.1) que se puede reducir hasta 4 semanas, pero si
4 semanas a la actividad II entonces la duracin de la ruta seria de 21 pero no asi la del
e seria de 24 que es la duracin de la ruta 6, as que bajar 4 semanas a la actividad II
os innecesarios pues la duracin del proyecto no disminuye en la misma forma. Pero
arle 1 semamna con lo cual obtendremos 2 rutas crtica de 24 semanas de duracin
*nos obtenidos entre s y t quedaran como sigue:
) + J(9) = 11 semanas
) + I(5) + M(3) = 10 semanas
) + F(4) + M(3) = 12 semanas
5) + E(5) + K(4) + M(3) = 17 semanas
5) + E(5) + L(3) = 13 semanas
(5) + D(7) + G(3) + J(9) = 24 semanas
(5) + D(7) + G(3) + I(5) + M(3) = 23 semanas
31
fig. 2.7
ervese que ahora existen dos rutas crticas en la red.
La tanto como la actividad II se reduce 1 semana entonces el costo del proyecto se aument
dades quedando en 1158 como se observa en la siguiente tabla donde se suman los costos
s agregandosele las 8 unidades de aumento:
mina
,
Modificacin
de duracin
Duracin
No
Crtica crtica
C10111
1
3
A
C
1
2
2
3
5
3
5
5
5 t
Duracin
100
50
150
5
2
200
5
4
3
9
1
5
20
20
60
30
10
70
100
140
3
3
200
24
CO
sto mnimo
1158
tabla 2.3
1 costo de la actividad H se incrementa en 8 siendo ahora de
38
unidades.
Segunda Programacin
ora debe analizarse los dos caminos que existen pues hay que reducir la duracin simultanee hasta que aparesca otra ruta crtica o no puedan reducirse ms estas. Hay 6 actividades
tibies de acortarce, son A, D, G, H, J y M.
nemos las siguientes opciones para disminuir la duracin de ambos caminos:
A con costo = 33
con costo = 25
y II con costo = 10 + 8
= 18
y M con costo = 10 + 10 = 20
J
y 11 con costo =
y M con costo = 5 + 10 = 15
5 + 8 = 13
demos ver que reducir las actividades J y II nos cuesta menos. Por otro lado, la ruta 7 tiene
racin de 23 semanas por lo que slo podemos bajar una semana de duracin a la ruta
33
t(t)=23
L(3)
fig. 2.8
El costo del proyecto es de 1171 como se ve en la siguiente tabla:
tividad
Modificacin
de duracin
Duracin
No
Crtica crtica
23
100
50
150
200
20
20
60
38
10
70
100
140
200
1171
tabla 2:4
Tercera Programacin
Las opciones que tenemos para reducir las 3 rutas crticas simultaneas sera:
A, costo = 33
D, costo = 25
) G y H, costo = 10 + 8 = 18
M y J, costo = 10 + 5 = 15
J, I y II, costo = 5 + 3 + 8 = 16
La opcin ms barata es la 4 con las actividadesM y J.
La duracin de cada camino es:
B(2 ) J(6) = 8 semanas
B(2) + I(5) + M(1) = 8 semanas
A(5) + F(4) M(1) = 10 semanas
A(5) + E(5) + K(4) + M(1) = 15 semanas
5.- A(5) + E(5) + L(3) = 13 semanas
35
B(2)
t(3)=15
J
t(t)=21
L(3)
fig 2.9
o podemos ver los caminos siguen siendo los mismos pero disminuyo el tiempo y tambien
l costo y lo cual se puede observar en la siguiente tabla.
1
1
1
F
2
H
2
I
3
J
3
K
4
4
M
5
Duracin
No
Crtica crtica
Deno
Mina
Cin
Modificacin
de duracin
Duracin
1
3
4
2
4
5
3
5
5
t
5
t
t
5
2
2
7
5
4
3
8
5
2
4
3
1
21
100
50
150
200
20
20
60
46
10
75
100
140
200
1201
10
20
tabla 2.5
Cuarta Programacin
Las opciones ahora son:
A, costo = 33
D, costo = 25
G y H costo = 18
J, I y II costo = 16
Como podemos observar la mejor opcin es la nmero 4 con un aumento de 16 por unidad
quiere decir que el costo del proyecto pasaria de 1201 a 1217 donde J y M han llegado a su duracin
mnima y la duracin del proyecto ser de 20 unidades como podemos ver en los caminos:
B(2 )
J(5) = 7 semanas
37
t(t)=2o
(3)
fig. 2.10
El costo del proyecto esta representado en la siguiente tabla:
No
j Crtica crtica
1
3
4
2
14
5
3
25
35
3t
45
4t
.t
5
2
2
7
5
4
3
6
3
5
1
1
1
4
3
1
20
100
50
150
200
20
20
60
46
10
85
100
140
220
1217
8
3
tabla 2.6
Quinta Programacin
unes ahora son:
sto = 33
o = 25
costo = 18
demos observar la mejor opcin es la nmero 3 con un aumento de 18 por unidad
que el costo del proyecto pasara de 1217 a 1235 y la duracin del proyect o ser de 19
mo podemos ver en los caminos:
) .1(5) = 7 semanas
I(4) + M(1) = 7 semanas
F(4) + M(1) = 10 semanas
E(5) + K(4) + M(1) = 15 semanas
E(5) + L(3) = 13 semanas
39
t(t)=19
(3)
fig. 2.11
el costo representado por la siguiente tabla.
Modificacin
de duracin
Duracin
No
Crtica crtica
5
3
4
2
4
5
2 3
2 5
5
2
2
7
5
4
1
2
6
3
5
5
4 t
5 t
ron
4
3
1
19
o 1111 111111. 0
100
50
150
200
20
20
60
54
13
90
100
140
220
1235
10
8
tabla 2;7
Sexta Programacin
las siguientes opciones:
Oto = 33
da
esto de 25
oge la actividad D y se reduce 2 semanas.
podemos observar la mejor opcin es la nmero 2 con un aumento de 25 por unidad
qt.; 'r que el costo del proyecto pasaria de 1235 a 1285 donde y la duracin del proyecto ser
dades como podemos ver en los caminos:
(2 ) + J(5) = 7 semanas
/(2) + I(4) + M(1) = 7 semanas
5) + F(4) + M(1) = 10 semanas
41
t(t)=17
L(3)
fig. 2.12
quedando representado el costo mediante la siguiente tabla:
Duracin
No
Crtica crtica
100
50
150
200
20
20
70
62
13
90
100
140
220
2
4
5
3
5
5
45
4t
17
Sptima Programacin
opcin que tenemos es:
to de 33 por unidad y se puede reducir en 3 semanas por lo tanto el tiempo se reduce
anas y el costo aumenta 99 unidades es decir aumenta de 1285 a 1384 unidades.
to la red nos queda de la siguiente manera:
43
t(3)=9
t(1)=-2
J5
t(t)=14
t(5)=12
L(3)
t(4)=7
11(6)
fig. 2.13
o esta representado en la siguiente tabla:
ividad
Duracin
Modificacin
de duracin
No
Crtica crtica
1
3
4
2
4
5
3
5
5
100
50
150
250
20
20
70
62
13
90
100
140
220
t
t 1
14
17
19 20 21
fig. 2.14
23 24 25
duracin
lo tanto podemos decir que en un problema complejo existen miles de duraciones costo
cada duracin determinada por eso decimos que seria muy tardado por este mtodo. Sin
go con un modelo matemtico se hallara fcilmente la solucin del costo total mnimo de
uracion.
Lineal del CPM
45
341 nos indica como determinar los caminos crticos a traves de la red eligiendose
activid ad de mnimo costo por unidad de tiempo, disminuyendo su tiempo mnimo
ta que aparezca un nuevo camino crtico que no contenga a tal actividad
vidad A(i,j) el costo se calcula por medio de la frmula
C(i,j) = c(i,j) - P(i,j)t(i,j)
s la funcin de costo, c(i,j) es una constante fija y P(i,j) es el incremento que
actividad por cada unidad que disminuye en el tiempo.
PO,D=c4101
s la duracin mnima y D(i,j) es la duracin mxima,y t(i,j) es la duracin de la
be cumplirs que:
0<d(i,j)<t(i,j)<D(i,j)
t(i,j)
VA(i,j)
empo de inicio ms rpido del evento Inicial N, y el evento final Nt se dan como
TIME, = O
T IM Rt =
una constante que nos representa la duracin del proyecto, la cual es muy importante
acionado con el costo total del proyecto. Deseamos encontrar el costo mnimo cuando
equea posible. Es decir la forma mas barata de hacer el proyecto lo ms rpido
to diremos que el costo del proyecto viene dado de la siguiente manera:
> c(i,i)= E
A(i,j)
(c(i,j)-
.0)
A(i,j)
E C(i, j)
A(i,j)
O <
<
j) < D(i,j)
VA(i, j)
TIMR, O
TIMRi = A
objetivo quedaria:
Min
A (i ,j)
E c(i,;) , E
A(i,j)
C(i, -
E ni,j)ki,...1)
Max
A(i,j)
A(i,j)
E P(i,j)t(i,j)
A(i,j)
0<d),<A<DA
TIMR] > TIMRi +t(i,j)
V A(i, j)
TIMR, O
TI M =
47
- 13(i,i)t(i,./)]
'
E [c(i,j)
nihnt(i/..7)1
A(i,j)
<
d(i, j) <
t(i,j)
D(i, j)
t(j) t(i)
t(s) = O
t(t) = A
e
TIMR,
TIMRi
uales son los tiempos lo mas pronto posible de terminar y comenzar la actividad A(i,j)
amente; t(s) es el tiempo del primer suceso y t(t) el tiempo del ltimos suceso de la red el
nominamos A , con un proyecto de n 1 actividades.
oblema consiste en como encontrar un conjunto de A(i,j) en la red con el costo mnino
a valor de A.
ti A
t(i,i)
ER, ( d)-
ER,
A
[c( im - p(i,i)t(i,j)]
A(i,j)
M az E ni, t(i, j)
A(id)
E t(id) <
R2
11
,,
11
E
Rq
j) < A
49
Estas son las restricciones del problema que esta en forma de Programacin Lineal Paramtrica.
Veamos con un ejemplo como plantear el problema en forma de Programacin Lineal Paramtrica:
Ejemplo 1
Tenemos una red sencilla:
fig 2.17
i,j
Xs
X1
s,1
1,2
X2
s,2
Xt
2,t
Duracin
Mxima(D) Mnima(d)
4
1
6
1
12
3
Costo unitario
3
1
tabla 2.11
Se minimiza la funcin de costos:
P(A) = E(c i PiXj)
o lo que es lo mismo:
minP(A) = ci tnax E PiXj
como E ci es constante entonces realizar lo siguiente:
rnaz(Z = Pin
Pi
P3=5
P1=4
P2=3
Pt=2
50
X,
<4
1
X1
<6
-x1
< 1
X2 < 12
< 3
X2
Xt
<3
Xt < 1
X, +
Xt < A
X2 + Xt < A
Entonces se pretende encontrar los valores de X,, X1, X2, yXt que satisfagan la funcin y que
cumplan con todas las restricciones.
Para resolver nuestro problema con mayor facilidad cambiemos el primal por el dual aadiendo
unas variables de holgura y este nos quedaria de la siguiente manera:
rn nZ = 4X, + 6X 2
Xt +
X8 + A (X9 + X1.0)
Restringida a:
+ X3
X 1
X2 Xt
+ X9
X5 X6
X11
X12
+X
X7 X8 + X9 -E Xio
X 13
X14 2
51
t(i, j) <
j)
fig 2.18
valores de cada actividad tanto en costo como en duracin se dan en la siguiente tabla:
Duracin
Costo Directo
mnima mxi:nannima
Deno
mina
cin
TP
G
A
B
C
D
E
F
II
j D(i,j)
s
s
1
1
2
2
3
3
4
5
1
4
2
3
3
4
4
5
5
t
0
22
8
14
12
18
10
8
14
6
d(i,j) c(i,j)
0
2
4
12
6
14
8
2
12
6
mxima
Observaciones
PO,j)
CO,])
0
0
420000
800000
1000000
1080000
300000
1000000
1200000
300000
Costo por
unidad de
tiempo
tiempo de
Preparacin
No continua
50000
700000
960000
1300000
1200000
480000
2200000
1500000
300000
70000
80000
50000
30000
90000
200000
150000
No reducible
tabla 2.12
Planteemos este problema.
Como se quiere minimizar la funcin costo total directo:
i)
P( A) =
t(i, i)1
o lo que es lo mismo-
P(A) -=
E c ( i, E ni, Bt(i,
j) -
j)
E P(i, j)t(i, j)
53
t(8)
t(s,1)
- 1(1)
< 0
e)
t(s,4)
- t(4)
1(1)
t(1,2)
1(2,3)
< O
t(3)
<o
1(2) - t(3)
< 0
t(1)
1(1,3)
t(2)
1(2,4)
1(3,4)
t(3)
1(4,5)
1(5,1)
sujeta a:
<o
t(4)
8(3)
1(3,5)
<
1(2)
- 4(4)
< 0
t(5)
<o
1(4) - 8(5)
<o
t(5) - t(t)
- 1(8)
<
t(t)
<
<
t(4,1)
t(s,4)
22
1(1,2)
8
t(1,3)
14
1(2,3)
12
t(1,4)
18
1(3,4)
10
1(3,5)
8
1(4,5)
< 14
1(5,0
< 6
<
-t(s,1)
-t(s,4)
-2
-1(1,2)
-4
4(1,3)
-12
-1(2,3)
-6
-1(2,4)
-14
-1(3,4)
-8
-8(3,5)
-2
4(4,5)
-12
-1(54)
Estas condisiones son del primal, pero si a cada grupo del primal se le asigna una variable del
dual; por ejemplo f(i,j), v, g(i,j) y h(i,j) respectivamente. Con estas variables duales se colocan en
cada columna de la matriz y as podemos poner el problema de la siguiente manera:
Entonces si encontramos la transpuesta la funcion objetivo sera:
MM W =00,1) + 22g(5,4) + 8g(1,2) + 14g(1,3) + 12g(2,3) + 18g(2,4) + 10g(3,4) + 8g(3,5)
+ 14g(4,5) + 6g(5,6) - Oh(0,1) - 2h(0,4) - 4h(1,2) - 12h(1,3) - 6h(2,3) + 14h(2,4) - 8h(3,4) -2h(3,5)
- 12h(4,5) - 6h(5,6)
restringidas a:
-6
54
P(s,4)
f(s,4) - A = O
55
fig 2.19
podemos observar que todo lo que entra al 2 tiene que salir es decir,
O
por lo tanto el grupo de ecuaciones vistas anteriormente se pueden poner de la siguiente manera:
f( i)-
E A l( I i) =
KE6 (i)
3E6 + (s)
y
i=s
O
i$s i$t
v i = t
Donde 5+ (i) es el antecesor de i, 8 + (i) es el sucesor de i la v es el flujo y debe de ser lo que sale
el suceso origen igual que el que llega al suceso destino lo mismo se cumple en cada uno de los
icesos, por lo tanto la diferencia entre lo que sale y lo que entra siempre es cero.
Entonces tenemos que la funcin objetivo del dual nos queda de la siguiente manera:
Av +
entonces como el mximo del primal es igual al mnimo del dual, nos quedaria:
max
Entonces resolviendo:
ruin[Av
E D(i, DO, j)
max
P(i, j)t(i, j)
Para encontrar la solucin que nos proporcione el valor ptimo. Entonces en la ecuacin:
debe de ser por lo menos cero ya sea g(i,j) o h(i,j) entonces por dualidad
si:
t(i,j) =D(i,j); t(i,j) > d(i,j):
como:
h(i,j)[t(i,j)-d(i,j) = O entonces h(i,j) =
Si:
t(i,j) = d(i,j); entonces t(i,j) < D(i,j):
como:
g(i,j)[t(i,j)-D(i,j) = O entonces g(i,j) = O
Por lo tanto de la ecuacin:
f(i,j)
se optiene:
g(i,j) = max[0, P(i,j) - f(i,j)]
h(i,j) = max[0, f(i,j) - P(i,j)]
de lo anterior se puede decir que si el costo por unidad es mayor que el flujo entonces automticamente h(i,j), O pero si el flujo es mayor que la capacidad entonces g(i,j) = O entonces por
estas dos conclusiones tendremos nuestro problema se puede representar de la manera siguiente
min[Av
f(i,j; 1) + f(i,j;2)
57
f(i.j;2) _< oo
cuando el flujo es mayor que la capacidad se toma la ecuacin siguiente:
min[Av + E D(i, j)P(i, j)
f(i,j;2)
se combierte en
= P (i ,j )
f(i:1;2)
y sustituyendo en
Av rain[E d(i, j)[f (i, j) P(i,j)]
se obtiene
Av E d(i,j)f(i,j; 2)
Por lo tanto podemos poner la ecuacin
Av + min[ED(i,j)g(i, j)
c(i, j; k)
D(i, j) cuando k = 1
j) cuando k = 2
E d(i,j;k)f(z, j; k)
c(i,j;k)
v,i= s
E
ea+ (.0
f(1,i;k)=
j; k)
le5+ (1)
0,i s,
v,i-= t
como Fulkerson divide la variable f(i,j) en dos variables no negativas las cuales son 1(i11) y
,12), entonces en cada actividad de la red existen dos conductos para pasar el flujo y cada uno
ne su capacidad asignada c(i,j;k) y esta se representa en siguiente figura:
f(i11).< c(i,j)
f(i12)< 00
fig. 2.17
Por lo tanto podemos decir que en el instante en que la duracin mxima el flujo es cero; pero
iniciar la aceleracin, el flujo pasa segn la capacidad de 1.(i11). Al llegar a la duracin mnima,
costo sera f(i12), y el flujo pasar por el segundo conducto.
TrainP(A) =
A(i,j)
A(i,j)
E ck i d k)f( i , j ; k)]
A(i,j)
A(i,j)
A (i ,j )
P(A)
E c( im_ E
A(i,j)
Entonces si a
A(i,j)
E E
1 A(i,j)
j; f (i, j; k)]
59
c(i, j) E
D(i, j)P(i, j)
Ai,i)
P(A) = K min[Av E
E d( i , j ; k) f (i, j; k)]
A(i,j)
El problema consiste en encontrar un flujo mximo f(i,j;k) que pase desde t(s) hasta t(t) por la
red para asi poder mnimizar la ecuacin:
Av
Este flujo puede pasar por dos conductos o caminos, se puede ir desde t(i) a t(j) o de t(j) a t(i);
es decir el flujo puede trasladarse de la siguiente manera:
Para poder lograr el objetivo de encontrar el flujo mximo que va desde el nodo origen al nodo
destino es necesario utilizar una serie de marcajes.
Pero para poder comenzar el marcaje se debe de cumplir:
t(s)=0
d(i,j;k) t(i)-t(j) < O entonces fli,j;k)=0
Lo que nos indica esta condicin es que cuando la actividad no sea crtica entonces no pasa
ningun flujo.
3.- d(i,j;k)
Aqui nos indica que al reducir las actividades crticas, el flujo pasa segn su capacidad P(i,j:k)
Estas 3 condiciones deben de cumplirse para poder optimizar la ecuacin:
Av
E E d( i , j ;
f j;
60
restringida a:
O < f j : k) <
j; k)
Para lograr el objetivo, primero se trata de encontrar la A mas larga, la cual nos reprecenta el
camino crtico y la cual determina la A = t(t), por lo tanto si se logra encontrar el t(t) entonces se
puede decir que se ha encontrado un camino abierto y por lo tanto si no se logra encontrar al t(t)
entonces sera un camino cerrado.
Si se logra encontrar un camino abierto entonces se podra decir que se a logrado marcar todos
los nodos desde t(s) hasta t(t).
Cuando d(i,j;k)=d(i.j;k)-H(j)-t(i)=0 el flujo se mueve hacia adelante con un f(i,j;k)<c(i,j;k) y
se movera hacia atrs cuando d(i,j;k)=0 y f(i,j;k)>0.
Cuando se conoce el flujo mximo al cual se le denota E (n) el cual es la suma de todos los t(s),
t(1), t(2).... t(t), Entonces podemos aadir el valor de E (u) a los flujos positivos y se les resta a los
negativos. Ya terminado este procedimiento se busca una nueva cantidad de flujo que pase por los
conductos; que siga cumpliendo con las condiciones anteriores mencionadas e intentandose pasar
un nuevo flujo para comprobar si es posible encontrar otro camino abierto. Cuando no se puede
encontrar el t(t) entonces se puede decir que existe un camino cerrado y por lo tanto no fue psible
marcar el ltimo nodo y tambin se dice que no se 'pudo encontrar algn flujo, si no se encontro
flujo se resta una cantidad 6 positiva a todos los t(i) que no se han marcado y se busca una nueva
A' la cual esta formada por los nuevos ti (i, j).
Estos ti (i, j) y A' son calculados utilizando la frmula:
(i, j)
El costo del proyecto P(A) es lineal entre los valores de A originados por el camino cerrado.
El primer A debe de cumplir la condicion de tener un flujo cero, y el costo directo sera P(A)=K,
donde K es la suma de todos los costos del programa donde se han manejado con los valores
correspondientes a todo normal. Al encontrar un nuevo valor de A' donde este nuevo valor ser
menor que el anterior el cual se ptiene de la siguiente manera:
P(A') = K [Aiti
j; f(ij; k)]
donde:
[A v - EE
j; k) f(ij; k)]
nos indica el incremento que sufrio A' y se terminar el procedimiento cuando se encuentre un
camino crtico en el cual todas las duraciones esten a su mxima capacidad y por lo tanto ser el
tiempo mnimo en terminar el proyecto.
61
El proyecto ser terminado cuando se encuentre un camino crtico el cual todas las las actividades
esten a su mnima duracin es decir cuando el flujo pase por el segundo conducto.
max[t(i)
D(i,j)]
t(t) O A1
f(i,j;k) = O
P(A1) = K
Proceso de marcaje:
Al iniciar el marcaje se pasa un flujo f(i,j:k) en los t(i) y estos satisfacen las ecuaciones:
t(s) = O
d(i,j;k)
d(i,j;k)
62
Si existen algunos nodos que han sido marcados con [i,2,-E,e = oo] deben de ser conserbados
y el proceso de marcaje continua con los 7/(i,1k) = O y seleccionar cualquier nodo t(i) marcado
y no explorado, se buscan todoa los nodos t(j) para ser marcados, los cuales se encuentran de la
siguiente manera:
si -c-/(i,j;k) = O y f(i,j;k) <
c(i,j;k) - f(i,j;k)]
si a(i,j;k) = O y f(i,j;k) > O asignamos a t(j) la marca [i,k,-,e(j)] donde e(j) = min[s(j), f(i,j;k)]
Si llegamos al nodo t(t) sera un camino abierto si no sera un camino cerrado, en el primer caso
se cambia el flujo y en el segundo se cambia el tiempodel asuceso t(i) no marcado.
Cambio de flujo
Se suma s(t) a los flujos exiastentes desde (t) hasta t(s), si el suceso t(t) ha sido marcado con
[j,k,+,6(j)] se suma e(t) al flujo f(i,j;k) pero si a sido marcado con [i,k,-,e(j)] se resta al flujo f(i,j;k)
y se repite el proceso hasta llegar a t(s) al terminar se borran los marcajes menos los [i,k,-F,E(j) O
co] y se marca de nuevo con este nuevo f(i,j;k).
Cambio de tiempo en los sucesos
Se busca:
Al [A(i,j) donde i es marcado y j no, con c/(i,j;k) < O
A2 [A(i,j) donde i es no marcado y j si, con
a(i,j;k)
>O
j; k)]
62]
Captulo 3
3.1 Ejemplo
Veamos un ejemplo paso a paso para observar cmo se utiliza la funcin a maximizar.
Tambin la explicacin ms clara sobre el Algoritmo de fulkerson sobre el proceso de programacin con respecto al costo directo total mnimo Y para resolver este tipo de problemas usaremos
la tabla 4.1 En la cual podemos observar que, los datos que nos estan dando son, las actividades,
la duracin mnima y la duracin mxima, el costo mnimo y el costo mximo, el costo por unidad
el cual se obtiene restando el costo mximo al costo mnimo y dividiendolo entre la duracin que
se obtiene al restar la duracin mximo y la duracin mnimo, y tambien nos indican cuales son
las actividades criticas donde se usan semanas para el tiempo y pesos para el costo.
63
i j D(i,j)
s
s
s
1
1
1
2
2
3
3
4
4
5
1
3
4
2
4
5
3
5
5
t
5
t
t
5
2
2
7
5
4
3
10
5
9
4
3
3
d(i,j)
c(i,j)
C(i,j)
2
1
1
5
2
2
1
6
2
5
1
1
1
100
50
150
200
20
20
60
30
10
70
100
140
200
199
80
180
250
41
40
80
62
19
90
130
160
220
P(i, j)
33
30
30
25
7
10
10
8
3
5
10
10
10
tabla 3.1
Este problema quedaria expresado en la siguiente red.
B
fig. 3.1
En la cual nos indica cmo deben de ir relacionadas las actividades, y cul debe de comenzar
ero y cul despues, y lo que se pide es determinar el flujo mximo entre s y t. Para resolver este
o de problemas tomaremos en cuenta solo las actividades, la duracin mnima, duracin mxima
3.1. Ejemplo
65
y el costo por unidad de tiempo y estos datos los podemos poner en una tabla de la siguiente
manera:
Actividad Duracin
Mxima
t(i,j)
D(i,j)
5,1)
t(s,3)
t(s,4)
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
5
2
2
7
5
4
3
10
5
9
4
3
3
Duracin
Mnima
d(i,j)
2
1
1
5
2
2
1
6
2
5
1
1
1
tabla 3.2
De la tabla 3.2 podemos formar dos tipos de redes, una estara formada por duracin y otra por
el costo por unidad. En la primera se tomaran en cuenta la duracin mnima y la duracin mxima
y en la segunda se tomra en cuenta el costo el cual se le denominar flujo.
La primera red nos quedaria de la siguiente manera:
(1,2)
fig. 3.3
Nuestro problema consiste en encontrar el valor ptimo de P(A) el cual nos representa el costo
el proyecto, tambien nos maximiza el flujo en el menor tiempo posible y el valor de A nos representa
tiempo para terminar el proyecto. Este valor se puede encontrar con la siguiente formula:
j; k) f (i, j; k)]
P(A)=K-[Av-E
donde A significa el tiempo mximo de la red, y significa el flujo de la red, K es el costo, d(i,j;k)
es el tiempo de la actividad, si K=1 es el tiempo mximo, si K=2 sera el mnimo y f(i,j;k) es el
flujo actual en el conducto K.
Y para resolver este problema debemos de maximizar
Av- E d(i, j; k) f (, j; k)
para esto, inicializamos todas las etiquetas en la segunda red ya que la primera solo sera para,
el cambio de tiempo, en esta red utilizaremos cuatro indicaciones, la primera indica el antecesor
en la cadena aumentante de flujo, la segunda seala el conducto, la tercera indica la direccin del
flujo, el signo positivo significa marcha adelante y el negativo marcha atrs y la ultima enumera la
cantidad de flujo (E) que puede pasar por la flecha(i,j).
67
(0,30)
(flujo,Capacidad mxima)
Corrida de Escritorio
Pimero se calcula el primera con todas las actividades normales de duracin del proyecto
omanda la primer red que es la de los tiempos en la cual, el costo total es mnimo y la duracin
el proyecto es mxima, y lo podemos obtener de la siguiente red:
(1,2)
fig. 3.5
D(i,j)]
t(s)=0
(1)=max[5]=5
(2)=max[5 +1=12
(3)=max[0 + 2,12 + 3],mx[2,15]=15
t(4)=max[0 + 2, 5 + 5]=mx[2, 101=10
(5)=max[5 + 4,12 + 10, 15 + 5,10 + 4]=mx[9, 22, 20,14]=22
t(t)=max[15 + 9,10 + 3, 22 + 3]=max[24, 13, 25]=25
Entonces la duracin normal del proyecto sera de 25 unidades por lo tanto el costo sera la suma
odos los costos mximos, es decir K =
C(i,j).
Por lo tanto, la red nos quedaria de la siguiente manera:
(1,2)
fig. 3.6
Donde podemos observar que: A =25 y el flujo f(i,j;k)=0 y V el cual significa la totalidad del
flujo sobre la red y por lo tanto hasta este momento su volor es cero y el valor de K es la suma de
odos los costos de las actividades en su duracin mxima, por lo tanto K = 1150.
P(A)= K-[AV -
j; k)f (, j; k)]
Ejemplo
69
Entonces encontrando los valores de los d(i,j;k) de f(i,j;k) como todos pasan por el primer el
i nter conducto entonces:
K 1150
d(s,1;1) = 5
d(1,2;1) = 7
d(2,5;1) = 10
d(5,t;1) = 3
y los flujos todos son ceros por lo tanto:
P(25)=1150-[25(0)-(5(0)+7(0)+10(0)+3(0))]
P(25)=1150-[0-(0+0+0+0)]
P(25)=1150-[(0)-(0)]
P(25)=1150-O
P(25)=1150
Pasamos a la primera iteracin:
Primera Iteracin
Antes de iniciar el primer proceso de marcaje; es preciso calcular los valores:
7((i,j;1)=D(i,j)l-t(j)-t(i)
d(i,j;2)=d(i,j)-Et(j)-t(i)
con los cuales podemos formar la tabla siguiente:
t(i,j)
t(i)-t(j)
t(5,1)
t(5,3)
t(s,4)
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
0-5=-5
0-15=-15
0-10=-10
5-12=-7
5-10=-5
5-22=-17
12-15=-3
12-22=-10
15-22=-7
15-25=-10
10-22=-12
10-25=-15
22-25=-3
7/(i,j;2).=
a(i,j;1)=
D(i,j)+t(i)-t(j) d(i,j)+t(j)-t(i)
2-5=-3
1-15=-14
1-10=-9
5-7=-2
2-5=-3
2-17=-15
1-3=-2
6-10=-4
2-7=-5
5-10=5
1-12=-11
1-15=-14
1-3=-2
5-5=0
2-15=-13
2-10=-8
7-7=0
5-5=0
4-17=-13
3-3=0
10-10=0
5-7=-2
9-10=-1
4-12=-8
3-15=-12
3-3=0
tabla 3.3
71
3.1. Ejemplo
(0,30)
(flujo,Capacidad mxima)
fig. 3.7
(0,30)
[s,1,+,33]
(0,10)
(0,33)
>,C)]
(flujo,Capacidad mxima)
+,10]
(0,5)
(0,3)
(0,25)
(0,10)
(0,10)
(0,10)
[2,1,+,8]
5,1,+,8]
(0,10)
(0,30)
[1,1,+,25]
(0,8)
fig. 3.8
or lo tanto, como hemos podido marcar, a t(t) tenemos una cadena aumentante, y por lo tanto
mos aumentar el flujo de la siguiente manera:
e toma el nodo t y su antecesor en la cadena aumentante (+5), como es positivo se busca en
ta de antecesores y se le suma el flujo de ese arco, que es la capacidad de ese arco (8), se busca
do t en la lista de sucesores del nodo 5 y se le suma 8 unidades al flujo de ese arco. y se realiza
smo procedimiento con los nodos 5, 2 y 1.Cuando ya llegemos al nodo s, hemos actualizado el
de la red quedandonos est de la siguiente manera.
73
3.1. Ejemplo
(0,30)
(flujo,Capacidad mxima)
fig. 3.9
Volvemos a marcar(segundo marcaje)
Utilizando la red anterior encontrar una cadena 'aumentante y la capacidad incremental de la
cadena con el flujo ya actualizado tomando encuenta los d(i,j;k)=0. podemos ver que existen los
mismos ceros que en la ocacin anterior por lo tanto marcamos
a t(1) lo marcamos de la siguiente manera [s,1,+,25].
a t(2) lo marcamos de la siguiente manera [1,1,+,17].
a t(3) lo marcamos de la siguiente manera [2,1,+,10].
a t(4) lo marcamos de la siguiente manera [1,1,+,7].
como por la actividad A(2,5) ya se encuentra a su mxima capacidad entonces ya no se puede
pasar ningn flujo por lo tanto no pudimos marcar a t(t) y la red nos quedaria de la siguiente
manera:
74
(0,30)
[s,1,+,25]
12,1,+,10]
(0,5)
3
(flujo,Capacidad mxima)
(0,3)
(8,33)
(8,25)
(0,10)
(0,10)
(0,30)
1,1,+,7]
[1,1,+,17]
(8,8)
fig. 3.10
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio de los tiempos de los sucesos, el cual se hace de la siguiente manera: Se buscan
los : A1 =[A(i,j) donde i es marcado y j es no marcado, 7/(i,1k) < 0]
A2 =[A(i,j) donde j es marcado e i es no marcado, 2(i,j;k) > 0]
-7(1,5;2)=15
-2(2,5;2)=4
-0,5;1)=2
-2(3,5;2)=5
-2(3,t;1)=1
-7(3,5;2)=5
-7(4,5;1)=8
-7(4,5;2)=11
-d(4,t;1)=12
-2(4,t;2)=14
tomandose:
6
rnin[61, 82]
donde el mnimo es 6 = 1
75
3.1. Ejemplo
Por lo tanto, el valor 1 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
nos representa los tiempos, por lo tanto se le restara al nodo t(5) y t(t) una unidad:
(1,2)
fig. 3.11
Donde podemos ver que el tiempo que era de 25 semanas se redujo a 24.
Para conocer cunto fue el incremento que sufri el costo primero encontremos los d(i,j;k) y los
f(i,j;k) que son los que sufrieron aumento en el flujo los cuales son:
d(s,1;1)=5
f(s,1;1)=8
d(1,2;1)=7
f(1,2;1)=8
d(2,5;1)=10
d(5,t;1)=3
f(2,5;1)=8
f(5,t;1)=8
Segunda Iteracin
Para poder comenzar con el marcaje se borran todas las etiquetas anteriores que ya teniamos
y calculamos los nuevos valores de d(i,j;1) y d(i,j;2) de la siguiente manera:
La red nos quedaria de la siguiente manera:
(0,30)
(flujo,Capacidad mxima)
fig. 3.12
y los valores de 2(i11) y 75/(i,j;2) de la siguiente manera:
3.1. Ejemplo
77
t(i,j)
t(i)-t(j)
t(s,1)
t(s,3)
t(s,4)
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
0-5=-5
0-15=-15
0-10=-10
5-12=-7
5-10=-5
5-21=-16
12-15=-3
12-21=-9
15-21=-6
15-24=-9
10-21=-11
10-24=-14
21-24=-3
71(i,11)=
D(i,j)+t(j)-t(i)
5-5=0
2-15=-13
2-10=-8
7-7=0
5-5=0
4-16=-12
3-3=0
10-9=1
5-6=-1
9-9=0
4-11=-7
3-14=-11
3-3=0
a(i,j;2)=
d(i,j)+t(j)-t(i)
2-5=-3
1-15=-14
1-10=-9
5-7=-2
2-5=-3
2-16=-14
1-3=-2
6-9=-3
2-6=-4
5-9=-4
1-11=-10
1-14=-13
1-3=-2
tabla 3.4
78
(flujo,Capacidad mxima)
fig. 3.13
pasamos al siguiente marcaje :
79
1 Ejemplo
(0,30)
[s,1,-F,25}
(flujo,Capacidad mxima)
2,4+,101
(0,5)
(0,30)
fig. 3.14
Por lo tanto, como hemos podido marcar, a t(t) tenemos una cadena aumentante, y por lo tanto
podemos aumentar el flujo de la siguiente manera:
Se toma el nodo t y su antecesor en la cadena aumentante (3), como es positivo se le suma
el flujo al arco (3,t) 5 unidades y se realiza el mismo procedimiento con los nodos 2, y 1.Cuando
ya llegamos al nodo s, hemos actualizado el flujo de la red quedandonos est de la siguiente manera.
(0,30)
(flujo,Capacidad mxima)
fig. 3.15
Marcamos de nuevo el segundo marcaje.
fig. 3.16
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio de tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los : A I =[A(i,j) donde i es marcado y j es no marcado, a(i,j;k)<0]
A2 =[(i,j) donde j es marcado e i es no marcado, Ci(i,j;k)>01
se calculan:
61 = minA, [-d(i,j;k)]
= Tninm [71(1xi;k)]
los cuales son:
81
Ejemplo
4(1,5;1) = 12
-1(1,5;2)=14
=1(2,5;1) = 1
-7/(2,5;2)=5
-1(3,5;1) = 1
-1(3,5;2)=4
-7/1(3,5;2)=4
-1(4,5;1)=7
-714,5;2)=10
-14,t;1)=11
-d(4,t;2)=13
tomandose:
6 = min[81,82]
donde el mnimo es 5 = 1
Por lo tanto, el valor 1 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
os representa los tiempos, por lo tanto se le restara al nodo t(5) y t(t) una unidad y al mismo
lempo encontrando la nueva ruta quedandonos de la siguiente manera:
(1,2)
fig. 3.17
Donde podemos ver que el tiempo que era de 24 semanas se redujo a 23.
Para encontrar el costo busquemos los d(i,j:k) y los f(i,j;k):
d(s,1;1) = 5
l(s,1;1) = 13.
d(1,2;1) = 7
f(1,2;1) = 13.
d(2,3;1) = 3
12,3;1) = 5.
f(2,5;1) = 8.
f(3,t;1) = 5.
d(5,t;1) = 3
15,41) = 8.
d(3,t;1)
donde podemos decir que el costo directo total en el tiempo de 23 es: P(23)=1150-{(23)133)+7(13)+3(5)+9(5)+10(8)+3(8)]}
=1150-{299-[65+91+15+45+80+24] }
=1150-{(299-320)}
=1150+21]
=1150+21
=1171
de donde P(23)=1171 es decir 21 pesos de incremento.
pasamos a la siguiente iteracin
Tercera Iteracin
Para poder comenzar con el siguiente marcaje se borran todas las etiquetas anteriores que ya
tenamos en la red y es preciso calcular los nuevos valores de ii(i,j;1) y d(i,j;2):
La red nos queda de la siguiente manera:
(0,30)
(flujo,Capacidad mxima)
fig. 3.18
83
Ejemplo
t(i,j)
t(i)-t(j)
t(s,l)
t(s,3)
t(s,4)
0-5=-5
0-15=-15
0-10=-10
5-12=-7
5-10=-5
5-20=-15
12-15=-3
12-20=-8
15-20=-5
15-23=-8
10-20=-10
10-23=-13
20-23=-3
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
7/(i,j;1)=
D(i,j)-Ft(j)-t(i)
5-5=0
2-15=-13
2-10=-8
7-7=0
5-5=0
4-15=-11
3-3=0
10-8=2
5-5=0
9-8=1
4-10=-6
3-13=-10
3-3=0
7/(i,j;2)=d(i,j)A-t(j)-t(i)
2-5=-3
1-15=-14
1-10=-9
5-7=-2
2-5=-3
2-15=-13
1-3=-2
6-8=-2
2-5=-3
5-8=-3
1-10=-9
1-13=-12
1-3=-2
tabla 3.5
(flujo,Capacidad mxima)
fig. 3.19
85
Ejemplo
(0,30)
(flujo,Capacidad mxima)
fig. 3.20
Por lo tanto, como hemos podido marcar a t(t) tenemos una cadena aumentante, y por lo tanto
podemos aumentar el flujo de la siguiente manera:
Se toma el nodo t y su antecesor en la cadena aumentante (5), como es positivo se le suma al
flujo del arco (5,t) 2 unidades y se realiza el mismo procedimiento con los nodos 3, 2, y 1. Cuando
ya llegemos al nodo s, hemos actualizado el flujo de la red quedandonos sta de la siguiente manera.
(0,30)
(flujo,Capacidad mxima)
fig. 3.21
fig. 3.22
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio en los tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los :
A1 =[A(i,j) donde i es marcado y j es no marcado, 2(i,j;k)<01
A2 --4A(i,j) donde j es marcado e i es no marcado,
a(ij;k)>01
87
3,1. Ejemplo
62 = minA2[cki4)]
los cuales son:
2(3,t;2)=3
-d(4,t;1)=10
-7(4,t;2)=12
c/(5,t;2)=2
tomandose:
= rnin[81 , 62]
donde el mnimo es (5 = 2
Por lo tanto, el valor 2 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
os representa los tiempos, por lo tanto se le restara al nodo t(t) dos unidades.
(1,2)
fig. 3.23
Donde podemos ver que el tiempo que era de 23 semanas se redujo a 21.
Para encontrar el costo busquemos los d0,110 y los d(i,j;K) pordonde pasa el fiujoe los cuales
son:
d(s,1;1) = 5
1s,1;1) = 15
d(1,24) = 7
f(1,2;1) = 15
d(2,3;1) = 3
f(2,3;1) = 7
88
d(2,5;1) = 10
f(2,5;1) = 8
d(3,5;1) = 5
f(3,5;1) = 2
d(3,t;1) = 9
f(3,t;1) = 5
d(5,t;1) = 3
15,t;1) = 10
donde podemos decir que el costo directo total en el tiempo de 21 es: P(21)=1150-{(21)15[5(15)+7(15)+3(7)+10(8)+5(2)+ 9(5)+3(10)1}
=1150-{315-[75+105+21+80+10+45+30] }
=1150-{(315-366)}
= 11 50+51]
=1150+51
=1201
de donde P(21)=1201 es decir 51 pesos de incremento.
pasamos a la siguiente iteracin:
Cuarta Iteracin
Antes de iniciar el siguiente marcaje borramos las etiquetas anteriores y calcular los nuevos
valores de 7011) y 10,14
La red nos quedaran de la siguiente manera:
3.1. Ejemplo
89
(0,30)
(flujo,Capacidad mxima)
fig. 3.24
y los d(i,j;1) y los 1(i,j;2) nos quedan de la siguiente manera:
t(i,j)
t(i)-t(j)
t(s,1)
t(s,3)
t(s,4)
t(1,2)
0-5=-5
0-15=-15
0-10=-10
5-12=-7
5-10=-5
5-20=-15
12-15=-3
12-20=-8
15-20=-5
15-21=-6
10-20=-10
10-21=-11
20-21=-1
1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
a(i,j;1)=
D(i,j)-Ft(j)-t(i)
5-5=0
2-15=-13
2-10=-8
7-7=0
5-5=0
4-15=-11
3-3=0
10-8=2
5-5=0
9-6=3
4-10=-6
3-11=-8
3-1=2
d(i,j;2)=
d(i,j)-takt(i)
2-5=-3
1-15=-14
1-10=-9
5-7=-2
2-5=-3
2-15=-13
1-3=-2
6-8=-2
2-5=-3
5-6=-1
1-10=-9
1-11=-10
1-1=0
tabla 3.6
pasamos al siguiente marcaje:
90
(flujo,Capacidad mxima)
fig. 3.25
-d- (i,j;k)=0
Observamos que existe un cero por el primer conducto en las actividades A(8,1), A(1,2), A(1,4)
A(2,3), A(3,5) y por el segundo conducto en A(5,t) por lo tanto marcamos a los nodos t(1), t(2),
t(3), t(4), y t(5) y t(t) de la siguiente manera:
a t(1) lo marcamos de la siguiente manera [s,1,-F,18].
a t(2) lo marcamos de la siguiente manera [1,1,+,10].
a t(3) lo marcamos de la siguiente manera [2,1,+,3].
91
Ejemplo
a t(4) lo marcamos de la siguiente manera [1,4+,1.
a t(5) lo marcamos de la siguiente manera [3,4+,11.
a t(t) lo marcamos de la siguiente manera [5,2,-F,1].
como marcamos a t(t) entonces la red nos queda de la siguiente manera:
(0,30)
(flujo,Capacidad mxima)
fig. 3.26
Por lo tanto tenemos una cadena aumentante, y por lo tanto podemos aumentar el flujo de la
siguiente manera:
Se toma el nodo t y su antecesor en la cadena aumentante (5), como es positivo se pasa ese
flujo por el segundo conducto y se pasa al siguiente que es el (3) se le suma 1 unidad al flujo del
arco (3,5) y se realiza el mismo procedimiento con los nodos 2, y 1.Cuando ya llegemos al nodo s,
hemos actualizado el flujo de la red quedandonos sta de la siguiente manera.
92
(0,30)
(flujo,Capacidad mxima)
fig. 3.27
volvemos a marcar el segundo marcaje:
Utilizando la red anterior y borrando las marcas tenos las del primer marcaje buscamos una
cadena aumentante y la capacidad incremental de la cadena con el flujo ya actualizado tomando
encuenta los a( i,j;k)=0. podemos ver que existen los mismos ceros que en la ocacin anterior por
lo tanto marcamos
a t(1) lo marcamos de la siguiente manera [s,1,+,15].
a t(2) lo marcamos de la siguiente manera [1,1,+,10].
a t(3) lo marcamos de la siguiente manera [2,1,+,3].
a t(4) lo marcamos de la siguiente manera [1,1,+,7].
como por la actividad A(3,5) ya se encuentra a su mxima capacidad entonces ya no se puede
pasar ningun flujo por lo tanto no pudimos marcar a t(t) y la red nos quedara de la siguiente
manera:
92
(0,30)
(flujo,Capacidad mxima)
fig. 3.27
volvemos a marcar el segundo marcaje:
Utilizando la red anterior y borrando las marcas Menos las del primer marcaje buscamos una
cadena aumentante y la capacidad incremental de la cadena con el flujo ya actualizado tomando
encuenta los 71(i,j;k)=0. podemos ver que existen los mismos ceros que en la ocacin anterior por
lo tanto marcamos
a t(1) lo marcamos de la siguiente manera [s,1,+,18].
a t(2) lo marcamos de la siguiente manera [1,1,+,10].
a t(3) lo marcamos de la siguiente manera [2,1,+,3].
a t(4) lo marcamos de la siguiente manera [1,1,+,7].
como por la actividad A(3,5) ya se encuentra a su mxima capacidad entonces ya no se puede
pasar ningun flujo por lo tanto no pudimos marcar a t(t) y la red nos quedara de la siguiente
manera:
93
plo
(0,30)
(flujo,Capacidad mxima)
2, 1 ,+,2]
55
[5,2,-F, cc]
(0,10)
fig. 3.28
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
asamos al cambio los tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los :
=[A.0,0 donde i es marcado y j es no marcado, 2(i,j;k)<01
A1
=[A(i,j) donde j es marcado e i es no marcado, W(i,j;k)>01
Ay
TriinAili,j;k)1
62 = minA,[7/ki,j;k)]
-2(4,5;2)=9
-2(4,1;1)=8
-71(4,t;2)=10
tornndose:
5
rnin[51, 62]
donde el mnimo es 5 = 1
Por lo tanto, el valor 1 se lo restamos a los tiempos de los
93
plo
(0,30)
(flujo,Capacidad mxima)
2,1,+,2]
55
[5,2,4-, Gol
(0,10)
fig. 3.28
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
asamos al cambio los tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los :
Ar =[A(i,j) donde i es marcado y j es no marcado, cd(i,j;k)<01
A 2 r-{A(i,j)
-d(4,5;2)=-9
-71(4,t;1)--.8
-7k4,t;2)=10
tomandose:
5=
min[di,52]
donde el mnimo es 5 = 1
Por lo tanto, el valor 1 se lo restamos a los tiempos de los no&
fig. 3.29
Donde podemos ver que el tiempo que era de 21 semanas se redujo a 20.
Para encontrar el costo busquemos los d(i,j;k) y los f(i,j;k).
0,1;1) = 5
f(s,1;1) = 16.
d(1,2;1)
f(s,1;1) = 16.
d(2,3;1) = 3
d(2,5;1) = 10
f(s,1;1) = 8.
f(s,1;1) = 8.
d(3,5;1) = 5
f(3,5;1) = 3.
d(3,t;1) = 9
f(34;1) = 5.
d(5,t;1) = 3
f(5,t;1) = 10.
d(5,t;2) = 1
f(s,1;1) = 1.
t(t)=20
(1,3)
fig. 3.29
Donde podemos ver que el tiempo que era de 21 semanas se redujo a 20.
Para encontrar el costo busquemos los d(i,j;k) y los f(i,j;k).
d(s,1;1) = 5
f(s,1;1) = 16.
d(1,2;1) = 7
f(s,1;1) = 16.
d(2,3;1) = 3
f(s,1;1) = 8.
d(2,5;1) = 10
f(s,1;1) = 8.
d(3,5;1) = 5
f(3,5;1) = 3.
d(3,t;1) = 9
f(3,t;1) = 5.
d(5,t;1) = 3
f(5,t;1) = 10.
d(5,t;2) = 1
f(s,1;1) = 1.
.1. Ejemplo
95
=1150+67
=1217
de donde P(20)=1217 es decir 67 pesos de incremento.
pasamos a la siguiente iteracin:
Quinta Iteracin
Antes de iniciar el siguiente marcaje borramos las etiquetas anteriores y calcular los nuevos
valores de i,j;1)
a(
y d(i,j;2).
La red nos quedara de la siguiente manera:
(0,30)
(flujo,Capacidad mxima)
fig. 3.30
y los a(i,j;1 ) y los ct(i,j;2) nos quedan de la siguiente manera:
1. Ejemplo
95
=1150+67
=1217
de donde P(20)=1217 es decir 67 pesos de incremento.
pasamos a la siguiente iteracin:
Quinta Iteracin
Antes de iniciar el siguiente marcaje borramos las etiquetas anteriores y calcular los nuevos
valores de 7/(i,11) y d(i,j;2).
La red nos quedara de la siguiente manera:
(0,30)
(flujo,Capacidad mxima)
fig. 3.30
y los a(i,j;i) y los d(i,j;2) nos quedan de la siguiente manera:
t(i,j)
t(i)-t(j)
5,1)
t(s,3)
t(s,4)
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
0-5=-5
0-15=-15
0-10=-10
5-12=-7
5-10=-5
5-19=-14
12-15=-3
12-19=-7
15-19=-4
15-20=-5
10-19=-9
10-20=-10
19-20=-1
cki,j;1)--.=
D(i,j)-Ft(j)-t(i)
71(i,j;2)=
d(i,j)-Ft(j)-t(i)
2-5=-3
1-15=-14
1-10=-9
5-7=-2
2-5=-3
2-14=-12
1-3=-2
6-7=-1
2-4=-2
5-5=0
1-9=-8
1-10=-9
1-1=0
5-5=0
2-15=-13
2-10=-8
7-7=0
5-5=0
4-14=-10
3-3=0
10-7=3
5-4=1
9-5=4
4-9=-5
3-10=-7
3-1=2
tabla 3.7
pasamos al siguiente marcaje:
t(i,j)
t(i)-t(j)
t(s,1)
0-5=-5
0-15=-15
0-10=-10
5-12=-7
5-10=-5
5-19=-14
12-15=-3
12-19=-7
15-19=-4
15-20=-5
10-19=-9
10-20=-10
19-20=-1
t(s,3)
t(s,4)
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
71(i,j;1)=D(i,j)-Et(j)-t(i)
20,j;2)=
d(i,j)-Ft(j)-t(i)
2-5=-3
1-15=-14
1-10= 9
5-7=-2
2-5=-3
2-14=-12
1-3=-2
6-7=-1
2-4=-2
5-5=0
1-9=-8
1-10=-9
1-1=0
5-5=0
2-15=-13
2-10=-8
7-7=0
5-5=0
4-14=-10
3-3=0
10-7=3
5-4=1
9-5=4
4-9=-5
3-10=-7
3-1=2
tabla 3.7
pasamos al siguiente marcaje:
is
97
(0,30)
(flujo,Capacidad mxima)
[3,2,+, co]
fig. 3.31
97
(0,30)
fig. 3.31
fig. 3.32
tenemos una cadena aumentante, y por lo tanto podemos aumentar el flujo de la siguiente
manera:
Se toma el nodo t y su antecesor en la cadena aumentante (3), como es positivo se pasa el flujo
por el segundo conducto y se pasa al siguiente que es el (2) y se le suma 2 unidades al flujo del
arco (2,3) y se realiza el mismo procedimiento con los nodos 1 y s. Cuando ya llegemos al nodo s,
hemos actualizado el flujo de la red quedandonos sta de la siguiente manera.
(flujo,Capacidad mxima)
fig. 3.33
[3,2,+, 2]
fig. 3.32
tenemos una cadena aumentante, y por lo tanto podemos aumentar el flujo de la siguiente
Se toma el nodo t y su antecesor en la cadena aumentante (3), como es positivo se pasa el flujo
por el segundo conducto y se pasa al siguiente que es el (2) y se le suma 2 unidades al flujo del
arco (2,3) y se realiza el mismo procedimiento con los nodos 1 y s. Cuando ya llegemos al nodo s,
hemos actualizado el flujo de la red quedandonos sta de la siguiente manera.
(flujo,Capacidad mxima)
fig. 3.33
99
jemplo
olvem os a marcar:
Utilizando la red anterior y borrando las marcas buscamos una cadena aumentante y la capacid incrementa]. de la cadena con el flujo ya actualizado tomando encuenta los Tki,j;k)=0, podemos
que existen los mismos ceros que en la ocacin anterior por lo tanto marcamos
a t(1) lo marcamos de la siguiente manera [s,1,+,18].
a t(2) lo marcamos de la siguiente manera [1,1,+,10].
a t(3) lo marcamos de la siguiente manera [2,1,+,3[.
a t(4) lo marcamos de la siguiente manera [1,1,+,7].
como por la actividad A(2,3) ya se encuentra a su mxima capacidad entonces ya no se puede
pasar ningn flujo, por lo tanto no pudimos marcar a t(t) y la red nos quedara de la siguiente
manera:
(0,30)
(flujo,Capacidad mxima)
[3,1,+,00]
fig. 3.34
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio de flujo en los tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los:
A1 =[A(i,j) donde i es marcado y j es no marcado, d(i.j;k)<01
A 2 =[A(i,j) donde j es marcado e i es no marcado,j(i,j;k)>01
se calculan y se comparan llamandoseles:
dl = rninA i [-dkijik)]
99
vemos a marcar:
Utilizando la red anterior y borrando las marcas buscamos una cadena aumentante y la capadincremental de la cadena con el flujo ya actualizado tomando encuenta los a(i,j;k)=0, podemos
que existen los mismos ceros que en la ocacin anterior por lo tanto marcamos
a t(1) lo marcamos de la siguiente manera [s,1,+,18].
a t(2) lo marcamos de la siguiente manera [1,1,+,10].
a t(3) lo marcamos de la siguiente manera [2,1,+,3].
a t(4) lo marcamos de la siguiente manera [1,1,+,7].
como por la actividad A(2,3) ya se encuentra a su mxima capacidad entonces ya no se puede
pasar ningn flujo, por lo tanto no pudimos marcar a t(t) y la red nos quedara de la siguiente
manera:
(0,30)
(flujo,Capacidad mxima)
[3,1,+,00]
fig. 3.34
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio de flujo en los tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los:
A1 =[A(i,j) donde i es marcado y j es no marcado, 1(i,j;k)<0]
A2 =[A(i,j) donde j es marcado e i es no marcado,1(i,1k)>0]
minA,[d(i,j;k)]
As,3;2).14
a( 1,54) =10
;41,5;2)=12
d(2,3;2)=2
d(2,5;2)=1
14,5;1)=5
ic(4,5;2)=8
7/(4,t,1)=7
-d(4,t;2)=9
tomandose:
= min[61,52]
donde el mnimo es = 1
Por lo tanto, el valor 1 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
os representa los tiempos, por lo tanto se le restara al nodo t(3), t(5) y a t(t) una unidad.
-d(s,3;2)=14
-d(1,54)=10
-2(1,5;2)=12
-0,3;2)=2
-0,5;2)=1
-d(4,5;1)=5
-d(4,5;2)=8
-2(4,t;1)=7
-d(4,t;2)=9
tomandose:
5 = min[82 , 82]
donde el mnimo es 8 = 1
Por lo tanto, el valor 1 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
os representa los tiempos, por lo tanto se le restara al nodo t(3), t(5) y a t(t) una unidad.
190
101
fig. 3.35
Donde podemos ver que el tiempo que era de 20 semanas se redujo a 19.
Para encontrar el costo busquemos los d(i,j;k) y los f(i,j;k).
d(s,1;1) = 5
f(s,1;1) = 18.
d(1,2;1) = 7
f(1,2;1) = 18.
d(2,3;1) = 3
f(2,3;1) = 10.
d(2,5;1) = 10
f(2,5;1) = 8.
d(3,5;1) = 5
f(3,5;1) = 3.
d(3,t;1) = 9
f(3,t;1) = 5.
d(5,t;1) = 3
f(5,t;1) = 10.
d(3,t;2) = 5
f(3,t;1) = 2.
d(5,t;2) = 1
f(5,t;1) = 1.
101
fig. 3.35
Donde podemos ver que el tiempo que era de 20 semanas se redujo a 19.
Para encontrar el costo busquemos los d(i,j;k) y los f(i,j;k).
d(s,1;1) = 5
f(s,1;1) = 18.
d(1,2;1) = 7
11,2;1) = 18.
d(2,3;1) = 3
f(2,3;1) = 10.
d(2,5;1) = 10
f(2,5;1) = 8.
d(3,5;1) = 5
f(3,5;1) = 3.
d(3,t;1) = 9
f(3,t;1) = 5.
d(5,t;1) = 3
15,t;1) = 10.
d(3,t;2) = 5
f(3,t;1) = 2.
d(5,t;2) = 1
15,t;1)
1.
Captulo 3,
=1150+85
=1235
de donde P(19)=1235 es decir 85 pesos de inc
Pasamos a la siguiente iteracin:
Sexta Ite
Antes de iniciar el siguiente marcaje borram
atores de d(i,j;1) y d(i,j;2).
La red nos quedara de la siguiente manera:
(0,30)
fig. 3'
y los d(i,j;1) y los d(i,j;2) nos quedan de la sig
Pulkerson
Captulo 3.
=1150+85
=1235
de donde P(19)=1235 es decir 85 pesos de inc
Pasamos a la siguiente iteracin:
Sexta Ite
Antes de iniciar el siguiente marcaje borramosl
atores de a (il i ) y ii(i,12).
La red nos quedara de la siguiente manera:
(0,30)
fig.
y los 2(i,11) y los d(i,12) nos quedan de la si
-e Fulkerson
3.1. Ejemplo
103
t(i,j)
t(i)-t(j)
t(s,1)
t(s,3)
t(s,4)
t(1,2)
t(1,4)
t(1,5)
t(2,3)
t(2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
0-5=-5
0-14=-14
0-10=-10
5-12=-7
5-10=-5
5-18=-13
12-14=-2
12-18=-6
14-18=-4
14-19=-5
10-18=-8
10-19=-9
18-19=-1
2(i,j;1)=
D(i,j)+t(j)-t(i)
5-5=0
2-14=-12
2-10=-8
7-7=0
5-5=0
4-13=-9
3-2=1
10-6=4
5-4=1
9-5=4
4-8=-4
3-9=-6
3-1=2
7/(i12)=
d(i,j)-Ft(j)-t(i)
2-5=-3
1-14=-13
1-10=-9
5-7=-2
2-5=-3
2-13=-11
1-2=-1
6-6=0
2-4=-2
5-5=0
1-8=-7
1-9=-8
1-1=0
1
tabla 3.8
(0,30)
(finjo,Capacidad mxima)
[3,2,+, oo]
fig. 3.37
105
(0,30)
(flujo,Capacidad mxima)
[3,2,+, 00]
fig. 3.38
tenemos una cadena aumentante, y por lo tanto podemos aumentar el flujo de la siguiente
Se toma el nodo t y su antecesor en la cadena aumentante (5), como es positivo se pasa el flujo
por el segundo conducto y se pasa al siguiente que es el (2) y se le suma 7 unidades al flujo de
ese arco. y se realiza el mismo procedimiento con los nodos 1 y s. Cuando ya llegemos al nodo s,
hemos actualizado el flujo de la red quedandonos est de la siguiente manera.
(0,30)
(flujo,Capacidad mxima)
[3,2,+, oo]
fig. 3.39
O6
Utilizando la red anterior y borrando las marcas buscamos una cadena aumentante y la capacidad incrementa) de la cadena con el flujo ya actualizado tomando encuenta los 1(i,j;k)=0. podemos
ver que existen los mismos ceros que en la ocacin anterior por lo tanto marcamos
a t(1) lo marcamos de la siguiente manera [s,1,+,8].
como por la actividad A(1,2) ya se encuentra a su mxima capacidad entonces ya no se puede
pasar ningn flujo, por lo tanto no pudimos marcar a t(t) y la red nos quedara de la siguiente
manera:
(0,30)
(flujo,Capacidad mxima)
[3,1,-E,00]
fig. 3.40
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio de flujo en los tiempos de los sucesos, el cual se hace de la siguiente manera:
Se buscan los :
A1 ..[A(i,j) donde i es marcado y j es no marcado, a(i,j;k)<O]
A2 =[A(i,j) donde j es marcado e i es no marcado, d(i,j;k)>O]
= minAi [-dkij;k)]
62 = min242[71(ii;k)]
los cuales son:
-d(s,34)=12
-d(s,3;2)=13
-d(1,2;2)=2
107
Ejemplo
-2(1,5;1)=9
-2(1,5;2)=11
-2(4,5;1)=4
-2(4,5;2)=7
-2(4,1;1)=6
-d(4,t;2)=8
tomandose:
6=
donde el mnimo es E = 2
Por lo tanto, el valor 2 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
nos representa los tiempos, por lo tanto se le restara al nodo t(2), t(3) t(5) y a t(t) 2 unidades y al
mismo tiempo encontrando la nueva ruta quedandonos de la siguiente manera:
fig. 3.41
Donde podemos ver que el tiempo que era de 19 semanas se redujo a 17.
Para encontrar el costo busquemos los d(i,j;k) y los f(i,j;k).
d(s,1;1) = 5
1s,14) = 25.
d(1,2;1) = 7
f(1,2;1) = 25.
d(2,3;1) = 3
f(2,3;1) = 10.
d(2,5;1) = 10
(2,5;1) = 8.
d(3,5;1) = 5
f(3,5;1) = 3.
d(3,t;1) = 9
13,t;1) = 5.
f(5,t;1) = 10.
d(2,5;2) = 6
f(2,5;1) =
d(3,t;2) = 5
13,t;1) = 2.
d(5,t;2) = 1
f(5,t;1) =
Sptima Iteracin
Antes de iniciar el siguiente marcaje borramos las etiquetas anteriores y calcular los nuevos
valores de d(i,j;1) y 1(i,j;2).
La red nos quedara de la siguiente manera:
109
(0,30)
(flujo,Capacidad mxima)
fig. 3.42
y los a(i,j;1) y los d(i,j;2) nos quedan de la siguiente manera:
t(i,j)
t(i)-t(j)
t(s,1)
t(s,3)
t(s,4)
1,2)
t(1,4)
1,5)
2,3)
2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
0-5=-5
0-12=-12
0-10=-10
5-10=-5
5-10=-5
5-16=-11
10-12=-2
10-16=-6
12-16=-4
12-17=-5
10-16=-6
10-17=-7
16-17=-1
2(i,j;1),
D(i,j)-I-t(j)-t(i)
5-5=0
2-12=-10
2-10=-8
7-5=2
5-5=0
4-11=-7
3-2=1
10-6=4
5-4=1
9-5=4
4-6=-2
3-7=-4
3-1=2
74412).
d(i,j)+t(j)-t(i)
2-5=-3
1-12=-11
1-10=-9
5-5=0
2-5=-3
2-11=-9
1-2=-1
6-6=0
2-4=-2
5-5=0
1-6=-5
1-7=-6
1-1=0
tabla 3.9
pasamos al siguiente marcaje:
(flujo,Capacidad mxima)
[3,2,+, cc]
fig. 3.43
111
Ej emplo
a t(5) lo marcamos de la siguiente manera [2,2,+,8].
t(t) lo marcamos de la siguiente manera [5,2,+,8].
como marcamos a t(t) tenemos la siguiente red:
!I
(0,30)
!!.
(flujo,Capacidad mxima)
s,1,+,81
55
(0,10)
(25,33)
(3,3)
[3,2,+, co]
10 10
(25,25)
[-,-,->col
(10,10)
(0,7)
[2,2,4-,8]
(0,10).
[5,2,+,8]
(0,10)
(0,30)
[1 rE,8]
v~la
fig. 3.44
tenemos una cadena aumentante, y por lo tanto podemos aumentar el flujo de la siguiente
manera:
Se toma el nodo t y su antecesor en la cadena aumentante (5), como es positivo se pasa el flujo
por el segundo conducto y se realiza el mismo procedimiento con los nodos 2,1 y s. Cuando ya
llegemos al nodo s, hemos actualizado el flujo de la red quedandonos sta de la siguiente manera.
(flujo,Capacidad mxima)
55
2
(0,10)
(33,33)
(3,3)
[3,2,+, oo]
10,10
(25,25)
(10,10)
(0,7)
(0,10)
[5,2,-E,0o]
(0,10)
(0,30)
fig. 3.45
volvemos a marcar el segundo marcaje:
Utilizando la red anterior y borrando las marcas buscamos una cadena aumentante y la capacidad incremental de la cadena con el flujo ya actualizado tomando encuenta, los a(i,j;k)=0. podemos
ver que existen los mismos ceros que en la ocacin anterior pero como la actividad A(5,1) ya se
encuentra a su mxima capacidad entonces ya no se puede pasar ningun flujo, por lo tanto no
pudimos marcar a t(t) y la red nos quedaria de la siguiente manera:
(0,30)
(flujo,Capacidad mxima)
,5
(0,10)
(33,33)
(3,3)
[3,2,-k,00]
(0,10)
(10,10)
(0,30)
[1,2,-k,00
fig. 3.46
[5,2,+,00]
(0,10)
113
Ejemplo
Como el ltimo suceso no esta marcado entonces no existe cadena aumentante por lo tanto
pasamos al cambio en los tiempos de los sucesos, el cual se hace de la siguiente maneraSe buscan los :
A1 =[A(i,j) donde i es marcado y j es no marcado, Tki,j;k)<O]
A2 =[A(i,j) donde j es marcado e i es no marcado, a(i,j;k)>O]
-a(s,3;2)=11
-d(s,4;2)=9
-a(s,4;1)=8
tomandose:
8 =
82]
donde el mnimo es 6 = 3
Por lo tanto, el valor 3 se lo restamos a los tiempos de los nodos t(i) no marcados de la red que
nos representa los tiempos, por lo tanto se le restara al nodo t(1), t(2), t(3), t(4), t(5) y a t(t) 3
unidades quedandonos de la siguiente manera:
(1,2)
14
f(s,1;1) = 33.
d(1,2;1) = 7
f(1,2;1) = 25.
d(2,3;1) = 3
f(2,3;1) = 10.
d(2,5;1) = 10
f(2,5;1) = 8.
d(3,5;1) = 5
f(3,5;1) = 3.
d(3,t;1) = 9
f(3,t;1) = 5.
d(5,t;1) = 3
f(5,t;1) = 10.
d(1,2;2) = 5
f(1,2;1) = 8.
d(2,5;2) -= 6
f(2,5;1) =
d(3,t;2) = 5
f(3,t;1) = 2.
d(5,t;2) = 1
f(5,t;1) =
Octava Iteracin
Antes de iniciar el siguiente marcaje borramos las etiquetas anteriores y calcular los nuevos
valores de d(i,j;1) y 2/(i,12).
La red nos quedara de la siguiente manera:
Ejemplo
115
(0,30)
(flujo,Capacidad mxima)
(0,10)
fig. 3.48
y los a(i,j;1 ) y los d(i.j;2) nos quedan de la siguiente manera:
t(i,j)
t(i)-t(j)
s,1)
t(s,3)
t(5,4)
1,2)
1,4)
1,5)
2,3)
2,5)
t(3,5)
t(3,t)
t(4,5)
t(4,t)
t(5,t)
0-2=-2
0-9=-9
0-7=-7
2-7=-5
2-7=-5
2-13=-11
7-9=-2
7-13=-6
9-13=-4
9-14=-5
7-13=-6
7-14=-7
13-14=-1
d(i,j;1)=
D(i,j)+t(j)-t(i)
5-2=3
2-9=-7
2-7=-5
7-5=2
5-5=0
4-11=-7
3-2=1
10-6=4
5-4=1
9-5=4
4-6=-2
3-7=-4
3-1=2
1(ii;2)=
d(i,j)i-t(j)-t(i)
2-2=0
1-9=-8
1-7=-6.
5-5=0
2-5=-3
2-11=-9
1-2=-1
6-6=0
2-4=-2
5-5=0
1-6=-5
1-7=-6
1-1=0
tabla 3.10
pasamos al siguiente marcaje:
116
(flujo,Capacidad mxima)
fig. 3.49
y por lo tanto ya terminamos ya que no se puede reducir ms la duracin del proyecto quedandonos una duracin de 14 unidades y un costo de 1384 unidades quedando un camino de s a t.
por lo tanto la red de los tiempos nos queda de la siguiente manera:
117
Ejemplo
(1,2)
t(3)=9
t(t)=14
(1,3)
fig. 3.50
y la figura de costos nos queda de la siguiente manera:
1235
1217
1201
1171
1158
1150
17
19 20 21
23 24 25 t
tab. 3.11
Por lo tanto al tener todos
calcular las holguras.
Ejemplo
Conclusiones
La idea de este trabajo es dar aconocer al lector una forma muy sencilla de como se puede
utilizar el mtodo CPM en cualquier proyecto ya que este mtodo es el ms usado en la vida real
para minimizando el costo bajo un tiempo rasonable.
La experiencia obtenida al realizar este material es que se necesita conocer muy bien el desarrollo
de los algoritmos de Dijkstra y Ford Fulkerson para poder realizar el proyecto y esperando tambien
que en un futuro se desarrolle un software para el CPM por los estudiantes que se interesen en
continuar con este trabajo.
120
Appendix A
ALGORITMOS DE GRAFICAS
PARA EL PROBLEMA CPM
En este captulo veremos algunos algoritmos por medio de los cuales solucionaremos el problema
duracin - costo de algunos proyectos.
Los proyectos que utilizamos son aplicables en la vida real y pueden modelarse por medio de
una red formada por nodos y arcos
Como se explico en el primer captulo. En el capitulo 2 vimos un ejemplo completo aplicando
el algoritmo de Dijkstra y en el 3 un problema aplicando el Ford Fulkerson, los cuales descrivimos
a continuacin.
121
123
5. Ir a 3, mientras Cy
Donde:
f(i,j) = fu = el flujo a trabes del arco A(i,j)
124
c) Si x = s borrar todas las etiquetas y regresar al paso 2 si z s hacer x=z y regresar al paso
3.b)
o 'TE 11
AS
1
t 191
CIENCI
/
NABA
1 IIETURALU
Bibliografa
Gestion Deusto. Aplicaciones Practicas del PERT y CPM. Quinta edicin
Taha. Investigacion de Operaciones. Edit. Alfaomega
James M. ntill. Ronald W. Woodheand. Mtodo de la Ruta Crtica. Edit. Limusa
Helbert Moskowitz y Gordon P. Wright. Investigacion de Operaciones y sus Aplicaciones a la
Construccin.
Graciela Bueno de Araujo. Introduccin a la Programacin Lineal yal Analisas de Sensibilidad
Edit. Trillas
Edelmira Rordiguez Alcantar. Los problemas de: Arbol de mnima expansii en grficas y ruta
mnima en digrficas
[7] Irene Rodriguez Castillo. Una Implementacin Computacional del Algoritmo de Ford-Fulkerson
y sus Generalizacines