desarrollo - transporte

26
3 TRANSPORTE El modelo de transporte es una clase especial de programación lineal que tiene que ver con transportar un artículo desde sus fuentes (es decir, fábricas) hasta sus destinos (es decir, bodegas). El objetico es determinar el programa de transporte que minimice el costo total de transporte y que al mismo tiempo satisfaga los límites de la oferta y la demanda. En el modelo se supone que el costo del transporte es proporcional a la cantidad de unidades transportada en determinada ruta. En general, se puede ampliar el modelo de transporte a otras aéreas de operación, entre otras, el control de inventarios, programación de empleos y asignación de personal. Aunque el modelo de transporte se puede resolver como una programación lineal normal, su estructura especial permite desarrollar un algoritmo de cómputo, basado en el simplex, que usa relación primal-dual para simplificar los cálculos. FORMULACIÓN DEL MODELO DE TRANSPORTE El problema general se presenta en la red de la página siguiente. Hay m fuentes y n destinos, cada fuente y cada destino representados por un nodo. Los arcos representan las rutas que enlazan las fuentes y los destinos. El arco (i, j) que une a la fuente i con el destino j, conduce dos clases de información: el costo de transporte c ij por unidad, y la cantidad transportada x ij . La cantidad de oferta en la fuente i es a i , y la cantidad de demanda en el destino j es b j . El objetivo del modelo es determinar las incógnitas x ij que minimicen el costo total de transporte y que al mismo tiempo satisfagan las restricciones de oferta y demanda. Ejemplo 1: MG Auto, tiene tres plantas: en los Ángeles, Detroit y New Orleans; y dos centros principales de distribución de Denver y Miami. Las capacidades de las tres plantas durante el próximo trimestre serán 1000, 1500 y 2000

Upload: genesis-gabriella

Post on 04-Jul-2015

189 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Desarrollo - Transporte

3

TRANSPORTE

El modelo de transporte es una clase especial de programación lineal que tiene

que ver con transportar un artículo desde sus fuentes (es decir, fábricas) hasta sus

destinos (es decir, bodegas). El objetico es determinar el programa de transporte que

minimice el costo total de transporte y que al mismo tiempo satisfaga los límites de la

oferta y la demanda. En el modelo se supone que el costo del transporte es

proporcional a la cantidad de unidades transportada en determinada ruta. En general,

se puede ampliar el modelo de transporte a otras aéreas de operación, entre otras, el

control de inventarios, programación de empleos y asignación de personal.

Aunque el modelo de transporte se puede resolver como una programación

lineal normal, su estructura especial permite desarrollar un algoritmo de cómputo,

basado en el simplex, que usa relación primal-dual para simplificar los cálculos.

FORMULACIÓN DEL MODELO DE TRANSPORTE

El problema general se presenta en la red de la página siguiente. Hay m

fuentes y n destinos, cada fuente y cada destino representados por un nodo. Los arcos

representan las rutas que enlazan las fuentes y los destinos. El arco (i, j) que une a la

fuente i con el destino j, conduce dos clases de información: el costo de transporte cij

por unidad, y la cantidad transportada xij. La cantidad de oferta en la fuente i es ai, y

la cantidad de demanda en el destino j es bj. El objetivo del modelo es determinar las

incógnitas xij que minimicen el costo total de transporte y que al mismo tiempo

satisfagan las restricciones de oferta y demanda.

Ejemplo 1: MG Auto, tiene tres plantas: en los Ángeles, Detroit y New

Orleans; y dos centros principales de distribución de Denver y Miami. Las

capacidades de las tres plantas durante el próximo trimestre serán 1000, 1500 y 2000

Page 2: Desarrollo - Transporte

4

autos. Las demandas trimestrales en los centros de distribución son 2300 y 1400

autos.

El kilometraje entre las fábricas y los centros de distribución se ve en la siguiente

tabla:

La empresa transportista cobra 8 centavos por milla y por auto. El costo del transporte

por auto, en las distintas rutas y redondeando hasta el $ más próximo, se calcula

como se ve en la siguiente tabla:

Page 3: Desarrollo - Transporte

5

El modelo de programación lineal para el problema es el siguiente:

Minimizar z = 80x11 + 215x12 + 100x21 + 108x22x + 102x31 + 68x32

Sujeto a:

Todas estas restricciones son ecuaciones, porque el abasto total de las tres fuentes

(=1000 + 1500 + 1200 = 3700 autos) es igual a la demanda tota en los dos destinos

(=2300 + 1400 = 3700 autos).

Solución Óptima del modelo de MG Auto

La figura de arriba es la solución optima del modelo de MG Autos, indican

que manden 100 autos de Los Ángeles a Denver, 1300 de Detroit a Denver, 200

Detroit a Miami y 1200 de New Orleans a Miami. El costo mínimo de transporte

asociado es: 1000 x $80 + 1300 x $100 + 200 x $108 + 1200 x $68 = $313.200

Page 4: Desarrollo - Transporte

6

El algoritmo de transporte se basa en que el modelo está balanceado y eso

quiere decir que la demanda total es igual a la oferta total. Si el modelo está

desbalanceado siempre se podrá aumentar con una fuente ficticia o un destino ficticio

para restaurar el equilibrio o balance.

MATRIZ DE INCIDENCIA

La matriz de incidencia es una matriz binaria (sus elementos sólo pueden ser

unos o ceros), que se utiliza como una forma de representar relaciones binarias.

Construcción de la matriz a partir de un grafo:

1. Las columnas de la matriz representan las aristas del grafo.

2. Las filas representan a los distintos nodos.

3. Por cada nodo unido por una arista, ponemos un uno (1) en el lugar

correspondiente, y llenamos el resto de las ubicaciones con ceros (0).

NODOS ARCO

Almacenamiento de la conectividad nodo-arco.

El objetivo es conseguir una estructura que almacene la siguiente información:

{Id de nodo,{Id de arcos que conectan con el nodo}} [1]

Page 5: Desarrollo - Transporte

7

Además, los identificadores de los arcos que conectan con los nodos se escriben sin

signo si el arco parte del nodo y con signo negativo si el arco llega al nodo.

En el siguiente proceso, se toma la lista de identificadores de arcos y se ordena en

orden ascendente según su acimut, tomando como centro el nodo en cuestión. De esta

manera volvemos a tener la misma estructura pero de la manera siguiente:

{Id de nodo, {Id de arcos conectados ordenados por acimut ascendente}} [2]

Esta es la estructura de base que se va a utilizar para el cálculo de cada uno de los

polígonos

Ejemplo

Para aclarar dudas al respecto de la metodología empleada y facilitar el seguimiento

de la misma, se expone a continuación un ejemplo práctico.

En este ejemplo se parte de la red de arcos conectados procedente del proceso de

intersección y eliminación de arcos con nodos libres. Cada elemento (nodos, arcos y

polígonos) está numerado mediante un identificador. A continuación aparece la lista

inicial (L) de arcos para comenzar el cálculo.

Page 6: Desarrollo - Transporte

8

Ejemplo de formación de polígonos y almacenamiento de la información

topológica básica.

En la imagen también podemos ver la estructura [2] de los arcos ordenados sobre

cada nodo con su signo correspondiente, así como el proceso de generación de la

estructura [3], donde se identifica cada polígono con los arcos que lo forman (PU

equivale a polígono universal). En este proceso podemos ver cómo el algoritmo, a

medida que va generando los polígonos, va marcando los arcos utilizados,

deteniéndose cuando todos ellos han sido utilizados 2 veces.

Finalmente, puede verse cómo, a partir de las estructuras [2] y [3], se puede rellenar

una tabla con las relaciones topológicas básicas entre arcos, nodos y polígonos.

TECNICAS DE RESOLUCION

Podemos obtener una solución básica factible (sbf) para un problema de

transporte balanceado mediante el Método de La Esquina Noroeste, el Método de

Costo mínimo, el Método de Vogel que son los más comunes. Existen otros como el

Método Algebraico, Método Heurístico o el Método de Modi a los cuales solo se les

hará mención.

Para llegar a una solución de problemas de transporte es necesario cumplir

con una serie de pasos, es decir, cumplir con un algoritmo para solucionar el

problema de transporte.

MÉTODO DE LA ESQUINA NOROESTE

Para encontrar una solución inicial se comienza por la esquina superior izquierda

(noroeste) del tableau de transporte intentando asignar la máxima cantidad posible a

X11. Evidentemente, el valor máximo de X11 debe ser el menor entre s1 y d1. Si

X11=s1, se puede descartar la primera fila pues ya no podrá asignarse más desde el

primer punto de oferta, se avanza a la siguiente fila. Al mismo tiempo, se debe

Page 7: Desarrollo - Transporte

9

cambiar d1 por d1 - s1, de forma de indicar la cantidad de demanda no satisfecha en el

primer punto de demanda. En caso que X11=d1, se debe descartar la primera columna

y cambiar s1 por s1 - d1, avanzando una columna. Si X11= d1= s1, se debe avanzar en

una columna o en una fila (pero no en ambas). Se asigna un cero en la dirección

escogida y se descarta la otra alternativa. El método continúa aplicando el mismo

criterio desde la esquina noroeste del tableau restante. Una vez que están asignadas

toda de demanda y oferta disponible, se terminan las asignaciones y está completa la

asignación inicial.

Características:

- Sencillo y fácil de hacer

- No tiene en cuenta los costos para hacer las asignaciones

- Generalmente nos deja lejos del óptimo

Algoritmo:

1) Construya una tabla de ofertas (disponibilidades) y demandas

(requerimientos).

2) Empiece por la esquina noroeste.

3) Asigne lo máximo posible (Lo menor entre la oferta y la demanda,

respectivamente)

4) Actualice la oferta y la demanda y rellene con ceros el resto de casillas (Filas

ó Columnas) en donde la oferta ó la demanda haya quedado satisfecha.

5) Muévase a la derecha o hacia abajo, según haya quedado disponibilidad para

asignar.

6) Repita los pasos del 3 al 5 sucesivamente hasta llegar a la esquina inferior

derecha en la que se elimina fila y columna al mismo tiempo.

Page 8: Desarrollo - Transporte

10

Nota: No elimine fila y columna al mismo tiempo, a no ser que sea la última casilla.

El romper ésta regla ocasionará una solución en donde el número de variables básicas

es menor a m+n-1, produciendo una solución básica factible degenerada.

MÉTODO DEL COSTO MINIMO

Características:

- Es más elaborado que el método de la esquina noroeste

- Tiene en cuenta los costos para hacer las asignaciones

- Generalmente nos deja alejados del óptimo

Algoritmo:

1) Construya una tabla de disponibilidades, requerimientos y costos

2) Empiece en la casilla que tenga el menor costo de toda la tabla, si hay empate,

escoja arbitrariamente (Cualquiera de los empatados).

3) Asigne lo máximo posible entre la disponibilidad y el requerimiento (El

menor de los dos).

4) Rellene con ceros (0) la fila o columna satisfecha y actualice la disponibilidad

y el requerimiento, restándoles lo asignado.

Nota: Recuerde que no debe eliminar ó satisfacer fila y columna al mismo tiempo,

caso en que la oferta sea igual a la demanda, en tal caso recuerde usar la ε (Epsilon).

5) Muévase a la casilla con el costo mínimo de la tabla resultante (Sin tener en

cuenta la fila o columna satisfecha).

6) Regrese a los puntos 3,4,5 sucesivamente, hasta que todas las casillas queden

asignadas.

Page 9: Desarrollo - Transporte

11

MÉTODO DE VOGEL

El método comienza calculando por cada columna y por cada fila el castigo o

penalti. El castigo se calcula como la diferencia entre los dos costos menores en la

columna o en la fila según corresponda. A continuación, se determina la fila o

columna con un mayor valor de castigo. Luego, se selecciona como variable basal la

celda con menor costo de la fila o columna, según corresponda, y se le asigna la

máxima cantidad posible. Una vez realizada la asignación, se descarta la fila o

columna cuya oferta o demanda haya sido completa. Se recalcula la demanda u oferta

disponible en la fila o columna. La primera asignación se ha completado.

Se vuelven a calcular los castigos por ¯la y por columna y se repite el

procedimiento descrito hasta completar las asignaciones posibles en el tablero.

La ventaja del método de Vogel por sobre el de la Esquina Noroeste es que va

adelante algunas iteraciones y por lo tanto se obtiene una solución inicial mejor.

Eventualmente puede ocurrir que aplicando el método se llegue directamente a la

solución óptima. La desventaja del método de Vogel radica en que sin duda es más

complejo que el de la esquina noroeste, por lo tanto es más difícil de implementar y

más proclive a errores en la aplicación.

Características

- Es más elaborado que los anteriores, más técnico y dispendioso.

- Tiene en cuenta los costos, las ofertas y las demandas para hacer las asignaciones.

- Generalmente nos deja cerca al óptimo.

Algoritmo

1) Construir una tabla de disponibilidades (ofertas), requerimientos (demanda) y

costos.

Page 10: Desarrollo - Transporte

12

2) Calcular la diferencia entre el costo más pequeño y el segundo costo más

pequeño, para cada fila y para cada columna.

3) Escoger entre las filas y columnas, la que tenga la mayor diferencia (en caso

de empate, decida arbitrariamente).

4) Asigne lo máximo posible en la casilla con menor costo en la fila o columna

escogida en el punto 3.

5) Asigne cero (0) a las otras casillas de la fila o columna donde la disponibilidad

ó el requerimiento quede satisfecho.

6) Repita los pasos del 2 al 5, sin tener en cuenta la(s) fila(s) y/o columna(s)

satisfechas, hasta que todas las casillas queden asignadas.

Nota: Recuerde que no debe satisfacer filas y columnas al mismo tiempo; caso en que

la disponibilidad sea igual al requerimiento; en tal caso use el ε (épsilon).

ALGORITMO HÚNGARO

En general, el método Simplex para problemas de transporte es poco eficiente

para resolver problemas de asignación, especialmente en problemas de gran tamaño.

Por ello, para resolver problemas de asignación (minimización) se emplea

normalmente el Método Húngaro. La principal ventaja es que el método húngaro es

considerablemente más simple que el método Simplex del problema de transporte.

Para aplicar el método se deben seguir los siguientes pasos:

- Paso 1, Determine el menor elemento en cada fila de la matriz de costos (m x m).

Construya una nueva matriz restando a cada costo el costo menor de esa fila. A

continuación determine el costo mínimo en cada columna de la matriz resultante.

Construya una nueva matriz (matriz de costos reducidos) restando a cada costo el

menor costo de esa columna.

Page 11: Desarrollo - Transporte

13

- Paso 2, Trace el número mínimo de líneas (horizontales o verticales) que son

necesarias para cubrir todos los ceros de la matriz reducida. Si se requieren m líneas,

los ceros de la matriz reducida indican la asignación óptima. Si se requieren menos de

m líneas, siga al Paso 3.

- Paso 3, Determine el menor costo de la matriz reducida que no está tarjado por las

líneas del Paso 2. Sea dicho costo k. Luego, reste a todos los coeficientes no tarjados

el valor k y sume a todos los coeficientes tarjados por dos líneas el valor k. Vuelva al

Paso 1.

El método Húngaro resuelve un problema de minimización a partir de una

matriz de costos cuadrada. Sin embargo, haciendo algunas modificaciones puede ser

más versátil:

1. Para resolver un problema de asignación cuyo objetivo es maximizar la función

objetivo, multiplique la matriz de costos por -1 y resuelva el problema de

minimización.

2. Si el número de filas y columnas en la matriz de costos no son iguales, el problema

de asignación no está balanceado. Similarmente al problema de transporte, balancee

la matriz agregando filas o columnas artificiales según corresponda. Los costos de las

filas o columnas artificiales deben ser idénticos para todas las combinaciones de

forma de no generar preferencias.

3. Si se puede hacer una asignación más de una vez, repita la fila o columna según

corresponda cuantas veces sea necesario. Balancee el problema.

Ejemplo 2: Una fábrica dispone de cuatro obreros para completar cuatro trabajos.

Cada obrero sólo puede hacer uno de los trabajos. El tiempo que requiere cada obrero

para completar cada trabajo se entrega en el Cuadro:

Page 12: Desarrollo - Transporte

14

La fábrica desea minimizar el tiempo total dedicado a los cuatro trabajos. Formule y

resuelva un modelo que determine la mejor asignación de los obreros. La formulación

del problema queda:

A continuación, se procede a resolver el problema mediante el Método Húngaro:

1) Se busca el mínimo por filas en la matriz de costos:

Page 13: Desarrollo - Transporte

15

2) Luego se resta el valor determinado en cada fila y se busca el mínimo por

columna:

3) Se resta el menor costo por columna y se trazan el menor número de líneas

que cubran todos los ceros de la matriz de costos reducida:

4) Luego, de los coeficientes no tarjados el menor es 1. Restamos a todos los no

tarjados 1 y sumamos 1 a los tarjados dos veces. Volvemos a trazar el número

mínimo de líneas que cubran todos los ceros.

5) Como el número de líneas trazadas es igual a la dimensión de la matriz se ha

encontrado el óptimo. Para interpretar la asignación debemos buscar aquellas

filas y columnas que posean un único cero. Por ejemplo, la fila y columna 3

posee un único 0, luego X33 = 1. Por otro lado, la segunda columna posee un

único cero en la primera fila, luego X12 = 1.

Page 14: Desarrollo - Transporte

16

6) Luego, el cero de la primera fila y cuarta columna puede ser descartado pues

ya existe una asignación obligatoria en la primera fila. De esta forma, el único

cero restante en la cuarta columna es el de la segunda fila, por lo tanto X24=1.

7) A continuación se puede descartar el cero de la segunda fila y la primera

columna pues ya existe una asignación obligatoria en esa fila. Finalmente, en

la primera columna y cuarta fila sólo queda un cero, luego X41 = 1.

El resultado verifica la solución obtenida mediante la tabla de transporte.

Page 15: Desarrollo - Transporte

17

EJEMPLIFICACION DE LAS RUTAS MÁS CORTAS Y DE FLUJO

MAXIMO DE REDES

1) Problema de la Ruta más Corta:

En el problema de la ruta más corta se determina ésta, entre una fuente y un

destino, en una red de transporte. Hay otras soluciones que se pueden

determinar con el mismo modelo, como se ve en el ejemplo siguiente:

- Ejemplo 3 (Reemplazo de equipo): RentCar está desarrollando un plan de

reposición de su flotilla de automóviles para un horizonte de planeación de 4 años,

que comienza el 1ero de enero de 2001 y termina el 31 de diciembre de 2004. Al

iniciar cada año se toma la decisión de si un auto se debe mantener en operación o se

debe sustituir. Un automóvil debe estar en servicio 1 año como mínimo, y 3 años

como máximo. La tabla siguiente muestra el costo de reposición en función del año

de adquisición del vehículo y los años que tiene en funcionamiento.

Costo de reposición ($) para los años de operación

1 2 3

2001 4000 5400 9800

2002 4300 6200 8700

2003 4800 7100 ---

2004 4900 --- ---

Page 16: Desarrollo - Transporte

18

El problema de reemplazo de equipo como problema de la ruta más corta

El problema se puede formular como una red, en el que los nodos 1 a 5

representan el inicio de los años 2001 a 2005. Los arcos del nodo 1 (año 2001) solo

pueden alcanzar los nodos 2, 3 y 4 porque un vehículo debe estar en funcionamiento

entre 1 y 3 años. Los arcos entre los otros nodos se pueden interpretar en forma

parecida. La longitud de cada arco es igual al costo de reposición. La solución del

problema equivale a determinar la ruta más corta entre los nodos 1 y 5.

En la figura de arriba se ve la red que resulta. La ruta más corta, se indica con la ruta

más gruesa, es 135. Eso quiere decir que un automóvil adquirido al iniciar el

2001 (nodo 1) se debe reemplazar pasados 2 años, al iniciar el 2003 (nodo 3), el auto

de reposición debe estar en servicio hasta el final del 2004. El costo total de esta

política de reposición es $12500 (= $5400 + $7100).

2) Flujo máximo de redes

En algunas redes circula por los arcos un flujo desde el origen o fuente al destino. Los

arcos tienen una capacidad máxima de flujo, y se trata de enviar desde la fuente al

destino la mayor cantidad posible de flujo, de tal manera que:

El flujo es siempre positivo y con unidades enteras.

El flujo a través de un arco es menor o igual que la capacidad.

El flujo que entra en un nodo es igual al que sale de él.

Page 17: Desarrollo - Transporte

19

El algoritmo de Ford-Fulkerson propone buscar caminos en los que se pueda

aumentar el flujo, hasta que se alcance el flujo máximo.

La idea es encontrar una ruta de penetración con un flujo positivo neto que una los

nodos origen y destino.

Los pasos del algoritmo se definen como sigue:

Paso 1: Inicializamos las capacidades residuales a las capacidades

iniciales, hacemos (cij,cji)=(Cij,Cji) para todo arco de la red.

Suponiendo el nodo 1 como el nodo origen, hacemos a1=∞ y

clasificamos el nodo origen con [∞,-]. Tomamos i=1 y vamos al paso

2.

Paso 2: Determinamos Si como un conjunto que contendrá los nodos a

los que podemos acceder directamente desde i por medio de un arco

con capacidad positiva, y que no formen parte del camino en curso.

Si Si contiene algún nodo vamos al paso 3, en el caso de que el

conjunto sea vacío saltamos al paso 4.

Paso 3: Obtenemos kЄSi como el nodo destino del arco de mayor

capacidad que salga de i hacia un nodo perteneciente a Si. Es

decir, cik=max{cij} con jЄSi. Hacemos ak=cik y clasificamos el

nodo k con [ak,i]. Si k es igual al nodo destino, entonces hemos

encontrado una ruta de penetración, vamos al paso 5. En caso contrario

continuamos con el camino, hacemos i=k y volvemos al paso 2.

Paso 4 (retroceso): Si i=1, estamos en el nodo origen, y como Si es

vacío, entonces no podemos acceder a ningún nodo, ni encontrar algún

nuevo camino, hemos terminado, vamos al paso 6.

En caso contrario, i≠1, le damos al valor i el del nodo que se ha

clasificado inmediatamente antes, eliminamos i del conjunto Si actual

y volvemos al paso 2.

Page 18: Desarrollo - Transporte

20

Paso 5: Llegados a este paso tenemos un nuevo

camino: Np={1,k1,k2,...,n}, esta será la p-ésima ruta de penetración

desde el nodo origen al nodo destino. El flujo máximo a lo largo de

esta ruta será la capacidad mínima de las capacidades residuales de los

arcos que forman el camino, es decir: fp=min{a1,ak1,ak2,...,an}.

La capacidad residual de cada arco a lo largo de la ruta de penetración

se disminuye por fp en dirección del flujo y se incrementa por fp en

dirección inversa, es decir, para los nodos i y j en la ruta, el flujo

residual se cambia de la (cij,cji) actual a (cij-fp,cji+fp) si el flujo es

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

Inicializamos i=1 y volvemos al paso 2 para intentar una nueva ruta de

penetración.

Paso 6 (solución): Una vez aquí, hemos determinado m rutas de

penetración. El flujo máximo en la red será la suma de los flujos

máximos en cada ruta obtenida, es decir: F=f1+f2+...+fm. Teniendo

en cuenta que las capacidades residuales inicial y final del arco (i,

j) las dan (Cij,Cji) y (cij,cji)respectivamente, el flujo máximo para

cada arco se calcula como sigue: sea (α, β)=(Cij-cij, Cji-cji), si α>0, el

flujo óptimo de i a j es α, de lo contrario, si β>0, el flujo óptimo

de j a i es β. Es imposible lograr que tanto α como β sean positivas.

Page 19: Desarrollo - Transporte

21

Determinar el flujo máximo en la red siguiente:

Primera iteración:

Determinamos las residuales iniciales (cij,cji) iguales a las capacidades

iniciales (Cij,Cji).

Paso 1: Hacemos ai=∞, y clasificamos el nodo 1 con [a1,-]. Tomamos i=1.

Paso 2: S1={2,3,4} (no vacío).

Paso 3: k=3 ya que c13=max{c12,c13,c14}={20,30,10}=30.

Hacemos a3=c13=30 y clasificamos el nodo 3 con [30,1]. Tomamos i=3 y

repetimos el paso 2.

Paso 2: S3={4,5}

Page 20: Desarrollo - Transporte

22

Paso 3: k=5 y a5=c35=max{10,20}=20. Clasificamos el nodo 5 con [20,3].

Logramos la penetración, vamos al paso 5.

Paso 5: La ruta de la penetración se determina de las clasificaciones

empezando en el nodo 5 y terminando en el nodo 1, es

decir, 5→[20,3]→3→[30,1]→1. Entonces la ruta

es N1={1,3,5} y f1=min{a1,a3,a5}={∞,30,20}=20. Las capacidades residuales

a lo largo de esta ruta son:

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

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

Segunda iteración:

Paso 1: Hacemos ai=∞, y clasificamos el nodo 1 con [a1,-].

Tomamos i=1.

Paso 2: S1={2,3,4}.

Paso 3: k=2 y a2=c12=max{20,10,10}=20. Clasificamos el nodo 2

con [20,1]. Tomamos i=2 y repetimos el paso 2.

Paso 2: S2={3,5}

Paso 3: k=3 y a3=c23=max{30,40}=40. Clasificamos el nodo 3

con [40,2]. Tomamos i=3 y repetimos el paso 2.

Page 21: Desarrollo - Transporte

23

Paso 2: S3={4} (c35=0, el nodo 1 ya ha sido clasificado y el nodo 2

cumple ambas condiciones, por tanto los nodos 1, 2 y 5 no pueden ser

incluidos en S3).

Paso 3: k=4 y a4=c34=10. Clasificamos el nodo 4 con [10,3].

Tomamos i=4 y repetimos el paso 2.

Paso 2: S4={5}

Paso 3: k=5 y a5=c45=20. Clasificamos el nodo 5 con [20,4].

Logramos la penetración, vamos al paso 5.

Paso 5: La ruta de la penetración

es: 5→[20,4]→4→[10,3]→3→[40,2]→2→[20,1]→1. Entonces la

ruta es N2={1,2,3,4,5} y f2=min{∞,20,40,10,20}=10. Las capacidades

residuales a lo largo de esta ruta 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)

Tercera iteración:

Page 22: Desarrollo - Transporte

24

Paso 1: Hacemos ai=∞, y clasificamos el nodo 1 con [a1,-]. Tomamos i=1.

Paso 2: S1={2,3,4}.

Paso 3: k=2 y a2=c12=max{10,10,10}=10, rompemos el empate

arbitrariamente. Clasificamos el nodo 2 con [10,1]. Tomamos i=2 y repetimos

el paso 2.

Paso 2: S2={3,5}

Paso 3: k=3 y a3=c23=max{30,30}=30. Clasificamos el nodo 3 con [30,2].

Tomamos i=3 y repetimos el paso 2.

Paso 2: S3 vacío ya que c34=c35=0. Vamos al paso 4 para retroceder.

Paso 4: La clasificación [30,2] nos dice que el nodo inmediatamente

precedente es el 2. Eliminamos el nodo 3 de una consideración posterior en

esta iteración. Tomamos i=2 y repetimos el paso 2.

Paso 2: S2={5}

Paso 3: k=5 y a5=c25=30. Clasificamos el nodo 5 con [30,2]. Logramos la

penetración, vamos al paso 5.

Paso 5: La ruta de la penetración es: 5→[30,2]→2→[10,1]→1. Entonces la

ruta es N2={1,2,5} y f3=min{∞,10,30}=10. Las capacidades residuales a lo

largo de esta ruta son:

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

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

Page 23: Desarrollo - Transporte

25

Cuarta iteración:

Paso 1: Hacemos ai=∞, y clasificamos el nodo 1 con [a1,-]. Tomamos i=1.

Paso 2: S1={3,4}.

Paso 3: k=3 y a3=c13=max{10,10}=10. Clasificamos el nodo 3 con [10,1].

Tomamos i=3 y repetimos el paso 2.

Paso 2: S3={2}

Paso 3: k=2 y a2=c32=10. Clasificamos el nodo 2 con [10,3]. Tomamos i=2 y

repetimos el paso 2.

Paso 2: S2={5}

Paso 3: k=5 y a5=c25=20. Clasificamos el nodo 5 con [20,2]. Logramos la

penetración, vamos al paso 5.

Paso 5: La ruta de la penetración es: 5→[20,2]→2→[10,3]→3→[10,1]→1.

Entonces la ruta es N4={1,3,2,5} y f4=min{∞,10,10,20}=10. Las capacidades

residuales a lo largo de esta 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)

Page 24: Desarrollo - Transporte

26

Quinta iteración:

Paso 1: Hacemos ai=∞, y clasificamos el nodo 1 con [a1,-]. Tomamos i=1.

Paso 2: S1={4}.

Paso 3: k=4 y a4=c14=10. Clasificamos el nodo 4 con [10,1]. Tomamos i=4 y

repetimos el paso 2.

Paso 2: S4={3,5}

Paso 3: k=3 y a3=c23=max{15,10}=15. Clasificamos el nodo 3 con [15,4].

Tomamos i=3 y repetimos el paso 2.

Paso 2: S3 vacío ya que c32=c34=c35=0. Vamos al paso 4 para retroceder.

Paso 4: La clasificación [15,4] nos dice que el nodo inmediatamente

precedente es el 4. Eliminamos el nodo 3 de una consideración posterior en

esta iteración. Tomamos i=4 y repetimos el paso 2.

Paso 2: S4={5}

Paso 3: k=5 y a5=c45=10. Clasificamos el nodo 5 con [10,4]. Logramos la

penetración, vamos al paso 5.

Paso 5: La ruta de la penetración es: 5→[10,4]→4→[10,1]→1. Entonces la

ruta es N2={1,4,5} y f3=min{∞,10,10}=10. Las capacidades residuales a lo

largo de esta ruta son:

Page 25: Desarrollo - Transporte

27

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

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

Sexta iteración:

No son posibles más penetraciones, debido a que todos los arcos fuera del

nodo 1 tienen residuales cero. Vayamos al paso 6 para determinar la solución.

Paso 6: El flujo máximo en la red es F=f1+f2+...+f5=60 unidades. El flujo en

los diferentes arcos se calcula restando las últimas residuales obtenidas en la

última iteración de las capacidades iniciales:

Arco (Cij, Cji) - (cij, cji)en 6ª it. Cantidad de

flujo Dirección

(1,2) (20, 0) - (0, 20) = (20, -20) 20 1→2

(1,3) (30, 0) - (0, 30) = (30, -30) 30 1→3

(1,4) (10, 0) - (0, 10) = (10, -10) 10 1→4

(2,3) (40, 0) - (40, 0) = (0, 0) 0 -

Page 26: Desarrollo - Transporte

28

(2,5) (30, 0) - (10, 20) = (20, -20) 20 2→5

(3,4) (10, 5) - (0, 15) = (10, -10) 10 3→4

(3,5) (20, 0) - (0, 20) = (20, -20) 20 3→5

(4,5) (20, 0) - (0, 20) = (20, -20) 20 4→5