Você está na página 1de 11

Unidad 6

Mtodo de transporte

Como ya se vio en la unidad 3, los problemas de transporte son problemas de programacin lineal (pl), pero con una estructura muy particular de la matriz de los coeficientes de las restricciones, pues se trata de una matriz cuyos elementos valen cero o
uno. Aunque estos problemas se pueden resolver con el mtodo Simplex, su estructura
caracterstica permite simplificar el procedimiento de bsqueda de la solucin ptima.
ste se conoce como mtodo de transporte.
Los problemas de transporte intentan satisfacer la demanda de varios puntos a partir de distintos orgenes. El producto es homogneo, esto es, se trata de un solo producto, y el costo del transporte es distinto de cada origen a cada destino. En algn
problema en vez del costo del transporte puede importar el tiempo para entregarlo o la
distancia total por recorrer.
El mtodo de transporte es una simplificacin del mtodo Simplex, pero para poder
aplicarlo es necesario que la oferta y la demanda se igualen; si ambas cantidades no son
iguales, es necesario agregar un origen o un destino ficticio que absorba esta diferencia.
Para explicar el mtodo se resolver el problema presentado en la unidad 3, que se
repite a continuacin.
Ejemplo 6.1
La Zona Metropolitana del Valle de Mxico (zmvm) tiene problemas de abasto de agua
en varias de sus colonias, especialmente al este de la ciudad. En este momento las autoridades del Sistema de Aguas de la Ciudad de Mxico, junto con la Comisin de Agua
del Estado de Mxico deben decidir cmo abastecer tres zonas que estn padeciendo un
desabasto sistemtico: Nezahualcyotl, Iztapalapa y Los Reyes, con necesidades de 3.4,
5 y 2.2 m3/s. Las fuentes de abastecimiento que se estn considerando son 3 sistemas
de pozos profundos (uno de ellos del Estado de Mxico), que an tienen excedentes, y
agua proveniente del sistema Cutzamala. El primer sistema puede abastecer 2 m3/s, el
segundo, 2.5 m3/s, y el tercer sistema de pozos, 2.5 m3/s; de la presa de Valle de Bravo,
que forma parte del sistema Cutzamala, despus de realizar unas obras de mantenimien-

157

Programacin lineal

to, se podrn extraer de 1 a 10 m3/s, segn sea necesario. Los costos de abastecimiento,
operacin y conduccin por m3/s son stos:
Cuadro 6.1
P1

P2

P3

Cutzamala

Iztapalapa

6.0

4.5

3.0

12.5

Los Reyes

3.5

3.0

4.5

12.0

Nezahualcyotl

3.0

3.5

4.5

11.5

La demanda total es la suma de las demandas, en este caso es de 10.6 m3/s. Es necesario equilibrar la oferta con la demanda. Se nos dice que del sistema Cutzamala se
pueden traer de 1 a 10 m3/s y que los pozos pueden ofrecer solamente 7 m3/s, por lo
que se necesitarn traer 3.6 m3/s del sistema Cutzamala.
El mtodo de transporte se realiza sobre una tabla. Como todos los mtodos iterativos, este tiene un paso inicial en el que se obtiene alguna solucin posible; posteriormente se pregunta si esta solucin puede mejorarse, y si es as el mtodo obtiene una
solucin mejor. Este paso se repite hasta que no es posible mejorar la solucin, en ese
momento se lleg a la solucin ptima.
Es importante aqu como primer paso definir las variables; en este problema hay
doce variables, xij, donde x es la cantidad de m3/s a enviar de i a j, con i variando de 1
a 4 (i de 1 a 3 para cada pozo e i = 4 el sistema Cutzamala) y j cada uno de los destinos
(j = 1 Izt, j = 2 LR y j = 3 Neza).

Paso inicial
En esta etapa se quiere encontrar una solucin factible, esto es, que cumpla con todas
las restricciones. Para realizar este paso se construye el cuadro auxiliar que en la literatura se llama tabla Simplex de transporte (cuadro 6.2).
En el cuadro 6.2 se muestra la tabla de transporte donde se han colocado en cada
columna uno de los puntos de oferta u origen, y en cada rengln uno de los puntos de
demanda. En cada celda se coloca el costo de enviar una unidad del origen al destino
correspondiente en un recuadro o un crculo.
Para el paso inicial se comienza a tratar de satisfacer las demandas ordenadamente.
En este caso como la demanda de Iztapalapa es de 5 m3/s, se toma del primer origen su
disponibilidad: 2 m3/s, pero como no alcanza, se toma del segundo los 2.5 m3/s y como
tampoco alcanza se completa con el tercero; a continuacin se enva al segundo punto
de demanda y as sucesivamente hasta terminar. La asignacin inicial queda como se
muestra en el cuadro 6.2.
158

Mtodo de transporte

Cuadro 6.2. Solucin inicial


Origen
Destino
Iztapalapa

Pozo 1

Pozo 2

4.5
2

Los Reyes

Pozo 3
3
2.5

3.5

Cutzamala

12.5
5

0.5
4.5

12
2

Nezahualcyotl
Disponible

3.5
2

4.5
2.5

Demanda

0.2

2.2

3.4

3.4

11.5
2.5

3.6

Existen varios mtodos para encontrar la solucin inicial; el presentado aqu se conoce como el mtodo de la esquina noreste o de la esquina superior izquierda.
La solucin inicial obtenida fue esta (los ndices son de origen a destino):
x11 = 2 m3/s
x21 = 2.5 m3/s
x31 = 0.5 m3/s

x32 = 2 m3/s
x42 = 0.2 m3/s
x43 = 3.4 m3/s
con un costo de $75.25.
Es importante observar los siguientes puntos:
1) No se tomaron en cuenta los costos para asignar las ofertas a las demandas.
2) La suma de lo asignado en cada fila es idntica a la demanda.
3) La suma de lo asignado en cada columna es idntica a la oferta.
4) Aunque desde el sistema Cutzamala se podan enviar 10 m3/s, solamente se consideraron los 3.6 m3/s que se necesitaban para igualar la oferta a la demanda. Esto es
un requisito del mtodo de transporte. Cuando esto no ocurre es necesario crear un
origen o un destino ficticio para balancear estas dos cantidades.

Paso iterativo
En esta etapa se trata de mejorar la solucin inicial para llegar a una asignacin ms
conveniente que la de la etapa anterior.

159

Programacin lineal

1) Primero se debe aplicar un criterio de mejorabilidad; para esto deben analizarse todas
las celdas que en este momento no aparecen en la solucin y ver si existe alguna que
permita una disminucin en el costo del transporte. De stas se escoge la que disminuye ms el valor por unidad que se le asigne y que mantenga en equilibrio tanto
a la oferta como a la demanda.
2) Se modifica la solucin transfiriendo la mayor cantidad posible de alguna de las celdas que aparecan en la solucin previa (xij > 0) hasta que x*ij = 0; esta ser la variable
saliente, que transferir esa cantidad a la nueva variable que se llamar entrante.
3) Se calcula el nuevo costo.
4) Se regresa al paso 1 hasta que no existan ms celdas que permitan disminuir el valor
de la fo.
El cuadro 6.2 tiene 12 celdas, 6 de ellas con valores mayores a 0 y otras 6 celdas
estn vacas: la (1, 2) del pozo 1 a Los Reyes, la (1, 3) del pozo 1 a Nezahualcyotl, la
(2, 2) del pozo 2 a Los Reyes, la (2, 3) del pozo 2 a Nezahualcyotl, la (3, 3) del pozo
3 a Nezahualcyotl y la (4, 1) de Cutzamala a Iztapalapa. Es necesario analizar que pasara si se enviara 1 m3/s de agua de cada uno de estos orgenes al destino indicado. En
el cuadro 6.3 se muestra el anlisis para la celda (1, 2): si se enviara 1 m3/s desde el pozo
1 a Los Reyes, debera enviarse 1 m3/s menos a Iztapalapa, ya que el pozo tiene una
disponibilidad de slo 2 m3/s; pero si se enva uno menos, no se completara la demanda de Iztapalapa, lo que requirira enviar el faltante desde el pozo 3, que a su vez deber mandar uno menos a Los Reyes.
Cuadro 6.3. Ciclo de la celda (1, 2) del pozo 1 a Los Reyes
Origen
Destino
Iztapalapa

Pozo 1
6

Pozo 2
4.5

Los Reyes

3.5

Pozo 3
3

0.5
4.5

12

Nezahualcyotl
Disponible

3.5
2

4.5
2.5

Demanda

12.5

2.5
3

Cutzamala

0.2

2.2

3.4

3.4

11.5
2.5

3.6

Los signos de ms y de menos en las celdas indican en cul se debe agregar y en cul
se debe quitar. Se forma un ciclo de tal modo que en una misma fila hay una celda en
la que se agrega una unidad y otra en la que se quita para mantener el equilibrio. El

160

Mtodo de transporte

ciclo slo puede tener una celda vaca que es la que se est evaluando, el resto deben ser
distintas de cero.
El costo de enviar 1 m3/s del pozo 1 a Los Reyes es de $3.5, pero se dejarn de pagar
$6 por el que no se enve a Iztapalapa, se pagarn otros $3 por envirselo desde el pozo
3 y se dejarn de pagar otros $4.5:
c12 = 3.5 6 + 3 4.5 = -4
O sea, se ahorraran 4 pesos por m3/s transferido.
De la misma manera se deben analizar todas las celdas actualmente vacas. Los ciclos pueden no ser tan sencillos como el anterior. En el cuadro 6.4 se muestra el anlisis de la celda (1, 3): si se enviara 1 m3/s del pozo 1 a Nezahualcyotl, entonces se
tendra que enviar uno menos a Iztapalapa. Pero ahora las demandas no se cumplen ya
que se le enviaran solamente 4 m3/s a Iztapalapa y 4.4 m3/s a Nezahualcyotl. Se deben ajustar entonces las demandas para lo cual se debe agregar 1 m3/s del pozo 3 para
Iztapalapa, con lo que se desbalacea el pozo 3. Para balancear tanto las columnas como
las filas es necesario realizar un ciclo cerrado como el que se muestra. Como se trata de
transferir una unidad, en este caso 1 m3/s, se coloca el signo de ms cuando se debe
enviar una unidad ms, y un signo de menos donde se debe disminuir en una unidad
lo que se enviaba. Para balacear es necesario pasar por celdas que actualmente sean distintas de cero. El costo del ciclo en este caso ser:
c13= 3 6 + 3 4.5 + 12 11.5 = -4
Si se realizara este cambio, entonces se ahorraran $4 / m3/s.
Cuadro 6.4. Ciclo de la celda (1, 3) del pozo 1 a Nezahualcyotl
Origen
Destino
Iztapalapa

Pozo 1
6

Pozo 2
2

Los Reyes

Pozo 3

4.5

3.5

3
2.5

Cutzamala

0.5
4.5

12

Nezahualcyotl
Disponible

3.5

+
2

4.5
2.5

161

Demanda

12.5

+
0.2

2.2

3.4

3.4

11.5
2.5

3.6

Programacin lineal

Para las dems celdas, los ciclos y los costos de cada una son estos:
(1, 2) -> (1, 1) -> (3, 1) -> (3, 2) -> (1, 2)
(1, 3) -> (1, 1) -> (3, 1) -> (3, 2) -> (4, 2) -> (4, 3) ->(1, 3)
(2, 2) -> (2, 1) -> (3, 1) -> (3, 2) -> (2, 2)
(2, 3) -> (2, 1) -> (3, 1) -> (3, 2) -> (4, 2) -> (4, 3) ->(2, 3)
(3, 3) -> (3, 2) -> (4, 2) -> (4, 3) -> (3, 3)
(4, 1) -> (4, 2) -> (3, 2) -> (3, 1) -> (4, 1)

c12 = -4
c13 = -4
c22 = -3
c23 = -3
c33 = 0.5
c41 = +2

Como las celda (1, 3) y (1, 2) son las que permiten disminuir ms el costo por unidad (m3/s), se debe escoger una de ellas pues se encuentran empatadas. En estos casos
se puede escoger arbitrariamente, aunque se podra analizar cul de los circuitos permite mover el mayor nmero de unidades y as disminuir ms la fo. En el ejemplo se
eligi la celda (1, 3) para mejorar el resultado. El siguiente paso es determinar cuantos
m3/s se pueden transferir segn el ciclo considerado. Debido a que el pozo 1 enva 2 m3/s
a Iztapalapa, no se podrn dejar de enviar ms que esos 2 m3/s. Es importante observar
que a la celda (3, 2) y a la (4, 3) tambin se le disminuirn esos 2 m3/s. La nueva solucin entonces ser la que se muestra en el cuadro 6.5.
Cuadro 6.5. Resultado de la primera iteracin
Origen
Destino

Pozo 1

Iztapalapa

Los Reyes

3.5

Pozo 2

Pozo 3

4.5

3
2.5

Cutzamala
13

2.5

4.5

12

Nezahualcyotl

3.5

+
2.2

4.5

11.5

2
Disponible

2.5

2.5

2.2

1.4

Demanda

3.4

3.6

x21 = 2.5 m3/s


x31 = 2.5 m3/s
x42 = 2.2 m3/s
x13 = 2 m3/s
x43 = 1.4 m3/s
El costo de esta solucin es 11.25 + 7.5 + 26.4 + 16.1 + 6 = $67.25, lo que significa
un ahorro de $8 que corresponde a haber modificado la asignacin de 2 m3/s a razn
de $4 por metro cbico.
162

Mtodo de transporte

Para saber si ya se ha llegado al menor costo posible, es necesario repetir el procedimiento anterior, para esta nueva tabla de transporte, hasta que no exista ningn casillero con un costo unitario negativo. La ltima tabla, cuadro 6.5, tiene 7 casilleros en
cero, porque dos de ellos el (1, 1) y el (3, 2) se hicieron cero en la ltima iteracin, por
lo que ser necesario calcular los costos unitarios de las cinco celdas restantes. Las celdas
a analizar son: (1, 2), (2, 2), (2, 3), (3, 3) y (4, 1). La celda (1, 2) corresponde a enviar
1 m3/s del pozo 1 a LR, y el ciclo correspondientes es (1, 2) -> (4, 2) -> (4, 3) -> (1, 3)
-> (1, 2), con un costo asociado igual a cero.
Para las otras cuatro celdas, cuando se intenta construir un circuito en el que todos
los vrtices excepto la celda analizada estn ocupados, no encontramos un camino posible. Esto se debe a que el problema entr en un caso conocido como degenerado; para
poder aplicar el mtodo es necesario que existan al menos n + m - 1 celdas con valores
0, donde n y m son nmeros de orgen y de destino (filas y columnas en el cuadro)
del problema. Como en la iteracin anterior dos celdas se volvieron cero, mientras que
solamente una que vala cero pas a tener un valor mayor que cero, ya no se cumple
con la condicin anterior y el problema se degenera.
Para resolver esta situacin se le asigna un valor muy pequeo, , a alguna de las
celdas vacas actualmente. Puede ser en cualquiera de las celdas, sin embargo, en algunas no sirve. Por ejemplo, si lo colocamos en la celda (3, 2) y tratamos de ver el costo
unitario de la celda (2, 2), el ciclo que se forma es +(2, 2), -(2, 1), +(3, 1), -(3, 2). Este
ciclo tiene un costo negativo -3, pero como todo lo que puedo quitar es , que es un
valor muy pequeo, no permite mejorar la solucin. En cambio, si colocamos en la
celda (4, 1), se puede observar para el ciclo correspondiente a la celda (2, 2) que ahora
es +(2, 2), -(2, 1), +(4, 1), -(4, 2), y en este caso a la celda que contiene le corresponde un signo +, por lo que habr que sumarle cierta cantidad (cuadro 6.6).
Cuadro 6.6. Ciclo correspondiente a (2, 2)
Origen
Destino
Iztapalapa

Pozo 1

Pozo 2

4.5

Pozo 3
2.5

Los Reyes
Nezahualcyotl

3.5

Cutzamala

12.5
2.5

4.5

3.5

4.5

2.5

163

2.2

2.2

1.4

3.4

11.5

2
Disponible

12

Demanda

2.5

3.6

Programacin lineal

Los costos unitarios de las celdas vacas ahora son:


(1, 2) -> (4, 2) -> (4, 3) -> (1, 3) -> (1, 2)
(2, 2) -> (2, 1) -> (4, 1) -> (4, 2) -> (2, 2)
(2, 3) -> (2, 1) -> (4, 1) -> (4, 3) -> (2, 3)
(3, 3) -> (3, 1) -> (4, 1) -> (4, 3) -> (3, 3)

c12= 0
c22= -1
c23= 0
c31= 2.5

Hay que sealar dos cosas: por un lado, una vez que se decide en qu celda se coloca , deben evaluarse todas las dems celdas con esa nueva tabla sin modificar la posicin de ; por otro lado, la celda (4, 1) no puede evaluarse ya que contiene el valor
ficticio.
Como la nica celda con un costo negativo es la (2, 2), habr que enviar toda el
agua que se pueda desde el pozo 2 a Los Reyes, disminuyendo la cantidad que se enva
a Iztapalapa, que se sustituye con agua proveniente del sistema Cutzamala que se dejar de enviar a Los Reyes. Esta cantidad es de 2.2 m3/s, con lo cual la asignacin queda
como se muestra en la tabla (cuadro 6.7), despus de equilibrar oferta y demanda.
x21 = 0.3 m3/s
x22 = 2.2 m3/s
x41 = 2.2 m3/s
x31 = 2.5 m3/s
x43 = 1.4 m3/s
Cuadro 6.7. Resultado de la segunda iteracin
Origen
Destino

Pozo 1

Pozo 2

Pozo 3

4.5

Iztapalapa

3
0.3

3.5

3.5

Los Reyes

Cutzamala
12.5
2.5

2.2

4.5

12

4.5

11.5

Disponible

1.4
2.5

5
2.2

2.2

Nezahualcyotl

Demanda

2.5

3.4

3.6

El costo de esta solucin es 6 + 1.35 + 6.6 + 7.5 + 27.5 + 16.1 = $65.05, lo que
resulta $2.20 menos.
Se deben evaluar las celdas an vacas y ver si alguna de ellas tiene un costo unitario
negativo. Se observa que:
164

Mtodo de transporte

(1, 2) -> (1, 3) -> (4, 3) -> (4, 1) -> (2, 1) -> (2, 2) ->(1, 2) c12= +1
(2, 3) -> (2, 1) -> (4, 1) -> (4, 3) -> (2, 3) c23= 0
(3, 3) -> (3, 1) -> (4, 1) -> (4, 3) -> (3, 3) c33= +2.5
En este problema ya no hay posibilidad de mejorar la solucin; por lo tanto, para
enviar el agua a costo mnimo se debe enviar lo siguiente:
Pozo 1: 2.0 m3/s a Nezahualcyotl
Pozo 2: 0.3 m3/s a Iztapalapa y 2.2 m3/s a Los Reyes
Pozo 3: 2.5 m3/s a Iztapalapa
Sistema Cutzamala: 2.2 m3/s a Iztapalapa y 1.4 m3/s a Nezahualcyotl
con un costo de $65.05 por segundo.

Soluciones ptimas alternativas


Cuando el costo de alguna de las celdas vacas o no bsicas es cero, indica que podra
hacerse distinto de cero el valor de la variable o celda correspondiente sin alterar el costo total. Dado que como todos los problemas de pl tiene infinitas soluciones posibles,
no es raro que exista ms de una solucin con el mismo costo total, o el mismo valor
de la fo.
Ejemplo 6.2
En el siguiente cuadro se dan los datos de un problema en el que hay que trasladar
cierta mercanca de tres distintos orgenes a tres distintos destinos. Se indican los costos
unitarios, las cantidades ofrecidas y demandadas.
Cuadro 6.8
Destino
Origen

Oferta

20

30

10

100

30

40

25

300

35

15

20

100

Demanda

150

125

200

En este problema la oferta es de 500 unidades, mientras que la demanda es de 475


unidades, por lo tanto habr 25 unidades que no debern enviarse a ningn lado; sin
165

Programacin lineal

embargo, el mtodo requiere que la oferta y la demanda sean iguales, por lo que se
agregar una demanda ficticia de 25 unidades cuyo costo de transporte sea nulo. El
cuadro inicial del mtodo de transporte se muestra a continuacin.
Cuadro 6.9
Oferta

20
1

Ficticia

30

10

40

25

100

100
30

50
35

125
15

20

3
Disponible

150

125

300

125
0
75

25

200

25

100

Al agregar la columna de una demanda ficticia, se cumple con la condicin de equilibrio entre la oferta y la demanda. En el cuadro 6.9 se tiene la solucin inicial:
Origen 1:
Origen 2:


Origen 3:

100 unidades al destino 1


50 unidades al destino 1
125 unidades al destino 2
125 unidades al destino 3
75 unidades al destino 3
25 unidades al destino ficticio, o sea, no se enviarn

A partir de esta solucin se tratar de mejorar la solucin con el algoritmo aplicado


al ejemplo anterior.

Modelo de asignacin
Como caso especial del modelo de transporte estn los modelos de asignacin. Estos
modelos son los apropiados para representar problemas en los cuales se trata de asignar,
por ejemplo, maestros a grupos de alumnos o vendedores a zonas de la ciudad, etctera.
Se trata de asignar n personas a n puestos de trabajo, con la condicin de que a cada
persona se le asignar una y slo una tarea, y que sern cubiertas cada una de las plazas
con una persona. Adems a cada persona se le pagar dependiendo de sus aptitudes y
del trabajo que desempear.

166

Mtodo de transporte

Es claro que en estos problemas las variables xij representan a la persona (i) y al puesto (j), esta variable toma el valor de uno si la persona es asignada al puesto, y el valor de
cero si no lo es. La resolucin de estos problemas puede hacerse con el mtodo de transporte explicado en la seccin anterior, aunque debido a su estructura especfica se puede utilizar algn mtodo especial para estos problemas, como el mtodo hngaro, que
no se presentara aqu ya que actualmente los programas de cmputo nos ayudan a resolver los distintos problemas sin necesidad de conocer algoritmos ms econmicos en
tiempo.

Lecturas complementarias
Budnick (2007), en especial el captulo 12. Hillier (2003), captulo 7.

Problemas de la unidad 6
Resuelve los problemas 3.18, 3.19, 3.20, 3.21 y 3.22 de la unidad 3.

167

Você também pode gostar