Programacion Lineal
Programacion Lineal
[Link]
Es una de las tcnicas de optimizacin ms ampliamente usadas y una de las ms efectivas.
El trmino Programacin Lineal fue inventado por Dantzig en 1947 para referirse al
procedimiento de optimizacin de problemas en los cuales tanto la funcin objetivo como las
condiciones son lineales y todas las variables no negativas.
Algunos casos donde puede usarse esta tcnica son:
Problemas de mezclado
Programas de fabricacin
Problemas de transporte
Problemas de almacenamiento
Formulacin de dietas
Restricciones de presupuesto
Esta consideracin se admite en forma implcita, por lo cual, salvo expresa indicacin en
contrario se supondr que las variables deben ser no negativas.
Sea la funcin objetivo lineal de la forma:
X2
mx Z = X1 + X2
Z=3
Z=2
1
Z=1
3 X1
Z
1
1
Si la restriccin fuese, en
Figura 1.2
cambio, X1 2, se puede ver,
como lo muestra la figura 1.3, que el mximo se encuentra
para un valor infinito de X2, y es X1 la variable que tiene un
valor finito.
X2
Z
2
Figura 1.3
X1
de libertad.
En todo problema de Programacin Lineal, siempre que
se tenga una zona de soluciones posibles cerrada, habr un
mnimo y un mximo de la funcin objetivo para valores
finitos de las variables. Si la zona est abierta un extremo se
encuentra en el infinito, el mximo o el mnimo,
dependiendo del sentido de crecimiento de la funcin
objetivo. Si se observan las figuras 1.2 y 1.3 hay un mnimo
X2
Figura 1.4
X1
X1
Cm
n
m!
n! (m n )!
mx Z C0 C jX j
j1
a ijX j di
i 1, 2,..., m
j1
Xj 0
j 1, 2,..., n
Muchas variables qumicas y fsicas son por definicin cantidades positivas, por ejemplo,
presin absoluta, concentracin, temperatura absoluta. Si por alguna razn se deben permitir
valores negativos para ciertas variables, debern realizarse transformaciones lineales para
poder trabajar con variables no negativas, X = X Xmn, siendo Xmin el menor de los valores
negativos posibles o utilizar una escala donde no se registren valores negativos en esas
variables. Si, por ejemplo, se debe trabajar con temperaturas inferiores a 0C una opcin es
usar la escala Kelvin.
Aunque la formulacin presentada parezca algo restrictiva, de ninguna manera es as. Por
una parte, se puede ver que buscar mn Z es equivalente a buscar mx(-Z).
Por otra parte,
j1
j1
vista formal ya que el algoritmo que se ver ms adelante exige que los d i sean siempre no
negativos. Lo anterior obligar a trabajar con las desigualdades de mayor o igual sin ningn
tipo de adecuacin.
Adems,
igualdad.
a ijXij di
a ijXij di
j1
j1
Otra manera de abordar la cuestin de las relaciones de igualdad es por sustitucin, donde,
haciendo los reemplazos que correspondan, el problema se expresa en un nmero de variables
igual a los grados de libertad que existen.
En realidad, el tratamiento en los algoritmos convencionales de este tipo de relaciones
utiliza una tercera va, como se ver oportunamente.
3. Presentacin del problema
Se usar como ejemplo una versin muy simplificada de una refinera cuyo esquema se
muestra en la figura 3.1.
Precios de Venta
Costos
Crudo 1
($24/bbl)
Crudo 2
($15/bbl)
Figura 3.1
La tabla 3.1 muestra la informacin necesaria para procesar los dos crudos que ingresan a
la refinera, as como las limitaciones establecidas por el mercado para los productos
(demanda) y los costos de procesamiento.
Tabla 3.1: Datos de materias primas y productos de la refinera
Produccin % en Volumen
Demanda
Crudo 1
Crudo 2
(bbl/da)
Nafta
80
40
24000
Kerosene
5
10
2000
Fuel oil
10
40
6000
Residuo
5
10
Costo Procesamiento
0,5
1
($/bbl)
Nafta:
0,80 X1 + 0,40 X2 = X3
e2
Kerosene:
0,05 X1 + 0,10 X2 = X4
e3
Fuel oil:
0,10 X1 + 0,40 X2 = X5
e4
Residuo:
0,05 X1 + 0,10 X2 = X6
En el problema existen restricciones sobre las variables, dadas por las limitaciones de
produccin que pueden verse en la Tabla 3.1. Por lo tanto las desigualdades del problema son:
r1
Nafta:
X3 24000
r2
Kerosene:
X4 2000
r3
Fuel oil:
X5 6000
Mx B = 8,10 X 1 + 10,20 X 2
y las condiciones:
r1 Nafta:
0,80 X1 + 0,40 X2
24000
r2 Kerosene:
0,05 X1 + 0,10 X2
2000
r3 Fuel oil:
6000
0,10 X1 + 0,40 X2
X1 , X2
X2 (Mbbl)
60
(*)
F
E
Z
D
r1
20
15
Z
r2
(*)
r3
A
30
B
40
X1
(Mbbl)
Figura 3.2
En la figura 3.2 puede verse la zona de soluciones posibles OGFDA y la traza de la funcin
objetivo. Puede observarse que si se desplaza la funcin objetivo desde el origen hacia la
direccin de mximo crecimiento vamos encontrando distintas soluciones, desde la obvia de
no hacer nada (O), pasando por los vrtices G y F hasta llegar a la solucin ptima que
corresponde al vrtice D, en la interseccin de r1 y r2, con un valor de $284000
Se puede observar que las 3 restricciones producen 10 intersecciones, de las cuales slo 5
pertenecen a la zona de soluciones admisibles OGFDA.
4. Caracterizacin de las soluciones
Para caracterizar a un punto perteneciente a la zona de soluciones posibles, se introduce un
conjunto de variables auxiliares, que se conocen con el nombre de flojas (slacks). Estas
n
a ijX j Si
j1
di
a ijX j
j1
di o
a ijX j
j1
Para las restricciones Xj 0 no es necesario definir variables flojas ya que su valor sera
igual al de la variable. Debe tenerse en cuenta que, por ejemplo, la frontera X 1 = 0 es el eje
X2. Por lo tanto el valor que tome X1 en una determinada solucin, podr considerarse como
la distancia de ese punto al eje de las ordenadas. Otro tanto ocurre con X 2 = 0.
De acuerdo a estas definiciones, un punto estara caracterizado por las coordenadas
{ X j (j = 1, ...,n) ; S i (i = 1, ...,m) }
y pertenecer a la regin de soluciones admisibles solamente si se cumple que:
Xj 0
j = 1, ...,n
Si 0
i = 1, ...,m
r2
0,05 X1 + 0,10 X2 + S2 =
2000
r3
0,10 X1 + 0,40 X2 + S3 =
6000
y las intersecciones de las restricciones del problema estarn caracterizadas por las
coordenadas (en miles bbl) que se muestran en la tabla 4.1, donde se puede observar que slo
cumplen las restricciones los puntos O, A, D, F, G.
El modelo del problema planteado tiene 3 ecuaciones (provenientes de las 3 restricciones
originales) y 5 variables (3 variables flojas, provenientes de las las 3 restricciones y las 2
variables originales).
Tabla 4.1: Intersecciones
O
A
B
C
0
30
40
60
X1
0
0
0
0
X2
0
-8
-24
S1 24
2
0,5
0
-1
S2
6
3
2
0
S3
D
26,67
6,67
0
0
0,67
E
25,71
8,57
0
-0,14
0
F
20
10
4
0
0
G
0
15
18
0,50
0
H
0
20
16
0
-2
I
0
60
0
-4
-18
En la tabla 4.1 se ve que siempre dos de las coordenadas son nulas, lo cual es lgico ya
que, en cada interseccin, las distancias a las dos fronteras que se intersectan deben ser nulas.
a ijX j Si di
i 1,..., m
j1
o, lo que es lo mismo
n
Si di a ijX j
i 1,..., m
j1
donde las variables independientes son las Xj. La solucin bsica surge de hacer X j 0 j
(el origen de coordenadas ser siempre solucin bsica)y las Si resultan iguales al
correspondiente trmino independiente di, en el ejemplo S 1 = 24000, S 2 = 2000 y S 3 = 6000.
En la terminologa de Programacin Lineal a las variables dependientes se las denomina
variables bsicas o en base y no bsicas o fuera de base a las independientes. Una solucin
bsica, en consecuencia, se obtiene para valores nulos de todas las variables no bsicas y
ser posible si las bsicas son no negativas.
Esa solucin bsica puede o no ser posible (si todas las restricciones son del tipo
n
a ijX j
j1
X1
X2
r1
0,80
0,40
24000
r2
0,05
0,10
2000
r3
0,10
0,40
6000
FO
-8,10
-10,20
El origen de coordenadas es una solucin bsica posible que se usa para iniciar el clculo.
Corresponde a la solucin obvia de no hacer nada, por lo cual el beneficio es nulo.
Dichas condiciones pueden ser inexistencia de una zona de soluciones posibles u ptimo en el infinito.
Esto es vlido para problemas donde todas las restricciones son del tipo aij Xj di con di 0. Ms
adelante se ver como se modifica esta matriz para otros casos.
2
Corresponde ahora ver si es posible mejorar el valor de la funcin objetivo. Para ello se
debe analizar las consecuencias de un posible incremento sobre alguna de aquellas variables
que son cero, X1 o X2, por ser las variables independientes o de decisin. Obviamente, para
que la nueva solucin no abandone la zona admisible, no pueden considerarse valores
negativos para tales variables.
Como las variaciones permitidas son positivas, la funcin objetivo aumentar ms
rpidamente con aquella variable que tenga el mayor coeficiente c j positivo, esto es, en la
tabla, el ms negativo de la fila de la FO.
Esta variable dejar de ser nula y, en consecuencia, entrar en base. La columna que
corresponde a esta variable se denominar columna pivote, ya que ella determinar las
transformaciones que sufra la tabla.
Para el ejemplo que se est analizando se elige X 2.
Ahora resta determinar cunto puede aumentarse [Link] violar la no negatividad de las
dems variables. Dejando [Link], de la tabla 5.1 se ve que deber cumplirse:
para la restriccin 1:
X2 = 60000
para la restriccin 2:
X2 = 20000
para la restriccin 3:
X2 = 15000
X2
S1
S2
S3
r1
0.70
-1
18000
r2
0.025
-0.25
500
r3
0.25
2.50
15000
FO
-5.55
25.50
153000
Una vez establecidas la columna (l), la fila (k) y el elemento pivote (a kl) se est en
condiciones de realizar las modificaciones para llegar a otra solucin bsica posible.
Las transformaciones concluyen con el elemento pivote igual a 1 y los dems coeficientes
de la columna pivote igual a cero
Las tranformaciones se realizan de la siguiente manera:
Fila Pivote ( i= k ): para lograr que el nuevo coeficiente en la ubicacin del pivote sea igual a
uno, se divide toda la fila por el elemento pivote.
a kj
a nkj
;
d nk dk
j 1,2,..., n m 1
a kl
a kl
Filas restantes ( i = 1,... , m , i k ): para lograr que, en la columna del pivote todos los
elementos sean nulos, se resta, a cada fila, la obtenida en el paso anterior, multiplicada por el
elemento que se desea hacer cero.
a
a ijn a ij a kj il a ij a nkj a il ;
j 1,2,..., n m 1
; j l
a kl
a
d in d i d k il d i d nk a il
a kl
Funcin Objetivo: se procede igual que en el paso anterior para lograr que el coeficiente de la
variable que est entrando en base sea nulo:
a kj
C nj C j Cl
;
j 1,2,..., n m 1
; j l
a kl
d
C0n C0 Cl k
a kl
Los cambios realizados sobre la Tabla 5.1 conducen a la Tabla 5.2, en la cual se puede ver
que si las variables no bsicas (X1 y S3) son nulas, X2 es igual a 15000, S1 es 180000 y S2 es
500 bbl/da, dando un beneficio de 153000 $/da.
Esta solucin bsica posible se halla sobre la frontera de la restriccin 3, en el punto G de
la figura 3.2.
Si se mira la fila de la funcin objetivo se puede ver que an es posible aumentar su valor
ya que el coeficiente de la variable X1 es negativo. Como hay un nico coeficiente con esa
caracterstica, sta es la columna pivote. La restriccin 2 es la elegida como fila pivote por lo
cual la variable S2 saldr de base. Las modificaciones llevan a la Tabla 5.3, que corresponde
al punto F de la figura 3.2.
X2
S1
S2
S3
r1
-28
4000
r2
40
-10
20000
r3
-10
10000
FO
222
-30
264000
X2
S1
S2
S3
r1
0,17
-4,67
666.67
r2
1,67
-6,67
26666.67
r3
-0,83
13.33
6666.67
FO
82
284000,00
solucin bsica inicial siempre disponible, puede no ser una solucin posible y es necesario
recurrir a un artificio para solucionar el impedimento.
Esto surge cuando hay ecuaciones o alguna de las restricciones del problema es de la
forma:
n
a ijX j di
, di 0
j1
0,80 X 1 + 0,40 X 2 = X 3
X 3 24000
X 4 2000
X 5 6000
24000
2000
Fuel oil:
6000
Nafta:
0,10 X 1 + 0,40 X 2
X1 , X2 0
La representacin grfica se muestra en la figura 6.1.
X2 (Mbbl)
D
O
X
(Mbbl) 1
Figura 6.1
El agregado de las variables flojas en las restricciones de mayor o igual, para que su no
negatividad siga indicando la pertenencia a la regin de soluciones posibles, debe hacerse
como sigue:
n
a ijX j Si di
j1
0,80 X 1 + 0,40 X 2 S 1
r2:
r3:
= 24000
Es evidente que en este caso el origen de coordenadas no es una solucin bsica posible.
Para obviar esto se hace uso, para cada restriccin, de un tipo especial de variables auxiliar, v i,
llamadas artificiales que, en la misma escala que la correspondiente variable floja, mide la
distancia de un punto a la frontera de la restriccin, pero en direccin hacia el exterior de la
zona de soluciones permitidas. De lo anterior surge que, en una determinada solucin,
mientras alguna de estas variables tenga valor positivo, el punto en cuestin estar fuera de la
zona de soluciones admisibles.
n
La transformacin de la restriccin
a ijX j di
j1
a ijX j Si vi di
(6.1)
j1
Dadas las coordenadas Xj de un punto, la ecuacin (6.1) queda con un grado de libertad: se
puede, para un punto dado, aumentar Si incrementando en igual medida a vi.
Este grado de libertad se consume introduciendo la relacin Si * vi = 0, esto es, la distancia
de un punto a la frontera slo se evala mediante una de las variables auxiliares; la floja para
el interior y la artificial en el otro caso. En la frontera ambas son nulas.
El Mtodo Simplex de Dantzig, respetar, en forma implcita, esta relacin, ya que Si y vi
no podrn estar, simultneamente, en base. Esto es as, ya que la columna asociadas a v i es,
exactamente, la de Si, pero cambiada de signo.
Haciendo uso de las variables artificiales exclusivamente en las restricciones que lo
requieren, el problema se plantea bajo la forma:
mx B = 8,10 X 1 + 10,20 X 2
sujeto a:
r1:
r2:
0,05 X 1 + 0,10 X 2 + S2
= 2000
r3:
0,10 X 1 + 0,40 X 2 + S3
= 6000
X1 , X2 0
La solucin bsica disponible es X1 = X2 = S1 = 0, con lo cual v1 = 24000, S2 = 2000 y
S3 = 6000, claramente un vrtice fuera de la zona admisible.
Toda solucin posible debe cumplir la condicin que v1= 0. Para encontrar una de esas
soluciones se puede plantear un problema, que se denomina artificial.
En el mismo se busca minimizar la funcin objetivo artificial (FOA), igual a la suma de
las variables artificiales utilizadas: U = vi. Para el problema que se est analizando es:
mn U = mn v1 = 24000 0,8 X 1 0,4 X 2 + S1
(6.2)
Si el mnimo de U es cero, la solucin es un punto donde todas las variables artificiales son
nulas y, por consiguiente, pertenece a la zona de soluciones admisibles. En caso contrario, las
restricciones del problema son mutuamente incompatibles y no existe zona de soluciones
admisibles.
Esta estrategia se integra en el procedimiento denominado Fase I Fase II.
v1
(-U)
r1
0,8
0,4
-1
24000
r2
0,05
0,1
2000
r3
0,1
0,4
6000
FO
-8,1
-10,2
FOA
-0,8
-0,4
-24000
Se puede observar que en la funcin objetivo artificial (FOA) los coeficientes aparecen
cambiados de signo respecto de su definicin en (6.2). Ello se debe al hecho que se debe
buscar un mnimo y como la forma cannica del problema es mximo, debe efectuarse la
transformacin indicada previamente.
En esta fase, desde un punto de vista formal, es posible no incorporar en la tabla la fila de
la funcin objetivo real (FO). Se lo hace , sin embargo, para simplificar el manejo posterior
pero debe tenerse en cuenta que los coeficientes de esa fila no intervienen en el clculo para
determinar el pivote. La primera transformacin se muestra en la Tabla 6.2, cuyo resultado
corresponde al punto A de la figura 6.1.
Tabla 6.2: Primera Transformacin
X1
X2
S1
S2
S3
v1
(-U)
r1
0,5
-1,25
1,25
30000
r2
0,075
0,0625
-0.0625
500
r3
0,35
0,125
-0,125
3000
FO
-6,15
-10,125
10,125
243000
FOA
Puede verse que en la fila de la FOA de la tabla 6.2 no aparecen coeficientes negativos, por
lo que el problema artificial ha concluido. Como adems el valor de la FOA es cero, la
solucin encontrada es una solucin bsica posible del problema original.
Por otro lado, cuando al finalizar el problema artificial se ha encontrado una solucin
bsica posible, todas las variables artificiales estarn fuera de base. Por la forma en que se ha
construido la FOA, todos los coeficientes en su fila sern cero, salvo los de las variables
artificiales y el de (-U) que son iguales a uno.
Esta es la manera correcta de evaluar el fin del problema artificial ya que puede suceder
que una determinada variable artificial est en base, pero toma un valor nulo en la solucin
bsica disponible. Si fuese la nica la FOA valdra cero pero el problema artificial no habra
terminado.
En consecuencia, el final del problema artificial donde se alcanza una solucin posible
bsica del problema original es cuando la totalidad de las variables artificiales se encuentran
fuera de base. Si no se dan estas condiciones, el problema original no tiene solucin ya que no
existe zona de soluciones posibles.
Al finalizar la Fase I en forma satisfactoria, se pueden eliminar las columnas
correspondientes a las variables y funcin objetivo artificiales y la fila de esta ltima
(recuadradas en la tabla 6.2).
Con el resto del cuadro se sigue trabajando en la Fase II. La prxima solucin bsica
posible encontrada es la solucin ptima del problema original, como se puede apreciar en la
Tabla 6.3 (punto B de la figura 6.1).
Tabla 6.3: Solucin ptima
X1
X2
S1
S2
S3
r1
20
40000
r2
1,2
16
8000
r3
0,2
-2
2000
FO
162
324000
En el plan de produccin ptimo se consumen 40000 bbl/da del crudo 1 y nada del crudo
2 . La cantidad de nafta producida es 8000 bbl/da (valor de S1) por encima del nivel mnimo
de 24000. La produccin de kerosene es exactamente la cota mxima de 2000 (S2 es nulo) y
se producen 2000 bbl/da menos del mximo de 6000 establecido para el fuel oil.
7. Tratamiento de las ecuaciones de diseo
El hecho de reducir manualmente la dimensin del problema, dejndolo slo en funcin de
sus grados de libertad, es viable, en trminos prcticos, siempre y cuando se est trabajando
con un problema de pocas [Link] aumenta ese nmero, las sustituciones se vuelven
laboriosas y se incrementa la posibilidad de cometer errores.
En cuanto a la automatizacin de este procedimiento, aparte de la necesidad de contar con
un software capaz de realizar las sustituciones, la complejidad de las expresiones resultantes
no justifica la reduccin de dimensionalidad alcanzada, frente a la eficiencia, en el manejo de
grandes sistemas, que presentan los algoritmos de Programacin Lineal.
El problema original de la refinera se planteaba
mx B = 36 X 3 + 24 X 4 + 21 X 5 + 10 X 6 24,5 X 1 16 X2
sujeto a las siguientes condiciones:
Produccin de Nafta:
X 3 24000
0,80 X 1 + 0,40 X 2 = X 3
X 4 2000
0,10 X 1 + 0,40 X 2 = X 5
X 5 6000
Produccin de Residuo:
0,05 X 1 + 0,10 X 2 = X 6
X1 , X2 , X3 , X4 , X5 , X6 0
Anteriormente, se utilizaron las ecuaciones de produccin para realizar una sustitucin en
las variables, dejando expresado el modelo en los dos grados de libertad que tiene. Existe otra
manera de trabajar con las ecuaciones de diseo que consiste en agregar una variable
artificial a cada ecuacin. Por ejemplo, para la produccin de nafta, la ecuacin se
transforma en
0,80 X1 0,40 X2 X3 0,80 X1 0,40 X2 X3 v1 0
En la Tabla 7.1 se han introducido las ecuaciones haciendo uso de las variables artificiales.
El incremento de complejidad que se aprecia al comparar esta tabla con la Tabla 5.1, tras
haber realizado la sustitucin de variables, no es tan dramtico como aparece, ya que en los
distintos algoritmos de Programacin Lineal slo se requiere introducir las relaciones entre las
variables originales, adems del tipo de relacin que se trata.
Tabla 7.1: Cuadro Inicial del Problema 1 sin sustitucin
X1
X2 X3 X4 X5 X6 S1 S2 S3 v1
v2
v3
v4
(-U)
e1
e2
0,8
0,4
-1
0,05
0,1
-1
e3
0,1
0,4
-1
e4
0,05
0,1
-1
r1
24000
r2
2000
r3
6000
FO
24,5
16
FOA
-1
-1
X2
r2
Z
r1
r3
F
D
O
D
A
X1
Figura 8.1
350
60
300
50
250
40
X1
30 X2
200
150
20
100
Z
10
50
3
X1
Figura 8.2
X2
r2
Z
r1
r3
F
D
X1
Figura 8.3
la pendiente de la funcin objetivo coincida con la de la restriccin r3, es decir que sea igual a
-0.25, lo que corresponde a un valor de C1 igual a 2.55. Nuevamente se tendrn infinitas
soluciones entre los vrtices F y G.
Para valores de la pendiente superiores a 0,25 el ptimo se encontrar siempre en el punto
G.
En resumen:
El ptimo se
encuentra en
800
35
700
30
600
5.1<C1<20.4
2.55<C1<5.1
C1<2.55
25
500
$/da
C1>20.4
20
400
15
300
Mbb/da
Si
10
200
100
Z
0
10
15
20
25
X1
X2
C1
Figura 8.4
Figura 9.2
Figura 9.4
Al encontrar la solucin aparece una ventana como la de la figura 9.5, que contiene un
mensaje, que resume el resultado de la optimizacin 5.
En esta ventana existe la
posibilidad de utilizar la
solucin encontrada (valor por
defecto) o no. Si se la acepta,
esa solucin se mostrar en las
celdas que contienen las
variables independientes.
Tambien se puede elegir
Figura 9.5
generar distintos tipos de
informes. En la figura 9.5 se han seleccionado Respuestas y Sensibilidad. Estos reportes son
4
Los restantes botones, Cambiar y Eliminar, permiten modificar la informacin de las restricciones
ingresada previamente.
5
En la figura 9.5 se muestra un resultado exitoso de la bsqueda. Otras posibilidades podran indicar
la inexistencia de zona de soluciones admisibles o un ptimo en el infinito.
En la tabla 10.1 puede verse que el beneficio mximo obtenible es de 284000 $/da, que se
obtiene procesando 26667 bbl/da de crudo 1 y 6667 de crudo 2.
Las producciones de nafta y kerosene alcanzan los valores mximos permitidos - las
restricciones estn activas, que se indica como Estado = Obligatorio -, con lo cual las
variables flojas S1 y S2 asociadas a ellas tienen un valor [Link] produccin de fuel oil est
667 bbl/da por debajo del mximo (S3 = 667), es decir que el punto ptimo se encuentra en
el interior de la restriccin 3 (Estado = Opcional).
11. Informe de sensibilidad
En este informe se muestran las modificaciones que pueden realizarse en los coeficientes
de la funcin objetivo y en los trminos independientes de las restricciones para que la
solucin ptima obtenida siga teniendo activas las mismas restricciones. Las variaciones en
los coeficientes de la funcin objetivo mantendrn no slo la naturaleza de la solucin sino
tambin los valores ptimos de las variables, modificndose solamente el valor de la funcin.
el ptimo y existe una diferencia entre el valor alcanzado (5333) y el mximo permitido
(6000).
Precio sombra: son los valores, en el ptimo, de los coeficientes en la fila de la funcin
objetivo de las variables flojas asociadas a las restricciones. Indican la modificacin en la
funcin objetivo si se relaja la restriccin, permitiendo una variacin positiva o negativa de
la respectiva variable floja. Obviamente, solo se producirn variaciones (precio sombra no
nulo) para aquellas variables que se encuentren fuera de base. As, por ejemplo, si se pudiera
producir ms nafta, se incrementara la utilidad en 5$ por cada barril diario adicional que se
produzca. Por supuesto que se reducira en la misma cantidad si el mximo permitido fuese
menor que 24000 bbl/da.
Restriccin lado derecho: indica los trminos independientes originales de las restricciones.
Aumento/Disminucin permisible: representa cunto puede aumentarse o disminuirse el
trmino independiente sin que se altere la naturaleza de la solucin ptima..Por ejemplo, se
puede aumentar la produccin de nafta hasta 8000 bbl/da, esto es, una produccin mxima de
24000 + 8000 = 32000 bbl/da y, en el ptimo, seguirn estando activas las restricciones 1 y 2.
El informe de sensibilidad no indica como se modifican los valores de las variables originales
X1 y X2. En este caso es posible un anlisis grfico pero, en general, debe resolverse, aparte,
el sistema resultante tras la modificacin. En este caso sera:
0.80 X1 + 0.40 X2 = 32000
0.05 X1 + 0.10 X2 = 2000
que conduce a la solucin X1 = 40000; X2 = 0, el punto B de la figura 10.
Del mismo modo,se puede decir que mientra la produccin mxima de nafta no caiga ms all
de 24000 4000 = 20000 bbl/da el punto ptimo seguir siendo determinado por S1 = S2 = 0.
12. Problema de Transporte
El problema de transporte o de asignacin es un caso especial de programacin lineal.
Aparece toda vez que un determinado artculo es requerido desde diversos destinos y sus
pedidos deben ser satisfechos desde distintos orgenes. Existe un costo por unidad
transportada desde un origen cualquiera hacia cualquier destino y el objetivo es cumplir con
los requerimientos al menor costo total de transporte.
En general, se habla de n orgenes A1, A2,..., An cada uno con una disponibilidad d1, d2,...,
dn y de m destinos B1, B2,..., Bm que efectan pedidos de p1, p2,..., pm unidades
respectivamente. Enviar una unidad desde el origen Ai al destino Bj costar Cij y tal envo ser
de xij unidades.
El problema de transporte normalizado que se considerar exige que la disponibilidad
total DT sea igual al requerimiento total RT:
DT d i p j R T
i 1
(12.1)
j1
x
i 1
ij
pj
j 1,..., m
(12.2)
y en cada origen, las entregas deben ser iguales a las disponibilidad existente
m
x i j di
i 1,..,.n
(12.3)
j1
Es fcil ver que el sistema de n+m ecuaciones en nxm incgnitas formado por (12.2) y
(12.3) tiene solamente n+m-1 ecuaciones linealmente independientes, al tenerse que cumplir
la ecuacin (12.1).
El problema es, entonces, encontrar
n m
mn C T Cij x ij
i 1 j1
asociado a
n
xi j p j
j 1,..., m
x i j di
i 1,..., n
i 1
n
j1
Figura 12.1
caso, resulta indiferente de que origen se trate en tanto que en el otro, resultarn privilegiados,
ceteribus paribus, aquellos de menor costo.
13. Modelo de Transbordo
Un problema relacionado con el de transporte visto en el apartado anterior es el modelo de
transbordo. En l se tiene un conjunto de orgenes o proveedores y destinos o clientes
adicionales, adems de los originales. Las localizaciones adicionales cumplen un rol similar a
las ficticias introducidas en el problema de transporte.
El problema de transbordo recibe su nombre por la introduccin, en el modelo, de un grupo
de almacenamientos intermedios, donde depositan sus disponibilidades los proveedores y
retiran sus pedidos los clientes. Ms precisamente, cada proveedor aporta a determinados
almacenes y desde un conjunto especificado de ellos cada cliente retira sus pedidos.
Asimismo, el modelo admite la posibilidad de llevar a cabo transferencias entre almacenes,
teniendo habilitadas, cada uno de ellos, determinadas rutas internas e impedidas otras.
En general, todos los proveedores y clientes, salvo los adicionales, tienen especificadas las
transferencias que se realizan con cada uno de los almacenes a los que tienen acceso, con lo
cual su aporte al costo total resulta una constante y no se lo considera en la bsqueda del
ptimo. Tampoco se consideran las transferencias entre almacenes porque suele asignrseles
un costo nulo.
Con esto, en la funcin objetivo han de intervenir slo las cantidades transferidas por los
proveedores y clientes adicionales.
A continuacin se realizar el planteo genrico para uno de los N A almacenes que
considera el modelo
Siendo
{O}k: conjunto de proveedores que estn habilitados a suministrar sus productos al
almacenamiento k.
{OA}k: idem para el conjunto de proveedores adicionales.
{D}k: conjunto de clientes a los que se les permite retirar productos del almacenamiento k.
{DA}k: idem para el conjunto de clientes adicionales.
{AF}k: conjunto de almacenes que pueden transferir productos al almacn k
{AS}k: conjunto de almacenes a los que puede transferir productos el almacn k
Ri i {AF}k
xi,k i {O}k
xj,k j {D}k
k
xj,k j {DA}k
xi,k i {OA}k
Rj j {AS}k
Figura 13.1
i{O}k
x ik
i{OA}k
x ik
i{A F }k
Ri
j{D}k
x jk
j{DA}k
x jk
j{A S }k
Rj
donde se encuentran especificados los aportes de los proveedores y los pedidos de los
clientes, en ambos casos originales, es decir que son valores conocidos xik, con i {O}k y xjk
con j {D}k.
La funcin objetivo, considerando coeficientes de costo unitarios C i , Cj, puede plantearse
como:
FO
k i{OA}k
Ci x ik
k j{DA}k
C jx jk
Puede verse que el sistema de ecuaciones resultante para el modelo es de naturaleza lineal.
Bibliografa
- [Link], [Link], [Link], Engineering Optimization: Methods and
Applications, 1983, Wiley-Interscience.
- [Link], [Link], Optimization of Chemical Processes, 1988, Mc-Graw Hill
- Frontline Systems, Inc., Solver Tutorial for Optimization Users,
[Link]