Está en la página 1de 39

CAPTULO 4

4. ALGORITMO DE FLUJO DE COSTO MNIMO


4.1. Planteamiento del Po!lema de Fl"#o de Co$to M%nimo
Sea G=(N,A) una red dirigida con un costo ij
c
y una capacidad
ij
u
asociada con cada arco
) , ( j i
A. El problema que se
plantea es:
Minimiar

) ) , ( : ( A j i j
ij ij
x c
su!eto a
A j i u x l
N i i b x x
ij ij ij
A i j j
ij
A j i j
ij




) , (
); (
) ) , ( : ( ) ) , ( : (
Se representar" con # la mayor magnitud de los costos asociados
a los arcos y con $ la mayor magnitud de la demanda u o%erta de
alg&n arco o a la capacidad %inita de dic'o arco.
()(
Se supondr" que el l*mite in%erior de capacidad de cada arco
) , ( j i
, ij
l
es cero. Adem"s se 'ar"n las siguientes suposiciones:
(.+,odos los costos, o%ertas, demandas y capacidades de los arcos
son enteros.
-.+.a red es dirigida
/.+.as o%ertas y las demandas de los nodos satis%acen la condici0n

N i
i b 0 ) (
y el problema de %lu!o de costo m*nimo posee una
soluci0n %actible
1.+ Supondremos que la red posee una ruta con una capacidad
ilimitada entre cada par de nodos de los arcos que la componen.
2.+,odos los costos de los arcos son no negati3os.
.os algoritmos a ser analiados emplean el concepto de redes
residuales. En tales redes se 'a reemplaado cada arco
) , ( j i

por dos arcos
) , ( j i
y
) , ( i j
. El arco
) , ( j i
posee un costo ij
c
y
una capacidad residual ij ij ij
x u r
, y el arco
) , ( i j
tiene un costo
ji ij
c c
y una capacidad residual ij ij
x r
. .a red residual est"
compuesta de los arcos que posean una capacidad residual
positi3a.
()-
4.&. Al'oitmo de De$(om)o$i(i*n de Fl"#o
En la %ormulaci0n de problemas de %lu!o en redes e4isten dos
%ormas de de%inir el %lu!o, la primera es de%iniendo el %lu!o sobre los
arcos y la segunda de%iniendo el %lu!o sobre rutas y ciclos.
5ara analiar la de%inici0n de %lu!o sobre arcos, empleamos el
3ector
} {
ij
x x
que satis%ace las siguientes restricciones:
A j i u x
N i i e x x
ij ij
A i j j
ij
A j i j
ij




) , ( 0
); (
) ) , ( : ( ) ) , ( : (
donde,

n
i
i e
1
0 ) (
Se obser3a que en este modelo 'emos reemplaado la
o%erta6demanda
) (i b
, por el t7rmino
) (i e
, al que
denominaremos como el desequilibrio del nodo i. Este t7rmino
representa la di%erencia entre el %lu!o que llega al nodo i y el %lu!o
que sale del nodo. 5or lo tanto si
0 ) ( > i e
, se dice que i es un
nodo de e4ceso. #aso contrario, si
0 ) ( < i e
diremos que i es un
nodo de d7%icit. Si
0 ) ( i e
a%irmaremos que i es un nodo
()/
balanceado. .a %ormulaci0n del problema sobre %lu!os en rutas y
ciclos, comiena con la enumeraci0n de todas las rutas dirigidas 5,
entre alg&n par de nodos y de todos los ciclos dirigidos en la red.
Al con!unto de todas las 5, lo denotaremos con 5 y al con!unto de
todos los ciclos 8 con 8. .as 3ariables de decisi0n en esta
%ormulaci0n son el %lu!o sobre la ruta 5, %(5) y el %lu!o sobre el ciclo
8 %(8). Estas 3ariables est"n de%inidas para todos los elementos
de 5 y 8.
El %lu!o ij
x
sobre el arco
) , ( j i
, es igual a la suma de los %lu!o %(5)
y %(9) de todos las rutas y ciclos que contienen al arco
) , ( j i
. :e
manera %ormal de%iniremos a ;
i!
(5) igual a ( si la ruta 5 contiene al
arco
) , ( j i
y ) sino lo contiene, y a ;
i!
(8) igual a ( si el ciclo 8
contiene al arco
) , ( j i
y ) sino lo contiene. 5or lo tanto:


+
W w
ij
P p
ij ij
W f W P f P x ) ( ) ( ) ( ) (
En relaci0n a este raonamiento se establece el siguiente teorema:
4.&.1. Teoema de De$(om)o$i(i*n de Fl"#o
#ada %lu!o en una ruta y en un ciclo tiene una &nica
()1
representaci0n como %lu!o no negati3o sobre un arco.
<n3ersamente cada %lu!o no negati3o
x
puede ser representado
como un %lu!o sobre una ruta y un ciclo, aunque no
necesariamente de manera &nica, con las siguientes
propiedades:
a) #ada ruta dirigida con %lu!o positi3o conecta un nodo de
d7%icit con un nodo de e4ceso.
b) Siendo n el n&mero de nodos de una red y m el n&mero
de arcos, a lo sumo n=m rutas y ciclos tiene un %lu!o no
nulo, de tal cantidad, a lo sumo m ciclos tienen %lu!o no
nulo.
4.&.1.1. P"e!a
.a demostraci0n consistir" en una prueba algor*tmica de c0mo
descomponer un %lu!o
x
sobre arcos en %lu!o sobre rutas y
ciclos. 5ara lo cual supongamos la e4istencia de un arco
) , (
1 0
i i
que lle3a una cantidad de %lu!o positi3a desde un nodo
de d7%icit i
)
, 'acia otro nodo i
(
. Nos detenemos si i
(
es un nodo
de e4ceso, caso contrario e4iste otro arco
) , (
2 1
i i
con un %lu!o
positi3o. Este proceso es repetido 'asta que encontremos un
()2
nodo de e4ceso i
>
, o 'asta que 3isitemos el nodo de partida,
por lo que este paso se repetir" a lo sumo en n ocasiones. En
el primer caso 'abremos encontrado una ruta 5, y en el
segundo un ciclo dirigido 8.
En ambos casos, la ruta 5 y el ciclo 8 se componen de arcos
con %lu!o positi3o. En la situaci0n de que 'ayamos encontrado
una ruta 5, de%iniremos al %lu!o %(5) de la siguiente manera:
}} ) , ( : min{ ), ( ), ( min{ ) (
0
P j i x i e i e P f
ij k

y rede%iniremos,
P j i P f x x
P f i e i e
P f i e i e
ij ij
k k


+
) , ( ) (
) ( ) ( ) (
) ( ) ( ) (
0 0
Si 'ubi7semos obtenido un ciclo dirigido 8, de%iniremos al %lu!o
8 de la siguiente %orma:
} ) , ( : min{ ) ( W j i x W f
ij

y cambiando la 3ariable:
W j i W f x x
ij ij
) , ( ) (
()?
Este proceso ser" repetido 'asta que los desequilibrios de
cada nodo sean igual a cero. .uego se selecciona un nodo,
del que por lo menos emane un arco con %lu!o positi3o, como el
nodo de partida y repetimos el proceso, el cual en este caso
debe encontrar un %lu!o positi3o. Este proceso termina cuando
el %lu!o
x
es igual a cero para el problema rede%inido. Se
obser3a que el %lu!o original es la suma de los %lu!os
identi%icados sobre las rutas y ciclos por este m7todo. En cada
ocasi0n en que se identi%ica una se reduce el e4ceso o el
d7%icit de un nodo a cero, y cada 3e que se identi%ica el %lu!o
sobre una ruta dirigida se reduce el %lu!o sobre alg&n arco a
cero. #omo consecuencia se tiene que la representaci0n en
base a rutas y ciclos de un %lu!o positi3o
x
, contiene a lo sumo
m=n rutas y ciclos dirigidos, de los cuales a lo sumo m son
ciclos dirigidos.
:ada una circulaci0n
x
, para la cual
0 ) ( i e
para cada i N.
Al aplicar el algoritmo de descomposici0n de %lu!o a una
circulaci0n
x
, cada iteraci0n descubre un ciclo dirigido
consistiendo solamente de arcos con %lu!o positi3o y
subsecuentemente reduce el %lu!o de por lo menos un arco a
()@
cero. 5or lo que una circulaci0n se descompone en %lu!os entre
a lo sumo m ciclos dirigidos. :ebido a esto se enuncia la
siguiente propiedad.
4.&.&. Po)iedad de la Ci("la(i*n
$na circulaci0n
x
puede ser representada %lu!o sobre ciclos
en a lo sumo m ciclos dirigidos.
El teorema de descomposici0n de %lu!o nos permite
comparar dos soluciones de %lu!o en una red, nos permite
construir una soluci0n a partir de otra mediante una
secuencia de operaciones simples. A continuaci0n se
presenta la %orma de c0mo se establece un teorema
importante denominado ,eorema del ciclo Aumentado.
5ara ello se introduce el concepto de ciclo aumentado con
respecto a un %lu!o
x
.
4.&.+. Ci(lo A"mentado
$n ciclo 8, no necesariamente dirigido, es llamado un
ciclo aumentado con respecto a un %lu!o
x
, si aumentando
una cantidad positi3a e %lu!o %(8) en torno al ciclo, el %lu!o
()A
permanece %actible. ,al operaci0n incrementa el %lu!o de
los arcos dirigidos 'acia delante, y decrementa el %lu!o de
los arcos dirigidos 'acia atr"s. 5or lo tanto 8 es un ciclo
aumentado en G si ij ij
u x <
para cada arco
) , ( j i
'acia
delante y
0 >
ij
x
para cada arco 'acia atr"s. :e%iniremos a
;
i!
(8) igual a ( si el arco
) , ( j i
es un arco 'acia delante y
;
i!
(8) ser" igual a B( si el arco
) , ( j i
es un arco 'acia
atr"s, y ) en otro caso.
El costo sobre el ciclo aumentado 8 3iene de%inido como:

W j i
ij ij
W c W c
) , (
) ( ) (
El cambio en el costo del %lu!o por aumentar %(8) unidades
de %lu!o es %(8)c(8). El teorema de descomposici0n de %lu!o
ser" empleado para enunciar otro teorema acerca de los
ciclos aumentados en t7rminos de residuales. 5ara lo cual
supongamos que
x
y
0
x son dos soluciones %actibles del
problema de %lu!o de costo m*nimo.
:e acuerdo a las redes residuales se tiene que para alguna
()C
circulaci0n %actible
I
x

en G(4
l
) satis%ace la propiedad de
que
I
x x x +
0
. Adem"s es posible representar a la
circulaci0n 4
l
como %lu!os sobre ciclos
) ( ),..., ( ), ( ), (
3 2 1 r
W f W f W f W f
con m r . Adem"s se
tiene que:


+
) ( ) , ( ) , (
0
) , (
*
x G j i
l
ij ij
A j i
ij ij ij
A j i
ij
x c x c x c


1
]
1

+
) ( ) , (
1 ) , (
0
*
) ( ) (
x G j i
r
k
k k ij ij
A j i
ij ij
W f W c x c


+
r
k
k k
A j i
ij ij
W f W c x c
1 ) , (
0
) ( ) (
5or lo que se 'a establecido el siguiente resultado:
4.&.4. Teoema del Ci(lo A"mentado
Suponga que
x
y que
0
x son dos soluciones %actibles de
un problema de %lu!o en una red. Entonces
x
equi3ale a
0
x m"s el %lu!o sobre a lo sumo m ciclos dirigidos en G(4
)
).
Adem"s, el costo de
x
equi3ale el costo de
0
x m"s el
costo de %lu!o sobre esos ciclos aumentados.
4.+. Condi(ione$ de O)timi,a(i*n
(()
:ado un nodo %uente s y para cada nodo !N, de%inamos a
) ( j d
, con ! s, como la longitud de la ruta m"s corta desde el
nodo s al nodo !. 5or lo que para cada arco
) , ( j i
se debe
satis%acer la siguiente desigualdad:
ij
c i d j d + ) ( ) (

Esta condici0n nos pro3ee de un medio para 3eri%icar si una
ruta es la de menor longitud desde un nodo %uente s 'acia
otros nodos. A continuaci0n presentamos dos condiciones de
optimiaci0n equi3alentes para el problema de %lu!o de costo
m*nimo.
4.+.1. Condi(ione$ de O)timi,a(i*n de Ci(lo Ne'ati-o
Esta condici0n pro3iene de las propiedades del teorema de
descomposici0n de %lu!o en redes y de la redes residuales.
.a condici0n de optimiaci0n de ciclo negati3o 3iene dada
por el siguiente teorema:
(((
4.+.1.1. Teoema de Condi(ione$ de O)timi,a(i*n de Ci(lo
Ne'ati-o
$na soluci0n %actible
* x
es una soluci0n 0ptima del
problema de %lu!o de costo m*nimo, s* solo s* satis%ace las
condiciones de optimiaci0n de ciclo negati3o, es decir la
red residual G(4
D
) contiene ciclos dirigidos con costos no
negati3os.
4.+.1.1.1. P"e!a.
Asumamos que
x
es un %lu!o %actible y que G(4)
contiene un ciclo negati3o. Si sucede esto
x
no puede
ser una soluci0n 0ptima, debido a que si aumentamos
una cantidad positi3a de %lu!o en el ciclo, lo que logramos
es me!orar el 3alor de la %unci0n ob!eti3o. :ebido a esto
si
* x
es una soluci0n 0ptima se debe cumplir que G(4
D
)
no contenga ciclos negati3os.
A'ora supongamos que
* x
es un %lu!o %actible y que
G(4
D
) contiene ciclos no negati3os. Adem"s de%inamos a
0
x como un %lu!o 0ptimo. :e acuerdo a la propiedad de
((-
ciclo aumentado es posible descomponer el 3ector
di%erencia
*
0
x x
en a lo sumo m ciclos aumentados
con respecto al %lu!o
* x
, la suma de costos de esos
ciclos es igual
*
0
cx cx
, como la longitud de todos los
ciclos en G(4
D
) son no negati3os se tiene que esta
di%erencia de costos es mayor o igual a cero o en %orma
equi3alente se tendr*a:
* 0
cx cx
:ebido a que
0
x es un %lu!o 0ptimo se cumple que,
* 0
cx cx
5or lo que se concluye que
* 0
cx cx y
* x
es tambi7n
una soluci0n 0ptima. Einalmente este argumento
muestra que si G(4
D
) contiene ciclos no negati3os
entonces
* x
debe ser una soluci0n 0ptima.
4.+.&. Condi(i*n de O)timi,a(i*n de Co$to Red"(ido
((/
.a condici0n de optimiaci0n antes descrita se la puede
escribir de la siguiente manera:
0 ) ( ) ( + j d i d c c
ij
d
ij
para todos los arcos
) , ( j i
A
d
ij
c
es un costo reducido 0ptimo para el arco
) , ( j i
en
el
sentido que mide los costos del arco relati3o a las distancias
) (i d
y
) ( j d
. Se obser3a que los costos reducidos de
cada arco son no negati3os.
El costo reducido es igual a cero si el arco
) , ( j i
%orma
parte de la ruta de menor longitud desde el nodo s al nodo !.
5or lo que si se conocen las distancias m"s cortas
) ( j d
, la
ruta de m*nimo costo estar" con%ormada por los arcos con
costo reducido igual a cero. 5ero %alta 3eri%icar si esta
condici0n es aplicable a los problemas m"s generales de
%lu!o de costo m*nimo.
Supongamos que se asocia un n&mero real
) (i
, sin
restricci0n de signo, con cada nodo i N. A dic'o nodo lo
((1
denominaremos el potencial del nodo i. Se de%inir" al costo
reducido del arco
) , ( j i
como:
) ( ) ( j i c c
ij ij

+
Este costo es aplicable a las redes residuales y a red
original. .os costos en las redes residuales se de%inir"n
empleando

ij
c
en lugar de ij
c
. A continuaci0n se
presentan dos propiedades importantes de los costos
reducidos.
4.+.&.1. Po)iedad
a) 5ara alguna ruta dirigida 5, desde el nodo > al nodo l,
se tiene que:

) ( ) (
) , ( ) , (
l k c c
P j i
ij
P j i
ij

+


b) 5ara alg&n ciclo dirigido 8,

P j i
ij
P j i
ij
c c
) , ( ) , (

En base a estas propiedades es posible obtener una %orma


alternati3a de la condici0n de optimiaci0n de ciclo
negati3o.
((2
$na soluci0n %actible
* x
es una soluci0n 0ptima del
problema de %lu!o de costo m*nimo s* solo s* alg&n con!unto
de nodos potenciales

satis%ace las siguientes


condiciones de optimiaci0n de costo reducido:
0

ij
c
para cada arco
) , ( j i
en G(4
D
)
4.+.&.1.1. P"e!a
Supongamos que una soluci0n
* x
satis%ace las
condiciones mencionadas. 5or lo tanto
0
) , (

W j i
ij
c


para cada ciclo dirigido 8 en G(4
D
). :ebido a las
propiedades anteriores se cumple que:
0
) , ( ) , (


W j i
ij
W j i
ij
c c

de esta %orma se comprueba que G(4


D
) contiene ciclos no
negati3os.
((?
5ara demostrar lo in3erso, supondremos que para la
soluci0n
* x
, G(4
D
) contiene ciclos no negati3os.
Supongamos que
(.) d
las distancias de las rutas m"s
cortas, desde el nodo l 'acia los dem"s nodos en G(4
D
).
Fay que tomar en cuenta que si la red contiene ciclos no
negati3os, las distancias
(.) d
est"n bien de%inidas y
satis%acen las condiciones ij
c i d j d + ) ( ) (
para cada
arco
) , ( j i
en G(GD) . Estas desigualdades se pueden
escribir como
0 )) ( ( )) ( ( + j d i d c
ij o
0

ij
c
, si es
que se de%ine d . 5or lo que la soluci0n
* x

satis%ace las condiciones de optimiaci0n de costo
reducido.
.as condiciones de optimiaci0n de costo reducido
tienen una interesante interpretaci0n econ0mica.
Supongamos que se interpreta a ij
c
como el costo de
transportar una unidad de un art*culo desde el nodo i al
nodo ! a tra37s del arco
) , ( j i
. A
) ( ) ( i i
se lo
((@
interpretar" como el costo de obtener una unidad del
art*culo en el nodo i.
:e acuerdo a esto se tiene que
) (i c
ij
+
es el costo del
art*culo en el nodo !, si se lo obtiene en el nodo i y se lo
transporta al nodo !. .a condici0n de optimiaci0n de
costo reducido,
0 ) ( ) ( + j i c
ij

o de %orma
equi3alente
) ( ) ( i c j
ij
+
, establece que el costo de
obtener el art*culo en el nodo !, no es mayor que si
obtu3i7ramos el art*culo en el nodo i y lo transport"ramos
del nodo i al nodo !. El costo en el nodo ! podr*a ser m"s
pequeHo que
) (i c
ij
+
debido a que es posible que
e4ista otra %orma de transportar un art*culo del nodo i al
nodo ! a tra37s de otros nodos.
4.+.+. Condi(ione$ de O)timi,a(i*n Com)lementaia$
A continuaci0n se presenta una condici0n de optimiaci0n
en t7rminos de la red original.
4.+.+.1. Teoema de Condi(ione$ de O)timi,a(i*n
Com)lementaia$
((A
$na soluci0n %actible 4D es una 0ptima soluci0n del
problema de %lu!o de costo m*nimo s* solo s* para un
con!unto de nodos potenciales

, los costos reducidos y


los 3alores de los %lu!os satis%acen las siguientes
condiciones de optimiaci0n para cada arco
) , ( j i
A:
(.+ Si
0 >

ij
c
, entonces
0

ij
x
-.+ Si ij ij
u x < <

0
, entonces
0

ij
c
/.+ Si
0 <

ij
c
, ij ij
u x

4.+.+.1.1. P"e!a
En la prueba se demostrar" que las condiciones
anteriores son equi3alentes a las condiciones de
optimiaci0n de costo reducido.
5ara establecer este resultado probaremos que si los
potenciales de los nodos

y el 3ector de %lu!o
x

satis%acen las condiciones de optimiaci0n de costo
reducido entonces ellos deben satis%acer las condiciones
e4presadas en este teorema. 5ara esto consideraremos
las tres posibilidades para alg&n arco
) , ( j i
A.
((C
Ca$o 1. Si
0 >

ij
c
, la red residual no puede contener al
arco (!,i), porque
0 <

ij ji
c c
para ese arco, lo que
contradice las condiciones de optimiaci0n de costo
reducido. 5or lo tanto
0

ij
x
.
Ca$o &. Si ij ij
u x < <

0
, la red residual contiene a ambos
arcos
) , ( j i
y
) , ( i j
. .as condiciones de optimiaci0n
de costo reducido implican que
0

ij
c
y
0

ji
c
. 5ero
debido a que

ij ji
c c
, esas desigualdades implican que
0

ij ji
c c
.
Ca$o +. Si
0 <

ij
c
, la red residual no puede contener al
arco
) , ( j i
porque
0 <
ij
c
para ese arco, lo que
contradice a las condiciones de optimiaci0n de costo
reducido. 5or lo tanto ij ij
u x

.
:e esta manera se concluye la demostraci0n del
teorema.
4.4. D"alidad del Po!lema de Fl"#o de Co$to M%nimo
(-)
.os problemas de programaci0n lineal son denominados
problemas primales y a cada uno es posible asociar otro problema
relacionado o dual. 5or e!emplo el m"4imo 3alor de la %unci0n
ob!eti3o del problema dual equi3ale al m*nimo 3alor de la %unci0n
ob!eti3o para el problema primal. A continuaci0n se establecer"n
los resultados de la dualidad correspondientes al problema de %lu!o
de costo m*nimo.
Al %ormular el problema dual de un problema primal es necesario
asociar una 3ariable dual con cada restricci0n del problema primal,
e4cepto con las restricciones de no negati3idad de %lu!o en los
arcos. #on cada restricci0n de balance de masa del problema de
%lu!o de costo m*nimo se asocia la 3ariable dual
) (i
y la 3ariable
i

con cada restricci0n de capacidad de los arcos


) , ( j i
. 5or lo
que el problema dual de %lu!o de costo m*nimo queda establecido de
la siguiente %orma.



N j i
ij ij
N i
u i i b w
) , (
) ( ) ( ) , (
Su!eto a:
ij ij
c j i ) ( ) (
para cada arco
A j i ) , (
(-(
0
ij

para cada arco


A j i ) , (
y
) (i
es irrestricto en signo
para
N j
A continuaci0n se presentan dos teoremas acerca de la teor*a de
dualidad en el problema de %lu!o de costo m*nimo.
4.4.1. Teoema de D"alidad D.!il
Sea
) (x z
el 3alor de la %unci0n ob!eti3o para alguna soluci0n %actible
x
del problema de %lu!o de costo m*nimo y sea
) , ( w
el 3alor de la
%unci0n ob!eti3o para alguna soluci0n %actible de su problema dual.
Entonces
) ( ) , ( x z w
.
4.4.1.1. P"e!a
Si se multiplica a ambos miembros de la siguiente desigualdad.
ij ij
c j i ) ( ) (
5or ij
x
y se suman para cada arco
A j i ) , (
se obtiene la
e4presi0n:



A j i
ij ij
A j i
ij ij
A j i
ij
x c x x j i
) , ( ) , ( ) , (
)) ( ) ( (
(--
Se tiene que


A j i
ij
x j i x c cx
) , (
)) ( ) ( (

, debido a que
) ( ) ( j i c c
ij ij

+
. Adem"s


N i
i i b x c cx ) ( ) (

. 5or lo
tanto la desigualdad queda de la siguiente manera



A j i
ij ij
A j i
ij ij
A j i
x c u i i b
) , ( ) , ( ) , (
) ( ) (
Se obser3a que el lado iquierdo de la desigualdad es la %unci0n
ob!eti3o dual y el lado derec'o es la %unci0n ob!eti3o primal, por
lo que se 'a demostrado el teorema. A partir del resultado
anterior, se puede concluir que si para alguna soluci0n dual
) , ( w
y para una soluci0n primal
x
las %unciones ob!eti3o
tienen el mismo 3alor, entonces son soluciones 0ptimas del
problema dual y del problema primal respecti3amente. .a
interrogante que se plantea es la e4istencia de tales soluciones,
para responderla en primer lugar se deben eliminar las 3ariables
duales ij

. :e acuerdo a la de%inici0n de costo reducido es


posible escribir la desigualdad ij ij
c j i ) ( ) (
, de la
siguiente manera:

ij ij
c
(-/
En la %unci0n ob!eti3o dual el coe%iciente asociado a la 3ariable
dual es ij
u
y nuestro prop0sito es ma4imiar el 3alor de la
%unci0n ob!eti3o, por lo que la 3ariable dual deber*a tener el
3alor m"s pequeHo posible, entonces:
} , 0 max{

ij ij
c
Si se conocen los 3alores de las 3ariables
) (i
es posible
calcular los 3alores de las 3ariables ij

. Seg&n lo anterior la
%unci0n ob!eti3o dual queda de la siguiente manera:
Ma4imiar



N j i
ij ij
N i
u c i i b w
) , (
} , 0 max{ ) ( ) ( ) (


El problema dual consiste en encontrar el 3ector

que optimice
esta %unci0n. El siguiente teorema demostrar" la e4istencia de
las soluciones 0ptimas mencionadas.
4.4.&. Teoema de D"alidad F"ete
(-1
El problema de %lu!o de costo m*nimo siempre tiene una soluci0n
* x

y el problema de %lu!o de costo m*nimo dual tiene una soluci0n que
satis%ace la propiedad que
) ( *) ( w x z

4.4.&.1. P"e!a
En esta prueba se emplean las condiciones de optimiaci0n
complementarias. Sea
* x
una soluci0n 0ptima del problema de
%lu!o de costo m*nimo. Seg&n tales condiciones, esta soluci0n !unto
con un 3ector

satis%acen las condiciones de optimiaci0n


complementarias. #omo consecuencia se tiene que la soluci0n
satis%ace la siguiente condici0n:
ij ij ij ij
u } c , 0 max{ x c


#onsideremos los siguientes casos:
()
0 >

ij
c

-)
0

ij
c

/)
0 <

ij
c

(-2
Seg&n las condiciones de optimiaci0n complementarias, en los dos
primeros casos los miembros de la condici0n anterior son iguales a
cero y en el tercer caso ambos son iguales a ij ij
u c

Sustituyendo la e4presi0n
ij ij ij ij
u } c , 0 max{ x c


en la %unci0n
ob!eti3o dual:



N j i
ij ij
N i
u c i i b w
) , (
} , 0 max{ ) ( ) ( ) (


Se obtiene como resultado:
*) ( * * ) ( ) ( ) (
) , ( ) , (
x z x c x c i i b w
A j i
ij ij
N j i
ij ij
N i
+


5or lo que se demuestra el teorema.
4./. Al'oitmo de la R"ta S"(e$i-a m0$ Cota
Este algoritmo en cada paso selecciona un nodo s con e4ceso
de o%erta, es decir, una cantidad de o%erta que toda3*a no es
en3iada a un nodo de demanda, y un nodo t con demanda
insatis%ec'a y en3*a %lu!o desde el nodo s al nodo t a tra37s de
la ruta con la distancia m"s corta. El algoritmo termina cuado
la soluci0n actual satis%ace todas las restricciones.
(-?
5ara describir el algoritmo, introduciremos el concepto de
pseudo%lu!os. $n pseudo%lu!o es una %unci0n
+
R A x : que
satis%ace solo las restricciones de capacidad y no negati3idad.
No necesita satis%acer las restricciones de balance de masa.
5ara alg&n pseudo%lu!o
x
, de%inimos el desequilibrio del nodo
i como sigue:
{ } { }


+
A j i j
ij
A i j j
ji
x x i b i e
) , ( : ) , ( :
) ( ) (
para cada i N
Si
0 ) ( > i e
para alg&n nodo i, nos re%erimos a
) (i e
como el
e4ceso del nodo iI si
0 ) ( < i e
denominamos a
) (i e
como el
d7%icit del nodo i. $no nodo est" balanceado si
0 ) ( i e
.
Sean E y : los con!untos de los nodos con e4cesos y d7%icit
de %lu!o en la red respecti3amente.
Se obser3a que:



N i N i
i b i e 0 ) ( ) (
y



D i E i
i e i e ) ( ) (
(-@
5or lo tanto si la red contiene un nodo de e4ceso, tambi7n
debe contener un nodo de d7%icit. .a red residual
correspondiente a un pseudo%lu!o es de%inida de la misma
manera que para un %lu!o.
A continuaci0n se presenta un lema, el cual se plantea
utiliando las condiciones de optimiaci0n de costo reducido.
4./.1. Lema
Suponga que un pseudo%lu!o (o un %lu!o)
x
satis%ace las
condiciones de optimiaci0n de costo reducido con respecto
a algunos potenciales de los nodos

. Supongamos que el
3ector d representa las rutas m"s cortas desde el nodo s a
todos los otros nodos en la red residual G(4) con

ij
c
como la
longitud de una arco
) , ( j i
. Entonces las siguientes
propiedades son 3"lidas:
a) El pseudo%lu!o
x
tambi7n satis%ace las condiciones de
optimiaci0n de costo reducido con respecto a los
potenciales de los nodos ' .
(-A
b) .os costos reducidos

ij
c
son cero para todos los arcos
) , ( j i
en las rutas m"s cortas desde el nodo s a cada uno
de los otros nodos.
4./.1.1. P"e!a
Ja que el %lu!o
x
satis%ace las condiciones de optimiaci0n
de costo reducido con respecto a

,
0

ij
c
para cada
arco
) , ( j i
en G(4). Adem"s ya que el 3ector representa
las distancias de las rutas m"s cortas con

ij
c
como
longitudes de los arcos, satis%ace las condiciones de
optimiaci0n de la ruta m"s corta, es decir:

ij
c i d j d + ) ( ) (
para todos los arcos
) , ( j i
en G(4)
Substituyendo
) ( ) ( j i c c
ij ij

+
en la e4presi0n anterior,
obtenemos:
) ( ) ( ) ( ) ( j i c i d j d
ij
+ +
Alternati3amente,
0 )) ( ) ( ( )) ( ) ( ( + j d j i d i c
ij

, o
0

ij
c
. Esta conclusi0n establece la parte a) del lema.
(-C
#onsideremos la ruta m"s corta desde el nodo s 'asta
alg&n nodo i. 5ara cada arco
) , ( j i
, en esta ruta

ij
c i d j d + ) ( ) (
. Substituyendo
) ( ) ( j i c c
ij ij

+
en
esta ecuaci0n obtenemos
0

ij
c
. Esta conclusi0n
establece la parte b) del lema.
4./.&. Lema
Suponga que un pseudo%lu!o (o un %lu!o) satis%ace las
condiciones de optimiaci0n de costo reducido y obtenemos
I
x a partir de
x
, en3iando %lu!o a lo largo de la ruta m"s
corta desde el nodo s a alg&n nodo >I entonces
I
x tambi7n
satis%ace las condiciones de optimiaci0n de costo reducido.
4./.&.1. P"e!a
:e%inamos los potenciales

y ' como en el lema


anterior. .a demostraci0n de tal lema implica que para
cada arco
) , ( j i
en la ruta m"s corta 5 desde el nodo s
'asta el nodo >.
(/)
Aumentando %lu!o a tra37s de alg&n arco, aHadir*a el arco
in3erso a la red residual. 5ero ya que
0

ij
c
para cada
arco
P j i ) , (
,
0

ji
c
y el arco
) , ( j i
tambi7n satis%ace
las condiciones de optimiaci0n de costo reducido.
.os potenciales de los nodos !uegan un papel muy
importante en este algoritmo, el cual se describe a
continuaci0n:
4./.+. De$(i)(i*n del Al'oitmo R"ta S"(e$i-a m0$ Cota
Comien,o

x
=) y 0

) ( ) ( i b i e
para todo N i
inicialiar los con!untos
{ } 0 ) ( : > i e i E
y
{ } 0 ) ( : < i e i D
Mienta$ E 1a(e
Comien,o
Seleccione un nodo E k y un nodo D l I
:etermine las distancias de las rutas m"s cortas
desde el nodo K a todos los otros nodos en G(4)
con respecto a los costos reducidos

ij
c
I
(/(
:e%ina a 5 como la ruta m"s corta desde del nodo >
al nodo lI
Actualice
; d
[ ] P j i r l e k e
ij
) , ( : ) min( ), ( ), ( min
I
incrementar unidades de %lu!o a lo largo de la ruta
5I
Actualiar 4, G(4), E, : y los costos reducidosI
Fin2
Fin2
A continuaci0n !usti%icaremos el algoritmo de %lu!o de costo
m*nimo. 5ara iniciar el algoritmo, asignamos
x
=), el cual
es un pseudo%lu!o %actible. 5ara un pseudo%lu!o de cero se
tiene que G(4)=G. Se obser3a que esta soluci0n !unto con
0 satis%aces las condiciones de optimiaci0n de costo
reducido porque
0
ij ij
c c

para arco
) , ( j i
en la red
residual G(4), lo que concuerda con los supuestos del
problema de %lu!o de costo m*nimo. Se obser3a que con
tal de que alg&n nodo tenga un desequilibrio di%erente de
cero, ambos con!untos E y : deben ser no 3ac*os desde
que la suma total de los e4cesos es igual a la suma total
de los d7%icit. :e esta manera, 'asta que todos los nodos
(/-
est7n balanceados, el algoritmo continua siempre
identi%icando un nodo de e4ceso > y un nodo de d7%icit l.
$no de los supuestos del problema, indica que la red
residual contiene una ruta dirigida desde el nodo > a cada
uno de los otros nodos, incluyendo el nodo l. 5or lo tanto
las distancias de las rutas m"s cortas
(.) d
, est"n bien
de%inidas. #ada iteraci0n del algoritmo resuel3e un
problema de la ruta m"s corta con longitudes de los arcos
no negati3os y estrictamente decrementa el e4ceso de
alg&n nodo y tambi7n el d7%icit de alg&n otro nodo.
#onsecuentemente si $ es el l*mite superior sobre la
o%erta m"s grande de alg&n nodo, el algoritmo terminar*a
en a lo muc'o nU iteraciones.
Este algoritmo selecciona un nodo de e4ceso > y utilia el
algoritmo de :i!>stra para identi%icar las rutas m"s cortas
desde el nodo > 'acia los dem"s nodos y aumenta el %lu!o
a tra37s de la ruta m"s corta desde el nodo >, 'asta el
nodo l. No es necesario determinar la ruta m"s corta
desde el nodo > 'asta todos los dem"s nodos, es
su%iciente la ruta m"s corta desde el nodo > 'asta un nodo
(//
de d7%icit l. 5or lo tanto el algoritmo de :i!>stra terminar*a
si queda etiquetado permanentemente el nodo de d7%icit l.
En este punto podemos modi%icar los potenciales de los
nodos de la siguiente manera:
Si el nodo i es etiquetado
permanentemente
Si el nodo i es
etiquetado
temporalmente
4./.4. Al'oitmo de Di#3$ta
Este algoritmo encuentra las rutas m"s cortas desde un nodo
%uente s, 'asta todos los dem"s nodos en la red, con costos
asociados a sus arcos no negati3os. El algoritmo mantiene
una distancia
) (i d
con cada nodo i, la cual es un l*mite
superior sobre la longitud de la ruta m"s corta al nodo i. En
alg&n paso intermedio el algoritmo di3ide al con!unto de
nodos en dos grupos: el primero denominado etiquetados
permanentemente o permanentes y el segundo grupo
denominados etiquetados temporalmente o temporales.
(/1

'

) ( ) (
) ( ) (
) (
l d i
i d i
i

.a etiqueta de distancia para alg&n nodo permanente


representa la distancia m"s corta desde el nodo %uente a tal
nodo. 5ara alg&n nodo temporal la etiqueta de distancia es
el l*mite superior de la distancia m"s corta a ese nodo.
.a idea del algoritmo es abrirse paso desde el nodo s y
permanentemente etiquetar nodos en el orden de sus
distancias desde el nodo s. <nicialmente se le asigna a s una
etiqueta permanente de cero y a cada uno de los dem"s
nodos se les asigna una etiqueta igual a in%inito.
En cada iteraci0n, la etiqueta de un nodo i es su distancia
m"s corta desde el nodo %uente a lo largo de una ruta cuyos
nodos interiores est"n todos, permanentemente etiquetados.
El algoritmo selecciona un nodo i con la m*nima etiqueta
temporal, la 'ace permanente y se e4tiende desde ese nodo,
es decir analia los arcos en A(i) para actualiar las etiquetas
de distancia de los nodos adyacentes. El algoritmo %inalia
cuando todos los nodos 'an sido etiquetados como
permanentes. El algoritmo construye un "rbol con ra* desde
el nodo %uente que abarca los nodos etiquetados con
distancias %initas. El algoritmo mantiene los nodos
(/2
empleando *ndices o punteros. Es decir si
) , ( j i
Lrbol
entonces pred(j)=i. Adem"s se mantiene la propiedad de que
para cada arco
) , ( j i
del "rbol se tiene que ij
c i d j d + ) ( ) (
.
En el algoritmo de :i!>stra nos re%erimos a la operaci0n de
seleccionar la m*nima distancia temporal como operacin de
seleccin del nodo. A la operaci0n de 3eri%icar si las
etiquetas de los nodos satis%acen la condici0n de que
ij
c i d j d + > ) ( ) (
, si es as* se realia la asignaci0n
ij
c i d j d + ) ( ) (
, la que se conoce como la operacin de
actualizacin de distancia. A continuaci0n se presentan los
pasos que con%orman el algoritmo de :i!>stra.
4./.4.1. De$(i)(i*n del Al'oitmo de Di#3$ta
Comien,o
S I
; N S
) (i d
para cada nodo N i I
0 ) ( s d
y
0 ) ( s pred
I
Mienta$ cardinalidad(S)Mn 1a(e
Comien,o
Sea S i un nodo para el cual
(/?
} : ) ( min{ ) ( S j j d i d
I
} {i S S
2
} {i S S
Paa (ada
) ( ) , ( i A j i
1a(e
Si ij
c i d j d + > ) ( ) (
enton(e$
ij
c i d j d + ) ( ) (
y pred(j)=i
Fin2
Fin2
En ciertos problemas de %lu!o no es necesario determinar la
ruta m"s corta desde un nodo %uente s 'asta cada uno de
los dem"s nodos en la red, sino 'asta un nodo espec*%ico t.
5or lo que se presentan las siguientes 3ariantes del
algoritmo de :i!>stra.
4./.4.&. Al'oitmo de Di#3$ta 1a(ia At0$
En el algoritmo de :i!>stra se determina la ruta m"s corta
E desde un nodo s a cada uno de los nodos en
} {s N
.
Suponga que se desea determinar la ruta m"s corta desde
cada uno de los nodos en
} {t N
'asta el nodo de llegada
t. 5ara resol3er este problema se emplea una modi%icaci0n
del algoritmo de :i!>stra. El algoritmo de :i!>stra 'acia
(/@
atr"s mantiene una distancia
) ( j d
I
con cada nodo !, el
cual es el l*mite superior de la longitud de la ruta m"s corta
desde el nodo ! 'asta el nodo t. :e %orma an"loga este
algoritmo designa un con!unto de nodos llamado
permanentemente etiquetado ' S y el con!unto restante de
nodos llamado temporalmente etiquetado ' S .
En cada iteraci0n el algoritmo designa con la etiqueta con
la m*nima distancia temporal, denominada
) ( ' j d
, como
permanente. Se e4amina cada arco de llegada
) , ( j i
y
modi%ica la etiqueta de la distancia del nodo i a
)} ( ' ), ( ' min{ j d c i d
ij
+
. El algoritmo termina cuando todos
los nodos se 'an con3ertido en etiquetados
permanentemente.
4./.4.+. Al'oitmo de Di#3$ta 4idie((ional
Este algoritmo se emplea para determinar la ruta m"s corta
desde un nodo %uente s 'asta un nodo de llegada t. 5ara
resol3er este problema y eliminar algunos c"lculos se
podr*a dar por %inaliado el algoritmo de :i!>stra tan pronto
como se 'aya seleccionado un nodo t S .
(/A
En el algoritmo bidireccional de :i!>stra simult"neamente
se aplica el algoritmo de :i!>stra con3encional, desde el
nodo s y el algoritmo de :i!>stra 'acia atr"s desde el nodo
t. Alternati3amente designa un nodo en S y un nodo en
' S como permanente 'asta que ambos algoritmos 'ayan
etiquetado permanentemente el mismo nodo, llamado el
nodo > por lo que se tendr*a que
} { ' k S S
.
Supongamos que 5(i) denota la ruta m"s corta desde el
nodo s al nodo S i encontrada por el algoritmo de :i!>stra
tradicional y sea 5N(!) la ruta m"s corta desde el nodo s al
nodo
' S j
al nodo t encontrado por el algoritmo de
:i!>stra. al nodo t encontrado por el algoritmo de :i!>stra.
(/C