Sei sulla pagina 1di 8

Prof. Ing. Claudio L. R.

Sturla

FRBA PROGRAMACIN LINEAL PARTE X


Problema de transporte
Consideremos un conjunto de lugares que llamaremos orgenes y otro que llamaremos destinos. Los orgenes son por ejemplo fbricas y los destinos bocas de distribucin. b1 a1

b2 a2 c31 b3 a3 b4 Este PROBLEMA DE TRANSPORTE tambin puede encontrarse en la bibliografa como PROBLEMA DE DISTRIBUCIN. En este modelo lo que deseamos distribuir es UN SOLO PRODUCTO. Cada origen tiene un conjunto de unidades a distribuir ( ai ) y cada destino requiere una cierta cantidad de unidades b j . Es posible transportar entre todos los orgenes y todos los destinos pero debe incurrirse en un COSTO UNITARIO cij . Este costo es el costo de transportar una unidad entre el origen i y el destino j. Nos preguntamos: Cmo transportar todo lo necesario entre los orgenes y los destinos al menor costo posible? Presentaremos formalmente los datos en una matriz. Destino Origen
a1 a2 a3 b1 c11 c21 c31 b2 c12 c22 c32 b3 c13 c23 c33 b4 c14 c24 c34

( )

Supondremos como hiptesis que lo que se produce se distribuye. Es una suposicin que cuando no se cumpla es sencillo modificar el problema para que se pueda igualmente resolver. Entonces la hiptesis es:

pl-10.doc

204

Prof. Ing. Claudio L. R. Sturla

i= 1

a1 =

j= 1

bj

Lo que transportar efectivamente (en unidades de producto) es xij , o sea un valor desconocido de las unidades a transportar entre el origen i y el destino j Por fila y columna de la matriz debe cumplirse:

Si generalizamos:
i= 1 3

i= 1

xi1 = b1 ;

j= 1

x1 j = a1

xij = ai

i = 1, 2 , 3 j = 1, 2 , 3, 4 i

(48) (49) (50) (51)

Obviamente: Y lo que deseamos es que

i= 1

xij = b j xij 0

z=

i= 1 j= 1

cij xij min

Como se ve este es un problema de programacin lineal donde (48) y (49) son las restricciones, (50) son las condiciones de no negatividad y (51) el funcional. Si lo escribimos de la forma acostumbrada: Minimice

i= 1 j= 1

cij xij

s.a. 3 j = 1, 2 , 3, 4 xij = b j i= 1 4 x = a i = 1, 2 , 3 i ij j= 1 y xij 0 i j Debe recordarse que cij es el costo unitario de transportar una unidad entre i y j y que se comporta en forma lineal Deben tomarse recaudos para que esta hiptesis simplificativa sea aproximada a la realidad. Supondremos un problema elemental de dos por tres. Destino Origen 1 2 1 35 32 350 2 40 43 620 3 28 31 330 Cantidad 800 500 1300

Los valores de dentro de la tabla son los costos UNITARIOS de transporte. El origen 1 debe despachar 800 unidades, el 2 500 unidades; el destino 1 requiere 350 unidades, el 2 620 y el 3 330. pl-10.doc 205

Prof. Ing. Claudio L. R. Sturla 800 + 500 = 350 + 620 + 330. Se cumple la condicin de cantidad requerida igual a cantidad despachada. Las restricciones lineales son: x11 + x12 + x13 = 800 (52 ) x21 + x22 + x23 = 500 (53) x11 + x21 = 350 (54 ) x12 + x22 = 620 (55) x13 + x23 = 330 (56) Si sumamos (52) y (53) da: x11 + x12 + x13 + x21 + x22 + x23 = 1.300 Si a esta le restamos (55) y (56) queda: x11 + x21 = 350 (54) O sea, una de las ecuaciones es redundante. Es combinacin lineal de las otras. Nmero de ecuaciones = m + n = 2 + 3 = 5 Nmero de variables principales = m n = 2 3 = 6 El nmero de ecuaciones linealmente independientes es entonces: m+ n 1 En nuestro sistema de restricciones (52) a (56) habr cuatro valores xij 0 Adems xij 0 i
j

Esto se puede resolver. Si eliminamos, arbitrariamente, la ecuacin (54) nos queda: Minimice 35 x11 + 40 x12 + 28 x13 + 32 x21 + 43 x22 + 31 x23 s.a. + 1 = 800 x11 + x12 + x13 + x 21 + x 22 + x 23 + 2 = 500 + x 21 + 3 = 350 x11 x13 + x 23 + 4 = 620 Sera una tabla Simplex con 10 columnas y 4 filas. Las columnas son 6 para las variables principales y 4 para las variables artificiales. Hay una forma ms sencilla. Un algoritmo de transporte. La primera solucin se puede obtener por varios mtodos. Comencemos por uno. Primera solucin factible utilizando la regla del Noroeste En nuestro ejemplo tenemos 350 35 32 620 40 43 330 28 31

800 500

A partir de ahora dejamos establecido que anotamos arriba de las columnas los requerimientos de los destinos y a la izquierda de las filas las cantidades enviadas por los orgenes. El noroeste es arriba y a la izquierda, donde tenemos el costo de 35. 350 620 330 800 500 pl-10.doc 206

Prof. Ing. Claudio L. R. Sturla Debemos asignar. Para ello nos fijamos en la tabla. La esquina ms arriba y a la izquierda es la 1-1. All podemos enviar 800 desde el primer origen, pero desde el primer destino nos piden slo 350. O sea, slo podemos asignar 350. Lo hacemos. 350 350 620 330

800 500 Esas 350 unidades ya no estn en el origen 1 y ya no las demandan desde el destino 1. Las descontamos de su fila y columna. 0 620 330 450 350 500 Obsrvese que en el lugar 2-1 se pusieron guiones porque ya est cubierta la demanda del destino 2. Ahora el extremo noroeste es 1-2. All podemos asignar 620 450. Desde luego ya nos damos cuenta de que siempre es el menor. Asignamos 450 y descontamos de su fila y columna. 0 170 330 0 350 450 500 Pusimos tambin guiones en 1-3 porque desde ese origen no podemos surtir ms. Ahora el extremo noroeste es 2-2. All asignamos 170. 0 0 330 0 350 450 330 170 Y por ltimo nos queda 330 que debe poderse asignar y debe poderse asignar sin que queden remanentes. 0 0 0 0 350 450 0 170 330 Como tenemos 2 orgenes y 3 destinos, m+n-1 es 2 + 3 - 1 = 4. Como tenemos cuatro valores positivos tenemos una primera solucin bsica factible no degenerada (SBFND). El valor de su funcional es: UM UM UM UM z = 35 350 u + 40 450 u + 43 170 u + 31 330 u = 47.790 UM u u u u Mejora de la primera solucin bsica factible buscando el ptimo Ahora debemos plantearnos cmo mejorar esta solucin. Aplicaremos un mtodo de optimizacin que utiliza el mtodo stepping stones y MODI. Construimos una tabla auxiliar de costos que llamaremos cij En esta tabla pondremos los valores de costo en los lugares donde hubo asignacin y los circulamos. 35 40 43

31

Inventamos ahora en cada fila una variable auxiliar u y en cada columna una variable auxiliar v

pl-10.doc

207

Prof. Ing. Claudio L. R. Sturla


v1 u1 u2 v2 v3

35

40 43

31

Estas variables deben cumplir las siguientes condiciones: u1 + v1 = 35 u1 + v2 = 40 u2 + v2 = 43 u2 + v3 = 31 En este sistema de ecuaciones, si fijamos el valor de una variable, quedan fijados todos los dems. Podemos darle a cada una de ellas un valor entero, positivo, negativo o nulo. Si hago v1 = 1 se pueden calcular los valores de todas las variables auxiliares. Lo hacemos y volcamos esos valores en la tabla auxiliar de costos. Por ejemplo, [Hillier] recomienda hacer 0 el valor de la variable auxiliar v u en la fila o columna donde haya ms valores. v1 = 1 v 2 =6 v 3 =-6 u1 =34 35 40 u2 =37 43 31 En los lugares no circulados sumamos los valores de las variables auxiliares de las correspondientes fila y columna. v1 = 1 v 2 =6 v 3 =-6 u1 =34 35 40 28 u2 =37 38 43 31 Llamaremos a esta matriz cij Restamos ahora, elemento a elemento las matrices cij cij lo que nos da la matriz que llamaremos DE LA ESQUINA: 0 6 En los lugares circulados no hemos calculado porque siempre nos dar cero. Uno de estos valores ha dado positivo (6 en 2-1). All podremos mejorar. Asignamos un valor desconocido . Si asignamos ese valor a la primera solucin bsica factible no degenerada (SBFND) se desbalancean filas y columnas. Haciendo las sumas y restas convenientes se subsana el problema. Vayamos a la primera SBFND. 350 - 450 + 330 170 - Ahora obsrvese qu ocurre si vale una unidad. Se cambian las asignaciones. Por ejemplo, del origen 1 al destino 1 no iba nada, pero ahora va una. O sea incurrimos es un costo de 32. Si hacemos la cuenta, al rotar en el circuito una unidad queda: Variacin = 32 - 35 +40 - 43 = -6 Qu significa esto? Significa que rotando ese (valor = una unidad) gan 6 UM. Entonces quiero que sea lo ms grande posible. Pero tenemos un lmite, no podemos hacer ningn xij negativo. resta de: 350 de los cuales el menor es = 170. Adoptamos este valor de y reemplazamos en la tabla 170 de asignacin: pl-10.doc 208

Prof. Ing. Claudio L. R. Sturla 180 620 170 330 Esta es la segunda SBFND. El valor de su funcional es: z = 35 *180 + 40* 620 + 32 *170 + 31*330 = 46.770UM Que tambin se puede calcular con nuestra vieja conocida, la frmula del Teorema 8 de programacin lineal. ( 1) z ( 2 ) = z ( 1) ( 1) ( cij cij ) z ( 2 ) = 47.790 6*170 = 46.770 Tengo ahora la segunda SBFND. Podr mejorarla?. Se aplica el mtodo de optimizacin hasta que no haya valores positivos en la matriz de la esquina. Iteramos entonces. v1 = 34 v 2 =39 v 3 = 33 u1 =1 35 40 34 u2 = -2 32 37 31 La matriz de la esquina es: 6 -6 180 - 170 + 180 = 180 330 620 350 180 150 620 330 -

Que es la tercera SBFND. Z ( 3 ) = 620* 40 + 180 *28 + 350 *32 + 150 *31 = 45.690UM Verificamos. v1 = 28 v 2 = 39 v 3 = 27 u1 =1 29 40 28 u2 = 4 32 43 31 Y la matriz de la esquina es: -6 0 Vemos que la solucin no puede mejorarse. La tercera SBFND es la solucin de costo mnimo. Puede demostrarse que el circuito que hemos creado en cada tabla para determinar nuevas asignaciones de envo con es nico Hay otros mtodos para obtener la primera asignacin. Primera asignacin utilizando costos mnimos Supongamos que tenemos el siguiente problema:

pl-10.doc

209

Prof. Ing. Claudio L. R. Sturla Destino Origen 400 500 300 800 350 8 9 4 5 420 7 6 9 7 270 5 5 8 9 520 9 7 7 9 440 6 8 6 8

Obsrvese que la regla del noroeste es totalmente arbitraria, por lo que es deseable utilizar algn otro concepto de racionalidad. Vamos a tratar de ir asignando teniendo en cuenta los costos de transporte. Si observamos los costos vemos que el menor de todos es 4 en 3-1. Lo mximo que podemos asignar all es 300 u Lo hacemos y descontamos de fila y columna. Destino Origen 400 500 0 800 50 420 270 520 440

300

Desde el destino 3 no se puede despachar ms porque se agot el stock. Por tanto no puede enviar a 2, 3, 4 y 5. Lo indicamos. Destino 50 420 270 520 440 Origen 400 500 0 300 800 Si ahora observamos la tabla de costos vemos que podemos utilizar lugares para asignar en las filas 1, 2 y 4. El menor costo all es 5, con varios empates en 1-3, 2-3 y 4-1. En 1-3 podemos asignar 270 u, en 2-3 270 u y en 4-1 50 u 1-3 y 2-3 son indiferentes. Asignamos 270 a 1-3 y descontamos. Destino 50 420 520 440 Origen 130 270 500 300 800 Ntese que cuando yo asigno 270 al destino 3 no puedo usar ms el de 5 UM de 2-3 Ahora asignamos 50 a 4-1

pl-10.doc

210

Prof. Ing. Claudio L. R. Sturla Destino Origen 130 500 750 420 300 50 270 520 440

Ahora asignamos 420 a 2-2, 130 a 1-5, 80 a 2-4, 310 a 4-5 y 440 a 4-4 Destino Origen 300 50 420 270 80 440 130 310

Esta asignacin, si bien es ms eficiente que la de la regla del noroeste an puede ser mejorada. Luego veremos el mtodo de Vogel.

Actualizado al 23/8/2.002
D:\INVESTIGACIN OPERATIVA\FRBA PL 10 Impreso el 18/03/2008.

pl-10.doc

211

Potrebbero piacerti anche