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.
|
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 |
|
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,
x21 = 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 |
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
. |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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 |
||||||||
|
|
|
|
|
5 |
||||||||
|
|
|
|
|
2 |
||||||||
|
|
|
|
|
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 |
||||||||
|
3 |
|
|
|
5 2 |
||||||||
|
|
|
|
|
2 |
||||||||
|
|
|
|
|
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 |
||||||||
|
3 |
2 |
|
|
5
2 0 |
||||||||
|
|
|
|
|
2 |
||||||||
|
|
|
|
|
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 |
||||||||
|
3 |
2 |
|
|
5
2 0 |
||||||||
|
|
2 |
|
|
2 0 |
||||||||
|
|
|
|
|
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 |
||||||||
|
3 |
2 |
|
|
5
2 0 |
||||||||
|
|
2 |
|
|
2 0 |
||||||||
|
|
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 |
||||||||
|
3 |
2 |
|
|
5
2 0 |
||||||||
|
|
2 |
|
|
2 0 |
||||||||
|
|
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. |
||||||||||
|
|
|
|
|
5 |
1 |
||||||||||
|
|
|
2 |
|
2 0 |
0 |
||||||||||
|
|
|
|
|
3 |
1 |
||||||||||
Demanda |
3 |
4 |
2 0 |
1 |
10 10 |
|
||||||||||
|
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. |
||||||||||
|
|
|
|
|
5 |
1 |
||||||||||
|
|
|
2 |
|
2 0 |
0 |
||||||||||
|
|
3 |
|
|
3 0 |
1 |
||||||||||
Demanda |
3 |
4 1 |
2 0 |
1 |
10 10 |
|
||||||||||
|
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 |
1 |
0 |
1 |
5 2
1 0 |
1 |
||||||||||
|
|
|
2 |
|
2 0 |
0 |
||||||||||
|
|
3 |
|
|
3 0 |
1 |
||||||||||
Demanda |
3 0 |
4 1 0 |
2 0 |
1 0 |
10 10 |
|
||||||||||
|
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 |
||||||||||
u1 |
3 |
2 |
|
|
5 |
|
||||||||||
u2 |
|
2 |
|
|
2 |
|
||||||||||
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 |
||||||||||
u1 |
3 |
2 |
|
|
5 |
4 |
||||||||||
u2 |
|
2 |
|
|
2 |
1 |
||||||||||
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
|
v1 |
v2 |
v3 |
v4 |
Recursos |
ui |
||||||||||||||||||
u1 |
3 |
2 |
|
|
5 |
4 |
||||||||||||||||||
u2 |
|
2 |
|
|
2 |
1 |
||||||||||||||||||
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):
|
v1 |
v2 |
v3 |
v4 |
Recursos |
ui |
||||||||||||||||||
u1 |
3 |
2 |
|
|
5 |
4 |
||||||||||||||||||
u2 |
|
-
2 |
+ |
|
2 |
1 |
||||||||||||||||||
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).
|
v1 |
v2 |
v3 |
v4 |
Recursos |
ui |
||||||||||||||||||
u1 |
3 |
2 |
|
|
5 |
|
||||||||||||||||||
u2 |
|
0 |
2 |
|
2 |
|
||||||||||||||||||
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-ui-vj
correspondientes a las variables no básicas para determinar si todos cumplen
con la prueba de optimalidad: Nuevamente 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 = u2+v3
3 = u3+v2
5 = u3+v4
Observemos que nuevamente resultaron ser 6 ecuaciones que involucran 7
incógnitas (tres de las ui y cuatro de las vj).
Ya que hay empate en el número de asignaciones que tiene cada renglón (2
asignaciones en cada renglón), asignemos el valor de cero a la incógnita u1. De
esta asignación resulta lo siguiente:
3 = u1+v1
® v1=3
7 = u1+v2
® v2=7
4 = u2+v2
3 = u2+v3
3 = u3+v2
5 = u3+v4
Hemos obtenido el valor de dos incógnitas más, v1, y
v2, los cuales nos ayudarán para hallar el valor de las incógnitas restantes:
3 = u1+v1
® v1=3
7 = u1+v2
® v2=7
4 = u2+v2
si v2=7, entonces
u2= -3
3 = u2+v3
si u2= -3, entonces v3=6
3 = u3+v2
si v2=7, entonces
u3= -4
5 = u3+v4
si u3= -4, entonces v4=9
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 |
||||||||||||||||||
u1 |
3 |
2 |
|
|
5 |
0 |
||||||||||||||||||
u2 |
|
0 |
2 |
|
2 |
-3 |
||||||||||||||||||
u3 |
|
2 |
|
1 |
3 |
-4 |
||||||||||||||||||
Demanda |
3 |
4 |
2 |
1 |
Costo=40 |
|
||||||||||||||||||
vj |
3 |
7 |
6 |
9 |
|
|
Ahora calculemos los valores cij-ui-vj
para las variables no básicas y coloquemos estos valores en la esquina inferior
izquierda de cada celda:
Para la celda
(1,3): 6 - 0 - 6 = 0
Para la celda
(1,4): 4 - 0 - 9 = -5
Para la celda
(2,1): 2 - (-3) - 3 = 2
Para la celda
(2,4): 2 - (-3) - 9 = -4
Para la celda
(3,1): 4 - (-4) - 3 = 5
Para la celda
(3,3): 8 - (-4) - 6 = 6
|
v1 |
v2 |
v3 |
v4 |
Recursos |
ui |
||||||||||||||||||
u1 |
3 |
2 |
|
|
5 |
0 |
||||||||||||||||||
u2 |
|
0 |
2 |
|
2 |
-3 |
||||||||||||||||||
u3 |
|
2 |
|
1 |
3 |
-4 |
||||||||||||||||||
Demanda |
3 |
4 |
2 |
1 |
Costo=40 |
|
||||||||||||||||||
vj |
3 |
7 |
6 |
9 |
|
|
Aplicando la prueba de optimalidad para verificar los valores de cij-ui-vj
obtenidos, vemos que dos de estos valores ( c14-u1-v4= -5, 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. Aplicando el procedimiento descrito anteriormente, se
llega al siguiente conjunto de tablas símplex de transporte que se muestra
enseguida y que dan solución al problema planteado:
|
v1 |
v2 |
v3 |
v4 |
Recursos |
ui |
||||||||||||||||||
u1 |
3 |
-
2 |
|
+ |
5 |
0 |
||||||||||||||||||
u2 |
|
0 |
2 |
|
2 |
-3 |
||||||||||||||||||
u3 |
|
+
2 |
|
-
1 |
3 |
-4 |
||||||||||||||||||
Demanda |
3 |
4 |
2 |
1 |
Costo=40 |
|
||||||||||||||||||
vj |
3 |
7 |
6 |
9 |
|
|
|
v1 |
v2 |
v3 |
v4 |
Recursos |
ui |
||||||||||||||||
u1 |
3 |
1 |
|
1 |
5 |
|
||||||||||||||||
u2 |
|
0 |
2 |
|
2 |
|
||||||||||||||||
u3 |
|
3 |
|
|
3 |
|
||||||||||||||||
Demanda |
3 |
4 |
2 |
1 |
Costo=35 |
|
||||||||||||||||
vj |
|
|
|
|
|
|
La nueva solución básica factible es x11=3,
x12=1, x14=1, x22=0 (variable básica degenerada), x23=2 y
x32=3 y el costo total de transporte asociado es de:
|
x11 |
c11 |
|
x12 |
c12 |
|
x14 |
c14 |
|
x22 |
c22 |
|
x23 |
c23 |
|
x32 |
c32 |
|
Costo = |
3 |
(3) |
+ |
1 |
(7) |
+ |
1 |
(4) |
+ |
0 |
(4) |
+ |
2 |
(3) |
+ |
3 |
(3) |
= 35 unidades |
Como en esta última tabla todas las cij-ui-vj son
no negativas (¡comprobarlo!), la prueba de optimalidad identifica este conjunto
de asignaciones como óptimo, lo cual concluye el algoritmo.