3 PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

34
3 PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN 3.1 Transporte y trasbordo Una de las principales áreas de aplicación de la programación lineal, son los problemas de distribución y transporte. Este tipo de problemas requiere que determinados productos (bienes) situados en puntos orígenes (fuentes), se trasladen físicamente a puntos de destinos o de demanda, de manera que se satisfagan las demandas sin exceder las capacidades de las fuentes y a costo mínimo. Típicamente, los orígenes representan fabricas donde se producen los bienes, y los destinos a los almacenes que distribuyen los bienes a los clientes. El título del problema de transporte, es sólo un emblema representativo de los primeros problemas que le dieron origen. En la actualidad se ha usado esta técnica en problemas de planeación de la producción, análisis de localización, programación de mano de obra, etc. El problema de transporte se puede ajustar a un modelo de programación lineal y resolverse con el algoritmo Simplex. Sin embargo, tiene una estructura tan especial que se han desarrollado métodos más eficientes que el Simplex. Las características de su estructura son: Los coeficientes de las variables en las restricciones son siempre unos o ceros. Si la oferta es igual a la demanda (lo cual siempre se puede lograr añadiendo orígenes o destinos ficticios), una de las restricciones es redundante. La variable dual correspondiente a una restricción redundante, se puede fijar arbitrariamente. Estas características se muestran en el siguiente ejemplo y dan origen al algoritmo del transporte, que es un método rápido y eficiente. Ejemplo 3.1 Planteamiento del modelo de transporte Existen dos presas que suministran agua a tres ciudades. Cada presa puede suministrar hasta 50 millones de litros de agua por día. Cada ciudad quisiera recibir 40 millones de litros de agua al día. Por cada millón de litros de demanda diaria no cumplida, hay una multa; en la ciudad 1, la multa es de $20 pesos; en la ciudad 2, la multa es de $22 pesos; y en la ciudad 3, la multa es de 23 pesos. En el esquema se muestran los costos para enviar 1 millón de litros de agua desde cada presa hacia cada ciudad. Formular un modelo para minimizar la suma de los costos de escasez y de transporte.

Transcript of 3 PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Page 1: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

3 PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

3.1 Transporte y trasbordo

Una de las principales áreas de aplicación de la programación lineal, son los problemas de

distribución y transporte. Este tipo de problemas requiere que determinados productos (bienes)

situados en puntos orígenes (fuentes), se trasladen físicamente a puntos de destinos o de

demanda, de manera que se satisfagan las demandas sin exceder las capacidades de las

fuentes y a costo mínimo. Típicamente, los orígenes representan fabricas donde se producen los

bienes, y los destinos a los almacenes que distribuyen los bienes a los clientes.

El título del problema de transporte, es sólo un emblema representativo de los primeros

problemas que le dieron origen. En la actualidad se ha usado esta técnica en problemas de

planeación de la producción, análisis de localización, programación de mano de obra, etc.

El problema de transporte se puede ajustar a un modelo de programación lineal y resolverse

con el algoritmo Simplex. Sin embargo, tiene una estructura tan especial que se han

desarrollado métodos más eficientes que el Simplex.

Las características de su estructura son:

Los coeficientes de las variables en las restricciones son siempre unos o ceros.

Si la oferta es igual a la demanda (lo cual siempre se puede lograr añadiendo orígenes o

destinos ficticios), una de las restricciones es redundante.

La variable dual correspondiente a una restricción redundante, se puede fijar

arbitrariamente.

Estas características se muestran en el siguiente ejemplo y dan origen al algoritmo del

transporte, que es un método rápido y eficiente.

Ejemplo 3.1 Planteamiento del modelo de transporte

Existen dos presas que suministran agua a tres ciudades. Cada presa puede suministrar hasta 50

millones de litros de agua por día. Cada ciudad quisiera recibir 40 millones de litros de agua al

día. Por cada millón de litros de demanda diaria no cumplida, hay una multa; en la ciudad 1, la

multa es de $20 pesos; en la ciudad 2, la multa es de $22 pesos; y en la ciudad 3, la multa es de

23 pesos. En el esquema se muestran los costos para enviar 1 millón de litros de agua desde

cada presa hacia cada ciudad. Formular un modelo para minimizar la suma de los costos de

escasez y de transporte.

Page 2: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Se presenta la necesidad de agregar una oferta ficticia, ya que la oferta en las presas es de 100

mld y la demanda en las ciudades es de 120 mld; para balancear el problema de transporte se

adiciona una oferta ficticia de 20 mld y que también corresponde a la escasez de

abastecimiento con una cierta multa diferente para cada ciudad.

El esquema contiene todos los parámetros requeridos en el modelo y las variables se definen

como:

xij = Millones de litros diarios de agua que se envían de la presa i a la ciudad j.

i = 1,2,3

j = 1,2,3

El modelo de programación lineal se puede plantear:

Min z = 7x11 + 8x12 + 10x13 + 9x21 + 7x22 + 8x23 + 20x31 + 22x32 + 23x33

S. a:

x11 + x12 + x13 =50

+ x21 + x22 + x23 =50

+ x31 + x32 + x33 = 20

x11 + x21 + x31 =40

x12 + x22 + x32 =40

x13 + x23 + x33 =40

El modelo dual del problema de transporte tendrá dos conjuntos de variables:

▪ Uno asociado a las restricciones de oferta y que se designa como Ui

▪ Otro asociado a las restricciones de demanda y se designan como Vj

El modelo dual queda de la siguiente manera:

Max z = 50U1 + 50U2 + 20U3 + 40V1 + 40V2 + 40V3

S. a:

U1 + V1 = 7

U1 + V2 = 8

U1 + V3 =10

PRESA

2

C IUDA D

1

PRESA

1

FICTICIA

C IUDA D

2

C IUDA D

3

50

50

20

40

40

40

7

8

10

9

7

8

20

22

23

Page 3: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

CIUDAD 1 CIUDAD 2 CIUDAD 3

PRESA 1 7 8 10

50

PRESA 2 9 7 8

50

FICTICIA 20 22 23

20

40 40 40

U2 + V1 = 9

U2 + V2 = 7

U2 + V3 = 8

U3 + V1 =20

U3 + V2 =22

U3 + V3 =23

donde Ui, Vj son no restringidas

i=1, 2, 3

j=1, 2, 3

Cuando la oferta es igual a la demanda, una de las restricciones del modelo primal es

redundante, es decir, se puede expresar en función de las demás. Esto significa que en el

modelo dual, a una de las variables se le puede asignar un valor arbitrario.

La estructura del problema y estas características permiten utilizar un algoritmo más eficiente

que el algoritmo Simplex; éste es el de transporte en el cual se requiere como información, los

costos, cuáles son las variables básicas y cuál es su valor. Esto se puede registrar en una tabla

más compacta, llamada tabla del transporte, que tiene la siguiente forma:

Cada celda de la tabla, tiene la siguiente información: el costo de transportar una unidad del

producto (recuadro), del origen i al destino j y cuántas unidades se transporta de i a j. Si la

celda es básica, éste será un valor positivo, si es no básica, no tendrá ningún valor en la celda.

En todo problema de transporte debe haber tantas celdas con variables básicas como la suma

de restricciones de origen y destino, menos uno. En el ejemplo, hay tres orígenes y tres destinos

por lo que habrá: 3 + 3 – 1 = 5 celdas básicas; éste número de celdas básicas se conservará

durante todo el proceso.

Algoritmos de solución inicial

El algoritmo con el que se resuelve el problema de transporte, requiere para su aplicación, al

igual que el Simplex, de una solución inicial básica factible, la cual se puede obtener por varios

métodos, siendo los más utilizados, los siguientes:

Método de la Esquina Noroeste.

Método de Vogel.

Page 4: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Algoritmo de la esquina noroeste

1) Seleccionar la celda de la esquina noroeste (en un plano, el norte queda hacia arriba y el

oeste queda a la izquierda de manera que la esquina noroeste es la esquina situada arriba

y a la izquierda de la tabla). Fijar el embarque en esa celda a lo que sea menor: lo

disponible en el origen o lo que se requiere en el destino; si es cero se designa a la celda

como básica a nivel cero.

2) Disminuir la cantidad en la celda a la cantidad en el origen y en el destino correspondiente.

Eliminar el renglón o la columna que se haya convertido en cero. Si hay empate la solución

es degenerada. Eliminar un solo renglón o columna, pero no ambos.

3) Si se terminaron los orígenes y la demanda, se hace alto. En caso contrario, se regresa al

paso 1.

Algoritmo de Vogel

1) Calcular para cada renglón y columna la diferencia entre el menor elemento de costo y el

segundo costo menor, expresada en valor absoluto.

2) Escoger el renglón o columna con la máxima diferencia. Asignar lo más posible a la celda

con menor costo en el renglón o columna (aún cero en el caso degenerado).

Disminuir en el origen y destino en la cantidad asignada.

Eliminar el origen o destino que sea cero, pero no ambos.

3) Si sólo queda un renglón o una columna, hacer la asignación remanente con un elemento

básico en cada celda del renglón o columna respectivamente, y parar; si no, ir al paso 1.

Ejemplo 3.2 Algoritmos de solución inicial

Un contratista tiene que acarrear grava a tres construcciones. Puede comprar hasta 18

toneladas en un banco al norte de la ciudad y 14 toneladas en un banco al sur. Necesita 10, 5 y

10 toneladas en las construcciones 1, 2 y 3, respectivamente. El precio de compra por tonelada

en cada foso y los costos de acarreo se dan en la siguiente tabla:

Banco Costo por tonelada acarreada Precio por

tonelada 1 2 3

Norte 3 6 5 10

Sur 6 3 4 12

El contratista desea determinar cuánto acarrear de cada banco a cada construcción, de

manera que se minimice el costo total de compra y acarreo de la grava.

Consideraciones:

Page 5: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

C1 C2 C3 FICT

Norte 13 16 15 0 18

Sur 18 15 16 0 14

10 5 10 7

C1 C2 C3 FICT

Norte 13 16 15 0 8

10

Sur 18 15 16 0 14

0 5 10 7

C1 C2 C3 FICT

Norte 13 16 15 0 3

10 5

Sur 18 15 16 0 14

0 0 10 7

C1 C2 C3 FICT

Norte 13 16 15 0 0

10 5 3

Sur 18 15 16 0 14

0 0 7 7

C1 C2 C3 FICT

Norte 13 16 15 0 0

10 5 3

Sur 18 15 16 0 0

7 7

0 0 0 0

▪ El problema de transporte no está balanceado; es decir, hay una oferta superior (32

toneladas) a la demanda de la construcción (25 toneladas), por lo que es necesario agregar

una demanda ficticia de 7 toneladas.

▪ El costo en cada celda se integra con el costo de transporte más el precio de venta.

La tabla del transporte es:

Solución inicial con el algoritmo de Esquina Noroeste:

Z INICIAL CON ESQUINA NOROESTE = $367.00

Page 6: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

C1 C2 C3 FICT D iferencias

Norte 13 16 15 0 18 13

Sur 18 15 16 0 7 15

7

10 5 10 0

D iferencias 5 1 1

C1 C2 C3 FICT D iferencias

Norte 13 16 15 0 8 2

10

Sur 18 15 16 0 0 1

7

0 5 10 0

D iferencias 5 1 1

C1 C2 C3 FICT D iferencias

Norte 13 16 15 0 0 1

10 8

Sur 18 15 16 0 0 1

7

0 5 2 0

D iferencias 1 1

C1 C2 C3 FICT

Norte 13 16 15 0 18

Sur 18 15 16 0 14

10 5 10 7

C1 C2 C3 FICT

Norte 13 16 15 0 0

10 8

Sur 18 15 16 0 0

5 2 7

0 0 0 0

C1 C2 C3 FICT

Norte 13 16 15 0 0

10 8

Sur 18 15 16 0 0

5 2 7

0 0 0 0

Solución inicial con el algoritmo de Vogel:

Se selecciona renglón o columna con la mayor diferencia y se asigna a la celda de menor

costo:

Z INICIAL CON VOGEL = $357.00

Page 7: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

INICIO

1. Obtener una solución básica factible inicial utilizando el método de la esquina

noroeste o el de Vogel.

2. Especificar una variable dual arbitrariamente para un origen o un destino.

3. Para todas las celdas básicas se debe cumplir que:

Cij - Ui - Vj = 0

Resolver para todos los valores de Ui y Vj con la formula anterior.

4. Para todas las celdas no básicas calcular el costo reducido:

dij = Cij - Ui - Vj

Seleccionar la dij mínima.

¿Mínima dij, menor

que cero?

5. La variable con la dij más negativa debe de entrar a la base.

6. Encontrar una serie de brincos alternativos, verticales y horizontales,

análogos al movimiento de una torre de ajedrez, que comiencen y terminen en

la celda que entra, con todos los brincos intermedios en celdas basicas. No se

puede caer en una celda basica más de una vez.

7. Indicar la celda que entra a la base con un signo + y a la celdas basicas

alternativamente con + y -.

8. Escoger el menor elemento básico que tenga signo - (si hay empate romperlo

arbitrariamente). Añadir la cantidad minima así determinada a las celadas con

signo +, y restarla de las celdas con signo -.

Alto, la solución

es óptima.

Criterio de

optimalidadSí

No

Se puede observar que cada método da una solución inicial distinta, aunque puede ser igual.

Se recomienda utilizar el método de Vogel, ya que utiliza los costos para establecer las

diferencias y entonces permite una mejor selección de la variable básica, que se traduce en

una rápida convergencia hacia una solución óptima. Siempre se requiere que la oferta total

sea igual a la demanda total (que esté balanceado el transporte). Si la oferta es mayor que la

demanda, se puede añadir un centro de demanda ficticio, que requiera lo necesario para

conseguir la igualdad. Los costos de transportar a este centro ficticio son ceros. Si hay más

demanda que oferta, se añade un centro de oferta ficticio, con costo de transporte igual a

cero, que ofrezca lo necesario para igualar.

Algoritmo del transporte

Una vez obtenida una solución inicial se procede a la aplicación del algoritmo del transporte, el

cual se puede representar en forma de diagrama de flujo, según la figura 4.1:

Figura 3.1 Diagrama de flujo del algoritmo del transporte

Page 8: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

Planta 2 10.5 12 14 10 0 150

Planta 3 8.5 15 12 8 0 150

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

70 80 50

Planta 2 10.5 12 14 10 0 150

50 50 50

Planta 3 8.5 15 12 8 0 150

150

70 80 100 50 200

Ejemplo 3.3 Algoritmo del transporte

Una compañía de concreto premezclado debe atender 4 obras y cuenta con 3 plantas

situadas en diferentes partes de la ciudad. El costo de transportar un m3 de concreto de la

planta i a la planta j se muestra en la tabla:

La capacidad global de producción diaria de cada planta se muestra en la tabla:

Planta Producción,

m3/día

1 200

2 150

3 150

En tanto que los requerimientos diarios de cada obra son los consignados en la tabla:

Obra Requerimientos,

m3/día

1 70

2 80

3 100

4 50

Calcular cuántos m3 de concreto debe proporcionar cada planta a cada una de las obras de

tal manera que los costos de transportes sean mínimos.

La producción (500 m3/día) es mayor que los requerimientos (300 m3/día), por lo que es

necesario agregar una demanda ficticia (200 m3/día) para balancear el problema del

transporte:

Una solución inicial con el algoritmo de la esquina noroeste es la siguiente:

Obra

Planta 1 2 3 4

1 12 13 12 10

2 10.5 12 14 10

3 8.5 15 12 8

Page 9: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

14-U2-V3=0; U2=2

10-U2-V4=0; V4=8

0-U2-V5=0; V5=-2

0-U3-V5=0; U3=2

U1=0 V1=12

U2=2 V2=13

U3=2 V3=12

V4=8

V5=-2

D14=10-U1-V4=2

D15=0-0+2=2

D21=10.5-2-12=-3.5

D22=12-2-13=-3

D31=8.5-2-12=-5.5

D32=15-2-13=0

D33=12-2-12=-2

D34=8-2-8=-2

El valor de la función objetivos ZINICIAL= $3680.00

Algoritmo del transporte

En las celdas básicas plantear la ecuación: Cij-Ui-Vj=0, en que U es una variable dual asociada

a cada oferta y V es una variable dual asociada a cada demanda. En total se tienen 3

variables duales asociadas a los renglones y 5 variables duales asociadas a las demandas; se

tienen 8 variables y 7 ecuaciones, pero, por condiciones de redundancia se tiene la ventaja de

darle un valor arbitrario a una de las variables duales, por lo que se tiene un sistema consistente

que se resuelve para determinar los valores de las variables duales:

Seleccionando a U1 como la variable a la que es posible asignar un valor arbitrario cualquiera,

se tienen los siguientes valores:

Resolviendo para las demás variables duales se tiene:

Los valores de todas las variables duales son:

En cada celda no básica se plantea la ecuación Dij=Cij-Ui-Vj; se seleccionan aquellas Dij que

tienen un valor negativo y de entre ellas la más negativa, que indicará la celda que necesita

más rebalanceo:

De entre ellas se selecciona a la celda 3,1 (con D31=-5.5) como la celda que debe ser básica,

por lo que es necesario sacar a alguna de las básicas; esto se logra saltando sobre celdas

básicas, cambiando cada vez de dirección (movimiento de la torre del ajedrez) alternando el

U1=0 V1=12

U2= V2=13

U3= V3=12

V4=

V5=

Page 10: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

(-) 70 80 (+) 50

Planta 2 10.5 12 14 10 0 150

(-) 50 50 (+) 50

Planta 3 8.5 15 12 8 0 150

(+) (-) 150

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

(-) 20 80 (+) 100

Planta 2 10.5 12 14 10 0 150

(-) 50 (+) 100

Planta 3 8.5 50 15 12 8 0 150

(+) (-) 100

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

20 80 100

Planta 2 10.5 12 14 10 0 150

50 100

Planta 3 8.5 50 15 12 8 0 150

100

70 80 100 50 200

D14=10-13.5=-3.5

D15=0-3.5=-3.5

D21=10.5+3.5-12=2

D22=12+3.5-13=2.5

D23=14+3.5-12=5.5

D32=15+3.5-12=6.5

D33=12+3.5-12=3.5

D34=8+3.5-13.5=-2

signo (+) y el (-) a cada celda (algoritmo del salto del arroyo o stepping stone); de entre ellas se

selecciona el menor valor de las que adquieren el signo (-) y será la cantidad que hay que

sumar y restar en cada celda; obviamente habrá una que se haga cero que será la celda que

dejará de ser básica:

Se observa que de las celdas con (-) la que tiene el menor valor es la celda (2,3), por lo que el

valor de 50 se suma y resta en cada celda según el signo con que está marcada:

Se tiene la tabla resultante con un valor de Z1=$3405.00:

Repitiendo el proceso anterior de determinar valores de las variables duales y de calcular las

diferencias Dij se tiene:

Para decidir entre las celdas (1,4) y (1,5) puede hacerse un análisis de sensibilidad:

U1=0 V1=12

U2=-3.5 V2=13

U3=-3.5 V3=12

V4=13.5

V5=3.5

Page 11: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

80 100 20

Planta 2 10.5 12 14 10 0 150

30 120

Planta 3 8.5 15 12 8 0 150

70 80

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

80 100 20

Planta 2 10.5 12 14 10 0 150

50 100

Planta 3 8.5 15 12 8 0 150

70 80

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

80 100 20

Planta 2 10.5 12 14 10 0 (+) 150

(-) 30 120

Planta 3 8.5 15 12 8 0 (-) 150

70 (+) 80

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

80 100 20

Planta 2 10.5 12 14 10 0 150

150

Planta 3 8.5 15 12 8 0 150

70 30 50

70 80 100 50 200

Introduciendo la celda (1,4); Z2=$3335.00:

Si se introduce la celda (1,5); Z2=$3335.00:

Se debe seleccionar la celda más favorable, es decir, la que aporte el menor costo; en este

caso son iguales, por lo que es indiferente una u otra. Si se escoge la primera:

La celda (3,4) debe ser básica:

Z3=$3275.00

U1=0 V1=8.5

U2=0 V2=13

U3=0 V3=12

V4=10

V5=0

D11=12-8.5=3.5

D15=0

D21=10.5-8.5=2

D22=12-13=-1

D23=14-12=2

D32=15-13=2

D33=12-12=0

D34=8-10=-2

Page 12: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

D11=12-10.5=1.5

D15=0-0-2=-2

D21=10.5+2-10.5=2

D22=12+2-13=1

D23=14+2-12=4

D32=15+2-13=4

D33=12+2-12=2

D24=10+2-10=2

U1=0 V1=10.5

U2=-2 V2=13

U3=-2 V3=12

V4=10

V5=2

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 (+) 200

80 100 (-) 20

Planta 2 10.5 12 14 10 0 150

150

Planta 3 8.5 15 12 8 0 (-) 150

70 (+) 30 50

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

80 100 20

Planta 2 10.5 12 14 10 0 150

150

Planta 3 8.5 15 12 8 0 150

70 50 30

70 80 100 50 200

D11=12-8.5=3.5

D14=10-0-8=2

D21=10.5-0-8.5=2

D22=12-0-13=-1

D23=14-0-12=2

D32=15-0-13=2

D33=12-0-12=0

D24=10-0-8=2

La celda (1,5) debe convertirse en básica:

Z4=$3235.00

U1=0 V1=8.5

U2=0 V2=13

U3=0 V3=12

V4=8

V5=0

Page 13: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 (+) 200

(-) 80 100 20

Planta 2 10.5 12 14 10 0 (-) 150

(+) 150

Planta 3 8.5 15 12 8 0 150

70 50 30

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

100 100

Planta 2 10.5 12 14 10 0 150

80 70

Planta 3 8.5 15 12 8 0 150

70 50 30

70 80 100 50 200

U1=0 V1=8.5

U2=0 V2=12

U3=0 V3=12

V4=8

V5=0

D11=12-8.5=3.5

D14=10-0-8=2

D21=10.5-0-8.5=2

D12=13-0-12=1

D23=14-0-12=2

D32=15-0-12=3

D33=12-0-12=0

D24=10-0-8=2

La celda (2,2) debe ser básica:

Todas las Dij>0 por lo que la última iteración es la distribución óptima, con un costo total de

$3155.00; la distribución del concreto sería como sigue:

La obra 1 se abastecerá con 70 m3 de la planta 3.

La obra 2 se abastecerá con 80 m3 de la planta 2.

La obra 3 se abastecerá con 100 m3 de la planta 1.

La obra 4 se abastecerá con 50 m3 de la planta 3.

Además se tendrán sobrantes en la producción de 100 m3 en la planta 1, de 70 m3 en la planta

2 y de 30 m3 en la planta 3.

Page 14: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

Planta 2 10.5 12 14 10 0 150

Planta 3 8.5 15 12 8 0 150

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

200

Planta 2 10.5 12 14 10 0 150

80 70 E

Planta 3 8.5 15 12 8 0 150

70 30 50

70 80 100 50 200

U1=2 V1=8.5

U2=2 V2=10

U3=0 V3=12

V4=8

V5=-2

D11=12-U1-V1=1.5

D12=13-U1-V2=1

D13=12-U1-V3=-2

D14=10-U1-V4=0

D21=10.5-U2-V1=0

D24=10-U2-V4=0

D32=15-U3-V2=5

D35=0-U3-V5=2

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 (-) 200

(+) 200

Planta 2 10.5 12 14 10 0 (+) 150

80 (-) 70 E

Planta 3 8.5 15 12 8 0 150

70 30 50

70 80 100 50 200

Obra 1 Obra 2 Obra 3 Obra 4 Ficticia

Planta 1 12 13 12 10 0 200

70 130

Planta 2 10.5 12 14 10 0 150

80 70

Planta 3 8.5 15 12 8 0 150

70 30 50

70 80 100 50 200

U1=0 V1=8.5

U2=0 V2=12

U3=0 V3=12

V4=8

V5=0

El problema anterior, pero considerando una solución inicial de Vogel.

Problema del transporte:

Solución inicial (Zi=$3295.00):

Algoritmo del transporte:

La celda (1,3) debe entrar a la base:

Page 15: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

D11=12-U1-V1=3.5

D12=13-U1-V2=1

D14=10-U1-V4=2

D21=10.5-U2-V1=2

D23=14-U2-V3=2

D24=10-U2-V4=2

D32=15-U3-V2=3

D35=0-U3-V5=0

La última iteración corresponde a la solución óptima (Dij≥0) con Z1=$3155.00; nótese que hay

una convergencia rápida a la solución óptima si se inicia con una solución inicial de Vogel.

Aunque pudiera diferir en los valores de algunas celdas, el costo total es el mismo:

La obra 1 se abastecerá con 70 m3 de la planta 3.

La obra 2 se abastecerá con 80 m3 de la planta 2.

La obra 3 se abastecerá con 70 m3 de la planta 1 y con 30 m3 de la planta 3.

La obra 4 se abastecerá con 50 m3 de la planta 3.

Además se tendrán sobrantes en la producción de 130 m3 en la planta 1 y de 70 m3 en la

planta 2.

Ahora utilizando el software TORA:

Figura 3.2 Ingresando los datos del modelo del transporte.

Page 16: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Figura 3.3 Solución del modelo del transporte.

Maximización en problemas de transporte

Aunque originalmente el algoritmo del transporte se instrumentó para minimizar costos, es

posible utilizarlo para optimizar utilidades. Una opción, sería invertir los algoritmos tanto de

solución inicial como de transporte y utilizar las utilidades en ellos; se obtendría la distribución

que optimizara las utilidades. La otra opción que se considera la más fácil, es convertir las

utilidades en costos de oportunidad; tratándose de costos, ya es posible utilizar los algoritmos tal

como se conocen.

Se dice que se incurre en un costo de oportunidad cuando no se toma la mejor decisión. En el

caso de un arreglo del transporte, siendo cada renglón un lugar de oferta, habrá que

seleccionar en cada renglón la mayor utilidad y la correspondiente en cada celda para

Page 17: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

establecer el costo de oportunidad; así, se obtendría la tabla de transporte con costos de

oportunidad con la que se estaría en condiciones de operar, tanto para la solución inicial como

para el algoritmo de transporte.

Conviene tener en cuenta que para el cálculo de la función objetivo z, se considerarán los

valores correspondientes de las utilidades en cada celda básica de las soluciones. Cuando el

problema del transporte no esté balanceado y se trate de utilidades, es necesario balancearlo

con una oferta o una demanda ficticia, antes de calcular los costos de oportunidad. En el

ejemplo siguiente se ilustra la manera de proceder para estas situaciones.

Ejemplo 3.4 Maximización en el transporte

Una compañía petrolera controla dos campos petroleros. El campo 1 puede producir hasta 40

millones de barriles de petróleo al día, y el campo 2 puede producir hasta 50 millones de barriles

de petróleo al día. En el campo 1 cuesta 3 dólares extraer y refinar un barril de petróleo; en el

campo 2 cuesta 2 dólares extraer y refinar un barril de petróleo. La compañía vende el petróleo

a dos países: Inglaterra y Japón. En la tabla se muestra el costo de envío por barril de petróleo.

Cada día, Inglaterra está dispuesto a comprar hasta 40 millones de barriles de petróleo (a 6

dólares el barril), y Japón está dispuesto a comprar hasta 30 millones de barriles de petróleo (a

6.50 dólares el barril).

DESDE HACIA

Inglaterra, dólares Japón, dólares

Campo 1 1 2

Campo 2 2 1

Consideraciones:

El problema del transporte no está balanceado. La oferta es de 90 millones de barriles diarios y

lo que se demanda entre los dos países es 70 millones de barriles diarios; es necesario agregar

una demanda ficticia de 20 millones de barriles por día.

Por otra parte, se integrará una utilidad por transporte y por extracción-refinación del petróleo.

A partir de esta utilidad se establecerá la forma de resolver un problema de maximización en el

transporte, ya que los algoritmos de solución inicial y el algoritmo del transporte están diseñados

para problemas de costos.

Para utilizar los algoritmos, habrá que convertir las utilidades en costos de oportunidad. El costo

de oportunidad se define como aquel costo en que se incurre por no tomar la mejor decisión.

Para el ejemplo; en cada celda se tendrá una utilidad:

Page 18: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Inglaterra Japón

Campo 1 6-3-1=$2 6.5-3-2=$1.5

Campo 2 6-2-2=$2 6.5-2-1=$3.5

INGLATERRA JAPÓN FICTICIA

C1 2 1.5 0 40

C2 2 3.5 0 50

40 30 20

INGLATERRA JAPÓN FICTICIA

C1 0 0.5 2 40

C2 1.5 0 3.5 50

40 30 20

INGLATERRA JAPÓN FICTICIA

C1 0 0.5 2 40 0.5

40

C2 1.5 0 3.5 50 1.5

40 30 20

1.5 0.5 1.5

INGLATERRA JAPÓN FICTICIA

C1 0 0.5 2 0 1.5

40

C2 1.5 0 3.5 50 3.5

0 30 20

0.5 1.5

INGLATERRA JAPÓN FICTICIA

C1 0 0.5 2 0 1.5

40

C2 1.5 0 3.5 20 3.5

30

0 0 20

1.5

INGLATERRA JAPÓN FICTICIA

C1 0 0.5 2 40

40 E

C2 1.5 0 3.5 50

30 20

40 30 20

Utilidad = Precio de venta – Costo por extracción y refinación – Costo por transporte

De manera que las utilidades en cada celda serán:

La tabla del transporte con utilidades es:

La conversión a costos de oportunidad: en cada renglón se selecciona la mejor utilidad (que es

la mejor decisión) y en cada celda se hace la diferencia entre la mejor decisión y cualquier otra

utilidad:

Búsqueda de una solución inicial con el algoritmo de Vogel:

Page 19: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

U1=0 V1=0

U2=1.5 V2=-1.5

V3=2

El valor de la función objetivo se calcula con los valores de utilidades:

ZINICIAL=185 millones de dólares

Aplicando el algoritmo del transporte:

Al calcular las diferencias se encuentra que Dij≥0, por lo que la solución inicial es óptima y

sugiere enviar 40 millones de barriles por día del Campo 1 a Inglaterra y del Campo 2 enviar 30

millones de barriles por día a Japón, con lo cual la compañía petrolera optimizará sus utilidades

en 185 millones de dólares por día.

El problema de trasbordo

El problema de transporte (originalmente) solamente permite envíos que van directamente

desde un punto de oferta hacia un punto de demanda. En muchas situaciones, se permite

envíos entre punto de oferta o entre puntos de demanda; algunas veces, también puede haber

puntos (llamados puntos de transbordo) a través de los cuales se puede transbordar bienes en

su viaje desde un punto de oferta hacia un punto de demanda. Problemas de envío, con

alguna o todas estas características son problemas de transbordo. Afortunadamente, se puede

obtener la solución óptima para un problema de transbordo, al resolver un problema de

transporte.

Se define un punto de oferta como un punto que puede enviar bienes hacia un punto, pero

que no puede recibir bienes de cualquier otro punto. De manera similar, un punto de demanda

es un punto que puede recibir bienes de otros puntos, pero no puede enviar bienes hacia

ningún otro punto. Un punto de transbordo es un punto que puede tanto recibir bienes de otros

puntos como enviar bienes hacia otros puntos.

A continuación se describe cómo se puede obtener una solución óptima de un problema de

transbordo, resolviendo un problema de transporte:

1. Si es necesario, se añade un punto de demanda ficticio (con oferta de cero y una demanda

igual a la oferta en exceso) para balancear el problema. Los envíos hacia el punto ficticio y

desde un punto hacia sí mismo, tendrán naturalmente un costo de envío igual a cero. Sea s

la oferta total disponible.

2. Se construye un cuadro de transporte de la manera siguiente. Se necesitará un renglón en el

cuadro por cada punto de oferta y por cada punto de transbordo. Y se necesitará una

columna por cada punto de demanda y por cada punto de transbordo. Cada punto de

Page 20: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

1 3

72 4

6 5

20,00090,000

50,000 60,000 (galones)

20

40

39

10

8

4

2

30

oferta tendrá una oferta igual a su oferta original, y cada punto de demanda tendrá una

demanda igual a su demanda original. Sea s la oferta total disponible. Entonces cada punto

de transbordo tendrá una oferta igual a (la oferta original del punto) + s y una demanda

igual a (la demanda original del punto) + s. Esto asegura que cualquier punto de transbordo

que es un abastecedor neto, tendrá una salida neta, igual a la oferta original del punto, y

cualquier punto de transbordo que sea un recibidor neto tendrá una entrada neta igual a la

demanda original del punto. Aunque no se sabe cuánto se enviará a través de cada punto

de transbordo, se puede estar seguro de que la cantidad total enviada a través del punto no

sea mayor que s. Esto explica porqué se suma s a la oferta y a la demanda en cada punto

de transbordo. Al sumar las mismas cantidades a la oferta y a la demanda en cada punto de

transbordo, se asegura que la salida neta de cada punto de transbordo será correcta y

también se mantiene un cuadro de transporte balanceado.

3. Se aplican los algoritmos de solución inicial y del transporte para buscar una solución óptima.

Ejemplo 3.5 Problema de trasbordo

Considérese la red de gasoductos representada por la figura, los distintos nodos representan

estaciones de bombeo y de recepción. En la red se ven las distancias entre las estaciones. El

costo de transporte por galón, entre dos nodos es directamente proporcional a la longitud del

gasoducto. Formular y resolver como un modelo de trasbordo.

Para establecer la tabla del transporte:

1 y 3 son ofertas puras

2 y 4 son demandas puras

5, 6 y 7 son trasbordos

Page 21: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

2 4 5 6 7

1 20 M M M 3 50

3 M 30 M M 9 60

5 M 2 0 4 10 110

6 8 M 4 0 M 110

7 40 M 10 M 0 110

90 20 110 110 110

2 4 5 6 7

1 20 M M M 3 50

50

3 M 30 M M 9 60

60

5 M 2 0 4 10 110

20 90

6 8 M 4 0 M 110

90 20

7 40 M 10 M 0 110

110 E E

90 20 110 110 110

U1=3 V1=M+8

U2=9 V2=M-2

U3=4-M V3=10

U4=-M V4=M

U5=0 V5=0

D11=20-U1-V1=9-M D31=M-U3-V1=M-12

D12=M-U1-V2=-1 D33=0-U3-V3=M-14

D13=M-U1-V3=M-13 D35=10-U3-V5=M+6

D14=M-U1-V4=-3 D42=M-U4-V2=M-2

D21=M-U2-V1=-17 D43=4-U4-V3=M-6

D22=30-U2-V2=23-M D45=M-U4-V5=2M

D23=M-U2-V3=M-19 D51=40-U5-V1=32-M

D24=M-U2-V4=-9 D52=M-U5-V2=2

2 4 5 6 7

1 20 M M M 3 (-) 50

(+) 50

3 M 30 M M 9 60

60

5 M 2 0 4 10 110

20 90

6 8 M 4 0 (+) M 110

(-) 90 20

7 40 M 10 M 0 (+) 110

110 (-) E E

90 20 110 110 110

2 4 5 6 7

1 20 M M M 3 50

E 50

3 M 30 M M 9 60

60

5 M 2 0 4 10 110

20 90

6 8 M 4 0 M 110

90 20

7 40 M 10 M 0 110

110 E

90 20 110 110 110

La tabla del transporte es:

Solución inicial con algoritmo de Vogel:

Zi=$2910.00

La celda (1, 1) debe ser básica:

Z1=$2910.00

Page 22: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

U1=3 V1=17

U2=9 V2=7

U3=-5 V3=10

U4=-9 V4=9

U5=0 V5=0

D54=M-U5-V4=M-9 D31=M-U3-V1=M-12

D12=M-U1-V2=M-10 D33=0-U3-V3=-5

D13=M-U1-V3=M-13 D35=10-U3-V5=15

D14=M-U1-V4=M-12 D42=M-U4-V2=M-1

D21=M-U2-V1=M-26 D43=4-U4-V3=3

D22=30-U2-V2=14 D45=M-U4-V5=M+9

D23=M-U2-V3=M-19 D51=40-U5-V1=23

D24=M-U2-V4=M-18 D52=M-U5-V2=M-7

2 4 5 6 7

1 20 M M M 3 (-) 50

(+) E 50

3 M 30 M M 9 60

60

5 M 2 0 4 (-) 10 110

20 (+ ) 90

6 8 M 4 0 (+) M 110

(-) 90 20

7 40 M 10 M 0 (+) 110

(-) 110 E

90 20 110 110 110

2 4 5 6 7

1 20 M M M 3 50

50

3 M 30 M M 9 60

60

5 M 2 0 4 10 110

20 50 40

6 8 M 4 0 M 110

40 70

7 40 M 10 M 0 110

60 50

90 20 110 110 110

U1=8 V1=12

U2=19 V2=2

U3=0 V3=0

U4=-4 V4=4

U5=10 V5=-10

D54=M-U5-V4=M-14 D31=M-U3-V1=M-12

D12=M-U1-V2=M-10 D15=3-U1-V5=4

D13=M-U1-V3=M-8 D35=10-U3-V5=20

D14=M-U1-V4=M-12 D42=M-U4-V2=M+2

D21=M-U2-V1=M-31 D43=4-U4-V3=8

D22=30-U2-V2=9 D45=M-U4-V5=M+14

D23=M-U2-V3=M-19 D51=40-U5-V1=18

D24=M-U2-V4=M-23 D52=M-U5-V2=M-12

La celda (3, 3) debe ser celda básica:

Z2=$2660.00

Page 23: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

1 3

2 7 4

6 5

50 00060 000

20 000

40 000

60 000

209

210

4

40 000

890 000

50 000 60 000

20 000

4

1 2

5 3

34

1

3

2

1 2 3 4 5

1 0 4 M 3 1 6

2 4 0 2 M M 6

3 M 2 0 M 3 4

4 3 M M 0 M 3

5 1 M 3 M 0 5

3 3 6 6 6

La solución es óptima, Dij≥0; el resultado se puede expresar con la red:

Ejemplo 3.6 Problema de transbordo

Un constructor tiene 6 piezas de equipo de construcción de la misma clase, disponible en las

ciudades 1 y 2 (3 piezas en cada una), y tiene obras en proceso en las ciudades 3, 4 y 5 en las

cuales requiere de 2, 3 y 1 piezas, respectivamente. Estas ciudades están localizadas como se

muestra en la figura y los costos de transporte por unidad aparecen en los arcos de la red. En

donde no hay liga directa entre dos ciudades, el transporte se puede hacer con las ciudades

intermedias. ¿Cómo puede llevarse a cabo el traslado de equipo, para minimizar el costo total?

La tabla inicial de transporte es:

Page 24: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

1 2 3 4 5

1 0 4 M 3 1 6

2 3 1

2 4 0 2 M M 6

1 3 2

3 M 2 0 M 3 4

4

4 3 M M 0 M 3

3

5 1 M 3 M 0 5

5

3 3 6 6 6

2

5

1

4

3

$3

3 $4

1

$11 $22

3 3

1 2

Una solución inicial con el algoritmo de Vogel:

Aplicando el algoritmo del transporte:

Se observa que Dij≥0 por lo que la solución es óptima y se puede representar en la red:

El costo total de transporte es Z=$18.00

U1=-2 V1=4 2-U1-V1=0; U1=-2

U2=0 V2=0 3-U1-V4=0; V4=5

U3=-2 V3=2 1-U1-V5=0; V5=3

U4=-5 V4=5 0-U3-V3=0; U3=-2

U5=-3 V5=3 0-U4-V4=0; U4=-5

0-U5-V5=0; U5=-3

D12=4-U1-V2=6

D13=M-U1-V3=M

D24=M-U2-V4=M-5

D25=M-U2-V5=M-3

D31=M-U3-V1=M-2

D32=2-U3-V2=4

D34=M-U3-V4=M-3

D35=3-U3-V5=2

D41=3-U4-V1=4

D42=M-U4-V2=M+5

D43=M-U4-V3=M+3

D45=M-U4-V5=M+2

D51=1-U5-V1=0

D52=M-U5-V2=M-1

D53=3-U5-V3=4

D54=M-U5-V4=M-2

Page 25: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

2

1

3

4

6

5Pozo 1

Pozo 2

Mobile

Galveston

Nueva York

Los Ángeles

150 000

200 000

140 000

160 000

78

66

8

25

25

15

12

24 13

13 20 1456

Ejemplo 3.7 Problema de trasbordo empleando Solver

Sunco Oil produce petróleo en dos pozos. El pozo 1 produce 150 000 barriles por día y el pozo 2

produce 200 000 barriles al día. Es posible enviar petróleo directamente de los pozos a los

clientes de sunco en Los Ángeles y Nueva York. Alternativamente, Sunco podría transportar

petróleo a los puertos de Mobile y Galveston y luego enviarlo en un buque cisterna a Nueva

York y Los Ángeles. Esta última ciudad requiere de 160 000 barriles por día y Nueva York requiere

140 000 barriles por día. El costo de enviar 1000 barriles entre dos puntos se muestra en la tabla.

Formular el problema de transbordo con un modelo de transporte equivalente que podría

utilizarse para minimizar los costos de transporte a fin de satisfacer las demandas de petróleo de

Los Ángeles y Nueva York.

Nota: Los guiones indican que no están permitidos los envíos.

Identificando las variables de decisión:

A ($)

De: Pozo 1 Pozo 2 Mobile Galveston N. Y. L. A.

Pozo 1 0 - 7 13 25 20

Pozo 2 - 0 15 12 24 25

Mobile - - 0 6 8 13

Galveston - - 6 0 14 8

N. Y. - - - - 0 5

L. A. - - - - 6 0

Page 26: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Introducción de datos en Excel:

Se introduce la función sumaproducto para la celda objetivo:

Se introduce la función sumaproducto para cada restricción:

Page 27: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

En herramientas, se selecciona Solver y se introduce la información solicitada; en Opciones se

solicita que el análisis sea lineal:

Finalmente, se tiene un resultado:

Page 28: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

2

1

3

4

6

5Pozo 1

Pozo 2

Mobile

Galveston

150 000

200 000

140 000

160 000

140, $7

150, $12

10, $20

140, $8

150, $8

Este resultado se puede observar en la red:

El costo asociado al transporte es $5 300 000.00.

3.2 Asignación

En este grupo de problemas se tiene una matriz de efectividad, que señala lo que sucede

cuando se asocia cada uno de los orígenes con cada uno de los destinos; hay tantos orígenes

como destinos. Cada origen se asocia con un y sólo un destino, y se quiere hacer las

asociaciones de tal manera que se haga mínima (máxima) la efectividad total (la suma de las

efectividades). Se cita como ejemplo la manera de asignar 10 contratos a 10 contratistas de

manera que la distribución sea óptima.

El problema de asignación es un tipo de problema en el que n contratos se distribuyen entre n

contratistas de forma óptima.

El problema se puede expresar formalmente como sigue. Dada una matriz de nxn de números

reales [cij] donde cij es la ganancia individual asociada con la asignación del contrato i-ésimo al

contratista j-ésimo. Encontrar entre todas las permutaciones (i1, i2, . . . , in) del conjunto de

enteros (1, 2, . . . , n), aquella permutación para la cual

n2 ini2i1 c...cc

toma su valor máximo (mínimo).

Existen n! permutaciones (es decir, n! maneras de asignar n contratos a n contratistas).

Page 29: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Algoritmo de asignación

Teorema: Si en un problema de asignación se suma una constante para cada elemento de un

renglón (o columna) en la matriz de efectividad, entonces una asignación que hace mínima la

efectividad total en una matriz, también minimiza la efectividad total de la otra matriz.

En base al teorema, se procede a restar el elemento mínimo en cada renglón de todos los

elementos en su renglón y restar el elemento mínimo en cada columna de todos los elementos

de la columna. Es obvio que la matriz sólo contendrá elementos positivos o cero y entonces la

efectividad total no puede ser negativa para ninguna asignación. En consecuencia, si se puede

escoger una asignación que tiene un total de cero, no puede haber asignación alguna con un

total menor. En otras palabras, es seguro que el total es mínimo si todas las asignaciones se

pueden hacer en donde los elementos son cero.

Si la asignación máxima no constituye una solución completa, se comienza con una asignación

máxima y:

a) Se marcan todos los renglones en los que no se ha hecho asignación.

b) Se marcan las columnas que no han sido marcadas y que tienen ceros en los renglones

marcados.

c) Se marcan los renglones que aún no están marcados y que tienen asignaciones en

columnas marcadas.

d) Se repiten los pasos b y c hasta que termina la cadena de marcas.

e) Se trazan líneas a través de todos los renglones no marcados y a través de todas las

columnas marcadas. Si se ha llevado correctamente el procedimiento, debe haber tantas

líneas como asignaciones había en la asignación máxima, y cada cero tendrá cuando

menos una línea que pase por él. Más aún, este método, produce el mínimo número de

líneas que pasan por todos los ceros.

f) Una vez que se han trazado líneas de los pasos a hasta e, se examinan los elementos que no

tienen una línea que pase por ellos, y se resta de todos los elementos que no tienen una

línea que pase por ellos. Se suma este elemento menor a cada elemento que está en la

intersección de dos líneas. Se dejan los elementos sobrantes de la matriz sin cambio.

Page 30: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

1 2 3 4 5 6

1 4 5 3 2 7 1

2 5 4 2 3 4 6

3 6 8 1 4 3 7

4 3 2 9 7 6 5

5 1 3 5 1 8 4

6 2 6 7 5 2 3

1 2 3 4 5 6

1 3 4 2 1 6 0

2 3 2 0 1 2 4

3 5 7 0 3 2 6

4 1 0 7 5 4 3

5 0 2 4 0 7 3

6 0 4 5 3 0 1

1 2 3 4 5 6

1 3 4 2 1 6 0

2 3 2 0 1 2 4 X3 5 7 0 3 2 6 X4 1 0 7 5 4 3

5 0 2 4 0 7 3

6 0 4 5 3 0 1

X

Ejemplo 3.8 Algoritmo de asignación

Un constructor tiene 6 piezas especiales de un equipo de excavación de diferentes clases y

tiene 6 lugares en que realiza excavación con diferentes condiciones del sitio. Ha calificado la

ejecución del equipo de cada clase para cada sitio con la escala del 1 al 9 como se muestra

en la tabla, en la cual 1 representa el más deseable y 9 el menos deseable. ¿Cómo puede

asignar cada pieza de equipo a cada trabajo, de manera que la calificación total sea

mínima?

Sitio número

1 2 3 4 5 6

Eq

uip

o n

úm

ero

1 4 5 3 2 7 1

2 5 4 2 3 4 6

3 6 8 1 4 3 7

4 3 2 9 7 6 5

5 1 3 5 1 8 4

6 2 6 7 5 2 3

La matriz original es:

En cada renglón se resta el menor de cada una de las celdas; si hace falta se hace lo mismo en

cada columna y se hace la asignación máxima:

Como la asignación no es completa, se procede con el método húngaro: Se marca renglón en

donde no hay asignación, se marca columna que tienen ceros en renglones marcados y

renglones que tienen asignaciones en columnas marcadas:

Page 31: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

1 2 3 4 5 6

1 3 4 2 1 6 0

2 3 2 0 1 2 4

3 5 7 0 3 2 6

4 1 0 7 5 4 3

5 0 2 4 0 7 3

6 0 4 5 3 0 1

1 2 3 4 5 6

1 3 4 3 1 6 0

2 2 1 0 0 1 3

3 4 6 0 2 1 5

4 1 0 8 5 4 3

5 0 2 5 0 7 3

6 0 4 6 3 0 1

1 2 3 4 5 6

1 3 4 3 1 6 0

2 2 1 0 0 1 3

3 4 6 0 2 1 5

4 1 0 8 5 4 3

5 0 2 5 0 7 3

6 0 4 6 3 0 1

1 2 3 4 5 6

1 4 5 3 2 7 1

2 5 4 2 3 4 6

3 6 8 1 4 3 7

4 3 2 9 7 6 5

5 1 3 5 1 8 4

6 2 6 7 5 2 3

Se trazan líneas a través de renglones no marcados y por columnas marcadas:

Examinando los elementos que no tienen una línea que pase por ellos; se selecciona al menor

(1), el cual se resta de todos los elementos que no tienen una línea que pase por ellos y se suma

a cada elemento que está en la intersección de dos líneas:

Haciendo otra asignación:

Se tiene una asignación completa u óptima, por lo que sustituyendo esta asignación en los

valores originales se tiene la solución que minimiza el costo:

La pieza 1 se asigna al sitio 6

La pieza 2 se asigna al sitio 4

La pieza 3 se asigna al sitio 3

La pieza 4 se asigna al sitio 2

La pieza 5 se asigna al sitio 1

La pieza 6 se asigna al sitio 5

Lo cual generará una calificación total mínima de 10.

Page 32: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

1 2 3 Ficticia

A 24 45 25 0

B 33 48 23 0

C 24 52 20 0

D 30 56 21 0

0 0 5 0

9 3 3 0

0 7 0 0

6 11 1 0

Ejemplo 3.9 Algoritmo de asignación

El departamento de mantenimiento debe realizar 3 trabajos de reparación de maquinaria y

equipo. Se cuenta con cuatro grupos de técnicos, cada uno con diferente instrumental y

diferentes habilidades para realizar los tres trabajos. Debido a estas diferencias el tiempo

estimado de desarrollo de cada mantenimiento será diferente dependiendo del rupo al cual

sea asignado cada trabajo. En la tabla se muestra la cantidad de horas que se estima tomará

la realización de cada trabajo según el grupo al que se le asigne.

Determinar la asignación óptima de los tres trabajos, es decir, aquella que minimice el tiempo

total de ejecución de todos los mantenimientos.

Grupo de

mantenimiento

Trabajo

1 2 3

A 24 45 25

B 33 48 23

C 24 52 20

D 30 56 21

Se agrega una columna ficticia para emplear el método húngaro:

Se generan ceros al restar el valor más pequeño en renglones y columnas:

Se hace una asignación; al no ser completa se marcan renglones sin asignación y columnas

con ceros renglones marcados; se marcan renglones con asignación en columnas marcadas,

hasta que ya no es posible marcar. Se trazan líneas en renglones no marcados y en columnas

marcadas. Se selecciona el menor valor de entre los que no hay línea que pase por ellos; este

valor se resta en todos aquellos que no tienen línea que pase por ellos y se suma a los que están

en intersecciones de líneas:

Page 33: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

0 0 5 0 0 0 5 1

9 3 3 0 X 8 2 2 0

0 7 0 0 0 7 0 1

6 11 1 0 X 5 10 0 0

X

1 2 3 Ficticia

0 0 5 1 A 24 45 25 0

8 2 2 0 B 33 48 23 0

0 7 0 1 C 24 52 20 0

5 10 0 0 D 30 56 21 0

En este arreglo resultante se hace una nueva asignación y esta es completa, por lo que es la

óptima. Trasladando este resultado a los costos originales, se tiene que:

El grupo A hará el trabajo 2

El grupo B no hará ninguno

El grupo C hará el trabajo 1

El grupo D hará el trabajo 3

El costo total de asignar los trabajos será de $45+$24+$21=$90.00

Ejemplo 3.10 Maximización en asignación

Se planea la venta de cinco lotes y se han recibido ofertas individuales de cuatro clientes.

Debido a la cantidad de capital que se requiere, estas ofertas se han hecho en el

entendimiento de que ninguno de los cuatro clientes comprará más de un lote. Las ofertas se

muestran en la tabla. Se desea decidir a qué comprador asignar cada lote de tal forma que se

maximice el ingreso total a partir de estas ofertas.

Comprador Lote

1 2 3 4 5

A 16 15 25 19 20

B 19 17 24 15 25

C 15 15 18 0 16

D 19 0 15 17 18

Es un problema de maximización, por lo que las ofertas se deben convertir en costos de

oportunidad y trabajar con la matriz resultante:

Page 34: 3     PROBLEMA DEL TRANSPORTE, TRASBORDO Y ASIGNACIÓN

Costos oportunidad

16 15 25 19 20 9 10 0 6 5

19 17 24 15 25 6 8 1 10 0

15 15 18 0 16 3 3 0 18 2

19 0 15 17 18 0 19 4 2 1

0 0 0 0 0 0 0 0 0 0

7 8 0 4 3 X 7 8 0 4 3 X

6 8 3 10 0 6 8 3 10 0 X

1 1 0 16 0 X 1 1 0 16 0 X

0 19 6 2 1 0 19 6 2 1

0 0 2 0 0 0 0 2 0 0

X X X

6 7 0 3 3 6 7 0 3 3

5 7 3 9 0 5 7 3 9 0

0 0 0 15 0 0 0 0 15 0

0 19 7 2 2 0 19 7 2 2

0 0 3 0 1 0 0 3 0 1

Lote

1 2 3 4 5

A 16 15 25 19 20

B 19 17 24 15 25

C 15 15 18 0 16

D 19 0 15 17 18

0 0 0 0 0

Se aplica el método húngaro:

La solución óptima es:

Al comprador A se le asigna el lote 3

Al comprador B se le asigna el lote 5

Al comprador C se le asigna el lote 2

Al comprador D se le asigna el lote 1

El lote 4 no tiene comprador

La utilidad total por la venta de los lotes es de $84.00