T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2....

173
DE MEXICO UNIVERSIDAD NACIONAL AUTONOMA FACULTAD DE CIENCIAS RUTAS MAS CORTAS Y SU APLICACION EN PROBLEMAS DE FLUJOS T ES IS Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez Directora: M. 1. O. Wn, del ee Hernandez Ayuso ge % £, ~*, ma wr FACULTAD DE CIENCIAS UNAM FACULTAD DE CIENCIAS SECCION ESCOLAR

Transcript of T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2....

Page 1: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

DE MEXICO

UNIVERSIDAD NACIONAL AUTONOMA

FACULTAD DE CIENCIAS

RUTAS MAS CORTAS Y SU APLICACION EN

PROBLEMAS DE FLUJOS

T ES IS Que para obtener el titulo de

ACTUARIA

presenta Guadalupe Aida Guillén Gémez

Directora: M. 1. O.

Wn, del ee Hernandez Ayuso ge

% £, ~*,

ma wr

FACULTAD DE CIENCIAS

UNAM

FACULTAD DE CIENCIAS SECCION ESCOLAR

Page 2: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

UNAM – Dirección General de Bibliotecas

Tesis Digitales

Restricciones de uso

DERECHOS RESERVADOS ©

PROHIBIDA SU REPRODUCCIÓN TOTAL O PARCIAL

Todo el material contenido en esta tesis esta protegido por la Ley Federal del Derecho de Autor (LFDA) de los Estados Unidos Mexicanos (México).

El uso de imágenes, fragmentos de videos, y demás material que sea objeto de protección de los derechos de autor, será exclusivamente para fines educativos e informativos y deberá citar la fuente donde la obtuvo mencionando el autor o autores. Cualquier uso distinto como el lucro, reproducción, edición o modificación, será perseguido y sancionado por el respectivo titular de los Derechos de Autor.

Page 3: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

VAIVER DAD Nacional AVENMA DE MEXICO

MAT. MARGARITA ELVIRA CHAVEZ CANO Jefa de la Division de Estudios Profesionales de la Facultad de Ciencias Presente

Comunicamos a usted que hemos revisado el trabajo de Tesis:

RUTAS MAS CORTAS Y SU APLICACION EN PROBLEMAS DE FLUJOS

realizado por GUILLEN GOMEZ GUADALUPE AIDA

con numero de cuenta 8401371-0 , pasante de la carrera de ACTUARTA

Dicho trabajo cuenta con nuestro vote aprobatorio.

Atentamente

Director de Tesis lM Darryn

Propietario M. en I.0. Ma. DEL CARMEN HERNANDEZ avusd

Propietario M. en C. BEATRIZ EUGENIA RODRIGUEZ FERNANDEZ aaa oi ¢ {

Propietario =, en €. Ma. GUADALUPE ELENA IBARGUENGOITIA conzasie Sle oe “

Suplente = Mat. ADRIAN GIRARD ISLAS r

Suplente

M. en 1.0. VICTOR RAFAEL PEREZ PEREZ

mA gn TERA ACT CT te

Page 4: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

A Dios:

_ Por haberme permitido llegar a este punto de mi vida.

A mi mama: Que siempre me guia, me acompaiia y confia en mi.

A Rafa mi espeso: Por motivarme siempre a seguir a delante.

A mis hermanas Ana y Claudia: Que aun cuando estamos separadas siempre estaremos unidas.

A mi directora de tesis Carmen: : Por todo el apoyo y los consejos que me dio para ver realizado este logro. Gracias

por tu confianza, paciencia y hermosa amistad.

A mis sinodales:

Por haber enriquecido este trabajo con sus acertadas sugerencias y por tomarse el tiempo para hacerlas.

A mis amigos: Por haberme apoyado.

GRACIAS

Page 5: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Indice

Introduccion

Capitulo 1. Teoria de Redes

1.1 Antecedentes

1.2 Conceptos basicos

1.3 El problema de ratas mAs cortas

1.4 Los problemas de flujos

Capitulo 2, Rutas mas Cortas

2.1 Ruta mas corta de un origen a un destino

2.2 Ruta mas corta de un origen a todos los nodos

2.2.1 Propiedades de las soluciones

2.3 Ruta mas corta entre todo par de nodos

2.4 Métodos de solucién

2.4.1 Ruta mds corta de o a d y arborescencia de rutas mas cortas

2.4.1.1 Algoritmo de Dijkstra

2.4.1.2 Prueba del algoritmo de Dijkstra

2.4.1.3 Algoritmo General

2.4.1.4. Justificacién del algoritmo

2.4.2 Ruta mds corta entre todo par de nodos

2.4.2.1 Algoritmo de Floyd

2.4.2.2 Algoritmo de Dantzing

Capitulo 3. Flujo en redes

3.1 Aspectos tedéricos de flujo en redes

3.2 Flujo Maximo

wom

Mom,

12

13

IS

15

18

ig

26

26

27

27

33

34

42

43

43

35

58

58

64

Page 6: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

3.3 Métodos de solucién

3.3.1 Algoritmo de Ford y Fulkerson (Flujo maximo)

3.3.2 Variantes del problema

3.3.2.1 Redes con cotas inferiores en los arcos

3.3.2.2 Redes con capacidades en arcos y nodos

3.3.2.3 Redes con varios origenes y varios destinos

3.4 Flujo maximo a costo minimo

3.4.1 Propiedades de las soluciones

3.4.1.1 Método primal

3.4.1.2 Método dual

3.4.1.3 Método out of kilter

3.5. Métodos de solucién

3.5.1 Algoritmo basado en Ia eliminacion de circuitos negativos (primal)

3.5.2 Algoritmo basado en rutas mds cortas (dual)

3.3.3 Algoritmo Out-Of-Kilter

3.5.3.1. Justificacién del Algoritmo

Capitulo 4. Desarrollo del sistema

4.1 Estudio Técnico

4.1.1 Hardware Utilizado

4.1.2 Software Utilizado

4.2 Caracteristicas del Sistema

4.3 Alcances y Limitaciones del Sistema

4.4 Técnicas de Programacién

4.5 Estructura de los programas

4.5.1 Algoritmo Dijkstra: Ruta mds corta deoad

4.5.2 Algoritmo General: Arborescencia

4.5.3 Algoritmo de Floyd: Ruta entre todo par de nodos

4.5.4 Algoritmo de Ford y Fulkerson: Flujo Maximo

4.6 Cédigo de Subrutinas Importantes

Capitulo 5. Presentacion del Sistema

5.1 Requisitos de Instalaci6n

5.2 Preparacién Inicial

5.3 Instrucciones para Instalar a “Redes” en su computadora

5.4 Como utiliza Redes las vias de acceso y los directorios

5.5 Inicio de Sesién

Indice

69

69

76

716

86

91

94

93

95

104

105

120

120

126

131

132

142

142

142

142

142

143

143

147

150

154

158

160

164

169

169

170

170

171

171

Page 7: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

5.6 Introduccién o Modificacién de Datos

5.6.1 Pantallas de entrada de un problema nuevo

5.6.2 Pantallas de un problema almacenado

5.7 Resultados

5.7.1 DIJKSTRA: Ruta deo a d

r 5.7.2 DLUIKSTRA: Arborescencia

3.7.3 General

3.7.4 FLOYD y DANTZING 3.7.5 FORD y FULKERSON: Flujo maximo

5.7.6 Flujo a costo minimo

5.7.6.1 Primal

5.7.6.2 Dual

5.7.6.3 Out of kilter

Conclusiones

Bibliografia

Indice

177

177

183

186

186

187

189

190

193

197

197

202

206

213

216

Page 8: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Introduccién

EI constante cambio en el mercado laboral exige que las personas egresadas de las diversas

universidades cuenten con un nivel de conocimientos, practica y hasta cierto punto, experiencia en el rea que desean desarrollar. Estos requerimientos obligan a que las universidades mantengan un nivel de constante actualizacién en sus planes de estudio en general y en sus

métodos de asignacién en particular.

La Universidad Nacional Auténoma de México, en vias de lograr que los estudiantes alcancen

la excelencia en las diversas dreas de ensefianza, mantiene una politica de actualizacién con la finalidad de cubrir las expectativas externas. En particular, en la Facultad de Ciencias se desea

desarrollar una metodologia de ensefianza con mayor didactica que facilite el aprendizaje y

maximice los conocimientos adquiridos.

Como parte de esta tendencia de mejora y dada la actual facilidad de acceso que se tiene a equipos de cémputo, se ha planeado que se desarrolien diferentes trabajos de tesis en los que se

implementen sistemas computacionales que resuelvan diferentes problemas de origen

matematico. Asif los profesores de las areas involucradas pueden impartir sus catedras apoyados con dichos sistemas.

El presente trabajo se ha desarrollado como un sistema de material didactico para la Facultad

de Ciencias, en el area de investigacién de operaciones, en particular para la materia de Teoria

de redes abarcando los temas de rutas mas cortas y flujo en redes. A través del texto se ofrecen

las bases teéricas que permiten entender Ja naturaleza de estos problemas, se presentan algunos

de los algosritmos que los resuelven y se demuestra que los algoritmos de rutas mAs cortas

pueden ser aplicados como subrutinas a los algoritmos que resuelven problemas de fiujos. Como resultado de estos planteamientos teéricos se ha desarrollado un sistema computacional que resuelve cada uno de ellos.

En el Capitulo 1 se presentan los antecedentes de la teorfa de redes y se introducen los conceptos fundamentales que integran esta materia. Se definen diferentes tipos de redes y finalmente se describe brevemente cémo esta herramienta matemética es esencialmente util en ja solucién de problemas de rutas mas cortas y de flujos.

Page 9: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Introduccién

En el Capitulo 2 se examinan los conceptos de teorfa de redes en fos que estan basados los _

algoritmos que resuelven los siguientes problemas: ruta més corta de un origen a un destino,

ruta mds corta de un origen a todos los nodos y la ruta mas corta entre todo par de nodos. Para

cada uno de estos problemas se analiza el algoritmo que debe ser aplicado de acuerdo al tipo de

red en el que esté modelado es decir, si es una red con costos no negativos o una red sin restricciones en sus costos. Se establecen las condiciones bajo las cuales se encuentran

soluciones 6ptimas para cada uno de los casos.

En el Capitulo 3 se plantean los conceptos de la teoria de redes en la que se apoyan fos diferentes algoritmos que resuelven los problemas de flujos que se estudian. Se introduce el

problema basico de flujo maximo y sus variantes y el concepto de cortadura minima, se demuestra la relacién que existe entre un flujo maximo y la cortadura minima en una red y

finalmente se estudia el problema de flujo m4ximo a costo minimo. Para el problema de flujo

maximo se plantea el algoritmo de soluci6n y se determinan las modificaciones que debe sufrir

éste para resolver cada una de sus variantes. Para el problema de flujo maximo a costo

minimo, se dan tres métodos de solucién: 1) por el método de circuitos negativos (primal), 2)

por el método de deteccién de rutas mas cortas (dual), y 3) por un método combinado de rutas

mas cortas y circuitos (primai-dual).

Ei Capitulo 4 ofrece documentacién técnica del sistema, asi como del disefio y los algoritmos considerados como subrutinas en la programacién, en lo que compete al Capitulo 5, se presenta

el manual de usuario, con el fin de orientar al interesado en el correcto manejo del sistema para

su maximo aprovechamiento, desde su instalacién hasta la consideracidn de casos especificos.

Por Ultimo se presentan fas conclusiones que se obtuvieron como consecuencia de este trabajo de investigacién, asi como una serie de consideraciones acerca de la misma, de este modo se finalizar con todo el esfuerzo que se llevo a cabo a lo largo del tiempo invertido, para poder concluir con este documento.

ii

Page 10: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

El objetivo de este trabajo, es el desarrollar un tutorial de material diddctico para la asignatura

de teorfa de redes en la facultad de ciencias de la UNAM, en este capitulo se presentan los

conceptos b4sicos y fundamentales de las teorfas de redes y de graficas asi como los modelos

matem4ticos relacionados con las teorfas referidas.

1.1 Antecedentes

La teorfa de redes es una herramienta matemética muy ttil en la modelacion de diversos

fenémenos naturales y sociales. Esta materia comenz6 a desarrollarse a principios del siglo

XVII a partir de la siguiente situacién: la antigua ciudad universitaria de K6nigsberg era

atravesada por un rio en el cual habia dos islas dividiendo la ciudad en cuatro partes, las cuales

estaban unidas a través de siete puentes. Una imagen de lo que seria la ciudad se muestra en la

figura 1.1.

Figura 1.1 Ciudad de Kénigsberg y sus 7 puentes

Fuente: Cured, 1989.

Page 11: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

En aquella época se discutia la posibilidad de planear un paseo, que permitiera visitar las cuatro partes de la ciudad, atravesando todos sus puentes exactamente una vez concluyéndolo en el mismo lugar donde habia comenzado. Se realizaron innumerables pruebas que condujeron a la

conclusién de que dicho recorrido era imposible; sin embargo no fue sino hasta 1735 que el matematico suizo Leonar Euler estudié el problema y lo demostré bajo un modelo matematico.

Euler represent6 cada una de las partes de la ciudad por un punto y cada puente con una recta,

obteniendo asi una grafica similar a la de la figura 1.2. Después de un razonamiento que esta

fuera del alcance de este trabajo logr6é resolver el problema (conocido como “El problema de los puentes de K6nigsberg”) y fund6 las bases para resolver problemas similares.

Figura 1.2 Modelo matematico desarrollado por Euler para el estudio del problema de los 7 puentes de

yy

D A partir de esta modelacién se logr6é que varias disciplinas utilizaran este recurso grafico para representar diferentes fendmenos, por ejemplo en 1789 William Higgins utilizé puntos y rectas para mostrar tres de los 6xidos de nitrégeno (quimica). En las ciencias sociales también se utiliz6 este recurso para representar la relacidn entre personas, paises, conceptos u otros sujetos de comparacién; para un esquema de esta naturaleza se considera la modalidad en Ja grafica de darle direcci6n a las rectas, implicando con esto la preferencia de una persona por otra.

Cada una de las diferentes situaciones que se han esbozado y muchas més pueden ser representadas bajo un modelo de puntos y rectas, lo cual ha dado lugar a que se realicen innumerables estudios y se desarrollen razonamientos que den respuesta a las interrogantes planteadas. Asi de manera natural surgen diferentes tipos grdficos que sirven de apoyo para resolver problemas tan cotidianos como ,En cuanto tiempo se terminar4 la construcci6n de una casa?, ~Cémo se puede minimizar el costo en la construccién de carreteras que unan a x niimero de poblaciones?, {Un determinado grupo de alumnos puede trabajar en equipo?, etc.

Bajo estas interrogantes surge lo que se ha llamado “teorfa de redes” que es, por asi decirlo, una rama de la teoria de graficas, dado que muchos de los conceptos que se utilizan en 1a teoria

Page 12: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes -

de redes estén basados en resultados andlogos de Ja teoria de graficas. La diferencia entre ellas

radica en que en la teorfa de redes las rectas que unen a los puntos tienen direccién y se les

asocian valores que pueden indicar por ejemplo: costo, tiempo, longitud, capacidad,

preferencia etc. Ademés también los puntos pueden tener valores asociados.

1.2 Conceptos basicos

Son muchas las situaciones que se pueden representar bajo un modelo donde los puntos

representan cosas y las rectas unién entre ellas. Por ejemplo los puntos pueden representar

ciudades y las lineas vias de comunicacién entre ellas; o bien los puntos pueden representar

procesos y las lineas relaci6n entre ellos; también puede ser que los puntos simbolicen personas

y las lineas relacidn entre ellas. Asi lo importante en esta representaci6n es el hecho mismo de

que los puntos estén o no. relacionados. Bajo este marco de ideas surge el concepto de grafica

que queda asentado en la siguiente definicién:

Grafica: Una grafica G=(X, A) es un conjunto finito no vacio de objetos x), X2,.... Xr» llamados nodos

el cual es denotado por X y un conjunto de lineas: a,, a), ..., a, denotado por A, las cuales

unen a todos 0 a algunos de Jos elementos de X.

Un ejemplo claro de una grAfica es el de Ja figura 1.2. En el caso del problema de los puentes

de Kénigsberg no importa cémo se recorra cualquiera de ellos para Hevar a cabo el paseo; esto

significa en términos del modelo grafico que las lineas de la grafica no tienen orientacién.

Existen varios tipos de grAficas, las cuales son las siguientes:

Grafica no dirigida.

Grafica dirigida.

Grafica parcial. Subgrafica.

Multigréfica. Gréfica completa. Grafica simétrica.

Grafica fuerte.

Rea.

Gréficas no dirigidas:

Una grafica no dirigida es aquélla en Ja cual las lineas de A no tienen direccién y se llaman

aristas. (El ejemplo de los puentes es una grafica no dirigida.)

Page 13: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

Si se tratara de una representacién de carreteras donde la circulacién de los vehiculos no se

permita en ambos sentidos en algunos tramos, es importante dar una “orientacién” a las

aristas. A una modelacién grafica asi se le denomina:

Grafica dirigida: Una grafica dirigida es aquélla en la que las Ifneas de A tienen direccién y se llaman arcos. Un

arco puede representarse como el par ordenado (i, j), donde i, j ¢ X son el nodo inicial y el

nodo final del arco respectivamente.

En este trabajo se manejaran graficas dirigidas dado que las modelaciones que se requieren para

los problemas que se plantean en los capitulos 2 y 3 estén sustentadas en este esquema grafico.

Dada la importancia que tiene el hecho de cémo estén relacionados fos dos conjuntos que

forman una grafica es interesante el estudiar como se relacionan algunos subconjuntos de éstos.

Se puede observar entonces que se pueden obtener incluso otras graficas.

Gréfica parcial:

Dada una grafica G(X,A) una grafica parcial G, de G es la grafica (X,A,) con A,cA. Asi, una

grfica parcial es una grafica con los mismos nodos de G pero solamente con un subconjunto de

arcos de la grafica original.

En la figura 1.3 a) se representa la grafica G y 1.3 b) ilustra una grafica parcial G, de G.

Figura 1.3 Ejemplos de graficas parcial y subgrafica

from 2 to mL 2 J cy - 2N

4. _ 4. 4 6 4 6

yor © roe * 3~ 5 3 5

a) Grafica G - b) Gréfica parcial G, de G

Page 14: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

1 2 1 2 ~ C - =

AL ~ 4 i (4)

yy ¢ 1

3

c) Subgrafica de G d) Subgréfica parcial del inciso c.

Subgrdfica:

Dada una grafica G = (X, A) una subgrafica G, = es la grafica (X;, As) con Xsc X; y para

cadai € X, As(i) = A(i) m As. Asi que, una subgrafica tiene un subconjunto X, de nodos de la

grfica original pero contiene todos los arcos cuyos nodos iniciales y finales estén ambos en

este subconjunto.

La figura 1.3 c) muestra una subgrafica de la gréfica 1.3 a) con los nodos 1, 2, 3 y 4 y los

arcos que inciden entre ellos.

Subgrdafica parcial: En la figura 1.3 d) se muestra una subgrdfica parcial.

Otro tipo de grficas que se presenta muy frecuentemente en la practica representando sistemas

en ingenieria, sistemas de comunicacién 0 redes carreteras son aquéllas en las que existen

varios arcos en el mismo sentido entre un par de nodos. Esta representacién grafica tiene la

siguiente definici6n:

Multigrdfica:

Son graficas en las que mds de un arco en la misma direccién puede existir entre dos nodos i, j

cA. Si el nimero mas grande de arcos repetidos es s, entonces la grafica es llamada s-grdfica.

En la ingenieria eléctrica las graficas que representan redes eléctricas son casi sin excepci6n, s-

graficas, dado que muchos componentes eléctricos pueden estar en paralelo.

La red de la figura 1.4 ilustra una 3-grafica.

Page 15: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

Figura 1.4 Ejemplo de 3-grafica

1 —— 3

« 4

Wy 7 a 2 -~——--— me 5

Una forma alternativa, y también muy frecuente, de describir una grafica dirigida es

especificando el conjunto X de nodos y una funcién de correspondencia T, la cual indica c6mo

se relacionan los nodos unos con otros. T' es tlamada “mapeo de X en X” y la grafica generada

asi, se denota como: G=(X, I).

Por ejemplo: Sea X={A, B, C, D, E, F, G}

Sea T de la siguiente forma: T(A)={A, B} T)={A,C} T(B)= {D, E, F, G} T(F)={D, E} C)= {C, F, G} r(G)= 6

T(D)= {A}

Por lo tanto el conjunto X={A, B, C, D, E, F, G} y las correspondencias dadas constituyen

una grafica, la cual se muestra en Ia figura 1.5

Figura 1.5 Grafica generada aplicando Ia funcién "

Bo Ee

ao a“ ™~ a ~~. Ac7 "Gort »: .

wv” wv ~ - \ _- vw ae

y EF

Deo

Page 16: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

En el caso de graficas no dirigidas la correspondencia I se supone como un caso equivalente al

de una gréfica dirigida, en la que cada arista es reemplazada por dos arcos en direccién

opuesta.

Dada la definicion de (i) como el conjunto de nodos j € X para los que un arco (i,j) existe en

la grafica, es natural el escribir I “G) como el conjunto de nodos k, para los que un arco (k,i)

existe en G. Esta relacién es llamada la “correspondencia inversa”, asi para la grafica de la

figura 1.5, se tiene que:

T(E) = {B, F} I) = {B,C}

Si se supone que la siguiente grafica corresponde a una red carretera, los nodos numerados del

1 al 8 corresponden a diferentes poblaciones por las que se pasa a través de ésta.

Figura 1.6 Ejemplo de un red carretera

1 —— 2 m7 oY 4

a _ /

4 i 6 ' fo

al qe 3 ~ 5 - ~ 8,

Si se supone que se desea conocer por cudles segmentos de carretera se puede llegar al poblado 4 y a cuales se puede llegar saliendo del poblado 6. Se puede observar que se puede llegar al poblado 4 por los arcos (1,4) y (3,4); y se puede Ilegar a los poblados 2, 7 y 8, saliendo del

poblado 6, puesto que existen los arcos (6,2), (6,7) y (6,8).

En el modelo gr4fico la respuesta a estos planteamientos es muy importante y tiene una

definici6n sumamente sencilla:

Sea G=(X,A) una grAfica dirigida.

Predecesores:

Se llaman predecesores de ic X a todo nodo jeX tal que existe (j,i)eA.

Page 17: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

Sucesores: Se llaman sucesores de ic X a todo nodo jeX tal que existe (i,j)eA.

Se observa entonces que las respuestas a los planteamientos hechos corresponden a identificar

los predecesores de 4 y los sucesores de 6.

Conocer cual es el nimero de predecesores o de sucesores también es un concepto importante y

existe notacién para determinar cada caso, asi que la siguiente definicién puntualiza este

concepto e integra dicha notacién:

Grados de un nodo:

Sea G =(X,A) una grafica dirigidae i, j ¢ X:

El grado exterior de i denotado por g*(i) = al nimero de arcos tales que tienen a i como

extremo inicial.

e= |{ a=(i,j) eA,j eX} 1 = Ir *@ |

E]| grado interior de i= g(i) = ntmero de arcos tales que tienen a i como extremo final.

g@= |{a=Gi) eA, jeX}1= Ir@ |

Considerando la red de la figura 1.7 pagina 10, tenemos que:

g*(5)= |r*6) |=1 g(5) = IP) |=3

Es claro que la suma de los grados interiores o exteriores de todos los nodos es igual al nimero total de arcos de G, es decir:

=") = x g(i) =m

donde n es el nimero total de nodos y m el nimero total de arcos de G. Para una grAfica no dirigida G{ X,I’ ) el grado de un nodo es definido similarmente por g(i) =

Ii), y para evitar confusiones sera escrito como g(i).

Continuando con la grafica de la figura 1.6, se supone que ahora se quiere determinar una forma de Ilegar del poblado 1 al poblado 7. Si se sigue la secuencia de segmentos de carretera (1,2), (2,5), (5,6), (6,2), (2,7) se observa que se logra Iegar al lugar indicado. Este también

es un concepto sumamente importante llamado:

Page 18: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

Camino:

Un camino en una grafica dirigida es una secuencia de arcos donde el nodo final de uno es el

nodo inicial del siguiente en la secuencia.

Considerando la red de la figura 1.6 las secuencias de arcos

a) (1,4), (4,5), (5,0, (6,8) b) (1,2), (2,5), (5,6), (6,2), (2,7) c) (1,2), (2,5), (5,6), (6,2), (2,5), (5,8) son ejemplos de caminos.

Existen diferentes tipos de caminos y esta clasificacién se da a partir de las veces que se pase

por un arco y por un nodo; es decir si se observa la secuencia de arcos de los puntos a) y b) se

observa que ningtin arco se repite. A este tipo de camino se le llama:

Camino Simple: Un camino simple es en el que no se usa el mismo arco més de una vez.

Si se observa el camino del ejemplo b) se puede notar que atin cuando no se repitid ningdn

arco, si se repitié el nodo 2, en algunos casos se requiere que no se dé esta situaciOn. Este tipo

de caminos, en los que no se repinten nodos se les llama:

Camino Elemental: Un camino elemental es en el que no se usa el mismo nodo mas de una vez. Asi el camino a) es

elemental pero los caminos b) y c) no lo son.

Es claro que un camino elemental es siempre un camino simple, sin embargo lo contrario no

siempre es cierto. Por ejemplo el camino b) es un camino simple pero no es elemental. La

cadena a) es simple y elemental y la cadena c) no es ni simple ni elemental.

Se supone ahora que se puede considerar cualquier arco no importando su direccién, para ir de

un nodo a otro; en términos del ejemplo de la red carretera suena poco légico, pero en algunos

problemas de flujo que se plantean en el capitulo 3 se vera que esto tiene sentido si se piensa en

términos de “regresar” por ese arco. Este tipo de “caminos” reciben un nombre especial y

quedan determinados por la siguiente definicién:

Cadena: Una cadena es, en graficas no dirigidas, lo equivalente a un camino y aplica a graficas dirigidas

no considerando la direccién de los arcos. Asi una cadena es una secuencia de aristas o nodos.

Considerando 1a figura 1.6 las secuencias:

d) (1,2), (2,4), (4,3), G,5)

e) (1,3), (3,5), (5,2), (2,6), (6,5), (5,8)

f) (1,4), (4,5), (5,2), (2,6), (6,5), (5,2), (2,7) Son ejemplos de cadenas.

Page 19: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

Grafica Fuertemente conexa:

Una grafica se dice que esta fuertemente conectada o que es fuerte, si para cualesquiera dos

nodos distintos i, j, existe al menos un camino de ia j.

En Ja seccion 1.1 se mencioné que la teoria de redes es una rama de la teoria de graficas; ahora

se explica en qué consiste la separacién de estas materias. La teorfa de graficas generalmente se

desarrotla sobre modelos gr4ficos donde los nodos y las aristas o arcos no tienen parametros

asociados, es decir, no se les aplica ninguna ponderacién. Sin embargo los problemas de rutas

mas cortas y los de flujos que se tratan en este trabajo si tienen asociados valores en los arcos y

en algunos problemas de flujos se pueden asociar valores a los nodos.

Asi todas las graficas que tengan algin valor de ponderacién sobre sus arcos 0 sobre sus nodos

caen dentro del estudio de la teoria de redes. Esto conduce a la siguiente definicion:

Red: Una red R=(X,A,C) es una grafica (X,A) con una funcién C del conjunto de arcos (0 de los

nodos) a los reales que define una ponderacién asociada a cada arco (0 nodo).

A la funcién C se le asocian los valores c,, lo que significa que es el valor asociado al arco que

tiene como nodo inicial y final i y } respectivamente; este nimero puede representar peso,

longitud o costo.

1.3 El problema de rutas mas cortas

El problema de rutas mds cortas surge de preguntas tan sencillas como (1) ,Qué camino se debe

tomar para llegar lo mas pronto posible de un lugar a otro?, 0 (2) ;Qué carreteras construir

para unir a x ntimero de poblaciones minimizando los costos ? En ocasiones, cuando las

opciones son pocas, resolver el problema es sencillo, sin embargo éste se complica cuando se habla por ejemplo, de una linea aérea que requiere conocer las rutas de navegaci6n entre todo par de ciudades donde presta servicio de manera que minimicen sus costos 0 sus tiempos de

vuelo (3).

Las respuestas a estas interrogantes no son triviales por lo que se han desarrollado muchas herramientas para encontrar soluciones 6ptimas a problemas de esta naturaleza. Por ejemplo Dijkstra desarroll6é un algoritmo considerado como el mAs eficiente para resolver problemas del

tipo i y 2 que se plantearon arriba; sin embargo este algoritmo, que lieva su nombre, esta

sujeto a ser aplicado solamente en redes con costos no negativos asociados a los arcos; esto es una limitante cuando la modelacién de algtin problema implique costos negativos en los arcos por esta razén otro grupo de investigadores desarrollaron otro algoritmo, Hamado “General”

12

Page 20: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

porque se aplica a redes en general, que resuelve estos mismos tipos de problemas pero sin restringir el tipo de costo asociado a los arcos de la red. Para resolver los problemas del tipo 3

existen varios algoritmos eficientes, entre ellos se pueden nombrar los desarrollados por Floyd,

y por Dantzing. Este altimo se aplica generalmente a redes con costos no negativos o en redes

donde se tenga la seguridad de que no existan circuitos negativos.

1.4 Los problemas de flujos

Los problemas de flujo son ejemplos que se pueden representar muy naturalmente en redes, de hecho casi siempre se refieren a redes carreteras, a redes de comunicacién o a la red de bombeo de agua, etc. Cada uno de estos son claros ejemplos de diferentes situaciones que

pueden modelarse graficamente para plantear diferentes problematicas. Por ejemplo, en una red

carretera se desea conocer cudntas y dénde colocar casetas de cobro de forma que todos los

automovilistas paguen al menos una vez; en una red que simbolice procesos se desea conocer

cual puede ser la produccién méxima por dia.

A diferencia de los problemas de rutas mas cortas los problemas de flujos tienen una extensi6n extraordinaria. Existen muchas situaciones que se pueden representar bajo algin modelo de

flujo. De hecho los problemas de ruta mds corta se pueden considerar como un problema muy

especifico de flujo.

Dada la diversidad de aplicaci6n de este modelo matemético es l6gico imaginar que existe un

sin fin de herramientas que permiten resolver situaciones de diversas indoles, sin embargo los

modelos mas sofisticados de flujo en redes, parten de un problema basico que se puede plantear

de la siguiente forma: Se supone que se tiene una red hidrdulica que trata de abastecer la

maxima cantidad de liquido de la planta generadora a una ciudad cualquiera, el tendido de la red tiene diferentes intersecciones para llegar a la ciudad y las tuberias tienen diferentes

capacidades de conduccién del liquido. Se desea conocer la cantidad maxima de liquido que puede ser enviada a través de la red desde donde se genera hasta la ciudad especifica. El obtener este dato permitira resolver si se lograra abastecer la demanda de la ciudad, es decir si

lo que se envia es mayor o por lo menos igual a lo que se requiere en dicha ciudad.

Existen muchos algoritmos que resuelven este tipo de problemas, pero el que se considera mas

eficiente es el desarrollado por Ford y Fulkerson.

Otro modelo de flujo en redes que es muy comin en muchas situaciones es aquel en el que

conductos de flujo (los arcos ) tienen asociado, ademas de la restricci6n de capacidad, un costo por unidad de flujo. Asi la problematica que se plantea ahora es cémo obtener la mAxima

cantidad de flujo minizando el costo. Para este tipo de problemas también se han desarrollado

varios algoritmos que los resuelven, entre ellos estén el Hamado primal (haciendo una analogia

13

Page 21: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 1. Teoria de Redes

con los términos de programacién lineal dado que parte de una solucién factible hasta obtener

una Optima.) El Dual que parte de la optimalidad hasta legar a la factibilidad y finalmente el

algoritmo Primal-Dual (Out-of-kilter) que combina en diferentes fases ambas técnicas para

obtener una soluci6n 6ptima.

14

Page 22: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capituio 2. Rutas mas Cortas

En este capitulo se desarrolla la teoria de los modelos de rutas mds cortas y los métodos de

solucion relacionados con ellos. Se inicia presentando el problema basico de rutas més cortas

conocido como el de ruta mas corta de un origen a un destino. Se presenta el planteamiento del problema de localizar una ruta més corta de un origen a todos los nodos. Se indican las

propiedades que debe tener una red para que se pueda obtener una solucién 6ptima en ambos casos. Mas adelante se plantea del siguiente problema que es el de encontrar la ruta mas corta entre todo par de nodos. Finalmente en la seccién métodos de solucién se dan los algoritmos

para resolver estos tres tipos de problemas.

2.1 Ruta mas corta de un origen a un destino

Para explicar la problematica de Ia teoria de las rutas ms cortas, aqui se empieza planteando

el problema més simple, que es el de la ruta mas corta de un origen a un destino. Para este

problema se establecen las condiciones necesarias para la existencia de soluci6n.

E] problema basico de rutas més cortas es el de encontrar la ruta de longitud mas corta de un

nodo origen o a un nodo destino d.

La red asociada con este problema se denota: R=(N,A,J, donde:

N es el conjunto de nodos

A es el conjunto de arcos y 1 es una funcién de! conjunto de arcos a los reales que define la longitud asociada a cada

arco.

Asi dada una red en la que cada arco (i,j) tiene asociado el parametro Jjj, la longitud de la

ruta se define como: “La suma de las longitudes de los arcos en la ruta”.

15

Page 23: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Se considera el siguiente ejemplo: Una ciudad cuenta con una Estacién de Bomberos que ha

hecho un convenio con una ciudad vecina para prestarle servicio en caso de emergencia. Las

dos ciudades estén enlazadas por varias carreteras que se interceptan unas con otras. Los

dirigentes de ambas ciudades necesitan conocer por cuéles carreteras debe conducir el chofer

dei camién de Bomberos para llegar lo mas pronto posible de la estaci6n a la otra ciudad. La

red asociada con este problema se muestra en la figura 2.1.

En Ja red de Ja figura 2.1, el nodo 1 indica Ja sede de Ja estacién y el nodo 14 la ciudad

donde se prestara el servicio en caso de requerirlo; los nodos dei 2 al 13 son las intersecciones de las carreteras y los arcos son segmentos de carretera entre las

intersecciones. Cada longitud J, representa el tiempo estimado que lleva el atravesar el

segmento de carretera que va de la intersecci6n i a Ja j.

Entonces el problema es encontrar la ruta m4s corta en tiempo, del nodo 1 (estacién) al nodo

14 (ciudad vecina).

Figura 2.1 Red asociada con el problema de !a estacién de bomberos.

(3). aan (2)

nN ’ 4 . {4) gv!

° ®@ ay @ @) Ai

vw 2 " v8 2) M ) Y @ ” Y

2 w& 3 a. 4

1 oO 75 @ 42° Om aq w icaaes

Y 4 Y @w 4 2 & (2) OM a>

3 (4) v- (2)

a AC) 4) % nn) <-

43 , Y 2) x 10° QB)

Es importante notar que en el modelo de red dependiendo del contexto del problema la longitud

asociada a los arcos se puede entender con un significado diferente, es decir, se le da una interpretaci6n especial. Por ejemplo; en el caso de los bomberos se interpreta la longitud de los arcos como unidad de tiempo; esto es, se desea conocer la ruta que minimice el tiempo de

recorrido entre una ciudad y otra. En otros problemas, se podria requerir la ruta més econdmica y entonces las longitudes de los arcos corresponderian a unidades de dinero.

16

Page 24: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas més Cortas

Otra observacién importante es que generalmente las longitudes J, no siempre son iguales a las

I,, ¥ en algunos casos los nodos i y j no estan conectados en ambas direcciones.

En términos del ejemplo, esto significa que no existe un segmento de carretera en el que se pueda circular en ambos sentidos o que el tiempo de recorrido del poblado i al poblado j es diferente al recorrido del poblado j al i.

Una consideracién importante también es el hecho de que no siempre existe una solucién al

problema de ruta mas corta; esto se da en dos circunstancias:

1. Cuando no existe un camino del nodo origen al nodo destino y 2. Cuando existe un circuito negativo en la red y éste forma parte de la ruta que une al origen

con el destino.

Para el caso 1 es claro que no exista alguna solucién, por lo que a continuacién se explica el caso 2 de cémo afecta la existencia de un circuito negativo en la bisqueda de una solucién en el

modelo de rutas mas cortas.

Parece natural pensar que las longitudes en la red sean consideradas como cantidades no

negativas, sin embargo existen problemas en los que estas longitudes representan costos

negativos, por ejemplo descuentos, ahorros o pérdidas. Por esta razén el problema de rutas mds

cortas puede generalizarse para cualquier tipo de red.

En la figura 2.2. se presenta una red con circuito negativo.

Figura 2.2 Red con un circuito negativo.

ene oe ee ee 7

¢ 2 6) » 1 @) — e m 5 (4)

wT wo .

.o Vy e re ‘. tooo 3 —e

wv 4 v~ ft 7 ) a 8) 7 é 6° Aa)

o “>

a! aa ' 4 a ey cee 9

En la red de la figura 2.2 se forma un circuito con los nodos 6, 8 y 5.

7

Page 25: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Este circuito tiene la caracteristica de que su longitud total es negativa, es decir 4 + O + (-5) = -1, asi que si se desea encontrar la ruta de mas corta de 1 a 10, y se considera como una solucién factible, la ruta: 1, 3, 6, 8, 5, 6, 9, 10; de longitud 6 existe una ruta mejor si se vuelve a incluir este circuito en la ruta, esto es, si la ruta ahora es: 1, 3, 6, 8, 5, 6, 8, 5 6, 9, 10, la cual tiene una longitud de 5, es decir 6 -1 (donde -1 es la longitud del circuito negativo).

Este ejemplo conduce a la siguiente conclusién:

Si se considera en la ruta un circuito negativo un nimero M de veces (M > 0), Ja longitud de la ruta sera: L+qM, donde L es la suma de las longitudes de los arcos fuera del circuito negativo y q es el valor de éste. Por lo tanto si M se hace tan grande como se desee, la longitud de la ruta tiende a menos infinito; cuando se dan estos casos se dice que la solucién del problema es “no acotada”.

Bajo este orden de ideas se puede decir que para modelar problemas en términos de red donde se desee resolver problemas de rutas m4s cortas, se puede caer en alguno de estos casos:

Cuando todos los arcos tienen longitudes no negativas. Algunos arcos tienen longitudes negativas pero no forman circuitos negativos. Se presentan uno o mas circuitos con longitud negativa.

Cabe sefialar que el concepto de circuitos negativos en las redes es muy importante tanto en este modelo de ruta mas corta (de un origen a un destino), como para los otros modelos que se estudian més adelante en este mismo capitulo y en los problemas de flujo que se exponen en el capitulo 3.

Con todo esto en mente se debe destacar que los métodos de solucién que se plantean en este capitulo, estan basados en el modelo de rutas mAs cortas que se desea resolver y en el tipo de restricciones que tenga la red.

2.2 Ruta mas corta de un origen a todos los nodos

Continuando con el ejemplo de la estacion de bomberos, ver la red de Ja figura 2.2. Se supone que los nodos del 2 al 13 no s6lo son intersecciones de Jas carreteras, sino que corresponden a poblados entre las dos ciudades donde se presta el servicio de Bomberos.

El director de la Estacién considera que ahora que si presta sus servicios a esta ciudad, podrian también auxiliar a los poblados que las unen. Para ello es necesario conocer la forma de llegar 1o mas pronto posible de la Estacion de Bomberos a cada uno de los poblados. En este caso la soluciOn consiste en conocer las rutas m4s cortas de la Estacion a cada uno de ellos.

En este caso se observa que para que el problema tenga soluci6n es necesario que:

18

Page 26: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Exista por lo menos una ruta de la Estacién a cada uno de los poblados,

Que no exista un circuito negativo en la ruta de Ja Estacién a algin poblado.

En este ejemplo no se puede dar el caso 2, porque las longitudes asociadas a los arcos son todas

no negativas.

Hasta ahora se han introducido dos de los problemas de rutas més cortas, sin embargo, antes de continuar con el tercero, se deben incorporar algunas definiciones y teoremas de Teoria de Graficas que son sumamente importantes en el desarrollo de los métodos de solucién que se

expondran mas adelante.

2.2.1 Propiedades de las soluciones

Un concepto desarrollado en la teoria de graficas, en el que se basan algunas de las propiedades

de las soluciones de los problemas de rutas mas cortas es el de “Arbol”.

En términos generales, un Arbol es una grafica que tiene ciertas cualidades, las cuales permiten

literalmente plantear varias definiciones de arbol, que son equivalentes entre si. Antes de

puntualizar las caracterfsticas de un arbol, es necesario conocer algunas propiedades de graficas

que permiten demostrar las equivalencias de las definiciones que se daran.

La primera proposicion que a continuacién se enuncia, analiza el efecto de agregar una arista a una grafica.

Proposicion 1:

Sea G = (X,A) una grafica. Se supone que se agrega una arista a = (i,j) a la grafica G.

Entonces:

i) El namero de componentes conexas de G disminuye una unidad si los extremos de a

pertenecen a dos componentes conexas distintas. En este caso la arista a no pertenece a ningtin

ciclo de la grafica G' = (X,A U {a}).

ii) El nimero de componentes conexas de G permanece igual si los extremos de a pertenecen a

la misma componente conexa. En este caso, la arista a pertenece a un ciclo de la grafica G' = (X,A U {a}).

Demostracién

i) Sean G, = (X,,A,) y G, = (%,,A,) dos componentes conexas distintas de G, tales que

xeX, y yeX,. Entonces la grafica GJUG, = (X, U X,, A,U A,U{a}) es una componente

conexa de G'. Sean x,y dos nodos de X, U X, como G, y G, son graficas conexas, se tiene

19

Page 27: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

que: Si x y y pertenecen ambos a X, (0 a X,), entonces existe la cadena (x=X,,X,X5,.-.,%,=Y)

que unen a x con y en G, (0 en G,) y por lo tanto en G'.

Six ¢X, y y eX, entonces existen la cadena (x = X,,X),....X, = i) que une a x con i en G, y

la cadena (j = Y1,Ya.---.¥i1= ¥) que une j con y en G,. Entonces (x = X,,X),....% = i,j =

Ys,Yoo-»-.¥;= ¥) es una cadena que une a x con y en G'. Si yeX, y xeX, el razonamiento es

andlogo. Se supone que a pertenece a un ciclo de G’. Sea (i =i,,,...,.1, = j, i) este ciclo de G'. Esto es una contradiccién puesto que i y j pertenecen a componentes conexas distintas de

G. por lo tanto a no pertenece a ningtin ciclo de G'.

ii) Si i y j pertenecen a Ja misma componente conexa, entonces G y G' tienen Jas mismas componentes conexas. Por otro lado, existe la cadena (i=i,,i),...,i,=j) que une a i con j en G. Entonces (i=i,,i),...,j,=j,i) es un ciclo en G' que contiene a Ja arista a.

La segunda proposicién que a continuacién se enuncia, relaciona el niimero de arcos con el

numero de nodos en un grafica.

Proposicién 2

Sea G = (X,A) una grafica con n nodos y m aristas.

a) Si G es conexa entonces m > n-]

b) Si G es aciclica entonces m <n-1

Demostracion

Se supone que se construye la grafica G= (X,A) agregando una a una, sus aristas a la grafica

Gg = (X,®) que consiste de n componentes conexas.

Se observa que cada vez que se agrega una arista, el nimero de componentes conexas

disminuye a lo m4s en una unidad. Por lo tanto, para obtener la grafica conexa G a partir de la grafica Go con n Componentes conexas se necesita agregar, al menos n-1 aristas.

Es inmediato que toda grafica parcial de G por como se esta construyendo es aciclica, entonces

cada vez que se agrega una arista, el nimero de componentes conexas disminuye exactamente

en una unidad. Dado que G tiene, al menos, una componente conexa se concluye que el niimero de aristas que hay que agregar es a lo més n-1.8

Con estas proposiciones en mente se define ahora la estructura bdsica para modelar los problemas de rutas mas cortas asi como sus propiedades.

Arbol

Un arbol es una Grafica G = (X,A) que cumple con las siguientes propiedades: Es conexa y aciclica. En la figura 2.3 se muestra un ejemplo de una grafica que es drbol

20

Page 28: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Figura 2.3 Ejemplo de Arbol

“So——@

Caracterizacién de arboles Un 4rbol tiene muchas propiedades importantes que permiten definirlo de diferentes maneras, en el siguiente Teorema 1 se plantean estas diferentes definiciones. Ademas estas propiedades de los arboles proporcionan herramientas sumamente ttiles para un concepto andlogo en redes que es el de arborescencia el cual es el modelo grafico que esta intimamente relacionado con los métodos de solucién que se exponen mas adelante. A continuacién se plantea el teorema 1. La demostracién de este teorema se realiza con base en los postulados 1 y 2 sefialados

anteriormente.

Teorema 1.

Sea G = (X,A) una grafica con n nodos y m aristas. n = 2. Los siguientes postulados son

equivalentes y caracterizan un Arbol:

a) Ges conexa y aciclica. b) G es conexa pero deja de serlo si se elimina una _arista.

c) En G existe una tnica cadena entre todo par de nodos.

d) Ges conexa y tiene n-1 aristas.

e) Ges aciclica y tiene n-1 aristas. f) Ges aciclica y si se agrega una arista se forma exactamente un ciclo.

Demostracién: a>b

Por hipétesis G es conexa y aciclica. De la proposicién 2 se obtiene que G tiene n-1 aristas.

Sea a una arista de G, Sea G'= (X,A -{a}).

E] namero de aristas de G' es n-2. por Jo tanto G’ no es conexa.

boc

Por hipdtesis G es conexa y deja de serlo si se elimina una arista. Siendo G conexa, existe al

menos una cadena entre todo par de nodos. Se supone que entre los nodos x y y existen, por lo

21

Page 29: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

menos dos cadenas que los unen. Sean c, y c, dichas cadenas. Si a es una arista de c, que no

esté en c,, entonces la grafica G'= (X,A-{a}) es conexa, lo cual contradice la hipétesis. Por le tanto se concluye que existe una tinica cadena entre todo par de nodos.

c => d Por hipotesis existe en G una tnica cadena entre todo par de nodos. Que en G exista una cadena entre todo par de nodos implica que G es conexa. Por la Proposicién 2 se tiene que

m 2 n-l. Si se supone que m > n-1 entonces existe en G al menos un ciclo. Sea éste de la

forma: (X,,%),..-,X;,X;), entonces existe en G dos cadenas que unen al nodo x, y al nodo x, a

saber (X,,Xz,-.-X;) y (X;,X)), lo cual es una contradiccién, por lo tanto m = n-1.

d = e Por hipétesis G es conexa y tiene n-1 aristas. De Ja hipétesis se desprende que G tiene n-1 aristas. De la proposicién 2 se tiene que G es aciclica porque el ndmero de aristas es n-1.

e => f Por hipétesis G es aciclica y tiene n-1 aristas. Que G es aciclica se desprende de la hipotesis. Infiriendo que a= (x,y) se agrega a G, entonces, G'=(X,A') donde A'=AU {a} tiene

n aristas y por la proposicién 2 G' tiene por lo menos un ciclo. Supéngase que G' tiene al

menos dos ciclos. Sean éstos (K = X,,X),....X,= Y, X) ¥ (K = Y).¥o,--.5¥, = Y, X); entonces

(K=X),Xa.-X) = Y = VeoVepVage--s¥is=X) eS un ciclo que no contiene a la arista a y por lo

tanto esta contenida en G, lo cual contradice la hipédtesis. Por lo tanto G' tiene exactamente un

ciclo.

f > a Por hipétesis G es aciclica y si se agrega una arista se forma exactamente un ciclo. De

la hip6tesis es inmediato que G es aciclica. Suponiendo que G no es conexa entonces existen, por lo menos dos nodos para los cuales no existe una cadena que Ios une, sean éstos x y y. De aqui que x y y estén en dos componentes conexas distintas entonces G' = (X,A U {(x,y)}),

por la proposicién 1, es aciclica. Sin embargo esto contradice la hipétesis. Por lo tanto G es conexa.

Una vez expuestas las caracteristicas de arbol es importante saber que se puede obtener un arbol a partir de una grafica conexa cualquiera. Esta propiedad se plantea con la siguiente definicion.

Arbol expandido:

Sea G = (X,A) una grdfica no dirigida, un arbol expandido de G es una grafica parcial G' =

(X,A'), donde A' CA y G' es Arbol.

22

Page 30: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Figura 2.4 Ejemplo de cémo obtener un 4rbol expandido de una grAfica

SL ao | : “7 Ae ae ~

os =~ oN

“3 6 a)

a 1. 4) ~

go 6 >)

En este ejemplo, la figura 2.4 b) es una arbol expandido de la grafica 2.4 a).

Como se puede observar, hasta ahora se han planteado definiciones y teoremas que son

aplicados Gnicamente a graficas no dirigidas. Esto se debe a que dichas definiciones y teoremas

son las bases que fundamentan definiciones andlogas para graficas dirigidas.

A continuacién se dan algunas definiciones y teoremas validos sdélo en graficas dirigidas; las demostraciones de los teoremas que se plantean, estén sustentados en Ja caracterizacién de

Arbol que se planteé anteriormente.

Raiz:

Sea G = (X,A) una grafica dirigida y o € X tal que existe un camino de 0 a x para todo x €

X, entonces a o se le Hama raiz de G.

Una analogia de esta definicién es el ejemplo de la estacin de bomberos que se presento en la

seccién 2.2, donde se desea conocer la ruta mas corta de la estacién de bomberos a cada uno de

los poblados, se requiere para encontrar una solucién, que la estacién de bomberos sea raiz de

la red.

Una grafica especial que contiene una raiz se define a continuacié6n:

Arborescencia:

Una arborescencia es un Arbol que tiene raiz.

23

Page 31: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas m4s Cortas

La figura 2.5 muestra un ejemplo de arborescencia:

Figura 2.5 Ejemplo de arborescencia

En una arborescencia el camino de la raiz a cada nodo es tinico, por lo tanto se tiene que

determinar la arborescencia de rutas més cortas.

Arborescencia de rutas mas cortas:

Dada una red R = (N,A,J. Una arborescencia de rutas mas cortas de R es aquélla que la

Gnica ruta de o a x, para todo x €N, es una ruta mas corta deoa x.

Al igual que en la definicién de arbol existen ciertas propiedades equivalentes que caracterizan

a una arborescencia, El teorema 2 que se establece enseguida proporciona dichas propiedades.

Teorema 2

Sea G==(X,A) una grafica con n nodos, n22. Los postulados siguientes son equivalentes y

caracterizan una arborescencia:

a) G es conexa, g-(o) = 0 y g(x)=1, para todo nodo x #0.

b) G es aciclica, g-(0)= 0 y g-(x)=1 para todo nodo x #0.

c) G tiene como raiz ao y es aciclica. d) G tiene como raiz ao y posee n-1 arcos.

e) G es un Arbol y tiene un nodo o que es raiz.

f) Para todo nodo x existe un inico camino de 0 a x.

g) G tiene un nodo o que es raiz y si se elimina un arco entonces ya no es raiz.

Demostraci6n:

a => b Por hipétesis G es conexa y tiene n-1 arcos puesto que g(0)=0 y g-(x)=1 para todos x

# o. Entonces, G es un 4rbol y por lo tanto es aciclica.

b > c Por hipétesis G es aciclica y g-(0)=0 y g-(x)=1 para todo x # 0. Suponiendo que 0 no

es raiz entonces existe un circuito en G puesto que g-(x)=1 para toda x # 0. Sin embargo, esto

contradice la hipdtesis, por lo tanto o es raiz de G.

24

Page 32: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

c => d Por hipétesis G tiene como raiz a o entonces es conexa ademés es aciclica y por lo tanto es un 4rbol lo cual implica que tiene n-1 arcos.

d => e Por hipétesis G tiene a o como raiz lo cual implica que G es conexa y ademas posee n-1

arcos y por lo tanto es un 4rbol.

e => f Por hipétesis G tiene a 0 como raiz y es un Arbol. Debido a que o es raiz, existe un

camino de o a x, x ¢ X. Suponiendo que existen dos caminos de o a x, entonces existe un

ciclo esto sin embargo, contradice la hipétesis de que G es un 4rbol. Por lo tanto el camino de

0 ax es tinico.

f > g Por hipdtesis existe un tinico camino de 0 a x para todo nodo de X. Esto implica que 0

es raiz.

Se tiene que a=(x,,x,) es un arco de G. Sea G'=(X,A-{a}); por lo tanto se infiere que o también es raiz de G', entonces existe un tnico camino de o a x para todo x en G’, en

particular para x,, este camino, sin embargo no contiene al arco a. Por otra parte, también debe existir un camino de 0 a x,, luego entonces este camino y el arco a forman un camino de 0 a x;;

esto implica que existen dos caminos distintos en G de 0 a x,, lo cual es una contradiccién con

la hipétesis. Por lo tanto si se elimina un arco de G, o deja de ser raiz.

g = aPor la hipétesis se concluye que G es conexa. Supdéngase ahora que g°(o) = 0,

esto indica que existe un arco a = (x,0); esto significa que existe un camino de o a x, puesto que o es raiz, entonces si el arco a = (x,0) es eliminado, o contimta siendo raiz, lo cual es una

contradiccién con la hipdtesis, por lo tanto g-(0) = 0.

Por otra parte como o es raiz g(x) 2 1 para todo x # o. Supéngase que g-(x)> 1, por lo tanto

existen por lo menos dos arcos de la forma a,=(%;,X) y a. =(X;,x). Si se suprime alguno de estos

arcos 0 continiia siendo raiz de G pero es una contradiccién a la hipétesis, por lo tanto g-(x)=1

para todo x distinto de o.™

Bajo éste modelo matematico de arborescencia, se puede afirmar que la solucién al problema de encontrar la ruta mas corta de la estacién de bomberos a cada uno de los poblados, consiste

en encontrar la arborescencia de rutas més cortas de la red, con raiz en la ciudad donde esta la

estaci6n.

25

Page 33: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

2.3 Ruta més corta entre todo par de nodos

Continuando con los planteamientos considérese otro problema, el cual es un caso general de los dos anteriores; éste consiste en encontrar Ja ruta mas corta entre todo par de nodos.

Se puede pensar en la posibilidad de encontrar dichas distancias determinando las arborescencias de rutas mds cortas considerando cada vez a un nodo distinto como raiz. Sin

embargo, en la practica esto es poco eficiente, por tal razén se han estudiado métodos alternativos para resolver éste problema.

2.4 Métodos de solucién

En los textos especializados se pueden encontrar métodos muy variados para obtener soluciones

a los problemas que se han planteado en las secciones anteriores; de éstos métodos se han seleccionado los que se consideran mas eficientes para resolver cada uno de los problemas.

El primer método que se presenta resuelve e] problema de rutas mds cortas en redes con costos

no negativos; este método fue desarrollado por Dijkstra (1959) y es el mas eficiente en su

género. Los problemas que se pueden resolver con este algoritmo son Ios de ruta mas corta de

un origen a un destino y el de arborescencia de rutas mAs cortas.

EI siguiente método que se plantea se llama General; se ha nombrado asi porque es aplicable a

redes con costos de cualquier tipo. Resuelve los mismos problemas que el anterior.

Los siguientes dos métodos que se plantean fueron desarrollados uno por Floyd y el otro por

Dantzing. Ambos se especializan en resolver el problema de rutas mas cortas entre todo par de

nodos. Los dos algoritmos pueden resolver el problema en redes con costos reales. La

diferencia entre ellos es que el algoritmo de Floyd determina cuando en la red existe al menos

un circuito negativo, mientras que el algoritmo de Dantzing requiere que la red no posea

circuitos de éste tipo dado que no los detecta.

26

Page 34: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

2.4.1 Ruta mas corta de o a d y arborescencia de rutas mas cortas

2.4.1.1 Algoritmo de Dijkstra

El algoritmo de Dijkstra, como ya se mencioné, est4 desarrollado para ser aplicado en redes

que tienen costos no negativos. El] método se basa en asignar iterativamente etiquetas temporales a los nodos, correspondiendo éstas a una cota superior de la distancia mds corta desde el nodo origen o raiz hasta el nodo etiquetado. En la primera iteraci6n las etiquetas asignadas a cada nodo, distinto del origen o raiz son muy grandes (infinito), mientras que la

etiqueta de éste es cero y permanente. Las etiquetas de los demas nodos se van mejorando en cada iteracién, ademas de ir estableciendo la permanencia de una etiqueta cada vez. EI

etiquetar permanentemente un nodo significa que se ha obtenido la ruta més corta del origen o raiz a él. Dado que la red tiene sdlo longitudes no negativas en sus arcos, siempre puede

encontrarse una ruta mas corta del origen o raiz al nodo x que pase sdlo por nodos que tienen etiquetas permanentes. Finalmente si se busca la arborescencia, esta se encuentra una vez que

todos los nodos tengan etiquetas permanentes y las etiquetas de los nodos corresponderan a las

longitudes mas cortas desde la raiz. En el caso que se desee la ruta mas corta de un origen a un

destino, ésta se obtiene cuando se etiqueta como permanente el nodo destino.

Es importante mencionar que el algoritmo determina si el problema no tiene solucién cuando el nodo indicado como raiz no lo es, 0 bien si no existe un camino del origen al destino. Cabe seflalar que no es posible la existencia de circuitos negativos por la restriccién de costos no

negativos en la red.

ALGORITMO DE DIJKSTRA

Objetivo: Proporcionar la arborescencia de rutas mas cortas de raiz o en una red con costos no

negativos en los arcos.

Paso 1.- Inicializacién de etiquetas: Sea (0) = 0, marcar esta etiqueta como permanente.

Sea [(x) = ©, para todo x # 0, considerar estas etiquetas como temporales.

Sea a(x) = X, esta asignacién indicara el predecesor de x en la arborescencia.

Seap =o

Paso 2.- Actualizacion de etiquetas.

Para todo rt que tenga etiqueta temporal, actualizar etiquetas de acuerdo a:

ix) = min {l(x) , Kp) + p,x) }

Si (x) se modifica, hacer a(x) = p.

27

Page 35: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Sea x* tal que: i(x*) = min {1(x) \ (x) es temporal}.

Si Kx*) = 0, terminar, en este caso no existe arborescencia alguna de raiz o. En otro caso,

marcar la etiqueta /(x*) como permanente,

Sea p = x*

Paso 3.- i) Si sélo se desea la ruta de oad

Sip = d terminar, /(d) es la longitud del camino mas corto de o a d.

ii) Si se desea la arborescencia.

Si todos los nodos tienen etiquetas permanentes terminar; los valores de cada etiqueta

corresponden a la longitud de la ruta ms corta de 0 ax y el conjunto de arcos (a(x),x), x € X

forman la arborescencia de rutas més cortas.

En otro caso ir a 2.

A continuacion se aplica el algoritmo a algunos ejemplos:

Ejemplo 1

Una persona desea disponer de un automévil durante los siguientes 5 afios. Actualmente puede

adquirir una gran variedad de vehiculos con diferentes esperanzas de vida y costos; ademas hay

una gran variedad de planes.

Entre los diferentes planes que encontré ha elaborado la siguiente tabla:

Afio de adquisicién Ao de]Costo de la

Terminaci6n Adquisicién

2000 2001 7 2000 2002 11 2000 2003 10 2001 2002 2 2001 2003 4 2001 2004 12 2002 2003 7 2002 2004 4 2003 2004 5

Esta persona desea obtener la mejor combinacién de compra-venta en el sentido de que el costo

involucrado sea el minimo.

Con los datos de la Tabla se puede generar una red si se considera cada fecha de compra-venta como un nodo, asi el afio 2000 es el nodo 1 y el afio 2004 el afio 5. Los arcos (a,, a,) de la red corresponderdn al posible evento compra-venta en el afio a, y el afio a, ; las longitudes de los

28

Page 36: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

arcos (a,, a,) estén dadas por los costos derivados de la transacci6n realizada del afio a, al afio i 5

aj.

Figura 2.5 Red de transacciones de compra-venta

m %2 wy (10) 2 4 oO. - ne

(1) MT 36" 4&

La red entonces se puede interpretar como sugieren los siguientes ejemplos: Comprar en el afio 1 (2000) vender y comprar en el afio 3 (2002) y vender en el afio 5 (2004). Esta alternativa corresponde a la ruta 1,3,5 la cual conduce a un costo de 11+4 =15, Otra alternativa puede ser: comprar en el afio 1, comprar y vender en el afio 2 y finalmente vender en afio 5, incurriendo con esto en un costo de 7+12=19.

Asi es facil ver que toda alternativa para el automovilista corresponde a una ruta en la red y viceversa.

Se infiere entonces, que la mejor combinacién compra-venta debe corresponder a la longitud del camino mas corto del nodo 1, que representa la fecha actual al que representa el inicio del afio 5.

Como todas las longitudes son no-negativas se puede resolver este problema con el algoritmo de Dijkstra.

Iteracién 1:

Paso 1.

Inicializacién de etiquetas:

1) = 0. Etiqueta permanente.

I(x) = 0 para toda x © N excepto para x = 1. Etiquetas temporales. p= 1.

Paso 2.

Actualizacién de etiquetas:

Sucesores de p = { 2,3 }.

12) = Min {i(2), (p) + Kp,2)} = Min { 0, 0 + 7} = 7.

13) = Min {1(3), Mp) + Up,3)} = Min { , 0 + 11} = 11.

29

Page 37: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Como /{2) y 1(3) se modific6é entonces:

a(2) = 1,

a(3) = 1.

Entonces x* = 2, dado que ((2) = Min {i(2), i(3), (4), 1(5)}, se etiqueta como permanente. p= 2.

Paso 3.

p #5 entonces se repite el paso 2.

Iteracion 2

Paso 2

Actualizacién de etiquetas:

Sucesores de p = { 3,4,5 }. (3) = Min {/(3), Up) + Xp,3)} = Min { 11, 7 + 2} = 9. (4) = Min {1(4), Up) + 1(p,4)} = Min {0 , 7 + 4} = 11.

(5) = Min {((5), Up) + \(p,5)} = Min {0 , 7 + 12} = 19. Como (3), /(4) y 1(5) se modificaron entonces:

a(3) = 2.

a(4) = 2.

a(5) = 2.

Entonces x* = 3, dado que 1(3) = Min {1(3), (4) + U(5)}, se etiqueta como permanente. p=3.

Paso 3.

P # 5 entonces se repite el paso 2.

Iteracion 3.

Paso 2

Actualizacion de etiquetas:

Sucesores de p= { 4,5 }.

(4) = Min (4), Up) + lp.4} = Min { 11,9 + R= 11. 5) = Min {1(5), Ap) + Up,5)} = Min { 19, 9 + 4} = 13. Como i(5) se modificé entonces:

a(5) = 3.

Entonces x* = 4, dado que /(4) = Min {i(4), (5)}, se etiqueta como permanente. p=4.

Paso 3.

p #5 entonces se repite el paso 2.

30

Page 38: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mds Cortas

Iteracién 4.

Paso 2 Actualizacion de etiquetas:

Sucesores de p = { 5}.

15) = Min {1(5), Up) + Up,5)} = Min { 13, 114 5} = 23. Entonces x*=5, dado que (5) = Min {2(5)}, se etiqueta como permanente.

p=5S.

Paso 3.

Pp = 5 entonces terminar, se ha encontrado la ruta més corta de 1 a 5.

La recuperacién de Ja Ruta se obtiene a partir de las etiquetas a(x). La ruta en sentido inverso

es 5, a(5) = 3, a(3) = 2, a(2) = 1. Y en el sentido deseado es: 1,2,3,5. Por lo tanto la

estrategia 6ptima de compra-venta es: Comprar el automdvil en el afio 1 cambiarlo en el afio 2,

conservarlo hasta el afio 3 y comprar otro en el afio 5.

Ejemplo 2

Con la Red de los poblados y la Estacién de Bomberos que se planteé en la secci6n anterior,

se resolvera el problema de la arborescencia de rutas mas cortas.

Itera- | P | Sucesores | Etiq. de sucesores x* Todas las etiquetas cién de p permanentes?

1 1 2,3 12)=1 a(2)=1 2 no,

13)=2 a(3)=1 entonces repetir

2 2 3,4,5 13)=2 a(3)=1 3 no,

(a=4 a(4)=2 entonces repetir

1(5)=3 a(5)=2

3 3 5,6 1(5)=3 a(5)=2 5 no,

1(6)=6 a(6)=3 entonces repetir

4 5 6,8,9 1(6)=6 a(6)=3 4 no,

1(8)=6 a(8)=5 entonces repetir

19)=4 a(9)=5

5 4 7,8 U7)=7 a(7)=4 9 no,

1(8)=6 a(8)=5 entonces repetir

6 9 10,12, 1(10)=9 a(10)=9 6 no,

13 112)=7 a(12)=9 entonces repetir

413)=9 a(13)=9

31

Page 39: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas m4s Cortas

2.4.1.3 Algoritmo General

Se ha resaltado el hecho de que algunos problemas pueden quedar planteados en un modelo de

red que tenga arcos con longitud negativa, a continuacién se ver4 como el algoritmo de Dijkstra

no logra obtener una solucién 6ptima con redes de este tipo.

La red de la figura 2.7 tiene arcos con longitudes negativas.

Figura 2.7 Ejemplo de red con longitudes negativas asociadas a sus arcos.

MOK Bg Oe A

XN *

1 (6); 4 = i wo ON

Y ®

'3

De la red de la figura 2.7, considérese el nodo 1 como raiz, al aplicar el algoritmo de Dijkstra se obtiene la arborescencia de la figura 2.8.

Figura 2.8 Arborescencia obtenida utilizando el algoritmo de Dijkstra en una red con costos negativos

Atn cuando se ha obtenido una arborescencia ésta no es de rutas mas cortas, puesto que la ruta

obtenida de 1 a 3 es de longitud -2 y contiene al arco (1,3). Sin embargo, si se toma la ruta:

1,2,3 para llegar a 3 ésta es de longitud -3, que es menor a la obtenida con la aplicacién del

algoritmo. Asi pues, considerando que el algoritmo de Dijkstra no proporciona soluciones

6ptimas en redes con costos negativos se desarroll6 un algoritmo especial para obtener

soluciones en este tipo de redes.

34

Page 40: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

El aigoritmo que se presenta es una generalizacion del algoritmo de Dijkstra y consiste en

encontrar una arborescencia cualquiera (aplicando Dijkstra, por ejemplo), y posteriormente

obtener iterativamente otra arborescencia mejor que la anterior, hasta llegar a la Gptima si ésta existe. El algoritmo detecta cuando no hay solucién dandose esta situacién cuando se encuentra

un Circuito negativo.

En cada iteracién del algoritmo se verifica si la arborescencia que se tiene es la 6ptima o si ésta

puede mejorarse. La verificaci6n se realiza con base en los caminos tnicos que se tienen de la

raiz a cada uno de los nodos; de la siguiente manera: si a = (x,y) es un arco de la red que no

est4 contenido en la arborescencia, se comprueba si al ser agregado éste en la arborescencia, el

camino de la raiz al nodo y que contiene al arco a, es menor que la longitud de la raiz a y en la

arborescencia.

Si éste es el caso, es claro que entonces que ese camino es mejor que el actual por lo que se

realiza un cambio en la arborescencia, incluyendo el arco a y eliminando el tnico arco que

tiene como extremo final al nodo y. Si por el contrario, no se obtiene un camino mejor se

continéa con la verificacién de otro arco que esta fuera de la arborescencia; una vez que todos

estos arcos han sido analizados, se puede decir que se ha obtenido una arborescencia de rutas

mas cortas.

Se debe sefialar que dado que la red admite costos negativos es probable la existencia de

circuitos negativos en cuyo caso no puede existir solucién 6ptima acotada. Es importante

entonces saber determinar en cada cambio de arcos que se efectie, si existe algin circuito de

éstos. Para lo cual hay que observar si el extremo final de un arco que mejora una ruta es la

raiz, en cuyo caso se habr4 encontrado un camino de o a o con longitud negativa (en otras

palabras, un circuito negativo).

Otra situacién que se puede dar para la no existencia de solucién es en el momento de agregar

el arco que mejora la ruta y eliminar el correspondiente; si éste forma parte de un ciclo

entonces la red resultante no es una arborescencia.

35

Page 41: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

ALGORITMO GENERAL

Objetivo: Dada una red R = (N,A,j), la cua] admite costos negativos en Jos arcos, obtener una

arborescencia de rutas mas cortas de raiz 9.

Paso 1: Por algin método (Dijkstra por ejemplo), obtener una arborescencia de raiz 9.

Paso 2: (Prueba de optimalidad) Para todo (i,j), que no pertenezca a la arborescencia, calcular la longitud j(i) + (i,j).

-Si () + 10.3) > 1G) v Gj) © A, terminar, se ha obtenido la arborescencia de rutas mas

cortas. - Si 7G) + 7G,j) < 1) para algin (i,j) « A, seguir en el paso 3.

Paso 3: (Nueva arborescencia)

“Sij = 9 terminar, existe un circuito negativo. - Sij #9 sea (kj) ¢ A el dnico arco que en la arborescencia actual, es incidente al nodo j,

reemplazar el arco (k,j) por el (i,j).

- Si la grafica resultante no es una arborescencia, terminar, ya que en este caso, existe un

circuito negativo y por lo tanto el problema no tiene solucién.

- Si la grafica resultante es una arborescencia, actualizar las etiquetas de los nodos x, para los

que la ruta de 9 a x contenga como node intermedio o final al nodo j. Realizar la actualizacién

de la siguiente forma: sea j' = jj) - ii) - 7(i,j). entonces (x) = j(x) - ;'. Continuar en el paso 2.

A Ccontinuacién, se presenta un ejemplo de la aplicacién del algoritmo.

Ejemplo 1:

Un pequefio inversionista debe decidir como invertir éptimamente sus fondos en los siguientes 6 meses. En el mercado estan disponibles una gran variedad de instrumentos de inversién, pero

Unicamente se pueden realizar transacciones al final de cada mes.

Si se representa con nodos los tltimos dias de cada mes y con arcos (i,j) el hecho de que se

pueda realizar una inversién al final del mes i con vencimiento en el mes j, con la longitud de

cada arco el rendimiento que se obtendria si Ja inversién se realiza durante ese perfodo, se puede obtener una red; ahora bien, como el problema del inversionista es encontrar el rendimiento mAximo, se debe considerar la longitud de cada arco igual al negativo de la rentabilidad en la correspondiente inversién para formular esta problema como uno de rutas mas cortas. Se obtiene asi la red de la figura 2.9. Sobre esta red, se desea obtener la ruta mas

36

Page 42: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

corta, (en términos del problema original nos daria la inversién mas préspera) del nodo 0 ( mes

inicial), ai nodo 6 (mes final).

Figura 2.9 Red obtenida por el inversionista.

~_

Qe yg ed) . (2) ‘aA

-- FD | 7) 6 0 : : : a -™ wr

wo wo LS a

(4) 3 NB

Iteracién 1

Paso 1

Al aplicar el algoritmo de Dijkstra, se obtiene la arborescencia de la figura 2.10.

Figura 2.10 Arborescencia obtenida al aplicar Dijkstra a a red del inversionista.

fa ~ [6] ae — — >

eA £10]

1-41 1-81

Paso.2

Para todo arco (i,j) que no esta en la arborescencia, se calcula la longitud /(j) + ((i,j). La

figura 2.11 muestra dichos arcos, el niimero asociado a cada nodo representa el calculo

anterior.

37

Page 43: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Figura 2.11 Arcos que no estan en la arborescencia obtenida al apticar Dijkstra a la red del inversionista.

<2 a (a gy 8

we 4 (4)

10] ty < Eo] 0 Ton 6

Po agp a> 3 5

[4] [-8}

Para el arco (1,2):

(1) + 1,2) = -4 < K2) = -2 por lo que es conveniente agregar el arco (1,2) a la

arborescencia obtenida por Dijkstra.

Paso 3

EI Gnico arco con extremo final en 2 es el (0,2), por lo cual se reemplaza éste por el (1,2),

obteniéndose Ja red de la figura 2.12. Como ningiin camino pasa por 2 en la arborescencia, sdlo se actualiza a 2 como sigue:

I’ = 2) - IC) - 11,2) = -2 = C1) - 3) = 2. (2) = (2) -1' = 2-2 =-4.

Figura 2,12 Arborescencia obtenida al hacer el primer cambio en los arcos

[4] 161 v 2 “

(0) ae _ EN [-10] dee) on L 78 a 7

“3 L-.—5 [-4] 1-8)

Siendo esta red (figura 2.12) una arborescencia, se va al paso 2.

38

Page 44: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Iteraci6n 2 Paso 2

Para todo arco (i,j) que no esta en la arborescencia, se calcula la longitud /(i) + Ki,j). La

figura 2.13 muestra dichos arcos. El mimero asociado a cada nodo representa la longitud

obtenida del calculo anterior.

Figura 2.13 Arcos que estén fuera de Ja arborescencia 4 ={ 4) sy (6)

4. (4 wr ne

[0] a (-4) Me Ca \; [-10} 0 ne)

[-1] eS (SPR a any

4) [-8]

Para el arco (1,3):

i(1) + 10,3) = -6 < 13) = -4

Por lo que es conveniente agregar el arco (1,3) a Ja arborescencia obtenida en la iteracién

anterior.

Paso 3.

El tnico arco con extremo final en 3 es el (0,3), por lo cual se reemplaza éste por el (1,3)

obteniendo asi la red de la figura 2.14. Se actualizan la etiquetas:

[ = (3) - (A) - 11,3) = -4- (-1)- (5) =2

13) = 13)-l =-4-2 =-6

U4) = W4)-0 = -6-2 8

5) = 5)- = -8-2 = -10

16) = (6) -l' = -10-2 = -12

Figura 2.14 Arborescencia obtenida en la iteracion 2

44 - £8) v2 o ~~

[0] a _ E-1] — E42) nen Oe ‘6

oO “~ v~

AS Yo

[-6] [-10]

39

Page 45: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

como esta red es una arborescencia, ir al paso 2.

Iteracién 3 Paso 2

Para todo arco (i,j) que no esté en la arborescencia se calcula la longitud Mi) + i,j). La figura

2.15 muestra dichos arcos. El niamero asociado a cada nodo representa la longitud obtenida del

calculo anterior.

Figura 2.15 Arcos que estan fuera de la arborescencia

sg » re 4. (4)

My ” “psa QO. te Pee 7 5

[83 “E-10)

Para el arco (2,4):

2) + 12,4) = -9 < 4) = -8 por lo que es conveniente agregar el arco (2,4) a la

arborescencia obtenida en Ia iteracién anterior.

Paso 3.

El tinico arco con extremo final en 4 es el (3,4), por lo cual se reemplaza éste por el (2,4)

obteniendo asj la red de la figura 2.16. Se actualizan las etiquetas:

P = 14) - (2) - 12,4) = -8- (4)- (5) = 1 Ma) = (4) -T = 8-1 = 9.

Figura 2.16 Arborescencia obtenida en la iteracién 3

pon ~ 19] 2B

(0) . 1 ~ [-12]}

oe 6 a (6) Eto). A

Mg) 5

40

Page 46: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

siendo esta red una arborescencia, ir al paso 2.

Iteracion 4.

Paso 2.

Para todo arco (i,j) que no esta en la arborescencia se calcula la longitud /(i)'+ /(i,j). La figura

2.17 muestra dichos arcos. El niimero asociado a cada nodo representa la longitud obtenida del

célculo anterior.

Figura 2.17 Arcos gue estan fuera de la arborescencia

4) 1-9]

[03 yee wy ne Ea

0. aL a ” 8

aan "3 tal Ss [-10]

Para el arco (4,6):

4) + 44,6) = -13 < 6) = -12 por lo que es conveniente agregar el arco (4,6) a la

arborescencia obtenida en la iteraci6n anterior.

Paso 3.

E) tinico arco con extremo final en 6 es el] (5,6), por lo cual se reemplaza éste por el (4,6)

obteniendo asi la red de la figura 2.18. Se actualizan las etiquetas: ,

U = 16) - (4) - 4,6) = -12 - (-9)- (4) = 1

6) = K6)-f' = -12-1 = -13.

Figura 2.18 Arborescencia obtenida en la iteracion 4

iI | v2 ~4

(0] on QR 4g 0 4 C1} (-13}

(3 Ll 5S

~~ [6] ~ [40]

siendo esta red una arborescencia, ir al paso 2.

Al

Page 47: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Paso 2. Para todo arco (i,j) que no est4 en la arborescencia se calcula la longitud (i) + /(i,j). La figura

2.19 muestra dichos arcos. El ntimero asociado a cada arco representa la longitud obtenida del

calculo anterior.

Figura 2.19 Arcos que estan fuera de la arborescencia

4] aa 2 4

[0] a ay [43] Tee EY (-2) ~

Oe wf (Ay men 8)

3 pe 5 Eto]

En esta red todas las longitudes calculadas:

ii) + Gj) 2 Ig).

Por lo tanto la arborescencia obtenida en la iteracién anterior (fig. 2.18) corresponde a la de

rutas mas cortas.

En términos del problema, Ja estrategia 6ptima que debe considerar el inversionista, es: invertir

al final del mes 0, hasta finales del primer mes, reinvertir al final del mes 2; después invertirlo

durante 2 meses, es decir hasta finales del mes 4 y volver a invertir por dos meses, hasta

finales del mes 6, obteniendo con esto un rendimiento de: 13 unidades.

2.4.1.4. Justificacién del algoritmo

En primera instancia el algoritmo es finito, puesto que termina en el paso 3 con una

arborescencia si /(i) + i(i,j) > 1G) para todo (i,j) € A.

Resta demostrar que la arborescencia obtenida es de rutas mas cortas. Se har4 por contradiccién.

Sup6niendo que al terminar la aplicacién del algoritmo no se obtiene la arborescencia de rutas mas cortas, es decir, existe al menos una etiqueta /(x) que no es igual a la longitud de una ruta

mas corta de o a x para algin nodo x ¢ N.

42

Page 48: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Sea y aquel nodo que cumple con la caracterfstica anterior y con Ja condici6n adicional de que

la ruta de o a él es la de menor cardinalidad.

Como la etiqueta [(z) de un nodo z es un nimero finito que determina la longitud de un camino

de 0 az, se sigue que I(y) es igual a la longitud de algtin camino de 0 ay y por lo tanto I(y) es

mayor que la longitud de Ja ruta mds corta de o a y. Sea x el predecesor de y en Ja ruta mas

corta de 0 a x, entonces /(x) es igual a la longitud del camino mas corto de 0 a x, y I(y) > I(x)

+ (x,y), lo cual es una contradiccién.

Por lo tanto I(y) es la longitud de Ja ruta mds corta para todo y en N. Por lo tanto Ja

arborescencia generada es de rutas mas cortas.

2.4.2 Ruta mas corta entre todo par de nodos

En la presente secci6n se considera un método para resolver el problema de ruta mas corta

entre todo par de nodos en una red. Se puede observar que éste es un caso general comparado

con los planteados anteriormente. En particular este problema puede ser resuelto aplicando el

algoritmo de Dijkstra para cada nodo en la red.

Sin embargo, el seguir esta metodologia conduce a realizar un gran namero de operaciones

volviendo ineficiente la btisqueda de soluciones. Por esta razén se desarrollaron varios

algoritmos especializados en resolver este problema con lo que el obtener una solucién se

vuelve mucho mas eficiente.

Se presentan dos algoritmos que resuelven dicho problema. Uno de ellos fue desarrollado por

Floyd (1962) y el otro fue elaborado por Dantzing (1967). En ambos métodos son permitidos

los arcos con longitudes negativas, El de Dantzing requiere que la red no tenga longitudes

negativas, mientras que el de Floyd detecta cuando en la red existen circuitos negativos.

2.4.2.1 Algoritmo de Floyd

El primer método que se plantea es el desarrollado por Floyd y consiste a grandes rasgos en lo siguiente:

Los nodos de la red son numerados, siendo éstos: 1,2,...,n. El método indica cémo construir

una matriz C de nxn, con la cual se iran encontrando las longitudes de las rutas mds cortas

entre todo par de nodos, asi que al terminar de aplicar el algoritmo, Ja longitud de la ruta mas

corta del nodo i al nodo j estara dada por la entrada (i,j) de la matriz.

Las longitudes de las rutas mas cortas se obtienen en una secuencia de n iteraciones que van

transformando a Ja matriz C. Esta transformacién se realiza de forma tal que en la k-ésima

43

Page 49: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

iteracion, la matriz contiene las distancias de las rutas mas cortas entre todo par de nodos, pero

con la restriccién de que el camino de i aj, contiene finicamente nodos del conjunto restringido

{1,2,...k}, como nodos intermedios.

Para recuperar las rutas mas cortas se construira también, una matriz M de nxn; dénde el

elemento m, de M, indicara e1 predecesor del elemento j en Ja ruta de i aj encontrada en cada

iteracion del algoritmo.

ALGORITMO DE FLOYD

Objetivo: Encontrar las rutas mas cortas entre todo par de nodos en una red R = (N,A,) conn

nodos.

Paso 1

Se construye la matriz C, de nxn, de elementos c,, como sigue:

0 sii=j C= jo silij)eA

c, si Gij)e A y

Se jnicializa la matriz M, de nxn de Ia siguiente forma:

m, = i, para todo par de nodos ije N.

Hacer k = 0.

Paso 2

Sehacek = k + 1.

Para todo i+ k tal que c, # © y para todo j #k tal que c, # 0, se hace:

c, = min { cy, Cy + Oy

Se modifica M de la siguiente forma:

Mm, 7 SIC, + Cy < Cy

No cambia, Si cy < cy + Gy

44

Page 50: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Paso 3

i) Sic; < 0 para algtin i, terminar. En este caso existe un circuito negativo que contiene al nodo i y por Jo tanto no hay solucién.

ii) Sic, = 0, para todo i, y k = n, terminar; c, es la longitud del camino mAs corto de i aj.

iii) Sic, 2 0 para todo i, y k < niral paso 2.

Ejemplo 1:

Determinar tas rutas mds cortas entre todo par de nodos utilizando el algoritmo de Floyd en la siguiente red:

Figura 2.20 Red para aplicar el algoritmo de Floyd ejemplo1

7 .

v2 Ch ae 5 - (3) ® My ®)

(4) & a”

4 6). 4 (4) 7

~ ¢ SA ~ 3 oy: a (3) (24% | 4)

3 we A U6

Iteraci6n 1.

Paso 1

Al construir las matrices C y M se obtiene lo siguiente:

032000 © Y1ididdi

704670 2222222 7003 wm ow 3333333

_— | 50003 20 [4444444

C= moan 04 3 M= 5555555

woo 4aoao 0 4 6666666

caw ccc co 0 T777777

Se hace k = 0.

Paso 2

Se hace k = 1.

Se actualizan los elementos de C y M:

Cy =Minfo,5+3}=8 m,=m,=1

45

Page 51: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Cy =Minfo,5+2}=7 myg=my,=1

las matrices resultantes son:

WAU

BW

SD UH WN

AA we Whe

SAW

NS

SNAU EWN

SAW RWN

aNUW dW

Paso 3

C, 2 0 para todo i y ademas k = 1 < n = 7, entonces se regresa al paso 2.

Iteracién 2

Paso 2

Se hace k = 2.

Se actualizan los elementos de C y M:

C, = Minf 2,44+3}=2 m,, no cambia

C, = Minfo, 3+6}=9 m,, = m, = 2 C= Min{o, 8+7}=10 m5 = m5 = 2 Cy = Minf 7, 8+4}=7 m,3 no cambia Cy = Minf{ 0, 8+6}=0 ™,, no cambia Cy = Min{f 3, 84+ 7} =3 m,; no cambia

las matrices resultantes son:

032910 oa 11122141 00467 wo 2222222 0003 0 wo 3333333

58703 20 4114444 C=! wwe 0 43 M= 15555555

aao4ac0 0 4 6666666 wonwmon a 0 T7T77777

Paso 3

C, 2 0 para todo i y ademas k = 2 < n = 7, entonces se regresa al paso 2.

Iteracién 3

Paso 2

Se hace k = 3.

46

Page 52: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Se actualizan los elementos de C y M:

C,, = Min {9,24+3} =5 My, = mM, = 3

Cu = Min{6,4+3}=6 m,, , no cambia

C, = Min {0,7+3}=0 my, , no cambia

Cy = Min {0,4 + 3} = 7 m, = m,, = 3

las matrices resultantes son:

032510 oa 1113211

00467 wo 2222222

nnV3 0 nao 3333333

5 8703 -2 4114444

C= | comm 0 43 M= |5555555 wo47a0 0 4 6663666

wconona wo 0 7777777

Paso 3 C, 2 0 para todo i y adem4s k = 3 < n = 7, entonces se regresa al paso 2.

Iteracién 4

Paso 2

Se hace k = 4.

Se actualizan los elementos de C y M:

C, = Min{0,5+5}=0 m,,, no cambia Cy, = Min {3,5+ 8} =3 M,, no cambia C= Min{2,5+7}=2 M3, no cambia Ci; = Min {10,5 +3} =8 m,; = m,; = 4 Cig = Min {00, 5 -2} = 3 My = My = 4

Cy, =Min{0,6+5}=11 Mm, =m, =4 C, = Min{0,6+ 8}=0 mM, no cambia Ca = Ming 4,64+7}=4 m,;, nO cambia

C; = Min{7,64+3}=7 m,;, no cambia Cy, = Min {w,6 -2} =4 My = My = 4

C3, = Min {0,3 +5} =8 m, =m, = 4 Cy = Min {o, 3 + 8} = 11 m, =m, = 4 C; = Min{0,3 +7} =0 m3, no cambia Cy, = Min {0,3 +3} =6 My, = My, = 4 Cyg = Min {o0, 3-2} =1 My = My = 4

47

Page 53: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Cy = Min fo, -1+5}=4 Mg = My, = 4 Cy = Min {o,-1+ 8} =7 My = My. = 4 Co = Min { -4,-1 +7} = -4 ™,3, ho cambia

Cos = Min {-1,-1+3} = -1 M5, Ro cambia Cy, = Min { 0, -1 + -2} = -3 Myg = My, = 4

Las matrices resultantes son:

1113211 0325830 1104674 4222242 8 11036 -lo 4433443

C=]5 8 703 20 M= [4114444 waoaowd4 3 5555555

474-1034 4463646 moan woawcn 0 TIFVIFT7

Paso 3

Como Cz, < 0 = -3 existe un circuito negativo que contiene al nodo 6. El circuito esta formado por los nodos: 6,3,4,6. Por lo tanto no existe soluci6n para el problema.

Ejemplo 2:

Determinar las rutas mds cortas entre todo par de nodos utilizando el algoritmo de Floyd en la siguiente red:

Figura 2.21 Red para aplicar el algoritmo de Floyd ejemplol

- al 2 /_

1 6 my oe i 5 ia

Iteracion 1.

Paso 1

Se construyen las matrices C y M_ obteniendo lo siguiente:

48

Page 54: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 2. Rutas mas Cortas

Iteracion 1:

d= [0] D'=[0]

Iteraci6n 2:

di, = min {d',, +} = {0+ 1}=1 (1,2) #, = min {a,, + @,} = (2+ 0}=2 20

D = Oo 1

2 0

Iteracién 3:

@,, = min{d’,, + @,, Py + @,}= min3+0, 442}=3 B,D @,, = minfd’,, + @, dy + @,,}= minf3+1, 44+0}= 4 (3,2) d@,, = min{d’,, + @,, @, + d°,}= minfO+4, 2+4}= 4 (1,3) &,, = min{e?,, + @,, Py + d,}= minf2+9, 04+9}= 9 (2,3) &), = min{d’,, + @,,, d,}= min{9+3, 2}= 2 (2,1) &, = minfd,, + @,, @,}= minf444, I}= 1 (4,2)

D= [014 209 3°40

Iteracion 4:

dé, = min {d°,, + Wy, d°2 + 4%, d%, + a} = min{i+0, 3 + 2,243} =1 4) = min {d°,, +2, +. + 2, +d% + &.}= minfl+1,3 + 0,2 +4} =2 (4,) (1,2)

d*,; = min {d°,, +d, +d°,. +d°,, + d°,, + d’,}= minfl+4,3 + 9,240} =2 (4,3) d‘,, = min {d?,, + d%4, d, + d°,, d's, + d%,} = min{O+7,2 + 5,3 +8} =7 (1,4) d‘,, = min {@,, + d°4, dy, + d°, d’. + 4°,,} = minfl+7,0+5,4 +8} =5 (2,4) d*,, = min {@?, + dy, da, + d%4, d's + d°5.} = minf4+7,9 + 5,0 + 8} = 8 (3,4)

Qa a®

&

|

mM WN O

Naot

NowF

oan

Como se ha lievado a cabo la cuarta iteracién se termina el algoritmo y D* es la matriz final de rutas mas cortas.

57

Page 55: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en redes

El objetivo de este trabajo, es el de desarrollar material diddctico para la materia de redes en la facultad de ciencias, a continuacién se presenta en este capitulo una breve introduccién a los conceptos fundamentales de teoria de flujo en redes. Se hace el planteamiento del problema

bAsico de flujos consistente en determinar e) flujo m4ximo en una red; se analizan tres variantes de esta modelacién que son: 1) cuando Ja red tiene cotas inferiores diferentes de cero para el flujo, asociadas a ellos, 2) cuando Jos nodos también tienen cotas superiores para el flujo

asociadas a los arcos y 3) cuando se cuenta con varios origenes y varios destinos. Se dan los algoritmos de solucién y las modificaciones de éste para resolver cada una las variantes indicadas.

Posteriormente se introduce otro problema de optimizacién llamado flujo a costo minimo, en el cual se considera el costo unitario del flujo a través de un arco. En este problema surgen subproblemas de rutas m4s cortas como los analizados en el capitulo anterior. Por esta razén los tres algoritmos presentados en esta parte del capitulo contienen como subrutina algunos de

los algoritmos vistos previamente.

3.1 Aspectos teéricos de flujo en redes

Existen un sin némero de problemas relacionados con flujos que surgen en diversas aplicaciones como son: redes carreteras, sistemas de distribucién (de agua, gas, petrdleo etc.), sistemas de lineas aéreas, entre otros. Cada uno. de estos problemas involucra determinar la

cantidad maxima posible de cierto producto (autos, agua, gas, petrdleo, personas) a transportar de un lugar (origen) sobre tubos, cables, camiones etc., a otro (destino), considerando

restricciones de capacidad.

Con esto en mente, se tiene que la cantidad del producto que se desea enviar a través de la red

es lo que se llama flyjo. En términos formales tenemos la siguiente definicién:

Sea R=(X,A,q) una red que representa alguno de estos sistemas. Sea 9 y d e X origen y destino respectivamente.

58

Page 56: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

E! problema de flujo m4ximo consiste en determinar 1a cantidad f,, llamada flujo a través del

arco (i,j), para todo (i,j) < A, tal que se obtenga la m4xima cantidad de flujo en q considerando los siguientes supuestos: f, est4 acotada inferiormente por 0 ( pues representa la cantidad de un

producto ) y superiormente por q, (capacidad del arco (i,j) ), ademds no se genera ni se pierde flujo a través de la red.

A Ja funciédn f que asocia el nimero fi, al arco (i,j) que cumpla con las restricciones

anteriormente descritas se le llama flujo factible, es decir:

Flujo Factible: - Un flujo factible en una red R = (X,A,q) es una funciénf: A » IR tal que: .

v sii =o

f, - 0 sii zod Sai “Re = y sii ad

Bd Os<fjs ay VGDEA 3.2

Donde 9, d « X representan el origen y el destino de la red respectivamente y y se Nama valor

del flujo f.

A las ecuaciones (3.1) se les llama Ecyaciones de Conservacién de Flujo e indican que a través

de una red no se puede generar ni destruir flujo .

En estas ecuaciones: .

af, ij jel *@

representa el flujo total que “sale” del nodo i, mientras que:

keF “(i)

el flujo total que “entra” al nodo i.

Se observa entonces, que la diferencia establece que el flujo que “entra” al nodo i es igual al flujo que “sale” del mismo nodo, excepto para los nodos origen y destino, en los que se genera y absorbe respectivamente una cantidad de flujo de valor y.

59

Page 57: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

La ecuacién (3.2) simplemente establece las restricciones de capacidad sobre los arcos de la

red.

A continuacién se define otro concepto que juega un papel importante como herramienta de

optimizacién.

Cortadura:

Sea R = (X,A,q) una red con una funcién de capacidad q asociada a los arcos.

Sea N cualquier conjunto de nodos en la red tal que N contiene al nodo © pero no al nodo d.

Entonces al conjunto de arcos formados por: (N,N*) = (N,N‘)* U (N,N‘)” donde:

(N,N‘)* = {i,j ieN, je N'}y (N, NY = {Gj ie N, jeN}

se le llama cortadura que separa al nodo o del nodo d.

Ejemplo: Red de la figura 3.1:

Figura 3. 1 Red para ejemplificar una cortadura

Oj

a

4 ew 2 } 5 ae

oye Me ae

ae

1 8G a

Algunas cortaduras que separan a los nodos 1 y 4 en esta red son las siguientes:

1.SiN = {J} entonces (N,N*)* = {(1,2),(1,3)} (N,N) = {6}

2. SiN = {1,2} entonces (N,N‘)* = {(1,3),(2,3),(2,4)} (N,N) = {$}

3. SiN = {1,2,3} entonces (N,N‘)* = {(2,4),(3,4)} (N,N‘Y = {6} 4. SiN = {1,3} entonces (N,N‘)* = {(1,2),(3,4)} (N,N‘) ={(2,3)}

Capacidad de una Cortadura. Sea R = (X,A,q) una red con una funcién de capacidad q.

Sea (N,N‘). cualquier cortadura en la red. Entonces a la cantidad

q (N,N) = Z gy - = gi Gj) € (NY Gj) © ONY

60

Page 58: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

se le {lama Capacidad de la Cortadura.

Por lo que, para fa red de la figura 3.1, se tiene que las capacidades de las cortaduras son:

1. q(N,N‘) = 5 2. q(N,N°) = 8 3. q((N,N) = 7

4, q(N,N‘) = 4

La definicién de cortadura es importante porque existen ciertas relaciones entre cortaduras y

flujos; una de ellas establece una cota superior para el problema de flujo m4ximo’y se enuncia

enseguida.

Proposicién 1.

Sea R = (X,A,q) una red. Sea f un flujo factible de valor v y sea (N,N*) una cortadura de R.

Entonces:

v< qN.N).

Demostracién:

Sumando las ecuaciones de conservacién de flujo para los nodos en N se tiene:

vez (lf, - 2h )= ieN jelt@ ker @

xy Lh -L Lh =

ieN jel*@ ieN keIM@

Df, + Df - Th - Dh

ieN ieN ieN ieN

jeN jeN® keN keN®

Por otro lado se conoce que para todo (i,j) <¢ A, Os fj < qy entonces

v=Zf - fe < Eqy +0 = (N,N), teN ieN ieN

jeN® keN® jeNn®

con lo que queda demostrada la proposicién.

Uno de los conceptos més importantes en el estudio de flujos es el de cadena aumentante. Las cadenas aumentantes en una red permiten enviar flujo de o a da través de ellas. A continuacién se define formalmente.

61

Page 59: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitule 3. Flujo en Redes

Cadena aumentante de flujo:

Sea R = (X,A,q) una red. Sea f un flujo factible en R. Sea C una cadena de o ad de la

siguiente forma:

_Cie= ij, ap bk, Ay,...5ig, ay, kei= d

. considera la siguiente particién de los arcos de C

= {aj € Cla = (i ’ i+.) } y

= {a «C/a = Gyan i) } j=l.-k

Esto significa que a F pertenecen los arcos cuya direccién esta en el sentido de o a d, mientras

que el conjunto B esta compuesto por los arcos que estan en sentido inverso.

Se tiene que una cadena aumentante de flujo de o a d se define como una cadena de oaden la

que se cumplen las siguientes caracteristicas:

i) para todo (i,j)<eF | fy << qi

ii) para todo (i,j) ¢ B fy > 0

El nombre de aumentante se debe a que a través de esa cadena el flujo puede ser modificado de

tal manera que se obtenga uno de mayor valor.

Ejemplos:

Figura 3. 2 Ejemplos de cadenas aumentantes

(fj, Gy)

1 (2,5) ae (2,3) . (1.4)

oO ee

(2,7) (1,5) (2,7)

En las cadenas de Ja figura 3.2 a) y b) todos los arcos pertenecen al conjunto F y al conjunto B

respectivamente, mientras que la cadena de 3.2 © Jos arcos (1,2) y (2,3) pertenecen a F y

solamente e) arco (4,3) pertenece a B. Entonces las tres cadenas son aumentantes.

62

Page 60: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Se desea determinar la cantidad mdxima de flujo que se puede enviar a través de la cadena.

Esta cantidad se puede obtener considerando 1o siguiente:

Capacidad incremental de una cadena aumentante de flujo.

La capacidad incremental de una cadena aumentante de flujo es la cantidad maxima de flujo

que puede enviarse a través de ella de o a d. Esta capacidad se denota como D(C). La manera

de obtener la capacidad incremental de una cadena es la siguiente:

De= Min { [qy- fy] / Gi) eF } ay

Dy = Min { [fy] / Gj) € BY aj

y D(C) = Min [D;, Dyl.

Para las cadenas de la figura 3.2 se tiene que las capacidades incrementales son:

a) Dy = Min{ 5-2, 3-2, 4-1} ={3,1,3}=1, B ={}entonces D(C) = Dy = 1.

b) F {9}, D, =Min{ 1,3,2}=1 entonces D(C) = {1}

c) D; = Min{ 7-2, 5-1} = {5,4} = 4, D, =Min{2}=2 entonces D(C) =Min{4,2}=2

Una vez que se han obtenido las capacidades incrementales de Jas cadenas, se debe proceder de la siguiente forma, para actualizar Jos flujos fj y asi obtener otro flujo factible fj de mayor

valor.

f= f+ D(C) V Gi)F fi = f, ~ D(C) v Gj) B

Se observa que si el valor de f en la red es v, entonces el valor del f' sera de v + D(C). Los

flujos incrementados de la figura 3.2 se muestran en la siguiente figura.

Figura 3.2’ Ejemplos de cadenas aumentantes con flujo incrementado

fy ’ qi)

a) Oss Daa @ ar

b) Ge—G@—G 4) (0.2) (2,5) (1,7)

c) ‘a (2 2 y- (3 ~~(a) L van 7) ~~ (3,5) (0,7) 4

63

Page 61: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

3.2 Flujo Maximo

El} problema basico de Flujo MAximo consiste en encontrar la cantidad m4xima de fiujo que puede ser enviada de un nodo origen @ a un nodo destino d en una red con capacidades en los arcos. Es decir, el problema consiste en determinar el flujo f factible en la red cuyo valor v sea lo mas grande posible.

Ejemplo. Un agente de viajes debe contratar los vuelos de un grupo de veinte turistas que iran del aeropuerto de Chicago al aeropuerto de Estambul en un dia determinado.

En el aeropuerto de Chicago pudo conseguir informacién con respecto a los vuelos directos que hay, asi como de las diferentes rutas con escalas que puede seguir para llegar a Estambul en el dia indicado. Con la informacién conseguida el agente de viajes disefié la siguiente red:

Figura 3.3 Red de los vuelos de Chicago a Estambul

Gij

ae cn

adrid > oma

\8 ‘S \ 13/ \

9 ganas et et <Monaca: “Sofia >> Estambul> . s San a 9 _-

5 aL. ~ ae

{<a 13 Paris > Sarajevo~

EI agente de viajes construyé la red R=(X,A,q) de la figura 3.3, suponiendo que cada nodo representa una ciudad (Chicago, Madrid, Paris, etc.) y los arcos que enlazan cada uno de los nodos (0 ciudades) representan Ja existencia de un vuelo de una ciudad a otra. Cada uno de los

niimeros asociados a los arcos (funcién q) representa el nmimero de asientos libres en el respectivo vuelo.

Se supone que fj, = nimero de turistas que viajaran de Ja ciudad i a Ja ciudad j.

El agente de viajes puede resolver su problema encontrando el flujo de valor maximo en esta red. Si dicha red admite un flujo maximo, de Chicago (origen) a Estambul (destino), de valor mayor o igual a 20 entonces el agente puede enviar al grupo completo de turistas en el dia seleccionado.

Page 62: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Existen variantes del problema de flujo de maximo que consideran restricciones adicionales a

las descritas anteriormente. Por ejemplo: si en este problema del agente de viajes, se supone

que algunos de los turistas deben visitar alguna ciudad en particular, se debe considerar esta

nueva restriccion en Ia modelacién del problema.

Se tiene entonces que:

1) 10 de los 20 deben hacer el recorrido Chicago-Madrid. 2) 4 deben ir directamente de Chicago a Estambul. 3) 9 deben hacer el vuelo de Paris a Sarajevo. 4) 3 deben hacer el recorrido de Ménaco a Roma

Se observa que estos nuevos requerimientos afectan la red de la siguiente forma:

A cada uno de los arcos afectados (vuelos que deben realizarse), se le debe afiadir un nimero

adicional que indique la cantidad minima de personas que deben de realizar dicho vuelo.

Figura 3.4 Red del agente viajero con restricciones de capacidad inferior en tos arcos

(Ej, 45)

(4,5)

Esta nueva situacién implica, en el modelo de redes, agregar restricciones de cotas inferiores

para el flujo a través de los arcos, es decir que el flujo a enviar a través de la red debe cumplir

para cada arco ser mayor o igual al requerimiento cuando éste es mayor que cero y al mismo tiempo, no sobrepasar la capacidad m4xima de dicho arco.

Continuando con el problema del agente de viajes se tiene ahora la siguiente situacién: Por problemas en las aduanas de algunas ciudades no es posible admitir mas de cierto nimero de turistas en un solo vuelo, por tal raz6n el agente ha agregado a los nodos respectivos a tales

ciudades el nimero m4ximo de tmristas que pueden pasar a cada ciudad, esto se muestra en Ja

65

Page 63: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

siguiente figura, los nodos a los que no se les ha asociado nimero son aquéllos que no tienen

ninguna restricci6n al respecto.

Figura 3.5 Red del agente viajero con restricciones de capacidad en los nodos

(hj,4i)

En este caso el problema se complica un poco ms porque ademés de no violar las capacidades

de los arcos, debe también respetarse una cota superior para el flujo que entra a cada nodo llamada capacidad del nodo.

Para la Ultima de las variantes de flujo m4ximo que se estudian se considera lo siguiente:

Como se mostr6 en el problema del agente de viajes, se deseaba transportar a un grupo de turistas de una ciudad a otra es decir, todo el grupo partia del mismo origen para Ilegar al

mismo destino; ahora sup6ngase que existen varios grupos de turistas que parten de diferentes

ciudades (varios origenes) y desean llegar a diferentes destinos (varios destinos).

Un ejemplo de lo anterior se muestra en la figura 3.6.

Figura 3.6 Red con varios origenes y varios destinos

(qi) (a1)

J

66

Page 64: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

El problema ahora es el de determinar el flujo m4ximo de la red desde todos ios origenes hasta todos los destinos.

Las variantes que se han expuesto en esta seccién se pueden resumir de la siguiente forma:

Existen capacidades inferiores 4j, diferentes de cero, asociadas a los arcos (i,j).

Asi como hay capacidades asociadas a los arcos, existen también cotas w, asociadas a cada

nodo i, las cuales representan la cantidad maxima de flujo que puede pasar por dicho nodo. Otra variante importante es aquélla en la no s6lo existe un origen o y un destino d, sino que hay varios origenes y destinos.

Un estudio més detallado, con respecto a estas variantes, se realiza en la seccién 3.3 donde se

plantean los métodos de solucién para cada una de ellas.

Prosiguiendo con el problema bdsico de flujo maximo, considérese una red R=(X,A,q), con capacidades qy, un nodo origen o y un nodo destino d.

El objetivo del problema de flujo maximo es el de encontrar un flujo factible que maximice la cantidad v.

Para resolver el problema los conceptos de cadena y corte juegan un papel muy importante. De hecho una manera natural de resolver el problema es determinar las cadenas aumentantes existentes para ir obteniendo flujos de valor cada vez mayor.

Cuando se haya detectado un corte tal que su capacidad sea igual a v y ya no sea posible determinar mds cadenas aumentantes se habra obtenido un flujo maximo.

Esto se establece en el siguiente Teorema.

Teorema 1. (Teorema de Flujo Maéximo-Cortadura Minima)

El valor del flujo maximo de o a d es igual a la capacidad de la cortadura minima (N,N‘) que separa a o de d.

Demostraci6n: . La demostracién del teorema de flujo m4ximo-cortadura minima se realiza por medio de una prueba constructiva, Ja cual sugiere de inmediato el algoritmno de etiquetado para resolver este problema el cual se presenta mas adelante.

Es claro (por la proposicién: 1) que el valor del flujo maximo de o a d no puede ser mds grande que la capacidad de cualquier cortadura.

67

Page 65: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

El propésito es construir un flujo y una cortadura que cumpla Ja igualdad.

Sea f un flujo factible de valor v en la red. Se construye una cortadura (N,N‘) de la siguiente

manera:

Sea N = {o}. SiieN y fj < qj 6 fj > O hacer N = N U {j} y repetir el paso hasta que N no pueda ser

incrementado.

Entonces alguno de los dos casos pueden ocurrir:

Caso 1l:de N.

De acuerdo con el paso anterior, d e N implica que existe una cadena C aumentante de o a d.

Esto es claro dado que cada arco de C cumple con que

fj < qy V Gj) eF

oO

fj > 0 VGje B

Si se obtiene la capacidad incremental de la cadena se puede construir un flujo mejor. Asi entonces si D(C) es la capacidad incremental de la cadena C, se redefine f y v como sigue:

fy+ D(C), v (i) e F fi= 4 6 -DO. v GideB

fj en otro caso

vev+ D(C)

Con este flujo incrementado se repite el paso anterior

Caso 2) d ¢N.

Es decir d < N* por lo que (N,N‘) es una cortadura de R. De acuerdo con la construccién de

N, fy=qy V«,j) €(N,N)' y fg = 0 V (k,i) en (N,N); entonces:

v= 2fj - lf = Zqy = (N,N) ieN ieN ieN .

jen® k EN’ jen®

Con el supuesto de que las qy son enteros se tiene que el flujo es incrementado en por lo menos

una unidad cada vez que ocurre el caso 1, lo que implica que el flujo mdximo puede ser obtenido en un namero finito de iteraciones, hasta que ocurre el caso 2. El valor de este flujo

68

Page 66: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

entonces es igual a la capacidad de la cortadura (N »N*), y por lo tanto se ha obtenido un flujo

m4ximo y una cortadura minima. ™@

El método constructivo de la demostracién del teorema sugiere de inmediato el algoritmo de etiquetado para el cAlculo del flujo mdéximo de o a d en una red con capacidades dicho algoritmo se expone en la siguiente seccién.

3.3 Métodos de solucién

3.3.1 Algoritmo de Ford y Fulkerson (Flujo maximo)

Un método de solucién para el problema de flujo m4ximo de un origen o a un destino d fue desarrollado por Ford y Fulkerson; ellos propusieron una “Técnica de Etiquetado" para la detecci6n de cadena aumentantes. Ademds este método es aplicado, con algunas

modificaciones, en la soluci6n de problemas que se consideran variantes o generalizaciones del

problema.

El algoritmo inicia con un flujo factible arbitrario (éste puede ser cero a través de todos los arcos) y para incrementar el valor del flujo se buscan todas las cadenas aumentantes de flujo de

o ad. La bisqueda de las cadenas aumentantes es la que conduce a etiquetar a los nodos. La

etiqueta de un nodo indica el arco por el cual puede ser enviado flujo, asi como Ja cantidad de flujo que puede enviarse.

Una vez que una cadena aumentante es encontrada, el flujo a través de los arcos de tal cadena

se modifica obteniendo un nuevo flujo de valor mayor que el anterior. Se empieza nuevamente

a etiquetar los nodos con el nuevo flujo como base.

Cuando no es posible encontrar cadenas aumentantes el algoritmo termina y el flujo obtenido es e] de valor maximo.

A continuacién se detalla tal algoritmo.

69

Page 67: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

ALGORITMO DE FORD Y FULKERSON (FLUJO MAXIMO)

Objetivo: Dada una red R = (X,A,q), encontrar el flujo mAximo de un origen o a un destino d.

Descripcién: Paso 1: Iniciar con cualquier flujo factibie f.

Paso 2: Etiquetar el origen 0 con [+0,%] Paso 3: Elegir un nodo etiquetado y no examinado; sea i este nodo y sean [+ k, f@] sus

etiquetas. . .

i) Para todo je *(i) que no esté etiquetado y tal que f; < qy asignar la etiqueta [+i,fG)],

donde f(j) = min {f(i), gy - fj }-

ii) Para todo jeI(i) que no esté etiquetado y tal que f > O asignar la etiqueta [-i,f()],

donde fj) = min { £(), fj }

Se dice entonces que el nodo i ha sido examinado.

Paso 4: Repetir el paso 3 hasta que suceda iti) o iv):

iii) El nodo destino d no tiene etiqueta y todos los nodos etiquetados han sido examinados.Terminar, ya que el flujo factible f es el de valor maximo.

iv) El nodo d recibe etiqueta. Ir al paso 5.

Paso 5: Seai = d.

Paso 6: vy) Si la etiqueta de i es de la forma [+k, f(i)] hacer fy = fig + f(d).

vi) Si la etiqueta de i es de la forma [-k, f(i)] hacer fy = fi, - f(d).

Paso 7: Sik = 0, borrar todas las etiquetas y regresar al paso 2.

Sik #0, hacer i = k y regresar al paso 6.

Es de resaltar que el algoritmo resuelve también el problema de cortadura minima.

Si N={nodos con etiqueta} al final del algoritmo entonces (N,N*) es un corte que cumple con las condiciones del teorema de flujo m4ximo-cortadura minima y por lo tanto es el 6ptimo.

Ejemplo1: Considere el siguiente problema:

Una cooperativa de una provincia cuenta con cantidades suficientes de frutas de la temporada; estas frutas deben ser transportadas de la cooperativa a la ciudad, donde son vendidas.

70

Page 68: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Los tramos de carretera que separan la cooperativa de la ciudad, presentan ciertos

requerimientos en cuanto al peso de los camiones que pueden transitarlos, siendo este un

inconveniente al transportar Jas frutas.

Las personas de a cooperativa desean transportar la mayor cantidad de sus frutas por la red

carretera hasta el lugar de demanda.

La siguiente figura muestra la red carretera entre la cooperativa y la ciudad asi como los limites

maximos de peso entre cada uno de los tramos de carretera.

Figura 3.8 Red carretera de la cooperativa (1) a la ciudad (10) con restricciones de peso entre los tramos

ij

En esta red el nodo 1 indica la localizaci6n de la cooperativa, los nodos 2 al 9 indican los

poblados por los que puede realizarse el transporte hasta Hegar a la ciudad destino, indicada

como el nodo 10. Los arcos en la red representan los tramos de carretera entre cada uno de los

poblados y las ciudades. Los ntimeros asociados a éstos representan la cantidad maxima de peso

en toneladas que se puede transportar por la carretera.

A continuacién se aplica el algoritmo de flujo m&ximo para resolver el problema.

Iteracion 1.

Paso 1: Se inicia con un flujo factible igual a cero a través de todos los arcos.

o=1,d=10.

Paso 2:

La etiqueta para el nodo 1 = [ +1,}.

Paso 3: El Gnico nodo que esta etiquetado y no examinado es 1.

71

Page 69: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

i) Sucesores no etiquetados y tales que fy < qu son:{ 2,3 }

Etiquetas:

2:[ +1, min {o0, 7-0}] = [ +1, 7].

3: [ +1, min {co,; 5-0}] = [ +1, 5}.

ii) No tiene predecesores no etiquetados. Ei nodo 1 ha sido examinado.

Paso 4: El nodo 10 no ha recibido etiqueta y existen nodos etiquetados no examinados por lo

tanto se regresa al paso 3.

Paso 3. Un nodo etiquetado no examinado es el 2. i) Sucesores no etiquetados y tales que fy; < qy son:{ 4,5 }

Etiquetas:

4:[+2, min { 7, 3-0} = [ +2, 3]. 5: [ +2, min { 7, 7-0}] = [ +2, 7]. ii) No tiene predecesores no etiquetados. El nodo 2 ha sido examinado.

Paso 4: El nodo 10 no ha recibido etiqueta y existen nodos etiquetados no examinados por lo

tanto se regresa al paso 3.

Paso 3: Nodo etiquetado no examinado: 5. i) Sucesores no etiquetados y tales que fs; < qs; son:{ 7,8 }

Etiquetas:

7: +5, min { 7, 5-0}] = [ +5, 5]. 8: [ +5, min { 7, 9-0}] = [ +5, 7]. El nodo 5 ha sido examinado.

Paso 4: El nodo 10 no ha recibido etiqueta y existen nodos etiquetados no examinados por lo

tanto regresar al paso 3.

Paso 3: Nodo etiquetado no examinado: 8 i) Sucesor no etiquetados y tal que fa< gg es:{ 10 }

Etiquetas: 10: [ +8, min { 7, 7-0}] = [ +8, 7).

EI nodo 8 ha sido examinado.

Paso 4: El nodo destino = 10 recibié etiqueta ir al paso 5.

Paso 5: i= d= 10.

72

Page 70: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Paso 6: Etiqueta de i = [+8,7] entonces: k = 8, f(10) =7

fg.10 = fgio+ £(10) =0475 7.

Paso 7: k #0 = 1 entoncesi = k = 8.

Ir al paso 6.

Paso 6: Etiqueta de i = [+5,7] entonces: k = 5

fs, = f5.8 + f(10) =O+7=7.

Paso 7: k #0 = 1 entoncesi = k = 5.

Ir al paso 6.

Paso 6: Etiqueta de i = [+2,7] entonces: k = 2

fs = fs + (10) =O +7=7.

Paso 7: i# 0 = 1 entoncesi = k = 2,

Ir al paso 6.

Paso 6: Etiqueta de i = [+1,7] entonces: k = 1 fi2= fir + f(10) =O+7=7.

Paso 7: k = o = 1 se borran la etiquetas y se regresa al paso 2.

Las etiquetas de la primera iteracion se muestran en la figura 3.9 y en la 3.10 se muestra el

flujo enviado a través de la cadena obtenida.

Figura 3.9 Etiquetas en la primera iteracién

(fij ai)

Iteracién 2.

En la iteracién 2 se obtuvo la cadena: 1,3,6,9,10 de capacidad 2.

Las etiquetas de la segunda iteracién se muestran en la figura 3.10 y en la 3.11 se muestra el flujo actualizado.

3

Page 71: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.10 Flujo obtenido en Ia primera iteracién y etiquetas de la segunda

(fij ai)

Iteracién 3.

En la iteracién 3 se obtuvo la cadena: 1,3,4,7,10 de capacidad 1

Las etiquetas de la tercer iteraci6n se muestran en Ia figura 3.11 y en la 3.12 se muestra el flujo

actualizado.

Figura 3.11 Flujo obtenido en la segunda iteracién y etiquetas de la tercera

(fij,4ij)

+431 [+5.21

(10) 27,17

(2.7) (2,2) RAS B33

Iteracién 4. En la iteraci6n 4 se obtuvo la cadena: 1,3,4,5,7,10 de capacidad 2.

Las etiquetas de la cuarta iteraci6n se muestran en la figura 3.11 y en la 3.12 se muestra el flujo actualizado.

74

Page 72: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.12 Flujo obtenido en la tercera iteracién y etiquetas de la cuarta

(fij-45))

Iteracién 5.

En la iteracién 5 el destino no recibié etiqueta y todos los nodos etiquetados estan examinados

entonces se ha obtenido el flujo de valor 12 que es el maximo. Por lo tanto la red de Ia figura 3.13

muestra el flujo maximo. :

Figura 3.13 Flujo obtenido en Ia cuarta iteracién, correspondiendo al flujo maximo

(fij- aij)

(7.7) 7,9)

ae “ > 2.7) (2,3 Mag (0,8.

=~ |---| 10

(3,5) ( /

(2,9)

(2,2)

Como N={nodos con etiqueta} = {1} entonces la cortadura minima es

(N,N*) = { (1,2),(1,3) } cuya capacidad es:

q(N, N°) =7+5=12=12 =v.

5

Page 73: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

3.3.2 Variantes del problema

En la seccién 3.1 se plantearon algunas de las posibles variantes que pueden darse en una red en la cual se busca encontrar un flujo maximo. En esta seccién se plantean los métodos de solucién para cada una de dichas variantes y se desarrollan ejemplos para cada uno de ellos

Como se menciono al inicio del capitulo las variantes que se presentan son tres, €stas son:

1) Determinar el flujo maximo en redes en las que los arcos, adem4s de las capacidades maximas, también admiten cotas inferiores distinto de cero para el flujo que pasa por ellos.

2) Determinar el flujo mAximo en redes en las que los nodos tienen capacidad mAxima para el

fiujo que pasa a través de ellos. : 3) Determinar el flujo m4ximo en redes que incluyen varios origenes y varios destinos.

Los métodos de solucién de cada una de las variantes mencionadas se basan principalmente en realizar "transformaciones” en Ja red original, de modo que el problema dado se reduzca a un problema de flujo m4ximo como el tratado en la seccién 3.2.

En cada uno de los casos a partir del flujo que es enviado en la red "transformada” se obtiene

un flujo factible en 1a red original.

3.3.2.1 Redes con cotas inferiores en los arcos

Sea R = (X,A,/,q) una red con capacidades qj y con cotas inferiores J, para el flujo a través de

los arcos.

Dada una Red con las caracteristicas anteriores se desea determinar si existe un flujo que satisfaga las condiciones:

fy < fyS gy para todos los arcos de R.

El problema es el de determinar un flujo que cumpla con las condiciones anteriores, esto se

debe a que un flujo inicial igual a cero a través de todos los arcos no corresponde a un flujo factible. Para resolver este problema, se realizan las siguientes transformaciones a la red original.

Sea X' = XU {o',d'}

Sea R'= (X', AU A'U {(d,0)}, q') la red construida a partir del R de la siguiente forma:

1) Introducir un origen o' y un destino d' artificiales. 2) Definir el conjunto de arcos A' del modo siguiente:

76

Page 74: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Para cada arco (i,j) en el que /; # 0 construir un arco (0',j), cuya capacidad sea:

oj = Fj e introducir un arco (i,d') con capacidad

dia = hj

3) Definir la capacidad q', del arco (i,j) como qj - 4j-

4) Finalmente, se introduce un arco (d,o) con capacidad

q‘t = ©

Un ejemplo de esta construcci6n se muestra en las figuras 3.14 (a) y 3.14 (b). En esta red o=1

y d=6.

Figura 3.14 (a) Ejemplo de red con cotas inferiores

(kj,4y)

0.3)

En la red original se tienen cuatro arcos con cotas inferiores diferentes de cero para el flujo:

(1,2), 2,3), (4,6) y (5,6) entonces los arcos que se deben agregar son: (0',2), (0',3), (0',6) de capacidad 2,1 y 3, respectivamente, esto es porque dos arcos inciden en el nodo 6 y sélo se

77

Page 75: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

agrega uno con capacidad q'o6 igual a la suma de ljg+ls55 =2+1=3. De la misma forma, si

existen para algin ie X varios arcos de la forma (i,j), con 40, se define un sdlo arco (i,d') con

capacidad q', igual a suma de las cotas inferiores de estos arcos. Los arcos que inciden en d’

son: (1,d'), (2,d"), (4,d"), (5,d') con capacidades 2, 1, 1, 2 respectivamente; finalmente se

agrega el arco (6,1 ) de capacidad oo.

Ahora, se determina el flujo m4ximo de o’ ad’ en R’. Si el valor del flujo m4ximo en esta red, es igual a la suma de las Jj # 0 de la red original, entonces se tiene que existe un flujo

factible que satisface los requerimientos especificados en los arcos de la red original. Esta

afirmaci6n se basa en el siguiente:

Teorema 2. Sea F el flujo maximo de valor v' en R' y sea Fgg el flujo a través del arco (d,o). Si

V=Hzrh (ij) €A

entonces existe un flujo factible de valor Fgg en R.

Demostracién

Se tiene que F es un flujo factible en R', entonces cumple con:

vosii =o

.-S Fo 0 sii 407"? 3 # igo) ceo 8 ; -voosit =d’

(i)

O<Fy< qj V Gj) ¢ AUA'U {(d,0)} .. Gi)

Por hip6tesis se tiene que v' = = Jj Gj) €A

lo cual implica que los arcos de la forma (0',j) y de 1a forma (i,d') est4n saturados.

El flujo f definido en R como:

fj = Fy + lj vae A,

es factible de valor Fgo en R. Para probar esto se tiene que verificar que se cumplen:

f £ Fg sii =o

wo = 0 sii od ial aah Fe si a

..-(a)

ly < fj < ay VG EA (0)

Se comprueba (a) para cuando i # 0,d:

78

Page 76: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

” Capitulo 3. Flujo en Redes

Efy - Sy = VR + Eh - LF a - Dla jeX keX jea' jed' k+o' kso’

jeX jeX keX keX

= z Fj + Fas - = Fu - Foi

jee! k#o! jeX keX

jex' keX'

= Opor (i).

Ahora sii = 0:

= fy - Xf ko = & Fy +2 |g - = Fro - Lhe

jeX keX jea' jea’ k#o! ko!

jeX jex ked ked 0 keX

= z Fj + Fon - 2 Fro - Foro

jea’ k¢o'

jeX ked keX

= x Fy ~ ZFro = 2 Fj -ZXF x + Fao

jeX ked jeX' ke X’

keX’

= Fa por (i)

Ahora sii = d: :

Lfg- Lfka = UFa +2ly- = Fea - Zhao jeX keX jed' je’ kzo' ko"

, jeo jeo keX keX

jeX jeX

= z Fy + Faa - z Fya - Fora

Jed’ kzo!

jeo : keX jex

= x Fy - Fao - ZFya

jex' jex’

= -Fao por (i)

79

Page 77: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Para probar (b) se tiene que por (ii)

O+hsFy + hsqy th vajpea

bij < fj < Gy Vv (ij)e A

yaque fy = Fy + yj yq'y = ay - 4

De aqui se concluye que f es un flujo factible en R de valor Fy, y el teorema queda

demostrado B /

No obstante lo anterior, se tiene que no siempre existe un flujo factible en R. La forma de determinar si ésta situacién es la que ocurre en una red se basa en el siguiente:

Teorema 3: Sea F un flujo maximo de o' a d' en R' de valor v’. Si

vi4#lly GdeA

entonces no existe un flujo factible en R.

Demostraci6n Se supone que existe un flujo factible de valor v en R, entonces se cumplen:

v sii =90

fs - DA = 0 sii god iro? Kare wy sii cd

+i)

ysfj< ay VGj) eA ...Gi

Se define el flujo F en R' como sigue:

Fy = fj - Ly, Vv (i,j) € A.

Fag = V

Fa = 2 dj donde /; es la cota inferior de los arcos de la forma (i,j) « A j

Fy, = 2 Ay donde j,; es la cota inferior de los arcos de Ja forma (k,i) ¢ A : :

Para llegar a una contradiccién se tiene que verificar que F es un flujo factible en R' de valor

v=thy ade A

ESTA TESS NO DERE SAUR Lt ScusTeep °°

Page 78: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Primeramente, se sabe que para que F sea un flujo factible debe cumplir con lo siguiente:

voosii =?

Si - de Fa = 0 sii yo’,@? jer k, je ef ) vosii =@

- (a)

O<Fys q'y VUE AUA' U {(d,0)} .-(b)

Se demuesira (a) paraiz#o',d',oyd.

2 Fj -UFy = z fj + Fg - 2 ky - = fig - Foi + Thy

jeX’ kex’ jed’ jeX k#o' keX

jexX’ keX’

Por otra parte se tiene que

Fig = 2h y jeX

Foi =z be

keX

de esto se desprende entonces que lo anterior es:

Zfy - = fa =0 por (i)

jeX keX

Si i = 0 se tiene:

ZFy-=UFe = Thy + Foa - D Ay - Uo - Foo - Fao + Dhko = jeX' keX' jed' jeX k¢o' keX

kex' ked

kex’

= Lh - Zfko - Fao = jed’ kzo'

jeX keX

= v-v=0.

Analogamente si i = d se tiene:

=z Fy -=z Fra =0

jeX’ keX’

Por otra parte se tiene que:

81

Page 79: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

To')=+2

. '@)=2...... (a)

por lo que

TF oy - TP =z Foy = hy

j k j Ge A

2Fyj - DFR = UFe = 2h j k j Gjed

Resta verificar (b). para lo cual se inicia de (ii):

iy - hy < fy - ly say - hy para todo (i,j) <¢ A

pero

By = fy-hy GQy=a-h vajea

de aqui que:

Os Fy <qy v ij)e A

Se tiene también que

Fig = rij = q'ia je X

Fy, ~ zy = q'o4 y

keX

q'ao= ©

Por lo tanto (b) se cumple para todo (i,j) «A U A’ U {(d,0)} concluyendo que F es un flujo

factible de valor ,

Gea enR'.

Finalmente esto conduce a observar que los arcos de R' de la forma (0’ i) forman una cortadura

de capacidad LA

ajpea

82

Page 80: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

por lo cual F es un flujo maximo en R', conduciendo a la contradiccién deseada, de aqui que se

confirme el teorema.

Una vez determinada la existencia de un flujo factible en la red R, si éste existe, se tiene que

verificar si es el m4ximo que puede ser enviado de 0 a do de no ser asi determinarlo, para lo

cual se utiliza el algoritmo de Ford y Fulkerson con una pequefia modificacién en el paso 3

inciso Gi), que se refiere al etiquetado de los predecesores. El inciso modificado queda de la

siguiente forma: .

ii) A todo j ¢ I (i) que no esté etiquetado y tal que fj > Jj asignar Ja etiqueta [-i,f@)], donde

fj) = min{f(@), fj - Gi}.

Esta modificacién surge de manera natural pues el minimo valor de flujo a través de (j,i) es Jj.

Por otra parte se tiene que la capacidad de la cortadura de una red con cotas inferiores es:

q(N.N') = Lqy - Dh icN ie Nt jeN’ jeN

Para ilustrar el método se resuelve el problema del agente de viajes que se mencion6 en la

seccién anterior, en el cual se requiere cubrir ciertos requerimientos. (Ver figura 3.4). Para

facilitar el manejo de la red sean los nodos 1 = Chicago, 2 = Madrid, 3 = Paris, 4=

Monaco, 5 = Sarajevo, 6 = Roma, 7 = Sofia y 8 = Estambul. Entonces la red queda como

sigue:

Figura 3.15 Red del agente viajero con restricciones de capacidad inferior

Primero se determina si existe un flujo factible en la red original, para lo cual se construye la

red R', ilustrada en Ja figura 3.16.

83

Page 81: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.16 Transformacién de la red del agente viajero con restricciones de capacidad inferior

@i)

Aplicando el atgoritmo de Ford y Fulkerson sobre la red R' para determinar el flujo maximo de

o' ad’, se obtiene un flujo de valor 26, que se muestra en la figura 3.17.

Figura 3.17 Flujo m4ximo en la red transformada F.q'y)

Como el valor del flujo es-igual a la suma de las cotas inferiores = 26, y Fyo es 16, se tiene

que existe un flujo factible de valor 16 en la red original, éste se muestra en la figura 3.18.

Page 82: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitule 3. Flujo en Redes

Figura 3.18 Flujo inicial factible en la red del agente de viajes

Cj fj tap)

(6,4,5) |

(0,0,

3 (9,9,17)

En términos del problema se puede decir que el agente de viajes podra cubrir los

requerimientos de los turistas que desean realizar los vuelos mencionados. Sin embargo atin no

se han cubierto eh su totalidad los itinerarios de todos los turistas, ya que el valor del flujo factible es de 16 y los turistas son 20. Por lo que se aplica el teorema de Ford y Fulkerson, con

la modificacién mencionada antes, sobre la red original.

En la primera iteracién se encuentra la cadena de flujo aumentante 1,8 con capacidad

incremental 1, El valor del flujo es 16 + 1 = 17.

La segunda iteraci6n determina la cadena aumentante 1,2,4,5,8 con capacidad incremental de

1. Valor del flujo = 17 + 1 = 18

La tercera y Ultima iteracién define la cadena aumentante 1,3,5,7,8 con capacidad incremental

de 5. Valor del flujo 18 + 5 = 23.

Con este flujo se concluye,

i) enviando solamente la diferencia que falta para alcanzar el valor del flujo deseado (20), o

ii) enviando todo el incremento posible.

La siguiente red muestra el flujo de valor 20 encontrado.

85

Page 83: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.19 Flujo de valor 20 en la red del agente de viajes Gj -ij-44)

(4,5,5)

|

| ; (a {0,4,8) (60s

(0,3,3) ~«

_

a NN (3,3, 3), mt

(9,11,17)

Se puede concluir entonces que el agente de viajes puede enviar a todo el grupo de turistas de

Chicago a Estambul, en el dia determinado, cubriendo los requerimientos en !os vuelos solicitados por ellos.

3.3.2.2 Redes con capacidades en arcos y nodos

Sea R=(X,A,q,w) una red donde los arcos tienen capacidades qj, y los nodos tienen

capacidades w; (j = 1,2,...,n). Entonces el flujo total que entra al nodo j debe tener un valor

menor 0 igual que W;, €s decir:

E fy < ie

Se desea encontrar el flujo m4ximo entre los nodos origen y destino que satisfaga la restriccién

anterior.

Sea R' una red de la siguiente manera: para cada nodo j de R con capacidad finita, corresponde

un arco (j,j*) con capacidad w;. Cada arco (i,j) de R incidente a j corresponde un arco (i,j) 0

(if) de R’ y para cada arco (j, k) de R, corresponde un arco (j*, kyo qr sk). Todos los arcos

de R conservan su capacidad.

Con R' definida de esa manera, se tiene que a partir de cualquier flujo definido en esta red se puede definir otro del mismo valor en R y viceversa. Esto se pude lograr si se define el flujo en

R como sigue:

~ 86

Page 84: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Si f ' es un flujo factible en R' de valor v; sea f en R como sigue: fa = Pury fy = Pity V

ieX con capacidad finita, y fy = f 'y en otro caso. Es facil verificar que f asi definido es

factible en R.

Si jeX tiene capacidad finita w, y X’ es el conjunto de nodos de R' se tiene que:

Seajxoyd.

Lf =ZPj+i ieX ieX

= Pit

Thy = 2 fy keX’ keX

Por lo tanto ¥ f= 2 fy = 0 ieX keX

Andlogamente se prueba que la diferencia anterior es v para j=o y-vparaj =d.

v sii =o

fla. - ft. = 0 sii #o,d i Ki * jev 'S Kev vsti d

por otro lado:

Lfy =UPyp = Pjy+ S wy ie! G) ieV

entonces f es un flujo factible de valor v en R.

De aqui que el determinar el flujo m&ximo en R’ es equivalente a determinarlo en R. Por lo que

se puede utilizar el algoritmo de Ford y Fulkerson para resolver este tipo de problemas.

Cabe sefialar que en este tipo de redes, 1a cortadura puede quedar integrada por arcos y nodos.

Ejemplo: La siguiente figura muestra la red R y la correspondiente red R'.

87

Page 85: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.20 Ejemplo de red con cotas en arcos y nodos y su trapsformacién

(qj) [wl

( aN Oren, a

3 3) )

(7) 6)

Una vez mas se utiliza el ejemplo del agente de viajes para ilustrar el método planteado

anteriormente. La red original se muestra en la siguiente figura:

Figura 3.21 Red del agente de viajes con cotas en los nodos

qi) fj]

(5)

(13)

(5)

8&8

Page 86: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Al aplicar los cambios sefialados, se obtiene Ja siguiente red R’:

Figura 3.22 Transformacién de la red del agente de viajes con cotas en los nodos

(q'ij)

(5) ~

ue (8

(9

3 —— |

oe

Nf an

Aplicando el algoritmo de Ford y Fulkerson, sobre R' se obtuvo el flujo m4ximo que se

muestra en la figura 3.23 a).

Figura 3.23 (a) Flujo maximo obtenido en Ia red R’

(f4,4'5)

(5,5)

(7,7)

rg

1 (283)

65)

(7,17)

En la Ultima iteracién tnicamente se pudieron etiquetar los nodos:

{1,27}

89

Page 87: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

los nodos no etiquetados son:

{27 ,3,4-,4+,5-5+,6,7,8}

Esto determina la cortadura {{1,3), (1 ,8),(2°,2+)}. Se observa que en este ejemplo Ja cortadura

esta conformada por los arcos definidos en R' para el nodo 2 con capacidad.

Por lo que la cortadura en este caso esta formada por dos arcos y un nodo; {(1,3), (1,8), 2}.

El flujo en la red original se muestra en la figura 3.23 (b).

Figura 3.23 (b) Flujo:m4ximo obtenido en la red R’

(fy,4'y)

(5,5)

En términos del ejemplo, se puede decir que como el valor del flujo m4ximo en la red con

restricciones en los nodos es menor que 20 y el nimero de turistas que desean viajar son 20, el

agente de viajes no podra enviar a todo el grupo en el dia sefialado.

3.3.2.3 Redes con varios origenes y varios destinos

Sea R = (X,A,q) una red con k nodos origen y r nodos destino; se supone que el flujo puede enviarse de cualquier origen a cualquier destino. En una situacién tal el problema consiste en

encontrar el flujo m4ximo de todos los origenes a todos los destinos.

Para convertir este problema en un simple problema de flujo maximo de o a d tnicamente se crea un nuevo nodo O Ilamado Superorigen y un nuevo nodo destino D llamado Superdestino.

90

Page 88: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Se conecta el Superorigen con cada uno de los origenes 01, 02, 03,...,0, mediante un arco

(O,0,), (0,02), ... , (O,0,), cada uno con capacidad infinita.

Asi mismo, se conecta cada nodo destino original con el Superdestino D por medio de (dD),

— (d2,D), ... , (dD), también con capacidad infinita cada uno.

La ted R' asi obtenida es:

R' = (X',A',q') donde:

X' = XU {O,D} .

A'=AU{O,o)/i= 1,2,...,k} U{GD)/j = 1,2, ... ,r}

qy=a VGDeEA q'ou = ® i=1,2,...,k

q'ap = © j= 1,2,....r

Claramente un flujo factible en R’ restringida en los arcos de A es un flujo factible en R. Por lo

que un flujo maximo en la red R' corresponde a un flujo maximo en la red original.

Por lo tanto el algoritmo de Ford y Fulkerson puede ser aplicado a la red R' y el flujo maximo

generado por el algoritmo conduce a un flujo maximo en la red original.

Ejemplo:

Figura 3.24 (a) Red con varios origenes y varios destinos

(qi)

—_.

= .

Onn ot

La transformacién de la red R, como se indic6 arriba, nos proporciona la siguiente red R':

3

91

Page 89: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.24 (b) Transformacién de la red con varios origenes y varios destinos

(qi)

( ° 02 NN

a log

Al aplicar sobre R' el algoritmo de Ford y Fulkerson se obtiene un flujo maximo de valor 16,

mismo que se muestra a continuacién.

Figura 3.25 Flujo maximo en la red transformada

(Pj,45)

oi" 0) si

(20) 555 oo (5.9)

Y la red original queda como sigue:

92

Page 90: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.26 Flujo maximo en la red original

(fiji)

93

Page 91: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

3.4 Flujo maximo a costo minimo

Hasta el momento los problemas de flujo que se han estudiado han estado encaminados sobre redes dei tipo R=(X,A,1,q), es decir, redes que consideran funciones de capacidad inferior

superior, respectivamente, sobre sus arcos.

Si se considera una funci6n de costo c en la red, entonces ésta toma la siguiente forma: R =

(X,A,1,q,c).

La funcién c asocia a cada (i,j) < A el nimero c, denominado costo por unidad de flujo que es

enviado a través del arco (i,j).

En una red con estas caracteristicas se puede estar interesado en encontrar el mayor flujo posible al menor costo; o bien un flujo de valor v, igualmente, con el menos costo.

A la primera alternativa se le conoce con el nombre de determinar el Flujo Maximo a Costo Minimo. A \a siguiente alternativa se le conoce como determinar el Flujo de Valor v de Costo Minimo, cabe mencionar que el valor v dei flujo solicitado debe ser menor 0 igual al valor del

flujo m4ximo, pues de [o contrario el problema no tiene solucién.

En lo sucesivo se considerard y mientras no se sefiale lo contrario, redes que no tengan

asociada Ja funcién / de capacidad minima.

Costo de un flujo:

Considerese la red R= [X,A,q,c]. Una vez que se cuenta con un flujo inicial factible, se puede determinar su costo a partir de la siguiente definicién:

EI costo de un flujo factible f, se define como la cantidad

2 cy fi GpeA

El problema que se presenta ahora es el de determinar si este flujo es de costo minimo, o en caso de no serlo, saber c6mo obtenerlo.

A continuacién se incorporan los conceptos que permiten resolver este problema.

94

Page 92: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

3.4.1 Propiedades de las soluciones

3.4.1.1 Método primal

Algunas veces se desea representar un flujo factible como la suma de flujos factibles mas

simples. Esto, at cuando en la practica no es muy usual, es importante porque contribuye a un

mejor entendimiento de la naturaleza de los flujos en redes y sirve como una herramienta para

justificar algunos de los algoritmos de flujo que se estudian en el presente capitulo.

Sea S un camino de 0 a do un circuito en la red, se denota por h°(S) al vector que cumple fj =

h, si(i,j <So f; =O¢S.

Dados dos flujos factibles f y f', se denota por f + f' el flujo factible para el que el flujo en el

arco (i,j) es fj + f° y.

El teorema que se describe a continuacién establece que un flujo factible de valor v en una red

R, puede ser descompuesto como la suma de flujos unitarios a través de v caminos elementales

unitarios y k circuitos elementales unitarios.

Teorema 4.

Si f es algun flujo factible de o a d de valor v (v entero) en una red R, Entonces f puede ser

descompuesto por:

f = 1° (Py) +1°(P2) + ... +1°(P) +191) +19°(Gy) +... +1°G,).

donde P,, P2, ... ,P, son caminos elementales de 0 ad y @, @y,...,O, son circuitos

elementales de R. (El camino P, y el circuito @; no necesariamente son distintos).

Demostracién:

A partir de R = (X,A) con flujo factible f, se construye la red unitaria R’ como sigue:

R! = (X,A}) donde A’ est4 formada de 1a siguiente manera:

Si fj, unidades de flujo circulan por el arco (i,j) de R, entonces se introducen fj arcos paralelos

del nodo ial nodo j en R!. Si f = 0, entonces no hay ningtn arco de la forma (i,j).

La red R' es entonces wna s-grafica de R y dado que cada arco en R' corresponde a una unidad

de flujo a través del arco (i,j) en R, R' representa el flujo f en R.

95

Page 93: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

En la red R' los grados de los nodos deben ser, por la condicién de conservacién de flujo 3.1:

e@ = gi) para i¢o,d

g*(o)- g(o) = g(@) -g°@)

Si se agregan v arcos de d a o en R! entonces R! poseer4 un circuito Euleriano. La eliminacién

de estos v arcos del circuito Euleriano deja v caminos de o a d que en total atraviesan cada arco

de R! exactamente una vez. Sean P',, P'2,...,P’y dichos caminos. Los P'; caminos (i=1,2,...v)

no necesariamente son elementales, aunque (por la definicién de circuito Euleriano), son

simples. Sin embargo, algtin camino no elemental puede ser considerado como la unién de un

camino elemental de (0 a d ) y un ndmero de circuitos elementales ajepos, obteniendo asi:

f = 19(P,) +1°(P2)+ ... £19 (Py) +1° Gy) + 1° Gy) +... +1° Gy.

donde los P; son caminos elementales de 0 ad y Qj son circuitos elementales.

En general no todos los caminos y circuitos son distintos. Si solamente los primeros v’ caminos

y k' circuitos son distintos, con el camino P; apareciendo hj veces en la lista P,, Po, ...,Py y el

circuito Q, apareciendo J, veces en la lista O,,O2,...,0, entonces el flujo f puede ser escrito

como: v k'

f=Eh oR) +UG? I=1 i=l

En el curso de la demostracién del teorema se obtuvo otro resultado importante, éste es que los

flujos unitarios en que f ha sido descompuesto son conformables, es decir, que si fj es el flujo

neto en el arco (i,j) en R entonces hay un nimero total de fj flujos unitarios usando este arco en

la direccién de i aj en R’.

Figura 3.27 Ejemplo de descomposicién de flujo en circuitos y caminos

96

Page 94: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Un concepto de fundamental importancia para verificar la optimalidad de un flujo es el de Red

Marginal o Incremental.

Red Incremental o Marginal

Sea R = [X,A,q,c] una red y sea f un flujo factible definido en R. La red marginal o

incremental de R, con respecto al flujo f, es la red:

R'() = [X, A,UAg,q',c’], donde:

(ip e Aro GjeAy fy < dy @.i) ¢ A, & ijpe Ay fj > 0

q'y = qy- fy . Ve Ad

ay = fi Ve Ag cy = Gy Ve Ay

cy = Ci Ve Ag

La siguiente figura muestra un flujo en la red y su correspondiente red marginal.

Figura 3.28 Ejemplo de red y su respectiva red marginal

(£5.49 i )

97

Page 95: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Se pueden observar las siguientes caracteristicas en la red marginal R' de una red R con un

flujo f de valor v:

En general la existencia de un circuito en R' implica la existencia de un ciclo en R. A continuacién se explica como estos circuitos conducen a la determinacién de Ja optimalidad del

flujo a costo minimo en Ia red.

Todo arco (i,j) € A; en el ciclo, corresponde un arco (i,j)eA donde fj, < qj por lo que el flujo

puede aumentarse a través de él; y todo arco (i,j) € Az en el ciclo corresponde un (j,i) € A tal

que fj, > 0 por lo que el flujo puede ser disminuido a través de él.

Si el flujo a través del ciclo en R es modificado por una cantidad b de la siguiente forma:

f; si (ij) ¢ ciclo f’; =} fjt+b si (iJ) eA, y pertenece al ciclo ;

f; -b si Gi) e Az yel arco (i,j) pertenece al ciclo

se puede probar que el valor del flujo en R sigue siendo v y ademas sigue siendo factible.

Esto es facil de demostrar, si se verifica que las siguientes ecuaciones se cumplen:

v sii =o

Pi- a hy = 0 sii ,od jer) er -vosii =d

El cumplimiento de jas ecuaciones es valido para cuando i no pertenece al ciclo. En caso de

que i pertenezca al ciclo, existen dos vecinos n y m de i que también pertenecen a dicho ciclo.

En tal caso puede suceder alguna de estas circunstancias:

1.- Los vecinos de i sean sucesores de él en R.

(ne ay Om) 2.- Los vecinos de i sean predecesores de él en R.

98

Page 96: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

ooo,

—— 1 —

eb Om Cm)

3.- Los vecinos de i sean: n sucesor y m predecesor, es decir, que en la red R'(f) existen los

arcos: (k, i), Gm) € Ag

4- Las vecinos de i sean: n predecesor y m sucesor.

NT+b Com (m)

Para el caso 1 se tiene:

Zf'y - Dil =

j k

Lf y +f'int+f'lm-=Uf'w =

j#o,m k

j#nm k

vy sii =0

f,-> f= 0 sii god moi Led y si ca

Andlogamente se pueden realizar las verificaciones de los otros tres casos.

Se tiene entonces que con la red marginal se pueden encontrar circuitos y por lo tanto ciclos en

R a través de los cuales el flujo puede ser modificado sin cambiar su valor.

99

Page 97: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capftulo 3. Flujo en Redes

El costo de un circuito en R' est4 determinado por los costos de los arcos que lo forman,

entonces el enviar una unidad de flujo a través de un arco que esté en el ciclo correspondiente

en R, incrementa el costo del flujo cy unidades si el arco Gj) € A: en R' 0 en -Cj unidades si

(j.)) € Ap en R’, por Io tanto el modificar una unidad de flujo a través de un ciclo en R, implica

que el costo del flujo se modifique en la misma cantidad que el costo del circuite en R'.

De aqui que se desee detectar aquellos circuitos de costo negativo para modificar el flujo a

través de ellos y asi disminuir el costo total dei flujo en R.

Se puede concluir que si existe algn circuito negativo en la red R'(f) es conveniente modificar

el flujo en la mayor cantidad posible b, por el correspondiente ciclo en R, obteniendo asi un

flujo del mismo valor y de costo menor.

El maximo valor de b que es posible modificar en un ciclo debe ser tal que las capacidades de

los arcos en R'(f) no sean sobrepasadas, puesto que éstas representan el maximo cambio

posible en los arcos de R. Por lo tanto:

b = Min { q' x / (i,j) esta en el circuito }

Ejemplo:

En la figura 3.28 (a) se tiene un flujo de valor v = 5 y de costo 42.

Si se observa en R'(f) figura 3.28 (b) que la secuencia de nodos: 1,3,2,1 forma un circuito de

costo -5; con lo expuesto anteriormente se infiere que por cada unidad. de flujo que pueda ser

modificada en el ciclo correspondiente en R se reduciré en 5 unidades el costo del flujo.

Tenemos entonces que: b = Min { q'13, q’32) 4'2,1 } = {1,12} = 1

Se obtiene el siguiente flujo de valor v = 5 y costo 37 = 42-5

Figura 3.29 Red con flujo igual y costo menor que el de Ia figura 3.28(a)

(Fj,.44.04))

(0,2,1)

(5,7,2) ~~

(8) Aaa

(0,6,2)

100

Page 98: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Con lo expuesto hasta ahora se puede concluir que dado un flujo en una red y obteniendo su

respectiva red marginal, se puede determinar si el flujo dado es de costo minimo, verificando si

en la red marginal no existen circuitos negativos.

Esta afirmacién queda formalmente planteada con el siguiente

Teorema 5

Sea f un flujo factible de valor v en una red R=(X,A,q,c). Entonces el flujo f es de costo

minimo si y s6lo si no existen circuitos negativos en la red marginal R'(f).

Demostraci6n:

Sea c(f) el costo del flujo f.

Si O es un circuito en R'(f) sea

c[@ | R'(f)] el costo del circuito.

Por contradiccién se demuestra que si f es un flujo de costo minimo, no existen circuitos de

costo negativo en R'(f).

Existe un circuito @ en R'(f) tal que

c[B | R'(f)] < 0

La circulacién de una unidad mas de flujo al rededor del circuito O produce un nuevo flujo f, el

cual se denota por f + 1 ° (), con la caracteristica de que no cambia el valor de v del flujo de

oad.

El costo del flujo f + 1° @) es c(f} + c[B | RH] < cif)

lo cual contradice la hipétesis de que f era el flujo a costo minimo.

<<

Se tiene que c[@ | R'(f)] = 0 para todo circuito @ en R'(f) y que f* ( # f) es el flujo a costo

minimo de valor v.

Ahora sea f* - f el flujo por el cual el flujo del arco (i,j) es fr i ~ fy.

Por el teorema 4, se tiene que f* y f pueden ser descompuestos en la suma de caminos elementales de o a dy de circuitos elementales, la construccién de la red unitaria R' para el

flujo factible f* - f, conduce a que los grados de los nodos en R’ sean:

101

Page 99: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

gt+(i)=s£-(i) V ieX

De acuerdo al teorema 4, R' esté compuesta’ por una coleccién de circuitos unitarios conformables a través de los circuitos O,, 2, . . ., (@,) y entouces se puede escribir:

f*-f=1°@)+1°@)+...+1°@)

Dado que los flujos 1 ° (@;) i=1,2,...k son conformables y se sabe que el flujo

f'=f4+1°@)+1°@)+...+1°@

es factible, alguna suma de f + 1°(@,) + 1°(@,) +... +1° (@,) es factible para alguna

i<rs<k. Asi, considerando el flujo f + 1° (@,) se tiene que:

eff + 1° @)J = elf] + [@)/ RH] 2 ch

Se considera ahora la grafica marginal de este flujo

R'(f + 1° @1)).

Los tinicos arcos de esta red que pudieron haber reducido sus costos en comparacién con sus

correspondientes costos en la red R'(f) son aquellos arcos que estan en "sentido inverso” en @.

Sin embargo desde que los flujos 1 ° (@,), 1 ° (@2). . . se definieron ningtin arco de ese tipo

pueden ser usados por ninguno de los circuitos O,, Q2, . . ., GD, y entonces llega a ser

irrelevante para el argumento.

Se tiene entonces que: i

c(@p) / R'E + 1° Oy) > = ci / R'(l

para algin 1] = 2,...k

El costo del flujo es entonces:

c[f + 1°@1) + By] = clf+1°@y)] + c[G2/R'(F+1°y)))

off + 1°(@y)] + c[By/R'D] cff+ 1°)

> eff]

Vv

IV

Continuando con este razonamiento finalmente se obtiene que:

cff"} = cff] lo cual contradice el supuesto de que f* es el flujo de costo minimo.

102

Page 100: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Con lo expuesto hasta ahora se puede concluir que una manera de resolver el problema es

iniciar con un flujo factible f de valor v, construir la red marginal R'(f) y verificar si existen circuitos negativos usando algtn algoritmo de rutas mds cortas de los estudiados en el capitulo 2.3. Si no existen circuitos negativos el flujo f es de costo minimo. Si existe un circuito negativo @, se debe encontrar este circuito y enviar la maxima cantidad de flujo posible b a través del ciclo correspondiente en R. Entonces el flujo permanece del mismo valor v pero su

costo se reduce en bc(@), donde c(@) es el costo del circuito negativo @. El proceso puede

repetirse entonces con este nuevo flujo f’, factible por construccién, determinando la nueva red marginal R'(f ') y realizando otra iteracién.

En términos de programacién matematica un algoritmo como el descrito anteriormente es llamado primal, dado que su primer objetivo es el de obtener un flujo factible f y entonces mejorarlo hasta obtener el 6ptimo manteniendo su factibilidad.

3.4.1.2 Método dual

Un método alternativo para resolver este problema consiste en iniciar con un flujo factible de costo minimo de valor vy < v, incrementar el flujo obteniendo uno nuevo de costo minimo y

valor v, > Vo, repitiendo esta operacién hasta alcanzar el flujo de valor v y costo minimo. Por la caracteristica del procesos que se realiza, este método es llamado Dual, ya que inicia con un

flujo 6ptimo y se desea alcanzar 1a optimalidad. ,

En este esquema es posible empezar con un flujo factible de costo minimo igual a cero en todo

los arcos, el cual es de valor 0.

Se tiene la red de la figura 3.30 (a).

Figura 3.30 Ejemplo de una red con flujo inicial cero en todos sus arcos y su respectiva red marginal

(fj,.45.C4) (q'iy.¢'5)

(2) (0,7,3)

(0,7,2) A 06,3) (0,5,2)

/ “ees GO

(3.4,5) (09,3), ‘.(3,3,0) 4

103

Page 101: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitato 3. Flujo en Redes

Observando Ja red marginal, que en este caso coincide con la original, se puede inferir lo

siguiente:

Un camino de o a d, de 1 a 7 en el caso del ejemplo, en R' corresponde a una cadena de o ad

en R.

La siguiente observacién es muy importante porque da la pauta para determinar el tipo de cadenas aumentantes que se deben localizar para garantizar la optimalidad en el cambio del flujo. La ruta 1,3,6,7 en R' tiene longitud de 6 unidades; se puede decir en términos generales que la longitud de la ruta de o a d en R' determina el costo por unidad de flujo que es enviado a través de Ja cadena correspondiente en R y el flujo que puede ser enviado por dicha cadena est4 determinado por la capacidad incremental de la misma. En el ejemplo 3 es 1a capacidad incremental de la cadena 1, 3, 6, 7 y si se envia esta cantidad de flujo se obtiene otro de costo

6 unidades mayor.

En base a esta observacién se debe estar entonces interesado en determinar, en cada actualizacion del flujo, una ruta de o a d en R' que sea la de menor longitud, es decir una ruta més corta, para que la cadena aumentante correspondiente en R sea la de menor costo, y a

través de ella enviar la maxima cantidad de flujo que sea posible.

Todas estas ideas quedan formalmente establecidas en el siguiente

Teorema 6

Sea f un flujo factible, en la red R = [X,A,q,c] de valor v y de costo minimo. Sea P* Ja ruta

més corta de o a d en R'(f), y sea P Ia cadena aumentante, en la red R, correspondiente a p*,

Entonces, el flujo f ', resultante de aumentar una unidad de flujo a través de la cadena P, es un

flujo de valor v+1 y de costo minimo.

Demostraci6n:

Se observa primero que es obvio que f' es de valor v+1.

Resta demostrar que el flujo f' es de costo minimo, la forma de hacerlo es verificando que la red R'(f') no contiene circuitos negativos.

Se sabe que f es de costo minimo y por lo tanto la red R'(f) no contiene circuitos negativos. Si - se comparan las redes R'(f) y R'(f '), se tiene que coinciden excepto, tal vez, en los arcos de

Ja ruta P*,

Considerando la particién de los arcos de P en los conjuntos F y B como se definieron el

capitulo anterior. .

f'y = fy +1< qi Vv Gj) € Fy

f'j=fj-1>0 VGje_B,

104

Page 102: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

entonces se puede concluir que R'(f ') no contiene circuitos negativos y el flujo f ' es de costo

minimo.

Ahora, si algiin (i,j) en F cumple con que f'j; = fj + 1 = qj entonces el arco (i,j) existe en

la red R'(f ) pero no en R'(f ') y el arco (j,i), si pertenece a esta red. Suponiendo que este arco

pertenece a un circuito O en R'(f '); sean los nodos de @: i,1,2,...,k,j,i.

Siendo P* una ruta més corta de o a d en R'(f ), entonces el arco i,j) es una ruta més corta de i

aj, puesto que (i,j) pertenece a P*. Por lo tanto en la red R'(f ) se tiene que

cy Se'y + C12 +o ty

luego c(@) = cc’, +c’. + ... + Cy~c'y 20. Y por lo tanto O no es un circuito negativo.

Ahora, si algtin (i,j) en F cumple con que f', = fj + 1 = qy entonces el arco (i,j) existe en

la red R'(f ) pero no en R'(f ') y el arco (j,i), si pertenece a esta red. Suponiendo que este arco

pertenece a un circuito O en R'(f '); sean los nodos de @: i,1,2,...,k,j,i.

Siendo P* una ruta mds corta de o a d en R'(f ), entonces el arco (i,j) es una ruta mis corta de i

aj, puesto que (i,j) pertenece a P*. Por lo tanto en Ja red R'(f) se tiene que

c'y Sey + C12 +i AK

luego c(@) = c'y + C'yyp +... + Cy -c'y 20. Y por lo tanto M no es un circuito negativo.

Andlogamente se prueba que R'(f ') no contiene circuitos negativos si existe algin arco (i,j) en

B tal que f'; = f;-1=0.

Con esto se da por terminada la exposicién de las ideas bAsicas al rededor de las cuales gira el método alternativo de solucién basado en rutas més cortas.

3.4.1.3 Método out of kilter

Los conceptos que se plantean a continuacién consideran redes del tipo R=(X,A,1,q,¢) y conducen a un método que permite combinar procedimientos primales y duales en un solo método de solucién al problema de flujo de valor v a costo minimo.

Este método aprovecha la formulacién del problema de flujo a costo minimo como problema de programacién lineal y tiene la ventaja de que no requiere la determinacién de una solucién inicial.

105

Page 103: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Se supone entonces que se tiene una red R = (X,A,J,q,c). Donde | y q son los vectores de cotas inferior y superior respectivamente para el flujo a través dé los arcos y c es el vector de

costos.

Se agrega a la red original un arco de "regreso” (d,o) del destino al origen. Este arco tiene la finalidad de que todas las unidades de flujo que sean enviadas de o a d sean regresadas al origen 0, por medio de dicho arco, haciendo el flujo “circulatorio” es decir, en esta red todos

los nodos serén intermedios.

Para obtener el flujo a costo minimo de valor v, las cotas y el costo para este arco se definen

asi:

i(d,o) =v

q(d,o) =v

c(d,o) = 0

Es claro que cualquier flujo factible en la red original de valor v es equivalente a uno en la red

aumentada y viceversa.

Una vez definidas las capacidades inferior, superior y el costo en el arco de regreso el problema de flujo m4ximo a costo mfinimo para la red R=(X,A',/,q,c) donde A'= AU (d,o) se

expresa en términos de programaci6n lineal, como sigue:

Gi) EA

tal que: = fy — = fii =0,VieX © 34

jex jex

para todos los nodos i, y :

ky s fj Say .VGJ EN 3.5

fj 20, V (i,j) € A’

Se asocia una variable p; con cada ecuacién de conservacién de flujo (3.4), una variable dual hj

con la restriccién f < qy, que para el propésito de tomar el dual se considera de la siguiente

forma -fj 2 -qy y una variable dual v, con la restriccién fj'2 4;,.entonces el dual del problema

anterior es:

Max = i Vij - 2qij hy 3.6

Gj) EA Gj) EA’

tal que:

106

Page 104: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Pi- Pj + Vy — hy = Cy 37

Vajp eA’ y

vy 20 V (i,j) € A’

hy 20 V (i,j) € A’

pi libre V i=1,2,...n 3.8

Si se selecciona cualquier conjunto de valores de p;, i=1,..,n. Entonces la restriccién dual para

el arco-(i,j) resulta:

Vi - by = Ci - Di + Pj 3.9

vy 20, hy, 20 V Gj) € A’

esta restriccién se satisface con los siguientes valores:

vi = Max {0, cj - pi + pj}

hy = Max {0, -(cy- pi + p)} ...3.10

Se tiene entonces que, dado cualquier conjunto de valores para p,, el problema dual siempre tiene una soluci6n factible, siendo los valores anteriores de vy y hy los 6ptimos para dicha

seleccién de p,.

Con esto en mente tenemos que las condiciones de holgura complementaria para obtener optimalidad en este problema son:

(fj - 4) vy = 0 Vv (ij) € A’ 311

(fij- qj) hy = 0 Vj <A’ 3.12

Se define ahora:

Zi ~ Cj = Pi- Pj - Cy 3.13

entonces por la definicién de vj y de hy se tiene:

vy = Max {0 , -(zy- ej) } 3.14

hy = Max {0 , z4- cy } 3.15

Dado un conjunto de valores de p; se calcula z j- Cy = Pi- Dj- Cy.

107

Page 105: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Obsérvese que las condiciones de holgura coniplementaria 3.11 y 3.12 se cumplen sélo si:

Zy- ty < OD vy > O> fj =}, V (i,j) € A’

Zi - Gy >a> hy > 0=> fi = 45 Vv Gj) € A’

Zy4-Cy = O> hy s fy S qi V Gp ¢ A’

Por lo tanto para resolver éste problema de flujo a costo minimo, se debe encontrar un flujo

circulatorio y valores para las p; que satisfaga estas 3 condiciones.

Por ejemplo, si se tiene 1a siguiente red:

Figura 3.31 Ejemple de una red con cotas inferiores y superiores

(4ij.45,%y)

(7,10,3) (1,5,3)

se desea encontrar un flujo a costo minimo de valor 7 de 1 a 4; Aumentando el arco de regreso

se tiene que (4,1) = q(4,1) = 7 y c(4,1) = 0. La red aumentada se muestra a continuacién.

Figura 3.32 Red de la figura 3.31 con el arco de 4 a 1.

Gy »4ij Cy)

(2,5,1)

(0,10,4)

(7,7,0)

Suponiendo que se envia un flujo de valor 0 en todos los arcos, Este satisface las restricciones

3.4; mismo que se muestra en la figura 3.33:

108

Page 106: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.33 Ejemplo de una red con cotas inferiores y superiores y con flujo 0 en todos sus arcos

(ig, fj.45.¢4)

Se observa que el flujo satisface las primeras condiciones, es decir las condiciones de

conservacién de flujo, no asi las condiciones de capacidad en los arcos.

Ahora se asignan valores a las variables pj.

pi = 0, po =0, pp=0, pr =O.

Con los valores dados a las variables de los problemas Primal y Dual, se pueden obtener los

valores para Z j - cy : como se definié en 3.13:

Zp-C2 = 0-0-1 =-]

Z3-C3 = 0-0-4 = 4

Z3-Cy3 = 0-0-0 = 0

Zm- Cy = 0-0-5 = ~5

Zu - C4 = 0-0-(3) =3 Z41- C4, = 0-0-0 =0

Si se observa el arco (1,2): Z2 - cy. = -1y fio * dy, se tiene que dado que no se cumplen las

condiciones de holgura complementaria se dice que el arco est4 fuera de orden (out-of-kilter) o que no es conformable o que tiene desviacién (por esta razén este algoritmo también es conocido como el Algoritmo de Desviaciones), Se observa ahora el arco (1,3): 213 - C13 = -4y

fi2 = ho se dice entonces que el arco esté en orden dado que se estén cumpliendo fas

condiciones de holgura complementaria.

Es necesario entonces hacer algun tipo de modificacién sobre los valores de p,, 0 de f,,, para

lograr hacerlo "entrar en orden".

109

Page 107: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Existe un modo grafico para observar el comportamiento en los cambios de fj y p;, esto se

muestra en la figura 3.34 a). Se observa que un arco esta en orden si Jj < fj < qy, y las

condiciones de holgura complementaria se satisfacen. En la figura 3.34 a), llamada diagrama kilter, se puede notar que conforme se cambia el flujo sobre el arco (i,j), el punto

(Zi; - ¢j,fj) se mueve hacia arriba o hacia abajo sobre una columna. Conforme se cambian los

Pi, el punto se muéve hacia atrés o hacia adelante a lo largo de un renglén.

Figura 3.34 a) Diagrama kilter

Fuera de orden EY

n

oO

T

d e

En orden n

i

En orden

Fuera de orden

2y- Oy y

Dados los fj y pi, cada arco (i,j) puede caer en una de estas diferentes situaciones:

Figura 3.34 b) Diagrama de estados de orden

fy > qi

fj = qi

hy < fy < Gi

fy = Fi

fy < 4j

Zi - Cy < 0 Zy - Cy = 0 Zj~ cy > 0

Fuera de orden | Fuera de orden | Fuera de orden

Fuera de orden | En orden En orden

Fuera de orden | En orden Fuera de orden

En orden Fuera de orden En orden Fuera de orden Fuera de orden Fuera de orden

Cada una de las celdas de la matriz de la figura 3.34 b) esta relacionada con una regién

particular del diagrama kilter 3.34 a).

110

Page 108: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

En la figura 3.35 b) se puede observar la localizacion de varios puntos en un diagrama kilter,

que corresponden a arcos que se encuentran fuera de orden, Obsérvese que si se pudiera

determinar la distancia que separa a un punto de Ja zona kilter, se podrian hacer Jos cambios

sobre p; o fy para hacerlo entrar en orden. De hecho esta distancia puede ser determinada en

funcién de la situacién del arco, como se indica en Ja figura 3.35 a). Esta medida determina un

namero, llamado "nimero Kilter”. El namero kilter esta definido como el minimo cambio de

flujo requerido sobre el arco para que éste entre en orden.

Obsérvese que dada la definicién de los nimeros kilter, las desviaciones de los arcos siempre

son positivas. Es claro que si el arco estA en orden su numero kilter es cero lo que implica que

las condiciones de holgura complementaria han sido satisfechas.

El namero kilter del arco (i,j) se denota kj, y a la suma de los nimeros kilter de todos los arcos

se le denota con K. ,

Figura 3.35 a) Desviaciones de los arcos

Zy- Cy < 0 Zi — i =0 Zi — Cy > 0

fj > i {fi - 4] fj - G5] [fj - Gi

fj = yj lf - 4 0 0

ly < fy < gy {iy - 4 0 [fj - ay!

fy = 4 0 0 [fig - |

fy < fj lf - Ay] lfy - 4 [fj - ay!

Figura 3.35 b) Desviaciones de los arcos en forma grafica

fi of (2+ eisfi) | 1 {

ke; 4

f I i \ ij \ i

ili

Page 109: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Las grdficas de la figura 3.36 muestran los diagramas kilter para cada uno de los arcos con los

fj y pj del ejemplo.

Figura 3.36 diagramas kilter de los arcos del ejemplo

(1,2) (1,3) fij ‘ij

A ann 5 10

el ays

7 2% - Cpl (40) 2 -¢y = 4 e Ly Cy GO ime

(aj - ey) = 1,0)

(b) (a)

(2,3) (2,4)

fy f ‘, A

TS =Q = aij p———_ 4,75

a (-5,1) yo Bie Zj-Cijx — 3 —— } $m 255 yg Cpe | i

(d) (c)

(3,4) 4,1) fj fi

nes (| 5 (3,4) 4 4277 137

pp sre [i -3

I is i

(e) (f

112

Page 110: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

El algoritmo que se presenta para resolver problemas de flujo m4ximo se efectiia en dos fases

que pueden repetirse varias veces, estas fases son llamadas: la fase primal y 1a fase dual dados

los cambios que se efecttian sobre las variables primales (fij) 0 sobre las duales pi es decir, en

la fase primal, el algoritmo se ocupa de ir reduciendo el nimero kilter de un arco que esté

fuera de orden construyendo un ‘nuevo flujo de tal forma que no aumente la desviacién de

ningiin otro arco. Cuando se ha determinado que no se puede construir un flujo mejor en esta

fase se pasa a la fase dual donde el algoritmo construye una nueva solucién dual de forma que

no aumente ninguna desviacion y se vuelve a repetir 1a fase primal. Siguiendo este proceso, el

algoritmo construye una solucién éptima o bien, determina que no existe una solucién factible.

A continuaci6n se explican algunos detalles del algoritmo.

Se selecciona un arco (i,j) que esté fuera de orden y se construye un ciclo que contenga ese

arco. Este ciclo debe tener la propiedad de que al asigndrsele una orientacién y afiadirle flujo,

no se empeore la desviacin de ningin arco. Un método para hacer esto consiste en construir

una red R' a partir de R de acuerdo a la informaci6n de la tabla ilustrada en la figura 3.37 y los

siguientes pasos:

Figura 3.37 Cambios de flujo permitidos en Ja red R’

Zi — Cy < 0 Zi - Gy > 0 Zy 7 Cy = 0

fj, > qi = o

,

= = & = a

' v

fj = dy & uF

4 4 /\ lj < fj; < ij

=

f= 4 Py = — 1

a?

fy <i;

113

Page 111: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

_ Cada nodo de la red original esta en R'

2. Siun arco (i,j) esta en la red original y el flujo se puede incrementar, entonces el arco (i,j)

forma parte de la nueva red con un cambio de flujo permitido adecuado como se indica en

la figura 3.37.

3. Finalmente, si un arco (i,j) est4 en red original y el flujo se puede disminuir entonces el

arco (j,i) viene a formar parte de la nueva red con el cambio de flujo permitido como se

indica para el arco (i,j) en la figura 3.37.

4. Los arcos en la red original con l, < fj << qj Y¥ 2 Cy = 0 producirén dos arcos (i,j) y

(j,i), con diferentes cambios de flujo permitidos en la nueva red.

5. Los arcos que no tienen permitido un cambio de flujo se omiten completamente de R'.

Considerando el ejemplo con los valores de flujo y p;, se obtiene la red R' ilustrada en la figura

3.38.

Figura 3.38 Red R’ obtenida del ejemplo

9 7

By: 5

7

2

Una vez que se ha construido la nueva red R' y que se ha seleccionado un arco (p,q) fuera de

orden, se encuentra un circuito (ciclo dirigido ) que contenga ese arco en R'. Este circuito en

R' corresponde a un ciclo en R. El flujo del ciclo en R se cambia de acuerdo con la orientacién

dada por el circuito en R'. La cantidad de cambio est4 especificada por el menor cambio de

flujo permitido de cualquier arco que es miembro del circuito en R'. Si en R’ no existe ningin

circuito que contenga al arco seleccionado, se debe entonces pasar a la fase dual del algoritmo.

Continuvando con el ejemplo; considerando la red R' de la figura 3.38 si se selecciona un arco

fuera de orden, por ejemplo (1,2) se encuentra el circuito C = { (1,2), (2,3), (3,4) (4,1) }. Por

lo tanto se puede cambiar el flujo a través del ciclo asociado en R, aumentando flujo sobre los

arcos con la orientacién del circuito en R’ y disminuyendo flujo sobre los arcos contra la

orientacién del circuito en R', y se obtienen una solucién mejorada en el sentido de la

desviacion. La cantidad de cambio en el flujo permitida es de d = Min {2, 9, 5,7} = 2.

114

Page 112: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

En la figura 3.39 a) se muestra la nueva solucién y la red R' asociada. Los arcos (3,4) y (4,1)

siguen estando fuera de orden. Se selecciona nuevamente un arco que este fuera de orden por

ejemplo (3,4), se observa que no existe un circuito en R' que contenga al arco seleccionado. En

este caso se debe pasar a la parte dual del algoritmo.

Figura 3.39 a) Red con flujo determinado en Ja iteracién anterior

b) Red R’ de a)

(iy, Sr

: ee ro

(1,2,5,-3)

a) b)

Cuando no es posible encontrar un circuito en R' que contenga a un arco especifico que esta fuera de orden, se debe cambiar 2 ~ cj de forma que no se empeore ninguna desviacién y

esperando que se introduzcan en R' nuevos arcos que permitan encontrar un circuito que

contenga al arco seleccionado que esta fuera de orden.

Dado que zj - cj = pj ~ Pj - Cy, se deben cambiar los p; para poder cambiar los 2 ~ cj. Sea

(p,q) un arco fuera de orden y-sea N el conjunto de nodos en R' que se pueden alcanzar desde

qa lo largo de una trayectoria en R'. Sea N° = X — N. Se nota que ni N ni N° son vacios. Para este ejemplo se tiene que (p,q) = (3,4) se tiene entonces en Ia figura 3.39 (b) que N =

{1,4} y N° = {2, 3}.

Se desea cambiar los valores de p, de forma que no se empeore ninguna desviacién y que

periédicamente el conjunto N se haga m4s grande, de modo que si algiin otro nodo entra en N

en un nimero finitos de iteraciones, entonces finalmente p entre en N y se obtenga un circuito en R' que contenga el arco seleccionado. Asi se esta suponiendo que N no se hace mas

pequefio; para asegurar que esto no ocurra se deben cambiar los valores de p; de forma que los

arcos con ambos extremos en N sigan perteneciendo a N en la red modificada.

WS

Page 113: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Se observa que sip; y p; para i, j ¢ N no se modifican y las p; y pj para i,j ¢ N° se

modifican en la misma cantidad 8 entonces las z;, - cy 00 sufren ningtin cambio y N contendré

al menos todos los nodos que contenia antes del cambio. Con este cambio en las p, inicamente

se afectan los arcos (i,j) € (N, N°)” y (i,j) e(N, NY.

Especificamente si 5 > 0 y las p; se cambian de acuerdo a:

Pits sii<N

P= psi ig NT

entonces (2; — ¢y)' = Zj- cy siie N yjeNé

siie N' yj eN

sin embargo si i¢N y jeN*, se tiene que:

(y-o)' = Git O-DB- oy = (2; - 9) +68

Asi mismo si jeN y ieN’, se tiene que:

(zy - cy)’ = @i- 8) -Di- Sy = (ij ” Cy) -6

por lo tanto para los arcos (ij) € (N, N*‘) tendran sus 2 — Cy incrementados en 5 y para los

arcos (i,j) ¢ (N, N‘), 24 - cy disminuira en 5.

Se debe determinar 5 de tal manera que no se empeore la desviacién de ningin arco. Lo

primero que se debe hacer es identificar los arcos (i,j) € (N,N}* y los arcos (i,j) € (N,N‘).

Para esto se observa que si Zj - cj < O y fy < Jj el arco (i,j) no puede pertenecer a

(N,N‘)*. Examinando los estados de orden restantes se encuentra que los dnicos candidatos a

pertenecer a (N,N‘)* son aquellos identificados en la figura 3.40. Se recuerda que para los

arcos (i,j) €(N,N") tienen sus zj — cy incrementadas por lo tanto estos arcos cambiaran sus

desviaciones de izquierda a derecha 3.40.

116

Page 114: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.40 a) Cotas para obtener 5

F 7 '

(N,N*)* Zi — Cy < ‘ Limite implicito

™ a! 0 \ sobre 6

fj > dy ||P @ <a ! v

' \ ' { .

fy= qj {| Pa oT Sso 1 ’ t Q

' 4 ky < fj < 1|/P7 e —_ 8s lay- cyl

Gi ‘

fy = ij i Ps 8s [ay- cil

‘| @ fj < hy Ep annnennnnnP

Figura 3.40 b) Cotas para obtener 6 en forma grdfica

i a

P, P2 P3

e e—______»> 1

i ! P

Ky ° fj = 45 i , +

ii ii : t

f, = i i 4 “

& Zj — Cj

b)

Examinando un.arco (i,j) < (N,N*)* que este en orden y que fi; > gy y que 2 ~ cy < 0, se

observa en la figura 3.35 que si 5 crece, ky disminuye de k= |; - kj la kj = | fi - Oj ly de aqui en adelante permanece constante.

117

Page 115: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Asi pues para tal arco & puede incrementarse tanto como sé quiera y la desviacién del arco

nunca crecera. Por Jo tanto, como se indica en la figura 3.40 tal arco da origen a un limite

superior de o para. Para cualquier arco (ip € (N,N*)* que esta en el estado de orden fj

= Qi Y Zj - Cy < 0 sucede que su desviacién primero decrece y, después, permanece sin

cambio cuando 5 crece. En consecuencia para tal arco de nuevo » es ei limite superior sobre el

cambio permitido en 5 para asegurar que ninguna desviacion empeorara.

Para un arco (i,j) € (N,N*)* que este en el estado de orden iy < fi < qi y 2 — Cy < 0 se ve

que la desviacién asociada kj primero decrece y después empieza a crecer. Para eliminar el

crecimiento potencial del kj para dicho arco, se debe imponer un limite sobre 6 de valor | zi -

cyl.

Un anilisis similar para los arcos (i,j) € (N,N‘) da como resultado la informaci6n de la figura

3.41.

Figura 3.41 a) Cotas para obtener 5

Zi -— Cy < |Zy- Cy = | Zy— Cj > O Limite

0 0 implicito ppv in sobre 5

fj > 4 ' . ‘ '

'

Ay = Oy i er 18 < Izy - cy 1 '

oe ,

hi < fj < ' PL 8 < | 2 ci |

Gij pope 2 '

fy = 4 } Ps ae ae 5< a

' «o}_ 47, | t

fj < Gj i Pg |_____» P, |} S< a

—_— <0} —tp, | saat (N,N

118

Page 116: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Figura 3.41 b) Cotas para obtener 6 en forma grAfica

fe

P3

Con lo anteriormente expuesto se puede llevar a cabo el siguiente procedimiento para calcular

é.

Sea Ay = { (ij) / Gi) EQN), zy - cy <0, f Say} Ad = { (i,j) / Gj) EONNY, 25 - cy > 0, 21) }

sean

& = min {| 24 - cy! }

Ge Ar

&) = min {| zj - 31} Ge Az

6 = min {81,8;}

donde A;= © si A; es vacio. Por lo tanto & es estrictamente positivo. Asi mismo, 6 es un

entero positivo 6 «© i=1,2. Si 0 < 8 < o. En este caso se hacen los cambios apropiados en

Pi y se pasa a la fase primal de algoritmo.

Si 5 = « el problema no tiene solucién éptima.

En la siguiente seccién se describen los tres algoritmos para resolver el problema de flujo a costo minimo, basados en los conceptos que se han estudiado hasta ahora.

119

Page 117: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo eo Redes

3.5, Métodos de solucién

Se han presentado tres. métodos de solucién para ei probiema de Fiujo a Cosio Minimo, ei primero que es el que se basa en la Eliminacién de Circuitos Negativos, el segundo es el que

se basa en encontrar rutas mas cortas y el tercero es el llamado Out-of-Kilter.

3.5.1 Algoritmo basado en la eliminacién de circuitos negativos (primal)

El método inicia encontrando un flujo de valor v, que puede ser encontrado por medio del algoritmo de Ford y Fulkerson presentado en la secci6n 3.2. La tnica modificacién es en la condicién de terminacién, en el paso 5: si la etiqueta f(g) de q mas el valor v' del flujo actual

es mayor o igual que v entonces el flujo se modifica en la cantidad v-v', es decir sélo la

cantidad necesaria para alcanzar al valor de flujo deseado. En caso contrario, se realiza otra iteracién.

Habiendo encontrado el flujo con el valor deseado, se verifica si es el 6ptimo. Esto se puede verificar construyendo la red marginal y determinando la existencia de circuitos negativos en

ella; la deteccién de circuitos negativos se realiza por medio de un algoritmo de rutas més

cortas que pueden ser el General, Floyd o Dantzing, mismos que se vieron en el capitulo

anterior. Si por medio de alguno de estos algoritmos se detecta un circuito negativo, se calcula

su capacidad incremental y se modifica el flujo a través de los arcos correspondientes de la red

original, en esa cantidad, obteniendo asi un flujo del mismo valor pero de costo menor.

El hecho de aumentar o decrementar flujo a través de los arcos del ciclo de la red original

correspondientes al circuito negativo en la marginal, implica que algin arco se sature o que el flujo a través de él se disminuya a cero. Esto, garantiza entonces que el circuito negativo no

vuelva a presentarse en la nueva red marginal, por lo que se dice que el circuito fue eliminado.

Este procedimiento se realiza iterativamente hasta que no sean detectados més circuitos negativos y entonces por teorema 5 el flujo obtenido es el de costo minimo.

A continuaci6n se presenta el algoritmo de Eliminacién de Circuitos Negativos.

El objetivo del algoritmo basado en la eliminacién de circuitos negativos es el de determinar el flujo a costo minimo en redes del tipo R(X,A,q,c)

120

Page 118: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

ALGORITMO BASADO EN LA ELIMINACION DE CIRCUITOS

NEGATIVOS (PRIMAL)

Descripcién: :

Paso_1: Se determina un flujo factible de valor v mediante el algoritmo de Ford y Fulkerson.

Paso 2: Se construye la red marginal, con respecto a f, R'(f)

Paso 3; Mediante un algoritmo de rutas mas cortas se identifica algtin circuito negativo en

R'(f). i) Si no existen circuitos negativos terminar, el flujo actual f es el requerido.

ii) En otro caso, sea C el circuito negativo, ir al paso 4.

Paso 4: Sea b = Min {q'jj} ap ec

i) Para todo arco (i,j) € A tal que (i,j) € AyC, actualizar fy = fj + b

ii) Para todo arco (i,j) € A tal que (j,i) © AgC, actualizar fj = fj -

Con este nuevo flujo se regresa al paso 2.

La justificaci6n del algoritmo queda determinada por el teorema postulado en la seccién

anterior, referente a la eliminacién de circuitos negativos.

Ejemplo 1:

La Compaiiia Eléctrica desea suministrar de energia a una poblacién que carece del servicio.

Para tal efecto ha obtenido informacién de Ja red de transmisién que hasta ahora se ha tendido

en las cercanias de dicho poblado. Con dicha informacién ha disefiado la red que se muestra a

continuacion:

Figura 3.42 Red construida por la Cia Eléctrica

(qiy,¢i)

1

121

Page 119: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

Los nodos del 2 al 6 de la red se interpretan como los poblados a los que se ha suministrado el

servicio, el nodo 1 representa la Cia eléctrica y el nodo 7 el poblado carente del servicio; los

arcos que enlazan los nodos representan los cableados tendidos entre los poblados, en ellos se

advierte la capacidad maxima posible de energia que puede ser transmitida de un poblado a

otro, asi como el costo de transmisién por cada 1000 KWT.

Al observar la red, la Cia. Eléctrica decide tender cableado de los poblados 5 al 6, del 5 al 7 y

del 6 al 7, el cual les permite transmitir como maximo 20, 40 y 80 KWT. a un costo de 8, 20,

y 11 respectivamente. La red al incluir dicho cableado se contemplaria como se. muestra en la

siguiente figura.

Figura 3.43 Red de la Cfa Eléctrica con cableado actual y con posible cableado

(qij.¢i)

Doe), (ose ~ aA

4 2 (54) { (4) (20.8) i 7) N va NO 5,8) : :

(40,4), A 40,11) AY 60,11) “3) fe

(30.8)

La Cia Eléctrica desea conocer si con la red con la actualmente se cuenta y el tendido de los

tres cableados, es suficiente para cubrir la demanda del poblado que es de 100 KWT y de ser

asi, definir Ja ruta por la cual transmitir la energia, de modo que el costo sea minimo.

Se resuelve el problema empleando el algoritmo basado en la eliminacién de circuitos

negativos.

Iteraci6n 1

Paso 1: En primer lugar se verifica, aplicando el algoritmo de Ford y Fulkerson, la existencia de algin

flujo factible de valor 100.

Al ejecutar el algoritmo se obtiene un flujo de valor 100, con costo de 3,245, mismo que se

muestra en la siguiente figura 3.44.

122

Page 120: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

=—

eres

Capitulo 3. Flujo en Redes

4) que no existe un flujo factible para la red.

Prueba de (1)

El algoritmo inicia con un flujo que cumple las condiciones de conservacién 3.5 y los cambios

que se realizan sobre el flujo durante la ejecucién siguen cumpliendo estas condiciones.

Prueba de (2)

Hay solo dos caminos para que el algoritmo pueda terminar:

a) Todos los arcos estén en kilter 6

b) 5 = © en alguna iteracién.

Si todos los arcos est4n en kilter entonces al final los fj y los p;, satisfacen las condiciones de

holguras complementarias 3.16 y por lo tanto el flujo final es un flujo de costo minimo.

Prueba de (4) .

Si el algoritmo termina porque & = © en alguna iteracién del paso 6, es claro entonces que no

existe un flujo que satisfaga simulténeamente las funciones de capacidad superior e inferior de

los arcos.

Se considera el conjunto de arcos de Ja cortadura (N,N‘)*, a ningin arco de la cortadura se le

puede incrementar flujo porque de otro modo, su nodo final (que pertenece a N’) pude ser

etiquetado (teniendo entonces que pertenecer al N). Del mismo modo a ningiin arco de la

cortadura (N,N‘y se le puede reducir flujo porque en otro caso su nodo inicial que pertenece a

N° puede ser etiquetado.

Por otra parte siendo 6 = «, ambos conjuntos A; y Az, como se definieron en 3.21, son

conjuntos vacios.

De que 5 = ©, se sigue que algiin arco (i,j) € (N,N‘)* debe llevar un flujo fj < qj. Asi mismo

un arco (i,j) < (N,N‘) debe llevar un flujo fj, < 4. Adem4s para el arco que esta fuera de kilter

que une o y d esta desigualdad es una desigualdad estricta.

Si se suma Ja ecuacién 3.5 para cada nodo ieN se puede interpretar como sigue:

EI flujo neto fuera de N debe ser igual a cero. Se entiende como flujo fuera, el flujo total de los

nodos ieN a los nodos je¢N*. Se puede denotar como f(N ,N*), menos el flujo total de los nodos

ieN® a los nodos jéN, denotado por f(N,N‘). Asi que:

f(N,N*) - f((N,N‘Y = 0

Se nota entonces que

133

Page 121: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 3. Flujo en Redes

f(N,N‘) < INN‘) y

f(N,N‘) = q(N,N*)

al menos una de estas desigualdades es una desigualdad estricta, dénde [(X,Y), denota la suma

de las capacidades inferiores de ios arcos del conjunto X, al conjunto Y y q(X,¥), denota la

suma de las capacidades superiores de los arcos del conjunto X al conjunto Y. q(N,N‘) -

UN,N'Y < Oy q(N.ND < UNNY.

De aqui que el menor flujo 1(N,N‘) que puede entrar a N, excede al maximo flujo q(N,N*) que

puede salir de N.

De aqui que no exista un flujo factible para cuando 6 = «.

Pmeba de (3)

Demostrar que el algoritmo termina en un nimero finito de pasos.

Primero, cada vez que se encuentra una cadena de flujo aumentante y se balancea el flujo en el

arco (i,j) la desviacion de ese arco y de la red total se reduce en por lo menos un entero.

Entonces pueden encontrarse s6lo un nimero finito de cadenas aumentantes que modifiquen el

flujo de arcos que estén fuera de kilter hasta obtener una solucién 6ptima. Segundo, después de

que cambia cada variable dual, el estado conformable de cada arco que tiene ambos extremos

en N permanece sin cambiar. Por lo tanto si (p,q) est4 fuera de kilter, entonces después de un

cambio en una variable dual cada nodo en N esté en N después del cambio. Aqui existen dos

posibilidades. Una posibilidad es que un nuevo nodo w puede quedar en N. Cada vez que esto

ocurre, el conjunto N crece en al menos un nodo.

Esto puede ocurrir a lo mas un nimero finito de veces antes de que el nodo qeN (cuando se

buscan cadenas de p a q). Por lo tanto si el algoritmo no es finito ocurren un nimero infinito de

cambios en las variable duales sin que el conjunto N crezca 6 6= 0. Se probaré que esto no

puede ocurrir.

Se supone que después de un cambio en la variable dual ningtin nuevo nodo pasa a ser miembro

de N, es decir N no crece. entonces al pasar a la siguiente fase dual se toman los mismos

conjuntos N y N‘ y los mismos fj. AdemAs para cada (i,j) € (N,N‘)* se han incrementado sus

Zy - Cy y para cada (i,j) € (N,N‘Y se han decrementado sus zj - cj. Por lo tanto, después del

cambio en la variable dual, los nuevos conjuntos A, y Ay satisfacen que:

Aj’ CA; y Ay’C AQ

Atn més, por la seleccién del valor de 3, al menos un arco ha sido eliminado de A, 0 de A).

Luego, al menos una de las inclusiones anteriores es propia. Ahora bien A; y A, pueden

134

Page 122: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

a eee

2 eee Oe

OULU le

ee eel”

Iteracién 5.

Paso 3. Determinacién de estados de orden, los 2 ~ cj no cambiaron .

Estados de Orden

Z2-Cy =Oy f 12 = Gu => en orden

Zy3 - Cy3 = -12 y f 3 = 13, => en orden

Za3 - C23 = -16 y f 23 = 3 => en orden

Zng- Cog = ZY f 24 = Go4 => en orden

234 - C3q = Oy f 34 = 134 => en orden

Z4y- C4 =O f 4; = 44; > en orden

Capitulo 3. Flujo en Redes

Como todos los arcos estén en orden se termina. Y la red de la figura 3.59 representa el flujo

de valor 7 a costo minimo.

141

Page 123: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Dado el objetivo de este trabajo, que es el de desarrollar material diddctico para la materia de

Redes en la Facultad de Ciencias, se presenta en este capitulo el desarrollo del sistema Redes

incluyendo puntos como disefio y programacién.

4.1 Estudio Técnico

4.1.1 Hardware Utilizado

El proyecto Redes se desarrollo con el hardware siguiente:

« Computadora Personal 80486. e 16MbRAM, Velocidad a 33 Mhz.

e Disco Duro de 200 Mb.

e Monitor Color 14” SVGA.

4.1.2 Software Utilizado

Para Ja programacién del sistema Redes se eligié utilizar el software Foxpro en su versién 2.1,

algunas de sus ventajas son:

e Permite el almacenamiento y procesamiento de una gran cantidad de datos.

e sun lenguaje de 4° generaci6n.

4.2 Caracteristicas del Sistema

EI sistema Redes toma el nombre a partir de la materia que se imparte en la Facultad de

Ciencias de la UNAM y que cubre en su totalidad los algoritmos que se desarrollaron. Se desea

que el sistema sea un instrumento de apoyo didactico en dicha materia.

142

Page 124: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Se han programado los algoritmos estudiados en los capitulos 2 y 3. Es importante destacar

que se han empleado como subrutinas en los algoritmos de flujos, los algoritmos de rutas mas

cortas. En términos generales el sistema esta integrado por dos grandes mddulos que son:

algoritmos de rutas mas cortas y algoritmos de flujos.

4.3 Alcances y Limitaciones del Sistema

Aleances:

« Accesa a los diferentes algoritmos a través de ments.

e Permite guardar los ejemplos que se quiera tras la asignacién de un nombre, la limitante es

el equipo en el que se procese.

e Permite imprimir los ejemplos y borrarlos cuando se desee.

Limitaciones:

e Tener el equipo minimo prescindible.

« No resuelve las variantes del problema de flujo maximo.

e¢ Como-se considera material didactico inicamente resuelve problema para un maximo de 20 nodos en todos los algoritmos exceptuando los de Floyd y Dantzing que sélo permiten 9

nodos.

4.4 Técnicas de Programacién

El sistema se ha desarrollado bajo la técnica de programacidn estructurada, lo que permite

crear procesos 0 subrutinas reutilizables en otros procesos m4s complejos.

La figura 4.1 ilustra el diagrama de estructura general del paquete, asi mismo muestra el

nombre del programa principal que ejecuta la aplicacién correspondiente.

Cada programa hace referencia a otro programa que integra un grupo de procedimientos que se

ejecutan cada vez que son Iamados desde el programa principal.

Una caracteristica que se ha disefiado para cada una de las aplicaciones es Ja de almacenar los datos de tantas redes como se desee, lo que permite que se puedan volver a consultar y correr los programas con dichos datos cada vez que se necesite. Asi mismo se ha implementado la

143

Page 125: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

opcién de borrar aquellos problemas que ya no sean requeridos. Esto se ha desarrollado a través de la definicién de bases de datos y la implementacién de algunos otros beneficios que

ofrece Foxpro.

144

Page 126: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Figura 4.1 Diagrama de Estructura del sistema

REOES.EXE

Rutas Mas Cortas | Flujos

MENUPRI.PRG MENUPRI.PRG

ee estes vee bce DISKSTRA | FLUJO MAXIMO

Ruta de oa d 1 FLUSOMAX. PRG

DIJKRUTA. PRG |

Arborescencia _ FLUJO ACOSTO

ome MINIMO GENERAL ' PRIMAL GENERAL.PRG PRIMALPRG

DANTZING "DUAL RUCODANT.PRG BUAL.PRG

FLOYD OUT-OF-KILTER RUCOFLOY.PRG- OUTOF KIL. PRG

Se han disefiado bases de datos considerando que los datos de las redes se pueden dividir en dos grupos: El primero formado por los datos generales de la red, como son nimero de nodos

y nimero de arcos, el segundo es el que proporciona la informacién de cada uno de los arcos,

como son el nodo inicial, el nodo final y en los casos correspondientes los valores de las

funciones asociadas a éstos.

De modo genérico se identificaran a estas bases de datos como RED y ARCOS asi, en las

figuras 4.2 y 4.3. se muestran los datos que se guardan en las bases Red y Arcos de cada uno

de los algoritmos.

145

Page 127: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Figura 4.2 Datos que se guardan en la base Red para el algoritmo indicado

. Valor

Algoritmo | No | No- a Origen} Destino | del Flujo

Ruta deoad x x x x

Arborescencia x xX x

General x x x

Dantzing x

Floyd x

Flujo Maximo x x x x Primal x x x x x

Dual X XxX x x X

Out-of-Kilter xX 4 x x xX

Figura 4.3 Datos que se guardan en la base Arcos para el algoritmo indicado

Algoritmo Nodo Nodo | Longitud | Cap. Cap. Inicial Final Costo | Superior | Inferior

Ruta deoad Xx x x

Arborescencia x x x

General x x x

Dantzing x x

Floyd x x

Flujo Maximo Xx x x x

Primal x x x x

Dual x x x x

Out-of-Kilter x xX x x Xx

A continuacién se describe la estructura de los programas que integran el sistema y algunas

caracteristicas técnicas que son importantes para el mejor entendimiento y el maximo aprovechamiento del mismo.

146

Page 128: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

4.5 Estructura de los programas

En el desarrollo del sistema se han implementado algunas rutinas Ilamadas basicas dado que éstas son utilizadas en mas de una de las aplicaciones.

Como un pre4mbulo a la presentacién de las subrutinas basicas es importante observar la

estructura general que sigue cada uno de los programas. Esta estructura se muestra en las

figuras 4.4 (a) y (b)

Estas figuras presentan el flujo que sigue el procedimiento llamado SELE_PROB. Cada uno de

los programas principales del sistema esta disefiado con un procedimiento principal, que sigue esta secuencia.

147

Page 129: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Figura 4.4 a) Diagrama de Flujo del Procedimiento Sele_Prob

Procedimiento Seie_prob

Iniclo )

si Nuevo

Lec_red

Lec_arcos

Inicializa

y

Caiculo

Resultados

Resultados

Sol_nom

si

No

Guarda_datos

Valida_Exist

N Existe °

Si

Selecciona

y

Lec_arcred Lec_arcarcos

Muestra_datos

Mensaje

Guarda_datos

148

Page 130: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Figura 4.4 b) Diagrama de Flujo del Procedimiento Sele Prob (Continnacién)

Y

Calculo Datos_red

4

Resultados ¥. ¥

Mod_red Mod_arcos

a Resultados Imprimir

¥

: , Calculo

Fin

Resultados

Resultados

‘Guardar Cambio Guarda_datos

Como ya se ha mencionado, en términos generales la estructura de) procedimiento principal de

cada uno de los programas sigue el flujo que se presenta en estos diagramas siendo el procedimiento CALCULO el que hace la diferencia en cada uno de ellos.

149

Page 131: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

Se ha seleccionado para su explicacién, los procedimientos CALCULO s6lo de los algoritmos

que son usados como subrutinas en mds de un programa; dichos procedimientos son los de los

siguientes problemas:

DIJKTRA: para el caso de ruta de un origen a un destino.

GENERAL FLOYD FLUJO MAXIMO

Dijkstra: La subrutina CALCULO para el caso de ruta mas corta de un origen a un destino se

utiliza, con algunas consideraciones que mencionamos més adelante, en la programacion de los

algoritmos: Dijkstra para el caso de Arborescencia y General.

General: La subrutina CALCULO para el algoritmo General se ha considerado como basica

porque se emplea en el algoritmo Dual que permite determinar el Flujo a costo Minimo en una

red con costos en general.

Floyd: La subrutina CALCULO empleada en el programa es aplicada en el algoritmo de

Dantzing, con una pequefia variacién que se menciona en el diagrama. Asi mismo se utiliza

como subrutina en el programa Primal para flujo a costo minimo..

Flujo Maximo: La subrutina CALCULO del algoritmo de Flujo Maximo es considerada en la solucién de los programas: Primal y Out-of-Kilter.

A continuacién se muestran los diagramas de flujo de cada una de estas subrutinas y se indican

algunas de las variables mas importantes en cada caso.

4.5.1 Algoritmo Dijkstra: Ruta mas corta de o a d

Procedimiento CALCULO:

CONSTANTES: infini = 99999 Simula por medio de un valor numérico muy grande el infinito.

VARIABLES: yunodo: variable numérica que contiene el nimero de nodos de la red. El nimero de nodos maximo que pueden ser ingresados para una red es de 20.

ynarcos: variable numérica que contiene el nimero de arcos de la red. El numero de arcos de

la red esta en funci6n del nameto de nodos, siendo este valor menor o igual a n’-1, donde n es

e] nimero de nodos.

150

Page 132: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

vorigen: variable numérica que conserva el valor del nodo que se ha considerado como nodo

origen. En el caso del problema de arborescencia se considera una variable Hamada vraiz que

como su nombre lo indica, conserva el valor del nodo que se ha considerado como el nodo raiz

de ja red.

ydestino: variable numérica, conserva el valor del nodo que se ha considerado como destino.

b_valida: variable auxiliar para verificar la consistencia de los datos ingresados para los arcos.

ruta: variable boolena; indica si en la iteraci6n actual existe una ruta mas corta del origen al

destino.

p: variable numérica; en cada iteracién toma el valor del nodo que tiene la etiqueta con la ruta

mas corta del origen o raiz a él, cuando ésta existe.

minaux : variable numérica que en cada iteracién es igual a Ja distancia de la ruta mas corta

del origen o raiz al nodo examinado.

temporal: variable booleana que permite saber si existen nodos con etiqueta temporal o no.

auxl: es una variable numérica que en cada iteracién le es asignado el valor del nodo que tiene

la etiqueta temporal con la minima distancia del origen, (0 raiz en el caso de la arborescencia)

aél.

ARREGLOS arcos(vnarcos, 4) : el arreglo arcos contiene la composicién de la estructura de los arcos de la

red. Las columnas del arreglo se han distribuido de la siguiente forma:

columna 1: valor del nodo inicial.

columna 2: valor del nodo final. columna 3: longitud 0 costo del arco.

columna 4: contiene un valor booleano que permite identificar si el arco pertenece o no

a la ruta mas corta.

prede(vnnodo): guarda el valor del nodo predecesor en la ruta determinada.

diststa(vnnodo,2): guarda en la columna 1 las longitudes mds cortas que se calculan para cada

nodo. En la columna 2 se indica con un cero 0 con un uno, el estado de la etiqueta de cada

nodo, es decir, si se puede considerar como temporal o permanente. La figura 4.5 muestra el

flujo que siguen los datos dados para la red. Se explica cada uno de los procesos que se

presentan y el valor que cada una de las variables van tomando.

Como se observa en las figuras 4.4 (a) y (b) antes de iniciar el procedimiento CALCULO se

han ingresado 0 se han recuperado de la base de datos la informacién de la red, como son:

namero de arcos, namero de nodos, el nodo origen y el destino asi como los arcos y las

151

Page 133: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

funciones asociadas a éstos. En este algoritmo el procedimiento INICIALIZA se encarga de

asignarle los valores iniciales a los arreglos: diststa y prede. El arreglo diststa se inicializa con la primera celda igual a infinito para todos los nodos excepto para el sefialado como el

origen, en tal caso se le asigna el valor cero.

Figura 4.5 Diagrama de flujo del Procedimiento Calculo-Programa DijkRuta

( Inicio

y

@) p=vorigen

RutaCorta EscRuta

Sucesores (3) minaux =Infini temp =0

Aux? =0

y

@) Act_Etiq

© minaux = infini

temp =1 Mensaje

Fin) I

152

Page 134: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

A la columna 2 de este arreglo se asigna el valor cero, indicando que el estado de las etiquetas

es temporal, excepto como antes, a la celda del nodo origen, a la que se le asigna el valor de 1,

indicando con ello que el estado de su etiqueta es permanente.

Con estos datos iniciales, a la variable ruta se le asigna el valor verdadero indicando que la primera condici6n de ingreso a los procedimientos iterativos, se cumple.

1.- En la primera iteracién el nodo que tiene etiqueta permanente y menor distancia del origen

a él es el mismo origen, esto indica asignando a la variable p el valor que tiene la variable

vorigen. :

2.- Los procesos iterativos empiezan si el valor de p es diferente del nodo que es el destino.

3.- Si esta condicién es verdadera, se ejecuta el proceso Sucesores en el que se localizan los

sucesores de p; es decir del nodo que en la iteracién actual tiene el valor del nodo con etiqueta

permanente y ruta mAs corta del origen a é. Al localizar los nodos sucesores de p se inicializan

las variables miniaux, temporal y aux1, como se indica en el diagrama.

4.- En el proceso Act-Etiq se realiza el calculo de las distancias del origen a los sucesores de

p, se selecciona el nodo con etiqueta temporal minima si existe. Al término de éste proceso: Si

se modificé la variable temp significa que existe por lo menos un nodo que tiene etiqueta

temporal.

5.- Cuando se cumpla la condicién temporal = 1, es decir que hubo un nodo con etiqueta

temporal, y minaux = inifni, quiere decir que no existe ruta del origen al destino.

8.- Se envia un MENSAJE advirtiendo esta situacién y termina el proceso.

6.- Si minaux = infini, significa que alguno de los nodos con etiqueta temporal tiene longitud © costo menor que infinito; en este caso el valor de dicho nodo es asignado a Ja variable aux].

8.-Si no se cumple la condicién entonces no se encontr6é una ruta, se envia mensaje y se

termina el proceso.

7.- Si temporal = 1 y minaux # infini, entonces se ha encontrado una ruta mas corta del origen al nodo auxl. El valor de auxl es asignado a p y se regresa el control a la decisién del

programa: si p + vdestino se repite el proceso, de lo contrario habremos encontrado una ruta corta del origen al destino.

9.- Cuando se ha encontrado una ruta se ejecuta el proceso RutaCorta que es el encargado de

hacer la recuperaci6n de la ruta y posteriormente el EscRuta que muestra la ruta encontrada.

153

Page 135: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4, Desarrollo det Sistema

Para obtener la arborescencia de rutas mAs cortas basdndose en esta subrutina, se Hevan a cabo

dos modificaciones en ella:

1) La condici6n de iteraci6n no se efectéa sobre el valor actual de p, es decir, verificando si

tiene el valor del nodo destino; de hecho la variable destino en éste caso no existe. La

condicién de iteracién en la basqueda de 1a arborescencia de rutas ms cortas se efectia

basandose en la existencia de etiquetas temporales en los nodos, asi que si existen se

continda, de lo contrario se da por terminada la bisqueda.

2) La siguiente modificacién se realiza al momento de verificar si la variable minaux =

inifi, en tal caso se asigna etiqueta permanente al nodo correspondiente.

4.5.2 Algoritmo General: Arborescencia

Procedimiento CALCULO

En este procedimiento se emplea la misma subrutina efectuada para obtener la arborescencia de

rutas mds cortas por el método de Dijkstra; por tal razén algunas de las variables son la

mismas.

CONSTANTES: infini= 99999, Simula por medio de un valor numérico muy grande el infinito.

VARIABLES: ynnodo: variable numérica que contiene el nimero de nodos de la red. El na’mero maximo de

nodos que pueden ser ingresados para una red es de 20.

ynarcos: variable numérica que contiene el nimero de arcos de la red. El nimero de arcos de

la red esté en funcién del ntiimero de nodos, siendo este valor menor o igual a n’-1, donde n es

el némero de nodos.

vraiz: variable numérica; ésta conserva e] valor del nodo que se ha considerado como nodo

raiz.

b_valida: variable auxiliar para verificar la consistencia de los datos ingresados para los arcos.

ruta: variable booleana, indica si en la iteracién actual existe una ruta més corta del origen al

destino.

p: variable numérica. En cada iteracién toma el valor del nodo que tiene 1a minima etiqueta

temporal, cuando ésta existe.

154

Page 136: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

minaux : variable numérica que en cada iteracién es igual a la distancia de la ruta mas corta de

la raiz al nodo examinado.

temporal: variable booleana que permite saber si existen nodos con etiqueta temporal o no.

auxl: es una variable numérica que en cada iteraci6n le es asignado el valor del nodo que tiene

la minima etiqueta temporal.

bandera: esta variable booleana indica si en la iteracién actual para obtener una arborescencia

inicial, existen nodos con etiqueta temporal.

nodoini: contiene el valor del nodo inicial del arco, fuera de la arborescencia, que se esta

verificando en el proceso de optimalidad.

nodofin: variable numérica que contiene e] valor del nodo final del arco que se est4 verificando

para saber si se puede mejorar la arborescencia en el procedimiento optimalidad.

distaux: variable numérica que contiene la longitud del arco que se esta verificando para

obtener la arborescencia 6ptima en el procedimiento optimalidad.

optimo: variable booleana que indica: si es verdadera, que la arborescencia actual es la de

rutas mas cortas; si es falsa, indica que la arborescencia actual no es la 6ptima.

cambia: variable booleana que indica que un cambio de arco en la arborescencia pudo

efectuarse, de lo contrario se emite un mensaje indicando que no existe una arborescencia de

rutas mas cortas en la red.

ARREGLOS arcos(vnarcos, 4) : el arreglo arcos contiene la composicién de la estructura de los arcos de la

red. Las columnas del arregio son las siguientes: columna 1: valor del nodo inicial.

columna 2: valor del nodo final.

columna 3: longitud 0 costo del arco. columna 4: contiene un valor booleano que permite identificar si el arco pertenece o no

a la arborescencia de rutas mas corta.

prede(vnnodo): guarda el valor del nodo predecesor en la ruta determinada.

diststa(vnnodo,2): guarda en la columna 1 las longitudes mds cortas que van determinandose

para cada nodo. En la columna 2 se indica con un cero 0 con un uno, el estado de las etiquetas

de cada nodo, es decir, si se puede considerar como temporal 0 permanente.

155

Page 137: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo del Sistema

La figura 4.6 muestra el flujo que siguen los datos dados para la red. A continuacién se explica cada uno de los procesos que se presentan y el valor que va tomando cada una de las variables.

Como se ha mencionado en la subrutina anterior, antes de iniciar el procedimiento CALCULO

debemos tener inicializados los valores de la red, de los arcos, y de los arreglos diststa, y

prede.

156

Page 138: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4. Desarrollo det Sistema

Figura 4.6 Diagrama de flujo del Procedimiento Calculo-Programa General

( Inicio )

vy existe = 0

Arbor_Inicial

@ existe = 0 @ Mensaje

oO et

y

® optimo = 0

Optimalidad

6) cambio = 0 CambArbor

© Resultados

Fin mensaje

1,- Para ejecutar el procedimiento Arbor_Inicial se inicializa la variable existe como falsa, asi que al término de este procedimiento, que es la subrutina de arborescencia de rutas mas cortas

utilizando el método de Dijkstra, esta variable es cambiada a verdadera si se obtuvo una arborescencia.

157

Page 139: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 4, Desarrollo del Sistema

2.- En caso que la variable existe continie siendo falsa, se envia un Mensaje indicando que no existe arborescencia de raiz vraiz y se termina el algoritmo.

3.- Sin embargo cuando se obtiene una arborescencia inicial (existe es verdadera), se realiza el

procedimiento Optimalidad. Este procedimiento verifica, para cada arco que esté fuera de la

arborescencia inicial, que la distancia que se obtiene de la raiz al nodo final de dicho arco, sea

menor o igual a la que tiene en la arborescencia actual, si esto pasa, la variable optimo es

verdadera, de lo contrario es falsa.

4.- Si optimo es verdadero se habra encontrado una arborescencia de rutas mas cortas.

5.- Se muestra la arborescencia determinada con el algoritmo y se termina el proceso.

6.- Si optimo es falso es que no se ha obtenido una arborescencia de rutas mas cortas y debe efectuarse un cambio de arborescencia esto se efectia con el proceso CambArbor. Al término

de este proceso si ha logrado efectuar un cambio a la arborescencia la variable cambio se

vuelve verdadera de lo contrario continta falsa.

7.- Si la variable cambio es falsa significa que no se ha podido determinar una arborescencia.

Si es verdadera significa que se tiene una arborescencia y se regresa a verificar la 6ptimalidad de ésta.

8.- Se muestra un mensaje indicando que no se existe en la red dada una arborescencia de rutas

mas cortas y se termina el proceso.

4.5.3 Algoritmo de Floyd: Ruta entre todo par de nodos

Procedimiento CALCULO

Dada !a naturaleza del algoritmo la implementacién del programa se ha realizado de forma muy

sencilla considerando arreglos cuadrados, de nxn, donde n es el nimero de nodos de la red. Se

usan estos arreglos en el manejo de las matrices de costos de las rutas, asi como para el

registro de cambios en la ruta en la matriz de predecesores.

CONSTANTES: infini= 99999 Simula por medio de un valor numérico muy grande, el infinito.

VARIABLES:

ynnodo: variable numérica que contiene el] nimero de nodos de la red. El nimero maximo de nodos que pueden ser ingresados para una red es de 9.

158

Page 140: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

En este capitulo se presenta el Manual de Usuario del sistema “Redes”, en este documento se sefiala la informacion acerca de los requerimientos que son necesarios para correrlo; asi mismo

se mencionan una serie de instrucciones para operarlo con mayor eficiencia.

El Sistema “Redes” fue disefiado para ser utilizado por todas aquellas personas relacionadas con la disciplina de andlisis de redes, asi como aquellas interesadas en el desarrollo de nuevas técnicas de optimizacién de las mismas.

El ambiente en el que se ha orientado al sistema esta basado en menis de seleccién, éstos muestran al usuario las opciones que en ese momento puede ejecutar. Cada una de las opciones

presentan un pequefio mensaje de ayuda en la parte inferior de la pantalla que proporciona mayor informacion.

Las aplicaciones que se han desarrollado estén basadas en los algoritmos descritos en la

primera parte de esta investigacién y estén integrados en dos grandes médulos que por su

naturaleza se les ha denominado rutas mas cortas y flujos.

5.1 Requisitos de Instalacién

# “Redes” requiere de una computadora personal IBM o compatible 80386 a una velocidad de 33 Mhz., un minimo de 4 Mb de memoria RAM, unidad de disco flexible de 3.5 HD

(alta densidad), disco duro con al menos 5 Mb de espacio libre.

“* Monitor a color VGA (video graphics array).

w Sistema operativo DOS versién 5.0 o superior.

‘# Disquetes en blanco (formateados) para poder hacer copia de respaldo del disquete original.

169

Page 141: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

5.2 Preparacién Inicial

Si se cumplen los requisitos anteriores est4 listo para instalar a “Redes” en su computadora ’

para ello, ejecute cuidadosamente las instrucciones siguientes:

1. Encienda su computadora. Espere hasta que aparezca el indicador del Sistema Operativo (prompt). Esto le indica que la computadora esta lista para aceptar sus comandos (normalmente el indicador -prompt- del DOS apareceré como C:\> dependiendo del nombre de la unidad de disco que este usando).

Elabore copia de respaldo del disquete original de “Redes”. Para ello tome el disco de “Redes” e insertelo cuidadosamente en la unidad de disco A (o la que corresponda en su computadora), teclee DISKCOPY y luego pulse ENTER para continuar.

Siga las instrucciones en la pantalla, cada vez que la computadora le pida insertar el disco fuente (Source Disk) se esta refiriendo al disquete de “Redes”. El disquete de destino (Target Disk) se refiere al disquete en blanco que se utilizar para copiar a “Redes” .

Después de copiar el disquete original, coloque la etiqueta correspondiente. En la misma incluya lo siguiente:

@ Sistema “Redes” .

Cuando la computadora le pregunte si desea copiar otro disquete pulse [N] en respuesta a la pregunta anterior para indicarle que no se van a copiar m4s disquetes.

Guarde el disco original de “Redes” en un sitio seguro. Utilice la copia de respaldo (Backup) para instalar e] programa.

5.3 Instrucciones para Instalar a “Redes” en su computadora

Utilizando la copia de respaldo (backup) de “Redes”, ejecute los pasos siguientes a fin de instalar el programa en su computadora:

1.

2.

Inserte el disco en la unidad que va a utilizar para la instalacion.

Para activar la unidad elegida, escriba la letra de la unidad seguida de dos puntos (:) y presione la tecla ENTER, (por ejemplo, si se tratara de la unidad “A”, los pasos serian los siguientes:

170

Page 142: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

CA\> A: 4).

3. Posteriormente teclee instared y presione ENTER.

cargado en su computadora en un subdirectorio llamado redes.

5. La instalacién habr4 finalizado cuando en su computadora identifique el prompt del Siguiente modo: C:\Redes >

5.4 Como utiliza Redes las vias de acceso y los directorios

Cuando usted utiliza a “Redes” en su computadora, los archivos del programa se ubican en subdirectorios. Esto sirve para mantener los archivos alejados de cualquier programa que pueda tener conflicto con ellos. (Los subdirectorios de una computadora almacenan los archivos electrénicos como se almacenan en gavetas las carpetas de papel).

“Redes” utiliza el subdirectorio Redes; este contiene todos los archivos del programa, ademas éste es el subdirectorio de trabajo (u operativo) del programa, atin cuando este subdirectorio es la convencién a referencia que se hace en este manual, Usted puede seleccionar cualquier otro

subdirectorio para instalar a “Redes” y almacenar sus archivos de datos.

Para trabajar en el directorio \Redes se necesita indicar la via de acceso a los archivos

ejecutables una vez establecida la via de acceso, se puede comenzar a utilizar el sistema.

5.5 Inicio de Sesién

Para comenzar a trabajar con “Redes” debe accesar al subdirectorio \Redes esto se Jogra de Ja siguiente forma:

1. Desde el prompt del sistema teclee: C:\> cd redes y [ENTER]

2. Posteriormente aparecera el prompt del siguiente modo: C:\REDES\ >

3. En seguida teclee:

C:\REDES\> redes y [ENTER]

171

Page 143: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

4. En caso de que se encuentre en otro subdirectorio diferente al prompt C:\> teclee lo

siguiente:

cd \ y [ENTER]

5. Y ejecute las instrucciones del punto 1 en adelante.

Una vez ingresando al Sistema se muestra al usuario el mend principal con las opciones de fos

problemas que pueden resolverse como se ilustra en al figura 5.1, asi como los elementos que

integran a dicha pantalla. '

172

Page 144: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.1 Pantalla principal del sistema

Origen 3 Testing

Para terminar una sesién, tinicamente se debe seleccionar en este mend la opcién SALIR. Al

ejecutar esta opcién se regresa al sistema operativo.

Como se puede observar en la figura 5.1 el sistema esta integrado, de tres médulos, el

correspondiente a la ruta corta, flujos y el de salida.

Cada uno de ellos contiene los algoritmos de soluci6n para los respectivos problemas que se

abordaron en los primeros capitulos de Ja investigaci6n; para desplazarse de un modulo a otro,

basta utilizar las flechas de navegacién de su teclado, ya sea derecha — o izquierda <

dependiendo del ment deseado, y por el contrario para acceder a cualquier opcién del meni

seleccionado, utilice las flechas de direcci6n arriba T y + abajo.

La fig. 5.1 muestra las opciones correspondientes al meni “Ruta Corta”, asi como en la fig. 5.2 se presentan las que se encuentran en el ment “Flujos” .

173

Page 145: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.2 Pantalla del Meni Flujos

o de Ford

Cabe sefialar que una opcién se puede efectuar de dos formas: por colocarse en la seleccién por

medio de las flechas de direccién y pulsar <ENTER> como se menciono con anterioridad o

presionando la tecla que se encuentre resaltada.

Por ejemplo: Si se desea ejecutar la opcién de General, se deben seguir los siguientes pasos:

1. Con las teclas de direccién colocarse en la opcién General y presionar la tecla

<ENTER>.

2. O en cualquier posicién del médulo Ruta Corta, inicamente presionar la tecla "G" que en este caso es la que esta resaltada.

Si se selecciona la opcién de Arborescencia por el método de Dijkstra, el sistema despliega la pantalla que se muestra en la figura 5.3.

174

Page 146: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.3 Pantalla correspondiente a una Arborescencia.

“WETODO DIJKSTRA

En esta pantalla se solicita al usuario que seleccione si desea proporcionar datos de un nuevo problema (opcién ”Nuevo”) o si desea buscar alguno que esté almacenado (opcién “Buscar”), ya que el sistema permite mantener almacenada la informaci6n de los ejercicios que se desee para cada uno de los algoritmos.

Si se selecciona Nuevo, se ingresa a la pantalla de “Entrada de Datos”, misma que se explicar4 més adelante. Si se selecciona Buscar, el sistema verifica que exista por lo menos un problema

en la base de datos correspondiente, de lo contrario se despliega la pantalla de la figura 5.4.

Al pulsar cualquier tecla el sistema regresa la pantalla de la figura 5.3, aqui se puede seleccionar Nuevo 0 <ESC> para salir de la aplicacién sin haberla ejecutado.

175

Page 147: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién de Sistema

Figura 5.4 Pantalla de Entrada de Datos

RUTA DEO A

NO SE TIENE HINGUN PROBLEMA GUARDADO

Pulse cualquier tecla..._

Si al efectuar la verificacién se encuentra algtin problema almacenado en Ja base, se muestra al

usuario una ventana con una lista de todos los nombres de los problemas, y por medio de las

fechas de direccién de arriba y abajo se puede navegar para seleccionar el deseado; ver figura

5.5.

Figura 5.5 Pantalla del Mend Arborescencia

ARBORESCENCIA METODG GENERAL

Seleceion un Problema...

Use <t>,<T> para Seleccionar y <E

176

Page 148: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Una vez que se ha seleccionado algin problema se muestran los datos de la red y los arcos.

5.6 Introduccién o Modificacién de Datos

En el capitulo anterior se mencionaron los datos de entrada que son necesarios en cada uno de los algoritmos (ver tablas 4.2 y 4.3); asi para cada problema se han definido dos pantallas de entrada: una para los datos de la RED y otra para los datos de los ARCOS las cuales se

presentan en ese orden.

Existen dos instancias para introducir informacién, basada en la seleccién hecha al inicio de la

aplicacién, la primera se da cuando se ha seleccionado la opcién Nuevo y la segunda cuando se

accesa a los datos de algin problema almacenado, opcién Buscar.

5.6.1 Pantallas de entrada de un problema nuevo

Cuando se ha seleccionado la opcién Nuevo, el sistema muestra una pantalla para solicitar los

datos de la red. El ejemplo que ilustra la figura 5.5 es la pantalla de datos de la red para el

algoritmo de Dijkstra en el problema de ruta mas corta de 0 a d.

Figura 5.5 Pantalla de datos de ta Red para el Algoritmo de Dijkstra.

177

Page 149: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Una vez que los datos se han introducido, éstos son validados considerando que cumplan con

las siguientes condiciones: .

1) Que sean distintos de cero.

2) Que el nimero de nodos no sea superior a 20.

3) Que el mimero de arcos no sea superior a n(n-1).

4) Que el origen y el destino estén en el intervalo (1,n).

Donde n es el ntimero de nodos.

Cuando uno o varios de los datos no cumplen con alguna de éstas condiciones, se despliega en

la pantalla una ventana como se muestra en la figura 5.6. Pulsando una tecla se regresa al

modo de edicién y permitiendo modificar el error.

Figura 5.6 Pantalla de datos de la Red para el Algoritmo de Dijkstra.

RUTA DE 8-0 B HETODO BIJKSTRA

DATOS. GENERGLES OE. ta RED:

Him. de

_ Srigen:

Uno de los Datos de Entrada Ho Es Valide Por favor Vuelva a Introeducirlos

Pulse una teela para continuar ..._

En el ejemplo de la figura el dato del nodo Destino tiene asignado el valor de 0, mismo que no

es valido por lo que despliega la ventana de advertencia. Cuando los datos cumplen con los requerimientos se permite al usuario que seleccione alguna de las siguientes actividades:

Continuar, Editar o Salir; ver figura 5.7.

178

Page 150: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.7 Pantalla de datos de la Red para el Algoritmo de Dijkstra.

ates a ea)

La Opcién <Continuar> muestra la siguiente pantalla que consiste en el ingreso de los datos

de los arcos. La opcién <Editar> regresa a la misma pantalla de Datos de la red para

modificar algtin dato que se desee, finalmente la opcién <Salir> permite regresar a la pantalla anterior, esta opcién se debe seleccionar si no se desea continuar.

Si se selecciona <Continuar> el sistema abre la pantalla de Introduccién de los Datos de los

Arcos; figura 5.8. La ilustraci6n corresponde a la pantalla generada por los datos que se dieron antes para la red. Se observa que los renglones corresponden a cada uno de los arcos debiendo

introducir para cada uno el nodo inicial, el nodo final y la longitud o costo.

179

Page 151: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.8 Pantalla de Introduccién de los Datos de los Arcos.

J. 1-11)

(—l-.~3~-1—1—

1) 1-1 i

i i) i) i) 0 i of KE

Lj

El nimero maximo de renglones en cada pantalla es de 12, asi que cuando la red conste de un

numero mayor de arcos, se presentaran las pantallas que sean necesarias, una después de la

otra.

Cuando los datos de todos los arcos se han ingresado, el sistema los valida verificando el

cumplimiento de las siguientes condiciones para los nodos inicial y final de cada arco:

1) Que sean distintos de cero.

2) Que estén en el intervalo (1,n).

Cuando uno o varios de los datos de los arcos no cumplen con alguna de estas condiciones se despliega una ventana indicando el error al usuario como se muestra en la figura 5.9, deben

entonces revisarse los datos y modificar los que estén erréneos. Cabe sefialar que el sistema

no valida que se tenga m4s de una vez el mismo arco.

180

Page 152: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.9 Pantalla de error de Introduccién de los Datos.

2 ee ee Hebe Estur Entre Jou ?

PET See oe rr a To

En el ejemplo de ta fig. 5.9, al nodo final para el arco 5 se le ha asignado el valor de O por Io que se abrié la ventana. Un mensaje andlogo se despliega cuando el valor del nodo inicial este fuera del rango. Dado que el algoritmo de Dijkstra no es eficiente para redes con costos negativos esta validado que las longitudes a ingresar no sean de éste tipo.

Por Ja naturaleza de los algoritmos de Floyd y de Dantzing se ha disefiado una forma diferente

para la captura de los datos de entrada. Como informacién general de la red tnicamente se

solicita el nimero de nodos que la forman ver la figura 5.10.

18)

Page 153: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.10 Pantalla de datos de la Red para el Algoritmo de Floyd y de Dantzing.

Hin, de Hodes:

Una vez suministrado éste dato y seleccionado <Continuar> se abre una pantalla que en forma matricial permite el ingreso de las longitudes o costos de los arcos, figura 5.11.

Figura 5.11 Pantalla de ingreso de las longitudes.

182

Page 154: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

En esta pantalla se refleja el hecho de que todas las entradas de la matriz de costos inicial son infinitos (=99999) excepto para la diagonal que es cero y ademds no permite el acceso inicial de costos. El ingreso del costo del arco (i, j), cuando exista, debe realizarse en la fila i, columaa j.

5.6.2 Pantallas de un problema almacenado

Cuando se selecciona un problema que se tiene almacenado se muestran al usuario las pantallas de datos de la red y de los arcos, una después de la otra. Una vez que se han mostrado los datos de los arcos se ofrece al usuario un meni de opciones para que seleccione entre <Correr>, <Modificar>, <Borrar> y <Salir> como se ilustra en la figura 5.12.

Figura 5.12 Pantalla de un problema almacenado.

alten tars

Al seleccionar la opcién <Correr>, se da por entendido que los datos son los deseados y se

ejecuta el algoritmo dando las pantallas de salida correspondientes. Si los datos no

corresponden al problema que se estaba buscando se selecciona la opcién <Salir> y

enseguida se regresa a la pantalla de seleccidn de problemas.

Cuando se haya recuperado el problema y se observe que algén dato de la red o de los arcos

esta equivocado o simplemente se desee cambiar, se debe seleccionar la opcién <Modificar >;

183

Page 155: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

al seleccionarla se presenta un ment solicitando se indique que datos desea modificar: los de la

red o los de los arcos (ver figura 5.13).

Figura 5.13 Pantalla de modificacién de datos.

Modificar Origen, 6. Destins

Cuando se opta por modificar datos de la red Gnicamente se permiten modificaciones sobre los

datos marcados con x en la figura 5.14 para cada algoritmo.

Figura 5.14 Datos de la Red que se permiten modificar para el algoritmo indicado,

No. No. | Origen o Valor

Algoritmo Nodos De Raiz | Destino del Arcos Flujo

Ruta deoad x Xx

Arborescencia x

General x

Dantzing

Floyd

Flujo Maximo x x

Primal x ».4 x

Dual x x x

Out-of-Kilter x xX x

Una vez que se ha terminado la modificacién de los datos de la red se ejecuta el algoritmo.

184

Page 156: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién de? Sistema

Si se opta por modificar datos de los arcos, se presenta al usuario la misma pantalla con la que éstos se ingresaron, permitiendo que se modifique cualquier valor de nodo inicial, nodo final, longitudes 0 costos y demas funciones que requiera el algoritmo.

Al finalizar las modificaciones de los datos de los arcos, se permite al usuario seleccionar una de las siguientes opciones: <Correr>, <Editar> o <Salir>. <Correr> ejecuta el algoritmo con las modificaciones realizadas, < Editar > permite volver a los datos y seguir modificando o corrigiendo y <Salir> permite salirse det problema sin que los cambios tealizados sean considerados y sin ejecutar el algoritmo.

La opci6n <Borrar> permite eliminar de la base de datos toda la informacién concerniente al problema seleccionado. Asi cuando un problema ya no sea necesario es posible eliminarlo.

185

Page 157: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

5.7 Resultados

Los resultados obtenidos durante la ejecucion de los algoritmos se presentan en algunos casos

de forma iterativa es decir se van presentando resultados por cada iteracion y en otros

solamente se presenta el resultado final.

En los algoritmos de rutas mas cortas por los métodos de Dijkstra y General inicamente se

presentan los resultados finales, dado que en cada iteraci6n se va introduciendo s6lo un nodo

en Ja ruta y el proceso para llegar al resultado final se volveria muy largo. Para los demas

métodos si se presentan los resultados iterativamente.

La salida de los resultados de cada una de las aplicaciones se presenta en forma particular,

dependiendo de cada uno de los problemas.

Para cada uno de los algoritmos se ofrece un ejemplo de la(s) pantalla(s) de salida y una breve

explicacién de como interpretarla. Se dan los datos de entrada, mismos gue se muestran antes

de fa(s) pantalla(s) de resultados, para un mejor entendimiento de los mismos.

5.7.1 DIJKSTRA: Ruta deo a d

Datos de Entrada

Red: Niamero de Nodos = 5 Numero de arcos = 10

Origen = 1 Destino = 5

Arcos: Arco Longitud

1 (1,2)

2 (1,3)

3 (2,3) 4 (2,4)

3 (3,4)

6 @B,1) 7 (3,2)

8 (3,5) 9 (2,5) 10 (4,5)

won nNnworoOornhnd

El resultado que genera el sistema con estos datos de entrada se muestra en la figura 5.15.

186

Page 158: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.15 Resultados de Dijkstra

Estos datos se pueden interpretar de la manera siguiente:

Los nimeros abajo de las columnas Nodo Inicial y Nodo Final son los arcos que integran la

ruta y los valores indicados abajo de la columna Distancia son Jas longitudes de] nodo origen al nodo final.

Asi la longitud de Ia ruta del origen (= 1) al destino (=5) es de 5 como se indica en la

columna Distancia en el arco (3,5). Asi mismo la parte baja de la pantalla se muestra la

longitud de la ruta més corta del origen a] destino con un mensaje. Cuando no exista una ruta

del origen al destino en la red dada, el sistema muestra una ventana de color rojo indicando dicha situacién y la aplicacién termina de ejecutarse sin mostrar ninguna pantalla de salida.

5.7.2 DISKSTRA: Arborescencia

Datos de Entrada

Red: Nitimero de Nodos = 9 Numero de arcos = 15

Origen = 2

187

Page 159: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Arcos:

Arco Longitud Arco Longitud

1 (1,2) 1 9 (4,6) 7 2 (2,1) 1 10 (4,7) 8 3 (1,8) 1 11 (4,9) 7 4 (2,7) 20 12 (8,9) 9 5 (2,3) 3 13 (5,6) 4 6 (2,5) 8 14 (7,9) 1 7 (3,4) 5 15 (6,9) 1 8 3,8) 8

E] resultado que genera el sistema con estos datos de entrada se muestra en la figura 5.16.

Figura 5.16 Pantalla de Resultados de Dijkstra, Arborescencia.

HETODO BTIKSTRA ARBORESCENCIA: DE RUTAS MAS CORTAS

Barz: 2

Hede Inicial Modo. Final Ruta. mas: carta: de Ta AATZ AL Hodo Final

2 1 Oe 2 3 2 3 & 8 2. 5 a. 5 é 1%

¢

Pulse una Teela para, Ti

En esta pantalla se presentan los arcos que forman parte de la arborescencia y la distancia del nodo raiz al nodo final de cada arco. La informacién presentada es similar que la que se obtiene con la aplicacién de ruta mas corta de o a d, solamente que en este caso se verifica que el nodo indicado como raiz realmente lo sea. Asi que al término de la ejecucién de la aplicacién se presenta una pantalla similar a esta, el nodo indicado como raiz en efecto lo es.

Cuando se detecta que el nodo indicado como raiz no lo es, el sistema manda un mensaje en una ventana de color rojo indicandolo. Si se da el caso Ja aplicaci6n no muestra ninguna pantalla de salida.

188

Page 160: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

5.7.3 General.

Datos de Entrada

Red: Nimero de Nodos = 9 Nimero de arcos = 13 Origen = 1

Arcos:

Arco Longitud Arco Longitud

1 (1,2) -2 8 (4,9) -2

2 (i,3) 3 9 (5,6) 3

3 (2,4) -2 10 (5,9) -2

4 (2,7) -4 li (6,5) 2

5 (3,6) 3 12 (7,8) -1

6 (4,5) 8 13 (8,9) -]

7 (4,7) 9

EI resultado que genera el sistema con estos datos de entrada se muestra en la figura 5.17.

Figura 5.17 Pantalla de Resultados

METOBO GENERAL

189

Page 161: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

La salida de la informacién generada en esta aplicaciOn, es similar a la generada por Dijkstra para el caso de arborescencia, por lo que su interpretacién es idéntica. Esto se debe a que

ambos algoritmos resuelven el mismo tipo de problema, pero hay que sefialar que uno para

costos no negativos (Dijkstra) y el otro para redes con cualquier costo.

En este algoritmo se presentan dos tipos de mensajes que no permiten la finalizacién del

algoritmo con éxito; estos son: 1) que el nodo asignado como raiz, no lo sea; y 2) por el hecho

de encontrar un circuito con longitud negativa.

Para cada uno de estos casos, como se ha mencionado, que se envia el mensaje pertinente y el algoritmo es interrumpido.

5.7.4 FLOYD y DANTZING

Dada la naturaleza de estos algoritmos, el andlisis de las pantallas de salida se realizara de

forma conjunta. Considere para este fin, los siguientes datos de entrada:

Datos de Entrada

Red: Nimero de Nodos = 5

Arcos:

Arco Longitud Arco Longitud

1 (1,2) 4 9 (3,4) -7

2 (1,3) 8 10 (3,5) 3

3 (1,4) 4 1 (4,1) 6

4 (1,5) 1 12 (4,2) 79

5 (2,3) 3 13 (4,5) 99

6 (2,4) 2 14 (5,2) 3

7 (3,1) 4 15 (5,3) 5

8 (3,2) 9 16 (5,4) 5

A diferencia de las salidas generadas en los algoritmos presentados antes, en estos se muestran

pantallas de salida en cada una de las iteraciones.

Asi las salidas en la iteracién k en el algoritmo de Floyd consisten de:

1) Una pantalla mostrando Ja matriz de costos con la ruta més corta entre i y j que puede

admitir a los primeros k nodos 0 a algunos de ellos como nodos intermedios y

2) Una pantalla mostrando la matriz de recuperacién de rutas, idéntica a la que se usa cuando

se realiza el proceso en forma manual.

190

Page 162: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

En la figura 5.18 se muestran las pantallas de salida en la iteracién 2 para los datos del ejemplo

dado arriba.

Figura 5.18 a) Pantalla de salida de Matriz de Recuperacién de Rutas.

Ewe . MBTPPO FLOYD

Una vez mostrada la matriz de recuperacion de rutas se muestra al usuario una ventana

solicitando que indique si desea observar nuevamente la matriz de costos 0 si desea que se

ejecute la siguiente iteracién, esto con la finalidad de tener oportunidad de volver a consultar la

informacion de la matriz de costos en cada iteracién.

191

Page 163: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

aumentante que se ha encontrado. Un ejemplo de esta pantalla se presenta en Ja figura 5.20 que

corresponde a la primer iteracién con los datos del ejemplo.

Figura 5.20 Pantalla de salida det Algoritmo de flujo maximo.

FLUJO. Maxryuo

RUTA: 2,2

VALOR DEL

SISTEMA DE OPTIMIZACION DE BREDES ——

ITERACION 1 ay RUTA Y VALOR DEL FLUJO GeT#,

8.

(0 HN LA TTHRACION: 7

Pulse una Tecia para Continuar

METODG FORD ¥ FULKERSON

Aqui se observa que la cadena encontrada es la que est4 integrada por los nodos 1, 2 y 5. El

valor incremental de ésta es 7. La ilustracién 5.21 muestra la pantalla donde se refleja la

aplicacién del envio de flujo sobre los arcos que forman la cadena encontrada.

194

Page 164: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5,21 Pantalla de salida de la Aplicacién del envio de flujo.

En la pantalla de resultados finales se presentan los datos de los arcos de forma similar a la ilustracién anterior indicando que los datos corresponden al flujo m4ximo de la red y el valor de éste.

Los resultados finales con los datos del ejemplo se presentan en la siguiente figura.

195

Page 165: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.22 Pantalla de salida de la Aplicacién del envio de flujo, en sus resultados finales,

FORD ¥ FULKERSON

Capacidad Bluyo

Pulse uns Tecla para Terminars

196

Page 166: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentaci6n del Sistema

5.7.6 Flujo a costo minimo

5.7.6.1 Primal

Considere los siguientes datos como de. entrada en el algoritmo primal para obtener cl un a costo minimo de valor 10.

Datos de Entrada

Red: Numero de Nodos = 5 Numero de arcos = 8 Origen = 1 Destino = 4

Val. Flujo = 15

Arcos:

Arco Capacidad Costo

1 (1,2) 7 1.00

2 q,3) 4 5.00

3 (5,1) 4 1.00

4 (2,3) 7 2.00

5 (2,4) 5 7.00

6 (3,4) 9 1.00

7 (3,5) 3 1.00

8 (5,4) 7 2.00

En esta aplicacién se despliegan las siguientes salidas:

1) Se presentan cada una las cadenas de flujo aumentante que se localizan en la red hasta: a)

alcanzar el flujo solicitado o b) hasta que no sea posible determinar més cadenas de flujo

aumentante y no se ha alcanzo el flujo indicado. Cuando se ha determinado un flujo factible del

valor indicado se muestran otra serie de pantallas que se presentaran mas adelante. Cuando se

da el caso b) se abre una ventana de alerta indicando que no se logré determinar un flujo del

valor deseado, el flujo maximo que ha podido ser enviado a través de la red y se solicita se

indique si se desea correr Ja aplicacién con ese valor de flujo.

La figura 5.22 muestra la primer cadena localizada con Jos datos de nuestro ejemplo y la figura 5.23 muestra la ventana de alerta que se despliega al no haber podido determinarse un flujo del

valor deseado. En la figura 5.23 se presenta la ruta de la cadena y el valor del flujo que puede ser enviado a través de ella.

197

Page 167: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién dei Sistema

Figura 5.23 Pantalla de salida de la ruta de la cadena _y el valor del flujo.

- sis FLUJO. MAXIMO A Cost

A DE OPTIMIZACION DE

bE FLUID: AUME VALOR DRL. PLUG

UTR

RUTA: L, 2, 4, oo LA CADENA DE FLUIO AUMENTANTE:

Pulse una Téecla para Continuar

HETODO PRIMAL

En la figura 5.23 se observan las opciones que ofrece el sistema cuando no se ha localizado un

flujo del valor deseado. De este modo si opta por <Salir>, el sistema detiene el algoritmo y

regresa el control al ment anterior. Si por el contrario, se decide por <Correr>:

198

Page 168: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién de! Sistema

Figura 5.24 Pantalla de salida de la ruta de la cadena y el valor del flujo.

2) La siguiente serie de pantallas de salida muestra en primera instancia los datos de los arcos

con el flujo que ha sido posible enviar a través de ellos y el costo total del mismo. Ver figura

5.25.

199

Page 169: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5, Presentacién del Sistema

Figura 5,25 Pantalla de salida de datos de los arcos con los flujos.

FLUJO BAXIEO

Arco.

OR WN

Re:

VALOR DEL FLUJO iL

cOSTG DEL FLUIC 72.00

HETODO PRImAL

Nee

NN

&

i,

Figura 5.26 Pantalla de salida de la red marginal.

icine SISTEMA DE OPTIMIZACTOM DER! FLUJO. MAXIMO A COSTO MINTHO fot :

Axe

QE

WN ON

1M wT in eg

Me

DWP

Oo NN Ge hoe

DEL FLUIO Continuar

03 Pulse une Tecla pat.

“ tonjunte

METODO PRIMAL NR

NN BRD

200

Page 170: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

En seguida se muestran los datos de la red marginal que genera el flujo y los costos asociados

con ésta. La figura 5.26 ilustra la red marginal obtenida con el flujo localizado en nuestro

ejemplo. En esta figura se observa una columna llamada conjunto. Esta columna se puede

interpretar de la siguiente manera: si el valor mostrado es 1, el arco pertenece al conjunto A,,

como se indico en Ja definicion de red marginal en el capitulo 3; si se est4 mostrando un valor 2 el arco correspondiente pertenece al conjunto A,. La columna Costo muestra los costos de los arcos en la red marginal y la columna capacidad la capacidad correspondiente de los arcos.

Una vez mostrada la red marginal la aplicaci6n verifica si existe un circuito negativo.

4) Si un circuito negativo es localizado se indica en la parte baja de la pantalla como lo muestra

ja figura 5.25; al oprimir cualquier tecla se muestra otra pantalla con los nodos que forman el

circuito y la capacidad de éste. La figura 5.27 muestra esta pantalla siguiendo los datos del

ejemplo.

Figura 5.27 Pantalla de salida con los nodos que forman el circuito.

Asi se itera mostrando el nuevo flujo obtenido y ei costo de éste, la red marginal correspondiente y ja validaci6én de la existencia de algin circuito negativo; hasta que no se

201

Page 171: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Capitulo 5. Presentacién del Sistema

Figura 5.38 Papntalla de salida de resultados.

SISTEMA DE OPTIMEZACTON DE

HOS VALORES PARA EL

Area HeInie. N.Final Cap.Sup.

Pen BRON

ot

Pulse wid Tecla para Comtinuar_

sNIMO. SON:

Cosbo Fiujzo

6 is 9 7 1 3 28 o

de

ON WW

Figura 5.39 Pantalla de salida de resultados.

—— - SISTEMA DE OPTIMIZACION DE FLUJO MARINO. COSTO: NINIMO mo

LOS VALGRES FINALES PARA P SON:

pili = 12 #t2) = 10 pig} = 3 piap 2

ata Continuar.

Sa - “BRyODO OUT OF RILTER

212

Page 172: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Conclusiones

Con la elaboraci6n de esta investigacién, se ha planteado cémo el modelo de rutas més cortas puede ser utilizado como una herramienta auxiliar, para resolver problemas mas complejos como son los de flujos. Se ha estudiado la teorfa matematica y los algoritmos mas eficientes, que han permitido resolver los problemas de rutas més cortas y de flujos planteados.

Los siguientes cuadros muestran los diferentes algoritmos estudiados y plantea las posibles ocasiones en que debe ser utilizado.

Algoritmo de rutas mas cortas a utilizar dada alguna de las situaciones mencionadas.

Algoritmo Tipo de Datos iniciales Datos de Salida Posibles Observaciones con éxito fracasos

Dijkstra

Ruta deoad e20 Nodos origen y { Ruta mas corta | No existe una destino deoad ruta deoad

Arborescencia e20 Raiz Arborescencia | Existencia de

de rutas mds un circuito cortas negativo

General ¢ libre Arborescencia Ruta més corta | Existencia de cualquiera deoad un circuito

oO negativo Arborescencia de rutas mas

cortas Dantzing ¢ libre Matriz de costos | Ruta mas corta | Existenciade | El algoritmo aun

entre todo par un circuito cuando acepta de nodos negativo costos negativos,

no detecta

circuitos

negativos Floyd clibre | Matrizdecostos | Ruta mas corta | Existencia de El algoritmo

entre todo par un circuito detecta circuitos de nodos nepativo negativos

213

Page 173: T ES IS presenta Guadalupe Aida Guillén Gémez132.248.9.195/pd2000/285439/285439.pdf · 2021. 2. 18. · Que para obtener el titulo de ACTUARIA presenta Guadalupe Aida Guillén Gémez

Bibliografia

1. Data Structures; Theory and practice, Berztiss, A.T.

New York, Academic Press 1971.

2. Applications of Graph theory algorithms Vinod Chachra, Prabhaker Ghare, James M. Moore

New York, North-Holland 1979

3. Graph Theory and algoritmic approach Christofides, Nicos

New York, Academic Press 1975

4. Graph theory with applications to engineering and computer science Deo, Narsingh

Prentice-Hall, Inc. 1974

5. Finite graphd and networks an introduction with applications Busaker, Robert G.

McGraw-Hill Book Company 1965

6. Optimization Algorithms for networks and graphs Minieka, Edward

Marcel Dekker, Inc. 1978

7. Algorithms Graphs an d computers

Bellman, Richard

Academic Press, Inc. 1970

216