Está en la página 1de 65

Problema de Transporte

Método Simplex

Juan Diego Borchert

28 de julio de 2022

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 1 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 2 / 65
Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 3 / 65
Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 4 / 65
Definición

Mercado con bienes indivisibles de un mismo tipo.


Existen m fuentes y n destinos.
Cada fuente i tiene un suministro de si > 0 unidades del bien.
Cada destino j requiere dj > 0 unidades del bien.
El costo de transportar una unidad desde el origen i al destino j es cij .
xij es la cantidad de unidades enviadas desde i hasta j
Suponemos que el problema es balanceado. Esto es:
m
X n
X
si = dj
i=1 j=1

El problema consiste en determinar un patrón de envı́o desde los orı́genes hacia los
destinos que minimice el costo total de transporte.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 5 / 65
Definición

Minimizar
c11 x11 + · · · + c1n x1n + c21 x21 + · · · + c2n c2n + · · · + cm1 xm1 + · · · + cmn xmn
sujeto a
x11 + · · · + x1n = s1
x21 + · · · + x2n = s2
.. ..
. .
xm1 + · · · + xmn = sm
x11 + x21 ... + xm1 = d1
.. .. .. ..
. . . .
x1n + x2n ... + xmn = dn
x11 , . . . , x1n , x21 , . . . , x2n , . . . , xm1 , . . . , xmn ≥ 0

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 6 / 65


Definición

Llamando
x = (x11 , x12 , ..., x1n , x21 , ..., x2n , ..., xmn )t
c = (c11 , c12 , ..., c1n , c21 , ..., c2n , ..., cmn )
b = (s1 , s2 , ..., sm , −d1 , −d2 , ..., −dn )t
A = (a11 , a12 , ..., a1n , a21 , ..., a2n , ..., amn )
aij = ei − em+j
ei , em+j ∈ R m+n unitarios con ”1” en las posiciones i-ésima y m + j-ésima, resp.
El problema puede escribirse en forma matricial:
Minimizar cx
sujeto a Ax = b
x≥0

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 7 / 65


Definición

La matriz A, de dimensión (m + n) × mn tiene la siguiente estructura:


mn columnas
 
1 0 ··· 0

 0 1 ··· 0 

A= .. .. .. ..
 m + n filas
 
 . . . .
 0 0 ··· 1 
−I −I · · · −I

1 es un vector fila n-dimensional con 1 en todas sus componentes


0 es el vector fila n-dimensional nulo
I es la matriz identidad de orden n

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 8 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 9 / 65
Presentación del Problema
Grafo
m nodos origen Oi , i = 1, ..., m
n nodos destino Dj , j = 1, ..., n
Cada origen Oi se conecta con cada destino Dj mediante el arco (i, j).
Es un grafo bipartito completo.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 10 / 65


Presentación del Problema
Tabla
m filas que representan los orı́genes.
n columnas que representan los destinos.
La celda en la fila i y columna j representa la variable de flujo xij .
El coeficiente de costo cij se indica en la celda (i, j).

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 11 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 12 / 65
Ejemplo
Consideremos el problema de transporte de 2 orı́genes y 3 destinos cuyos datos se indican a
continuación.

El problema consiste en minimizar 4x11 + 7x12 + 5x13 + 2x21 + 4x22 + 3x23


sujeto a x11 + x12 + x13 = 30
x21 + x22 + x23 = 20
x11 + x21 = 15
x12 + x22 = 10
x13 + x23 = 25
x11 , x12 , x13 , x21 , x22 , x23 ≥ 0
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 13 / 65
Ejemplo

Para este ejemplo:


x = (x11 , x12 , x13 , x21 , x22 , x23 )t
c = (4, 7, 5, 2, 4, 3)
b = (30, 20, −15, −10, −25)t
a11 a12 a13 a21 a22 a23
 
1 1 1 0 0 0

 0 0 0 1 1 1 

A=
 −1 0 0 −1 0 0 

 0 −1 0 0 −1 0 
0 0 −1 0 0 −1

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 14 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 15 / 65
Factibilidad

m n
X X si dj
Llamando d = si = dj veamos que xij = , i = 1, ..., m, j = 1, ..., n es solución
d
i=1 j=1
factible del problema de transporte. En efecto:
m m m
X X s i dj dj X dj
xij = = si = d = dj
d d d
i=1 i=1 i=1
n n n
X X s i dj si X si
xij = = dj = d = si
d d d
j=1 j=1 j=1

Además 0 ≤ xij ≤ mı́n{si , dj }.


Es un programa lineal acotado que tiene al menos una solución factible. Por lo tanto, tiene
una solución óptima.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 16 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 17 / 65
Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 18 / 65
Rango de la Matriz A

rg (A) = m + n − 1, luego A es singular.


Solución 1: quitar la última (o cualquier) fila.
Solución 2: agregar una variable artificial en la última restricción.
Al aplicar el método simplex agregamos la variable artificial xa en la última ecuación.
A0 = (A, em+n )
La variable artificial corresponde a un arco al que llamamos “raı́z”.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 19 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 20 / 65
Unimodularidad Total de la Matriz A0

La matriz A0 es totalmente unimodular, esto es, el determinante de cualquier submatriz


cuadrada de A0 tiene valor −1, 0 o 1.
Cualquier base B de A0 y su inversa tienen determinante ±1 o 0.
B−1 está formada por ±1 y 0.
La columna simplex actualizada yij de la variable xij es solución del sistema lineal
Byij = aij , luego está formada por ±1 o 0.
Cada vector aij puede escribirse como suma y resta de vectores básicos.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 21 / 65


Unimodularidad Total de la Matriz A0

En la representación del vector no básico aij = ei − em+j en términos de vectores básicos,


tiene que haber un vector básico aik = ei − em+k con coeficiente +1.
Debe también existir un vector básico de la forma alk = el − em+k con coeficiente −1.
Finalmente, debe existir un vector de la forma auj = eu − em+j con coeficiente +1.
Una representación tı́pica del vector aij serı́a:

aij = aik − alk + als − aus + auj


= (ei − em+k ) − (el − em+k ) + (el − em+s ) − (eu − em+s ) + (eu − em+j )
= ei − em+j

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 22 / 65


Unimodularidad Total de la Matriz A0
En la tabla de transporte quedarı́a representado de la siguiente forma:

La celda (i.j) forma un ciclo con las celdas (i, k), (l, k), (l, s), (u, s) y (u, j).
Las celdas (i, k), (l, k), (l, s), (u, s) y (u, j) forman una cadena en la tabla entra las celdas
(i, k) y (u, j).
Las celdas básicas que no aparecen en la representación de aij no se muestran en la tabla.
Nótese que los signos de los coeficientes se alternan a lo largo de la cadena.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 23 / 65
Unimodularidad Total de la Matriz A0 - Ejemplo

En nuestro ejemplo, la matriz A0 es:


a11 a12 a13 a21 a22 a23 a0
 
1 1 1 0 0 0 0
 0 0 0 1 1 1 0 
 
A0 = 
 −1 0 0 −1 0 0 0  
 0 −1 0 0 −1 0 0 
0 0 −1 0 0 −1 1
Podemos chequear que los vectores a11 , a12 , a13 , a21 , a0 forman una base.
Una representación para el vector no básico a22 serı́a: a22 = a21 − a11 + a12
Representación en la tabla de transporte:

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 24 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 25 / 65
Caracterización de una Base en un Problema de Transporte

Cualquier base B de A0 corresponde a un árbol generador con raı́z y viceversa.


La base tiene raı́z, esto es, necesariamente contiene el arco raı́z x0 . Las restantes
(m + n − 1) variables básicas corresponden a algunas celdas en la tabla de transporte.
La base debe ser generadora, esto es, debe haber al menos una celda básica en cada fila y
en cada columna de la tabla de transporte. En caso contrario, una fila de B tendrı́a todos
sus elementos nulos, lo que implicarı́a que B no es base.
Finalmente, la base debe ser un árbol, esto es, las (m + n − 1) celdas básicas no deben
contener ciclos, de lo contrario, se puede escribir una columna de B en términos de las
otras.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 26 / 65


Caracterización de una Base en un Problema de Transporte

En un problema con tres orı́genes y tres destinos, la matriz A0 serı́a:

x11 x12 x13 x21 x22 x23 x31 x32 x33 x0


 
O1 1 1 1 0 0 0 0 0 0 0
O2  0
 0 0 1 1 1 0 0 0 0 
O  0 0 0 0 0 0 1 1 1 0 
A0 = 3 
 −1 0

D1  0 −1 0 0 −1 0 0 0 
D2  0 −1 0 0 −1 0 0 −1 0 0 
D3 0 0 −1 0 0 −1 0 0 −1 1

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 27 / 65


Caracterización de una Base en un Problema de Transporte

Una base para este problema serı́a:

x12 x21 x22 x23 x33 x0


 
O1 1 0 0 0 0 0
O2 
 0 1 1 1 0 0 
O 0 0 0 0 1 0 
B= 3

 
D1 
 0 −1 0 0 0 0 
D2  −1 0 −1 0 0 0 
D3 0 0 0 −1 −1 1

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 28 / 65


Caracterización de una Base en un Problema de Transporte
A continuación podemos ver la base del problema de transporte en la tabla, como ası́
también su representación en el grafo.

Las celdas básicas están identificadas con Bs en la tabla de transporte y sus


correspondientes arcos están representados en el grafo.
Hay una única cadena conectando cualquier par de celdas básicas.
Esto corresponde a una única cadena comprendida de arcos básicos conectando cualquier
par de nodos en el grafo básico.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 29 / 65
Caracterización de una Base en un Problema de Transporte

La base es, además, triangular inferior (permutando adecuadamente filas y columnas).


Como el grafo básico es un árbol con al menos dos nodos, tiene al menos un nodo
terminal que no es el nodo raı́z, esto es, no es un nodo con el cual el arco raı́z es incidente.
Como en dicho nodo sólo incide un arco, corresponde a una fila o columna de la tabla de
transporte que tiene sólo una celda básica.
En nuestro ejemplo, los nodos origen 1 y 3 y el nodo destino 1 son los nodos terminales
del árbol básico.
Elegimos el nodo terminal O1 y permutamos filas y columnas de B para que su primera
fila y columna correspondan a O1 y x12 , respectivamente.
Eliminando O1 y su arco incidente en el grafo y, por lo tanto, eliminando la fila 1, incluida
la celda básica (1, 2) en la tabla de transporte, el grafo y la tabla resultantes representan
otro árbol que tiene un nodo menos.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 30 / 65


Caracterización de una Base en un Problema de Transporte

En este caso, la primera fila y columna no varı́an. La tabla y el grafo resultante son:

Los nodos terminales ahora son el nodo origen O3 y los nodos destino D1 y D2 .
Elegimos el nodo terminal D2 y eliminamos éste, junto con su arco incidente, el cual
corresponde a la variable x22 .

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 31 / 65


Caracterización de una Base en un Problema de Transporte

La base después de permutar queda:

x12 x22 x21 x23 x33 x0


 
O1 1 0 0 0 0 0
D2 
 −1 −1 0 0 0 0 
O3  0 0 0 0 1 0 
B=  
D1 
 0 0 −1 0 0 0 
O2  0 1 1 1 0 0 
D3 0 0 0 −1 −1 1

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 32 / 65


Caracterización de una Base en un Problema de Transporte

La tabla y el grafo resultante son:

Los nodos terminales ahora son el nodo origen O3 y el nodo destino D1 .


Elegimos el nodo terminal D1 y eliminamos éste, junto con su arco incidente, el cual
corresponde a la variable x21 .

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 33 / 65


Caracterización de una Base en un Problema de Transporte

La base después de permutar queda:

x12 x22 x21 x23 x33 x0


 
O1 1 0 0 0 0 0
D2 
 −1 −1 0 0 0 0 
D 0 0 −1 0 0 0 
B= 1

 
O3 
 0 0 0 0 1 0 
O2  0 1 1 1 0 0 
D3 0 0 0 −1 −1 1

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 34 / 65


Caracterización de una Base en un Problema de Transporte

La tabla y el grafo resultante son:

Los nodos terminales ahora son los nodos origen O2 y O3 .


Elegimos el nodo terminal O2 y eliminamos éste, junto con su arco incidente, el cual
corresponde a la variable x23 .

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 35 / 65


Caracterización de una Base en un Problema de Transporte
La base después de permutar queda:

x x22 x21 x23 x33 x0


 12 
O1 1 0 0 0 0 0
D2   −1 −1 0 0 0 0  
D1  0
 0 −1 0 0 0 
B= 
O2   0 1 1 1 0 0  
O3  0 0 0 0 1 0 
D3 0 0 0 −1 −1 1
Como vemos, B es triangular inferior.
Los sistemas de ecuaciones BxB = b, wB = cB y Byij = aij usados para computar los
flujos, los valores de las variables duales y las representaciones de las columnas de las
variables no básicas en términos de las básicas, respectivamente, pueden ser resueltos de
manera sencilla y eficiente.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 36 / 65
Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 37 / 65
Vectores No-Básicos en Términos de Vectores Básicos

Cada celda no básica junto con un subconjunto de celdas básicas forman un ciclo. Estas
celdas básicas nos dan la representación para la celda no básica.
El conjunto de todas las celdas básicas forman un árbol generador en la tabla de
transporte.
Existe una única cadena entre cualquier par de celdas en el árbol, de lo contrario,
existirı́an ciclos.
Para generar la representación adecuada para una celda no básica dada, simplemente
determinamos el único ciclo en el grafo básico que contiene el arco asociado con la celda
en cuestión.
Todas las celdas básicas de la tabla de transporte asociadas con los arcos del ciclo en el
grafo básico son los requeridos para la representación de la celda no básica.
Para determinar las celdas básicas directamente de la tabla, usamos sólo las celdas de la
cadena que se encuentran en las esquinas del ciclo.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 38 / 65


Vectores No-Básicos en Términos de Vectores Básicos
Consideremos un problema de transporte con 4 orı́genes y 5 destinos cuya base está
representada por la siguiente tabla y su respectivo grafo básico. Representaremos a14 en
términos de vectores básicos.

Vemos que el único ciclo del grafo es (1, 4), (3, 4), (3, 1), (1, 1).
Eliminando el arco no básico (1, 4), queda la única cadena (3, 4), (3, 1), (1, 1).
Sabiendo que se alternan los coeficientes +1 y −1, queda la siguiente representación:
a14 = a11 − a31 + a34
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 39 / 65
Vectores No-Básicos en Términos de Vectores Básicos

Si buscamos la representación en la tabla, primero obtenemos el ciclo único


(1, 4), (1, 2), (1, 1), (2, 1), (3, 1), (3, 3), (3, 4).
Además de la celda no básica (1, 4), las esquinas del ciclo son (1, 1), (3, 1) y (3, 4).
La representación:

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 40 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 41 / 65
Rol de la Variable Artificial en el Problema de Transporte

La representación de un vector no básico involucra sólo vectores básicos asociados con la


única cadena a través de celdas básicas.
El vector artificial nunca se involucra en ninguna representación, en consecuencia, la
variable artificial siempre será cero.
Este hecho nos permite esencialmente ignorar la variable artificial en la aplicación del
método simplex a problemas de transporte.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 42 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 43 / 65
El Método Simplex para Problemas de Transporte

Los pasos generales en la aplicación del método simplex a un programa lineal son los
siguientes:
1. Encontrar una solución factible básica inicial.
2. Computar zj − cj para cada variable no básica. Parar o elegir una columna entrante.
3. Determinar una columna saliente.
4. Obtener la nueva solución factible básica y repetir el paso 2.
A continuación mostraremos cómo cada uno de estos pasos puede realizarse directamente en
la tabla del problema de transporte.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 44 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 45 / 65
Solución Factible Básica Inicial

En la sección 1 presentamos una solución factible del problema de transporte.


si dj
xij = , i = 1, ..., m, j = 1, ..., n
d
Esta solución no es básica. xij > 0, i = 1, ..., m, j = 1, ..., n
Para obtener una solución factible básica inicial, usaremos la regla de la esquina noroeste.
Durante su aplicación, a medida que una variable xij toma un valor, reducimos si y dj en
ese mismo valor.
Notamos a los valores reducidos de si y dj como ŝi y dˆj , respectivamente.
En particular, para comenzar, ŝi = si y dˆj = dj .

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 46 / 65


Solución Factible Básica Inicial - Regla de la Esquina Noroeste

Comenzando en la celda (1, 1) hacemos x11 = mı́n{ŝ1 , dˆ1 } y reemplazamos ŝ1 por ŝ1 − x11
y dˆ1 por dˆ1 − x11 .
Si ŝ1 > 0, nos movemos a la celda (1, 2), hacemos x12 = mı́n{ŝ1 , dˆ2 } y reemplazamos ŝ1
por ŝ1 − x12 y dˆ2 por dˆ2 − x12 .
Si ŝ1 = 0, nos movemos a la celda (2, 1), hacemos x21 = mı́n{ŝ2 , dˆ1 } y reemplazamos ŝ2
por ŝ2 − x21 y dˆ1 por dˆ1 − x21 .
Si s1 = d1 , después de computar x11 tendrı́amos ŝ1 = dˆ1 = 0. Luego, al movernos a la
celda (2, 1) (aunque también podrı́amos ir a la celda (1, 2)), quedarı́a x21 = 0. Es decir, la
solución serı́a degenerada.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 47 / 65


Solución Factible Básica Inicial - Regla de la Esquina Noroeste

En general, después de hacer xkl = mı́n{ŝk , dˆl }, reemplazamos ŝk por ŝk − xkl y dˆl por
dˆl − xkl .
Si (k, l) = (m, n), terminamos.
En caso contrario, si ŝk > 0, nos movemos a la celda (k, l + 1), hacemos
xk(l+1) = mı́n{ŝk , dˆl+1 } y reemplazamos ŝk por ŝk − xk(l+1) y dˆl+1 por dˆl+1 − xk(l+1) .
Si ŝk = 0, nos movemos a la celda (k + 1, l), hacemos x(k+1)l = mı́n{ŝk+1 , dˆl } y
reemplazamos ŝk+1 por ŝk+1 − x(k+1)l y dˆl por dˆl − x(k+1)l .
Si sk = dl , después de computar xkl tendrı́amos ŝk = dˆl = 0. Luego, al movernos a la
celda (k + 1, l), quedarı́a x(k+1)l = 0. Siendo ésta una variable básica degenerada.
Este proceso de asignar a cada variable el mı́nimo entre el suministro y la demanda
restantes, ajustar ambos y moverse a la derecha o hacia abajo una celda a la vez,
continúa hasta que todos los suministros y demandas están cubiertos.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 48 / 65


Solución Factible Básica Inicial - Regla de la Esquina Noroeste
En la siguiente tabla se ilustra cómo el proceso funciona.

Esta regla produce exactamente m + n − 1 variables básicas no negativas xij .


Cada vez que una xij se hace básica y se le asigna un valor no negativo, una restricción de
suministro o de demanda se satisface.
Cuando se asignaron m + n − 1 variables, m + n − 1 restricciones han sido satisfechas.
Como una de las restricciones del problema de transporte es redundante, se satisfacen
todas.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 49 / 65
Solución Factible Básica Inicial - Regla de la Esquina Noroeste

La estructura gráfica de las celdas básicas es conectada y generadora.


Falta ver que es árbol, esto es, que no contiene ciclos.
Como en cada paso el ı́ndice de la fila o de la columna se incrementa en 1, no es posible
hacer básica alguna variable en una columna o fila anterior, que serı́a la única forma de
producir un ciclo.
Por lo tanto, la regla de la esquina noroeste produce una solución factible básica.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 50 / 65


Solución Factible Básica Inicial - Regla de la Esquina Noroeste
Consideremos un problema de transporte con 4 orı́genes y 4 destinos y cuyos suministros
y demandas se muestran, respectivamente, en la siguiente tabla.

Empezamos por la celda (1, 1).


Hacemos x11 = mı́n{30, 15} = 15.
Actualizamos suministro y demanda.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 51 / 65
Solución Factible Básica Inicial - Regla de la Esquina Noroeste
La tabla actualizada con la variable x11 asignada y los nuevos valores de suministro y
demanda queda:

Como ŝ1 = 15 > 0, pasamos a la celda (1, 2).


Hacemos x12 = mı́n{15, 20} = 15.
Actualizamos suministro y demanda.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 52 / 65
Solución Factible Básica Inicial - Regla de la Esquina Noroeste
La tabla actualizada con las variable x11 y x12 asignadas y los nuevos valores de
suministro y demanda queda:

Como ŝ1 = 0, pasamos a la celda (2, 2).


Hacemos x22 = mı́n{45, 5} = 5.
Actualizamos suministro y demanda.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 53 / 65
Solución Factible Básica Inicial - Regla de la Esquina Noroeste
La tabla actualizada con las variable x11 , x12 y x22 asignadas y los nuevos valores de
suministro y demanda queda:

Como ŝ2 = 40 > 0, pasamos a la celda (2, 3).


Hacemos x23 = mı́n{40, 31} = 31.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 54 / 65
Solución Factible Básica Inicial - Regla de la Esquina Noroeste
La tabla actualizada con las variable x11 , x12 , x22 y x2 3 asignadas y los nuevos valores de
suministro y demanda queda:

Como ŝ2 = 9 > 0, pasamos a la celda (2, 4).


Hacemos x24 = mı́n{9, 84} = 9.
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 55 / 65
Solución Factible Básica Inicial - Regla de la Esquina Noroeste
Este proceso continúa hasta que todos los suministros y demandas se satisfacen.
Tendremos el número requerido de variables básicas, a saber 7 = m + n − 1.
Las celdas en blanco son no básicas y sus variables asociadas son nulas.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 56 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 57 / 65
Computando zij − cij para cada Celda No-Básica

Dada una solución factible básica, determinaremos si la misma es óptima o si necesitamos


seleccionar una variable entrante.
Para hacerlo, debemos calular zij − cij = cB yij − cij , para cada variable no básica.
Las componentes del vector yij son los coeficientes de los vectores básicos que aparecen
en la representación del vector aij y pueden ser 1, −1 o 0.
En el ejemplo analizado en la sección 2, tenı́amos que:
aij = aik − alk + als − aus + auj
Para esta celda no básica se cumplirá:
zij − cij = (cik − clk + cls − cus + cuj ) − cij

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 58 / 65


Computando zij − cij para cada Celda No-Básica

Aplicando la regla de la esquina noroeste al ejemplo de la sección 1, nos queda:

Las variables no básicas en este caso son x21 y x22 .


Calculamos zij − cij para estas dos variables.

z21 − c21 = 4 − 5 + 3 − 2 = 0 z22 − c22 = 7 − 5 + 3 − 4 = 1

La variable saliente es x22 , pues x22 > 0.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 59 / 65


Computando zij − cij para cada Celda No-Básica

El criterio de optimalidad para el problema de transporte está dado por zij − cij ≤ 0 para
cada variable no básica xij .
Una celda (k, l) es candidata a entrar en la base si zkl − ckl > 0.
Este procedimiento para calcular zij − cij utiliza la forma:
zij − cij = cB B−1 aij − cij = cB yij − cij .
El vector yij se determina construyendo el único ciclo que contiene a la celda (i, j) y
algunas de las celdas básicas, de la forma vista anteriormente.
Es por esto que este método se denomina el método del ciclo.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 60 / 65


Contenido
1 Problema de Transporte
Definición
Presentación del Problema
Ejemplo
Factibilidad
2 Propiedades de la Matriz A
Rango de la Matriz A
Unimodularidad Total de la Matriz A0
Caracterización de una Base en un Problema de Transporte
3 Vectores No-Básicos en Términos de Vectores Básicos
Rol de la Variable Artificial en el Problema de Transporte
4 El Método Simplex para Problemas de Transporte
Solución Factible Básica Inicial
Computando zij − cij para cada Celda No-Básica
Variable Saliente
Juan Diego Borchert Problema de Transporte 28 de julio de 2022 61 / 65
Variable Saliente

Una vez elegida la celda que entrará en la base (supongamos (k, l)), es sencillo ver qué
celda es la que debe salir.
Recordemos que los coeficientes en la representación básica para dicha celda son los
negativos de las tasas de cambio de las correspondientes variables básicas con un
incremento de una unidad en la variable no básica entrante.
Luego, si entrada en la columna ykl correspondiente a una variable básica es −1, entonces
la variable básica crecerá en la misma proporción en que lo haga la variable no básica
entrante xkl .
Si la entrada es +1, entonces la variable básica decrecerá en la misma proporción en que
la variable xkl aumente.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 62 / 65


Variable Saliente

Sea x̂ij el valor de xij en la solución actual.


Sea ∆ la cantidad en la que aumenta la variable no básica xkl .
Como cada componente de ykl es 1, −1 o 0, la cantidad mı́nima se calcula de la forma
usual:

∆ = mı́n{x̂ij : la celda básica (i, j) tiene +1 en su representac. de la celda no básica (k.l)}

Una vez calculado ∆, procedemos a ajustar los valores de las variables a lo largo del ciclo
en esta cantidad y de acuerdo con el signo de los coeficientes en la representación.

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 63 / 65


Variable Saliente

Para el ejemplo de la sección 1, vimos que la variable x22 es entrante.


Tenemos el siguiente resultado:

∆ = mı́n{x12 x23 } = mı́n{10, 20} = 10

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 64 / 65


Variable Saliente
La nueva solución está dada por:
x12 = x̂12 − ∆ = 10 − 10 = 0 (deja la base)
x13 = x̂13 + ∆ = 5 + 10 = 15
x23 = x̂23 − ∆ = 20 − 10 = 10
x22 = ∆ = 10
x11 = 15 (sin cambios)
La nueva base queda representada en la siguiente tabla:

Juan Diego Borchert Problema de Transporte 28 de julio de 2022 65 / 65

También podría gustarte