TEMA 1º Conceptos Basicos de Grafos y Redes
TEMA 1º Conceptos Basicos de Grafos y Redes
TEMA 1º Conceptos Basicos de Grafos y Redes
1. Grafos Dirigidos
Un grafo dirigido G=(N,A) consiste en un conjunto N de nodos y
un conjunto A de arcos cuyos elementos son pares ordenados de distintos nodos.
2. Red Dirigida
Una red dirigida es un grafo dirigido cuyos nodos o arcos tienen asociados valores
numricos tales como costos, capacidades, ofertas, demandas, tiempo etc. Denotaremos
el nmero de nodos con la letra n y al nmero de arcos con la m.
3. Grafos no Dirigidos
Un grafo no dirigido G=(N,A) consiste en un conjunto N de nodos y un conjunto A de arcos
cuyos elementos son pares no ordenados de nodos distintos. !n un grafo nos podemos
referir al arco "ue une a los nodos i#j, como
) , ( j i
o
) , ( i j
. Un grafo no dirigido permite el
flujo en am$as direcciones, es decir desde el nodo i al nodo j o viceversa.
. Co!as " Ca#e$as
Figura 3.1 Grafo Dirigido
7 1
5
4
3
2
6
Un arco dirigido
) , ( j i
tiene dos puntos de finali%aci&n i y j. Nos referiremos al nodo i
como la cola del arco y al nodo j como su ca$e%a. Diremos "ue al arco
) , ( j i
emana del nodo i y termina en el nodo j. !l arco
) , ( j i
es incidente a los nodos i y j.
!l arco
) , ( j i
es un arco saliente del nodo i y un arco entrante al nodo j. 'iempre "ue el
arco
) , ( j i
pertene%ca al conjunto A, diremos "ue el nodo j es adyacente al nodo i.
%. Grados
!l grado interno de un nodo es el nmero de arcos "ue llegan al nodo y su grado e(terno
es el nmero de arcos "ue salen del nodo. Al sumar el grado interno de un nodo con su
grado e(terno se o$tiene el grado del nodo. 'e o$serva "ue la suma de los grado interno
de todos los nodos es igual a la suma de todos los grados e(ternos de todos los nodos y
am$os son iguales al nmero de arcos m en la red.
&. 'is(a de Ad"a)en)ia
)a lista de arcos de adyacencia A(i) de un nodo i es el conjunto de
arcos "ue emanan del nodo i, esto es*
( ) { } N j A j i i A = : , ) (
)a lista de nodos de adyacencia A(i), de un nodo i es el conjunto de nodos adyacentes al
nodo i.
( ) { } A j i N j i A = , : ) (
'upondremos "ue los arcos en la lista de adyacencia est+n ordenados de manera "ue los
nodos ca$e%a y los arcos est+n en orden creciente.
Figura 3.2 Grafo No Dirigido
7 1
5
4
3
2
6
Figura 3.4 Camino Dirigido
3
1
2
5
4
*. +,!(iar)os
,ultiarcos son dos o m+s arcos con los mismos nodos ca$e%a cola.
-. 'a$os
Un la%o es un arco cuyo nodo ca$e%a es el mismo "ue su nodo cola.
.. S,#grafo
Un grafo G-=(N-,A-) es un su$grafo de G=(N,A) si N-
N y A-
A.
1/. Ca0ino
Un camino en un grafo dirigido G=(N,A) es un su$grafo de G "ue satisface la propiedad
"ue para todo ., donde / . r#/, se tiene "ue*
a
.
=
) , (
1 k k
i i
+
A o a
.
=
) , (
1 + k k
i i
A.
11. Ca0ino Dirigido
Un camino dirigido es una versi&n orientada de un camino, en el sentido de "ue para
dos nodos consecutivos i
.
e i
.0/
en el camino, se tiene "ue
) , (
1 + k k
i i
A.
Figura 3.3 Camino No Dirigido
1 5
2
7
12. R,(a
Una ruta es un camino sin repetici&n de nodos. !s posi$le particionar los arcos de un
camino en dos grupos* los arcos "ue van 1acia delante y los arcos "ue van 1acia atr+s. Un
arco
) , ( j i
en el camino es un arco dirigido 1acia delante si la ruta visita al nodo i antes de
visitar al nodo j, de ser contrario es un arco "ue est+ dirigido 1acia atr+s.
13. R,(a Dirigida
Una ruta dirigida es un camino dirigido en el "ue no se repiten nodos. Dic1o de otra forma
en una ruta dirigida no e(isten arcos dirigidos 1acia atr+s. 2esulta f+cil almacenar una
ruta en una computadora definiendo un 3ndice pred(j), para todo nodo j en la ruta.
1. Ci)!o
Un ciclo es una ruta i
/
4 i
5
# ... 4i
r
, junto con el arco
) , (
1 r
i i
o el arco
) , (
1
i i
r
. Nos
referiremos a un ciclo empleando la notaci&n i
/
4 i
5
# ... 4i
r
4i
r
. De manera an+loga a las
rutas es posi$le definir arcos dirigidos 1acia delante o 1acia atr+s.
1%. Ci)!o Dirigido
Un ciclo dirigido es una ruta dirigida i
/
4 i
5
# ... 4i
r
, junto con el arco
) , (
1
i i
r
.
Figura 3.5 Ciclo
3
2
5
1&. Grafo A)1)!i)o
Un grafo es ac3clico si no contiene ciclos dirigidos.
1*. Cone)(i2idad
Dos nodos i,j est+n conectados si el grafo contiene por lo menos una ruta desde el nodo i
al nodo j. Un grafo es conectado si cada par de nodos est+n conectados. De otra forma el
grafo es desconectado. Nos referimos a los su$grafos conectados de una red como sus
componentes.
1-. Cone)(i2idad F,er(e
Un grafo conectado est+ fuertemente conectado si contiene por lo menos una ruta dirigida
desde cada nodo 1acia todos los dem+s nodos.
1.. Cor(ad,ra
Figura 3.6 Ciclo Dirigido
4 2
5
Una cortadura es una partici&n del conjunto de nodos N, en dos partes, ' y '-=N#'. 6ada
cortadura define un conjunto de arcos compuesto por los arcos "ue tienen un punto de
finali%aci&n en ' y otro punto de finali%aci&n en '-. Nos referiremos a este conjunto de
arcos como una cortadura y ser+ representada por 7','-8.
2/. Cor(ad,ra s3(
Una cortadura s#t est+ definida con respecto a dos nodos distinguidos s y t, y es una
cortadura 7','-8 "ue satisface la propiedad de "ue s ' y t '-.
21. r#o!
Un +r$ol es un grafo conectado "ue no contiene ciclos.
A. Pro4iedades de ,n r#o!.
Figura 3.8 rbol
7
1
3 8
2
4
5
6
Figura 3.7 Cortadura
1
6
5
4
3
2
7
a) Un +r$ol de n nodos contiene e(actamente n#/ arcos.
$) Un +r$ol contiene por lo menos dos nodos 1ojas, es decir con grado /.
c) 6ada dos nodos de un +r$ol est+n conectados por una ruta nica.
22. Bos5,e
Un $os"ue es un grafo "ue no contiene ciclos. De manera alternativa un $os"ue es una
colecci&n de +r$oles.
23. S,#6r#o!
Un su$+r$ol es un 'u$grafo conectado de un +r$ol.
2. r#o! Enrai$ado
!s un +r$ol con un nodo especial, llamado ra3%. 6onsideraremos "ue el +r$ol est+
sostenido en dic1o nodo. )os arcos en un +r$ol definen una relaci&n entre dos nodos, a la
"ue denominaremos relaci&n predecesor#sucesor. A e(cepci&n del nodo ra3%, cada nodo i
en el +r$ol posee un nico predecesor, el cual es el siguiente nodo en la nica ruta
e(istente entre el nodo y la ra3%.
6on la finalidad de almacenar el predecesor de cada nodo, emplearemos el 3ndice
pred(i)=j, lo "ue "uiere decir "ue j es el predecesor del nodo i. !ste 3ndice nos permite
tra%ar la ruta entre los nodos y el nodo ra3%.
)os descendientes de un nodo est+n conformados por sus sucesores, los sucesores de sus
sucesores y as3 sucesivamente. As3 mismo un nodo es el ancestro de todos sus sucesores.
Figura 3.9 Bosqu
6
1 5
3
4
2
2%. r#o!es Dirigidos 7a)ia Af,era
Un +r$ol es un +r$ol dirigido 1acia afuera en un nodo s, si la nica ruta en el +r$ol desde el
nodo s 1acia cada una de los restantes nodos es una ruta dirigida. 6a$e resaltar "ue cada
nodo, a e(cepci&n de la ra3%, tiene grado interior igual a /.
2&. r#o!es Dirigidos 7a)ia Aden(ro
Figura 3.10 rbol nrai!ado
3
1
2
6
5 4
7
Figura 3.11 rbol dirigido "acia afura
5
1 2
6
3
4 7
Un +r$ol es un +r$ol dirigido 1acia dentro en un nodo s, si la nica ruta desde un nodo
cual"uiera 1acia el nodo s es una ruta dirigida. 'e o$serva "ue cada nodo, a e(cepci&n de
la ra3%, tiene grado e(terior igual a /.
2*. r#o!es de E84ansi9n
Un +r$ol 9 es un +r$ol de e(pansi&n de G si 9 es un su$grafo de e(pansi&n. 6ada +r$ol de
e(pansi&n de un grafo conectado de n nodos, tienen n#/ arcos.
2-. Ci)!os F,nda0en(a!es
'ea 9 un +r$ol de e(pansi&n del grafo G. 'i se a:ade un arco "ue no pertene%ca a 9 se
crea e(actamente un ciclo. A dic1o ciclo se lo denomina ciclo fundamental de G respecto
al +r$ol 9. ;uesto "ue la red contiene m#n0/ arcos "ue no pertenecen a 9, tiene m#n0/
ciclos fundamentales. 'e o$serva "ue si se elimina algn arco en una ciclo fundamental,
o$tendremos un +r$ol de e(pansi&n.
2.. Cor(ad,ras F,nda0en(a!es
'ea 9 un +r$ol de e(pansi&n del grafo G. )a eliminaci&n de algn arco de un +r$ol de
e(pansi&n produce un grafo desconectado "ue contiene dos su$+r$oles 9
/
y 9
5.
)os arcos
cuyos puntos de finali%aci&n pertenecen a diferentes su$+r$oles constituyen una
cortadura. Nos referimos a tales cortaduras como cortaduras fundamentales de G con
respecto al +r$ol 9.
Figura 3.12 rbol d #$%ansi&n
1
6
7 5
4 2
3
De$ido a "ue un +r$ol de e(pansi&n contiene n#/ arcos, la red tiene n#/ cortaduras
fundamentales con respecto a algn +r$ol. 'e o$serva "ue cuando a:adimos un arco a la
cortadura fundamental a los dos su$+r$oles 9
/
y 9
5
, o$tenemos un +r$ol de e(pansi&n.
3/. Grafo Bi4ar(ido
Un grafo G=(N,A) es un grafo $ipartito si podemos particionar su conjunto de nodos en
dos su$conjuntos N
/
y N
5
tal "ue para cada arco
) , ( j i
en A*
i) i N
/
y j N
5
o
ii) i N
5
y j N
/
Un grafo G es $ipartido si y solo s3 cada ciclo en G contiene un nmero igual de arcos.
31. Defini)iones 4ara Redes no dirigidas
)as definiciones para redes dirigidas se pueden trasladar 1acia las redes no dirigidas. Un
arco no dirigido
) , ( j i
tiene dos puntos de finali%aci&n i y j, pero la ca$e%a y la cola del
arco no est+n definidos.
'i la red contiene al arco
) , ( j i
, el nodo i es adyacente al nodo j y el nodo j es adyacente al
nodo i. )as listas de nodos y arcos de adyacencia est+n definidas de manera similar, con la
Figura 3.13 Grafo Bi%artido
5
2
3
4
1
diferencia de "ue el arco
) , ( j i
aparece en A(i) y tam$in en A(j). !n consecuencia se
tiene "ue m i A
N i
2 ) ( =
.
!l grado de un nodo es el nmero de nodos adyacentes al nodo i. )os dem+s conceptos
como caminos, rutas, ciclos, cortaduras y +r$oles tienen las mismas definiciones para
redes no dirigidas, pero no e(isten diferencias entre rutas y rutas dirigidas, ciclos y ciclos
dirigidos, y as3 sucesivamente.
32. Re4resen(a)iones de Redes
)a resoluci&n de pro$lemas de redes no solo depende de los algoritmos empleados, sino
tam$in de la forma de representar la red en la computadora y el es"uema de
almacenamiento empleado para guardar y actuali%ar los resultados "ue se vayan
o$teniendo.
!n la representaci&n de una red se necesitan dos clases de informaci&n*
i) )a topolog3a de la red, es decir la estructura de los nodos y arcos.
ii) Datos de inters como costos, capacidades, ofertas, demandas asociadas con los nodos
y los arcos.
A continuaci&n se presentan algunas representaciones.
A. +a(ri$ de In)iden)ia de Nodos " Ar)os
!sta representaci&n almacena la red como una matri% N de n(m, "ue contiene una fila por
cada nodo, y una columna por cada arco. )a columna correspondiente al arco
) , ( j i
tiene
solo dos elementos diferentes de cero, posee un 0/ en la fila correspondiente al nodo i y
un 4/ en la fila correspondiente al nodo j.
!sta matri% tiene una estructura particular. De los m(n elementos de la matri% solo 5m son
diferentes de cero, las "ue toman los valores de 0/ y 4/ en cada columna. !l nmero de
elementos en la fila i#sima iguales a 0/ representa el grado e(terior del nodo i y el nmero
de elementos en tal fila iguales a 4/ representa el grado interior del nodo i.
De$ido a "ue la matri% de incidencia de nodos y arcos contiene pocos elementos
diferentes de cero en relaci&n al nmero total de elementos, esta representaci&n origina
algoritmos poco eficientes.
B. +a(ri$ de Ad"a)en)ia de Nodo a Nodo
!sta representaci&n almacena la red como una matri% <==1
ij
> de n(n. )a matri% posee una
fila y una columna por cada nodo y la i#sima entrada 1
ij
es igual / si el arco
) , ( j i
pertenece al conjunto A, y es igual a cero en otro caso. 'i se pretende almacenar los
costos y las capacidades de los arcos se pueden utili%ar dos matrices adicionales de n(n ,
6 y U.
De los n
5
elementos "ue posee la matri%, solo m son diferentes de cero, cuyo nmero se
de$e al nmero de arcos de la red. ;or lo tanto esta representaci&n es eficiente si la red es
suficientemente densa, para redes esparcidas esta representaci&n desperdicia muc1o
espacio en la matri%.
)a manipulaci&n de esta matri% es muy f+cil. ;ara determinar el costo o la capacidad del
arco
) , ( j i
$asta con u$icar a los elementos situados en la posici&n ij de las matrices 6 y U
respectivamente. 'e puede conocer "u arcos emanan del nodo i o$servando los
elementos iguales a / en la fila i#sima de la matri% <. De manera an+loga se pueden
o$tener los arcos "ue llegan al nodo j e(aminando los elementos de la columna j de la
matri% <, si elemento de la fila i#sima es igual a /, entonces el arco
) , ( j i
pertenece a la
red.
!l tiempo re"uerido para determinar los arcos "ue llegan y salen de un nodo es
proporcional a n. !n conclusi&n para redes densas se podr3a permitir emplear esta
representaci&n, pero para redes dispersas contri$uir3a al mal desenvolvimiento del
algoritmo empleado.
C. 'is(as de Ad"a)en)ia
Anteriormente se defini& a las listas de arcos de Adyacencia A(i) como el conjunto de
arcos "ue emanan del nodo i y las listas de los nodos de adyacencia como el conjunto de
nodos j tal "ue el arco
) , ( j i
pertene%ca al conjunto A.
!sta representaci&n almacena la lista de adyacencia de cada nodo en la estructura de
datos llamada lista enla%ada en una direcci&n. Una lista enla%ada es una colecci&n de
celdas, donde cada celda puede contener uno o m+s campos.
)a lista de adyacencia del nodo i ser+ representada por una
lista enla%ada en una direcci&n, la "ue tendr+ un nmero de celdas igual a la cardinalidad
del conjunto A(i), y cada celda corresponde a un arco
) , ( j i
perteneciente al conjunto A.
!l nmero de campos de la celda "ue 1ace referencia al arco
) , ( j i
, ser+ consistente con
la cantidad de informaci&n "ue se desee almacenar. Un campo almacenar+ al nodo j y los
dem+s pueden ser utili%ados para guardar el costo ij
c
, los l3mites de flujo del arco ij
l
y
ij
u
.
Adem+s cada celda contendr+ un campo adicional en el "ue almacenar+ un puntero 1acia
la siguiente celda en la lista de adyacencia. !s de inters almacenar n listas enla%adas, una
para cada nodo de la red. ;ara lo cual se definir+ un arreglo de punteros de dimensi&n n
llamado donde cada elemento del arreglo apuntar+ a la lista de adyacencia de cada nodo.
!n el caso de "ue el nodo i no tenga una lista de adyacencia, en la posici&n i#sima del
arreglo de punteros se guardar+ un valor nulo.
!n el caso de "ue tanto el arco
) , ( j i
como el arco
) , ( i j
pertene%can a la red y al
modificar informaci&n del arco
) , ( j i
sea necesario modificar informaci&n del arco
) , ( i j
,
es necesario poseer un mecanismo "ue nos permita efectuar esta operaci&n de una forma
eficiente. 6omo am$os arcos est+n presentes en la listas de adyacencia de$emos 1allar la
forma de c&mo enla%ar a am$os arcos.
!sto se logra definiendo un campo adicional en las celdas, al "ue denotaremos como
compa:ero, el "ue contendr+ un puntero. !l campo compa:ero de la celda
correspondiente al arco
) , ( j i
apuntar+ a la celda correspondiente al arco
) , ( i j
y de esta
forma se logra nuestro o$jetivo.
D. Re4resen(a)i9n en Es(re!!a 7a)ia de!an(e " 7a)ia a(r6s.
)a representaci&n en estrella 1acia delante es similar a la representaci&n en listas de
adyacencia en el sentido de "ue de manera similar almacena la lista de adyacencia de cada
nodo. ;ero en lugar de almacenar las listas de adyacencia de cada nodo en listas
enla%adas, las almacena en arreglos.
;ara desarrollar esta representaci&n se numeran los arcos en un orden espec3fico, primero
los arcos "ue emanan del nodo /, luego los "ue emanan del nodo 5 y as3 sucesivamente.
)os arcos "ue emanan del mismo nodo ser+n numerados de forma ar$itraria.
Una ve% numerados los arcos, almacenamos la informaci&n relacionada en los arreglos. 'e
guardar+n las ca$e%as, colas, costos y capacidades de cada arco en los arreglos ca$e%a,
cola, costo y capacidad. 6omo ilustraci&n se tiene "ue si se desea almacenar el arco .#
simo, su ca$e%a, cola, costo y capacidad se guardar+n en los arreglos mencionados en las
posiciones ca$e%a(.), cola(.), costo(.) y capacidad(.).
Adem+s se definir+ un puntero con cada nodo i denotado puntero(i), el "ue se:alar+ al
arco con el menor nmero en la lista de arcos "ue emanan del nodo i. !n el caso de "ue
del nodo i no salgan arcos, a puntero(i) se le asignar+ el #valor almacenado en
puntero(i0/). ;or lo tanto la representaci&n en estrella 1acia delante almacenar+ los
arcos "ue salen del nodo i en las posiciones puntero(i) a (puntero(i0/)#/) en la lista de los
arcos. 'i se da el caso del "ue para el nodo i se tiene "ue puntero(i)? puntero(i0/)#/,
entonces el nodo i no tiene arcos "ue emanen de l. De acuerdo con esto se tendr+ "ue
puntero(/)=/ y puntero(n0/)=m0/.
!sta representaci&n provee un medio eficiente para determinar el conjunto de nodos "ue
emanan del nodo i. ;ero para determinar el conjunto de nodos "ue llegan al nodo i es
necesario definir una estructura adicional, llamada representaci&n en estrella 1acia atr+s.
A partir de la representaci&n en estrella 1acia delante se e(aminan cada uno de los n
nodos y se almacenan las capacidades, ca$e%as, colas y costos los arcos "ue llegan a cada
nodo en los arreglos rca$e%a, rcola, rcosto y rcapacidad. ;ara cada nodo i, se definir+ un
puntero llamado rpuntero(i), el "ue contendr+ la posici&n de las informaci&n del primer
arco "ue llega al nodo i.
De manera igual al caso anterior, si no e(isten arcos "ue lleguen al nodo i, se asignar+ a
rpuntero(i) la posici&n contenida en rpuntero(i0/). As3 mismo se tendr+ "ue rpuntero/)=/
y rpuntero(n )=m. 6omo en el caso de la representaci&n en estrella 1acia delante, la
informaci&n de los arcos "ue llegan al nodo i estar+ situada desde la posici&n rpuntero(i)
1asta (rpuntero(i0/)#/).
'e o$serva "ue al emplear la representaci&n en estrella 1acia delante y 1acia atr+s, se
producir3a una duplicaci&n de informaci&n, ya "ue se tendr3an oc1o arreglos, uno para los
costos de los arcos en la representaci&n 1acia delante y un segundo arreglo para la
representaci&n 1acia atr+s, un arreglo para las capacidades en la representaci&n 1acia
delante y otro para la representaci&n 1acia atr+s, y as3 sucesivamente.
!ste pro$lema se puede resolver empleando solo los arreglos ca$e%a, cola, costo y
capacidad, definiendo otro arreglo llamado tra%o. @ para cada nodo i se tiene "ue
rpuntero(i) contendr+ proporcionar+ la u$icaci&n en el arreglo tra%o en la "ue se almacena
la posici&n del primer arco en los cuatro arreglos mencionados, de todos los arcos "ue
llegan al nodo i.
E. Re4resen(a)i9n de Redes No Dirigidas
)as estructuras mencionadas se pueden utili%ar para representar este tipo de redes, pero
se de$e considerar "ue si el arco
) , ( j i
pertenece a la red es necesario incluir a
) , ( j i
y a
) , ( i j
en las estructuras.
33. Transfor0a)iones de Redes
!n ocasiones es necesario mostrar la e"uivalencia entre diferentes pro$lemas de flujo en
redes o formular el pro$lema de tal forma "ue se lo pueda representar en algn c&digo de
computadora. A continuaci&n se presentan las transformaciones para pro$lemas de flujo
de costo m3nimo, las "ue tam$in se pueden aplicar a casos especiales de este pro$lema
tales como, pro$lema del camino m+s corto, flujo m+(imo y pro$lemas de asignaci&n.
A. Ar)os no Dirigidos a Ar)os Dirigidos
Algunos pro$lemas de flujo de costo m3nimo contienen arcos no dirigidos. Un arco
) , ( j i
de este tipo permite el flujo del nodo i al nodo j y tam$in del nodo j al nodo i. ;or cada
unidad de flujo se incurre en un costo ij
c
y la cantidad total de flujo, es decir desde el
nodo i al nodo j m+s el flujo del nodo j al nodo i, tiene un l3mite superior ij
u
. ;or lo "ue el
modelo de la red no dirigida tiene la restricci&n* ij ji ij
u x x +
y el trmino ij ji ji ij ij
u x c x c +
est+ presente en la funci&n o$jetivo a minimi%ar.
De$ido a "ue ij
c
es mayor o igual a cero, se tiene "ue en alguna soluci&n &ptima uno de
los flujos, ij
x
y ji
x
tendr+ un valor de cero. 9ales soluciones se denominar+n no
traslapadas. Denotaremos a los arcos no dirigidos
) , ( j i
como
} , { j i
.
Asumiremos "ue el flujo en los arcos en cada direcci&n del arco
} , { j i
tiene como l3mite
inferior el valor de cero. !sta transformaci&n no es v+lida si la cantidad m3nima de flujo
"ue puede pasar por un arco es diferente de cero o si el costo asociado al arco, ij
c
es
negativo.
6on la finalidad de transformar una red no dirigida en una dirigida, se reempla%a cada arco
no dirigido
} , { j i
por dos arcos dirigidos,
) , ( j i
y
) , ( i j
, am$os con un costo ij
c
y una
capacidad ij
u
. ;ara esta$lecer la e(actitud de esta transformaci&n, se tiene "ue cada flujo
no traslapado en la red original tiene asociado un flujo en la red transformada con el
mismo costo y viceversa. 'i el arco no dirigido
} , { j i
traslada A unidades de flujo desde el
nodo i al nodo j, en la red transformada se da
=
ij
x
y
0 =
ji
x
. 'i el arco no dirigido
traslada A unidades de flujo del nodo j al nodo i, se tendr3a
0 =
ij
x
y
=
ji
x
.
Bnversamente, si ij
x
y ji
x
son los flujos de los arcos
(i,j)
y
) , ( i j
en la red dirigida,
ji ij
x x
o ij ji
x x
es el flujo asociado del arco
} , { j i
, ser+ el "ue sea positivo. 'i ji ij
x x
es positivo, tal cantidad ser+ el flujo del nodo i al nodo j "ue pasa por el arco
} , { j i
. 6aso
contrario, si ij ji
x x
es positivo, sta ser+ la cantidad de flujo desde el nodo j al nodo i "ue
se traslada por el arco
} , { j i
. !n los dos casos anteriores el flujo en la direcci&n opuesta
es igual a cero. 'i se da "ue ji ij
x x
es igual a cero, entonces el flujo asociado al arco
} , { j i
es igual a cero.
B. Re0o2iendo '10i(es Inferiores de F!,:o Diferen(es de Cero
'i un arco
) , ( j i
tiene un l3mite inferior de capacidad de flujo ij
l
diferente de cero, el flujo
de tal arco ij
x
ser+ reempla%ado por
ij ij
l x +
'
. ;or lo "ue la restricci&n de flujo* ij ij ij
u x l
se convierte en*
ij ij
ij
ij
u l x l +
'
o
ij ij
ij l u x
'
0
Al llevar a ca$o esta sustituci&n, en la restricci&n de $alance, se decrementa
) (i b
en ij
l
unidades y se incrementa
) ( j b
en ij
l
unidades. !sta sustituci&n altera a la funci&n
o$jetivo, incluyendo un trmino constante "ue puede ser ignorado al momento de resolver
el pro$lema. !ste cam$io se ilustra a ontinuaci&n
Cunci&n o$jetivo inicial* ,inimi%ar
A j i
ij ij
x c
) , (
Cunci&n o$jetivo luego de la transformaci&n* ,inimi%ar
+
A j i
ij ij
A j i
ij
ij
l c x c
) , ( ) , (
'
C. In2ersi9n de Ar)os
!sta transformaci&n es empleada para remover arcos con costo negativo. Denotemos por
ij
u
a la capacidad del arco
) , ( j i
. )a inversi&n de arcos reempla%a la varia$le ij
x
por
ij ij
x u
. ;or lo "ue se reempla%a el arco
) , ( j i
, el cual tiene un costo asociado ij
c
, por el
arco
) , ( i j
con un costo asociado ij
c
.
!n esta transformaci&n se env3an ij
u
unidades de flujo so$re el arco, lo cual disminuye
) (i b
en ij
u
unidades e incrementa
) ( j b
por ij
u
unidades y se reempla%a el arco
) , ( j i
por el arco
) , ( i j
con costo ij
c
. !l nuevo flujo ji
x
mide la cantidad de flujo "ue
removemos de la capacidad m+(ima de flujo de ij
u
.
Figura 3.14 'moci&n d l(mits infriors
i )
*C i) + , i) -
b*i- b*)-
. i)
i )
./ i)
b*)- 0 l i)
b*i-1l i)
*C i) + , i) 1 l i) -
D. Re0o2iendo !as Ca4a)idades de !os Ar)os
'i un arco
) , ( j i
tiene una capacidad positiva ij
u
, sta se puede remover creando arcos
sin l3mite de capacidad. !sto se logra introduciendo un nodo adicional, de modo "ue la
restricci&n de capacidad so$re el arco se convierta en la restricci&n de $alance de masa
del nuevo nodo ..
Bntrodu%camos una varia$le au(iliar
0
ij
s
, con la cual convertimos a la restricci&n de
capacidad del arco
) , ( j i
, ij ij
u x
, en la igualdad ij ij ij
u s x = +
. )uego multiplicamos a
am$os lados de la restricci&n por 4/, por lo "ue nos "ueda*
ij ij ij
u s x =
!sta ecuaci&n pasa a ser la restricci&n de $alance de masa de un nodo adicional .. 'e
o$serva "ue la varia$le de flujo ij
x
aparece en tres restricciones de $alance de masa, la
del nodo i, del nodo j y en la del nuevo nodo ..
'i se resta la nueva restricci&n de la restricci&n de $alance del nodo j, en la "ue la varia$le
de flujo ij
x
posee un signo negativo, se logra "ue tanto ij
x
y ij
s
apare%can en solo dos
restricciones. !n una con signo negativo y en otra con signo positivo.
Al reali%ar esta operaci&n, la restricci&n de $alance del nodo j tendr3a la siguiente forma*
ij
A j l l
lj
A l j l
ij jl
u j b x s x + = +
) (
) , ( : ) , ( :
!n donde la primera sumatoria del miem$ro i%"uierdo de la restricci&n ya no contiene a
ij
x
. 'i ij
x
es el flujo del arco
) , ( j i
en la red original, el flujo correspondiente en la red
transformada es ij ik
x x =
'
y ij ij jk
x u x =
'
. Am$os flujos tienen el mismo costo. Adem+s se
tiene "ue
ij jk ik
u x x = +
' '
con
'
ik
x y
'
jk
x
no negativos, entonces
ij ik ij
u x x =
'
. ;or lo "ue el
flujo ij
x
satisface la restricci&n de capacidad del arco.
Figura 3.16 'moci&n d ca%acidads d los
arcos
i )
*C i) + , i) -
b*i- b*)-
. i)
i ) 2
3 i) . i)
b*i- 1, i)
*C i) + - 8*4 + - 8
Figura 3.15 5n6rsi&n n 7rcos
i )
*C i) + , i) -
b*i- b*)-
. i)
i )
. i)
b*)- 0 , i) b*i-1,i)
E. S,#di2isi9n o fra))iona0ien(o de nodos
!n este proceso se divide a cada nodo i, en dos nodos i
-
e i
--
correspondientes a las
funciones de entrada y de salida del nodo. 6ada arco
) , ( j i
es reempla%ado por un arco
) , (
' ' '
i i
con el mismo costo y capacidad. 9am$in se a:ade un arco
) , (
' ' '
i i
de costo
asociado cero y con una capacidad infinita para cada i.
!l lado de ingreso al nodo i, es decir el nodo i
--
, reci$e el flujo de entrada de todos los
nodos dirigidos 1acia el nodo i. De forma an+loga el lado de salida del nodo i, es decir el
nodo i
-
, env3a el flujo de salida 1acia todos los nodos a los "ue se dirigen los arcos "ue
emanan del nodo i.
)a oferta y la demanda de los nodos en la red transformada se enmarca dentro de los
siguientes casos*
/.# 'i
0 ) ( > i b
, entonces
) ( ) (
' '
i b i b =
y
0 ) ' ( = i b
5.# 'i
0 ) ( < i b
, entonces
0 ) ' ' ( = i b
y
) ( ) (
'
i b i b =
D.# 'i
0 ) ( = i b
, entonces
0 ) ( ) (
' ' '
= = i b i b
F. Cos(os Red,)idos
'upongamos "ue con cada nodo i N se asocia un nmero
=(
(/),
(5),... ,
ij
c
de un arco como*
) ( ) ( j i c c
ij ij
+ =
!n muc1os algoritmos se tra$aja con los costos reducidos en lugar de los costos originales.
!s de inters anali%ar la relaci&n entre las funciones o$jetivos*
=
A j i
ij ij
x c z
) , (
) (
=
A j i
ij ij
x c z
) , (
) 0 (
;ara el nodo . asumamos un valor inicial de
=E el "ue se incrementar+ a
) (k
. De
acuerdo a la definici&n de costo reducido, este cam$io implica una reducci&n del costo
reducido de cada unidad de flujo "ue sale del nodo . en
) (k
unidades y un incremento
del costo reducido por cada unidad de flujo "ue ingresa al nodo . en
) (k
unidades. ;or
lo "ue el total decrementado en la funci&n o$jetivo es igual a
) (k
veces el flujo de salida
del nodo . menos el flujo de entrada al nodo ..
De$ido a "ue la diferencia entre el flujo de salida del nodo . y el flujo de entrada a dic1o
nodo est+ definida como
) (k b
, y repitiendo este ra%onamiento para cada nodo se cumple
lo siguiente*
=
N i
i b i z z ) ( ) ( ) ( ) 0 (
;ara una funci&n potencial dada esta diferencia es una constante. !n conclusi&n un flujo
"ue minimice
) 0 ( z
, tam$in minimi%ar+
) ( z
.
G. Redes Resid,a!es
!n el dise:o, desarrollo e implementaci&n de algoritmo de flujo en redes es conveniente
no medir el flujo en trminos a$solutos, mas $ien en trminos de flujo incremental
alrededor de alguna soluci&n facti$le dada. !sto nos conduce a la definici&n de las redes
residuales, "ue funcionan como redes de flujo restante.
!(iste una e"uivalencia entre la formulaci&n de redes residuales, en el sentido de "ue 1ay
una correspondencia uno a uno entre las soluciones facti$les de los dos pro$lemas.
'upongamos "ue el arco
) , ( j i
traslada
0
ij
x
unidades de flujo. ;or lo "ue se pueden
enviar
0
ij ij
x u
unidades adicionales de flujo desde el nodo i al nodo j a lo largo del arco
) , ( j i
. 9am$in se pueden enviar
0
ij
x
unidades de flujo desde el nodo j 1asta el nodo i
so$re el arco
) , ( j i
, tal cantidad cancela el flujo e(istente so$re el arco. 'e de$e
considerar "ue enviar unidad de flujo del nodo i al nodo j so$re el arco
) , ( j i
incrementa
el costo en ij
c
unidades, as3 mismo el env3o de flujo desde el nodo j al nodo i decrementa
el costo de flujo en ij
c
.
;ara definir la red residual se reempla%a cada arco
) , ( j i
por dos arcos
) , ( j i
y
) , ( i j
. !l
arco
) , ( j i
tiene un costo ij
c
y una capacidad residual
0
ij ij ij
x u r =
y el arco
) , ( i j
tiene
un costo ij
c
y una capacidad residual de
0
ij ij
x r =
. )a red residual la conforman solo los
arcos con una capacidad residual positiva. )a red residual correspondiente al flujo (
E
ser+
denotada por G((
E
).
!(isten dificultades con la notaci&n de redes residuales. ;ara algn par de nodos i#j, la red
G contiene dos arcos
) , ( j i
y
) , ( i j
. )a red residual contendr3a dos arcos paralelos,
desde el nodo i al nodo j con costos y capacidades residuales diferentes.
!s posi$le superar esta dificultad asumiendo "ue para algn par de nodos i y j, la red G no
contiene a am$os arcos
) , ( j i
y
) , ( i j
por lo "ue G no contendr+ arcos paralelos.
!sta suposici&n notacional no provoca una prdida de generalidad por parte del modelo.
'in em$argo no es necesario llevar a ca$o esta transformaci&n por"ue e(iste una forma de
representar a una red con arcos paralelos.
A continuaci&n se mostrar+ "ue cada flujo ( en la red G corresponde a un flujo (- en la red
residual G((
E
). !l flujo 0
'
x se define como sigue.
0 ' '
ij ij ji ij
x x x x =
y
0
' '
=
ji ij
x x
)a ltima restricci&n indica "ue los dos flujos correspondientes no pueden ser positivos a
la ve%. 'i
0
ij ij
x x
, definiremos
) (
0 '
ij ij ij
x x x =
y
0
0
=
ji
x
. 'e o$serva "ue si ij ij
u x
,
entonces ij ij ij ij
r x u x =
0 '
. Adem+s
'
ij
x
satisface las restricciones de l3mite de flujo.
De forma similar, si
0
ij ij
x x <
, definiremos
) (
0 '
ij ij ji
x x x =
y
0
'
=
ij
x
. 9am$in se cumple "ue
ji ij ji
r x x =
0 '
0
, de lo cual se concluye "ue
'
ji
x
tam$in satisface las restricciones de
l3mite de flujo. )o anterior indica "ue si
x
es un flujo facti$le en G, el flujo
correspondiente
'
x es un flujo facti$le en G((
E
).
)o "ue falta es esta$lecer una relaci&n entre el costo del flujo s en G y el costo
correspondiente del flujo
'
x en G((
E
). 'ea
'
c el costo de los arcos en la red residual.
!ntonces para cada arco
) , ( j i
perteneciente a A, ij ij
c c =
'
y ij ji
c c =
'
. ;ara un flujo ij
x
i ) i )
Figura 3.17 Construcci&n d una
'd 'sidual
*C i) + , i) -
*C i) + , i) 1 . i) -
*C i) + . i) -
o
o
so$re el arco
) , ( j i
en la red original G, el costo del flujo del par de arcos
) , ( j i
y
) , ( i j
en
la red residual G((
E
) es
0 ' ' ' ' ' ' '
) (
ij ij ij ji ij ij ji ji ij ij
c x c x x c x c x c = + = +
.
;or lo "ue se tiene la igualdad.
0 ' '
cx cx x c =
De forma an+loga si
'
x es un flujo facti$le en la red residual G((
E
), la soluci&n dada por
0 ' '
) (
ij ji ij ij
x x x x + =
es un flujo facti$le en G. Adem+s los costos de esos dos flujos est+n
relacionados por la igualdad*
0 ' '
cx x c cx + =