You are on page 1of 44

MODELOS DE OPTIMIZACION DE REDES

La modelacin de redes permite la resolucin de mltiples problemas


de programacin matemtica mediante la implementacin de
algoritmos
especiales
creados
para
tal
fin,
conocidos
como Algoritmos
de optimizacin de redes. Dentro de los
problemas ms comnmente resueltos mediante la modelacin de
redes se encuentran los ya vistos modelos de transporte, transbordo
adems de los muy conocidos modelos de determinacin de
cronograma de actividades para proyectos como lo son el PERT y el
CPM.

CONCEPTOS BSICOS EN TEORA DE REDES


Grfica: Una grfica es una serie de puntos llamados nodos que van unidos
por unas lneas llamadas ramales o arcos.
Red: Una red es una grfica que presenta algn tipo de flujo en sus ramales.
Por ejemplo una grfica cuyo flujo en sus ramales sea la electricidad es una
red elctrica. En las redes se usa una simbologa especfica para denotar su
tamao y elementos que la constituyen, dicha notacin es la (N, A) donde N
representa el nmero de nodos que contiene la red y A representa el nmero
de arcos o ramales.

Cadena: Una cadena corresponde a una serie de elementos ramales que van
de un nodo a otro. En el siguiente caso se resalta una cadena que va desde el
nodo 1 hasta el nodo 7 y que se compone por los elementos [1-4, 4-7].
Ruta: Una ruta corresponde a los nodos que constituyen una cadena, en el
siguiente caso [1, 4, 7].

Ciclo: Un ciclo corresponde a la cadena que une a un nodo con sigo


mismo, en el siguiente ejemplo el ciclo est compuesto por la cadena
[4-2, 2-5, 5-7, 7-4].

Ramal orientado: Un ramal o arco orientado es aquel que tiene un


sentido determinado, es decir que posee un nodo fuente y un nodo
destino.

Grfica orientada: Una grfica orientada es aquella en la cual todos


sus ramales se encuentran orientados.

rbol: Un rbol es una grfica en la cual no existen ciclos, como el


siguiente ejemplo.
rbol de expansin: Un rbol de expansin es aquel rbol que enlaza
todos los nodos de la red, de igual manera no permite la existencia de
ciclos.

Nodo fuente: El nodo fuente es aquel nodo en el cual todos sus


ramales se encuentran orientados hacia afuera.

Nodo destino: El nodo destino es aquel nodo en el cual todos sus


ramales se encuentran orientados hacia l.

ALGORITMO DEL RBOL DE EXPANSIN MNIMA


El algoritmo del rbol de expansin mnima es un modelo de optimizacin de
redes que consiste en enlazar todos los nodos de la red de forma directa y/o
indirecta con el objetivo de que la longitud total de los arcos o ramales sea
mnima.
Sean
N = {1,2,3,...,n} el conjunto de nodos de la red.
Ck= Conjunto de nodos que se han enlazado de forma permanente en la
iteracin k
k= Conjunto de nodos que hacen falta por enlazarse de forma permanente.

PASO CERO (0): CONCEPTUALIZACIN DEL ALGORITMO:


Definir los conjuntos C0 = {} y 0 = {N}, es decir que antes del paso 1 no se han
enlazado de forma permanente nodo alguno, y por ende el conjunto que
representa a los nodos que hacen falta por enlazarse de forma permanente es
igual a la cantidad de nodos que existen en la red.
PASO 1:
Se debe de escoger de manera arbitraria un nodo en el conjunto 0 llamado i el
cual ser el primer nodo permanente, a continuacin se debe de actualizar el
conjunto C1 = {i}, que significa que al tiempo en que el conjunto C1 gana el
elemento i el conjunto 0pierde el elemento i por ende ahora ser igual a 1 = N
- {i}, adems se debe actualizar el subndice de los conjuntos k, el cual ahora
ser igual a 2.

PASO 2: PASO GENERAL "K


Se debe de seleccionar un nodo j del conjunto K-1 ("k-1" es el subndice
que indica que se est haciendo referencia al conjunto de la iteracin
inmediatamente anterior) el cual tenga el arco o ramal con menor longitud
con uno de los nodos que se encuentran en el conjunto de nodos de
enlace permanente CK-1. Una vez seleccionado se debe de enlazar de
forma permanente lo cual representa que pasa a formar parte del conjunto
de enlaces permanentes y deja de formar parte del conjunto que todava
se debe conectar para lograr la expansin. Al actualizar el algoritmo en
este paso los conjuntos deben de quedar de la siguiente forma.
CK = CK-1 + {j} mientras que K = K-1 - {j}
El paso general que define k que al mismo tiempo representa a las
iteraciones debe de ejecutarse toda vez que el conjunto K no sea vaco,
cuando este conjunto sea igual a vaco se tendr el rbol de expansin
mnima.

RESOLUCIN DE UN PROBLEMA DE RBOL DE


EXPANSIN MNIMA
La ciudad de Monteria cuenta con un nuevo plan parcial de vivienda el cual
contar con la urbanizacin de ms de 7 proyectos habitacionales que se
ubicarn a las afueras de la ciudad. Dado que el terreno en el que se construir
no se encontraba hasta ahora dentro de las zonas urbanizables de la ciudad, el
acueducto municipal no cuenta con la infraestructura necesaria para satisfacer
las necesidades de servicios pblicos en materia de suministro de agua. Cada
uno de los proyectos de vivienda inici la construccin de un nodo de acueducto
madre, el cual cuenta con las conexiones de las unidades de vivienda propias de
cada proyecto (es decir que cada nodo madre solo necesita estar conectado con
un ducto madre del acueducto municipal para contar con su suministro). El
acueducto municipal al ver la situacin del plan parcial debe de realizar las obras
correspondientes a la instalacin de ductos madres que enlacen todos los nodos
del plan con el nodo Melndez (nodo que se encuentra con suministro de agua y
que no pertenece al plan parcial de vivienda, adems es el ms cercano al
mismo), la instalacin de los ductos implica obras de excavacin, mano de obra y
costos de los ductos mismos, por lo cual optimizar la longitud total de los enlaces
es fundamental. Las distancias existentes (dadas en kilmetros) correspondientes
a las rutas factibles capaces de enlazar los nodos del plan parcial se presentan a
continuacin. Adems la capacidad de bombeo del nodo Melndez es ms que
suficiente para satisfacer las necesidades de presin que necesita la red madre.

El acueducto municipal le
contacta a usted para que
mediante sus conocimientos
en teora de redes construya
una red de expansin que
minimice la longitud total de
ductos y que enlace todos
los nodos del plan parcial de
vivienda.

PASO 0:
Se definen los conjuntos iniciales C0 = {} que corresponde al conjunto de
nodos enlazados de forma permanente en la iteracin indicada en el subndice y
0 = {N = 1,2,3,4,5,6,7,8} que corresponde al conjunto de nodos pendientes por
enlazar de manera permanente en la iteracin indicada en el subndice.

PASO 1:
Se debe definir de manera arbitraria el primer nodo permanente del conjunto 0,
en este caso escogeremos el nodo 1 (puede ser cualquier otro), que
algebraicamente se representa con la letra i, se procede a actualizar los
conjuntos iniciales, por ende C1 = {i} = {1} y 0 = {N - i} = {2,3,4,5,6,7,8},
actualizamos k por ende ahora ser igual a 2.
PASO 2:
Ahora se debe seleccionar el nodo j del conjunto K-1 (es decir del conjunto del
paso 1) el cual presente el arco con la menor longitud y que se encuentre
enlazado con uno de los nodos de enlace permanente del conjunto Ck-1 en el
cual ahora solo se encuentra el nodo 1 (es decir que se debe de encontrar un
nodo que tenga el arco de menor longitud enlazado al nodo 1).

Los arcos o ramales de color


naranja representan los arcos
que enlazan el conjunto K-1(es
decir del conjunto del paso 1,
recordemos que K en este
paso es igual a 2, por ende K1= 1) con los nodos de enlace
permanente del conjunto Ck1 en el cual ahora solo se
encuentra el nodo 1, por ende
ahora solo falta escoger el de
menor longitud, que en este
caso es el arco cuya longitud
es 2, que enlaza de forma
permanente ahora el nodo 2.

Al actualizar los conjuntos quedan


as:
C2 = {1,2} y 2 = {3,4,5,6,7,8}
Ahora se procede a actualizar k ya
que se procede a efectuar la
siguiente iteracin. Ahora se
seleccionar un nuevo nodo j del
conjunto 2que presente el enlace
(ramal o arco) de menor longitud
con los nodos que se encuentran
en el conjunto C2.
Los arcos de color naranja
representan los enlaces posibles y
dado que existe empate entre las
menores longitudes se elige de
manera arbitraria, en este caso se
representa nuestra eleccin con un
arco de color verde, enlazando de
forma permanente ahora el nodo 4.

Al
actualizar
los
conjuntos quedan as:
C3 = {1,2,4} y 3 =
{3,5,6,7,8}
Ahora se procede a
actualizar k ya que se
procede a efectuar la
siguiente iteracin.

Lo que representan los


arcos naranja y verde es ya
conocido, ahora la lnea
azul
interrumpida
ir
trazando nuestro rbol de
expansin final. Dado a que
el arco menor es el de
longitud 3,
ahora se
enlazar
de
manera
permanente el nodo 5.

Al actualizar los conjuntos


quedan as:
C4 = {1,2,4,5} y 4 =
{3,6,7,8}
Ahora
se
procede
a
actualizar k ya que se
procede a efectuar la
siguiente iteracin.

Ahora se enlazar de
manera permanente el
nodo 7.
Al
actualizar
los
conjuntos quedan as:
C5 = {1,2,4,5,7} y 5 =
{3,6,8}
Ahora se procede a
actualizar k ya que se
procede a efectuar la
siguiente iteracin.

Ahora se enlazar de
manera permanente el
nodo 6.
Al actualizar los conjuntos
quedan as:
C6 = {1,2,4,5,7,6} y 6 =
{3,8}
Ahora se procede a
actualizar k ya que se
procede a efectuar la
siguiente iteracin.

Se rompen los empates


de forma arbitraria,
ahora se enlazar de
manera permanente el
nodo 3.
Al
actualizar
los
conjuntos quedan as:
C7 = {1,2,4,5,7,6,3} y
7 = {8}

Ahora se procede a
actualizar k ya que se
procede a efectuar la
ltima iteracin.

Ahora se enlazar
de
manera
permanente el nodo
8.
Al actualizar los
conjuntos quedan
as:
C8
=
{1,2,4,5,7,6,3,8} =
{N} y 8 = {}
Por ende se ha
llegado al rbol de
expansin mnima

rbol que presenta una longitud total minimizada de 21 kilmetros de ductos

METODO DE LA RUTA MAS CORTA


Objetivo: Determinar la mejor manera de cruzar una red para encontrar una forma
econmica para dirigirse desde un origen a un destino dado.
Suponga que en una red existen m nodos y n arcos (bordes) y un costo
Cij asociado con cada arco (i a j) en la red.
El problema del camino ms corto (CC) es encontrar la va ms cercana (menor
costo) desde el nodo de comienzo 1 hasta el nodo final m. El costo del camino es
la suma de los costos de cada arco recorrido

ALGORITMOS PARA SOLUCION DE LA RUTA MAS CORTA


A continuacin se presentan dos algoritmos para resolver tanto redes cclicas (es decir, que
contienen bucles) como redes acclicas:
1. El algoritmo de Dijkstra para determinar las rutas ms cortas entre el nodo origen
y los dems nodos en la red.

2. El algoritmo de Floyd para determinar la ruta ms corta entre dos nodos


cualesquiera en la red.

Algoritmo de Dijkstra. Sea ui la distancia ms corta del nodo origen 1 al nodo i, y


defina dij (>= 0) como la longitud del arco (i,j). El algoritmo define la etiqueta para un nodo
j que sigue inmediatamente como
La etiqueta para el nodo de inicio es [0, -], que indica que el nodo no tiene predecesor. Las
etiquetas de nodo en el algoritmo de Dijkstra son de dos tipos: temporales y permanentes.
Una etiqueta temporal en un nodo se modifica si puede hallarse una ruta ms corta al nodo.
De lo contrario, el estado temporal cambia a permanente.

ALGORITMO DE DIJKSTRA.

Distancia hasta el
nodo j, desde el
nodo origen.

Nodo
inmediatamente
anterior a j.

EJEMPLO
Dada la siguiente red, calcule la ruta mas corta de la ciudad 1 al resto de las ciudades

0+100,1
40+15,4
30+10,3

40+50,4
0,0+30,1
30+60,3
Sea ui la distancia ms corta del nodo origen 1 al nodo i.
Defina dij (>= 0) como la longitud del arco (i,j).
El algoritmo define la etiqueta para un nodo j que sigue inmediatamente como:
Distancia hasta el
nodo j, desde el
nodo origen.

Nodo
inmediatamente
anterior a j.

ALGORITMO DE FLOYD

ALGORITMO DE FLOYD
El algoritmo de Floyd es ms general que el de Dijkstra, ya que determina la ruta ms corta entre dos nodos
cualquiera de la red.
El algoritmo representa una red de n nodos como una matriz cuadrada de orden n, la llamaremos matriz C.
De esta forma, el valor Cij representa el coste de ir desde el nodo i al nodo j, inicialmente en caso de no
existir un arco entre ambos, el valor Cij ser infinito.
Definiremos otra matriz D, tambin cuadrada de orden n, cuyos elementos van a ser los nodos predecesores
en el camino hacia el nodo origen, es decir, el valor Dij representar el nodo predecesor a j en el camino
mnimo desde i hasta j. Inicialmente se comienza con caminos de longitud 1, por lo que Dij = i.
Las diagonales de ambas matrices representan el coste y el nodo predecesor para ir de un nodo a si mismo,
por lo que no sirven para nada, estarn bloqueadas.
Los pasos a dar en la aplicacin del algoritmo de Floyd son los siguientes:

Formar las matrices iniciales C y D.


1. Se toma k=1.
2. Se selecciona la fila y la columna k de la matriz C y entonces, para i y j, con ik, jk e ij, hacemos:
3. Si (Cik + Ckj) < Cij Dij = Dkj y Cij = Cik + Ckj
En caso contrario, dejamos las matrices como estn.
Si k n, aumentamos k en una unidad y repetimos el paso anterior, en caso contrario paramos las
iteraciones.
La matriz final C contiene los costes ptimos para ir de un vrtice a otro, mientras que la
matriz D contiene los penltimos vrtices de los caminos ptimos que unen dos vrtices, lo cual
permite reconstruir cualquier camino ptimo para ir de un vrtice a otro

EJEMPLO
Aplicar el algoritmo de Floyd sobre el siguiente grafo para obtener las rutas ms cortas entre cada dos nodos.
El arco (3, 5) es direccional, de manera que no est permitido ningn trfico del nodo 5 al nodo 3 . Todos los
dems arcos permiten el trfico en ambas direcciones.

ALGORITMO DE FLOYD

MATRICES INICIALES

TOMAMOS K=1

1
2
3
4
5

MATRIZ C
1 2 3 4
3 10
3
- 5
10 6
5 6
4

15
4
-

1
2
3
4
5

1
2
3
4
5

MATRIZ D
2 3
1 1
2
3
4 4
5 5

4
1
2
3
5

5
1
2
3
4
-

Tomamos i=2 (i k):


j=3 (jk, ji): C[2,1]+C[1,3] = 3+10 = 13 < C[2,3] = , por tanto hacemos:
C[2,3] = 13 y D[2,3] = 1.
j=4 (jk, ji): C[2,1]+C[1,4] = 3+ = , no hay que cambiar nada, no podemos llegar de 2 a 4 a travs de 1.
j=5 (jk, ji): C[2,1]+C[1,5] = 3+ = , no hay que cambiar nada, no podemos llegar de 2 a 5 a travs de 1.
Tomamos i=3 (i k): j=2 (jk, ji): C[3,1]+C[1,2] = 10+3 = 13 < C[3,2] = , por tanto hacemos:
C[3,2] = 13 y D[3,2] = 1.
j=4 (jk, ji): C[3,1]+C[1,4] = 10+ = , no hay que cambiar nada, no podemos llegar de 3 a 4 a travs de 1.
j=5 (jk, ji): C[3,1]+C[1,5] = 10+ = , no hay que cambiar nada, no podemos llegar de 3 a 5 a travs de 1.
Tomamos i=4 (i k):
j=2 (jk, ji): C[4,1]+C[1,2] = +3 = , no hay que cambiar nada, no podemos llegar de 4 a 2 a travs de 1.
j=3 (jk, ji): C[4,1]+C[1,3] = +10 = , no hay que cambiar nada, no podemos llegar de 4 a 3 a travs de 1.
j=5 (jk, ji): C[4,1]+C[1,5] = + = , no hay que cambiar nada, no podemos llegar de 4 a 5 a travs de 1.
Tomamos i=5 (i k), en este caso ocurre como en el paso anterior, como C[5,1]=, entonces no habr ningn cambio, no puede
haber ningn camino desde 5 a travs de 1.

TOMAMOS K=1

1
2
3
4
5

MATRIZ C
1 2 3 4 5
- 3 10
3 - 13 5
10 13 - 6 15
5 6 - 4
4 -

1
2
3
4
5

MATRIZ D
1 2 3 4
- 1 1 1
2 - 1 2
3 1 - 3
4 4 4 5 5 5 5

5
1
2
3
4
-

TOMAMOS K=2
Tomamos i=1:
j=3: C[1,2]+C[2,3] = 3+13 = 16 > C[1,3] = 10 , por tanto no hay que cambiar nada, el camino es
mayor que el existente.
J=4: C[1,2]+C[2,4] = 3+5 = 8 < C[1,4] = , por tanto hacemos:
C[1,4] = 8 y D[1,4] = 2 .
j=5: C[1,2]+C[2,5] = 3+ = , no hay que cambiar nada.
Tomamos i=3:
J=1: C[3,2]+C[2,1] = 13+3 = 16 > C[3,1] = 10, no hay que cambiar nada.
J=4: C[3,2]+C[2,4] = 13+5 = 18 > C[3,4] = 6, no hay que cambiar nada.
j=5: C[3,2]+C[2,5] = 13+ = , no hay que cambiar nada.
Tomamos i=4:
j=1: C[4,2]+C[2,1] = 5+3 = 8 < C[4,1] = , por tanto hacemos:
C[4,1] = 8 y D[4,1] = 2.
j=3: C[4,2]+C[2,3] = 5+13 = 18 > C[4,3] = 6, no hay que cambiar nada.
j=5: C[4,2]+C[2,5] = 5+ = , no hay que cambiar nada.
Tomamos i=5, como C[5,2]=, entonces no habr ningn cambio.

TOMAMOS K=2

1
2
3
4
5

MATRIZ C
1 2 3 4 5
- 3 10 8
3 - 13 5
10 13 - 6 15
8 5 6 - 4
4 -

1
2
3
4
5

MATRIZ D
1 2 3 4
- 1 1 2
2 - 1 2
3 1 - 3
2 4 4 5 5 5 5

5
1
2
3
4
-

TOMAMOS K=3
Tomamos i=1:
j=2: C[1,3]+C[3,2] = 10+13 = 23 > C[1,2] = 3, no hay que cambiar nada.
j=4: C[1,3]+C[3,4] = 10+6 = 16 > C[1,4] = 8, no hay que cambiar nada.
j=5: C[1,3]+C[3,5] = 10+15 = 25 < C[1,5] = , por tanto hacemos:
C[1,5] = 25 y D[1,5] = 3 .
Tomamos i=2:
j=1: C[2,3]+C[3,1] = 13+10 = 23 > C[2,1] = 3, no hay que cambiar nada.
j=4: C[2,3]+C[3,4] = 13+6 = 19 > C[2,4] = 5, no hay que cambiar nada.
j=5: C[2,3]+C[3,5] = 13+15 = 28 < C[2,5] = , por tanto hacemos:
C[2,5] = 28 y D[2,5] = 3.
Tomamos i=4:
j=1: C[4,3]+C[3,1] = 6+10 = 16 > C[4,1] = 8, no hay que cambiar nada.
j=2: C[4,3]+C[3,2] = 6+13 = 19 > C[4,2] = 5, no hay que cambiar nada.
j=5: C[4,3]+C[3,5] = 6+15 = 21 > C[4,5] = 4, no hay que cambiar nada.
Tomamos i=5, como C[5,3]=, entonces no habr ningn cambio.

TOMAMOS K=3

1
2
3
4
5

MATRIZ C
1 2 3 4 5
- 3 10 8 25
3 - 13 5 28
10 13 - 6 15
8 5 6 - 4
4 -

1
2
3
4
5

MATRIZ D
1 2 3 4
- 2 1 2
2 - 1 2
3 1 - 3
2 4 4 5 5 5 5

5
3
3
3
4
-

TOMAMOS K=4
Tomamos i=1:
j=2: C[1,4]+C[4,2] = 8+5 = 13 > C[1,2] = 3, no hay que cambiar nada.
j=3: C[1,4]+C[4,3] = 8+6 = 14 > C[1,3] = 10, no hay que cambiar nada.
j=5: C[1,4]+C[4,5] = 8+4 = 12 < C[1,5] = 25, por tanto hacemos:
C[1,5] = 12 y D[1,5] = 4.
Tomamos i=2:
j=1: C[2,4]+C[4,1] = 5+8 = 13 > C[2,1] = 3, no hay que cambiar nada.
j=3: C[2,4]+C[4,3] = 5+6 = 11 < C[2,3] = 13, por tanto hacemos:
C[2,3] = 11 y D[2,3] = 4.
j=5: C[2,4]+C[4,5] = 5+4 = 9 < C[2,5] = 28, por tanto hacemos:
C[2,5] = 9 y D[2,5] = 4.
Tomamos i=3:
j=1: C[3,4]+C[4,1] = 6+8 = 14 > C[3,1] = 10, no hay que cambiar nada.
j=2: C[3,4]+C[4,2] = 6+5 = 11 < C[3,2] = 13, por tanto hacemos:
C[3,2] = 11 y D[3,2] = 4.
j=5: C[3,4]+C[4,5] = 6+4 = 10 < C[3,5] = 15, por tanto hacemos:
C[3,5] = 10 y D[3,5] = 4.
Tomamos i=5:
j=1: C[5,4]+C[4,1] = 4+8 = 12 < C[5,1] = , por tanto hacemos:
C[5,1] = 12 y D[5,1] = 2 .
j=2: C[5,4]+C[4,2] = 4+5 = 9 < C[5,2] = , por tanto hacemos:
C[5,2] = 9 y D[5,2] = 4.
j=3: C[5,4]+C[4,3] = 4+6 = 10 < C[5,3] = , por tanto hacemos:
C[5,3] = 10 y D[5,3] = 4.
MATRIZ D
MATRIZ C
1 2 3 4 5
1 2 3 4
1 - 3 10 8 12
1 - 1 1 2
TOMAMOS K=4
2 3 - 11 5 9
2 2 - 4 2
3 10 11 - 6 15
3 3 4 - 3
4 8 5 6 - 4
4 2 4 4 5 12 9 10 4 5 2 4 4 5

5
4
4
3
4
-

TOMAMOS K=5
Tomamos i=1:
j=2: C[1,5]+C[5,2]
j=3: C[1,5]+C[5,3]
j=4: C[1,5]+C[5,4]
Tomamos i=2:
j=1: C[2,5]+C[5,1]
j=3: C[2,5]+C[5,3]
j=4: C[2,5]+C[5,4]
Tomamos i=3:
j=1: C[3,5]+C[5,1]
j=2: C[3,5]+C[5,2]
j=4: C[3,5]+C[5,4]
Tomamos i=4:
j=1: C[4,5]+C[5,1]
j=2: C[4,5]+C[5,2]
j=3: C[4,5]+C[5,3]

= 12+9 = 21 > C[1,2] = 3, no hay que cambiar nada.


= 12+10 = 22 > C[1,3] = 10, no hay que cambiar nada.
= 12+4 = 16 > C[1,4] = 8, no hay que cambiar nada.
= 9+12 = 21 > C[2,1] = 3, no hay que cambiar nada.
= 9+10 = 19 > C[2,3] = 11, no hay que cambiar nada.
= 9+4 = 13 > C[2,4] = 5, no hay que cambiar nada.
= 10+12 = 22 > C[3,1] = 10, no hay que cambiar nada.
= 10+9 = 19 > C[3,2] = 11, no hay que cambiar nada.
= 10+4 = 14 > C[3,4] = 6, no hay que cambiar nada.
= 4+12 = 16 > C[4,1] = 8 , no hay que cambiar nada.
= 4+9 = 13 > C[4,2] = 5 , no hay que cambiar nada.
= 4+10 = 14 > C[4,3] = 6, no hay que cambiar nada.

TOMAMOS K=5

1
2
3
4
5

MATRIZ C
1 2 3 4 5
- 3 10 8 12
3 - 11 5 9
10 11 - 6 15
8 5 6 - 4
12 9 10 4 -

1
2
3
4
5

MATRIZ D
1 2 3 4
- 1 1 2
2 - 4 4
3 4 - 4
2 4 4 2 4 4 5

5
4
4
3
4
-

Las matrices finales C y D contienen toda la informacin necesaria para determinar la ruta ms corta entre
dos nodos cualquiera de la red. Por ejemplo, la distancia ms corta del nodo 1 al nodo 5 es C[1,5] = 12.
Para determinar la ruta asociada del camino mnimo entre el nodo 1 y el nodo 5haremos lo siguiente:
Consultamos D[1,5]=4, por tanto el nodo predecesor al 5 es el 4, es decir,4 5.
Consultamos D[1,4]=2, por tanto el nodo predecesor al 4 es el 2, es decir,2 4 5.
Consultamos D[1,2]=1, por tanto el nodo predecesor al 2 es el 1, es decir, 1 2 4 5, y as ya tenemos
la ruta completa.

FLUJO MAXIMO
Problema del Flujo Mximo: En una red con flujo de capacidades en los arcos, el
problema es determinar el flujo mximo posible proveniente de los orgenes de forma tal de
ahogar las capacidades de flujos de los arcos. Considere una red con m nodos y n arcos
con un flujo simple de bienes. Denote el arco de flujo (i a j) como Xij. Asociamos cada arco
a una capacidad de flujo, kij. En esta red, deseamos encontrar el flujo total mximo en la
red, F, del nodo 1 al nodo m.En la formulacin de la programacin lineal, el objetivo es
maximizar F. El monto que parte del origen por varias rutas. Para cada nodo intermedio, lo
que entra debe ser igual a lo sale. En algunas rutas los flujos pueden tomar ambas
direcciones. La capacidad que puede ser enviada a una direccin en particular tambin es
mostrada en cada ruta.

FLUJO MAXIMO
Existe un flujo que viaja desde un nico lugar de origen hacia un nico lugar de destino a travs de arcos
que conectan nodos intermediarios. Los arcos tienen una capacidad mxima de flujo y se trata de enviar
desde la fuente al destino la mayor cantidad posible de flujo

Hay problemas donde lo importante es la cantidad de flujo que pasa a travs de la red como por ejemplo:
en las lneas de oleoductos, redes elctricas o de transmisin de datos. Por esta razn en dichos
problemas se determina el flujo mximo que pasa a travs de una red.

Definiciones bsicas
Flujo: Circulacin de unidades homogneas de un lugar a otro.
Capacidad de flujo: es la capacidad de unidades que pueden entrar por el nodo fuente y salir por el
nodo destino.
Origen o fuente de flujo: nodo por el cual el flujo ingresa.
Destino o Sumidero de flujo: nodo por el cual el flujo sale.
Capacidades residuales: capacidades restantes unas vez que el flujo pasa el arco

METODO DE SOLUCION FLUJO MAXIMO


Ford Fulkerson: Para la resolucin de problemas de flujo mximo se requiere el uso
del mtodo Ford Fulkerson. Este mtodo propone buscar caminos en los que se pueda
aumentar el flujo hasta que se alcance el flujo mximo, la idea es encontrar una ruta de
penetracin con un flujo positivo neto que una los nodos de origen y destino.
1.El flujo es siempre positivo y con unidades enteras.
2.El flujo a travs de un arco es menor o igual que la capacidad.
3.El flujo que entra en un nodo es igual al que sale de l.

Resolucin de problema
Para resolver un problema de flujo mximo se debe seguir los siguientes pasos:
Se identifica el nodo origen y destino.
Se parte desde el nodo de origen y se escoge el arco que posea mayor flujo
Se identifica los nodos de transbordo.
Repetir como si el nodo intermediario fuera el nodo origen.
Se calcula "k" y las capacidades nuevas.
Dado el resultado se cambian las capacidades y se repite el mismo procedimiento desde el
inicio.
Formulario
Cij,ji =(Ci-K, Cj+K), donde:

C: capacidad
Ij: ndices de los nodos
K: es el minimo flujo que pasa por el nodo, se calcula como k= min(capacidades de la ruta).

METODO FORD FULKERSON


Hallar el flujo mximo del siguiente problema:

MTODO FORD FULKERSON


Formulario
Cij,ji =(Ci-K, Cj+K), donde:
C: capacidad
Ij: ndices de los nodos
K: es el minimo flujo que pasa por el nodo, se calcula como k= min(capacidades de
la ruta).
El nodo de origen como se puede observar es el numero 1 de color amarillo, y el nodo de
destino es el numero 5 de color azul.

MTODO FORD FULKERSON

Se escoge desde el nodo de


origen aquel flujo que sea el
mayor, en este caso es 30, y
va dirigido al nodo numero 3.

Se identifica el nodo de
transbordo como [30,1], 30 es la
capacidad, y 1 es el nodo del
cual proviene la capacidad y
luego repetimos todo el proceso,
como si el nodo intermediario
fuese el nodo de origen. Se tiene
como flujo mayor 20 del nodo
numero 3 al nodo numero 5, con
el nodo de transbordo como
[20,5].

MTODO FORD FULKERSON

Ahora que hemos llegado


al nodo de destino,
procedemos a calcular "k"
y las capacidades nuevas.

K=min(,30,20)
K=20
C13,31 =(30-20, 0+20)
C13,31 =(10, 20)
C35,53 =(20-20, 0+20)
C35,53 =(0, 20)
Luego de haber calculado
las nuevas capacidades, es
necesario reemplazarlas.

MTODO FORD FULKERSON


Se realiza el proceso otra vez, haciendo la ruta con los mayores flujos.
K=min(,20,40,10,20)
K=10
C12,21 =(20-10, 0+10)
C12,21 =(10, 10)
C23,32 =(40-10, 0+10)
C23,32 =(30, 10)
C34,43 =(10-10, 5+10)
C34,43 =(0, 15)
C45,54 =(20-10, 0+10)
C45,54 =(10, 10)

Volvemos a hacer el proceso y escogemos el camino


1,2. Como se puede observar si se tomara rumbo del
nodo 2 al nodo 3 terminara trancado, obligndose a
volver al nodo origen, por lo que se toma el camino
2,5.
K=min(,10,20)
K=10
C12,21 =(10-10, 10+10)
C12,21 =(0, 20)
C25,52 =(20-10, 0+10)
C25,52 =(10, 10)

MTODO FORD FULKERSON


Se actualizan las capacidades y procedemos a resolver de
nuevo. Esta vez agarraremos el camino de 1,3.
K=min(,10,10,10)
K=10
C13,31 =(10-10, 20+10)
C13,31 =(0, 30)

C32,23 =(10-10, 30+10)


C32,23 =(0, 40)
C25,52 =(10-10, 10+10)
C25,52 =(0, 20)

Y por ultimo escogemos el camino 1,4


K=min(,10,10)
K=10
C14,41 =(10-10, 0+10)
C14,41 =(0, 10)
C45,54 =(10-10, 10+10)
C45,54 =(0, 20)

MTODO FORD FULKERSON


Y por ultimo escogemos el camino 1,4
Reemplazando las nuevas capacidades, nos queda de la siguiente forma,
las
capacidades del nodo de origen quedan como 0, por lo cual seguimos a sumar a todas las
K y ahi conseguimos el flujo mximo.

Flujo Mximo = K
Flujo Mximo = 20+10+10+10+10
Flujo Mximo = 60
El flujo mximo que puede pasar del nodo origen 1 hasta el nodo destino es de 60.

PROBLEMA DE AGENTE VIAJERO TSP


Traveling Salesman Problem
El problema del agente viajero o TSP por sus siglas en ingls (Travelling
Salesmen Problem) es uno de los problemas ms famosos y complejos de
las ciencias computacionales y ha sido abordado por varias ramas de la
ingeniera y por distintas razones, su principal aplicacin es la de ratear desde
distintas perspectivas, ya sea un proceso que lleva una secuencia especfica o
una distribucin de carcter logstico en la que intervienen elementos del
transporte buscando la mejor ruta posible con criterios de
Economa en distancia o en costo.

Proveer soluciones contribuye a mejorar tareas y procesos en distintos mbitos,


cientficos e industriales, proponiendo alternativas para el mejor uso de los
recursos. Disciplinas que abordan este tema son la investigacin de operaciones
y las ciencias informticas como algoritmia y teora de grafos

El TSP se describe como: un agente viajero desea programar visitas a sus


clientes en diferentes ciudades, por lo que desea viajar lomnimo posible. As,
se encuentra en el problema de determinar una ruta que minimice la distancia
total (o bien tiempo o costo) necesaria para visitar todas las ciudades en su
zona.

A las ciudades o a los puntos de partida y llegadas se les llama nodos y los
caminos entre ellos se llama arcos. Existen arcos dirigido y no dirigidos los
arcos dirigidos solo pueden ir desde el arco inicial al arco terminal, es como
una calle con un solo sentido, si el arco es no dirigido significa que se puede
recorrer en doble sentido.
En estos problemas se construye una ruta de costo mnimo en los cuales
cada cliente, ciudades o nodos pasen por lo dems nodos exactamente una
vez, es decir:
Sea Ci j el costo del viaje desde la ciudad i hasta la ciudad j.
Construir una ruta de costo mnimo que visite a cada
ciudad
exactamente una vez.
Si Ci j = Cj i para todas la ciudades, entonces el problema
es
simtrico.
Si Ci j Cj i para algn par de ciudades, entonces el problema es

asimtrico.

You might also like