Академический Документы
Профессиональный Документы
Культура Документы
FACULTAD DE CIENCIAS
ESCUELA PROFESIONAL DE MATEMTICA
II
Agradecimientos
Finalmente agradezco a todas las personas que de una manera u otra han contribuido
en la realizacin de mi estudio y que no es necesario mencionarlas con nombre propio.
Asi tambin, doy gracias al Instituto IMCA que me permiti madurar como matemti-
co a pesar de no ejercer la docencia o hacer investigacin en ciencias matemticas.
III
Resumen
IV
Finalmente, quisiera hacer hincapi que me inspir en el libro de "Programacin Lineal
y Flujo en Redes", la cual fue base para el desarrollo de esta tesis.
V
,
Indice general
Introduccin 1
2. Programacin dinmica 24
2.1. Problema de diligencia 24
2.1.1. Formulacin .. 25
2.1.2. Procedimiento solucin. 26
2.2. Caracterizacin de los problemas de programacin dinmica 27
2.3. Programacin dinmica determinstica . . . . . . . 29
2.3.1. Problema de distribucin de esfuerzo . . . . 33
2.3.2. Problema de la Wyndor Glass Company (3] 37
3. Flujo en redes 40
3.1. Formulacin del problema . . . . . . . . 40
3.2. Propiedades de la matriz de restricciones 44
3.3. Variable artificial . . . . . . . . . . . . . 45
3.4. Representacin de una columna no bsica en trminos de las columnas
bsica.<;. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
V
4. Algoritmo Out-of-kilter 55
4.1. El dual del problema de flujo de costo mnimo y sus propiedades 56
4.2. La complementaria condicin de holgura. 57
4.3. Estrategia del algoritmo . . . . . . . . . . . 58
4.3.1. FASE PRIMAL: Flujo cambio . . . . 59
4.3.2. FASE DUAL: Cambio variable dual . 62
4.4. Convergencia del algoritmo . . . . . . . . . . 66
4.4.1. Infactibilidad del problema primal(P) del conjunto Rolucin cuando
(} = +oo . . . . . . . . . . . . . . . . . . 66
4.4.2. Convergencia del algoritmo out-of-kilter 68
4.4.3. Observaciones . . . . . . . . 69
4.5. Resumen del algoritmo out-of-kilter 71
){ negativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
6.2.1. Validacin del Algoritmo . . . . . . . . . . . . . . . . . . .
6.3. Un procedimiento con arbitrarios costos para el camino ms corto
85
86
87
6.3.1. Verificacin del algoritmo para costos negativos . . . . . . 88
7. Flujo Multiartculos 92
7.1. El multiartculo problema de flujo de costo mnimo . . . . . . . . . . . . . 93
7.2. Caracterizacin de una base para el problema de flujos multiartculo de
costo mnimo . . . . . 98
VI
8.4.3. Representacin de la matriz bsica sobre la tabla de transporte 117
8.4.4. El rol de la variable artificial en el problema de tram;porte . 118
8.4.5. Proceso del mtodo simplex para el problema de transporte . . 119
8.5. Degeneracin en el problema de transporte . . . . . . . . . . . . . . . . 123
8.5.1. Una condicin necesaria para degeneracin en el problema de trans-
porte . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 124
9. Conclusiones 127
Bibliografa 129
VII
Introduccin
Disentiremos primero, la idea f1mdamental del mtodo simplex que involucra ht tabla
del simplex final de un determinado problema lineal, realizando operaciones algebraicas
sobre la tabla simplex final se obtiene una nueva tabla sobre el modificado problema li-
neal. El mtodo simplex dual tiene un enfoque similar al mtodo del simplex, slo que
e;te mtodo maneja soluciones blli:ikas factible; duales pero no factibles prirnales; iden-
tificar parmetros en el problema de programacin lineal, de tal manera que la solucin
ptima no cambie, se analizar en el tema anlisis de sensibilidad. Una manera de obte-
ner 1ma solucin factible inicial para un problema rl.e programacin lineal, es aplicando
el mtodo de penalizacin de gran "M, donde se aplica el mtodo simplex para este nuevo
problema modificado. Programacin dinmica es una tcnica til para tomar decisiones
interrelacionadas, esto genera una relacin recursiva para la toma de desiciones.
Segundo discutiremos problemas de programacin lineal, a distintas clases de proble-
mas: uno de ellas es la clase de problemas de flujo en redes para un solo artculo que
poseen una importante especial estructura en la matriz de restricciones que permite la
simplificacin del mtodo simplex a un punto donde esto puede ser aplicado directamente
sobre la red sin la necesidad de la tabla del simplex. Otro problema es llamado el algo-
ritmo out-of-kilter , donde este aplica las condiciones de optimalidad de Karush Kuhn
'I\tcker para determinar si existe solucin ptima o no, en base a esto se determinan dos
pasos, el primer paso se construye una nueva red de tal manera que se permita el flujo de
cambio en un ciclo sobre la red de matriz de restricciones del problema y el segundo paso
es modificar las variables duales a partir de la nueva red construida.
Dos espcciaJc; problemas son el problema de flujo mximo y el problema del camino
ms corto, ambos problemas pueden ser resuelto por el mtodo flujo en redes. Sin embargo
estos problemas ocurren en la prctica de manera muy frecuente, ms eficientes procedi-
mientos son encontrados para el manejo de estos dos problemas, por lo tanto proporcionan
un fuerte caso para considerar ellos separadamente, el problema de flujo mximo cons-
truye nuevas redes de tal manera que se permita el flujo de cambio en cadenas sobre la
red de la matriz de restricciones del problema, y luego si tal cadena no se puede construir
la solucin optirual e; encontrada. El problema del camino mili; corto actualiza en cada
paso las variables duales del problema dual, hasta que el conjunto de variables duales
1
satisfaga ciertas restricciones, y poder determinar la solucin ptima. Nosotros conside-
raremos problema de flujo en redes para varios artculos llamados flujos multiartculo,
en este caso ofertas y demandas son por cada tipo de artculo y la distincin entre los
artculos debera ser mantenida, nosotros examinaremos este problema presentando una
descomposicin tcnica utilizando herramientas de anlisis convexo, donde luego defini-
mos un problema maestro y un subproblema, en cada paso del algoritmo se actualiza
el problema maestro aumentando el nmero de variables y a la vez variables duales se
actuali:,an de tal manera que loR subproblemas se react.uali,.;an modificando parmetros
del subproblema , cada subproblema puede ser resuelto aplicando problema flujo en redes
para un artculo, este es un algoritmo iterativo alterno entre la solucin del problema
maestro y el subproblema.
Una ultima discusin es un tipo de problema que posee un similar enfoque al pro-
blema de flujo de redes, es el problema de transporte que permite la simplificacin del
mtodo simplex a un punto donde esto puede ser aplicado directamente sobre la tabla del
transporte sin la necesidad de la tabla del simplex.
2
Captulo 1
3
Esta operaciones es equivalente a premultiplicar la tabla simplex final [3] por alguna ma-
triz.
maximizar z = 3x 1 + 5x 2 .
sujeta a : x 1 :::;: 4.
2x2:::;: 12.
3x 1 + 2x 2 :::;: 18.
Veamo~; la siguientes tablas al aplicar el mtodo simplex [3] a este problema:
Lado
Iteracin X X2 Xg X4 Xs derecho
o -3 -5 o o o o
1 o 1 o o 4
o 2 o 1 o 12
3 2 o o 1 18
Lado
Iteracin X! x2 Xg X4 Xs derecho
1 -3 o o .2Q o 30
1 o 1 o o 4
o 1 o 2 o 1
6
3 o o -1 1 6
Lado
Iteracin X! X2 Xg x4 Xs derecho
2 o o o 2 1 36
o o 1 3 -3 1 1
2
o 1 o 2 o 1
6
1 o o -3 3 1 1
2
Estas tablas muestran la parte relevante de la tabla smplex para ilustrar esta idea funda-
mental. Los coeficifmtes de la.s variables de holguras estn represP.ntada.s en la.s columna-s
de los coeficientes de las variables x 3 , x 4 , x 5 , estos son los coeficientes cruciales para aplicar
est idea.
Iteracin 1:
4
Si se realizan las operaciones con el rengln 2 antiguo(iteracinO) en lugar con el nue-
vo(iteraul), la~ operadone~:; algebraica::; ~:;un la~:; ~:;iguiente~:;:
rengln O nuevo= rengln O antiguo+ (~) (rengln 2 antiguo).
rengln 1 nuevo=rengln 1 antiguo+(O)(rengln 2 antiguo).
rengln 2 nuevo= + (!) (rengln 2 antiguo).
rengln 3 nuevo=rengln 3 antiguo+ ( -1) (rengln2 antiguo).
Si por el momento se ignora el rengln O, se ve que estas operaciones algebraicas son los
mismos que premultiplicar los renglones 1 a 3, de la tabla simplex inicial por la primera
matriz:
A=[~ L~]
l
Los renglones de la tabla simplex inicial son:
1 o 1 o o 4
Renglones antiguos 1- 3 = O 2 O 1 O 12
[ 3 2 o o 1 18
Donde la tercera,cuarta y quinta columna forman una matriz identidad. Entonces los
nuevos renglones,
[~ ~ ][ ~ ~2]
o o 1 o o
Nuevos renglones 1-3 = 1
2 2 o 1 o
-1 2 o o 1 18
:l
o o o
Nuevos renglones 1-3 = lr1
~ 1 o
o o
1
2 o
1
-1 1
Observar que la matriz A se reproduce justo como los coeficientes de las variables de hol-
gura en los renglones 1 a 3 de la nueva tabla simplex, porque estos coeficientes formaban
una matriz identidad en la tabla simplex inicial. As, tal como se estableci en la descrir
cin verbal de la idea fundamental, lo~:; coeficiente~:; de la variable de holgura en la uueva
tabla simplex proporciona sin duda un registro de las operaciones algebraicas realizadas.
Para el rengln O, la operacin algebraica realizada se reduce al siguiente clculo de matri-
ces, en donde ahora se prestar atencin al vector [0, ~'O] que premultiplica a los renglones
1 y 3 de la tabla simplex inicial:
o o
O~ (-3, 5, O, 0,0, O]+ (0, ~,0] [ ~ ~2]
o 1
Nuevo rengln 2 o 1 o
2 o o 1 18
5
Notar que este vector se reproduce exactamente como los coeficientes de las variables de
holgura en el rengln O de la nueva tabla simplex, tal como se asegur en la idea funda-
mental.
Iteracin 2: Las operaciones realizadas en la segunda tabla simplex para la iteracin 2
son:
rengln O nuevo=rengln O antiguo+(1)(rengln 3 antiguo).
rengln 1 nuevo= rengln 1- antiguo+ (-V (rengln 3 antiguo).
rengln 2 nuevo=rengln 2 antigno+(O)(rengln3 antiguo).
rengln 3 nuevo= + ( ~) (rengln 3 antiguo).
Si por el momento se ignora el rengln O, estas operaciones son los mismos que premulti-
plicar los renglones 1 a 3 de esta tabla simplex por la matriz:
Al escribir est segunda tabla simplex como el producto de matrices dado en la iteracin
1 se obtiene:
o o o oo
[~ o ~ll u ~ ][ ~ ~2]
1
renglones 1-3 finales = 1 1
2 2 o 1 o
-1 2 o o 1 18
[~ ~l ][ ~ oo o o ~2]
1
3 o oo 1
renglones 1-3 finales = 1
2 2 1
1
-3 2 1 18
Las primeras dos matrices que se muestran en la primera lnea de estos clculos resumen
las operaciones algebraicas de la segunda y primP-ra iteracin. Su producto p,s la primp,ra
matriz de la segunda lnea, que despus combina las operaciones algebraicas de las dos
iteraciones. Observar que esta matriz se reproduce igual que los coeficientes de las varia-
bles de holgura en los renglones 1 y 3 de la nueva tabla simplex final que se muestra en
la tercera lnea. Lo que este mtodo revela es la forma en que se obtuvo la tabla sirnplcx
final (excepto el rengln O) a partir de la tabla simplex inicial:
rengln 1 final=(1)(rengln 1 inicial)+{!)(rengln 2 inicial)+( -~)(rengln 3 inicial).
rengln 1 final= (O) (rengln 1 inicial)+ ( ~) (rengln 2 inicial)+ (O) (rengln 3 inicial).
rengln 1 final=(O)(rengln 1 inicial)+( -~)(rengln 2 inicial)+(~)(rengln 3 inicial).
Sin embargo, no hay necesidad de realizar todo esto, los coeficientes de las variables de
holgura en la tabla simplex final revelarn en qu forma se obtuvo est tabla a partir de
la tabla simplex inicial. Lo que es ms, las mismas operaciones algebraicas daran estos
6
mi'5mo coeficientes an cuando se cambiaran algunos de los parmetros en el modelo ori-
ginal de manera que estos coeficientes tambin pueden revelar en que forma cambia el
resto de la tabla simplex final si hacen cambios a la inicial.
Para completar la historia para el rengln O, la idea fundamental dice que todo el rengln
O final se puede calcular a partir de la tabla simplex inicial usando los coeficientes de las
variables de holgura en el rengln O final, [O, ~, 1). Este clculo se muestra en seguida, el
primer vector es el rengln O de la tabla simplex inicial y la matriz esta formada por los
renglones 1 a 3 de la tabla simplex inicial:
o oo
~, 1] [ ~ ~2].
1
rengln O Final = [ -3, 5, O, O, O] + [0, 2 o 1 o
2 oo 1 18
7
1.2.1. Resumen del mtodo simplex dual
Pasos a seguir del mtodo simplex dual [3):
3. Iteracin:
Tener en cuenta que se esta haciendo lo mismo que el mtodo simplex, esto es, en la
iteracin:
(a) determina. la variable bsica que sale, es equivalente a determinar la variable bsica
entrante en el problema dual, la variable negativa con el mayor valor absoluto ms gran-
de corresponde al coeficiente negativo con el mayor valor absoluto en la ecuacin O del
problema dual.
(b) determina la variable bska entrante es equivalente a determinar la variable bsica
que sale en el problema dual. El coeficiente de la ecuacin (O)(divisin) que llega primero
a cero, corresponde a la primera variable que se hace cero en el problema dual. Tambin
los dos criterios para detener el algoritmo son complementarios.
Ejemplo: Sea la siguiente problema de programacin lineal:
8
maximizar z = -4y- 12y2 - 18y3.
sujeta a: Y1 + 3y3 2: 3.
2y2 + 2y3 2: 5.
Y11 Y2, Y3 2': O.
Aplicando Mtodo simplex dual, se obtienen las siguientes tablas :
9
1.3. Anlisis de sensibilidad
1.3.1. Cambios en los coeficientes de una variable no bsica
Supongamos que los cambios se hacen en el modelo original en los coeficientes de una
variable que era no bsica en la solucin ptima del problema originaL Cul es el efecto
de estos cambios sobre esta solucin ptima?.
En vista que la variable en cuestin es no bsica, el cambio en sus coeficientes no puede
afedar la factibilidad de la solucin, la cuestin es si esta solucin ::;igue siendo ptima.
Una pregunta equivalente es si la solucin bsica complementaria para el problema dual
todava es factible despus de hacer estos cambios. Dados que los cambios afectan en nada
ms en una restriccin, la pregunta es sem~illa de responder, tan solo verificando si esta
solucin satisface dicha restriccin.
De aqu en adelante consideraremos problemas de la forma:
Maximizar (e, x).
sujeta a: Ax ~ b, x ~ O.
o equivalentemente con variables de holgura:
Maximizar (e, x).
sujeta a: Ax + Xa = b; x, Xa ~ O.
10
ma dual, la solucin est dada en el rengln O de la tabla simplex final para el problema
primal. La :::;olucin es:
(y1, Y2, y3, z1- c1, z2- c2) = (0, ~' 1, O, O)
Como esta solucin era ptima para el problema dual original, sin duda satisface las
restricciones originales sin la introduccin de la variable Xnueva en el problema primal.
Con la introduccin de Xnueva nos preguntamos: si la solucin bsica complementaria sa-
tisface la restriccin dual 2y1 + 3y2 + y3 ~ 4? al sustituir est solucin en la restriccin:
2(0) +3( V+ 1 ~ 4, entonce.s si se satisface, por lo que est solucin sigue siendo factible (y
tambin ptima). En consecuencia, la solucin ptima del problema original (2, 6, 2, O, O)
junto con la Xnueva todava es ptima, y se concluye que no debe incluirse este nuevo
producto en la produccin-o
11
valores probables que lleven a una nueva solucin ptima.
Un objetivo del aulisb de sensibilidad es identificar los parmetros sensibles [3], es decir,
los parmetros cuyos valores no pueden cambiar, sin que cambie la solucin ptima. Pa-
ra ciertos parmetros que no estn clasificados como sensibles, tambin pueden resultar
de gran utilidad determinar el intervalo de valores del parmetro, de tal manera que la
solucin ptima no cambie (este intervalo se conoce como intervalo permisible para per-
manecer ptimo). En algunos casos, cambiar el valor de un prametro puede afectar la
factibilidad de la Rolncin ptima, para talf'A<; parmetros, eR til determinar el intervalo
de valores, de tal manera que la solucin ptima siga siendo factible (este intervalo recibe
el nombre de intervalo permisible para permanecer factible.).
Si se descubre que el valor real de un parmetro est fuera de su intervalo de valores
permisibles, sta es una seal inminente de que es necesario cambiar la solucin.
Para problemas pequeos la verificacin del efecto de una variedad de cambios en los
valores de los parmetros es directa, con slo aplicar de nuevo el mtodo simplex para
ver si cambia la solucin ptima. Sin embargo, en problemas ms grandes, el anlisis
de sensibilidad requiere de un esfuerzo computacional si fuera necesario volver aplicar el
mtodo simplex desde el principio para investigar cada cambio en el valor de un parmetro.
Por fortuna la idea fundamental presentada del mtodo simplex, casi elimina el esfuerzo
computacional. La idea fundamental revela de forma inmediata los cambios al modelo
original, y como se alteran los nmeros de la tabla simplex final (si se supone que se
duplica la misma secuencia de operaciones algebraicas que realizo el mtodo simplex la
primera vc7.). Dcspcs de hacer unos cuantos clculos para actnali7.ar esta tabla simplex,
se puede verificar con facilidad si la solucin ptima del problema original ahora es no
ptima (o no factible). Si es factible, est solucin se usar como solucin bsica inicial
para comenzar de nuevo el simplex y encontrar una nueva solucin ptima si se desea. Si
los cambios en el modelo no son mayores, slo se requerirn una cuantas iteraciones para
obtener la nueva solucin ptima a partir de esta solucin bsica inicial.
Para describir este procedimiento con ms detalle , se ha empleado el mtodo simplex
para obtener una solucin ptima para un modelo de programacin lineal con valores es-
pecficos para los parmetros bj, Cj y aij. Para un inicial anlisis de sensibilidad se cambian
uno o ms parmetros, en notacin matricial:
b--+ b',c--+ ,A--+ A'
, para el modelo revisado.
Ejemplo: Sea el sig1..ente problema de programacin lineal:
Maximizar 3x1 + 5x2
sujeta a: x 1 S: 4.
2x2 S: 12.
3x 1 + 2x 2 S: 18.
X, X2 2:: .
Los cambios a este modelo son c1 =3a e~ = 4, a 31 = 3 a a~ 1 = 2, y b2 = 12 a b; = 24.
12
Maximizar 4x 1 + 5x 2 .
sujeta a: x 1 ::::; 4.
2x2::::; 24.
2x 1 + 2x 2 ::::; 18.
X 1 X2;:::: 0.
Para el modelo original el mtodo ::;implex ya identifk la solun ptima factible que
es (2, 6), que se encuentra en la interseccin de las dos fronteras de restriccion que son
2x2 = 12 y 3x 1 +2x 2 = 18. Ahora la revisin del modelo ha cambiado ambas fronteras, de
tnl manera que la int.tmscccin de arubns fmntcrM 211:2 = 24 y 211:1 + 211:2 = 18 es ( -3, 12)
que e; una fil(:)lud6n 11(:) factible. El pmcedimient(j de!!crito anterimrmmta encuentra asta
crunbio da manara algebraica.
Pfim llflvnt tt r.nbo flRhl pror.fldimiflllttJ, f!A mmiflnM por deseribir lol' ->r:trrmfltmR dtll mo-
delo revisado en forma matricial:
e' = [4, 5].
A'=[~~]
b'=[~:J
La tabla simplex inicial nueva del problema modificado:
Variable Ecuacin Lado
bsica numrica z X X2 X3 X4 X5 derecho
z (O) 1 -4 -5 o o o o
X3 (1) o 1 o 1 o o 4
X4 (2) o o 2 o 1 o 24
X5 (3) o 2 2 o o 1 18
La tabla simplex final del problema original:
Variable Ecuacin Lado
bsica numrica z X X2 X3 X4 X5 derecho
z (O) 1 o o o 3
2 1 36
X3 (1) o o o 1 1 _.! 2
3 3
X2 (2) o o 1 o 1
2 o 6
X (3) o 1 o o -3
1 1
3 2
La parte que no cambia en el modelo, a saber, los coeficientes de las variables de holgura
tanto en el rengln O(y*) como en el resto de los renglones (S*). As:
y* =[0,~,1]
13
s~u ~'] t
En general la tabla revisada de la idea fundamental [3] es de la forma:
Ecuacin I Lado
numrica il z Variables originales Variables de holgura derecho
(O) 1 z* - e* = y* A' - e' y* z* = y*b'
(1, 2, ... ,m) o A*= S* A' S* b* = S*b'
En el ejemplo:
1
z * -e = [0, 3, 1] [ 0] - [4, 5) = [-2, 0),
1
~ ~
2
z ~ [0, ~, 1] [ ~] ~54,
1 s 1r 1 o 1 r i o 1
~
1
A* = [ ~ ~1 ~ j ~ ~ j ~ j' l li
b. ~ ~ ~1 ~:
[ t l [;~ ]
][
En realidad estos clculos para obtener la tabla simplex final revisada se puede simplificar
de manera sustancial. Como ninguno de los wefidentes de x 2 cambia en el modelo original,
ninguno de ellos puede cambiar en la tabla revisada, as se puede eliminar su clculo.
Algunos otros prametros originales (a 11 ,a 21 ,b 1 ,b3 ) tampoco cambiaron, entonces otro
14
atajo consiste en calcular nada ms los cambios incrementales en la tabla simplex final
en trminos de los cambios incrementales eu la tabla original e ignorar aquellos tnniuos
en la multiplicacin de vectores o matrices que no tuvieron cambio en la tabla inicial. En
particular los nicos cambios incrementales en la tabla simplex inicial son D.c1 = 1, D.c31 =
-1 y D.b2 = 12, estos son los nicos trminos que deben considerarse. La. simplificacin
se muestra con un cero o con un guin en el lugar de los elementos no calculados.
1_321
O -lll
= ~
~ -]
..=1.][0
=
O
-1
~
-~
~b = s ~b l~ t nl~ l l~J
=
Al agregar estos incrementos a las cantidades originales en la tabla simplex final se obtiene
la tabla simplex final revisada.
Despus de obtener la tabla simplcx final revisada, se convierte en la forma apropiada de
eliminacin de Gauss [3], en particular la variable bsica en el rengln i debe tener un
coeficiente de 1 en ese rengln y O en todos los dems renglones (incluso en el rengln O),
pan'l que la tabla eRt en la formR apropiarla para identificar y evRluar la Rolucin bsica
actual. Entonces, si los cambios violan este requisito, se debern realizar las operaciones
necesarias para establecer esta forma. Esta restauracin se hace con el mtodo de elimina-
cin de Gauss, esto es como si cada variable que no cumpla el requisito, fuera una variable
entrante. Notar que este proceso puede producir un cambio en el lado derecho de la tabla
simplex, por lo que la solucin bsica actual se podr leer en esa columna cuando se haya
recuperado por completo la forma apropiada de eliminacin de Gauss.
Volviendo al ejemplo, lR tRhla Rimplex final reviRada, no eRt en la forma apropiada de
eliminacin de Gauss para la columna de la variable bsica x 11 el coeficiente de x 1 en su
rengln 3 es ~ en lugar de 1, y tiene coeficientes distintos de ceros -2 y ~ en los renglones
O y l. Para restablecer la forma apropiada se multiplica el rengln 3 por ~; despes de
este nuevo rengln 3 multiplicado por 2 se suma al rengln cero. Por ltimo ~ de dicho
rengln 3 se resta del rengln l. La forma apropiada de la tabla simplex final revisada
15
aplicando la eliminacin de Gauss:
Para identificar los nuevos valores de la solucin bsica actual (antes ptima):
(x, x 2 , x 3 , x 4 , x 5 ) = ( -3, 12, 7, O, 0). Como x 1 es negativa, est solucin bsica ya no es
factible, pero es superptima y por lo tanto es factible dual, porque todos los coeficientes
en el rengln cero son no negativos. Entonces el mtodo simplex dual puede ser til para
volver optimizar si se desea comenzando con esta solucin bsica. Si se hace referencia el
mtodo simplex dual, el mtodo simplex dual lleva a cabo una sola iteracin para moverse
de la solucin en el vrtice ( -3, 12) a la solucin factible ptima (0, 9). Si esta solucin
bsica ( -3, 12, 7, O, O) no hubiera sido factible ni superptima, esto es si la tabla final
hubiera tenido nmeros negativos en el lado derecho como en el rengln cero, se hubiera
podido introducir variables artifidales en la nueva tabla simplex final para convertirla en
la forma apropiada para una tabla simplex inicial. 0
Procedimiento general
Cuando se realizan pruebas para detectar cuanto sensible es la solucin ptima del
problema original a los distintos parmetros del modelo, el enfoque comn es verificar
cada parmetro (a lo menos los Cj y bi), en forma individual (verificando por vector, no
necesariamente por una sola coordenada). Adems de encontrar los intervalos permisibles
que sern descritos ms adelante, est verificacin puede incluir cambiar el valor del
parmetro de su estimacin inicial a otras posibilidades dentro del intervalo de valores
probables (que incluyen los extremos del intervalo). Despus se puede investigar algunas
cornbinacione:::; de cambio::; simultJH..'OS (como cmubia1 una re:::;triccin funcional completa).
Resumen del procedimiento para anlisis de sensibilidad:
l. Revisin del modelo: se hacen los cambios deseados en el modelo que se va investigar.
16
4. Prueba de Factibilidad: se prueba la factibilidad de esta solucin verificando que
todat> latl variabletl bt>icat> t>igan teniendo valoret; uo uegativot> en la wlurnna del
lado derecho.
6. Volver optimizar: si esta solucin no pasa una de las pruebas, se puede obtener si
se desea, la nueva solucin ptima partiendo de la tabla actual como tabla simplex
inicial (con las conversiones necesarias) para el mtodo simplex o el sirnplcx dual.
17
ptima cambia y se desee encontrar la nueva solucin, tendrn que aplicarse los pasos 2
y 6 (revisin de la tabla smplex final y reuptimizacin.).
Ejemplo Sea el siguiente problema de programacin lineal:
Maximizar 3x 1 + 5x2
Sujeta a: x 1 :::; 4.
2x2:::; 24.
3x 1 + 2x2 :::; 18.
X1,X2 2 0
La tabla simplex final de este problema original es:
variable ecuacin Lado
bsica numrica z Xl X2 xs X4 X5 derecho
z (O) 1 o o o9
2
5
2 45
xs (1) o 1 o 1 o o 4
X2 (2) o 2 1 o o 1
2 9
x4 (3) o -3 o o 1 -1 6
El nuevo problema de optimizacin cambiando los parmetros:
z 1* - c,1 = y*A'1 - C 5]
= [0, 0, 2
[~]-4=1
18
Ai =S* A~=
19
reducido para Xj, porque es la cantidad mnima que debe reducirse el costo unitario de
la actividad j para hacer que valga la pena realizarla (aumentar el valor de Xj en ms de
cero), el valor de (zj - Cj) es entonces el incremento m.ximo permitido en ej para que la
solucin bsica factible actual siga siendo ptima.
La tabla siguiente, muestra est informacin para el modelo actual, las ltimas 3 colum-
nas se usan para calcular el intervalo permisible para cada coeficiente ci que son:
e1 :::;; 3 + 4,5 = 7,5
e2~5-3=2
Hasta aqu, se ha descrito como calcular el tipo de informacin slo para variables no
bsicas, para una variable bsica x 2 , el costo reducido automticamente es O. Se dejar al
lector como tarea obtener el intervalo permisible para Cj cuando Xj es una variable bsica.
La tabla de cambios permisibles:
X2 9 o 5 00 3
o
nalisis de cambios simultneos en los coeficientes de la funcin objetivo
20
1.4. Mtodo de penalizacin de gran M
Estudiaremos problemas de programacin lineal de la forma:
Donde x = (x1, x 2 , , Xn) es un vector real den componentes, A es una matriz real de m
filas y n columnas, y e es un vector real de n componentes.
Se introduce el vector artificial Xa de longitud m(xaE~m), con lo cual se obtiene el sistema
de restricciones:
Ax+xa = b
X,Xa ~ 0.
Considerando b ~ O, la solucin factible inidal esta dada por Xa = b y x = O.
Se considera el siguiente problema:
Problema P(!vi):
mm1m1zar (e, x) + Ml.xa
sujeta a : Ax + Xa = b
X,Xa ~ 0
Donde 1 es un vector compuesto de unos, con la dimension dependiendo de la dimensin
o longitud de Xa.
Como el problema P(M) tiene una solucin factible entonces al resolver el problema por
el mtodo simplex es posible que se presente uno de los siguientes casos [1]:
21
2. Se concluir que P(A1) tiene una solucin ptima no acotada, es decir z ---t -oo.
22
obtiene:
Zj- Cj = ~f=ICiYij + M(~Y~p+1Yij)- Cj
Afirmacin ~f=IYii ~O; j=m+1, ... ,n.
Recordar primero que Yk ::::; O, por tanto ~~p+IYik::::; O se satisface trivialmente. Suponga-
mos por contradiccin que ~~p+IYii > O, para alguna variable no bsica Xj, de la ecuacin
anterior y como M es muy grande, se concluye que Zj - Cj es un nmero positivo muy
grande, lo cual viola la definicin de Zk- Ck con Yk ::::; O, por lo tanto ~~p+lYii ::::; O para
todo j =m+ 1, ... , n. Sumando las m- p ecuaciones de la tabla del simplex formado por
las variables artificiales , se tiene:
Si el problema P tiene una solucin factible, entonces Xi = O para todas las variables
artificiales, desde i = p + 1, ... ,m. Adems Xj ~ O y ~~p+IYii ::::; O, por lo tanto el lado
izquierdo de la ecuacin (1) es menor igual a cero, sin embargo el lado derecho siempre es
positivo, ya que no todas las variables artificiales son iguales a cero, esto demuestra que
no puede ver soluciones factibles para el problema original P.
Cuan grande debe ser A1? Observar que hay un valor finito para M, es rroneo considerar
simplemente la magnitud de los coeficientes de la funcin objetivo, tambin es neceRario
considerar cun chica puede ser la suma de las variables artificiales en una solucin bsica
factible, veamos el siguiente caso:
Problema P:
minimizar x1
sujeta a : Ex 1 - x 2 ~ O
X,X2 ~ 0
Problema P(M):
minimizar x1 + M x4
sujeta a : tX - x2 - X3 + X4 = E
X, X2, X3, X4 ~ 0
El problema P(M) tiene soluciones factibles (1, O, O, 0), (0, O, O, t), la primera de estas es
factible para P, aunque la segunda no lo es; en P(M) el valor de la funcin objetivo eva-
luado en (1, O, O, O) es 1 y de (0, O, O, t) es t.M, por lo tanto sera aconsejable que t.A1 > 1,
es decir que lvf > ~.
23
Captulo 2
Programacin dinmica
La programacin dinmica [3] es una tcnica matemtica til en la toma de una serie de
declionm; interrelacionadaH. Proporciona un procedimiento ~;temtico para determinar
la combinacin ptima de decisiones. Comencemos con un ejemplo:
E F G
B 7 4 6
e 3 2 4
D 4 1 5
24
H I
E 1 4
F 6 3
G 3 3
~
Li_j_J
Cual es la ruta que minimiza el costo total de la pliza?
Solucin del problema:
Un enfoque posible para resolver este problema es el de prueba y error. Sin embargo el
nmero de rutas posible es grande (18) y el clculo del costo total para cada ruta no es
tarea atractiva.
La programacin dinmica proporciona una solucin con mucho menos esfuen:o qm~ la
enumeracin exhaustiva. La programacin dinmica comienza con una pequea porcin
del problema original y encuentra la solucin ptima para el problema ms pequeo.
Despes agranda gradualmente el problema y encuentra la solucin ptima actual a par-
tir de la que precede , hasta resolver el problema original completo.
En el problema de diligencia se comienza con el problema sencillo en el que el agente casi
ha llegado al final de su viaje y solo tiene una etapa ms por recorrer. La solucin ptima
obvia para este problema reducido es ir del estado actual a su destino final (estado J).
2 .1.1. Formulacin
Sea Xn(n = 1, 2, 3, 4) la variable de desicin que representan el destino inmediato de
la etapa n(el n-simo viaje que se har en diligencia). Entonces: la ruta seleccionada es
A ----* X ----* X2 ----* X3 ----* X4 = J.
Sea fn(s, Xn) el costo total de la mejor poltica global para las etapas restantes, dado que
el agente de ventas se encuentra en el estado s, listo para iniciar la etapa n y elige Xn
como destino inmediato. Dados y n, sea x~ el valor de Xn que minimiza fn(s, Xn) y sea
f~(s) el valor mnimo correspondiente de fn(s, Xn) , entonces:
en donde:
fn(s, Xn) =costo inmediato etapa n+costo futuro mnimo
(etapa n + 1 adelante).
fn(s,xn) = Csxn + .f~+ 1 (xn) El valor de Csxn esta dado por la tablas anteriores Cij esta-
bleciendo i = s (el estado actual) y j = Xn (destino inmediato). Como el destino final se
alcanza al terminar la etapa 4, f5(J) =O.
25
El objetivo es encontrar fi(A) y la ruta correspondiente. Programacin dinmica encuen-
tra la ruta al hallar sucesivamente !4 (s), !3 (s), f~ (s) para cada uno de los estados posibles
de s y usar despus !2 (s) para encontrar Ji (A).
26
s \x2 E F G f2(s) x;
B 11 11 12 11 EoF
e 7 9 10 7 E
D 8 8 11 8 EoF
Si se pasa el problema de la primera etapa (n = 1), con las cuatro etapas por recorrer, los
clculos son parecidos a las que se acaban de mostrar para la etapa n = 2, excepto que
solo hay un inicio posible, s = A.
X!= B: !I(A, B) = CA,B + f2(B) = 2 + 11 = 13.
x1 =e: JI(A,C) = cA,c +:;(e)= 4+ 7 = 11.
X1 = D: f1(A, D) = CA,D + f2(D) = 3 + 8 = 11.
27
los estados (territorios) en los que el cazafortunas puede estar al iniciar esa jornada
espedfica de viaje. En este caso el nmero de estados es finito, puede darse el caso
que los estados puedan ser infinito, como analizaremos ms adelante.
4. El procedimiento de solucin esta diseado para encontrar una poltica ptima para
el problema completo.
En el problema de la diligencia, el procedimiento de solucin construyo una tabla
para cada etapa n, que prescribe la decisin ptima x~ para cada estado posible
s. La programacin dinmica proporciona nna poltica Robre que hacer en toda."
las circunstancias posibles, proporcionar esta informacin adicional ms all de slo
especificar una solucin ptima.
5. Dado d estado actual, una plitica ptima para la.<~ etapas restantes es independien-
te de la poltica adoptada en etapas anteriores. Por lo tanto, la decisin inmediata
ptima depende slo del estado actual y no de como se lleg ah. Este es el principio
de optimalidad de programacin dinmica.
En el ejemplo dado el estado actual en el que se localiza el cazafortuuas, la pliza de
seguro de vida ptima desde este lugar en adelante es independiente de cmo llego
ah.
28
de la etapa n, se necesita encontrar el valor de Xn que obtiene el mnimo. El costo
mnimo correspondiente se obtiene al usar este valor de Xn y despus siguiendo la
poltica ptima cuando el proceso se encuentra en el estado Xn en la etapa n +l.
La forma precisa de la relacin recursiva difiere de un problema a otro de progra-
macin dinmica, veamos est relacin recursiva:
N =nmero de etapas.
n =etiqueta para la etapa actual (n = 1, 2, ... ,N).
sn =estado actual para la etapa n.
Xn =variable de decisin para la etapa n.
Xn =valor ptimo para la etapa n de Xn (dado sn).
fn(sn, Xn)=Contribucin a la funcin objetivo de las etapas n, n + 1, ... ,N; si el sis-
tema se encuentra en el estado sn en la etapa n, la desicin inmediata es Xn y en
adelante se toman decisiones ptimas.
La relacin recursiva siempre tendr la forma: f~ (sn) = minimoxn {fn( Bn, Xn)}.
En donde .fn(sn, Xn) se escribe en trminos de sn, Xn, .f~+l (sn+ 1 ). Lo que hace que la
expresin para .f~ (sn) sea una relacin recursiva es la inclusin de .f~+l (Bn+I) en el
lado derecho, de manera que f~ (sn) esta definida en trminos de f~+l (sn+l).
Etapa Etapa
n n+1
Xn
Estado: (sn) ---+ (sn+l)
contribucion Xn
Valor: .fn(Sn, Xn) .f~+l(sn+l)
29
En la etapa n el proceso esta en algn estado Sn. Al tomar la decisin Xn se mueve hacia
algn estado sn+l en la etapa n + l. La contribucin a la funcin objetivo de ese punto
en adelante se calcul como!~+ 1(Sn+ 1).
Una manera de clasificar los problemas de programacin dinmica determinstica es por
la forma de la funcin objetivo. Por ejemplo, el objetivo puede ser minimizar la suma
de las contribuciones de cada etapa individual ( como en el problema de diligencia), o
maximizar esa suma, o bien minimizar el producto de los trminos, etctera. En particular,
los estados Sn pueden estar representados por una variable discreta (como en el problema
de diligencia), o por una variable continua.
Se vern varios ejemplos para ilustrar esas posibilidades:
Problema de distribucin de brigadas mdicas a diferentes pases El consejo
mundial de salud se dedica a mejorar la atencin mdica en los pases de desarrollo.
Dispone de 5 brigadas mdicas que deben ser asignadas a tres pases con el fin de mejorar
el cuidado de salud, la educacin para la salud y los programas de capacitacin. El consejo
debe determinar cuantas brigadas asignar, a cada uno de estos pases para maximizar la
medida de eficiencia de las cinco brigadas.
La medida de desempeo se da en trminos de los aos de vida adicionales por persona
(para pas especfico, esta medida es igual al incremento en el promedio de vida esperado
en aitos, multiplicado por su poblacin).
En la tabla siguiente se dan las estimaciones de estos aos de vidas adicionales por persona
(en mltiplos de 1000) para cada pas y para cada asignacin posible de brigadas mdicas.
Cul C$ la asignacin que ma..ximi:r,a el desempeo?
Brigadas Pais
medicas 1 2 3
o o o o
1 45 20 50
2 70 45 70
3 90 75 80
4 105 110 100
5 120 150 130
Formulacin:
Este problema requiere que se tomen 3 decisiones interrelacionadas, brigadas que conviene
asignar a cada uno de los tres pases. Estos tres pases se pueden considerar como las 3
etapas en la formulacin de programacin dinmica. Las variables de decisin Xn son el
nmero de brigadas que se asigna a la etapa pas n.
La identificacin de un estado:
sn =nmero de brigadas mdicas todava disponibles para asignarse a los pases res-
tantes (n = 1,2,3). As en la etapa 1 cuando todava quedan por asignar brigadas a
30
los tres pases, s 1 = 5. Sin embargo en las etapas 2 o 3, Sn es 5 menos el nmero de
brigadas asignadas en las etapas anteriores, de manera que la secuencia de estados es:
S = 5, s2 = 5 - x 1 , s3 = s2 - x 2. Con el procedimiento de programacin dinmica que se
resuelve hacia atrs etapa por etapa , cuando se trabaja en la etapa 2 o 3, todava no se
han obtenido las asignaciones de las etapas anteriores. Por lo tanto, se deben considerar
todos los estados posibles al iniciar la etapa 2 o 3, a saber, sn =O, 1, 2, 3, 4, o 5.
El problema es encontrar la trayectoria del estado inicial 5 inicio de la etapa 1 al estado
final O de la etapa 3 que mmcimice la suma de los nmeros a lo largo de la ruta.
Para establecer el problema completo matemticamente, sea Pi(xi) la medida de desem-
peo obtenida si se asignan Xi brigadas mdicas al pas i, segn los datos de la tabla
anterior, entonces el objetivo es elegir XI, x 2 y x 3 para:
Pn(Xn)
Valor: fn(sn, Xn) J~+l (Sn - Xn)
= Pn(Xn) + ! 1:+1 (sn- Xn)
En consecuencia, la relacin recursiva que enlaza las funciones ;, !2, !3 para este proble-
ma es:
j~ (sn) = maximizarxn=O,l, ... ,sn {Pn(Xn) + f~+l (sn - Xn)}, n = 1, 2.
En el ca..:;;o de la ltima etapa: jj(s3) = maximizarxa=O,l, ... ,s3 P3(x3)
Procedimiento de solucin:
Comenzando con la ltima etapa n = 3, se observa que los valores de p 3 (x 3 ), dado en la
ltima columna de la tabla, los valores aumentan hacia abajo de la columna, entonces, si
se dispone de s3 brigadas mdicas para asignar al pas 3, el mximo de p3(x3) se logra de
31
manera automtica al asignar todas las 83 brigadas , as x3 = 83 y .f3(s3) = p 3 (s3), como
se puede ver en la tabla siguiente:
Ahora el proceso se mueve hacia atrs para comenzar con la penltima etapa (n = 2).
Para encontrar x2 se requiere calcular y comparar h(s 2 , x 2 ) para los distintos valores
posibles de x2 =O, 1, ... , s 2.
A continuacin se resumen los clculos en este caso para s2 = 2.
Frmula h(s2, x2) = P2(x2) + .f3(2- x2).
h(2, O) = P2(0) + .f3(2) =O+ 70 = 70.
h(2, 1) = P2(1) + .f3(1) = 20 +50= 70.
h(2, 2) = P2(2) + .f3(0) = 45 +O= 45.
Debido a que el objetivo es maximizar, x2 =O o 1 con .f2(2) = 70.
Continuando de una manera similar con los otros valores posibles de s 2 , se llega a la
siguiente tabla:
n=2:
82\ X2 o 1 2 3 4 5 .f2(s2) x2
o o o o
1 50 20 50 o
2 70 70 45 70 Oo1
3 80 90 95 75 95 2
4 lOO 100 115 125 110 125 3
5 130 120 125 145 160 150 160 4
En esta ltima etapa, el nico estado que debe considerar:=-e e::; el inicial, s 1 = 5, como se
describe en seguida:
Si se asigna x 1 brigadas mdicas al pas 1 se llega al estado 5 - X1 brigadas disponibles
en la etapa 2. Se resumen los clculos para cada valor posible de la variable de decisin:
Frmula: j 1 (5,x) = p 1 (x) + .f2(5- x 1 ).
f(5,0) = P(O) + f2(5) =O+ 160 = 160.
f(5, 1) = P 1 (1) + .f2(4) = 45 + 125 = 170.
f(5, 2) = P(2) + !2(3) = 70 + 95 = 165.
j 1 (5, 3) = P1 (3) + f2(2) = 90 + 70 = 160.
f(5,4) = P 1 (4) + .f2(1) = 105 +50= 155.
32
f(5, 5) = H(5) + !2(0) = 120 +o= 120.
Se muestran los clculos paJa XI = 1, 2, 3, 4 y 5; y se verifica que xr = 1 con fi(5) = 170.
s1 \ x2 o 1 2 3 4 5 ft(si) x*1
5 160 170 165 160 155 120 170 1
Formulacin
Los problemas de distribucin de esfuerzo incluye la asignacin de un recurso a cierto
nmero de actividades, la formulacin es la siguiente:
Etapa n=actividad n (n = 1, 2, ... ,N).
Xn = cantidad de recursos asignados en la etapa n.
Estado sn = cantidad de recursos disponibles para asignarse a las actividades restantes
(n,n+1, ... ,N).
Cuando el sistema inicia la etapa en el estado sn, la eleccin de Xn siempre da como
resultado que el siguiente estado en la etapa n + 1 sea sn+l = sn - Xn, veamos el siguiente
diagrama:
Etapan: n n+l
33
Ejemplo: Programacin de nivel de empleados
A continuacin se dan las estimaciones sobre la mano de obra requerida durante las
cuatro temporadas del ao para un futuro cercano:
Formulacin:
Si el anlisis se basa en los datos disponibles, los niveles de empleo para cada temporada
no debe ser mayor que 255, que es el nivel ms alto de empleo en una temporada. El
problema se reduce a encontrar los niveles de empleo para las otras temporadas.
Las etapas son las temporadas, existe un nmero indefinido de etapas: sin embargo cada
ao comiemm con un ciclo idntico, y como se conoce el nivel de empleados pRra la
primavera, es factible tomar en cuenta slo un ciclo de cuatro temporadas que termine en
primavera.
Etapal =verano.
Etapa2 =otoo.
Etapa3 =invierno.
Etapa4 =primavera.
Xn nivel de empleados para la etapa n(x4 = 255).
Es necesario que la temporada de primavera sea la ltima etapa porque debe conocerse o
poder obtenerse el valor ptimo de la variable de decisin para cada estado en esta ltima
etapa.
Sea: r n =mano de obra nnirna requerida en la etapa n (estos requerimiento se dieron en
la tabla: r 1 = 220, r2 = 240, r 3 = 200 y r 4 = 255).
Los nicos valores factibles para Xn son: rn ::; Xn ::; 255.
Para los costos: Costo en la etapa n := 200(xn- Xn- 1 ) 2 + 2000(xn- rn)
Observar que el costo depende de los empleados de la etapa anterior(xn_I).
34
n rn Xn factible Sn = Xn-1 posibles Costo
1 r1 = 220 (220 :::; X :::; 255) S= 255 200(x 1 - 255)2 + 2000(x 1 - 220)
2 r2 = 240 (240 :::; X2 :::; 255) (220 :::; S2 :::; 255) 200(x 2 - x 1 )2 + 2000(x2 - 240)
3 r3 = 200 (200 :::; X3 :::; 255) (240 :::; S3 :::; 255) 200(x3- x2) 2 + 2000(x3- 200)
4 r4 = 255 (x4 = 255) 200 :::; S4 :::; 255 200(255 - x3)2
Estado Sn = Xn-1 Cuando n = 1, S= X0 = X4 = 255.
El objetivo de este problema es elegir {x1, x 2 , x 3}(con Xo = x 4 = 255) tales que:
4
Ininimizarr.:S:xt:S:255 L [200(xi- Xi-1) 2 + 2000(xi- ri)].
i=n+l
En donde esta suma es igual a cero cuando n = 4 (porque no tiene trminm;). Tamhin:
f~(sn) = minimizarrnsxn955fn(Xn, sn), entonces:
fn(sn, Xn) = 200(Xn- Sn) 2 + 2000(Xn- rn) + ~~+1 (xn)
Como !5 es definido como cero, pues los costos despus de la etapa 4 son irrelevantes al
anlisis. Estructura bsica para el problema:
Etapa Etapa
n n+1
Procedimiento de Solucin.
Etapa 4: al comenzar la ltima etapa n = 4 1 se sabe que x = 255, de manera que los
resultados son:
84 f4(s4) x*4
2
200 ::; S4 ::; 255 200(255 - s 4 ) 255
Etapa3: para el problema que consiste nada ms de las ltimas dos etapas, la relacin
recursiva se reduce a:
f3(s3) = minimizar2oo:s;x3 955{200(x3- s3)2 + 2000(x3- 200) + JJ(x3)}
35
!3(83) = minimizar2oo:s;xa:955{200(x3- 83) 2 + 2000(x3- 200) + 200(255- x3)2}
En donde los valores de 8 3 son 240 ~ 8 3 ~ 255.
Se quiere obtener el valor de x 3 que minimice, en trminos de 83, considerando que 83
tiene un valor fijo.
8
13~::' 83 ) = 400(x3 - 83) + 2000 - 400(255- x3).
8
/3~:~' 83 ) = 400(2x3 - 83 - 250) = O.
x* _ 83250
3- 2
Como la segunda derivada es positiva, y como esta solucin xj se encuentra en el intervalo
factible de x3(200 ~ x 3 ~ 255), para todos los valores posibles de 83(240 ~ 8 3 ~ 255), por
lo tanto xj es el mnimo.
!3(83) = !3(83,x3) = 200( 83 ~250 - 83)2 + 20ooe3-+;250 - 200) + 200(255- 83 -+;250 ) 2.
Al reducir algebraicamente esta expresin, se obtiene la siguiente tabla:
83 !3(83) x3
240 ~ 83 ~ 255 50(250- 83)2 + 50(260- 83)2 + 1000(83 - 150) 8a250
2
Etapa 2: Para n = 2:
!2(s2, x2) = 200(x2- s2) 2 + 2000(x2- r2) + f3(x2)
h(s 2, x 2) = 200(x2 - 82)2 + 2000(x2 - r2) +50(250- x2) 2+ 50(260- x 2)2+ 1000(x2 -150).
Los valores posibles de 82 son 220 ~ 82 ~ 255, y la regin factible para x2 es 240 ~ x2 ~
255. El problema es encontrar el valor de x 2 que de el mnimo en ese intervalo, de modo
que:
f2(s2) = minimizar240:s;x2 :::;255{!2(82, x2)}.
8
h1~t 2 ) = 200(2x2 - 2s 2 + 10- 255 + x2 + 5).
8
h(s 2 ,x 2 ) = 200(3x2 - 282 - 240) =O
8x2
Se llega a x = 240 282 .
2 !
La segunda derivada parcial es mayor que cero.
Para 82 fijo, si 82 est entre 240 ~ 82 ~ 255, entonces 240 ~ x 2 ~ 255, de manera que
x 2 = 240 j 252 e.s el valor mnimo fijado. Para 200 ~ s 2 < 240, con 240 ~ x2 ~ 255 se tiene
que 8h~:~x 2 ) = 200(3x2 - 28 2 - 240) > O, de manera que x 2 = 240 es el valor mnimo
deseado.
82 !2(82) x2
220 ~ 82 ~ 240 200(240 - 82) 2 + 1500 240
240 ~ 82 ~ 255 29g ((240 - s 2)2 + (255 - s2)2 + 240282
3
(270 - 82)2 + 2000( 82 - 195)
Etapa 1:
JI (8 1, X) = 200(x - 81) 2 + 2000(x - 1) + f2(x).
Como r 1 = 220, la regin factible es 220 ~ x 1 ~ 255. La expresin es diferente para los
36
dos intervalos 220 ~ x1 ~ 240 y 240 ~ x1 ~ 255. Por lo tanto:
S fi(s) xi
255 18500 247,5
Formulacin.
37
la etapa n =la actividad n, as Xn es la variable de decisin en la etapa n.
La cantidad de holgura que queda en las restricciones funcionales y el lado derecho de
las restricciones (4, 12 y 18), se interpreta como la cantidad total disponible de recursos,
entonces el estado 8n se puede definir como la cantidad de los recursos todava disponibles
para ser asignados a las actividades restantes. Observar que ahora se tienen 3 tipos de
recursos en lugar de uno solo. Entonces:
8n = (RI: R2, R3).
8 = (4, 12, 18).
82 = (4- x 1 , 12,18- 3x 1).
Este valor de 8 2 es cuando se conoce el valor de x 1 ; ahora cuando se inicia a partir de la
etapa 2, no se conoce el valor de x 1 , por lo tanto se usa 8 2 = (R, R 2, R 3).
Este problema tiene 3 variables de estado, es decir, un vector de estado con tres compo-
nentes, en lugar de una en cada etapa. Cada una de las variables de estado es continua.
El problema es lo suficientemente pequeo para resolverlo sin dificultad: definamos las
siguientes funciones:
h(R, R 2, R3, x 2) := contribucin de la actividad 2 a z si el sistema se encuentra en el
estado ( R 11 R 2 , R 3 ): al iniciar la etapa 2 la decisin es x 2 , explcitamente:
h(R, R2, R3, x2) = 5x2.
f 1 ( 4, 12, 18, xi) := contribucin de la actividad 1 y 2 a z si el sistema se encuentra en el
estado (4, 12, 18) al iniciar la etapa 1, la decisin inmediata es x 1 luego se toma la decisin
ptima en x 2 , explcitamente:
38
Detalle 1 se usar para resolver el problema de dos etapas. Detalle 2 muestra la estructura
billiica de programacin din:rnka para e~te problema. Detalle 3 proporciona una relacin
recursiva entre Ji y J2 que se usar para resolver el problema de la etapa l.
Procedimiento de solucin
Para resolver la etapa 2, indica que x2 debe ~er el valor ms grande de x 2 que satisface
simultneamente 2x2 :s; R2 , 2x2 :s; R 3 y x 2 ~ O. Si suponemos que R 2, R 3 ~ O, para
que existan soluciones factibles, este valor ms grande e..c;; el mas pequeo de y ., . Por lf
consiguiente:
(R1,R2,R3) J:j(R, R2, R3) x*2
R2,R3 ~O 5minimo{ fu & } mnimo{ fu & }
2 ' 2 2 ' 2
Etapa 1: Reemplazamos (R1, R 2, R3 ) = (4- x 1, 12,18- 3x1), de manera que:
J2 (4 - x1, 12, 18 - 3x) = 5minimoei, 1823x1 }; luego:
Ji( 4, 12, 18) = maximizar {3x 1 + 5minimo{ ~, IS-23x 1 } } .
X :s; 4.
X~ O.
En el intervalo factible O :s; x 1 :s; 4,
. . {6 , 18- 3x 1 } = { 6 , 0 :s; X :s; 2
miilliUO
2 9 - ~X , 2 :s; X :s; 4
de manera que:
Maximizaro::;x 1 $4 {3x 1 + 5minimo{6, 1823x1 } } =
(R 1,R2,R3) Ji(R1,R2,R3) xj
(4,12,18) 36 2
Como el valor de xi = 2, en el ptimo R 1 = 4 - 2, R 2 = 12 y R3 = 18 - 3(2) = 12, para
la etapa 2, se tiene que x2 = mnimo{~, ., } = mnimo{ 6, 6} = 6. El valor ptimo de z
e~ 3, vcarno~ la c~tructura b~ka de ~te problema:
Etapa1 Etapa2
X
Flujo en redes
-
El objetivo de esta captulo es una simplificacin del mtodo simplex de modo que sea
posible aplicarlo a la red sin necesidad de utilizar la tabla del simplex.
40
Definicin 3.1.1 Trayectoria, una trayectoria P del nodo i 0 al nodo ip, es una sucesin
de arcos
P = {(i0 , i), (i, i2), ... , (ip-1, ip)}
en la cual el nodo-de de cada arco es el mismo que el nodo-a de cada arco precedente en
la sucesin y todos los nodos i 0 , i1, ... , ip son distintos.
Definicin 3.1.2 Cadena, una cadena es una estructura semejante a una trayectoria,
con la excepcin de que no todos los arcos estn dirigidos hacia el nodo ip.
Definicin 3.1.3 Circuito, un circuito es una tmyectmia de algn nvdv 0 a algn nudv
ip ms el arco (ip, i 0 ).
Definicin 3.1.4 Ciclo, un ciclo es una cadena de algn nodo ia a algn nodo p ms
el arco (ip, ia) o el arco (ia, ip)
Tener en cuenta:
trayectoria ==> cadena.
Circuito ==> ciclo.
Definicin 3.1.5 Conexa, la digrfica subyacente G del problema de flujo de costo mni-
mo en una red es conexa, si existe una cadena entre cualquier par de nodos en G.
Definicin 3.1.6 Una Subdigrfica G' 0( )R') de una digrfica de G(N, ~), es
aquella que satisface N'~ N y )R' ~ )R, en el entendimiento que si (i,j)E)R' entonces tanto
i como j pertenecen a N'; si G' =1 G se dice que G' es una subdigrfica propia de G; si
N' =N, entonces se dice que G' es una subdigrfica de expansin de G.
Definicin 3.1.9 rbol de expansin, es una subdigrfica con respecto a alguna digrfi-
ca subyacente G, adems es un rbol que incluye a todos y cada uno de los nodos de la
digrfica G, es decir, se trata de una subdigrfica conexa de expansin sin ciclos.
Tener en cuenta:
Definicin 3.1.10 Bosque, es una digrfica sin ciclos esto es tiene un rbol (subdigrfi-
ca), como cada una de sus componentes.
41
Definicin 3.1.11 Grado de un nodo, es el nmero de arcos que inciden en este nodo.
Definicin 3.1.12 Grado dentro del nodo i, es el nmero de arcos que tiene a i
como su nodo-a.
Definicin 3.1.13 Grado fuera del nodo i, es el nmero de arcos que tiene a i como
su nodo-d.
Proposicin 3.1.1 Sea T un rbol con m(2 2) nodos y sea (i,j) un arco de T entonces
al eliminar el arco (i,j) de T, dejando los nodos i y j en T, se descompone T en dos
rboles T1 y T2.
Prueba [1] Al desconectar (i,j) deben obtenerse r 2 2 componentes, siendo cada una de
estas componentes un rbol, al ser componente (conexa por definicin) y si tuviera un ciclo
, al colocar (i, j) debe tenerse un ciclo en T, lo que es una contradiccin, cada componente
es un rhol; al volver conectar (i, j) no es posible conectar mas de dos componentes(> 2),
y en virtud de que Tes conexo, entonces se debe tener que 1 = 2. 0
Proposicin 3.1.2 Sea T un rbol propia, entonces T tiene por lo menos dos nodos
terminales.
Prueba [1] Esto es cierto para un rbol con dos nodos, supongamos que esto eR cierto para
un rbol con m- 1 nodos, se demostrar que esto es cierto para un rbol con m(m 2 3)
nodos, se elimina algn arco (i,j) de T, creando dos rboles T1 y T2 , cada uno con no
ms de m - 1 nodos, veamos por casos:
-Si T1 o T2 tienen solamente un nodo, supongse que T1 tenga solo un nodo, entonces T2
tiene m- 1 nodos, por induccin se tiene a lo menos dos nodos terminales en T2 , entonces
al conectar (i, j) es posible perder cuando mucho uno de tal nodos terminales del rbol
T2 , por lo tanto, T tiene a lo menos dos nodos terminales.
-En caso contrario si T1 como T2 tienen por lo menos dos nodos, entonces tienen en total
por lo menos cuatro nodo terminales, y volver a colocar (i, j) puede dar la prdida de cuan-
do mucho dos nodos terminales, por lo tanto, T tiene a lo menos dos nodos terminales. 0
Prueba [1] Esto es evidentemente cierto para m= 1 2. Por induccin supongamos que
esta propiedad se cumple para un rbol con m - 1 nodos, consideremos un rbol con m
nodos con m 2 3, por la proposicin anterior existe un nodo terminal i, si se desconecta
42
el arco incidente en el nodo terminal, se obtienen dos rboles T1 y T2 , en donde T1 tiene
solamente un nodo (nodo i), y T2 tiene m- 1 nodos, por hiptesis de induccin tiene
m- 2 arcos, entonces T tiene (m- 2) + 1 =m- 1 arcos. 0
Prueba [1]
(1) ====> (2) proposicin 3.1.3.
(2) ====> (3) si contiene un ciclo, eliminamos un arco del ciclo y preservamos la conexidad,
recursivamente eliminamos arcos de los ciclos que se han formando, y seguimos preservan-
do la conexidad, luu;ta obtener una digrafica conexa sin ciclos, obtenemos un rbol con
m nodos, por la proposicin 3.1.3 debe tener m- 1 arcos, lo cual se contradice ya que
eliminamos arcos, de los m - 1 arcos que tenamos de hiptesis.
(3) ====> (4) Si T no fuera conexa, entonces T s e descompone en componentes conexas,
que al unir dos componentes traves de un arco, es posible reducir a una componente sin
obtener ciclos, ya que si hubiera dicho ciclo, las componentes antes de agregar el arco es-
taran conectadas por un arco, y dado que dichos nodos del arco estn conectados en una
sola direccin, ya no se tendra dos componentes, seguimos de esta manera y obtenemos
un digrfica conexa sin ciclos, pero que tiene ms de m - 1 arcos, lo cual contradice la
proposicin 3.1.3, por lo tanto se demuestra que T es conexa, por lo tanto, es un rbol
por no tener ningn ciclo, y de la proposicin 3.1.1, desconectamos un arco del rbol T y
se obtienen dos componentes.
(4) ====> (5)si hay un ciclo, por lo mismo hecho en (2) implica (3) se elimina un arco, y
prf'A<~ervamos la conexidad, la cual es contmdictorio con la hiptesis, de que se obtienen
dos componentes. La existencia de que dos nodos cualesquiera estn conectadas por una
cadena, es por ser conexa. Supongamos que existen dos cadenas diferentes que conectan
un par de nodos, sean i y j dichos nodos diferentes, existe un arco 1 que est en una
cadena y no en la otra cadena, entonces al eliminar dicho arco, no se van obtener dos
componentes, esto es, sean dos nodos cualesquiera, esos dos nodos estn conectados por
una cadena en la digrfica conexa original, si ningn arco de la cadena es igual al arco
1, entonces esto es una cadena para la digrfka nueva, pero Ri dicha cadena contiene el
arco 1, entonces se pueden formar otra cadena, con los arcos restantes (menos 1) de las
43
dos cadenas que conectaban i y j; lo que se contradice con la hiptesis de obtener dos
mrnponente~:;, por lo tanto i y j estn <;onedadas por uua ~:;ola <;adena.
(5) ===? (1) De la hiptesis Tes cone.xa, supongamos que hay ciclos, entonces van a existir
un par de nodos que se conectan por cadenas diferentes, lo cual es una contradiccin. 0
Condicin de conservacin [1], los flujos de los arcos que se crean en las fuentes
(al nodo con bi > p), y llegan hacia los destinos (al nodo con bi <O); se estipula que para
cada nodo i, la suma total de flujos de lo;; arcos que salen en el nodo i debe ser igual a la
suma total de flujos de los arcos que entran al nodo i ms la cantidad bi.
Proposicin 3.2.1 A es una matriz de rango m- 1 (Se supone que A es una matriz
nodo-arco incidencia de una digrfica. conexa.}.
Prueba (Ver [1] p.407- 408) No puede ser de rango m, esto es si tomamos m columnas
cualesquiera, cada columna tiene solo dos elementos distinto de cero, el 1 y -1; si suma-
mos los m renglones se va obtener el vector cero en Rm, esto nos dice que los renglones son
linealmente dependientes, por lo tanto no tendra rango m la matriz A; al eliminar arcos
presentes en los ciclos de la digrfica conexa G del problema de flujo de costo mnimo
es posible demostrar la existencia de un rbol de expansin. Sea T cualquier rbol de
expansin en la red G, T consta de m nodos con m-1 arcos que no forman un ciclo, dado
que m ~ 2, entonces T tiene por lo menos un nodo terminal k, consideramos la submatriz
Arde A de dimensiones m x m- 1 correspondiente al rbol de expansin T, el k-simo
rengln de Ar contiene un slo elemento distinto de cero, se permutan los renglones y
columnas de modo que este elemento distinto de cero se encuentre en el ltimo rengln
y en la ltima. columna, adem..<; los elementos restantes en el ltimo rengln son ceros,
si eliminamos el ltimo rengln de Ar(matriz permutada) y la ltima columna de Ar se
obtiene la submatriz Ar' de dimensiones m - 1 x m - 2, de manera que esta submatriz
representado como una digrfica T se obtiene eliminando el nodo k y el arco incidente
44
sobre el nodo k, y observar que T' tambin es un rbol, y debe contener por lo menos
un nodo terminal, el rengln en Ay' correspondiente a este nodo terminal, contiene un
slo elemento distinto de cero, y podemos permutar Ar de tal manera que la penltima
colunma y el penltimo rengln contenga a este elemento distinto de cero, y as sucesiva-
mente, esto es posible continuar m :- 1 veces, se obtiene una matriz Ar, que al eliminar
~1 primer rengln de Ar se obtiene una matriz triangular inferior (m - 1) x (m - 1) cuyos
elementos de la diagonal son distintos de cero, por lo que esta matriz es no singular, as el
rango de A es m - Lo
Observacin: En la demostracin anterior la matriz correspondiente al rbol de expan-
sin que tiene dimensiones m x m -1 denotemos por B dicha matriz, si a dicha matriz le
agregamos una columna ms, un vector unitruio ei en Rm, donde en la i - posicin tiene
un elemento 1 y los elementos restantes son ceros, formamos una matriz e= [B; ei] esta
matriz tiene rango m, en efecto, la matriz e de dimensiones m x m, sea el sistema:
Bu=O
45
Definicin 3.3.1 Sea una matriz [A; em] de nodo-arco incidencia, una submatriz B(m x
m) de [A; em] e~ definido base del pmblema de jlujo de r-edes si es de rango m.
Teorema 3.3.1 Considere un problema de flujo de costo mnimo en una red definido
sobre una digrfica conexa G con un arco raz. Entonces B es una matriz base del problema
si y solo si es la matriz del nodo-arw incidencia de un r-bol de expansin con raz G.
Prueba (Ver [1] p.410) Se demostr que la matriz que representa un rbol de expansin
junto a la variable artificial es una base de la matriz A. Veamos que cualquier base de
[A; em] C1:! una matriz nodo-arco incidencia de uua rbol de expansin con raz, 1:lea B una
matriz m x m base de [A; em] y sea Gs la digrfica cuya matriz nodo-arco incidencia
es B, dado que la columna artificial debe formar parte de toda base y como B es una
matriz m x m, es claro que la digr.fir.a G8 tiene m - 1 arcos y nn arco ra:1;, veamos por
ltimo que Gs no tiene ningn ciclo, supongamos que G8 contiene un ciclo, elijamos un
arco (i, j) del ciclo, y oriente ste ciclo en direccin del arco (i, j), entonces para cada
columna B asociada con un arco en el ciclo, asigne un coeficiente de +1 si el arco est en
la direGn del arGo (i, j), -1 en la direccin contraria y O si el arco no est en el cido, al
aplicar estos coeficientes a las columnas respectivas en B se encuentra que la suma finita
ponderada de estas columnas es el vector cero.
46
La demostracin anterior sigue siendo vlida an si se agregan columnas de vectores
unitarios en Rm doude tiene slo un elemento uno y los restantes elementos son ceros
a A: estas columnas pueden corresponder a variables artificiales; para cualquier base B
de [A;em] se tiene que det(B) = -1 o det(B) = 1, y adems la matriz inversa B- 1
est tambin integrada por valores -1, + 1 o O; la columna actualizada Yii de la tabla del
simplex en cualquier representacin cannica de una solucin bsica factible est com-
puesta de +1's,-1's o O's: a fin de ver lo anterior se observa que Yii esta dada por el
sistema Byii = aij, por lo tanto el k - simo elemento Yiik de Yij esta dada por la regla
de Cramer como:
det(Bk)
Yijk = det(B) .
en donde Bk se obtiene de B al sustituir la k columna por aij, as Bk es una submatriz
cuadrada de A, entonces det(Bk) = +1, -1 o O, dado que det(B) = +1 o -1, entonces se
tiene que Yijk = +1, -1 o O, por lo tanto cualquier columna aij puede obtenerse sumando
o restando columnas bsicas.
Dado que la columna artificial nunca aparece en la representacin de cualquier otra co-
lumna ( como combinacin de las otra<.; columnas) y como la variable artifidal siempre
permanece bsica en el valor cero, desde que la columna artificial siempre aparece en
cualquier base: entonces es posible cualquier valor para el coeficiente de costo asociado,
por ejemplo Ca = O.
Sea la subdigrfiea GB correspondiente a un rbol de expansin eon raz , las eolumnas de
B se les denomina columnas bsicas y las restantes columnas de [A; em] que no contienen
a las columnas de B se les denomina columnas no bsicas: igualmente los arcos de G B se
les denomina arcos hsicoR y los restantes arcos de G que no eRtn en G B son arcos no
bsicos respecto a B.
47
apq = (+l)apj + (-l)aki + .... + (-l)aqt
El Mtodo simplex para problema de flujo en redes [1]
Los pasos generales a seguir son los siguientes:
Supongamos ahora que se tiene a la mano una solucin bsica factible, el problema est de-
finido sobre una digrfica con raz. El proceso de clculo para la obtencin de una solucin
bsica factible avanza de los extremos (nodos terminales) del rbol de la subdigrfica que
repre~euta dicha matriz bru;e hacia la raz, recordar que la~ variable~ no bsicas xu (co-
rrespondiente a los arcos no bsicos (l, t)) estn en el nivel cero, a medida que se avanza
de un nodo a otro se va resolviendo la ecuacin del nodo, esto es, sea el nodo i se resuelve
la ccnR.Cin Ej= 1Xij - E~ 1 Xki = bi.
El mecanismo para calcular Ypq va el sistema Bypq = apq es la siguiente, al conectar el
arco no bsico (p, q) a la cadena formada al unir el nodo p al nodo q en la subdigrfica
GB se forma un ciclo, entonces proporcionamos una direccin a dicho ciclo paralelo al
arco (p, q), ::;i el arw bsico (k, l) que participa en dicho ciclo e::;t en la mi~ma direccin
del arco (p,q) entonces Y(pq)kz obtendr el valor -1, esto es Y(pq)kt = -1, si (k,l) estuviera
en direccin contraria entonces Y(pq)k = +1, y en caso de que el arco bsico (k, l) no
participar en el ciclo Y(pq)kt = O.
Calculo de las variables duales w y Zij - Cij, a fin de calcular Zij - Cij para cada
variable no bsica Xij, primero calculemos el vector multiplicador dual o simplex w (vec-
tor en Rm) a tmvs del sistema wT B = CB y luego determinamos Zij - Cij at.ravs de la
expresin:
48
el valor de la variable dual en el respectivo nodo artificial (correspondiente a la variable
artificial) e::; cero, y luego calcular el valor de cada Wi pero trabajando de la raz (nodo
artificial) del rbol hacia los extremos (nodos terminales); esto no es muy relevante cuando
tomamos la diferencia, desde que la diferencia va depender solo de los costos Cij, esto es
debido a la estructura de la matriz nodo-arco incidencia, si queremos hallar la diferencia
wi- wi para un arco no bsico (i, j), conectamos (i, j) al rbol y obtenemos un ciclo, sean
los arcos bsicos que forman el ciclo {(j, k), (k, l), (p, l), .. , (i, q)} (conjunto finito) , dando
una orientacin al ciclo paralelo al arco (i, j), consideremos + 1 si la direccin es opuesta
al ciclo, -1 si la direccin est en el mismo sentido del ciclo, por lo tanto:
3. Si Wi- Wj- Cij <=O, la diferencia de los potenciales nodales es por lo menos menor
i~:,'llal que la contra presin ejercida por Cij, si esto es cierto para todos los arcos no
bsicos, entonces el sistema est en equilibrio y existe una situacin ptima.
Si definimos Wi = -1ri, de modo que interpretamos el valor de 'lri como el incremento
en el costo en el nodo i si se crea una unidad adicional en el nodo i (tener en cuenta
que la func.in objetivo del problema dual mntiene trminos de la forma biwi, donde bi
representa la cantidad demandada), la ecuacin wi - Wj - Cij = -1ri + 'lrj - Cij tiene
diferentes interpretaciones, si interpretamos cada nodo como un mercado;
l. los arcos bsicos cumplen -7ri + 'lrj - Cij = O esto es =
es decir, la
'lrj 1ri + Cij,
empresa se quiebra inclusive si se adquiere una unidad adicional en el mercado i, se
transporta a lo largo de Cij, se lleva y se vende al mercado j.
49
2. si para un arco no bsico 1fj > 1fi + Cij, un empresario podra considerar rentable
comprar en el mercado i y vender en el mercado j, la gananda neta por unidad sera
de 'lrj- 1fi- Cij(> 0).
3. para cualquier arco no bsico 'lrj ~ 1f + Cij, por consiguiente la empr~a mencionada
no es rentable, si la anterior desigualdad es cierto para todos los arcos no bsicos,
el sistema de mercado se encuentra en equilibrio.
-bkl = mmlmO(r,s)d1
. . { brs
-- : Y(ij)rs = l > O}
Ykl Y(ij)rs
Donde O es el conjunto de arcos bsicos que forman dicho ciclo. Los brs son los valores
bsicos factibles del problema primal del problema de flujo de costo mnimo, denotemos
01 = {(u,p)t:O: Y(j)up = 1 > 0},
50
Por la condicin de conservacin, los arcos bsicos (r, s) que no formaron parte del ciclo,
el valor Xrs se mantiene; para los que formaron parte de dicho ciclo, se actualiza el valor
de Xrs, esto es: los arcos bsicos que tienen el mismo sentido del arco no bsico (i, j)
obtienen el valor Xrs + !::::., los que estn en sentido contrario obtienen el valor Xrs - !::::., el
arco entrante obtiene el valor Xi.j = !::::. y el arco bsico saliente obtiene el valor cero.
Demostraremos como pueden actualizarse las variables duales, en vez de volver a calcularse
empezando con respecto al nuevo rbol bsico, supongamos que Xpq entra a la base y que
Xuv es la variable de salida, desconecte el arco (u, v) del actual rbol bsico, lo anterior
descompone el rbol en dos rboles T 1 y n, con el nodo raz 1 perteneciente a T 1 , por lo
tanto los nuevos valores de las variables duales para los nodos en T1 permanecen iguales
que antes, para el rbol T2 hay dos casos:
Primero caso, si el nodo q e::;t en el rbol 12, dicho nodo se denomina nodo principal con
respecto al arco que entra (p, q), tenemos lo siguiente:
Esta ltima igualdad es claro ya que el valor Wp permanece constante, debido a que nodo
p est en el rbol T1 , en el cual contiene al nodo raz, adems (p, q) entra como nuevo
arco bsico del nuevo rbol, sumando (1) y (2) obtenemos:
Wq(nuevo) - Wq = pq
Para cada arco (i,j) en el rbol T2, una vez que se conoce la variable dual Wq(nuevo)
asociado con el nodo q, es posible calcular el nuevo valor dual Wi(nuevo) para cada nodo i
en T2 segn la expresin:
51
que es posible enviar a lo largo de este ciclo em la direccin del arco entrada (p, q), si
~ 1-7 oo detener el proceso, el problema no est acotado, si 6 es finito, determinar un
arco bsico de salida de bloqueo (u, v). Actualizar el rbol bsico agregndole el arco (p, q)
y actualizar las variables duales aumentando o disminuyendo respectivamente los valores
duales actuales de los nodos en T2 por pq, segn sipo q es el nodo principal en T2 , luego
repetir el paso principaL
l. Se agrega una columna artificial por cada rengln de A 0 , en donde la i-sima columna
artificial es { +,-} ei dependiendo del signo de bi, es decir, +ei si bi ~ O y -ei si
bi :::; o.
Observaciones:
6. Una base factible para este nuevo problema est dado por el rbol de expansin con
raz definido por los m arcos artificiales agTegados junto con el arco raz. Empezando
con esta base factible, usando costos idneos en cada caso, hasta alcanzar factibilidad
52
, en cada caso, si hay factibilidad es posible eliminar todos lo arcos artificiales, con
costos de gran M en el problema, y continuar con la optimizacin.
Sea el rbvl de expansin fvmwdv porlos arws {(1, 5); (2, 3); (3, 4); (4, 5)}, los nodos 1 y 2
son nodos terminales del rbol. Con.sideremos nodo 5 la variable artificial, 11eamos que el
rbol representa una matriz basica factible del problema de flujo de redes, sea la ecuacin
del sistema definido por el rbol:
1 o o o o X1s 1
o 1 o o o X23 5
o -1 1 o o X34 3
o o -1 1 o X45 -4
-1 o o -1 1 Xs -4
1 o o o o 2
o 1 o o o -4
[ 'WI w2 w3 w4 Ws] o -1 1 o o o
o o -1 1 o 3
-1 o o -1 1 o
El proceso de calcular las variables duales consiste de trabajar a partir del nodo raz hacia
los nodos terminales del rbol, tomanndo w 5 = O.
53
En el nodo 4: W4- Ws = 3 =?- w4 = 3.
En el nodo 3: wa- W4 =O=?- w 3 = 3.
En el nodo 2: Wz- w 3 = -4 =?- Wz =-l.
En el nodo 1 :w 1 - w5 = 2 =?- w1 = 2.
Calculamos Zij - Cij para cada arco (i, j) no bsico, para poder aplicar el proceso pivote.
Arco (1,2): z 1z- c12 = w1 - w 2 - c12 = 2- (-1)- 5 = -2.
Arco (4,2): Z42- C42 = w4- Wz- c42 = 3- (-1)- 6 = -2.
Arco (1, 3): Z13- Ca = w1 - w 3 - c 1a = 2- 3- ( -2) =l.
Arco (5, 3) zsa- csa = Ws- wa- csa =O- 3-4 = -7.
Como Z13 - c13 es mayor a cero, entonces x 13 es un candidato para entrar a la base, si
agregamos el arco (1, 3) al rbol, obtenemos un ciclo formado por los arcos:
{(1,3),(3,4),(4,5),(1,5)},
conteniendo el arco (1, 3). El proceso de ajuste para encontrar una nueva solucin bsica
factible, es en'viando una adicional cantidad de flujo 6. alrededor del nico ciclo formado,
al agregar el arco no bsico al rbol, enviando un jbf:jo 6. en la direccin del arr;o no
bsico, corresponde a un crecimiento de flujo a los arcos bsicos que son paralelos al arco
no bsico, y un decrecimiento de flujo a los arcos bsicos que estn en direccin contraria.
El arco (1, 5) es el nico arco en direccin contraria a la direccin del ciclo formado por el
arco (1, 3) entonces 6. = x 15 = 2. Calculemos los nuevos valores factibles:
Xa := Xa + 6. = O+ 2 = 2.
X34 := X34 + 6. = 6 + 2 = 8.
X45 := X45 + 6_ = 2 + 2 = 4.
x 1s := x 1s - 6. = 2 - 2 = O.
Los restantes flujos se mantienen constantes. Como x 15 decae a cero, entonces el ar-
co (1, 5) deja la base, y (1, 3) entra a la base, entonces la nueva matriz bsica factible
est formado por el rbol { (1, 3), (2, 3), (3, 4), (4, 5)}. La nueva solucin bsica factible:
(x13, X23, X34, X45, xs) = (2, 5, 8, 4, O). Calculando las nuevas variables duales, en el ante-
rior 1bol basico, al eliminar el arco (1, 5) del rbol, se obtienen dos rboles bsicos, un
rbol contiene el nodo 5 que es el nodo riz, todos los nodos que contienen dicho rbol
no cambian sus respectivos valores duales, para este caso los nodos son {2, 3, 4, 5}, enton-
ces {w 2 , w 3 , w 4 , w5 } = { -1, 3, 3, O} permanecen invariantes. El tro rbol es solamente el
nodo {1}, dicho valor dual w1, se calcula: w 1 - w 3 = -2 entonces w 1 = +1. Entonces
calculando los Zj - Cij para los arcos no bsicos:
W- Wz- Cz = 1- (-1)- (5) = -3.
W4- Wz- C42 = 3- ( -1)- 6 = -2.
W - w 5 - C 5 = 1 - 0 - 2 = -l.
Ws - wa - csa = O - 3 - 4 = -7.
Se obtienen que los wi - Wj - Cii son menores iguales a cero para los arco.s no bsicos,
entonces se obtiene uno. solu.cin optimal dado por:
(x 12 , x 13 , Xs, Xza, X34, X42, x 4s, xsa, xs) = (0, 2, O, 5, 8, O, 4, O, O).o
54
Captulo 4
Algoritmo Out-of-kilter
El problema primal del flujo de costo mnimo, con el cual nosotros trabajaremos es de
la forma:
ml.ninn'zar ~m ~m ,-.. x
L.Ji=l L.Jj=l '-'ij ij
.t a a
SUJe ~m
L.Jj=l Xij -
~m -O
L.Jk=l Xki - i = 1, ... , m ..... (l)
(P).
Xij ~ lij i,j = 1,2, ... ,m ..... (2)
Xij S Uij i, j = 1, 2, ... , m ..... (3)
Donde hay que entender que la sumatoria y desigualdades es tomado sobre la existencia de
arcos. Nosotros llamaremos ecuacin de conservacin de flujo a cualquier flujo {Xij}(i,j)r
satisfaciendo la restriccin (1), en el cual representa una digrfica dirigida que denotaremos
por G = (N, r) donde N representa los nodo::; y r repre::;enta los MCOR, exiten m nodos y
n arcos; y adems supondremos que existe a lo menos un arco dirigido entre dos nodos;
una conservacin de flujo satisfaciendo las restricciones Xij ~ lij y Xij S uiii es llamado
un flujo factible. Asumiremos que Cij , lij y Uij son enteros y que O S lij S Uij.
Desde que el lado deredw de la restriccin (1) son ceros, nosotros concluimos que el flujo
sobre la red no tiene un punto inicial y un punto terminal.
Observaciones:
2. Observar que en esta digrfica no e.."'{isten nodos terminales con grado igual a O,
todos los nodos son de grado a lo menos l.
55
4.1. El dual del problema de flujo de costo mnimo y
sus propiedades
Si nosotros asociamos una variable dual a cada nodo sobre la ecuacin de conservacin
de flujo, otra variable dual hij sobre la restriccin Xij :::; Uij y por ltimo una variable dual
Vij sobre la restriccin Xj ~ lj, la formulacin del dual [1] para el problema primal del
l. El problema dual tiene una muy interesante estructura. Supongamos que nosotros
seleccionamos cualquier conjunto de {wi}ifN (vamos asumir que todos los {wihN
son enteros). Si nosotros definimos:
. -
V 2] }>bzJ
-- '-"/.}
r. - W2 + W J
l hZJ >
_ 0l V >
ZJ - 0
Dado 4 y 5 y cualquier conjunto de w~s, se cumple la relacin Vij -hij = Cij -wi+wj,
4. Observar que uij ~ Oy lij ~ O fueron necesarias, para formular el problema dual
escrita arriba
5. Fijar los valores (wi)i=l,m sobre cualquier valor entero, y dada las definiciones 4y 5;
entonces existe una solucin factible dual.
56
4.2. La complementaria condicin de holgura.
La complementaria condicin de holgura, para la optimalidad del problema primal (P)
son las condiciones de optimalidad de Karush Kuhn Tucker [1], esto es, si existen {Xij }(i,j)~r
satisfaciendo 1, 2 y 3 , adems existen {Wi} iEN, { hii }(i,j)tr, { Vij }( i,j)tr satisfaciendo:
factible {xij}(,j)r satisfaciendo 1,2 y 3 para que cumpla las condiciones de karush kuhn
tucker debe satisfacer lo siguiente:
Si Zij - cij < O =>(4) Vij > O =>(8) Xij = lij i, j = 1, 2, ... , m ... (10)
Si Zij- Cij >O =>(5) hij >O 9
=>( ) xij = Uij i,j = 1, 2, ... , m ... (ll)
4 , 5) 2' 3 ' 8 ' 9 ) l <X
Sz. Z-
ZJ ZJ =
C 0 -_._(
-,r
V-
t) -
ht)-
-
0 -____,._(
-,r 't) - t) - tj (12)
<U
Una conservacin de flujo {xij}ci,j)r el cual satisface las 3 condiciones de arriba (10),
(11) y (12) entonces ser una solucin optimal del problema, esto se debe que la fundn
objetivo es lineal por lo tanto convexa, y las restricciones estn compuestas por funciones
afines y lineales que son convexas. El problema, consiste en buscar valores wi y Xij sa-
tisfaciendo la ecuacin de conservacin de flujo y las respectivas cotas (2) y (3), bajo las
tres condiciones de arriba (10), (11) y (12) que deben ser satisfechas.
Los estados Kilter y nmeros de Kilter para un arco [1] .
Sean el conjunto de flujos {xij}(i,j)r satisfaciendo (1) y el conjunto {wi}N, definamos
{hij}(i,j)tr y {Vi(i,j)<r segn 4 y 5, en efecto se cumple 6 y 7, entonces:
Se dice que el arco (i, j) se encuentra en el estado in-Kilter cuando el conjunto
{ Xij, Wi, Wj, hij, Vij }, cumple las condiciones 2, 3, 8 y 9.
Observar en esta tabla, que para un arco (i, j) hay 5 posibles estados in-kilter y 10
posibles estados out-of-kilter.
El objetivo de este tema es cambiar el estado out-of-kilter del arco (i,j) a un estado
in-kilter; esto se puede realizar de dos maneras: la primera manera es cambiar el flujo Xij
sobre el arco (i, j), al incrementar o disminuir el valor de Xij, si uno observa en la tabla
57
Cuadro 4 1 Estados Kilter
Zij- Cij < 0 Zij- Cij = 0 Zij- Cij >0
Xij > Uij out-of-kilter out-of-kilter out-of-kilter
Xij = Uij out-of-kilter in-kilter in-kilter
lij < Xij < Uij out-of-kilter in-kilter out-of-kilter
Xij = lij in-kilter in-kilter out-of-kilter
Xij < lij out-of-kilter out-of-kilter out-of-kilter
4.1 esto se hace movindose arriba o abajo en una particular columna de la tabla 4.1.
Otra manera es cambiar los valores wi y Wj, esto ~e hace movindose hada atrs o hacia
delante a lo largo de una fila en la tabla 4.1.
Notar desde que todos los nmeros de kilter en la tabla estn en valor absoluto, esto
implica que el nmero de kilter en un arco es no negativo. El nmero de Kilter de un arco
es t:ero, si el arco est en in-kilter; es positivo, si el arco esta en out-of:.kilter.
Un mtodo para asegurar finita convergencia, esto es~ el algoritmo que se va determinar
termina en un nmero finito de pasos, es demostrar lo siguiente:
58
l. Iniciar con {xij}(i,j)f'l' tal que cada Xij =O, {xij}(,j)Er satisface (1): y una solucin
factible del dual {wi}iN, tal que cada Wi =O, con hij = maximo{O,zij- Cij} y
Vij = maximo{O, -(Zij- Cij)}, identificar el estado de kilter y calcular el nmero de
2. Si la red tiene un arco out-of-kilter, llevar a cabo la fase primal del algoritmo, durante
esta fase el arco out-of-kilter es seleccionado y hacer un intento para construir una
nueva diagrfica satisfaciendo la nueva ecuacin de conservacin de flujo(l) de tal
manera que se obtenga un circuito en la digrfica que contenga al arco (i,j) o (j, i)
dependiendo de la construccin de la nueva digriica y adems que los nmeros
de kilter de los dems arcos no es empeorado y que la seleccin del arco (i, j) es
mejorado(nmero de kilter vaya disminuyendo).
3. Cuando esto es determinado tal que no hay una mejora del flujo que pueda ser
construido durante la fase primal (un circuito no es encontrado en la nueva digrfica),
el algoritmo construye una nueva solucin dual de tal manera que el nmero de kilter
no es empeorado y paso 2 es repetido.
Proposicin 4.3.1 S= {(i,j)tT: ~ij f O} (diferente del vaco) entonces S est forma-
do por un conjunto de ciclos en la digrfica.
59
Prueba [1] Desde que A es una matriz nodo arco incidencia, cada columna de A tiene
exactamente un +1 y un -1, y el no cero componente de ~ debera corre~ponder a un
ciclo o conjunto de ciclos, veamos esto; supongamos que S no contiene ciclos y sin perdida
de generalidad supongamos que los ~i correspondientes a S son no negativos (desde que
A es una matriz nodo arco incidencia y A~= 0). Pero como A~= O entonces los arcos
que no estn es S corresponden a flujo igual a cero, como S nocontiene ciclos se pueden
agregar arcos( no necesariamente de la digrfica de G), de tal manera que se forma un rbol
con m nodos denotando la dign.fica por G', y dichos arcos agregados con un nivel de flujo
igual a cero, esto es hemos agregado nuevos arcos a la digrfica G cuya representacin es
una matriz nodo arco incidencia denotado por [A, B] con el mismo nmero de filas donde
B corresponde a la nuevas columnas correspondiente a los arcos agregados que no estn
en G, la nueva digrfka G' el:i conexa, [~, ~'] donde ~' = O(flujo que no corresponde a
los arcos que no estn en G), como A~ = O entonces:
[A, B][~, ~'] = 0,[~, ~'] es una solucin factible para el problema de conservacin de
flujos con la nica restriccin [A, B]x = O con x ;:::=: O y C es una submatriz de [A, B]
con el mismo nmero de filas, pero como se form un rbol de expansin en G', este
rbol de expansin representa una base factible para [A, B] entonces [~, ~'] =O, es una
contradiccin, ya que existen elementos de S tal que el flujo ~ii diferente de cero.
S esta formado solo por ciclos, ya que supongamos que existe arco (i, j) que no forma
parte del ciclo, la correspondiente ecuacin de conservacin de flujo, hace que el flujo ~ij
del arco (i, j) sea igual a cero, por dos motivos:
2. si el arco (i, j) es el nico arco de S que esta unido a un ciclo, o conjunto de ciclos,
supongamos que el nodo i est unido al ciclo, entonces al sumar todas las ecuaciones
de conservaciones de flujos de los nodos que se encuentra en los ciclos, entonc-:es se
va eliminar los flujos del los arcos del ciclo, tener en cuenta que los flujos que no
estn en S son ceros entonces quedara ~ij =O.
En estos dos casos tenemos ~ij =O, pero es una contradiccin ya que (i,j) est en S, los
otros casos se derivan de estos dos casos anteriores.o
LLegamos a la conclusin de que si vamos a variar un flujo factible {Xij }ci,j)~r sobre los
arcos, de tal manera que el nuevo flujo factible { x~i }ci,j)r satisface la ecuacin de conser-
vacin de flujo, esto se hace encontrado ciclos en la digrfica, de tal manera que se puedan
variar los flujos en los ciclos, y los restantes flujos se mantienen su valor. 0
Sea un arco out-of-kilter sobre la red G, vamos a hallar un ciclo conteniendo el arco
60
out-of-kilter en a, para esto vamos a construir una nueva red a' a partir de la red a
inicial, observando la tabla 4.2:
3. Si un arco (i, j) est en la red original y el flujo puede ser disminuido por un
nmero negativo(< O) para alcanzar el estado in-kilter o permanecer en el estado
in-kilter , el arco (j, i) formara parte de la nueva red con el apropiado cambio del
flujo permitido esto es el nmero de kilter,observar que se puede dar el caso que
Zij - Cij = O y Xij = Uij entonces Xij se puede disminuir Uij - lij.
4. Si un arco (i, j) est en la 1ed original satisfaciendo lij < Xij < Uij y Zij - Cij = O
esto produce dos arcos (i, j) y (j, i), con diferencio cambio del flujo permitido en la
red, esto es uii - Xij y Xij - lii respectivamente.
Una vez construida la nueva red a' y un arco out-of-kilter arco (p, q) es seleccionado, si no-
sotros encontramos un circuito conteniendo el arco sobre a'. Este flujo en el ciclo a es cam-
biado de acuerdo a la orientacin proporcionada por el cin:uito a', la cantidad de cambio es
especificado por el mnimo cambio del flujo permitido sobre cualquier arco que es miembro
del circuito en a', si circuitos no existen conteniendo el seleccionado arco out-of-kilter en
a' cntoncc.s nosotros deberamos proceder a la fase dnal del algoritmo. Es claro que si cir-
cuito es encontrado en a' entonces cada arco que participe en el circuito, los flujos Xj van
a ser incrementado o disminuido de acuerdo a la direccin de flujo en a, mantenindose la
ecuacin de conservacin de flujo sobre la red G; veamos esto con un ejemplo, supongamos
que tenemos uua digrfica , y que en el paso de la fase primal, se obtiene un circuito for-
mado por 5 nodos, donde el ciclo esta formado por {(i 1 , i 2 ), (i 3 , i 2 ), (i 3 , i 4 ), (i 5 , i 4 ), (i 1 , i 5 )}
, que corresponde al circuito {(i 1 , i 2 ), (i 2 , i 3 ), (i 3 , i 4 ), (i 4 , i 5 ), (i 5 , i 1 )}, el ciclo conteniendo
el arco out-of-kilter (p, q), si hay un incremento del flujo Xpq tenemos el arco (p, q) sobre
la nueva red y si hay un decrecimiento del flujo Xpq tenemos el arco (q,p) sobre la nueva
red. En este caso supongamos que (i 1 , i 5 ) est en estado out-of-kilter, y tenemos adems
la siguiente tabla:
61
flujo incremento o arco arco cambio de
actual decrecimiento enG ene' flujo
Xi1i2 incremento (i, i2) (i, i2) Xiti2 + L\
Xiai2 decrecimiento (i3, i2) (i2, i3) Xi2ia- L\
Xiai4 decrecimiento (i3, i4) (i4, i3) Xi3i4 - L\
crecimiento (i3,i4) Xiai4 + L\
Xsi4 decrecimiento (is, i4) (i4, s) Xisi4 - L\
Xitis decrecimiento (i,is) (is, i 1 ) Xitis - L\
Donde L\ e!:> el mnimo cambio de flujo permitido para cada arco.
Para cada nodo del ciclo, hay solamente dos arcos del ciclo que inciden sobre el nodo, los
dems arcos que inciden sobre el nodo son invariantes en flujo~ veamos que se cumple la
ecuacin de conservacin de flujo para cada nodo:
En el nodo i 1 :
El arco (i,is) tenernos que el flujo Xi 1i 5 vara a Xi 1i 5 - L\
El arco (, i2) tenernos que el flujo Xi 1 i 2 vara a Xi 1 i 2 + L\
-[suma de flujos que llegan al nodoi 1]+ [suma de flujos que salen del nodo i 1 (menos los
flujm; de los arcos (i, i2) y (i, is)) + Xi 1 i 5 - L\ + Xi 1i 2 + L\] =
La conservacin de flujo se mantiene para el nodo i 1 igual ocurre para los dems nodos
i2,i3,i4 y is.
Esto es conveniente(pero no necesario) para las varias demostraciones de convergencia
trabajar sobre el mismo arco out-of-kilter (p, q) hasta convertirse en in-kilter.
62
wi+e y Wj +e, entonces Zij- Cij = (wi+e)- (wi +e) -Cij = Wi- Wj -<;j, entonces Zij- C-ij
se mantiene. Si se cambia todos los w/s(X) por una misma cantidad e, el conjunto X
contiene al menos todos los mismos nodos(hasta un poco ms de nodos) despus de un
cambio de las variables duales.
Solamente el clculo de Zij - Cij es afectado por los arcos formados que van de X a X'
X' a X, esto es:
El conjunto (X, X') no puede contener un arco asociado con el estado de kilter Xij < lij
y Zij- Cij <O( ya que el arco ('i,j) se agrega a la red G', tenemos (i,j)t(X,X'), itX y
jC:.X', por definicin existe un camino que une el nodo q hacia el nodo i en la red G', y
como (i, j) es un arco en G', entonces existe un camino que une el nodo q al nodo j, esto
es el camino del nodo q al nodo i mas el arco (i, j) entonces jcX, esto conduce a una
contradiccin.), recordar que los arcos de X a X' en G tiene un Zij - Cij incrementado
por e.
Veamos los c,asos: Cada c,uadro en la tabla de ahajo con el correspondiente nmero en
el interior de este representa un estado, por ejemplo el nmero uno representa el estado
Xij > Uij YZij - Cij < O.
El arco (i,j) en (X, X') no puede estar en los estados 8, 9, 11, 12, 13, 14,15 de la tabla 4.3.
63
l. Estado 1, si el arco (i,j)E(X, X'); cumple con Zij- Cij <O y Xij > Uij, el arco (i,j)
est out-of-kilter: por lo tanto su nmero de kilter es Kij =1 Xij- lij 1= Xij - lij, al
incrementar O, tenemos dos posibilidades:
Estos dos casos se tiene que:K;j < Kij, hay un decrecimiento del nmero de kilter.
2. Estado 4, si el arco (i,j)E(X,X'); cumple con Zij- Cij <O y Xij = Uij, el arco (i,j)
esta out-of-kilter, por lo tanto su nmero de kilter es Kij =1 Uij - lij 1= Xij - lij, al
incrementar O, tenemos dos posibilidades:
Estos dos casos se tiene que:O = K~j < Kij, hay un decrecimiento del nmero de
kilter.
Observar que tanto en el caso (a) y (b) el nmero de kilter K;,i se mantiene constante,
a medida que () aumenta.
3. Estado 7, si el arco (i, j)c(X, X'); cumple con Zij - Cij < O y lij < Xij < u 1.j, el arco
(i, j) esta out-of-kilt.cr, por lo tanto su nmero de kilter es Kij = 1Xij - l i j 1= Xij -lij,
al incrementar O, tenemos dos posibilidades:
En este caso no tenemos en general que Ki < Kij, por lo tanto hay que poner un
lmite para O, esto es () S:l Zij - Cij , ya que Zij - Cij < O, entonces () S: Cij - Zij
entonces Zij - Cij +O S: O, tendramos solo el caso (a), por lo tanto, es claro que
K;,i =O< Kii
4. Estado 10, si el arco (i,j)c(X,X'); cumple con Zij- Cij <O y Xij = lij, el arco (i,j)
esta in-kilter, por lo tanto su nmero de kilter es Ki.i =O, al incrementar O, tenemos
dos posibilidades:
En este caso no tenemos en general que K;i S: Kij, por lo tanto hay que poner un
lmite para 8, esto es () S:l Zij - Cij 1, ya que Zij - Cij < O, entonces () S: Cij - Zij
entonces Zij - Cij + () S: O, tendramos solo el caso (a), por lo tanto, es claro que
K;i =O= Kij
64
5. Estado 2, este es el caso cuando el arco (i, j) cumple Zij- C-;,j = O y Xij > Uij, as que
Kij =1 Xij- Uij 1, como (Zij- Cij)' aumenta en O, entonces sigue siendo positivo, el
duales, no se ver empeorado para el arco (i,j); entonces el cambio ideal para () =1
Zij - C-;,j 1.
variables duales, no se ver empeorado para el arco (i, j); entonces el cambio ideal para
() =1 Zij - Cij 1
De las caractersticas de (X, X') y (X', X), definamos S 1 y S2 por:
Definamos:
fh = mnimo {1 Zij - Cij 1} = mnimo { Cij- Zij}
(i,j))2 (i,j)c=.S2
65
Si S2 es no vaco entonces
Observar que cada arco en S 1 puede tomar uno de los estados posibles 4, 7 y 10 de la
tabla 4.3; igualmente para cada arco S2 puede tomar uno de los estados posibles 6, 9 y 12
de la tabla 4.3.
Recordar que los {wihN y los {Ci(i,j)tr son enteros entonces 1 Zij - cii 1 es entero para
cada (, j) perteneciente a S1 O S2 entonces Si () es diferente del infinito, entonces 1 Zij- Cij 1
es un entero estrictamente positivo.
Observar para cada arco (i,j) que est en (X,X'), (i,j) puede estar entre los estados
1, 2, 3, 4, 5, 6, 7, 10 de la tabla 4.3 y como S 1 est entre los estados 4,7 y 10, pero como S 1
es vaco entonces (i, j) solamente toma entre los estados 1, 2, 3, 5, 6.
Si S2 = 0 cumple solamente:
66
Observar para cada arco (i,j) que esta en (X',X), (i,j) puede estar entre los estados
6, 9, 10, 11, 12, 13, 14, 15 de la tabla 4.3 y como s2 el:it entre lol:i estadol:i 6,9 y 12 ' pero
como S2 es vaco entonces (i,j) solamente toma entre los estados 10, 11, 13, 14, 15.
Por lo tanto S 1 = S 2 = 0 entonces cumple:
Xij ~ Ui.j, si (i,j)c(X,X').
ZJ ->
-x -z .. 2Jl
1
si itX l Jtx
67
Sumando esta ecuacin para todo if.X:
Xij + Xij- X-
J~
Xji =O.
if.X jt.X' jt.X jt.X'
jEX iEX if.X iEX
Notar que:
Xij = X ji
if.X jEX
jEX iEX
y por lo tanto:
Xij- Xij = 0
it.X it.X'
)t x' jeX
0> U'"-
?.J J>
l -
1
xij- xii
1
=O.
iEX iEX' iEX iEX'
jf.X' jEX jEX' jt.X
1
x f,J
.. -
L:
1
xii =O.
iEX iEX'
jEX' jEX
Y esto es una contradiccin , por lo tanto se concluye que si 8 es igual a +oo, entonces no
hay solucin factible [1). Tener en cuenta que {Xi(i,j)d' satisface la ecuacin de conser-
vacin de finjo (1) en G, pero no necesariamente las restricciones de cota superior(::; Uij)
e nfima(~ lij).
68
Con los flujos {Xij}(i,j)r no cambian en valor (esto es no hay incremento y disminucin),
recordemo~ la~ ~iguiente~ definiciones:
Definimos:
() = mini m o { 1Zij - Cij 1} = mini mo { Cij- Zij}
(i,j)d) (i, j)E8
(}2 = minimo { 1Zij - Cij 1} = minimo {Zij- Cij}
(i,j)tS2 (i,j)tS2
() = minimo{ 81 , 82}.
Como (X, X') permanece invariante, el nuevo S~ y s; son redifinidos y los flujos {Xi(i,j)r
siguen permaneciendo invariantes.
Es claro que S~ ~ S 1 y s;
~ S 2 , pero por lo casos anteriores 14 y 15, el contenidos
de algunos de ellos es propio, repetimos el procedimiento varias veces hasta que S~ = 0
y s; = 0, el procedimiento es finito, ya que en cada iteracin se va anulando un arco
deS1 o S2 ; adem." S 1 y S2 son finitos desde que X y X' son finitos, al final se tiene que
S~ = s;
= 0 y entonces()= +oo( no hay solucin factihle).
4.4.3. Observaciones
l. El conjunto X no incrementa entonces () = +oo entonces no hay solucin factible.
3. Si X incrementa, el arco (p, q) que est en out-of-kilter, en uno de los pasos de la fase
dual, el arco (p, q) entra en el estado in-kilter, o cuando el arco (p, q) halla formado
un circuito tal que pEX, y aplicamos luego la fase primal del algoritmo out-of-kilter,
para incrementar o decrecer el valor de Xpq.
69
Supongamos ahora que X va incrementar para todos los arcos out-of-kilter(p, q), el arco
out-of-kilter entre en el estado in kilter en un nmero finito de pasos en el algoritmo,
veamos esto. Para analizar esto, necesitamos analizar los 10 estados out-of-kilter de la
tabla 4.1. Veamos un caso, los restos son similares:
Supongo que el arco (p, q) out-of-kilter se encuentre en el estado 9 de la tabla 4.3; esto
es, Zpq - Cpq > O y lpq < Xpq < Upq; es claro que (p, q)t:(X', X) (ya que Xpq debe aumentar
desde que Zpq- Cpq >O) van existir dos posibilidades:
El objetivo es que el arco (p, q) entre en el estado in-kilter , veamos que solo se puede
construir una cantidad finita de circuitos conteniendo el arco (p, q) y adems la disminu-
cin constante del valor de Zpq- Cpq, determina que en un paso del algoritmo el valor de
Zpq - Cpq debe es igual a cero.
En efecto, a medida que se forman circuitos con (p, q) y Zpq - Cpq se mantiene positivo,
entonces Xpq debera aumentar en un valor entero positivo en cada ciclo encontrado, ese
valor del incremento siempre es igual al mnimo incremento permitido del ciclo formado
en G que contiene (p, q), ese incremento es un entero positivo, por lo tanto en un dado mo-
mento del algoritmo se obtiene un ciclo donde el cambio mnimo permitido es 1 Xpq- Upq 1
(xpq se va actualizando en cada ciclo), y se obtiene Xpq = Upq, esto ocurre en una cantidad
finita de circuitos, ya que el incremento permitido es un valor entero positivo, y el arco
(p, q) entra en el estado in kilter; en resumen en este caso el arco (p, q) se trata de mover
hacia el estado 6.
Veamos que pasa cuando el valor de Zpq - Cpq deja de ser mayor que cero, esto conlleva
que Zpq- Cpq debe ser igual a cero en un paso del algoritmo, siempre cuando Xpq < Upq
(si Xpq = '/J,pq, (p, q) ya est en el estado in-kilter), como Xpq ~ lpq> entonces (p, q) est en
5 2 , y el valor de () en un momento dado va ser igual a 1 Zpq - Cpq 1 ( 1 Zpq - Cpq 1 se va ir
actualizando en cada etapa de la fase dual), en ese caso Zpq - Cpq va tomar el valor de cero,
en este caso (p, q) se mueve hacia el estado 8.
Por lo tanto hemos visto que hay una cantidad de pasos del algoritmo para que el arco
(p, q) entre en estado in-kilter.
Los otros estados son analizados de la misma manera, en general el algoritmo termina en
un nmero finito de pasos, a continuacin presentamos como se puede mover los arcos
out-of-kilter que se encuentra en el estado 1 de la tabla 4.3:
2. 1 --7 2 --7 5.
3. 1-7 4--7 5.
70
5. 1 -+ 4 -+ 7 -+ 10.
Si e= +oo parar no hay solucin factible. Otro caso cambiar los { wihtT y d esto los
"}e ) r de acuerdo a
{ z - '-"tJ
~J ~.J t
icX
if.X'
71
Ejemplo 4.5.1 Denotaremos out-of-kilter por out-kilter.
Paso1
Fase inicial Xij 's =O, Wi 's =O.
Wi- Wj- Cij (X;j, l;j, Uij) out int kilter arcoG ~ij
W1 - W2 - C12 = --1 < 0 X12 =0< = 2 < U12 = 5
h2 out- kilter (1, 2) 2
W2 - W3 - ~3 = -5 < 0 X23 = l23 = 0 < U23 = 3 in- kilte1
W2 - W4 - C24 = 0 X24 = l24 = 0 < U24 = 5 in- kilte1 (2,4) 5
W4 - W5 - C45 = +1 > 0 X45 = 0 < l45 = 2 < U45 = 5 out- kilter (4,5) 5
ws - w1 - cs1=O xs1 = ls1 = O < u.51 = 6 in- kilter (5,1) 6
W3 - W4 - C34 = +3 > 0 X34 = l34 = 0 < U34 = 4 out- kilter (3,4) 4
W5 - W2 - C52 = -3 < 0 X52 = l52 = 0 < U52 = 2 in- kilter
Elegimos el arco (4, 5) out-of-kilter, hay un circuito conteniendo el arco (4, 5) esto es
{(4, 5); (5, 1); (1, 2); (2, 4)}, elegimos .6. = minimo{b. 12 , .6.24, .6.45, b.s 1 } = 2,
X12 = 0 + 2 = 2.
X24 = 0 + 2 = 2.
X45 = 0 + 2 = 2.
xs1 =O+ 2 = 2.
X52 = X34 = X23 = 0.
Paso2
Fase inicial Xij 's =O, wi 's =O.
W;- Wj- Cij (Xij, l;j, Uij) out int kilter arcoG ~ij
Wl - W2 - C12 = -1 < 0 X12 = h2 = 2 < U12 = 5 in- kilter
w2 - w3 - c23 = -5 < O X23 = l23 = 0 < U23 = 3 in- kilter
W2 - W4 - C24 = 0 l24 = 0 < X24 = 2 < U24 =5 in- kilter (2,4);(4,2) 3;2
W4 - W5 - C45 = + 1 > 0 X45 = l45 = 2 < U45 = 5 out - kilte1 (4,5) 3
Ws - w1 - Cst = O l 51 = O < xs1 = 2 < u51 = 6 in- kilter (5, 1); (1, 5) 4;2
W3 - W4 - C34 = +3 > 0 X34 = l34 = 0 < U34 = 4 out - kilte1 (3,4) 4
W5 - W2 - C52 = -3 < 0 X52 = l52 =0< U52 =2 in- kilter
Elegimos el arco (4, 5) out-of-kilter, no hay un circuito conteniendo el arco (4, 5), apli-
camos Zafase dual, X= {1,5}, y X'= {2,3,4}, (X,X') = {(1,2);(5,2)},(X',X)-
{(4, 5)}, 8 1 = {(1, 2); (5, 2)}, 8 2 = {(4, 5)}
() = minimo{l Z12- c12l, 1 Zs2- cs2l, 1 Z45- c4sl} = minimo{l,3, 1} =l.
72
Z12 - C12 = -1 +1= 0
Z45 - C45 = 1- 1=0
-3 + 1 = -2
Z52 - C25 =
Los dems Zij - e;/ s se quedan invariantes.
Paso3
Wi- Wj- Cij (Xij ,lij, Uij) out int kilter arcoG ~
J
W1 - W2 - C12 = 0 X12 = h2 = 2 < U12 = 5 in- ki1te1 (1, 2) 3
W2 - W3 - C23 = -5 < 0 X23 = 123 = 0 < U23 = 3 in- klter
'W2 - 'U/4 - C24 = 0 124 = 0 < X24 = 2 < U24 = 5 in- kilter (2,4); (4,2) 3;2
W4 - W5 - C45 = 0 x4s = 14s = 2 < u4s = 5 out- ki1ter (4, 5) 3
ws - w1 - cs1 = O 1sl = O < xs1 = 2 < u51 = 6 in- klter (5, 1); (1,5) 4;2
W3 - 'U/4 - C34 = +3 > 0 X34 = lJ4 = 0 < U34 = 4 out- kilter (3,4) 4
W5 - W2 - C52 = -2 < 0 X52 = l52 = O < u52 = 2 in- kilter
Elegimos el arco (4, 5) out-of-kilter, hay un circuito conteniendo el arco (4, 5) esto es
{(4,5); (5, 1); (1, 2); (2,4)}, elegimos~= minimo{~ 12 , ~24, ~ 45 , ~ 51 }= 2,
X12 = 2 + 2 = 4.
X24 + 2 = 4.
= 2
X45 = 2 + 2 = 4.
Xs1 = 2 + 2 = 4.
Elegimos el arco (3, 4) out-of-kilter,X = {4, 5, 1, 2} y X' = {3}, 8 1 = (X, X') = (2, 3) y
82 = (X',X) = (3,4), () = minimo{i z23- c23l,l Z34- c34l} = minimo{5,3} = 3.
Z2 - C2 = O; l12 = 2 < X2 = 4 < 'U12 = 5.
73
O < x 12 , X24, X45, xs1 < 5, no toman como flujo sus cotas respectivas. Pero X23, X34 y X52
estn en el nivel de la cota inferior, sabemos que el problema de flujo de redes tiene una
variable artificial, para aplicar el mtodo simplex. Entonces la matriz nodo arco incidencia
del problema flujo redes con la variable artificial respecto a este flujo x, debe dividirse en
3, una matriz que represente los arcos en el nivel cero, otro matriz que represente los arcos
en el nivel superior, y otra matriz que represente los flujos bsicos. En este caso solo hay
dos, ya que ningn flujo Xij se encuentra en su nivel superior, pero la matriz que representa
a los flujos h.<~icos debe ser invertible, y en eRte caRo de mngo 5 y como Re estudio en el
problema de flujo de redes, debe representar un rbol de expansin en este caso la digrfica
que representa el problema es conexa, pero los arcos (1, 2), (2, 4), (4, 5), (5, 1) forman un
ciclo, y eso no ocurre en un rbol (conexa sin ciclos). Por lo tanto no es un vrtice para
el problema primal. En general, la solucin del problema primal(P) no representa un
vrtice-o
74
Captulo 5
maximizar
si =1
sujeta a si if.1om ; ... (1) (P)
=m
Xij :S: Uij ; ,j = 1,2, ... m.
Xij ~ ; i,j = 1, 2 .... m.
No hay costos implicados en el problema flujo mximal (P), la ecuacin (1) del conjunto
de restricciones es llamado ecuacin de conservacin de flujo, supongamos que en esta
digrfica G no contiene los arcos (1, m) y (m, 1).
Donde la surnatoria expresada en la formulacin anterior, son tomados sobre la existencia
de arcos sobre la red, esto es llamado nodo-arco formulacin para el problema de flujo
mximo, adems la matriz de restriccin es una matriz nodo arco incidencia.
Notar que fes una variable y denotamos la matriz nodo-arco incidencia por A, nosotros
podemos reescribir el problema de flujo mximo [1], de la siguiente manera:
75
maximizar f
sujeta a (em- e1 )f + Ax =O
(NP)
x~u
x;::::o
El conjunto de restricciones del problema (N P), representan una digrfica consistiendo
de la digrfica G y el arco agregado (m, 1).
Observaciones:
l. Todos los nodos son de grado mayor igual a uno.
4. Sobre la digrfica G, si todos los arcos que inciden sobre el nodo 1, son arcos de
la forma (i, 1), entonces necesariamente f es igual a cero, y se pueden considerar
que los flujos sobre todo los arcos sean iguales a cero, para tener solucin factible
ptima!.
5. Observar que el problema (P), tiene solucin factible diferente del vaco, considerar
los flujos sobre todos los arcos igual a cero y de esta consideracin se obtiene f = O.
6. De:;;de que lo:;; flujos sohre los arcos en G son acotados superiormente, entonces si
observamos en la ecuacin de conservacin de flujo para el nodo 1, el valor de f es
acotado superiormente (igual inferiormente), el problema (P) tiene solucin, desde
que el problema (N P) tiene todos los flujos de los arcos y la variable f acotados.
Definicin 5.1.2 Capacidad del Conjunto Cortante, sea (X,X') un conjunto cor-
tante sobre la red G, entonces u(X, X') = L(i,j)e(X,x') Uij es llamado capacidad del con-
junto cortante, si (X, X') es vaco se define u(X, X') =O.
Sea (X, X') cualquier conjunto cortante separando del nodo 1 al nodo m sobre G. Sumando
las ecuaciones de conservacin de flujo del problema de flujo mximo sobre todos los nodos
en X, definamos (X',X) = {(i,j)tT: it:X',jt:X} y nosotros obtenemos:
76
Definamos: (X, X)= {(i,j)f.f: if.X,jf.X} y (X',X') = {(i,j)f.f: if.X',jf.X'}.
Para demostrar de manera ms formal esta ltima ecuadn, fijo itX, la ecuacin de
conservacin de flujo en i,
L
X X'
Xij + L Xij - JcX,icX
icX,Jcx
L Xji - L
- X' X
Xji = { JO S~ ~
Sl 'l 1
-.L
1
1
~' ,.J~ .1~ ,,.~
desde que:
finalmente:
L Xij - L Xji = f.
(i,j)E(X,X') (j,i)e(X 1 ,X)
L Xji =f.
(j,i)e(X' ,X)
L Xij = f
(i,j)c(X,X')
L Uij- o~ f.
(i,j)e(X,X')
Lema 5.1.1 Los valores de f de cualquie-r flujo factible del problema de flujo mximo so-
bre la digrfica G es menor igual que la capacidad u(X, X') de cualquier conjunto cortante
(separando del nodo 1 al nodo m) (Ver [1] p.476,).
77
Donde las sumatorias y restricciones expresadas en la formulacin anterior, son tomados
sobre la existencia de arcos en la red G, tanto en la fundn objetivo, corno el valor de hij
Donde w = {wihEN corresponde a las ecuaciones de conservacin de flujo y h = {hij }ci,j).:r
corresponde a x S u. Notar que la primera restriccin del problema dual arriba asociada
corresponde con el flujo f del nuevo arco agregado (m, 1) cuya columna es em - e 1 U na
tpica columna de la matriz nodo arco incidencia A esta asociado a un arco (i,j), en el
cual conduce a la restriccin dual wi - Wj + hij 2 O.
Observacin: como el problema (P) primal tiene solucin ptima entonces el problema
dual(PD) tiene solucin ptima, y los valores de las funciones objetivos para el problema
dual y primal evaluados en la solucin ptimal dual y solucin ptimal primal respectiva-
mente coinciden en valor .0
Sea (X, X') cualquier conjunto cortante y consideremos el problema dual (P D). Si noso-
tros definimos:
o si EX
'Wi=
1 si iEX'
1 si (i, j)t(X, X')
hij = ... (3)
o otro caso
Por lo tanto este particular eleccin de w y h proporciona una solucin factible al problema
dual, esto es:
Es evidente que hij ma~or igual a cero por la misma definicin y Wm- w1 = 1- O= 1 ~ 1,
desde que 1 est en X y m est en X'.
Para probar que wi- Wj- hij 2 O donde (i,j) est en r, hay varios casos, veamos.
ie:X,jEX' entonces Wi- Wj + hij =O- 1 + 1 =O~ O.
itX, jtX entonces wi - 'Wj + hij = O - O+ O = O ~ O.
.x' ,jtX entonces wi- Wj + hiJ = 1- O+ O= 1 2 O.
;X' ,jtX' entonces wi- Wj + hij = 1- 1 +O= O 2 O.
En todos los casos satisface Wi - Wj + hij ~ O.
Si nosotros reemplazamos la definicin (3) de hij en la funcin objetivo del problema
dual (P D), es claro que el valor de la funcin objetivo va a ser igual al valor de la
capacidad del conjunto cortante (X, X') (ya que hij = 1 para (i,j)E(X,X')), entonces nos
concentraremos en estudiar la capacidad del conjunto cortante (X, X').
Demostraremos que la capacidad del minimal conjunto cortante [1] (esto es, existe un
conjunto cortante (Y, Y'), tal que para todo conjunto cortante (X, X') se cumple:
u(Y, Y') S u(X, X'); (Y, Y') es el conjunto rninimal cortante.) es igual al valor del flujo
mximo f. Nosotros probaremos esto de manera constructiva.
78
esto constructivamente:
Supongamos que nosotros comenzarnos con cualquier flujo factible entero eu G, tomemos
Xij = O para todo arco (i, j) sobre G. De G construmos una red G' como sigue.
l. Si arco (i,j) est en G y Xij < Uij, entonces agregamos arco (i,j) en G' con cambio
permitido de flujo de valor ~j = Uij- Xij sobre la red G.
2. Si arco (i, j) est en G y Xij > O, entonces agregamos arco (j, i) en G' con cambio
permitidio de flujo de valor ~ij = Xij sobre la red G.
En formulacin matemtica:
. .) G
Sea (~. J t :::::>
{ Xij < Uij ==:::?- agregamos (i, j)r:.G' , f:lij = Uij - Xij
,
Xij > O ==:::?- agregamos (j, i)tG ' f:lji = Xij
Asumiendo que las cantidades Uij son finitas, si estamos en el caso 2, caso 1 solo puede
ocurrir un nmero finito de veces (en el sentido que solamente se puede construir una
cantidad finita de trayectorias, puede ocurrir que iniciando el algoritmo estemos en el
caso 2) desde que el incremento del flujo f en cada iteracin es de Ll que a la vez es un
entero positivo mayor que cero, como existe solucin, ese incremento va ocurrir hasta un
nmero finito de pasos; cuando el caso 2 ocurre, definamos X el conjunto de nodos en G'
79
que pueden ser alcanzados a lo largo de alguna trayectoria en e' a partir del nodo l. Sea
X' = N - X y notar que el nodo m pertenece a X', ya que no existe una trayectoria que
une nodo 1 al nodo m. Considere los arcos en e entre X y X'. Primero, cada arco (i, j)
en e de X a X' debera tener Xij = uii ( ya que si Xij < uii, entonces (i, j)EG', como i
est en X, entonces j estn en X. esto es una contradiccin). Segundo, cada arco (i,j)
en e de X' a X debera tener Xij = O(ya que si Xij >O, (j, i)te', como j pertenece a X,
entonces i debera pertenecer a X, pero es una contradiccin), sabemos que:
L Uij = f u(X,X') = f
iEX
jEX'
En caso de que (X, X') e.s vaco entonces u( X, X')= f =O, veamos esto, si (X', X) es igual
a vaco se vio anteriormente que la capacidad del conjunto cortante u( X, X') = f =O, y
para el caso (X', X) diferente del vaco como por definicin u(X, X') =O, se sabe que:
L Xji = f
(j,i)e.(X' ,X)
, por la parte explicada del caso 2 se tiene que Xji = O, entonces de la ecuacin anterior
f =O, esto es f = u(X,X') =O.
Nosotros constructivamente hemos probado lo siguiente.
Teorema 5.3.1 (Teorema del fi~jo m.a.r.im.al y corte m.nim.al). El valor mximo jbJdo f
en G es igual a la capacidad del conjunto minimal cortante en G (Ver [1] p.478.).
80
3. Si Xij >O en G, reemplazar (j, -i) en G' con el permitido cambio de flujo de .t::,.ji = Xij
Escoger una trayectoria P en G' del nodo 1 al nodo m. Si tal trayectoria no existe, parar,
la solucin optimal es obtenida. Otro caso, sea .6. el mnimo cambio permitido de flujo
sobre P en G'. Agregamos .t1 al flujo sobre arcos de la cadena saociada en G con la direc-
cin de la trayectoria en G', restar .t1 al flujo sobre arcos de la cadena asociada en G en la
direccin opuesta del cRmino en Q', y dejRmos todos los otros arcos sin finjo de cambio,
repetir el paso principal.
maximizar {!} ..
sujeta a X12 + X13 = f.
X23 + X24- X12 =O.
X34 - X3 - X23 = 0.
-X24 - X34 = -f.
0~ X12 ~ 1,0 ~ X3 ~ 4,0 ~ X23 ~ 2,0 ~ X24 ~ 3,0 ~ X34 ~ 2.
81
X23 = 1 < u23 = 2 entonces agregamos arco (2, 3) en a',
x 23 = 1 > l 23 =O entonces agregamos arco (3, 2) en a',
X24 =O< u 24 = 3 entonces agTegamos arco (2, 4) en a',
X34 = 1 < u 34 = 2 entonces agregamos arco (3, 4) en a',
Paso3: Construyamos una digrfica a' a partir de la red G definida por el problema de
flujo mximo:
X12 = 1 > lr2 = 0 entonces agregamos arco (2, 1) en a',
x 13 = 1 < u 13 = 4 entonces agregamos arco (1, 3) en a',
X13 = 1 > l1 3 =O entonces agregamos arco (3, 1) en a',
La red a' e;t formado por lo; arcos { (1, 3), (2, 1), (2, 3), (2, 4), (3, 1), (3, 4), (4, 2), (4, 3)},
todos los nodos en a estn en a'. Escojamos una trayectoria en a' del nodo 1 al nodo
4, sea la trayectoria P = {(1, 3), (3, 4)}, entonces el mnimo permitido cambio de flujo
.6. = minimo{ u 13 - x 13 , u 34 - x 34 } = minimo{3, 1} = 1 sobre la trayectoria. Calculemos el
nuevo flujo actual:
X12 := X12 = l.
X13 := X13 + .. = 1 + 1 = 2.
X23 := X23 = 0.
X24 := X24 = l.
X34 := X34 + .. = 1 + 1 = 2.
Paso4: Construyamos una dit,'Tfka a' a partir de la red G definida por el problema de
flujo mximo:
X12 = 1 > [2 = 0 entonces agregamos arco (2, 1) en a',
82
1
La red G' est formado por los arcos {(1, 3), (2, 1), (2, 3), (2, 4), (3, 1), (4, 2), (4, 3)}, todos
los nodos en G estn en G'. No existe una trayectoria en G' del nodo 1 al nodo 4, entonces
solucin optimal es obtenida:
(x12, X13, X23, X24, X34) = (1, 2, 0, 1, 2).
La cantidad de flujo f en la red G del nodo 1 al nodo 4 es f = x 12 + x 13 = 1 + 2 = 3.
Recordando X el conjunto de nodos en G' que pueden ser alcanzados a lo largo de una
trayectoria G' a partir del nodo 1, entonces X = {1, 3} y X' = {2, 4} entonces (X, X') =
{(1, 2), (3, 4)} y por ltimo u( X, X') = u 12 + u 34 = 1 + 2 = 3; finalmente ~e conduye
u(X, X') = f = 3.o
83
Captulo 6
Supongamos que nosotros tenemos una red digrfica conexa G = G(N, f) con m nodos
, n arcos y un costo Cij asociado a cada arco (i, j) en G, vamos a suponer que los costos
son nmeros enteros .El objetivo es encontrar el camino mas corto del nodo 1 al nodo m
en G, el costo del camino es la suma de los costos sobre los arcos del camino.
L;~ L;;'~ ~
1 si i=1
Sujeto a X;j- Xki { o si i=/=1om (P)
-1 si i=m
Xij = 0 O 1 ;i,j=1,2 .... ,m.
84
Minimizar :::,1 LJ=l CijXij
I:l"~l Lk~,
1 si i=1
Sujeto a X;; - Xki = { o si i=/=1om (P)
-1 si i=m
X>
~J-
0 ;i,j = 1,2 .... ,m.
3. Si el conjunto factible del problema primal (P), tiene conjunto factible diferente del
vaco (si existe un camino del nodo 1 al nodo m, es claro, que el conjunto factible es
diferente del vaco): entonces se garantiza que el problema P tiene solucin, desde
que el valor de las variables de los flujos factibles son binarias.
Maximizar WI - Wm
85
Definamos X' =X- N y consideremos los arcos (X,X') = {(,j)Er: iEX,jEX'}. Defi-
namos:
w~ + Cpq = Minimizar{ w~ + Cij}
(i,j)t(X,X')
Luego definamos w~ = w~ + Cpq, luego agregamos q al conjunto X. Repetimos el procedi-
miento exactamente m- 1 pasos (incluyendo la del paso inicial, es decir, en total son m
iteraciones), entonces detenemos el algoritmo, y la solucin optimal es encontrada.
Acaba en m iteraciones, porque vamos agregando a X en cada paso, un nodo distinto
a las anteriores, hasta que X tenga todos los m nodos; es claro qne la actuali:zacin de
X en cada paso del algoritmo, se debe tener que (X, X') diferente del vaco, si en un
paso del algoritmo (X, X') es vaco entonces el algoritmo no va funcionar para encontrar
una solucin; si suponemos que para cada nodo, existe al menos un camino del nodo 1 al
respectivo nodo, el algoritmo ftmciona, se garantiza que (X, X') diferente del vado para
cada paso del algoritmo.
86
3. La longitud de j a q.
entonces:
Por lo tanto la longitud de Pes mayor o igual que w~+Cij, por lo tanto tomando el nnimo
de todos los w~ + Czk para todo (l, k)c(X, X'), se obtiene que la longitud de P es mayor
igual que w~, esto completa la induccin argumentacin y el algoritmo es verificado; notar
que w~ representa el camino mas corto del nodo 1 al nodo q, esto se debe a la construccin
del propio algoritmo; el algoritmo consta de solamente m pasos, donde m - 1 pasos son
del paso principal, se han construido m - 1 arcos, estos m - 1 arcos no forman ciclos,
desde que en cada paso del algoritmo el arco est en (X, X'), y a X se van agregando
valores, este conjunto de arcos corresponde a un arbl de expansin [1]. Observar que w~
representa el camino ms corto del nodo 1 al nodo i, al agregar el arco (i, j)(icX, jcX') con
un costo Cij, tenemos que w; w;
= +Cij representa el camino mas corto del nodo 1 al nodo j.
Donde las restricciones requerimientos son tomados sobre la existencia de arcos en G. Des-
de que la funcin objetivo y las restricciones implican solamente diferencia en variables,
nosotros podemos definir una variable w~ sobre cualquier valor real, por ejemplo w~ = O,
en este caso consideramos a 1 como la variable artificial (observar que w~ puede asumir
cualquier valor).
El algoritmo procede corno sigue (nosotros supondremos usar la convencin que oo +a=
87
oo, y a- oo = -oo, donde -oo <a< +oo).
Paso Inicial
Definir w~ = O y w~ = oo si i =/= l.
Paso Principal
Si w~ ~ w~. + ci.j para todo i, j = 1, 2, ... , m y (i, j)cr, parar la solucin optimal es encon-
trada. Otro caso, seleccionar solamente un solo arco (p, q) tal que w~ > w~ + Cpq y definir
w~ = w~ + Cpq' repetir el procedimiento como sea necesario.
Para identificar los arcos sobre el camino ms corto nosotros iniciaremos en el nodo m;
si Wm = oo entonces no existe un camino del nodo 1 al nodo m (porque si existe un
camino del nodo 1 al nodo m, el valor actual de la variable dual( w;, = oo) de cada nodo
en el camino , se va ir actualizando; hasta que, en un paso del algoritmo sobre un arco
del camino que conecta al nodo m, se actualiza Wm = oo a un valor de Wm < oo.). Si
Wm < +oo, entonces debera existir un nodo k tal que w~- w~ = Ckm, el arco (k, m) es
un arco en el camino, hacemos lo mismo para el nodo k, y repetimos el argumento hasta
el nodo 1 sea alcanzado (teniendo en cuenta que wk < oo.).
Teorema 6.3.1 Si w~ < oo, entonces existe un camino P del nodo 1 al nodo k a lo largo
del cual L:(i,j)cP Cij = w~ (Ver[1] p.490.).
88
Corolario 6.3.1
w~ ~ minimizarpk ( L Cij).
(iJ)ePk
Donde Pk es cualquier camino (no necesariamente simple} del nodo 1 al nodo k (Ver[1]
p.490.).
w~ va estar acotada inferiormente por un nmero entero, que es el costo del camino ms
wrto simple; tener en cuenta que hay una cantidad finita de caminos simples sobre una
red.
Finalmente veamos que L:i w~ decrece por un nmero entero positivo en cada iteracin,
esto es:
. ., t 1 1 1 1 1
fi nal Iterac10n ,:w11 w 2 , , wi, ... , wj, ... , wm.
se tiene que existe (i, j) :
. ., 1
w;
1 1 1 1 1
w;
> w~ + Cij, se cambia por w~ + Cij
fi nal Iterac10n t + : w 1 , w 2 , .. , wi, ... , wi + Cij, ... , wm
surnatoria en la iteracin t : St = 2.::~ 1 w~.
sumatoria en la iteracin t + 1 : St+l = (L:k=l,kh w~) + w~ + Cij La diferencia de la
sumatoria es: ..t = St- St+ 1 = w;- (w~ + Cij) >O, un entero positivo ya que w~ y Cij w;,
son enteros.
La diferencia es un nmero entero positivo mayor que cero, entonces St > St+l, el al-
goritmo para en un nmero finito de pasos ya que la sucesin { ~t}tcz+ es estrictamente
decreciente y son enteros positivos, acotado por el cero, por lo tanto es un conjunto finito.
Existe una manera de determinar si la red contiene circuitos negativos? Si, supongamos
que no existen circuitos negativos, definamos:
P~: es el camino ms corto (se puede tomar un camino simple) entre todos los caminos
del nodo 1 al nodo k.
A = { (u, V) : Cuv > O, (U, V)tP}.
B ={(u, v) : Cuv :=;O, (u, v)tP}.
'W~ ~ minimopk( L Cij) = L Cuv = L Cuv + L Cuv ~ L Cuv
(i,j)EPk (u,v)cP~ (u,v)EA (u,v)eB (u,v)eB
w~ ~ L Cij
Cij<O
Se llega a la conclusin que si algn w~, permanece por debajo de L:c;j<O Cij entonces
existe un circuito negativo.
89
Nosotros hemos demostrado que el algoritmo termina en un nmero finito de pasos. Si en la
tenninadu del algoritmo w:n = oo , entonces no existe camino del nodo 1 al nodo m; para
w:n < oo, por la proposicin 6.3.1 existe un camino (no necesariamente simple) del nodo 1
al nodo m, entonces, de dicho camino existe un nodo l y arco {l, m }tal que w:n- w; = Czm
con w; < oo, de manera similar existe un nodo k y arco {k, l} del camino tal que w; - w~ =
Ckz, continuando de esta manera, nodo 1 es eventualmente alcanzado; supongo que existe
un circuito cerrado en dicho camino (no necesariamente simple), entonces sean los nodos
i 1 , i 2 , ... , p que participan en el circuito cerrado, {(i, i 2 ); (i2, i 3 ); (i 3 , i 4 ); ... ; (ip_ 1 , i 1 )}, ip =
i 1 , entonces:
1 1
wi 1 + Ci1i2 = wi 2
1 1
wi2
1
+ Ci2i3 = wi3
1
wh + Ci3i4 = wi4
Entonces como la suma de los costos del circuito cerrado es cero, entonces, podemos
(;onsiderar slo camino simple.
Sea el camino simple (equivalente trayectoria) {(1 = j 0 ,j1 ); (j1 ,h); (j2 ,j3 ); ... ; (jp_ 1 , m=
jp)}, definiendo Xji..Ji+I = 1, para i =O, 1, 2, .. ,p- 1; y lm; dems flujos definidos a ceros,
esto es una solucin factible del problema primal(P); adems:
1 1
Wj1
1
+ Cjd2 = Wh.
1
1 1
90
Definamos :w~ =O, w; = w; = w~ = oo.
Paso 1: w~ + c13 = O - 1 = -1 < w; = oo, definamm; w~ = w~ + c13 = -l.
entonces: ( w11 , w21 , w31 , w41 , w51) = ( O, oo, -1, oo ) .
Paso 2: w~ + c12 =O+ 2 = 2 < w; = oo, definamos w; = w~ + c12 = 2.
entonces: ( w 1 ,w2 ,w3 ,w4 ,w5 = (0,2, -1,oo).
1J 1 1 1)
Paso 5:
w~ + c12 =O+ 2 = 2 2:: 2 = w;,
w~ + c 13 =O- 1 = -1 2:: -2 = w;,
w; + c23 = 2 - 4 = -2 2:: -2 = w;,
w; + c24 = 2 + 3 = 5 2:: -8 = w~,
w; + C34 = -2-6 = -8 2:: -8 = w~.
Entonces se cumple para todo arco (i,j) que: w: + Cij 2:: w~, parar la solucin optimal es
encontrada. Por ltimo:
W~ = w; + C34 = w; + C24 + C34 = W~ + C12 + C23 + C34 = C12 + C23 + C34 = -8,
entoncei:i la solucin optimal es: (x 12, X13, X23, x24, X34) = (1, O, 1, O, 1).o
91
Captulo 7
Flujo Multiartculos
92
~ unidad de flujo sobre el artculo 3 que fluye sobre P3 , ninguno sobre la capacidad total
de cada arw es violado, y la suma total de flujo es ~.
Problemas de flujos multiartculo tienen una estructura especial, que permite la aplicacin
de tcnicas de descomposicin.
2. ui cota superior capacidad de flujo para el artculo i sobre los arcos de la red, esto
es un vector.
3. Upq cota superior capacidad de flujo para el artculo i sobre el arco (p, q).
8. biq es la oferta si (bq > O) demanda (bq < O) del artculo i en el nodo q.
Donde X es el vector de flujos del artculo i sobre la red G y A es la matriz nodo arco
inddenda [1] de la digrfka G, este proLlema es llamado nodo arw formulacin paia el
problema de flujos mutliartculo de costo mnimo, este problema posee una estructura
diagonal por bloques; por lo tanto nosotros podemos aplicar las tcnicas de descomposi-
cin para dicha estructura. El multiartculo problema de flujo de costo mnimo consta de
n+mt restricciones y (t+ 1)n variables (incluyendo las variables de holgura sobre las res-
tricciones de capacidad mxima de la suma de flujos de todos los artculos sobre cada arco
, en total son n variables de holguras, estarnos ignorando las restricciones O ~ Xi ~ U.),
93
adems la sumatoria de componentes para cada bi es cero.
Cont:iideremos la aplicacin de la tcnica de det:immpot:iicin [2] para el rnutiartkulo pro-
blema de flujo de costo mnimo.
Definamos Xi = {XiERn : Axi = bi, O :S Xi :S ui} para i = 1, 2, ... ,t. asumamos que cada
componente ui es finito , por lo tanto Xi es acotado, adems Xi es un poliedro convexo,
entonces cada elemento de Xi, puede ser expresado como una combinacin de los puntos
extremos de Xi [5), como sigue:
Sean { Xil, Xn, ... , XikJ los puntos extremos de Xi y Xi un elemento cualquiera de Xi,
ki
Xi = L AijXij ... (1)
j=l
De donde,
ki
LAij = 1 .... (2)
j=l
94
.Xn
.X12
[T
X12
1
o
X!k 1
1
o
X21
o o
1
X22
1
X2k 2
o
1 H
A1k1
.X21
.X22
-
[I]. . (e)
.X2k2
S
T
x2kz o 1
1 oo
(I : matriz identidad de dimensin n.). En este caso a es de dimensin 2 y w es de
dimensin n.
Por lo tanto la variable dual factible es dado por las siguientes dos condiciones:
Del problema (P), si tenemos t artculos, hallamos un vrtice de Xi( {xi : Axi = bi, O s;
Xi :::; ui}) para cada artculo i, denotemos por x~, x;, x;, . , x~ los vrtices de los artculos
95
1, 2, 3, ... , t respectivamente.
Como el Problema (N P) tiene n + t restricciones, eliminando las restricciones Aij mayores
iguales a cero, entonces la matriz de restricciones para el problema (N P) contiene n + t
filas por k1 + k2 + .... + kt + n columnas (que corresponden a las variables del problema
(N P)); es fcil ver que la matriz de abajo es inversible, una matriz bsica para el problema
(N P) y una submatriz de la matriz en la parte izquierda en (e) de la igualdad:
1 1 1
X x2 xt I
1 o o o
B= o 1 o o
o
o o 1 o
Si a partir de e~ta matriz bsi<.;a se obtiene una solucin b~ica factible del problema
N P entonces es una matriz bsica factible, para evitar notaciones, supongamos que la
matriz B es bsica factible: si tal matriz B no es bsica factible entonces encontramos
otra matriz bsica factible y hacemos el mismo procedimiento descrito a continuacin con
la matriz B.
Fijamos dicha matriz bsica factible B (una manera de encontrar una matriz bsica facti-
ble, es aplicando el problema del flujo en red e.~ a cada artculo, { AXi = bi, O ::::; Xi ::::; Ui}),
definamos el problema maestro [1] de la siguiente manera:
96
de restricciones compacta. Sabemos que una solucin de este problema es un vrtice, el
conjunto de vrtice; del conjunto de restricciones es finito, si tal solucin cumple que
( (w - e,, Xij) + aij > O), esta restriccin de xii entra en la base maestro, esto es, se
agrega una columna al problema maestro sobre la matriz de restricciones, la variable Aij
entra como la nueva variable bsica, y se aplica el mtodo pivote del simplcx para sacar la
vriable bsica del problema maestro; tener en cuenta que x~ satisface (w-e,, x~)+ai =O,
por lo tanto x~ es diferente de Xij; redefinimos el problema maestro de la siguiente manera,
definamm; Rntes Yii = [xij, O, .. , 1, ... , OjT donde el nmero 1 de Yii corresponde 1 a la
componente n + i.
Minimizar {(e, x~)At + (c2, x;)>..t + .... + (Ct, x~)At + (e,, Xij )Aij}
sujeto a: [B, Yij][A, A2: .. , At S, s2, ... , Sn, Aij]T = [u, 1, ... , 1jT
1
la variable de holgura Spq al nuevo problema maestro, esta variable va hacer la variable
bsica entrante y se aplica el pivote del mtodo simplex para hallar la variable bsica
saliente.
La cuestin es si siempre se puede agregar una columna nueva al conjunto de restriccio-
nes?, evidentemente no, va a ver iteraciones, donde la columna ya est en el problema
maestro, por ejemplo en la condicin 2 tuvimos un subproblema ,si la solucin de dicho
subproblema evaluado en la funcin objetivo es mayor que cero, dicha solucin puede
corresponder a una columna que ya se encuentra en el problema maestro , y entonces
no se agrega nada, encima se puede dar la posibilidad del que el problema maestro sea
idntica a la formulacin del problema (N P), y seguir desarrollando el mtodo sirnplex,
sin agregar nada despus.
Resumen de la descomposicin tcnica aplicado al problema de flujos multi-
artculo de costo mnimo
Inicializacin paso:
Iniciamos con una solucin bsica factible para el problema maestro. Almacenar B- 1 y
b' = B- 1 { u }. y (w, a) = c~B-I, donde c~i = cf Xij (una alternativa aplicando el mtodo
1
de penalizacin de gran M [1) .) .
Paso Principal
Sea la variable dual (w, a), correspondiente a la solucin bsica factible actual para
el problema maestro. Si cualquiera Wpq > O entonces la correspondiente Bpq es un
candidato para entrar a la base maestro. Si Wpq :::::; O para cada arco, consideremos
el siguiente i - th subproblema:
97
maximizar { (w- :;, xi) + ai}
sujeto a: Axi = bi, O ::; xi ::; 'IJ,i
Esto es para un slo artculo problema del flujo en redes. Si la solucin Xik para este
problema tiene Zik- cik = (w- ci)xik +. ai >O, entonces Aik es un candidato para
entrar a la base maestro.
.._,..,
XI .._,..,
X2 ... .._,..,
Xt .._,..,
X
o o ... A't o
donde {E1 , E 2 , ... , Et_ 1 , Et} y E son matrices formado por columnas de I' y de I
respectivan1ente. La columna localizacin del artculo 1 para una particular columna
98
de E 1 , identifica el arco usado en A~. Desde que B' es una matriz bsica, cada
A: debera contener una subrnatriz que genere Rm., por lo tanto cada A: debera
contener una matriz m x m bsica. Particionando A: en [Bi, Di] donde Bi es una
matriz bsica para Axi = bi, notar que Bi debe contener la columna correspondiente
a la variable artificial, desde que, Bi es una base para solamente un artculo problema
flujo en redes, Bi debe corresponder a un rbol expansin con raz del problema de
flujo en redes con la variable artificial como la raz [1]; similarmente particionamos
Ei, en[~, E;,']. Sustituyendo en B' y reordenando las columnas, nosotros obtenemos:
& E~ E; E"t E
O D1 O o o
B'= O O D2 o o
o o
La matriz B' tiene la siguiente estructura general:
B' = [E' B
E"
D
El
O
X
E' E' E u
xv b ... (4)
B D O
SB
X
donde xB es descompuesto en xv ; este sistema no es fcil para resolver, sin embargo
SB
utilizando un cambio de variables, el sistema puede ser resuelto fcilmente. Nosotros
explicaremos esto cortamente:
X 1 -B- 1 D o 1
Xf
xv o 1 o xv
1
... (5)
SB o o 1
1
SB
99
en (4), nosotros obtenemos:
E' E" E
I -B- 1 D o 1
X
u
o o o 1
I Xn
B D b
oo I
1
SB
1
X
1 u
Xn = b ... (6)
B O o 1
SB
1
E " - E'B-lD E 1 x,n = 1 u- E' x 1' 1
SB
La solucin es :
Requiere que la matriz 1 E"- E' B- 1 D E 1 sea invertible. Mientras esta matriz no
sea fcil para invertir como B. Aqu E es una matriz de columnas unitarias corres-
pondientes a las variables de holgura en la base, ahora vamos investigar la matriz
[E" - E' B- 1 D], la columna tpka de [E" - E' B- 1 D], corrcRpondicntc al artculo
k es dado por eij - E~B; 1 aij, donde eij es un vector unitario en Rn con uno en la
fila correspondiente del arco (i, j), y aij es un vector en R"" con 1 en la fila i y -1
en la fila j; sabemos que Yii = B; 1 aij corresponde a la cadena del nodo i al nodo
j atravs del rbol de expansin, enton<;es -B; 1 aij corresponde a la cadena de j
a i en el rbol expansin del artculo k, cada coeficiente en -B; 1aij corresponde
a una variable en Bk. Ahora E~ es una matriz n x m con sus columnas vectores
unitarios en Rn identificando a las variables bsicas en Bk, por lo tanto - E~B; 1 aij
simplemente expande el vector -B; 1 aij de Rm en un vector en Rn asignando a cero
a los coeficientes correspondientes a todos los arcos no bsicos del artculo k, esto
es, -E~B; 1 aij es un vector en~ correspondiente a la cadena del nodo j al nodo i
en el rbol expansin raz del artculo k. Finalmente e i j - E~B; 1 aij corresponde al
nico ciclo formado con el arco (i, j) que es agregado al rbol de expansin. Veamos
un ejemplo:
Ejemplo: Sea la red digrfica G del problema flujo en redes, que consta de 4 nodos y
los arcos {(1, 2), (1, 3), (2, 3), (2, 4), (3, 4)}, consideremos el rbol expansin formada
100
por los arcos {(1, 2), (2, 3), (3, 4)} con la variable artificial, esto corresponde a una
matriz bsica.
Calculemos: e24 - E~ B: 1a24 , donde:
o o o1
oo o o
E~= o 1 o o
o oo o
o o 1 o
1 o o o
B=
-1 1 o o
o -1 1 o
o o -1 1
a24 = [0, 1,0, -1)r.
1 o o o o o
o 1 o o o o
o o 1 o o o
o o o 1 o o
o o o o 1 o
1 1 o o o o e12 e13 e23 e24 e34
-1 o 1 1 o o -
[
a12 a13 a23 a24 a34
o -1 -1 o 1 o o o o o o
o o o -1 -1 1
o o o o o o
o o o o o o
o o o o o o
Hadendo los ckulos:
- B: 1a24 = [O, -1, -1, OJT, donde esto representa el ciclo formado por el arco (2, 4)
con los arcos bsicos, esto es {(2, 4), (3, 4), (2, 3)} en la direccin del arco (2, 4); (2, 3)
y (3, 4) estn en direccin contraria Ron colocadas con -1, los arws h.<>icos que no
participan del ciclo son O.
-E~B1 a 24 = [0, O, -1, O, -1] extiende -B1a24 a todos los arcos, con arcos no bsicos
colocados en O.
e24 - E~ B 1a24 = [O, O, -1, 1, ~ 1] solamente agrega uno al arco no bsico (2, 4). 0
101
Por lo tanto, sabiendo B, es fcil formar E" - E B- 1D.
La importante inclusin es la siguiente:
Teorema 7.2.1 Una transformada base matriz para el problema de flujos rnulti-
articulo de costo mn'irno conesponde a un expansin Tbol para cada artculo ms
un conjunto de ciclos y holguras .
Una vez conocido [E~Bk 1 aij], nosotros podernos resolver para x~ y s~; y con el vec-
X'
tor x~ , nosotros podemos determinar las variables xn, BE y x (Ver [1] p.505.).
1
SE
rnznzmzzar {5xu2 + X123 + Ox134 + lx141 + 4Xl42- 2x212 + Ox223 + 2x234- X241 + 6x242}.
sujeta a xn2 + x212 :::; 4.
Xt23 + X223 :::; 3.
X134 + X234 :::; 7.
Xl41 + X241 :::; l.
Xl42 + X242 :::; 5.
O:::; xn2:::; 3,0:::; x123 S 4,0:::; x134 S 5,0 S x141:::; 5,0 S x142:::; l.
o:::; X212 S 4,0:::; X223:::; 2,0:::; X234:::; 3,0:::; X241:::; 4,0:::; X242:::; 6.
Xtt2 Xt23 Xt34 X41 :t't42 .,, X212 X223 X234 X241 X242 "'2 812 823 834 s4, 842
-5 -1 o -1 -4 o 2 o -2 1 -6 o o o o o o o
1 o o o o o 1 o o o o o 1 o o o o 4
o 1 o o o o o 1 o o o o o 1 o o o 3
o o 1 o o o o o 1 o o o o o 1 o o 7
o o o 1 o o o o o 1 o o o o o 1 o 1
o o o o 1 o o o o o 1 o o o o o 1 5
1 o o -1 o o o o o o o o o o o o o 2
-1 1 o o -1 o o o o o o o o o o o o 1
o -1 1 o o o o o o o o o o o o o o -1
o o -1 1 1 1 o o o o o o o o o o o -2
o o o o o o 1 o o 1 o o o o o o o o
o o o o o o -1 1 o o -1 o o o o o o -3
o o o o o o o -1 1 o o o o o o o o 3
o o o o o o o o -1 1 1 1 o o o o o o
1 o o -1 o o
-1 1 o o -1 o
A=
o -1 1 o o o
o o -1 1 1 1
U= (u112,u123,UI34,u141,ul42) = (3,4,5,5,1).
u2 = (u212, U223, 'U234, U241, U242) = (4, 2, 3, 4, 6).
b = (2, 1, -1, -2).
102
b2 = (0, -3, 3, 0).
u=(4,3,7,1,5)
e = (eu2, e123, el34, el41 el42) = (5, 1, 0, 1, 4).
Recordando:
X 1 = {x 1 t:R5 : Ax1 = bbO ~ x 1 ~u}.
x2 = {x2t:.R5 : Ax2 =~.o~ X2::;; u2}
Supongamo; que noootro; iniciamo; con dos vrtices:
Sea x 11 = (2, 3, 2, O, O) vrtice de X 1
Sea X21 = (0, o, 3, o, 3) vrtice de x2
Definamos el problema maestro:
Una matriz bsica para el problema maestro de programacin lineal denotado por
B:
1 o o o o 2 o
o 1 o o o 3 o
o o 1 o o 3 3
B= o o o 1 o o o
o o o o 1 o 3
o o o o o 1 o
o o o o o 1 1
Calculando la matriz inversa de B denotado por B- 1 y las variables duales repre-
sentado por [w, a]t:R5 x R 2 :
1 o o o o -2 o
o 1 o o o -3 o
o o 1 o o -2 -3
B-1= o oo 1 o o o
o o o o 1 o ::..:,.3
ooo oo 1 o
ooo o o o 1
(e1, x11 ) = ((5, 1, O, 1, 4), (2, 3, 2, O, O)) = 13.
(e2,X 21 ) = ((-2,0,2,-1,6),(0,0,3,0,3)) =24.
es= [O o o o o (e, xu) (e2, X21) ) = [ O o o o o 13 24]
103
1 o o o o -2 o
o 1 o o o -3 o
o o 1 o o -2 -3
[w, a] = CBB- = [ O o o o o 13 24]
1
o o o 1 o o o
o o o o 1 o -3
o o o o o 1 o
o o o o o o 1
b = B- 1 [u 1 1 r = [2 o 2 1 2 1 1 r.
El valor de la funcin objetivo evaluado en la solucin factible:
eBb = 37.
Se tiene que w es el vector cero entonces w menor igual al vector cero satisface la
condicin l. Veamos la condicin 2, para el primer artculo, sea el subproblema de
programacin lineal, se tiene w- c1 = -e11 entonces la formulacin del subproblema
es:
maximizar { ( -e1 , x 1 ) + a 1 }
sujeto a: Ax 1 = b1 , O~ x 1 ~ u1 .
104
Z22 - C22 = 3 + 24 = 27.
Se viola la :::;egunda condicin, de:::;de que z22 - c 22 es mayor que cero, entonces ..\22
es un candidato para entrar a la base maestro. Calculando:
B-
1
[ X22 o 1 r = [ 3 o o 3 -3 o 1 r
entra a la base maestro, se agrega una columna al problema maestro sobre la
..\ 22
matriz de re:::;triccione:::;. Varno:::; determinar que variable b:::;ica del problema mae:::;tro
tiene que salir. La tabla del arreglo simplex:
o o o o o 13 24 37 27
812 1 o o o o -2 o 2 3
813 o 1 o o o -3 o o o
834 o o 1 o o -2 -3 2 o
841 o o o 1 o o o 1 Q
842 oo o o 1 o -3 2 -3
>..u oo o o o 1 o 1 o
,\21 o oo o o o 1 1 1
Pivoteando, la variable bsica 8 41 es la variable saliente de la base del problema
maestro.
o o o -9 o 13 24 28 o
812 1 o o -1 o -2 o 1 o
813 o 1 o o o -1 o o o
834 o o 1 o o -2 -3 2 o
... (3)
>..22 o o o 31 o o o 31 1
842 o o o 1 1 o -3 3 o
>..n o oo o o 1 o 1 o
>..21 o o o 3-1 o o 1 32 o
Actualizando el problema maestro:
105
Dode la matriz C est definido como:
1 oo oo 2 o3
o 1 o oo 3 oo
o o 1 oo 3 3 3
C= o oo 1 o o o 3
o oo o 1 o 3 o
o oo oo 1 o o
o oo oo 1 1 1
El arreglo del simplex en (3), actualiza las variables duales y la matriz inversa B,
se tiene:
[w, a]= [ O o o -9 o 13 24]
Para cada variable de holgura s11q, se tiene que Wpq( = O) es menor igual a cero,
entonces condicin 1 no es violada. Veamos condicin 2:
w - c1 = [0, O, O, -9, O] - [5, 1, O, 1, 4] = [-5, -1, O, -10, -4] y a 1 = 13. Entonces el
subproblema de programacin lineal para el artculo 1:
106
Captulo 8
Problema de Transporte
Si el total de oferta excede al total de demanda, entonces un nodo destino puede ser
creado con demanda bn+l = Li ai- 'L.i bi, definamos t;,n+l =O para i = 1, 2, ... ,m.
Asumiremos de aqu en adelante que el total de oferta es igual al total de demanda,
el problema de transporte de programacin lineal puede ser formulado como sigue:
107
Minimizar CuXn + C2X12 + ... + CnXln + c21X21 + c22X22 + ... + C2nX2n+
Cml Xml + Cm2Xm2 + + CmnXmn
Sujeto a Xn + X12 + ... + Xln =a.
Definamos:
Donde:
ei, em+j son vectores unitarios en Rm+n, con unos en la fila i y en la fila m + j
posiciones respectivamente. Notar en las definiciones que ai es un escalar y aij es un
vedor. Con estal:l definiciones el problema de transporte toma la siguiente forma:
Minimizar dx.
Sujeto a Ax = b, x :;::: O.
1 o o
o 1 o
A=
oo 1
I I I
Donde 1 es un vector fila de n elementos formado solo por unos y I es una matriz
identidad n x n. La matriz A que se obtiene del problema de transporte tiene una
estructura especial.
108
8.2. Factibilidad del problema de transporte
Bajo la suposicin que la oferta total es igual a la demanda total, el problema de
transporte siempre posee una solucin factible. Por ejemplo de una solucin factible:
aibi
Xj = --;-
Donde d = I:i ai = L:i bi.
aibi a
LXij =
j
:L-
j d
= - Lbi =ai.
d j
ab1 b
~ Xij = ~ ~ = ~ ~ ai = bi.
~ ~ ~
A'= ( Im Q ) .
O fn-1
109
8.3.1. Total unimodularidad de la matriz A
B ~ ( ~ ~m+n-,)
Ahora considerando Bm+n- 2, nosotros volvemos a discutir, que esto debera contener
a lo menos una columna con un solo uno, permutando la fila y la columna obtenemos:
1
Bm+n-2 = ( p )
O Bm+n-3
Definiendo q = [q, Q2]
1 Q1
Q2 )
B= O 1 p .
(
oo Bm+n-3
110
Continuando con este procedimiento B es una matriz triangular. Desde que todos los
elementos de la matriz A consiste por completo de entradas enteras y permutando
la matriz B se obtiene una matriz triangular con todos los elementos de la diagonal
igual a uno. Ahora si a la matriz A agregamos el vector unitario em+n' una matriz
bsica (m + n) x (m + n) del problema de transporte denotado por B es aquella
donde el rango de B es m + n, entonces B contiene el vector columna em+n y B
es triangular, asumiendo que {aih= 1,2, ... ,m y {bJ=l, 2 ,... ,n son enteras, concluimos
entonces que todas las variables b.;;icas son enteras, esto es, la solucin bsica
factible es entera.
Cada vector YiJ en la tabla del simplex para un problema de transporte es dado
por: ByiJ = aij, en la cual consiste de un sistema de ecuaciones con un elemento
incognita YiJ, aplicando mtodo de Cramer, el k-trmino de YiJ es dado por YiJk:
det(Bk)
YiJk = det( B) .
111
Sobre la tabla de transporte que es definido en la parte ltima de esta subseccin:
J k t
u auj(+1) auk(O) aut(-1)
l aj(O) : ak( -1) au( +1)
1 2 3 n-1 n
~ ~ ~ ~ ~
Proposicin 8.4.1 Los vectores bsicos de una matriz bsica no pueden formar un
ciclo sobTe la tabla de tmnsporle.
Prueba (Ver [1] p.361) Supongamos por contradiccin que los vectores b."licos
forman un ciclo (ver la definicin 11.4.4): una tpica representacin de un ciclo
puede estar representado de la forma:
{(p, q), (T, q), (T, s), (u, s) , (u, v) , (p, v)},
las celdas corresponden a vectores bsicos y cumplen:
112
{apq, arq, ars, au8 , auv, apv} son linealmente dependientes y esto es una contradiccin;
y por lo tanto vectores bsicos como representacin de un conjunto de celdas en la
tabla de transporte, no pueden forman un ciclo de la forma:
q S V
La figura siguiente ilustra la base usada para demostrar que el rango de A es m+n-l,
los B' s indican las celdas bsicas, recordar que las lneas punteadas conectando los
B' s indican que ests celdas bsicas se encuentran en la misma fila o columna. Tal
estructura: las celdas bsicas y lneas punteadas conectando entre celdas, tal estruc-
tura es llamado grafo.
1 2 n-l n
~ ~ ~ ~
2 } B
m-1} B
m } B
Sea Q un grafo consistiendo de un conjunto de celdas sobre la tabla de transporte
denotaremos ese conjunto por N, y un conjunto de segmentos (=lneas punteadas
consecutivas) que une cada par de celdas diferentes ya sea horizontal o vertical,
denotaremm; dicho conjuuto de segmentos por r, Q = Q(N, f). Tener en cuenta las
siguientes observaciones sobre un grafo Q:
O bservacin1
Sean (i,j1 ) y (i,j2 ) celdas con j 1 < j 2 , en la misma fila i de la tabla de transporte
unidos por un segmento r, no puede existir una celda (i, j 3 ) en Q donde j 1 < j 3 < j 2 ,
de tal manera que exista un arco conectando (i, j 1 ) a (i, }3) sobrero exista un arco
conectando (i, j 3) a (i, j2) sobre r.
Observacin2:
Sean (j1 , i) y (j2 , i) celdas con j 1 < j 2 , en la misma columna i de la tabla de
transporte unidos por un segmento r , no puede existir una celda (j3 , i) donde
113
j 1 < j3 < j 2, de tal manera que exista un arco conectando (j1, i) a (j3, i) sobrero
exista un arco conectando (js, i) a (j2 , i) ::;obre r.
Definicin 8.4.2 Sea Q = Q(N, r), una cadena (N, r 1 ) que une par de celdas
diferentes en Q, denotaremos dichas celdas por (i 0 ,j0 ) y (iz,jz) en N, es aquella
donde la sucesin:
N = {(io,jo), (i,j), (i2,j2) .... , (iz_,jz_i), (iz,j)},
celdas en N diferentes dos a dos y r 1 segmentos en r que une cada par de celdas
consecutivas de N 1 , esto es, hay un segmento entre (ik-l,jk-l) a (ik,jk); adems
cada 2 celdas consecutivas en N 1 coinciden en una sola coordenada, esto es, (im,jm)
a (im+l,jm+l) entonces (im = im+l) o (jm = jm+l), observar que (N1 , r 1 ) tambin
es un grafo. Para la brevedad denotaremos en algunos casos una cadena por:
{(io,jo), (i,j), (i2,j2) .... , (iz_,jz_), (iz,jz)}.
Definicin 8.4.3 Q es dicho conexo si existe una cadena entre cualquier par de
celdas diferentes en Q.
Q = Q (N, r) contiene una celda Terminal ::;i dicha celda terminal e::;ta wnectado a
lo ms por un segmento en r, las siguientes propiedades son facles de demostrar:
Proposicin 8.4.3 Un rbol tiene por lo menos dos celdas terminales (1].
Proposicin 8.4.4 Un rbol ,c; y solo si conticnr. nrw. ,c;ola ca.dr.na qnc corwcta
cada par de nodos si y solo si al desconectar (eliminar) cualquier segmento del rbol
dejando las celdas respectivas de dicho arco se obtienen dos rboles (1].
114
Definicin 8.4.6 Una submatriz B(m + n x m+ n) de [A; em+n] es definido una
matriz b~ica del prvblerna de tmn~porte ~i es de mngo m+ n, notar que em+n es
denominado variable artificial.
Prueba (Ver [1] p.362-364) Toda matriz bsica esta formada por m+n-1 columnas
de A sin contar la variable artificial, esto representa m + n - 1 celdas en la tabla
de transporte, donde existen <U menos una celda en cada fila y columna de la tabla
de transporte. Sea una matriz bsica cualquiera, supongamos que la matriz bsica
no est representada por una celda alguna en la fila i, entonces el vector bsico
factible {Xil}l=1,2, .... ,n de la matriz bsica en la fila i esta formada solo por ceros, lo
que descalifimra e~to como un vector factible (ai > 0), entonce~ una matriz bsica
contiene al menos una celda en cada fila sobre la tabla de transporte. Similarmente
para las columnas, supongo que la matriz bsica no contiene una celda en alguna
columna j, entonces el vector bsico factible { Xj h= 1,2, .... ,m de la matrir. bsica en la
fila m + j estara formada solo por ceros, lo que descalificara esto como un vector
factible (bi > 0), entonces una matriz bsica contiene al menos una celda en cada
columna sobre la tabla de transporte. Cada celda representada por una matriz bsica
se le llamar celda bsica de la matriz bsica.
Sea una matriz bsica cualqlera, definamos un conjunto de segmentos uniendo
cada par de celdas consecutivas bsicas, esto es, que se encuentran en la misma
fila o columna, y adems 110 cxi~te una celda b~:>ica entre ellos (Sean (i, j) y (i, l)
celdas diferentes en la misma fila i, conectados por un segmento, siempre y cuando
no exista una celda bsica (i, k) con j < k < l ) , este conjunto de segmentos con
las respectivas celdas bsica<; forman una g,Tafo conexo; veamos esto, consideremos
dos celdas bsicas (i,j) y (k, l), si la celda (k,j) es bsica, entonces las celdas (i,j)
y (k, l) estn conectadas va la cadena formada por celdas bsicas:
{(i,j), (i,j), (i2,j), ... , (it,j), (k,j), (k,j), ... , (k,jr), (k, l)},
ahora si la celda (k, j) no es bsica, sabemos que aki esta representado por una suma
finita de vectores b."licos:
entonces dos celdas bsicas (i, j) y (k, l) son conectadas por la cadena formada por
celdas bsicas:
{(i,j), (r,j), (r, s), (t, s), .... , (v, u), (v, w), (k, w), (k, l)},
115
entonces el grafo es conexo, adems los vectores bsicos no pueden formar ciclos
sobre la tabla de transporte, entonces el grafo es un arbl y es nko, ya que si
existiera otro rbol con las mismas celdas, lo nico que no coinciderian es en los
segmentos, esto es, existe un par de celdas y dos cadenas diferentes que unen (p, q)
a (r, s), pero esto no puede darse ya que sino deberi formarse un ciclo entre algunas
celdas bsicas, y eso es una contradiccin.
Veamos que cualquier rbol Q con m+ n - 1 celdas junto con un vector de variable
artificial, dichas celdas corresponden a una matriz bsica del problema de transporte,
sabemos que un rbol posee al menos una celda terminal, esta celda debe ser la
nica celda en su respectiva fila colunma (no los dos a la vez, en caso wntrario
supongamos que tanto la fila como la columna de la respectiva celda terminal hay
otras celdas, sean P y R las celdas ms cercanas a la celda terminal tanto en la fila y
la columna respectivamente, en el sentido de que entre la celda terminal y las celdas
P y R, no existen otras celdas; debe existir un arco del rbol que conecte la celda
terminal, supongamos que sea la celda R de la columna, dicha celda debera formar
una cadena con la otra celda P, si agregamos el arco que une la celda de la fila P
wn la celda terminal se formara un ddo, esto no cumple para las celdas bsicas.).
Supongamos que la celda terminal se encuentre slo en su fila correspondiente a la
celda terminal, denotemos por (i, j) la celda terminal, sabemos aij = ei + em+i, la
matri7. formada por estas celda..<> contiene un vector fila con un solo elemento distinto
de cero, permutando la fila y columna sobre la matriz (m+ n) x (m+ n -1) asociado
al rbol, denotemos por T la matriz asociada a Q , permutando T obtenemos:
116
m+ n- 1, adems si agregamos el vector artificial (correspondiente a la variable
artificial, vedor unitario) a la matriz T obtenemos una matriz triangular aplicando
el mismo procedimiento descrito arriba, y esto ser una matriz bsica del problema
de transporte.o
Un rbol con m+ n- 1 celdas es llamado tambin un rbol de expansin.
Un rbol expansin slo tiene m+n-1 celdas bsicas, va exh;tir un ddo al conectar
cualquier celda no bsica con las celdas bsicas; dicho ciclo desarrolla la requerida
representacin de las celdas no bsicas en funcin de las celda bsicas.
Ejemplo 8.4.1
1 2 3 4 5
1 B ... ... B
2 B
4 B
117
Asociada con la celda no bsica (4, 2) en trminos de las celdas bsicas, trazando
la cadena en la tabla de transpmte entre l~ celdas bsk~ (1, 2) y ( 4, 3) nosotros
obtenemos:
1 2 3 4 5
1 B ... ... B
2 B
3 B ... ... B B B
4 a42 ... .. B
e= {(1, 2), (1, 1), (2, 1), (3, 1), (3, 3), (4, 3)}.
Si a e agregamos la celda no bsica (4, 2) y los segmentos que unen las celdas (1, 2)
y (4, 2), y tambin (4, 2) y (4, 3) estos forman un ciclo, eliminando de la cadena e
la celda bsica {(2, 1)}, se obtiene la siguiente cadena:
Observar que estamos ignorando en la representacin la celda bsica (2, 1), desde
que es la unca celda bsica que se encuentra en la fila 2, la representacin sobre la
tabla de transporte de la celda no bsica (4, 2).
118
8.4.5. Proceso del mtodo simplex para el problema de trans-
porte
Los pasos generales de la aplicacin del mtodo simplex para un problema de pro-
gramacin lineal son los siguientes:
2. Si a~ < b~, moverse a la celda (2, 1) definamos x21 = minimo{a~, b~} donde
1 } 1 1 1 1
a2 = a2 y reemplazamos a2 por a2 - x 21 y b1 por b1 - x 21
{
1 2 3
1 (4) (7) (5) bl = 30
2 (2) (4) (3) b2 = 20
119
Los valores entre parntesis en cada celda (i,j) son los costos Cij Nos movemos de
la celda (1, 1) donde a 1 = 15, b1 = 30, tomamos el mnimo que es a1, redifinimos
b1 = 30- 15 = 15, nos movemos hacia la celda (1, 2), luego tomamos el mnimo
entre b1 y a 2 que es~= 10, y de nuevo redifinimos b1 = 15- 10 = 5, nos movemos
hacia la celda (1, 3), luego tomamos el mnimo entre b1 y a3 que es b1 = 5 y por
ltimo redifinimos a3 = 25 - 5 = 20 y nos movemos hacia abajo a la celda (2, 3) y
como es la ltima celda, ya no nos podemos mover hacia otra celda a3 = b2 = 20.
La nueva solucin factible es:xn = 15, X12 = 10, X13 = 5, x21 =O, X22 =O, X23 = 20.
1 2 3
1 (4)15 ... (7) ... 10 ... (5) ... 5 b = 30
Yi consiste de solamente 1,-1 y O' s, entonces C~Yii es calculado por la simple adicin
y sustraccin de los wstos de alguna variables bsicas, veamos la siguiente tabla de
transporte:
J k S
. .. a 8 ( +1)
i aij ...
120
En la tabla de transporte de arriba, Zj - ci de la variable no bsica Xj es dada por:
Sea la variable dual Wi para i = 1, 2, ... , m, es denotado por ui; y sea la variable
dual Wm+i para j = 1, 2, ... , n, es denotado por vi. El vector dual viene dado por
w = (u 1 , u2, ... , Um., v1 , v 2 , ... , vn), entonces desde que aii tiene un uno en la i - th
posicin y un uno en la (m+ j)- th posicin, se obtiene:
waii = Ui + Vj
Zij- Cij = Ui + Vj- Cij
El mtodo de calcular Zij- Cij es llamado mtodo (ui, vi) [1].
Desde que el vector dual es calculado por w = c~B- 1 , entonces w es la solucin al
sistema:
wB =e~ ...... (1),
Us + Vt = Cst
Vn =O= Ca
El sistema tiene m+n variables y m+n ecuaciones, nosotros sustituimos hacia atrs
el valor Vn = O, en cada ecuacin donde Vn aparece y resolvemos para u-variable;
usando esto nuevamente, encontrado u-variable, nosotros sustituimos hacia atrs
para encontrar algn v-variable, y etc.
121
Ejemplo 8.4.3
1 2 3
1 (4)B ... (7) ... B ... (5) ... B U
Sea v3 = O. Los nmeros entre parntesis de cada celda es el costo de cada celda.
celda b.sica(1, 3) : U + V3 = C13 = 5 ===?- V3 = O ===?- U = 5.
celda bsica(2, 3) : u 2 + v3 = c23 = 3 ===?- v3 = O ===?- u2 = 3.
celda bsica(1, 1) : u 1 + v1 = c11 = 4 ===?- u 1 = 5 ===?- v1 = -l.
celda bsica(l, 2) : u + v 2 = c12 = 7 ===?- u 1 = 5 ===?- v2 = 2.
Calcular zii - Cij para vmiahle~ no b~ica~:
Zz- Cz = Uz +V - c21 = 3- 1- 2 =O.
1 2 3
1 (4)15 ... (7) ... 10 ... (+1) (5) ... 5(-1) U1 = 30
122
xn = 15, x12 = 10, x13 = 5, X23 = 20, x21 = x22 = O;
Las celdas {(2,2), (2,3), (1,3), (1,2)} forman un ciclo, en la tabla de transporte se
puede probar que Y23 = Y12 = 1 y YI3 = -1;
..6. = minimo{x12,X23} = minimo{10,20} = x 12 = 10.
La nueva solucin factible actual es:
x 11 = 15(sin cambio.).
X12 = X12 - ... = 10 - 10 = 0.
X3 = X3 + ... = 5 + 10 = 15.
1 2 3
1 (4)15 ... .. . (7) ... (5) ... 15 30
Donde cualquier a~ y b; fue reducido por un previo clculo de xk,l-l o Xk-I,l res-
pectivamente. Un prctico mtodo para obtener una solucin b.<Sica factible inicial
es proceder en cualquier direccin, esto es Xk,l+l o Xk+I,l una variable bsica en el
nivel cero de acuerdo a la direccin. Variables bsicas en el nivel cero son tratados
exactamente del mismo modo como otras variables bsicas. La esquina nor-este re-
gla produce una solucin bsica factible inicial en la presencia de degeneracin.
123
1 2 3 4
1 10 ... ... 10 a1 = 20
3 40 a3 = 40
bl = 10 b2 = 10 b3 = 20 b4 =50
124
e1 = { if N : existe j tal que (i, j) es una celda de Q},
y la suma de las restricciones de demanda del problema de transporte sobre las
variables del grafo Q, denotemos por:
e2 = {jEN: existe i tal que (i,j) es una celda de Q},
coinciden(recordar que ai, bi > 0):
Tener en cuenta que Xij igual a cero, para todo ('i, j) que no es celda de Q y ademill:;
i est en e1o j est en e2. (2) no es una condicin suficiente para la presencia de
degeneracin: veamos este ejemplo:
Ejemplo 8.5.2
1 2 3
1 5 ... . .. 5
2 10 ... ... 10 a 2 = 20
3 15 a 3 = 15
bl = 5 b2 = 15 b3 = 25
a 3 = ~' pero hemos obtenido una solucin no degenerada. Una condicin necesaria
para la presencia de degeneracin es que un subconjunto propio de filas y colunmas
en la tabla de transporte tiene la suma total de ofertas igual a la suma total de
demandas; degeneracin puede ser eliminado si tal subconjunto no existe. Veamos
un ejemplo de degeneracin:
1 2 3 4 5 6
1 B ... B
2 B ... ... B
4 B
125
Supongamos que la solucin bsica es degenerada y x34 = O. Entonces separando la
celda (3, 4), se obtienen 2 subgrafos conexos corno veremos en la figura siguiente:
1 2 3 4 5 6
1 B ... ... B al
2 B ... ... B a2
4 B a4
bl b2 b3 b4 bs b6
126
Captulo 9
Conclusiones
l. Programacin dinmica es una tcnica muy til para tomar decisiones inter-
relacionadas. Requiere la formulacin de una relacin recursiva, proporciona
grandes ahorros computacionales en comparacin con la enumeracin exhaus-
tiva para enwntrar la mejor wmbinacin de dedsiones, en especial wando
se trata de problemas grandes. Esta tesis presento slo programacin con un
nmero finito de capas.
4. Algoritmo out-of-kilter es un proceso muy til que aplica las condiciones KKT,
se enfoca en dos fal:ies, una fase primal que requiere la construccin de nuevos
arcos, los arcos en reversa y por lo tanto el nmero de elementos de la red ori-
ginal tambin aumenta esto permite actualizar los flujos del problema primal
de tal manera que se siga satisfaciendo la ecuacin de conservacin, y en la
127
segunda fase se actualizan las variables duales, estos pasos se efectuan de ma-
nera repetitiva hasta que el flujo que se encuentra en estado out-of-kilter pase
al estado in-kilter, este algoritmo determina si el problema primal esta aco-
tado o no, o puede existar el caso que no exista solucin factible al problema
primal.
5. Problema del flujo mximo trabaja sobre la red, es un mtodo muy Rencillo,
en cada paso se actualiza los flujos factibles sobre una cadena en la red, este
mtodo es muy eficiente computacionalmente en comparacin con el problema
de flujo en redes.
128
Bibliografa
(1] BAZARAA, M.S., J.J. JARVIS y H.D. SHERALI, Pmgmrnacin lineal y fiujo
en redes, segunda edicin, Limusa: Mxico, DF, 2004.
[6] ALONSO REVENGA, JUANA M., Flujo en r-edes y gestin de prvyectos: tem-a
y ejercicios r-esuletos, Publicacin la Corua Net Biblio 2008.211 p.
[10] AGNARSSON, GEIR, Graph Theory: modeling, applications, and algorithms, Pu-
blicacin: Upper Saddle River, 2007. 446p.
129