Sei sulla pagina 1di 26

GUIA # 02 MODELO DE TRANSPORTE

UNIDAD 3: MODELO DE TRANSPORTE – FLUJO DE REDES

OBJETIVO GENERAL: Discriminar los problemas del transporte, trasbordo y asignación utilizando
los métodos establecidos para su resolución.

Modelo de Transporte

El Modelo de Transporte se propone determinar la forma de asignar los productos de los


diferentes almacenes (u orígenes) a los diversos clientes (o destinos), con el fin de satisfacer la
demanda con el menor coste de transporte posible. Para ello se necesita disponer de la
información relativa a la demanda de cada uno de los clientes (destinos), así como de la
disponibilidad de productos en cada almacén (orígenes). De la misma forma se debe conocer el
coste unitario de transporte entre todas las combinaciones posibles de rutas origen-destino. Con
estos datos, se debe hacer mínimo el coste total de transporte. Es decir, la función objetivo a
minimizar será la suma de todos los elementos resultantes de multiplicar los costes unitarios por
el número de elementos a enviar en cada transporte.

Las restricciones que deben cumplirse en este modelo serán, en primer lugar que las cantidades
enviadas desde cada origen no superen la disponibilidad de éste; siendo la segunda la que se
encarga de garantizar la demanda. Además es necesario incluir siempre, para la correcta
resolución del problema, la condición de que las soluciones sean positivas (soluciones factibles).
Normalmente se realiza la minimización de los costes totales, aunque también sería posible
plantear una función objetivo a maximizar, sin más que introducir en ésta, en vez de los costes
unitarios, los rendimientos unitarios.

Una forma más práctica de representar un problema de transporte es mediante una tabla de
transporte. Una celda de la fila i y la columna j representa la variable xij . Se suele incorporar en la
esquina superior derecha de cada celda, el costo unitario cij. En general, la tabla queda:
También se debe aclarar que si la demanda total no coincide con la oferta total, se dice que el
modelo es “no equilibrado”:

Caso 1: La oferta (origen) es mayor que la demanda (destino): Los productos no asignados
aparecen como holgura o exceso en la restricción. En este caso se puede balancear el problema
de transporte incorporando un punto de demanda artificial que tenga como demanda el
excedente de oferta del problema. Como las asignaciones al punto artificial no son reales, se le
asigna un costo unitario de cero. En general, el costo unitario no necesariamente debe ser igual a
cero, basta con que tenga igual valor a todos los puntos de oferta disponibles de forma de no
generar preferencias. Por simplicidad, se prefiere emplear cero.

Caso 2: La oferta (origen) es menor que la demanda (destino): El modelo, así planteado no tiene
solución, por lo que si se quiere satisfacer toda la demanda posible, se debe reformulan las
desigualdades, o se añade una oferta artificial con valor de oferta equivalente a la diferencia entre
oferta y demanda. En la mayoría de las situaciones, el hecho de no satisfacer totalmente la
demanda puede significar algún tipo de costo. Por lo tanto, en estos casos el costo unitario de las
casillas ficticias suele no ser cero y puede variar de un punto de demanda a otro.
Finalmente, es conveniente asignar un costo arbitrariamente grande a una de las rutas (mayor que
las demás), cuando queremos “eliminar” una de ellas del modelo.

Numero de variables básica en el modelo de transporte: Es necesario establecer que el número


de variables básicas en cualquier solución básica de un problema de transporte es una menos de
lo que se espera. Normalmente en los problemas de programación lineal, se tiene una variable
básica por cada restricción funcional. En los problemas de transporte con m recursos y n destinos
el número de restricciones funcionales es m+n. Sin embargo, el número de variables básicas = m +
n - 1.

Esto se debe a que se manejan restricciones de igualdad y este conjunto de m + n ecuaciones tiene
una ecuación adicional o (redundante) que se puede eliminar. La razón es que se sabe que la
cantidad total que se manda desde todos los orígenes debe ser igual que la cantidad total que se
recibe en todos los destinos. Por lo tanto, cualquier solución básica factible en una tabla de
transporte debe aparecer con exactamente m + n - 1 asignaciones no negativas, en donde la suma
de las asignaciones en cada renglón o columna es igual a su demanda o sus recursos.

Sin embargo, eventualmente, se puede generar un número inferior de variables básicas


(asignaciones). En dicho caso se completa las m + n - 1 asignaciones con ceros. En el caso de que
falte solo una asignación, se puede ubicar un cero en cualquier casilla no asignada.

Método de solución inicial.

Mediante el uso del método simplex se pueden resolver los modelos de transporte y de cualquier
otro tipo de problemas de programación lineal. Sin embargo debido a la estructura especial de
modelo de transporte, se puede utilizar otro método que se ha diseñado para aprovechar las
características de los problemas de transporte.
Los método de esquina noroeste, costo mínimo y aproximación de Vogel son alternativas para
encontrar una solución inicial factible.

Esquina noroeste. Se asigna la máxima cantidad posible entre la oferta y la demanda a la variable
de la esquina noroeste, se tachan las filas y columnas cubiertas y se continúa hasta completar el
número de variables básicas.

Ejemplo:
Procedimiento general, utilizando la regla de la esquina noroeste en el siguiente ejemplo:

Recursos

3 7 6 4 5

2 4 3 2 2

4 3 8 5 3

Demanda 3 4 2 1 10 10

Lo primero que se debe hacer al resolver cualquier problema de transporte es comprobar


que esté balanceado, si no lo estuviera, agregamos un origen o un destino artificial según sea el
caso para conseguir que el problema quede balanceado. En este caso, la sumatoria de los recursos
de los tres orígenes es de 10 unidades que es igual a la sumatoria de las demandas de los destinos,
por lo que el problema está balanceado y se iniciar la resolución.

Se asigna en la esquina noroeste de la tabla…… (Se desarrollará en clase)

La solución inicial básica factible es x11=3, x12=2, x22=2, x32=0 (variable básica degenerada),
x33=2 y x34=1 y el costo total de transporte asociado a esta primera “Política de Transporte” factible
es de:

x11 c11 x12 c12 x22 c22 x32 c32 x33 c33 x34 c34

Costo = 3 (3) + 2 (7) + 2 (4) + 0 (3) + 2 (8) + 1 (5) = 52 unidades


Es necesario aclarar que esta no es la solución final del problema, es necesario aplicar a
esta primera solución factible la prueba de optimalidad ya que puede existir una mejor “política de
transporte” que minimice todavía más el costo total.

Costo Mínimo: Se asigna la mayor cantidad posible entre la oferta y la demanda a la variable con
el costo mínimo, se tachan las filas y columnas cubiertas y se continúa hasta completar el número
de variables básicas. Este método produce soluciones óptimas en la mayoría de los casos, en la
primera tabla.

Ejemplo
Resolver el ejemplo presentado anteriormente y que fue resuelto por la regla de la esquina
noroeste por el método de costo mínimo

Recursos

3 7 6 4 5 4 3 1 0

1 1 2 1

2 4 3 2 2 0

4 3 8 5 3 0

Demanda 3 1 0 4 10 2 0 1 0 10 10

La solución inicial básica factible es x11=1, x12=1, x13=2, x14=1, x21=2 y x32=3 y el costo total de
transporte asociado a esta primera “Política de Transporte” factible es de:

x11 c11 x12 c12 X13 c13 x14 c14 x21 c21 x32 c32

Costo = 1 (3) + 1 (7) + 2 (6) + 1 (4) + 2 (2) + 3 (3) = 39

Es necesario aclarar que esta no es la solución final del problema, es necesario aplicar a
esta primera solución factible la prueba de optimalidad ya que puede existir una mejor “política de
transporte” que minimice todavía más el costo total.
Aproximación de Vogel: Este método es heurístico y suele producir una mejor solución inicial que
los métodos anteriores. De hecho, suele producir una solución inicial óptima, o próxima al nivel
óptimo. Consiste en penalizar las filas y columnas restando los dos menores costos, luego se
asigna la mayor cantidad posible entre la oferta y la demanda en la fila o columna con la mayor
penalización.
Los pasos del procedimiento son los siguientes:
1.- Se Evalúa una penalización para cada renglón (columna) restando el menor elemento de costo
del renglón (columna) del elemento de costo menor siguiente en el mismo renglón (columna).
2.- Se Identifica el renglón o columna con mayor penalización, se rompe los empates en forma
arbitraria. Se asigna el mayor valor posible a las variables con el costo más bajo del renglón o
columna seleccionado. Se ajusta la oferta y la demanda y se tacha el renglón o columna
satisfecha. Si un renglón y una columna se satisfacen al mismo tiempo, sólo uno de ellos se tacha
y al renglón (columna) restante se le asigna una oferta (demanda) cero. Cualquier renglón o
columna con oferta o demanda cero no debe utilizarse para calcular penalizaciones futuras (en el
paso 3).
3: a) si sólo hay un renglón o columna sin tachar, se detiene.
b) si sólo hay un renglón (columna) con oferta (demanda) positiva sin tachar, se determina
las variables básicas del renglón (columna) a través del método de costo mínimo.
c) si todos los renglones o columnas sin tachar tiene oferta y demanda cero asignadas,
determínese las variables básicas cero a través del método de costo mínimo.
d) de lo contrario, se calcula las penalizaciones de los renglones y columnas no tachados y
después se va al paso 2.

Ejemplo
Resolver el ejemplo presentado anteriormente y que fue resuelto por la regla de la esquina
noroeste por el método de Vogel.

Se Inicia el método calculando las primeras diferencias para cada renglón y columna. De las
diferencias que se obtiene se toma el mayor, que resulta ser para la tercera columna. En esa
columna se encuentra el costo unitario (cij) menor y en esa celda se realiza la primera asignación:

Recursos DIF.

3 7 6 4 5 1

2 4 3 2 2 0 0

4 3 8 5 3 1
Demanda 3 4 2 0 1 10 10

1
DIF. 1 1 3 2

Nota: Marcar a la mayor de las diferencias seleccionada encerrándola en un círculo y


escribiéndole como superíndice el número que le corresponda en la secuencia de selección.

Se observa en la figura anterior que únicamente se elimina el segundo renglón ya que la


tercera columna servirá después para hacer la asignación de una variable básica degenerada.
Continuando con la aplicación del método, tenemos que calcular nuevamente las diferencias de
las columnas ya que se ha eliminado un renglón y esto puede ocasionar que las diferencias
aritméticas entre el costo unitario más pequeño y el que le sigue ya no sean las mismas…… (se
terminará en clase)

La solución inicial básica factible es x11=3, x12=1, x13=0 (variable básica degenerada), x14=1,
x23=2 y x32=3 y el costo total de transporte asociado a esta primera “Política de Transporte” factible
es de:

x11 c11 x12 c12 x13 c13 x14 c14 x23 c23 x32 c32

Costo = 3 (3) + 1 (7) + 0 (6) + 1 (4) + 2 (3) + 3 (3) = 35

Es necesario aclarar que ésta puede o no ser la solución final del problema, es necesario
aplicar a esta primera solución factible la prueba de optimalidad ya que puede existir una mejor
“política de transporte” que minimice todavía más el costo total.

EJERCICIOS:
Determinar las dos tablas iniciales (esquina noroeste, costo minimo y Vogel) para los siguientes
problemas:

1)
2)

PROBLEMAS DE ASIGNACIÓN (Método Húngaro)

Un problema de asignación es un problema de transporte balanceado, en el cual todas las ofertas


y todas las demandas son iguales a uno. Como todas las ofertas y demandas para el problema de
asignación son números enteros, todas las variables en la solución óptima deben ser valores
enteros.
Se puede resolver eficientemente un problema de asignación m x m mediante el método
Húngaro.

MÉTODO HÚNGARO.
Caso A: Minimización.
Revisar que todas las casillas tengan su costo (beneficio) unitario correspondiente. Si alguna no lo
tiene asignarlo en términos del tipo de matriz y problema considerado.

1. Balancear el modelo, es decir obtener m=n (obtener una matriz cuadrada)


En donde m= número de renglones.
En donde n= número de columnas.
Todo renglón o columna tendrá un costo (beneficio) unitario de cero.
2. Para cada renglón escoger el MENOR VALOR y restarlo de todos los demás en el MISMO
RENGLÓN.
3. Para cada columna escoger el MENOR VALOR y restarlo de todos los demás en la MISMA
COLUMNA.
4. Trazar el MÍNIMO número de líneas verticales y horizontales de forma tal que todos los ceros
queden tachados.
5. Criterio de optimidad:
¿El número de líneas es igual al orden de la matriz?
a.- SI, el modelo es óptimo y por tanto hacer la asignación y traducir la solución.
La asignación se debe hacer en las casillas donde haya ceros cuidando que cada renglón y cada
columna tengan una sola asignación.
b.- NO pasar al siguiente punto.
6. Seleccionar el menor valor no tachado de toda la matriz. El valor restarlo de todo elemento no
tachado y sumarlo a los elementos en la interacción de dos líneas.
7. Regresar al paso 4.

Caso B: Maximización.
Seleccionar el MAYOR ELEMENTO de toda la matriz de beneficio. Este valor restarlo de todos los
demás, los valores negativos que se obtengan representan los costos de oportunidad, lo que se
deja de ganar o producir.
Para el caso de la solución del modelo considerar solo valores absolutos. Con esta transformación
se ha obtenido un modelo de minimización y por tanto resolverlo como tal.

Ejemplos:

Se necesita procesar 4 diferentes tareas para lo cual se cuenta con 4 máquinas. Por diferencias
tecnológicas el desperdicio que se produce depende del tipo de tarea y la máquina en la cual se
ejecuta, dada la matriz de Desperdicios expresada en pesos definir la asignación óptima.

MAQUINAS
TAREAS 1 2 3 4
A 49 86 54 70
B 45 79 66 81
C 46 58 78 88
D 44 38 66 69
Como se trata de Desperdicios, se busca MINIMIZAR.

Se chequea que todas las casillas tengan su costo unitario, en este caso se cumple sin ningún
problema.

Balanceamos la tabla M= renglones = 4 N= columnas= 4

Por lo que M=N, quedando balanceada.

MAQUINAS
TAREAS 1 2 3 4
A 49 86 54 70
B 45 79 66 81
C 46 58 78 88
D 44 38 66 69

POR RENGLÓN

Se Elige el menor valor de renglón y se resta a los demás. En este caso es son: 49,45,46,38.

Se resta ese valor a cada uno de los demás del renglón.

MAQUINAS
TAREAS 1 2 3 4
A 49-49=0 86-49=37 54-49=5 70-49=21
B 45-45=0 79-45=34 66-45=21 81-45=36
C 46-46=0 58-46=12 78-46=32 88-46=42
D 44-38=6 38-38=0 66-38=28 69-38=31

Formar la nueva tabla

MAQUINAS
TAREAS 1 2 3 4
A 0 37 5 21
B 0 34 21 36
C 0 12 32 42
D 6 0 28 31

POR COLUMNA.

Se Elige los menores valores de cada columna en este caso son: 0,0,5,21
Se Resta esos valores a los demás números de las columnas

MAQUINAS
TAREAS 1 2 3 4
A 0-0=0 37-0=37 5-5=0 21-21=0
B 0-0=0 34-0=34 21-5=16 36-21=15
C 0-0=0 12-0=12 32-5=27 42-21=21
D 6-0=6 0-0=0 28-5=23 31-21=10

Obtener la nueva tabla:

MAQUINAS
TAREAS 1 2 3 4
A 0 37 0 0
B 0 34 16 15
C 0 12 27 21
D 6 0 23 10

Trazamos las líneas.

MAQUINAS
TAREAS 1 2 3 4
A 0 37 0 0
B 0 34 16 15
C 0 12 27 21
D 6 0 23 10

Contar el número de líneas y observar que son 3 líneas y el número de la matriz es de 4 por lo
que NO ES ÓPTIMO.

Buscar dentro de la tabla el menor valor no tachado en este caso es 12

Restar a todos los demás, respetar los valores de los ya tachados y adicionar a los que están
interceptados.

MAQUINAS
TAREAS 1 2 3 4
A 0+12=12 37 0 0
B 0 34-12=22 16-12=4 15-12=3
C 0 12-12=0 27-12=15 21-12=9
D 6+12=18 0 23 10

Queda:

MAQUINAS
TAREAS 1 2 3 4
A 12 37 0 0
B 0 22 4 3
C 0 0 15 9
D 18 0 23 10

Trazamos las líneas.

3 ≠ 4 NO ES ÓPTIMO

Se Vuelve a buscar el menor número de los no tachados.

MAQUINAS
TAREAS 1 2 3 4
A 12+3=15 37+3=40 0 0
B 0 22 4-3=1 3-3=0
C 0 0 15-3=12 9-3=6
D 18 0 23-3=20 10-3=7

En este caso es 3 y se resta a los demás no tachados, respetar a los tachados y se suman a los
interceptados. Y volver a trazar líneas.

MAQUINAS
TAREAS 1 2 3 4
A 15 40 0 0
B 0 22 1 0
C 0 0 12 6
D 18 0 20 7

4=4 ES ÓPTIMO

Ahora chequear las asignaciones, sean 1 a 1.

MAQUINAS
TAREAS 1 2 3 4
A 15 40 0 0
B 0 22 1 0
C 0 0 12 6
D 18 0 20 7

0 = se escogen

0= se deshabilitan
Se traduce la solución:
Realizar la tarea A en la máquina 3 con un costo de $54
Realizar la tarea B con la máquina 4 con un costo $81.
Realizar la tarea C en la máquina 1 con un costo $46.
Realizar la tarea D en la máquina 2 con un costo $38.

COSTO TOTAL MÍNIMO= $219

EJERCICIO
1.- Una empresa tiene un trabajo compuesto de 5 módulos para ser desarrollado por 5
programadores, se desea que cada módulo sea desarrollado por un solo programador y que cada
programador desarrolle un solo módulo. Debido a los diferentes grados de dificultad de los
módulos y a las diferencias individuales de los programadores, el tiempo (en días) que ellos
emplean es diferente y se da en la siguiente tabla:
A B C D E
Módulo 1 2 4 4 3 6
Módulo 2 2 6 5 4 6
Módulo 3 5 6 5 3 7
Módulo 4 3 5 7 2 4
Módulo 5 8 5 6 2 1
a) Determine la asignación óptima de modo de minimizar el tiempo total -
b) Para cuándo debe comprometerse a entregar el trabajo
c) Cómo sería la formulación si un programador puede desarrollar más de un módulo?
d) Cuál es la opción que más le conviene hacer a la empresa?

MÉTODO SIMPLEX DEL PROBLEMA DE TRANSPORTE

A continuación se expondrán los pasos para aplicar el método Simplex para el problema de
Transporte. La deducción y justificación detallada de cada uno de los pasos se puede encontrar en
los textos de la bibliografía de la asignatura.

Paso 1 Si el problema no está balanceado, balancearlo. Construir el tabla de transporte.


Paso 2 Encontrar una solución inicial factible por el método de la Esquina Noroeste o el de
Vogel.
Verificar las m + n - 1 asignaciones y completarlas si es necesario.
Paso 3 Plantear y resolver el sistema que se obtiene a través de:
Definir para cada fila del tabla la variable ui con (i = 1 : : :m).
Definir para cada columna del tabla la variable vj con (j = 1 : : : n).
Plantear para cada casilla asignada la ecuación ui + vj = cij . Donde cij es el costo unitario
asociado a la casilla i ¡ j.
Asignar un valor arbitrario a una de las variables, por ejemplo u1 = 0.
Paso 4 Calcular en todas las casillas no asignadas (no básicas) eij = cij ¡ui¡vj . Si todos los eij
¸ 0 se ha encontrado el optimo. Si existe algún eij < 0, incorporar la variable con menor eij
siempre y cuando pueda formar un loop, en dicho caso, asignar el mayor valor posible de
modo de mantener las variables basales mayores o iguales a cero.
Paso 5 Si la solución no es la ¶optima, emplear la solución del paso anterior para volver a
plantear y resolver el sistema (Paso 3). Seguir al Paso 4.

La variable eij representa el aporte neto unitario de la incorporación de la variable i¡j a la base.
Por lo tanto, si el problema es de maximización, la solución seria optima si todos los eij < 0. En caso
contrario, se ingresa a la base la variable con mayor eij que pueda formar un loop.
En el caso de que al emplear uno de los métodos para obtener una solución inicial falten dos o
más asignaciones para completar las m + n ¡ 1 asignaciones requeridas, los ceros deben ser
ubicados de tal forma que sea suficiente dar solo un valor arbitrario a las variables del sistema
asociado a la asignación para poder resolverlo completamente.

Ejemplo

Ciudad 1 Ciudad 2 Ciudad 3 Ciudad 4 Oferta


Planta 1 8 6 10 9 35
Planta 2 9 12 13 7 50
Planta 3 14 9 16 15 40
Demanda 45 20 30 30

En este caso, mediante la Esquina Noroeste se obtuvo la siguiente solución inicial:

Recursos

8 6 10 9 35

35

9 12 13 7 50

10 20 20

14 9 16 15 40

10 30

Demanda 45 20 30 30
A continuación podemos plantear las variables del sistema asociado:
v1 v2 v3 v4

V1 V2 V3 V4 Recursos

U1 8 6 10 9 35

35

U2 9 12 13 7 50

10 20 20

U3 14 9 16 15 40

10 30

Demanda 45 20 30 30

Luego, las ecuaciones se plantean en las casillas asignadas:


u1 + v1 = 8 (1)
u2 + v1 = 9 (2)
u2 + v2 = 12 (3)
u2 + v3 = 13 (4)
u3 + v3 = 16 (5)
u3 + v4 = 5 (6)

Agregando la condición u1 = 0 se obtiene de (1) v1 = 8. Luego, de (2) u2 = 1. De (3) y de (4)


v2 = 11 y v3 = 12. Reemplazando en (5) se calcula u3 = 4. Finalmente, de (6) se obtiene v4 = 1.
A continuación se calculan los eij en las casillas no básicas:

e12 = 6 - 0 - 11 = -5
e13 = 10 - 0 - 12 = -2
e14 = 9 - 0 - 1 = 8
e24 = 7 - 1 - 1 = 5
e31 = 14 - 4 - 8 = 2
e32 = 9 - 4 - 11 = -6

Por lo tanto, el menor eij corresponde a e32 con valor -6. Lo que significa que por cada unidad
asignada a la variable x32 el efecto global neto es de ¡6, independientemente de que el costo
asociado a dicha casilla sea de 9. Veamos si existe un loop factible y el maximo valor ® que podria
tomar la variable.
V1 V2 V3 V4 Recursos

U1 8 6 10 9 35

35
U2 9 12 13 7 50

10 20 - α 20 + α

U3 14 9α 16 15 40

α 10 - α 30

Demanda 45 20 30 30

Como las variables deben ser positivas, el valor de α debe ser tal que no introduzca una variable
negativa al tabla. En este caso, la condición que controla es 10 – α ≥ 0, por lo tanto α = 10.
Introducimos el valor de α y se vuelve a plantear el sistema asociado:

V1 V2 V3 V4 Recursos

U1 8 6 10 9 35

35

U2 9 12 13 7 50

10 10 30

U3 14 9α 16 15 40

10 0 30

Demanda 45 20 30 30

u1 + v1 = 8
u2 + v1 = 9
u2 + v2 = 12
u2 + v3 = 13
u3 + v2 = 9
u3 + v4 = 5
u1 = 0
Las únicas variables no básicas que tienen un eij < 0 son: e12 = -5, e24 = -1 y e13 = -2. Se busca un
loop para x12 y su máximo valor factible se obtiene:
V1 V2 V3 V4 Recursos

U1 8 6 10 9 35

35-α α
U2 9 12 13 7 50

10+α 10-α 30

U3 14 9α 16 15 40

10 0 30

Demanda 45 20 30 30

De acuerdo al loop encontrado, el máximo valor para α es 10. Luego, se vuelve a plantear el
sistema para las variables basales:

(Se desarrollara en clase)

La solución óptima es:


x12 = 10
x13 = 25
x21 = 45
x23 = 5
x32 = 10
x34 = 30
x11 = x14 = x22 = x24 = x31 = x33 = 0

z = 6(10) + 10(25) + 9(45) + 13(5) + 9(10) + 5(30) = 1020

FLUJO DE REDES

Un modelo de transporte se puede representar como una red o grafo, con m fuentes y n destinos.
Cada fuente y cada destino están representados por un nodo, estos nodos se unen por un arco
que representa la ruta por la cual se transporta la mercancía.
Si tenemos:
ai= Cantidad de oferta en la fuente i.
bj = Cantidad de demanda en el destino j.
Cij= Costo de transporte unitario entre la fuente i y el destino j.
Xij = Cantidad transportada desde la fuente i al destino j,
Entonces, el modelo general de Programación Lineal que representa el modelo de transporte es:
Minimizar: Z = Σ i =1 m Σj=1 n Cij X ij
Sujeto a:
Σi=1 X ij ≥ bj j = 1, 2, ... , n.
Σj=1 X ij ≤ ai i = 1, 2, ... , m.
Xij ≥ 0 para todo i j.
FLUJO DE REDES

Las técnicas de flujo de redes están orientadas a optimizar situaciones vinculadas a las redes de
transporte, redes de comunicación, sistema de vuelos de los aeropuertos, rutas de navegación de
los cruceros, estaciones de bombeo que transportan fluidos a través de tuberías, rutas entre
ciudades, redes de conductos y todas aquellas situaciones que puedan representarse mediante
una red donde los nodos representan las estaciones o las ciudades; los arcos, los caminos, las
líneas aéreas, los cables, las tuberías y el flujo lo representan los camiones, mensajes y fluidos que
pasan por la red.

Cuando se trata de encontrar el camino más corto entre un origen y un destino, la técnica,
algoritmo o el modelo adecuado es el de la ruta más corta. Cuando se trata de enviar el máximo
flujo de líquido por una tubería, la técnica, algoritmo o el modelo adecuado es el de flujo máximo,
(aunque existen otros modelos)

Los problemas de optimización de redes se pueden representar en términos generales a través de


uno de estos cuatro modelos:

• Modelo de minimización de redes (para investigar).

• Modelo de la ruta más corta.

• Modelo del flujo máximo.

• Modelo del flujo del costo mínimo.

MODELO DE FLUJO MÁXIMO

Se trata de enlazar un nodo fuente y un nodo destino a través de una red de arcos dirigidos. Cada
arco tiene una capacidad máxima de flujo admisible. El objetivo es el de obtener la máxima
capacidad de flujo entre la fuente y el destino.

Características:

1. Todo flujo a través de una red conexa dirigida se origina en un nodo, llamado fuente, y termina
en otro nodo llamado destino. En el caso de que el origen o el destino no existan en el problema,
se añaden ficticiamente utilizando arcos unidireccionales de capacidad infinita. como en grafo
mostrado a continuación

2. Los nodos restantes son nodos de trasbordo.


3. Se permite el flujo a través de un arco sólo en la dirección indicada por la flecha, donde la
cantidad máxima de flujo está dada por la capacidad del arco. En la fuente, todos los arcos señalan
hacia fuera. En el destino, todos señalan hacia el nodo.

4. El objetivo es maximizar la cantidad total de flujo de la fuente al destino. Esta cantidad se mide
en cualquiera de las dos maneras equivalentes, esto es, la cantidad que sale de la fuente o la
cantidad que entra al destino.

El problema de flujo máximo se puede formular como un problema de programación lineal, se


puede resolver con el método símplex y usar cualquier software. Sin embargo, se dispone de un
algoritmo de trayectorias aumentadas mucho más eficientes. El algoritmo se basa en dos
conceptos intuitivos, el de red residual y el de trayectoria aumentada.

Algoritmo de la trayectoria de aumento para el problema de flujo máximo:

1. Se identifica una trayectoria de aumento encontrando alguna trayectoria dirigida del origen al
destino en la red residual, tal que cada arco sobre esta trayectoria tiene capacidad residual
estrictamente positiva. (Si no existe una, los flujos netos asignados constituyen un patrón del flujo
óptimo).

2. Se identifica la capacidad residual c* de esta trayectoria de aumento encontrando el mínimo de


las capacidades residuales de los arcos sobre esta trayectoria. Se aumenta en c* el flujo de esta
trayectoria.

3. Se disminuye en c* la capacidad residual de cada arco en esta trayectoria de aumento. Se


aumenta en c* la capacidad residual de cada arco en la dirección opuesta en esta trayectoria. Se
regresa la paso 1.

MODELO DE LA RUTA MÁS CORTA

Consiste en encontrar la ruta más corta entre dos nodos dados de un grafo dirigido y valuado (con
capacidades). Se tiene dos algoritmos, por un lado el algoritmo de Dijkstra, que encuentra el
camino más corto entre el nodo origen y cada uno de los otros nodos de la red, y por otro lado el
algoritmo de Floyd, que encuentra el camino más cortó entre cualquier par de nodos de la red.

Algoritmo de Dijkstra.

Consiste en asignar una etiqueta a cada nodo de la red, la que luego de sucesivas actualizaciones,
contendrá el valor del camino de valor mínimo que une el nodo incio de la red con el nodo
considerado y el vértice precedente en dicho camino.

Para etiquetar cada uno de los nodos de la red se procede de la siguiente forma:
Paso 1: Considere todos los nodos que estén conectados con el origen por un arco, es decir a
través de un camino de longitud 1. A cada uno de ellos se le colocará una etiqueta que tiene dos
componentes a saber:

[ j , d ] dónde j representa el nodo precedente y d representa distancia.

El componente de distancia de la etiqueta que se pone en cada nodo de éstos es la distancia desde
el origen. El otro componente es el nodo predecesor (el origen en este caso). Estas etiquetas serán
temporales.

Paso 2: De todos los nodos con etiqueta temporal, se elige uno cuyo componente de distancia sea
mínimo y se lo etiqueta permanente. Los empates se rompen arbitrariamente. Cuando todos los
nodos son permanentes se pasa al Paso 4.

Paso 3: Todo nodo que no tenga actualmente etiqueta permanente, estará sin etiqueta o con una
temporal. Si i es el último etiquetado permanente considere todos los vértices que estén
conectados directamente con éste a través de un camino de longitud 1. Para cada uno de ellos
calcular la suma de su distancia a i más la distancia de la etiqueta de i .

Si el nodo no está etiquetado darle una etiqueta temporal. Si el nodo en cuestión ya tiene etiqueta
temporal, cambiarla sólo si la distancia recién calculada es menor que la componente de distancia
de la etiqueta actual. Si la distancia recién calculada es igual a la que tiene la etiqueta anterior,
conservar ambas. Regresar al Paso 2.

Paso 4: Las etiquetas permanentes indican la distancia más corta desde el origen a cada nodo de la
red. También indican el nodo predecesor en la ruta más corta hacia cada nodo.

Ejemplo:

Desarrollar con el fin de encontrar el camino más corto desde a hasta z:


Leyenda:

 Rojo: Aristas y vértices pertenecientes a la solución momentánea.


 Azul: Aristas y vértices candidatos.

Paso 1

En este primer paso, podemos apreciar que hay tres candidatos: Los vértices b, c y d. En este caso,
hacemos el camino desde el vértice a, hasta el vértice d, ya que es el camino más corto de los tres.

Solución momentánea:

 Camino: AD
 Distancia:5

Paso 2
Ahora, vemos que se añade un nuevo candidato, el vértice e, y el vértice c, pero esta vez a través
del d. Pero el camino mínimo surge al añadir el vértice c.

Solución momentánea:

 Camino: ADC
 Distancia:9

Paso 3

En este paso no se añade ningún candidato más puesto que el último vértice es el mismo que en el
paso anterior. En este caso el camino mínimo hallado es el siguiente:

Solución momentánea:

 Camino: ADCB
 Distancia:11

Paso 4
Como podemos comprobar, se han añadido dos candidatos nuevos, los vértices f y g, ambos a
través del vértice b. El mínimo camino hallado en todo el grafo hasta ahora es el siguiente:

Solución momentánea:

 Camino: ADCBF
 Distancia:15

Paso 5

En este antepenúltimo paso, se añaden tres vértices candidatos, los vértices g, z y e. Este último ya
estaba pero en esta ocasión aparece a través del vértice f. En este caso el camino mínimo, que
cambia un poco con respecto al anterior, es:

Solución momentánea:

 Camino: ADCBF
 Distancia:17

Paso 6
En el penúltimo paso, vuelve a aparecer otro candidato: el vértice z, pero esta vez a través del
vértice g. De todas formas, el camino mínimo vuelve a cambiar para retomar el camino que venía
siguiendo en los pasos anteriores:

Solución momentánea:

 Camino: ADCBFE
 Distancia:18

Paso 7

Por fin, llegamos al último paso, en el que sólo se añade un candidato, el vértice z a través del e. El
camino mínimo y final obtenido es:

Solución Final:

 Camino: ADCBFEZ
 Distancia:23
Otra forma. Ejemplo: Aplicar el algoritmo de Dijkstra sobre el siguiente grafo siendo el nodo
origen el 1:

Etapa Candidatos Permanente Temporal Conjunto S Vector D Vector P


1 2 3 4 5 1 2 3 4 5
Inicio - - {2, 3, 4, 5} {1}
0 0
1->3 - 30 1 2 3 4 5 1 2 3 4 5
1 Nodo 3 {2, 4, 5} {1, 3}
1->2 -100 0 30 0 1

1->2 -100
1 2 3 4 5 1 2 3 4 5
2 1->3->4 - 40 Nodo 4 {2, 5} {1, 3, 4}
0 30 40 0 1 3
1->3->5 - 90
1->2 -100

1->3->5 - 90 1 2 3 4 5 1 2 3 4 5
3 Nodo 2 {5} {1, 2, 3, 4}
1->3->4->5 - 90 0 55 30 40 0 4 1 3

1->3->4->2 - 55
1->3->5 - 90 1 2 3 4 5 1 2 3 4 5
4 Nodo 5 {}FIN {1, 2, 3, 4, 5}
1->3->4->5 - 90 0 55 30 40 90 0 4 1 3 3

La ruta más corta entre el nodo origen y cualquier otro nodo de la red se determina
empezando en el nodo del punto de destino deseado y retrocediendo a través de los nodos,
utilizando la información proporcionada por el vector P.
EJERCICIOS

Una persona tiene que desplazarse a diario de un pueblo 1 a otro 7. Está estudiando cual es el
trayecto más corto usando un mapa de carreteras. Las carreteras y sus distancias están
representadas en la figura siguiente:

Potrebbero piacerti anche