Está en la página 1de 25

 Problema de la ruta más corta

Podemos decir que el problema o algoritmo de la ruta más corta es una


popularización del problema del flujo del costo mínimo, una variación de los modelos
generales de flujos. Cuando nos referimos al costo mínimo, este en realidad puede
expresarse en diversas magnitudes: distancia, tiempo, volumen, y en general, cual
cualquier unidad que represente el caso de estudio.
En el problema del flujo de costo mínimo, cada arco de la red tiene un costo asociado
a transportar unidades a través de él, es decir, por ejemplo, que el arco que une a los
nodos 0 y 1, tiene un costo subyacente a su transporte, en los términos que
representen mejor al modelo. Además del costo, cada arco debe considerar una
capacidad de transporte.

Del mismo modo, debe considerarse que en este problema los nodos tienen una
naturaleza, y existen algunos nodos especiales:

 nodos de oferta: puntos desde los cuales se suministran unidades de flujo


(fuentes)
 nodos de demanda: puntos hacia los cuales se llevan unidades de flujo para
su consumo, sumidero o hundimiento (destinos)
 nodos neutrales: puntos a través de los cuales pasan unidades de flujo, no
genera nuevas unidades, no consume unidades, son puntos de tránsito.
En el anterior gráfico se puede apreciar una representación básica de lo que sería la
naturaleza de los nodos aplicada a un caso común: una planta que produce material, lo
envía hacia algunos centros de distribución o consolidación y un cliente, lugar que
representa el destino final del material. Claramente pueden apreciarse cuales son los
nodos de oferta, de demanda y de tránsito. Ahora bien, es posible que en la práctica
existan múltiples nodos de oferta y múltiples nodos de demanda, del mismo modo, es
posible que los nodos de tránsito también suministren o consuman unidades, lo que
los convertiría en nodos mixtos, y lo que podría representar múltiples casos prácticos,
por ejemplo: un centro de distribución ubicado en una planta, el cual recibe unidades
para consumo interno y despacha excedentes hacia otros centros o clientes.

Problema de la ruta más corta


Tal como se mencionó en la introducción del artículo, el problema de la ruta más corta
puede abordarse desde la perspectiva del problema del flujo de costo mínimo, en el
cual el objetivo consiste en determinar el plan de rutas que genere la trayectoria con la
mínima distancia total, que una un nodo fuente (puro) con un nodo destino (puro), sin
importar el número de nodos que existan entre estos.
Así entonces, en su versión más básica, el flujo y la capacidad de los arcos puede
reducirse a la unidad (1), asumiendo que no se transportan materiales y que el único
objetivo que se persigue consiste en determinar la ruta más corta que une a un nodo
fuente con un nodo destino. Dicho de otro modo, el nodo fuente produce una unidad
que es transportada por medio de arcos con capacidad de unidad y se consume en la
medida de una unidad en el nodo destino.

Es preciso reiterar que cuando nos referimos distancia nos ajustamos al nombre del
algoritmo «la ruta más corta», sin embargo, lo que se considera distancia, bien puede
expresarse en otras unidades de medida, por ejemplo: costo.

El problema de la ruta más corta es uno de los problemas más importantes de optimización
combinatoria con muchas aplicaciones, tanto directas como subrutinas en otros algoritmos de
optimización combinatoria. Los algoritmos para este tipo de problemas han sido estudiados desde
la década de los 50’s y continúan siendo un área activa de investigación. De hecho, ha sido el
objetivo de una investigación extensiva durante muchos años y ha dado como resultado la
publicación de un gran número de documentos científicos.

Encontrar la ruta más corta entre dos nodos de una red, en la cual cada arco tiene un costo (o
longitud) no negativo es un problema que a menudo se presenta en cierto tipo de actividades. El
objetivo es minimizar el costo (tiempo o longitud) total.

El problema de la Ruta más Corta es fundamental en muchas áreas, como son: investigación de
operaciones, ciencia de la computación e ingeniería. Algunas de las razones son:

1.- La amplia variedad de aplicaciones prácticas como es el envío de algún material entre dos
puntos específicos de la forma más eficiente, económica o rápida.

2.- Existen métodos de solución eficientes, los cuales al ser aplicados a una red con características
específicas (acíclica y con costos no negativos), proveen una solución exacta a un tiempo y costo
razonables.

3.- Se puede utilizar como inicio en el estudio de modelos complejos de redes, esto es, cuando no
se conoce la estructura de la red se pueden aplicar algoritmos para conocer algunas características
de la red (presencia de ciclos negativos).

4.- Se utiliza frecuentemente como subproblemas (subrutinas) en la solución de problemas


combinatorios y redes, así en el caso de problemas para los cuales no existe un algoritmo de
solución exacto (p. e. problemas NP-completos), la aplicación de algoritmos de ruta más corta,
resultan auxiliares para encontrar una buena solución.
Aplicaciones

El problema de ruta más corta tiene muchas aplicaciones prácticas, algunas son: encontrar la ruta
más corta o más rápida entre dos puntos en un mapa, redes eléctricas, telecomunicaciones,
transporte, planeación de tráfico urbano, trasbordo, diseño de rutas de vehículos, planeación de
inventarios, administración de proyectos, planeación de producción, horarios de operadores
telefónicos, diseño de movimiento en robótica, redes de colaboración entre científicos, reemplazo
de equipo, etc. Además, como se mencionó anteriormente los algoritmos de solución pueden
adaptarse en la búsqueda inicial de una solución aproximada de problemas complejos, esto
significa que la aplicación consiste precisamente en proveer estructura para varios problemas de
optimización combinatoria como: el problema de la mochila, secuencia de alineación en biología
molecular (secuenciación del ADN), el problema del agente viajero, etc.

1. Planteamiento del problema.

La empresa industrial X dispone de líneas de producción, área de almacén, departamentos de


gerencia, recursos humanos, baños, comedor y estacionamiento por lo se requiere realizar un
plan de contingencia en caso de incendio, derrame de químicos y/o algún evento que altere la
seguridad de la empresa.

Motivo por el cual se necesita realizar un estudio de como evacuar al personal que labore
dentro de la empresa y reubicarlo en puntos de reunión, estableciendo la manera de realizarlo
lo más dinámico posible y con menor distancia.

Se analizara la evacuación de la zona EPA (equipo de protección anti estática), localizada en el


recuadro de color azul, las flechas azules indican las tres probables rutas de evacuación, en
este ejercicio se encontrara la manera más factible para evacuar al personal, los recuadros
rojos indican la ubicación de la línea además de representar un peligro de conato de incendio.

EMPRESA
2. Modelo matemático.

LÍNEA O DEPARTAMENTO LÍNEA O DEPARTAMENTO DISTANCIA (M)

GAWAGI (1) SMT (2) 5

SMT (2) SUB-ENSAMBLES (3) 4

SUB-ENSAMBLES (3) GLKWIP (4) 6

GLKWIP (4) ORIZON (5) 4

ORIZON (5) TESO (6) 5

TESO (6) CRIMPEO (7) 12

CRIMPEO (7) DÁMPER (8) 3

DÁMPER (8) PRUEBAS DE VIDA A,B (9) 10

PRUEBAS DE VIDA A,B (9) REINGENIERÍA (10) 5

REINGENIERÍA (10) RECURSOS HUMANOS (11) 12

GERENCIAS A,B,C,D (18) PUNTO DE REUNIÓN 50

3. Solución gráfica.
En la siguiente tabla se muestra como se relacionan las líneas de producción con las
salidas de evacuación. Al iniciar (star node) el nodo este indica hacia donde es su dirección
y con quien se relaciona (end node).

4. Análisis e interpretación de resultados.


La manera adecuada de realizar la evacuación del personal en el área de producción EPA
es la siguiente:
 Conducir al personal de la línea GAWAGI con dirección a la línea MOHICA.
 Partir de la línea SMT hacia la línea GAWAGI para finalizar evacuando en la SALIDA
B.

El análisis nos permitió realizar el recorrido a la ruta de evacuación más cercana la cual
es la SALIDA B con un total de 17 metros que involucra que las 7 líneas de producción
dentro del departamento EPA realicen la evacuación de la manera más rápida posible
sin necesidad de utilizar las otras dos rutas de evacuación existentes, SALIDA A y
SALIDA C.

5. Conclusiones.

Usar la técnica de la ruta más corta nos proporciona la manera adecuada para realizar un
recorrido de un punto de origen a un destino minimizando el recorrido de manera que nos
tome menos tiempo el llegar a nuestro origen.

En el ejercicio anterior el tiempo es vital al momento de evacuar al personal, debido a que si


se encuentra en una situación que atente contra su seguridad, la evacuación rápida y sin
demoras significa la diferencia entre un accidente, lesión y la preservación de la integridad del
trabajador.

La metodología es informar al personal la ruta que tienen que seguir en caso de algún
incidente relacionado con su seguridad.
 Problema de árbol de mínima expansión
 Árbol: Es un grafo en el que existe un único nodo desde el que se puede acceder a todos los
demás y cada nodo tiene un único predecesor, excepto el primero, que no tiene ninguno.
También podemos definir un árbol como:
o Un grafo conexo y sin ciclos.
o Un grafo sin ciclos y con n-1 aristas, siendo n el número de vértices.

 Grado de un nodo en un árbol es el número de subárboles de aquel nodo (en el ejemplo, el


grado de v1 es 2 y de v2 1).
 Denominamos hojas en un árbol a los nodos finales (v3,  v5 y v6).
 Un árbol de máximo alcance es aquel que obtenemos en un grafo conexo y sin ciclos.
 Árbol de mínima expansión: Árbol de máximo alcance cuyo valor es mínimo, es decir, la
suma de sus aristas es mínima.

 
ALGORITMO DE KRUSKAL
 El algoritmo de Kruskal permite hallar el árbol minimal de cualquier grafo valorado (con
capacidades). Hay que seguir los siguientes pasos:

1. Se marca la arista con menor valor. Si hay más de una, se elige cualquiera de ellas.
2. De las aristas restantes, se marca la que tenga menor valor, si hay más de una, se elige
cualquiera de ellas.
3. Repetir el paso 2 siempre que la arista elegida no forme un ciclo con las ya marcadas.
4. El proceso termina cuando tenemos todos los nodos del grafo en alguna de las aristas
marcadas, es decir, cuando tenemos marcados n-1  arcos, siendo n el número de nodos del
grafo.

Ejemplo: Determinar el árbol de mínima expansión para el siguiente grafo:

 
Siguiendo el algoritmo de Kruskal, tenemos:

 Elegimos, por ejemplo, la arista (5, 6)  = 1 (menor valor) y la marcamos.


 Elegimos la siguiente arista con menor valor (1, 3) = 1  y la marcamos.
 Elegimos la siguiente arista con menor valor (5, 7) = 2  y la marcamos, ya que no forma
ciclos con ninguna arista de las marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (1, 2) = 3  y la marcamos, ya que no forma
ciclos con ninguna arista de las marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (6, 7) = 4  y la desechamos, ya que forma ciclos
con las aristas (5, 7) y (5, 6) marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (2, 5) = 5  y la marcamos, ya que no forma
ciclos con ninguna arista de las marcadas anteriormente.
 Elegimos la siguiente arista con menor valor (4, 5) = 6  y la marcamos, ya que no forma
ciclos con ninguna arista de las marcadas anteriormente.
 FIN. Finalizamos dado que los 7 nodos del grafo están en alguna de las aristas, o también ya
que tenemos marcadas 6 aristas (n-1).
 Por tanto el árbol de mínima expansión resultante sería:

 
  
ALGORITMO DE PRIM
El algoritmo de Prim permite hallar el árbol minimal de cualquier grafo valorado (con
capacidades). Hay que seguir los siguientes pasos:

1. Se marca un nodo cualquiera, será el nodo de partida.


2. Seleccionamos la arista de menor valor incidente en el nodo marcado anteriormente, y
marcamos el otro nodo en el que incide.
3. Repetir el paso 2 siempre que la arista elegida enlace un nodo marcado y otro que no lo
esté.
4. El proceso termina cuando tenemos todos los nodos del grafo marcados.

Ejemplo: Determinar el árbol de mínima expansión para el siguiente grafo:


 

 
 
Siguiendo el algoritmo de Prim, tenemos:

 Elegimos, por ejemplo, el nodo  1 y lo marcamos.


 Elegimos la arista con menor valor incidente en  1,  la  (1, 3) = 1  la marcamos y marcamos el
otro nodo en el que incide, el 3.
 Elegimos la arista con menor valor incidente en un nodo marcado y otro que no lo esté,
la (1, 2)  = 3  la marcamos y marcamos el nodo no marcado, el 2.
 Elegimos la arista con menor valor incidente en un nodo marcado y otro que no lo esté,
la (2, 5)  = 5  la marcamos y marcamos el nodo no marcado, el 5.
 Elegimos la arista con menor valor incidente en un nodo marcado y otro que no lo esté,
la (5, 6)  = 1  la marcamos y marcamos el nodo no marcado, el 6.
 Elegimos la arista con menor valor incidente en un nodo marcado y otro que no lo esté,
la (5, 7)  = 2  la marcamos y marcamos el nodo no marcado, el 7.
 Elegimos la arista con menor valor incidente en un nodo marcado y otro que no lo esté,
la (5, 4)  = 6  la marcamos y marcamos el nodo no marcado, el 4.
 FIN. Finalizamos dado que tenemos marcados los 7 nodos del grafo.
 Por tanto el árbol de mínima expansión resultante sería:

La modelación de redes permite la resolución de múltiples problemas de programación


matemática mediante la implementación de algoritmos especiales creados para tal fin,
conocidos como Algoritmos de optimización de redes. Dentro de los problemas más
comúnmente resueltos mediante la modelación de redes se encuentran los ya vistos
modelos de transporte, transbordo además de los muy conocidos modelos de
determinación de cronograma de actividades para proyectos como lo son el PERT y el
CPM.
El algoritmo de árbol de expansión mínima enlaza los nodos de una red, en forma directa
o indirecta, con la mínima longitud de las ramas enlazantes. Una aplicación característica
es en la construcción de carreteras pavimentadas que unen varias poblaciones. El camino
entre dos
poblaciones puede pasar por uno o más poblaciones adicionales. El diseño más económico
del sistema de caminos indica que se minimice la distancia total de caminos
pavimentados, resultado que se obtiene implementando el algoritmo de árbol de
expansión mínima.
Los pasos del procedimiento son los siguientes. Sea N . {1, 2, ..., n} el conjunto de nodos de
la red, y se definen.

 Problema de flujo máximo

INTRODUCCIÓN
El flujo máximo es un método aplicable para la optimización de rutas
entre dos puntos de importancia, esto es aplicable a oleoductos,
redes eléctricas o de transmisión de datos, ya que en dichas
situaciones se debe determinar el flujo máximo que pasa a través de
una red, aspectos más cercanos es la repartición de recursos con el
fin de maximizar la eficacia en su uso, por ejemplo si tenemos
ingenieros y su repartición en las tareas durante un mes, el flujo
máximo es uno de los métodos que se emplea dentro de la ingeniería
industrial haciendo uso de los digrafos (grafos dirigidos).

ALGORITMO
Este algoritmo  se basa en el hallazgo de rutas de avance con flujo
positivo entre los nodos fuente y sumidero. Cada ruta destina una
parte de o todas las capacidades de sus arcos al flujo total en la red.
Consideramos el arco (i,j) con las capacidades bidireccionales ( de
diseño):

Capacidad de diseño

Como algunas partes de estas capacidades se destinan al flujo en el


arco, los residuos (capacidades no utilizadas, o flujo remanente)
del arco se actualizan. Se usa para los residuos la notación:

Capacidad Residual

Para un nodo J que recibe flujo del nodo I, anexamos la etiqueta


[Aj,i] donde Aj es el flujo del nodo I al nodo J.
 Paso 1: Para todos los arcos, iguale la capacidad residual a
la capacidad de diseño, entonces:

Sea:
Etiquetando entonces al nodo fuente con:

 Paso 2: Determinar Si, el conjunto de nodos no


etiquetados J al que se puede llegar directamente desde I
por medio de arcos con residuos positivos ( es
decir Cij>0 para todas las J que pertenecen a Si). Si  Si  es
diferente al vacío, se continua con el paso 3. De lo
contrario, una ruta parcial termina en el nodo i. Continúe
con el paso 4.
 Paso 3: Determine k que pertenece a Si de modo que:

Donde j pertenece a Si.


 Paso 4: (Retroceso) – Si i=1, no es posible avanzar;
continúe con el paso 6. De lo contrario, sea r el nodo (en la
ruta parcial) que se etiquetó inmediatamente antes del
nodo actual i, y elimine i del conjunto de nodos adyacentes
a r. Designe i=r, y regrese al paso 2.
 Paso 5: (Determinación de los residuos) – Defina los
nodos de la ruta de avance p-ésima del nodo 1 al nodo n
como Np=(1,k1,k2, …,n). Entonces el flujo máximo a lo
largo de la ruta se calcula como:

fp=min{a1,ak1,ak2,..,an}

La capacidad residual de cada arco a lo largo de la ruta de avance se


reduce en fp en la dirección del flujo, y se incrementa en fp en la
dirección inversa; es decir, para los nodos i y j en la ruta, el flujo
residual cambia del actual (cij,cji) a:
(a) (cij-fp,cji+fp) si el flujo es de i a j

(b) (cij+fp,cn+fp) si el flujo es de j a i

Restaure los nodos que se eliminaron en el paso 4. Designe i=1, y


regrese al paso 2.

Paso 6: (Solución) – dado que se determinaron m rutas de


avance, el flujo máximo en la red es:

F=f1+f2+ … + fm

EJEMPLO
Determinemos el flujo máximo de:

Iteración 1

Iguale los residuos iniciales  a las capacidades iniciales

Paso 1: Establezca a1 igual a infinito y etiquete el nodo 1 con [∞,-].


Establezca  i=1

 
Paso 2: Hallamos el conjunto S1 de nodos que no están etiquetados y
que se pueden unir directamente con i=1, desde el nodo 1 nos
podemos conectar a 2, 4 y 3, entonces:

S1={2,3,4} (≠∅)

Paso 3: Determina k ∈ S1 de modo que cik=max{cij} tal que  j ∈ S1 .


Es decir del conjunto debemos hallar el valor máximo de
[ c12,c13,c14]=[10,30,20], entonces  30 es el máximo y en consecuencia
k=3 quedando c13=max[c12,c13,c14], etiquetamos el nodo 3 con la
etiqueta [30,1] y hacemos i=3 y repetimos el paso 2.
Paso 2: Ya que nuestro nuevo i=3, entonces debemos de hallar
todos los nodos no etiquetados y que se pueden unir al nodo 3
directamente, entonces:

S3={4,5} (≠∅)

Paso 3: Debemos hallar el k en S3 de modo que Cjk sea máximo, y tal


como vemos el máximo flujo es 20, entonces k=5.
Paso 5: La ruta de avance se determina a partir de las etiquetas
iniciando en el nodo 5 y regresando al nodo 1; es decir (5)->[20,3]-
>(3)->[30,1]->(1). De este modo N1=[1,3,5] y
f1=min{a1,a3,a5}={∞,30,20}=20. Si sabemos que:

(a) (cij-fp,cji+fp) si el flujo es de i a j.

(b) (cij+fp,cn+fp) si el flujo es de j a i.

Las capacidades residuales a lo largo de la ruta N1 son:

(c13,c31)=(30-20,0+20)=(10,20)

(c35,c53)=(20-20,0+20)=(0,20)

Quedando de la siguiente forma:

Iteración 2

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca 


i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún desde el nodo 1 se puede conectar a los demás nodos,


entonces el conjunto S1={2,3,4}.
Paso 3: Determina k ∈ S1 de modo que cik=max{cij} tal que  j ∈ S1 .
Entonces el máximo es c12=20.

Paso 2: El nuevo i=2 y los que se conectan directamente son:


S2={3,5}

Paso 3: El cik máximo es a3=c23=40, entonces k=3 y etiquetamos el


nodo 3 con [40,2], y repetimos el Paso 2.
Paso 2: El nuevo i=3 y los que se conectan directamente son:
S3={4,5}.

Paso 3: El cik máximo es a4=c34=10, entonces k=4 y etiquetamos el


nodo 4 con [10,3], y repetimos el Paso 2.

Paso 2: El nuevo i=4 y los que se conectan directamente son:


S4={5}.

Paso 3:El cik máximo es a5=c45=20, entonces k=5 y etiquetamos el


nodo 5 con [20,4] y se completó una ruta de avance.
Paso 5: La ruta de avance se determina a partir de las etiquetas
iniciando en el nodo 5 y regresando al nodo 1; es decir (5)->[20,4]-
>(4)->[10,3]->(3)->[40,2]->(2)->[20,1]->1. De este modo
N1=[1,2,3,4,5] y f2=min{a1,a2,a3,a4,a5}={∞,20,40,10,20}=10. Si
sabemos que:

(a) (cij-fp,cji+fp) si el flujo es de i a j.

(b) (cij+fp,cn+fp) si el flujo es de j a i.

Las capacidades residuales a lo largo de la ruta N1 son:

(c12,c21)=(20-10,0+10)=(10,10)

(c23,c32)=(40-10,0+10)=(30,10)

(c34,c43)=(10-10,5+10)=(0,15)

(c45,c54)=(20-10,0+10)=(10,10)

Quedando de la siguiente forma:


Hemos realizado 2 iteraciones al detalle, para entender como
procede el algoritmo, ahora seguiremos con las demás iteraciones de
forma descriptiva y dejaremos la red resultante al final de cada una
de las iteraciones.

Iteración 3

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca 


i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún desde el nodo 1 se puede conectar a los demás nodos,


entonces el conjunto S1={2,3,4}.

Paso 3: Determina k ∈ S1 de modo que cik=max{cij} tal que  j ∈ S1 ,


vemos que tenemos un empate, entonces los empates se pueden
romper de forma arbitraria; sin embargo, se estila elegir el de menor
índice, por lo cual elegimos el nodo 2. El máximo es c 12=10 y
etiquetamos al nodo 2 con [10,1]. Ahora hacemos i=2 y repetimos el
paso 2.

Paso 2: Con i=2, entonces S2={3,5},


Paso 3: También existe un empate, tomamos el menor índice en
este caso k=3 u a23=30. Etiquetamos el nodo con [30,2]. Se establece
i=3, y se repite el paso 2.

Paso 2: Para S3={∅} ya que c34=0 y c35=0, esto nos obliga ir al paso 4
para retroceder.

Paso 4: La etiqueta [30,2] que está en el nodo 3 se elimina y r=2 es


decir nos dirigimos hacia el nodo anterior y se repite el paso 2 sin
considerar ya el nodo 3.

Paso 2: S2={5} (se ve que se eliminó al nodo 3).

Paso 3: Como S2 solo tiene un elemento, entonces k=5, c25=30, se


etiqueta el nodo 5 con [30,2]. Se logra una ruta de avance y se pasa al
paso 5.

Paso 5: N3=[1,2,5] y  f3=min{∞,10,30)=10. Los residuos de la ruta


son:

(c12,c21)=(10-10,10+10)=(0,20)

(c25,c52)=(30-10,0+10)=(20,10)

Quedando de la siguiente forma:


Iteración 4

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca 


i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún desde el nodo 1 se puede conectar a los demás nodos,


entonces el conjunto S1={3,4}.

Paso 3: Determina k ∈ S1 de modo que cik=max{cij} tal que  j ∈ S1 ,


vemos que tenemos un empate, entonces los empates se pueden
romper de forma arbitraria; sin embargo, se estila elegir el de menor
índice, por lo cual elegimos el nodo 3. El máximo es c 13=10 y
etiquetamos al nodo 3 con [10,1]. Ahora hacemos i=3 y repetimos el
paso 2.

Paso 2: Con i=3, entonces S3={2}.

Paso 3: Como S3 solo tiene un elemento, entonces k=2, c32=10, se


etiqueta el nodo 2 con [10,3]. Se logra una ruta de avance y se pasa al
paso 2.

Paso 2: Con i=2, entonces S2={5}.

Paso 3: Como S2 solo tiene un elemento, entonces k=5, c25=20, se


etiqueta el nodo 5 con [20,2]. Se obtiene una ruta de avance y se pasa
al paso 5.

Paso 5: N3=[1,3,2,5] y  f4=min{∞,10,20)=10. Los residuos de la ruta


son:

(c13,c31)=(10-10,20+10)=(0,30)

(c32,c23)=(10-10,30+10)=(0,40)

(c25,c52)=(20-10,10+10)=(10,20)

Quedando de la siguiente forma:


Iteración 5

Paso 1: Establezca a1 =∞ y etiquete el nodo 1 con [∞,-]. Establezca 


i=1. Idéntico al paso 1 de la iteración 1.

Paso 2: Aún  nos queda una ruta de avance desde el nodo 1 al nodo
4, entonces el conjunto S1={4}.

Paso 3: Determina k ∈ S1 de modo que cik=max{cij} tal que  j ∈ S1 ,


al ser un único nodo entonces k=4, c14=10, etiquetamos el nodo 4 con
[10,1] y pasamos al paso 2.

Paso 2: Desde el nodo 4 tenemos S4={3,5}

Paso 3: el cik máximo es k=3 y etiquetamos el nodo 3 con [15,4],


establecemos i=3 y pasamos al nodo 2.

Paso 2: Para S3={∅} ya que c35=0 y c32=0, esto nos obliga ir al paso 4
para retroceder.

Paso 4: La etiqueta [15,4] que está en el nodo 3 se elimina y r=4 es


decir nos dirigimos hacia el nodo anterior y se repite el paso 2 sin
considerar ya el nodo 3.
Paso 2: Desde el nodo 4 tenemos S4={5} (ya no contamos con el
nodo 3), entonces i=5.

Paso 3: El máximo es C45=10, y agregamos la etiqueta en le nodo 5


de [10,4], hemos obtenido una ruta de avance y pasamos al paso 5.

Paso 5: N4=[1,4,5] y  f5=min{∞,15,10)=10. Los residuos de la ruta


son:

(c14,c41)=(10-10,0+10)=(0,10)

(c45,c54)=(10-10,10+10)=(0,20)

Quedando de la siguiente forma:

Iteración 6

Todos los arcos que parten del nodo 1 tienen residuos cero. Por lo
tanto, no son posibles más rutas de avance. Se procede al paso 6 para
la resolución:

Paso 6: El flujo máximo (F) será: F=f1+f2+ … +


f5=20+10+10+10+10=60 unidades.

También podría gustarte