Make your own free website on Tripod.com

 

 

 

4. Problemas de Transporte.

 

4.1. Formulación del Modelo de Transporte.

            La programación lineal es un campo tan amplio que se extiende a subclases de problemas para los cuales existen métodos de solución especiales. Una de estas subclases se conoce como problemas de transporte. El método símplex de programación lineal, puede servir para resolver estos problemas. Pero se han desarrollado métodos más sencillos que aprovechan ciertas características de los problemas. Entonces, el método del transporte son sólo técnicas especiales para resolver ciertos tipos de problemas de programación lineal.

            El transporte desempeña un papel importante en la economía y en las decisiones administrativas. Con frecuencia la disponibilidad de transporte económico es crítica para la sobrevivencia de una empresa.

            ¿Qué significa problema de transporte? Supóngase que un fabricante tiene tres plantas que producen el mismo producto. Estas plantas a su vez mandan el producto a cuatro almacenes. Cada planta puede mandar productos a todos los almacenes, pero el costo de transporte varía con las diferentes combinaciones. El problema es determinar la cantidad que cada planta debe mandar a cada almacén con el fin de minimizar el costo total de transporte.

            La manera más fácil de reconocer un problema de transporte es por su naturaleza o estructura
“de-hacia”: de un origen hacia un destino, de una fuente hacia un usuario, del presente hacia el futuro, de aquí hacia allá. Al enfrentar este tipo de problemas, la intuición dice que debe haber una manera de obtener una solución. Se conocen las fuentes y los destinos, las capacidades y demandas y los costos de cada trayectoria. Debe haber una combinación óptima que minimice el costo (o maximice la ganancia). La dificultad estriba en el gran número de combinaciones posibles.

            Puede formularse un problema de transporte como un problema de programación lineal y aplicarse el método símplex. Si se hiciera, se encontraría que los problemas de transporte tienen características matemáticas únicas. Para visualizar esto, considérese el siguiente ejemplo:

 

Ejemplo prototipo.

            Chícharos enlatados es uno de los productos más importantes de la compañía P & T. Los chícharos se preparan en tres enlatadoras (cercanas a Bellingham, Washington; a Eugene, Oregón y a Albert Lea, Minnesota) y después se mandan por camión a cuatro almacenes de distribución (en Sacramento, California; Salt Lake City, Utah; Rapid City, South Dakota y Alburquerque, New Mexico) en el oeste de Estados Unidos. Puesto que los costos de embarque constituyen un gasto importante, la gerencia ha iniciado un estudio para reducirlos lo más posible que se pueda. Se ha hecho una estimación de la producción de cada enlatadora para la próxima temporada y se ha asignado a cada almacén una cierta cantidad de la producción total de chícharos. En la siguiente tabla se proporciona esta información (en unidades de carga de camión), junto con el costo de transporte por camión cargado para cada combinación de enlatadora-almacén. Como se ve hay un total de 300 cargas de camión que se deben transportar. El problema es determinar el plan de asignación de estos embarques a las distintas combinaciones de enlatadora-almacén que minimice el costo total de transporte.

 

Costo de embarque ($) por carga

 

 

Almacén

 

 

1

2

3

4

Producción

1

464

513

654

867

75

Enlatadora   2

352

416

690

791

125

3

995

682

388

685

100

Asignación

80

65

70

85

 

 

            Este, de hecho, es un problema de programación lineal del tipo de los problemas de transporte. Para formularlo, sea Z el costo total de transporte y sea xij (i = 1, 2, 3;  j = 1, 2, 3, 4) el número de cargas de camión que se mandan de la enlatadora i al almacén j. Entonces el objetivo es seleccionar los valores de estas 12 variables de decisión (las xij) para:

 

            Minimizar Z= 464x11 + 513x12 + 654x13 + 867x14 + 352x21 + 416x22 + 690x23 + 791x24

995x31 + 682x32 + 388x33 + 685x34

 

sujeta a las restricciones:

 

x11

+

x12

+

x13

+

x14

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

=

75

 

 

 

 

 

 

 

 

x21

+

x22

+

x23

+

x24

 

 

 

 

 

 

 

 

=

125

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x31

+

x32

+

x33

+

x34

=

100

x11

 

 

 

 

 

 

+

x21

 

 

 

 

 

 

+

x31

 

 

 

 

 

 

=

80

 

 

x12

 

 

 

 

 

 

+

x22

 

 

 

 

 

 

+

x32

 

 

 

 

=

65

 

 

 

 

x13

 

 

 

 

 

 

+

x23

 

 

 

 

 

 

+

x33

 

 

=

70

 

 

 

 

 

 

x14

 

 

 

 

 

 

+

x24

 

 

 

 

 

 

+

x34

=

85

 

xij ³ 0  (i = 1, 2, 3;  j = 1, 2, 3, 4)

 

            La siguiente tabla muestra los coeficientes de las restricciones. Como se verá enseguida, lo que distingue a este problema como un problema de transporte es la estructura especial en el patrón de estos coeficientes, no su contexto.

 

 

 

Coeficiente de:

 

x11

x12

x13

x14

x21

x22

x23

x24

x31

x32

x33

x34

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

1

1

 

 

 

 

Restricciones

 

 

 

 

 

 

 

 

1

1

1

1

de enlatadora

A =

1

 

 

 

1

 

 

 

1

 

 

 

 

 

 

1

 

 

 

1

 

 

 

1

 

 

Restricciones

 

 

 

1

 

 

 

1

 

 

 

1

 

       de almacén

 

 

 

1

 

 

 

1

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

            Entre paréntesis, la solución óptima para este problema es x11 = 0, x12 = 20, x13 = 0, x14 = 55,
x
21 = 80, x22 = 45, x23 = 0, x24 = 0, x31 = 0, x32 = 0, x33 = 70, x34 = 30. Cuando se conozca la prueba de optimalidad se podrá verificar este resultado.

 

Modelo general del problema de transporte.

            Para describir el modelo general del problema de transporte es necesario emplear términos que sean mucho menos específicos que los que se usaron para los componentes del ejemplo prototipo. En particular, el problema general de transporte se refiere (literal o en sentido figurado) a la distribución de cualquier bien desde cualquier grupo de centros de abastecimiento, llamados orígenes, a cualquier grupo de centros de recepción, llamados destinos, de tal manera que se minimicen los costos totales de distribución. La correspondencia  en terminología entre el ejemplo prototipo y el problema general se resume en la siguiente tabla:

 

Ejemplo prototipo

Problema general

Cargas de chícharos enlatados

Unidades de un bien

Tres enlatadoras

m orígenes

Cuatro almacenes

n destinos

Producción de la enlatadora i

si recursos en el origen i

Asignación al almacén j

Demanda dj en el destino j

Costo de embarque por carga

desde la enlatadora i al almacén j

Costo cij por unidad distribuida

desde el origen i al destino j

 

            Así, por lo general, el origen i (i = 1, 2, ..., m) dispone de si unidades para distribuir a los destinos y el destino j (j = 1, 2, ..., n) tiene una demanda de dj unidades que recibe desde los orígenes. Una suposición básica es que el costo de distribución de unidades desde el origen i al destino j es directamente proporcional al número distribuido, donde cij denota el costo por unidad distribuida. Igual que para el ejemplo prototipo, estos datos de entrada se pueden resumir en forma muy conveniente en la tabla de costos y requerimientos que se muestra enseguida:

 

 

 

 

 

Costo por unidad distribuida

 

 

 

Destino

 

 

 

1

2

. . .

n

Recursos

 

1

c11

c12

. . .

c1n

s1

Origen

2

c21

c22

. . .

c2n

s2

 

.

.

.

 

.

.

 

.

.

.

.      .     . 

.

.

 

.

.

.

 

.

.

 

m

cm1

cm2

. . .

cmn

sm

Demanda

 

d1

d2

. . .

dn

 

 

            Sea Z el costo total de distribución y xij (i = 1, 2, ..., m; j = 1, 2,..., n) el número  de unidades que se distribuyen del origen i al destino j, la formulación de programación lineal para este problema es:

 

Minimizar         Z =

sujeta a

y

xij ³ 0,          para toda i y j

 

            Note que la tabla que resulta de los coeficientes de las restricciones tiene la estructura especial que se muestra en la siguiente tabla:

 

Coeficiente de

 

x11

x12

. . .

x1n

x21

x22

. . .

x2n

. . .

xm1

xm2

. . .

xmn

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

1

. . .

1

 

 

 

 

 

 

 

 

 

Restricciones

 

 

 

 

1

1

. . .

1

 

 

 

 

 

             de origen

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

       .

 

 

 

 

 

 

 

 

 

 

 

 

 

 

             .

 

 

 

 

 

A =

 

 

 

 

 

 

 

 

 

1

1

. . .

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

1

 

 

 

Restricciones

 

 

1

 

 

 

1

 

 

. . .

 

1

 

 

             de destino

 

 

 

.

 

 

 

.

 

 

 

 

.

 

 

 

 

 

       .

 

 

 

       .

 

 

 

 

        .

 

 

 

 

 

               .

 

 

 

              .

 

 

 

 

               .

 

 

 

 

 

 

1

 

 

 

1

 

 

 

 

1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

            Cualquier problema de programación lineal que se ajuste a esta formulación especial es del tipo de problemas de transporte, sin importar su contexto físico. De hecho, se han realizado numerosas aplicaciones no relacionadas con el transporte que se ajustan a esta estructura especial. Ésta es una de las razones por las que el problema de transporte se suele considerar como uno de los tipos especiales de problemas de programación lineal más importantes.

            Una condición necesaria y suficiente para que un problema de transporte tenga soluciones factibles es que:

 

Esta propiedad se puede verificar observando que las restricciones requieren que:

 

Esta condición de que los recursos totales deben ser iguales a la demanda total en realidad exige que el sistema esté balanceado. Si el problema tiene algún significado físico y esta condición no se cumple, casi siempre significa que, o bien si, o bien dj de hecho representan una cota y no un  requerimiento exacto. Si este es el caso, se puede introducir un “origen” o “destino” imaginario (llamado origen ficticio o destino ficticio) para captar la holgura, con el fin de convertir las desigualdades en igualdades y satisfacer  la condición de factibilidad.

            El problema de transporte es sólo un tipo especial de problemas de programación lineal y puede resolverse aplicando el método símplex tal y como lo hemos estudiado. Sin embargo, veremos que si se aprovecha la estructura especial que se muestra en la tabla anterior, se puede lograr un importante ahorro en los cálculos. Se hará referencia a este procedimiento simplificado como el método símplex de transporte.

 

            Para hacer hincapié en la simplificación lograda por el método símplex de transporte, se revisará primero la forma en que el método símplex general (no simplificado) establecería el problema de transporte en forma tabular. Después de construir la tabla de los coeficientes de restricción (vea la tabla anterior), de convertir la función objetivo a la forma de maximización y de usar el método de la M para introducir las variables artificiales z1, z2, ..., zm+n en las m+n ecuaciones de restricción respectivas, se ve que las columnas de la tabla símplex tendrían la forma que se muestra en la siguiente tabla:

 

Variable

Ec.

Coeficiente de

Lado

básica

núm.

Z

. . .

xij

. . .

zi

. . .

zm+j

. . .

derecho

Z

(0)

-1

 

cij

 

M

 

M

 

0

 

(1)

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

zi

(i)

0

 

1

 

1

 

 

 

si

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

zm+j

(m+j)

0

 

1

 

 

 

1

 

dj

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

.

 

 

 

 

 

 

 

 

 

 

(m+n)

 

 

 

 

 

 

 

 

 

            En esta tabla, todos los elementos que no se muestran en estas columnas son ceros. El único ajuste que queda por hacer antes de la primera iteración es eliminar algebraicamente los coeficientes distintos de cero de las variables básicas iniciales (artificiales) en el renglón de Z (renglón 0).

            Después de cualquier iteración subsecuente, el renglón 0 tendría la forma que se muestra en la siguiente tabla:

 

Variable

Ec.

Coeficiente de

Lado

básica

núm

Z

. . .

xij

. . .

zi

. . .

zm+j

. . .

derecho

 

Z

 

(0)

 

-1

 

 

cij-ui-vj

 

 

M-ui

 

 

M-vj

 

 

            A causa del patrón de ceros y unos que siguen los coeficientes en la tabla anterior, ui y vj tienen la siguiente interpretación:

 

ui = múltiplo del renglón i original que se  ha restado (directa o indirectamente) del renglón 0 original  durante todas las iteraciones del método símplex que llevaron a la tabla actual.

 

vj = múltiplo del renglón m+j original que se ha restado (directa o indirectamente) del renglón 0 original durante todas las iteraciones del método símplex que llevaron a la tabla actual.

 

            El renglón 0 actual se puede obtener sin usar ningún otro renglón con sólo calcular los valores de ui y vj directamente. Como cada variable básica debe tener coeficiente cero en el renglón 0, estos valores se  pueden obtener resolviendo el sistema de ecuaciones:

 

cij-ui-vj = 0                  para cada  i y j tal que xij es variable básica,

 

lo cual se puede hacer de manera directa.

 

            Además de los datos de entrada (los valores de cij, si y dj), la única información que necesita el método símplex de transporte es la solución básica factible actual, los valores actuales de ui y vj y los valores resultantes de cij-ui-vj para las variables no básicas xij. Cuando se resuelve un problema a mano es  conveniente registrar esta información en una tabla símplex de transporte, como la que se muestra enseguida:

 

 

            En los casos en que la sumatoria de todo lo que se produce en todos los orígenes es mayor que la sumatoria de todo lo que se demanda en todos los destino o viceversa, entonces se dice que el problema no está balanceado. En estos casos lo primero que se debe hacer antes de intentar resolver el problema es balancearlo.

 

Para el caso de SOBREPRODUCCIÓN (  >  )

            Si el caso es que se dispone de mayor producción de la que se demanda, entonces para balancear el problema se agrega un destino imaginario o artificial (llamado también destino ficticio) el cual tendrá como demanda dicha sobreproducción. En cuanto a los costos asociados a este nuevo destino los estableceremos a cero (¿por qué?). El siguiente dibujo muestra lo que se debe hacer:

 

 

 

donde

dn+1 =

y

ci,n+1 = 0,           para i = 1, 2, ..., m

 

 

Para el caso de SOBREDEMANDA (  >  )

            Si el caso es que se tiene mayor demanda de lo que se produce, entonces para balancear el problema se agrega un origen imaginario o artificial (llamado también origen ficticio) el cual tendrá como recursos (producirá) dicha sobredemanda. En cuanto a los costos asociados a este nuevo origen los estableceremos a cero (¿por qué?). El siguiente dibujo muestra lo que se debe hacer:

 

 

donde

 

sm+1 =

y

cm+1j = 0           para j = 1, 2, ..., n

 

 

            Como todas las restricciones funcionales en el problema de transporte son igualdades, el método símplex obtendría una solución inicial básica factible introduciendo variables artificiales y usándolas como variables básicas iniciales. La solución básica que resulta de hecho sólo es factible para la versión aumentada del problema, por lo que se necesita un buen número de iteraciones para hacer que el valor de estas variables artificiales sea cero y se alcancen las soluciones básicas factibles reales. El método símplex de transporte pasa por alto todo esto, pues usa un procedimiento más sencillo para construir directamente una solución básica factible real en la tabla de transporte.

            Antes de describir este procedimiento, 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

 

4.2. Métodos para encontrar soluciones factibles.

            Al iniciar, todos los renglones de los orígenes y las columnas de destinos de la tabla símplex de transporte se toman en cuenta para proporcionar una variable básica (asignación).

1.    Se selecciona la siguiente variable básica (asignación) entre los renglones y columnas en que todavía se puede hacer una asignación de acuerdo a algún criterio.

2.    Se hace una asignación lo suficientemente grande como para que use el resto de los recursos en ese renglón o la demanda restante en esa columna (cualquiera que sea la cantidad más pequeña).

3.    Se elimina ese renglón o columna (la que tenía la cantidad más pequeña en los recursos odemanda restantes) para las nuevas asignaciones.(Si el renglón y la columna tiene la misma cantidad de recursos y demanda restante, entonces arbitrariamente se elimina el renglón. La columna se usará después para proporcionar una variable básica degenerada, es decir, una asignación con cero unidades.)

4.    Si sólo queda un renglón o una columna dentro de las posibilidades, entonces el procedimiento termina eligiendo como básicas cada una de las variables restantes (es decir, aquellas variables que no se han elegido ni se han eliminado al quitar su renglón o columna) asociadas con ese renglón o columna que tiene la única asignación posible. De otra manera se regresa al paso 1.

 

4.2.1. Método de la esquina noroeste.

1.    Regla de la esquina noroeste: la primera elección es x11 (es decir, se comienza en la esquina noroeste de la tabla símplex de transporte). De ahí en adelante, si xij fue la última variable básica seleccionada, la siguiente elección es xi,j+1 (es decir, se mueve una columna a la derecha) si quedan recursos en el origen i. De otra manera, se elige xi+1,j (es decir, se mueve un renglón hacia abajo).

            Para hacer más concreta esta descripción, se ilustrará el procedimiento general, utilizando la regla de la esquina noroeste en el siguiente ejemplo:

 

 

 

 

 

 

Recursos

4

 

 

7

 

 

3

 

 

6

 

 

 

 

 

 

5

2

 

 

3

 

 

2          

 

 

4

 

 

 

 

 

 

2

3

 

 

4

 

 

8

 

 

5

 

 

 

 

 

 

3

Demanda

 

3

 

4

 

2

 

1

            10

    10

 

            Lo primero que debemos 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 y podamos comenzar a resolverlo. En nuestro ejemplo, 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 nuestro problema está balanceado y podemos iniciar con la resolución.

            Comenzamos asignando en la esquina noroeste de la tabla, es decir, en la celda correspondiente a la variable básica x11 (paso 1), podemos observar que en la primera columna se demandan 3 unidades del bien y en el primer renglón disponemos de 5 unidades, entonces enviamos las 3 unidades demandadas desde el origen 1 hacia el destino 1 (ya que hay los recursos suficiente para satisfacer toda la demanda) y decrementamos a 2 los recursos restantes en ese origen (paso 2). Con ésto cubrimos toda la demanda del primer destino (ó almacén) y lo cancelamos para las próximas asignaciones (paso3):

 

 

 

 

 

Recursos

4

 

 

7

 

 

3

 

 

6

 

 

           3

 

 

 

5  2

2

 

 

3

 

 

2          

 

 

4

 

 

 

 

 

 

2

3

 

 

4

 

 

8

 

 

5

 

 

 

 

 

 

3

Demanda

 

3  0

 

4

 

2

 

1

 

 

            La siguiente asignación será en la celda correspondiente a la variable x12 (paso 1) ya que todavía le quedan recursos al origen 1 (además es la esquina noroeste de la tabla restante después de haber eliminado la primera columna). Notemos que en el segundo destino se demandan 4 unidades del bien y ahora solamente se disponen de 2 unidades en el origen 1, entonces se envían las 2 unidades del origen 1 al destino 2 para satisfacer 2 de las 4 unidades demandadas en este destino quedando 2 por satisfacer (paso 2) y cancelamos el origen 1 ya que no tiene más unidades del bien para enviar a otro destino
(paso 3):

 

 

 

 

 

Recursos

4

 

 

7

 

 

3

 

 

6

 

 

           3

 

            2

 

 

5  2  0

2

 

 

3

 

 

2          

 

 

4

 

 

 

 

 

 

2

3

 

 

4

 

 

8

 

 

5

 

 

 

 

 

 

3

Demanda

 

3  0

 

4  2

 

2

 

1

 

 

            La siguente asignación será en la celda correspondiente a la variable x22 (paso 1) ya que no le quedan unidades del bien al origen 1 (notemos también que esa celda es la que se encuentra en la esquina noroeste de la tabla restante después de haber eliminado el primer renglón y la primera columna y no  olvidemos que estamos aplicando la regla de la esquina noroeste). Ya que solamente faltan 2 unidades para satisfacer por completo la demanda del segundo destino y se disponen exactamente de 2 unidades en el segundo origen, entonces enviamos 2 unidades del bien del origen 2 al destino 2 (paso 2) y cancelamos el segundo renglón ya que no le quedan más unidades para enviar a otro destino. Dejamos pendiente la eliminación de la segunda columna ya que nos servirá más adelante para hacer la asignación de una variable básica degenerada, esdecir, una asignación con cero unidades (paso 3):

 

 

 

 

 

 

 

 

Recursos

4

 

 

7

 

 

3

 

 

6

 

 

           3

 

            2

 

 

5  2  0

2

 

 

3

 

 

2          

 

 

4

 

 

 

 

            2

 

 

2  0

3

 

 

4

 

 

8

 

 

5

 

 

 

 

 

 

3

Demanda

 

3  0

 

4  2  0

 

2

 

1

 

 

            La siguiente asignación será en la celda correspondiente a la variable x32 (paso1) ya que no le quedan más unidades al origen 2. Notemos que “se demandan cero unidades del bien en el segundo destino”, en este momento es cuando hacemos una asignación de cero unidades convirtiendo así a la variable x32 en una variable básica degenerada (paso 2) y ahora sí podemos cancelar la segunda columna para ya no considerarla más en las siguientes asignaciones (paso 3). Notemos que esta demanda de cero unidades es satisfecha sin ningún problema por el origen 3 ya que éste dispone todavía de 3 unidades del bien:

 

 

 

 

 

Recursos

4

 

 

7

 

 

3

 

 

6

 

 

           3

 

            2

 

 

5  2  0

2

 

 

3

 

 

2          

 

 

4

 

 

 

 

            2

 

 

2  0

3

 

 

4

 

 

8

 

 

5

 

 

 

 

            0

 

 

3

Demanda

 

3  0

 

4  2  0

 

2

 

1

 

 

            Como solamente queda un renglón dentro de las posibilidades (el renglón 3 no ha sido cancelado), entonces aplicando el paso 4 del procedimiento general para construir una solución inicial básica factible, la siguiente asignación será en la celda que corresponde a la variable x33 (paso 1). Ya que la demanda del tercer destino (2 unidades) puede ser satisfecha muy bien por el tercer origen, entonces enviamos 2 unidades del bien del origen 3 al destino 3 quedando solamente 1 unidad en el tercer origen (paso 2) para enviarlo al cuarto destino y con eso cubrir su demanda de una unidad, cancelando de esta manera tanto el destino 3 como el destino 4 y el tercer renglón ya que la demanda de todos los destinos ya ha sido satisfecha y no quedan más unidades del bien en ningún origen:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Recursos

4

 

 

7

 

 

3

 

 

6

 

 

           3

 

            2

 

 

5  2  0

2

 

 

3

 

 

2          

 

 

4

 

 

 

 

            2

 

 

2  0

3

 

 

4

 

 

8

 

 

5

 

 

 

 

            0

 

            2

 

            1

3  1  0

Demanda

 

3  0

 

4  2  0

 

2  0

 

1  0

Costo = 52

 

            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.

 

4.2.2. Método de aproximación de Vogel.

2.    Método de Aproximación de Vogel: para cada renglón y columna que queda bajo consideración, se calcula su diferencia, que se define como la diferencia aritmética entre el costo unitario más pequeño (cij) y el que le sigue, de los que quedan en ese renglón o columna. (Si se tiene un empate para el costo más pequeño de los restantes de un renglón o columna, entonces la diferencia es 0). En el renglón o columna que tiene la mayor diferencia se elige la variable que tiene el menor costo unitario que queda. (Los empates para la mayor de estas diferencias se pueden romper de manera arbitraria).

            Para hacer más concreta esta descripción, se ilustrará el procedimiento general, utilizando el método de aproximación de Vogel para resolver el ejemplo presentado anteriormente y que fue resuelto por la regla de la esquina noroeste:

            Iniciamos el método calculando las primeras diferencias para cada renglón y columna. De las diferencias que obtuvimos nos fijamos en la mayor (¿Por qué?), que resulta ser para la tercera columna. En esa columna encontramos el costo unitario (cij) menor y en esa celda realizamos la primera asignación:

 

 

 

 

 

 

 

 

 

 

 

Recursos

DIF.

3

 

 

6

 

 

4

 

 

7

 

 

 

 

 

 

5

1

2          

 

 

4

 

 

3

 

 

2

 

 

3

 

 

 

 

 

            2

 

2  0

0

5

 

 

4

 

 

8

 

 

 

 

 

 

3

1

Demanda

 

3

 

4

 

2  0

 

1

        10

  10

 

DIF.

1

1

        3  1

2

 

 

 

 

Nota: Marcaremos 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.

 

            Observemos en la figura anterior que únicamente eliminamos el segundo renglón ya que la tercera columna nos 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 hemos eliminado un renglón y ésto 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:

 

 

 

 

 

 

Recursos

DIF.

3

 

 

6

 

 

4

 

 

7

 

 

 

 

 

 

5

1

2          

 

 

4

 

 

3

 

 

2

 

 

3

 

 

 

 

 

            2

 

2  0

0

5

 

 

4

 

 

8

 

 

 

 

            3

 

 

3  0

1

Demanda

 

3

 

4  1

 

2  0

 

1

        10

  10

 

DIF.

1

1

        3  1

2

 

 

1

        4   2

        2

1

 

 

 

            Como siguiente paso deberíamos calcular las nuevas diferencias de columnas, pero ya que solamente queda un renglón dentro de las posibilidades (ésto no significa que solamente un renglón quede bajo consideración ya que podemos observar que ninguna de las cuatro columnas (destinos) ha sido eliminada y todas quedan todavía bajo consideración), no es posible encontrar la diferencia aritmética entre el costo menor y el que le sigue, por lo tanto vamos tomando una a una las celdas que quedan comenzando con la de menor costo unitario hasta que todas hayan sido asignadas.

 

 

 

 

 

 

 

 

 

 

 

Recursos

DIF.

3

 

 

6

 

 

4

 

 

7

 

 

            3

 

            1

 

            0

 

            1

5  2  1  0

1

2          

 

 

4

 

 

3

 

 

2

 

 

3

 

 

 

 

 

            2

 

2  0

0

5

 

 

4

 

 

8

 

 

 

 

            3

 

 

3  0

1

Demanda

 

3  0

 

4  1  0

 

2  0

 

1  0

        10

  10

 

DIF.

1

1

        3  1

2

 

 

1

        4   2

        2

1

 

 

 

            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 unidades

 

            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.

 

Comparación de criterios alternativos para el paso 1.

            Se compararán estos dos criterios para elegir la siguiente variable básica. La virtud principal de la regla de la esquina noroeste es la facilidad y rapidez con que se aplica. Sin embargo, como no le da importancia a los costos unitarios cij, por lo general la solución que se obtiene distará mucho de la óptima. Si se realiza un esfuerzo un poco mayor para encontrar la solución inicial básica factible, es posible que se reduzca mucho el número de iteraciones que después necesita el método símplex de transporte para encontrar la solución óptima. El objetivo del otro criterio es precisamente encontrar una solución así.

            El método de aproximación de Vogel ha sido el más popular durante muchos años, en parte porque es relativamente fácil hacerlo a mano. Este criterio toma en cuenta los costos unitarios en forma efectiva ya que la diferencia representa el mínimo costo adicional en que se incurre por no hacer una asignación en la celda que tiene el menor costo en esa columna o renglón.

            Podemos decir, que el método de aproximación de Vogel proporciona una mejor solución inicial que el criterio de la esquina noroeste, en otras palabras es más cualitativo.

 

            El siguiente paso después de hallar una solución inicial básica factible (por cualquiera de los dos criterios expuestos anteriormente) es verificar si esta solución inicial es efectivamente óptima aplicando la prueba de optimalidad.

            La prueba de optimalidad estándar del método símplex para el problema de transporte, se puede reducir de la siguiente manera:

 

Una solución básica factible es óptima si y sólo si cij-ui-vj ³ 0 para toda (i,j) tal que xij es no básica.

 

            Así, lo único que hay que hacer para realizar esta prueba es obtener los valores de ui y vj para la solución básica factible actual y después calcular los valores cij-ui-vj según se describe enseguida.

            Como el valor de cij-ui-vj debe ser cero si xij es una variable básica, ui y vj satisfacen el conjunto de ecuaciones:

 

cij = ui + vj                    para cada (i,j) tal que xij es básica.

 

Existen m+n-1 variables básicas y por tanto hay m+n-1 ecuaciones de este tipo. Como el número de incógnitas (las ui y vj) es m+n, se puede asignar un valor arbitrario a cualquiera de estas variables sin violar las ecuaciones. La elección de esta variable y su valor no afecta el valor de ningún cij-ui-vj, aun cuando xij sea no básica, por lo que la única diferencia (menor) estriba en la facilidad para resolver estas ecuaciones. Una elección conveniente para lograr esto es seleccionar la ui que tiene el mayor número de asignaciones en su renglón (los empates se rompen de manera arbitraria) y asignarle un valor de cero. Gracias a la sencilla estructura de estas ecuaciones, resulta muy fácil obtener algebraicamente los valores del resto de las variables.

            Para ejemplificar la prueba de optimalidad, consideremos la solución inicial básica factible obtenida por la regla de la esquina noroeste para nuestro ejemplo en cuestión:

 

 

v1

v2

v3

v4

Recursos

ui

7

 

 

3

 

 

6

 

 

4

 

u1

 

           3

 

            2

 

 

5

 

3

 

 

2          

 

 

4

 

 

3

 

 

2

 

u2

 

 

 

            2

 

 

2

 

8

 

 

5

 

 

4

 

u3

 

 

 

            0

 

            2

 

            1

3

 

 

Demanda

 

3

 

4

 

2

 

1

Costo=52

 

vj

 

 

 

 

 

 

 

            Para este problema, existen m+n-1=3+4-1=6 variables básicas, que dan origen al siguiente conjunto de ecuaciones:

3 = u1+v1

7 = u1+v2

4 = u2+v2

3 = u3+v2

8 = u3+v3

5 = u3+v4

 

            Observemos que resultaron ser 6 ecuaciones que involucran 7 incógnitas (tres de las ui y cuatro de las vj), por lo que este sistema de ecuaciones no es cuadrado. La forma de resolverlo es dando un valor arbitrario a una de las incógnitas, para que, a partir de él encontremos el valor de las demás. La regla para hacer esta asignación arbitraria nos dice que sea para la ui (ó renglón) que haya tenido el mayor número de asignaciones. En nuestro ejemplo, el renglón 1 tuvo dos asignaciones, el renglón 2 tuvo una asignación y por último el tercer renglón tuvo tres asignaciones, por lo que asignamos el valor de cero a la incógnita u3. De esta asignación resulta lo siguiente:

 

3 = u1+v1

7 = u1+v2

4 = u2+v2

3 = u3+v2           ®v2 = 3

8 = u3+v3           ®v3 = 8

5 = u3+v4           ®v4 = 5

 

            Hemos obtenido el valor de tres incógnitas más, v2, v3 y v4, los cuales nos ayudarán para hallar el valor de las incógnitas restantes:

3 = u1+v1           si u1=4, entonces v1= -1

7 = u1+v2           si v2=3, entonces u1= 4

4 = u2+v2     si v2=3, entonces u2= 1

3 = u3+v2           ®v2 = 3

8 = u3+v3           ®v3 = 8

5 = u3+v4           ®v4 = 5

 

            De esta forma hemos obtenido el valor de todas las incógnitas y procedemos a colocarlos en la tabla como sigue:

 

 

v1

v2

v3

v4

Recursos

ui

7

 

 

3

 

 

6

 

 

4

 

u1

 

           3

 

            2

 

 

5

4

3

 

 

2          

 

 

4

 

 

3

 

 

2

 

u2

 

 

 

            2

 

 

2

1

8

 

 

5

 

 

4

 

u3

 

 

 

            0

 

            2

 

            1

3

0

 

Demanda

 

3

 

4

 

2

 

1

Costo=52

 

vj

-1

3

8

5

 

 

 

            Ahora calculemos los valores cij-ui-vj para las variables no básicas, ya que para las básicas, este valor es cero (por la forma de las ecuaciones con que se hallaron los valores de las incógnitas ui y vj), y coloquemos estos valores en la esquina inferior izquierda de cada celda:

 

Para la celda (1,3): 6 - 4 - 8 = -6

Para la celda (1,4): 4 - 4 - 5 = -5

Para la celda (2,1): 2 - 1 - (-1) = 2

Para la celda (2,3): 3 - 1 - 8 = -6

Para la celda (2,4): 2 - 1 - 5 = -4

Para la celda (3,1): 4 - 0 - (-1) = 5

 

7

 

v1

v2

v3

v4

Recursos

ui

-5

 

 

-6

 

 

0

 

 

0

 

 

3

 

 

6

 

 

4

 

u1

 

           3

 

 

            2

 

 

 

 

5

4

-4

 

 

-6

 

 

0

 

 

2

 

 

3

 

 

2          

 

 

4

 

 

2

 

u2

 

 

2

 

 

            2

 

 

 

 

2

1

0

 

 

0

 

 

0

 

 

5

 

 

3

 

 

8

 

 

5

 

 

4

 

u3

 

 

 

 

            0

 

            2

 

            1

3

0

 

Demanda

 

3

 

4

 

2

 

1

Costo=52

 

vj

-1

3

8

5

 

 

 

 

            En este momento se puede aplicar la prueba de optimalidad para verificar los valores de cij-ui-vj obtenidos. Como cuatro de estos valores (c13-u1-v3= -6, c14-u1-v4= -5, c23-u2-v3= -6, c24-u2-v4= -4), son negativos, se concluye que la solución básica factible actual no es óptima. Entonces, el método símplex de transporte debe proceder a hacer una iteración para encontrar una mejor solución básica factible.

 

Una iteración.

            Igual que para método símplex estándar, una iteración del método símplex de transporte debe determinar una variable básica entrante (paso 1), una variable básica que sale (paso 2) y después identificar la nueva solución básica factible que resulta (paso 3).

 

Paso 1: como cij-ui-vj representa la tasa a la que cambia la función objetivo si se incrementa la variable no básica xij, la variable que entra debe tener un valor de cij-ui-vj negativo, para que el costo total Z disminuya. Entonces, los candidatos en la tabla anterior son x13, x14, x23 y x24 . Entre ellos se elige el valor negativo más grande (en términos absolutos) de cij-ui-vj como la variable básica entrante, que en este caso corresponde a x13 y x23. En los casos en que haya empate para la elección de la variable básica entrante, este empate se rompe de manera arbitraria, ya que tarde o temprano llegaremos a la misma solución independientemente de la elección de la variable. Pero, observemos lo siguiente: ya que debemos elegir la variable básica “entrante, es decir, aquella que comenzará a tener un valor (ya que antes no lo tenía porque era variable no básica), entonces, es conveniente que elijamos aquella que tenga el costo menor, ya que el valor de la variable entrante multiplicado por su respectivo costo será la contribución al costo total. En nuestro caso, el costo asociado a x13 es 6 y el costo asociado a x23 es 3, por lo que la variable que debemos elegir como entrante es x23.

Paso 2: si se incrementa el valor de la variable básica entrante, se establece una reacción en cadena de cambios compensatorios en otras variables básicas (asignaciones) para seguir satisfaciendo las restricciones de recursos y demanda. La primera variable básica que disminuya su valor hasta cero será la variable básica que sale. En general, siempre existe sólo una reacción en cadena (en cualquier dirección) que se puede completar con éxito para conservar la factibilidad, cuando la variable básica entrante aumenta su valor. Esta reacción en cadena se puede identificar si se hace una selección entre las celdas que tienen variables básicas: primero, la celda donadora en la columna que tiene la variable básica; después, la celda receptora en el renglón que corresponde a la celda donadora; luego, la celda donadora en la columna en que se encuentra esta celda receptora, y así sucesivamente, hasta que la reacción en cadena conduce a una celda donadora en el renglón que tiene a la variable básica entrante. Cuando una columna o renglón tiene más de una celda adicional con variable básica, puede ser necesario explorar el camino que se va aseguir para averiguar cuál debe seleccionarse como celda donadora o receptora. (Todas las demás menos la adecuada llegarán tarde o temprano a un camino sin salida en un renglón o columna que no tiene otra celda con una variable básica). Después de identificar la reacción en cadena. La celda donadora que tiene la asignación menor proporciona en forma automática la variable básica que sale. (En caso de un empate para la celda donadora, se puede elegir cualquiera para proporcionar la variable básica que sale).

            Si x23 es la variable básica entrante, la reacción en cadena de la tabla anterior se resume enseguida. (Siempre se indicará la variable básica entrante colocando un signo + encuadrado dentro de su celda):

 

7

 

v1

v2

v3

v4

Recursos

ui

-5

 

 

-6

 

 

0

 

 

0

 

 

3

 

 

6

 

 

4

 

u1

 

           3

 

 

            2

 

 

 

 

5

4

-4

 

 

-6

 

 

0

 

 

2

 

 

3

 

 

2          

 

 

4

 

 

2

 

u2

 

 

2

 

            -

            2

 

            +

 

 

2

1

0

 

 

0

 

 

0

 

 

5

 

 

3

 

 

8

 

 

5

 

 

4

 

u3

 

 

 

              +

            0

              -

            2

 

            1

3

0

 

Demanda

 

3

 

4

 

2

 

1

Costo=52

 

vj

-1

3

8

5

 

 

 

            Al aumentar x23 debe disminuir x33 en la misma cantidad para conservar la demanda de 2 en la columna 3; esto a su vez requiere que se aumente x32 en esa cantidad para mantener la oferta de 3 en el renglón 3 y esto a su vez exige una disminución en el valor de x22 para conservar la demanda de 4 en la columna 2. Esta disminución en x22 completa con éxito la reacción en cadena ya que también conserva la oferta del renglón 2.

            El resultado final es que las celdas (2,3) y (3,2) se convierten en celdas receptoras, cada una con su asignación adicional proveniente de las celdas donadoras (2,2) y (3,3). Estas celdas están indicadas en la tabla anterior por medio de los signos + y -). Observe que tuvo que elegirse la celda (3,2) como celda receptora para el renglón 3 y no la (3,4), ya que esta última no hubiera tenido celda donadora en la columna 4 para continuar la reacción en cadena. Note además que, a excepción de la variable básica entrante, todas las celdas receptoras y donadoras en la reacción en cadena deben corresponder a variables básicas en la solución básica factible actual.

            Cada celda donadora disminuye su asignación en una cantidad exactamente igual al aumento que tiene la variable básica entrante (y las otras celdas receptoras). Entonces, la celda donadora que comienza con la asignación más pequeña -en este caso las celdas (2,2) y (3,3)- debe ser la primera en llegar a una asignación de cero conforme se incrementa la variable entrante x23. Así, x22 ó x23 se pueden convertir en la variable básica que sale. Cuando existe empate para la variable básica que sale, éste puede romperse de manera arbitraria, es decir, eligiendo cualquiera de las variables donadoras con la asignación más pequeña como variable básica saliente. Como una regla empírica, podemos seleccionar como variable básica saliente aquélla que tenga asociado el mayor costo unitario, ya que como esta variable perderá completamente su valor (es decir, se convertirá de variable básica a variable no básica), esperaríamos que el costo total de transporte disminuya. Así, escogeríamos a x33 como variable básica saliente.

Paso 3: la nueva solución básica factible se identifica sumando el valor (antes de los cambios) de la variable básica que sale a las asignaciones de cada celda receptora y restando esta misma cantidad de las asignaciones de cada celda donadora. En la tabla anterior se observa que el valor de la variable básica que sale x33 es 2, por lo que esta porción de la tabla símplex de transporte cambia, como se ilustra en la siguiente tabla para la nueva solución. (Como x33 es no básica en la nueva solución, su nueva asignación es cero y ya no se muestra en la tabla).

 

7

 

v1

v2

v3

v4

Recursos

ui

-5

 

 

-6

 

 

0

 

 

0

 

 

3

 

 

6

 

 

4

 

u1

 

           3

 

 

            2

 

 

 

 

5

 

-4

 

 

-6

 

 

0

 

 

2

 

 

3

 

 

2          

 

 

4

 

 

2

 

u2

 

 

2

 

 

            0

 

            2

 

 

2

 

0

 

 

0

 

 

0

 

 

5

 

 

3

 

 

8

 

 

5

 

 

4

 

u3

 

 

 

 

            2

 

 

            1

3

 

 

Demanda

 

3

 

4

 

2

 

1

Costo=40

 

vj

 

 

 

 

 

 

 

            En este momento se puede señalar una interpretación útil de las cantidades cij-ui-vj que se obtienen en la prueba de optimalidad. Debido al cambio de 2 unidades en las asignaciones de las celdas donadoras a las receptoras, el costo total cambia en:

 

DZ = 2(3-8+3-4) = 2(-6) = -12 = 2(c23-u2-v3)

 

es decir, el costo total de transporte se decrementa en 12 unidades con respecto al costo anterior que era de 52 unidades. Notemos que hemos obtenido una nueva política de transporte, la cual podemos resumir así:

 

            La nueva solución básica factible es x11=3, x12=2, x22=0 (variable básica degenerada), x23=2, x32=2 y x34=1 y el costo total de transporte asociado es de:

 

 

x11

c11

 

x12

c12

 

x22

c22

 

x23

c23

 

x32

c32

 

x34

c34

 

Costo =

3

(3)

+

2

(7)

+

0

(4)

+

2

(3)

+

2

(3)

+

1

(5)

= 40 unidades

 

            Antes de completar la solución del problema ejemplo, se hará un resumen de las reglas del método símplex de transporte.

 

Resumen del método símplex de transporte

Inicialización: Se construye una solución inicial básica factible. Se realiza la prueba de optimalidad.

Prueba de optimalidad: Se obtiene ui y vj eligiendo el renglón con el mayor número de asignaciones y estableciendo su ui = 0, y después resolviendo el sistema de ecuaciones cij = ui+vj para cada (i,j) tal que xij es básica. Si cij-ui-vj ³ 0 para toda (i,j) tal que xij es no básica, entonces la solución actual es óptima por lo que el proceso se detiene. De lo contrario, se regresa a una iteración.

 

Iteración:

1.    Se determina la variable básica entrante: se elige la variable no básica xij que tiene el valor negativo más grande (en términos absolutos) para cij-ui-vj.

2.    Se determina la variable básica que sale identificando la reacción en cadena (encontrar un circuito) que se necesita para conservar la factibilidad cuando se aumenta el valor de la variable básica entrante. Entre las celdas donadoras se selecciona la variable básica que tiene el menor valor.

3.    Se determina la nueva solución básica factible: se suma el valor de la variable básica que sale a las asignaciones de las celdas receptoras y se resta este valor a las asignaciones de las celdas donadoras.

 

            Continuando con la aplicación de este procedimiento a nuestro problema, tenemos que calcular los nuevos valores de las ui y vj y después los valores cij-