Professional Documents
Culture Documents
APUNTES DE
OPTIMIZACIN
Teora y Ejercicios Parte 1
Programacin Lineal
PROBLEMAS DE OPTIMIZACIN.
Un Problema de Optimizacin es uno tal que, bajo ciertas condiciones en particular, se
desea maximizar o minimizar una funcin dada. Si dicha funcin a optimizar es lineal, el
problema anterior ser llamado Problema de Programacin Lineal (PPL), siempre y
cuando el espacio de soluciones factible que define a dicho problema pueda ser
construido mediante un sistema lineal de ecuaciones de dimensin rectangular, digamos
de
, siendo
.
El Modelo de Programacin Lineal se define en base a tres elementos constitutivos: las
variables
del problema, tales que
; las restricciones a las que est sujeto el
problema, que pueden ser de tres tipos:
-
Tipo 1:
Tipo 2:
Tipo 3:
Donde
son constantes conocidas. Esta funcin debe optimizarse, cumpliendo las
restricciones anteriores, para as poder darle una solucin al problema.
MODELO DE PROGRAMACIN LINEAL.
Las definiciones anteriores suelen ser confusas, por lo que es mejor ejemplificarlas de
forma ms concreta. Vamos a suponer entonces que la Compaa Metalrgica DIMIN
1
(Chile) dispone de dos procesos de reaccin mediante los cuales debe producir dos tipos
de surfactantes, que sern utilizados en procesos de flotacin. Con el primer proceso se
producen 2 [kg/hr] del surfactante 1 y 1 [kg/hr] del surfactante 2. Mientras que el segundo
proceso produce 3 [kg/hr] del surfactante 1 y 1 [kg/hr] del surfactante 2.
La gerencia ha determinado las siguientes condiciones:
-
A continuacin definiremos las restricciones que limitan las horas en que se ejecuta cada
proceso y la demanda. Para la demanda de ambos surfactantes, las restricciones
respectivas se pueden expresar verbalmente como sigue:
(
Se tiene entonces:
-
Adems, como la diferencia entre las horas en que se corre el proceso 1 y el proceso 2 no
debe ser superior a 5 horas diarias, se tiene que
y
y
no
,
Por lo que el modelo de programacin lineal representativo del problema planteado con
anterioridad es el siguiente:
( )
Cualquier valor de
y
que satisfaga todas las restricciones del modelo es una
solucin factible del problema. Sin embargo, a nosotros nos interesa determinar la
solucin ptima factible, que maximice , y que, al mismo tiempo, satisfaga todas las
restricciones del problema. No se acepta enumerar las soluciones factibles, porque el
modelo tiene una cantidad infinita de ellas, por lo que se hace patente desarrollar un
mtodo que, de forma sencilla, sea capaz de determinar tal solucin ptima a partir de los
datos del problema.
El modelo de programacin lineal debe cumplir con dos condiciones fundamentales:
1. La proporcionalidad, requiere que la contribucin de cada variable de decisin en
la funcin objetivo, y sus requerimientos en las restricciones, sea directamente
proporcional al valor de la variable
2. La aditividad estipula que la contribucin total de todas las variables en la funcin
objetivo y sus requerimientos en las restricciones sean la suma directa de las
contribuciones o requerimientos individuales de cada variable
El valor ptimo de es de 1380 USD. Por lo tanto, el proceso 1 debe correrse durante
9 horas y el proceso 2 debe correrse 4 horas, para as maximizar las utilidades de la
compaa.
No es casualidad que la solucin ptima se encuentre en un punto esquina del ESF.
En realidad, si se cambia la pendiente de la funcin objetivo
(cambiando sus
coeficientes), se ver que la solucin ptima factible siempre se encuentra en esos
puntos esquina. Esta observacin es la clave en el desarrollo de un mtodo algebraico
general para resolver este tipo de problemas, llamado Algoritmo Smplex, y que
veremos ms adelante.
b) Solucin de un problema de maximizacin: Vamos a ejemplificar este caso con
otro problema, llamado comunmente el problema de la dieta.
Supongamos que en la Granja Educativa se usa diariamente un mnimo de 800 libras
de un alimento especial, que es una mezcla de maz y soya, con las composiciones
indicadas en la siguiente tabla:
Componentes del alimento
Maz
Soya
Las necesidades dietticas del alimento especial son un mnimo de 30% de protenas
y un mximo de un 5% de fibras. La Granja Educativa desea determinar las
proporciones de alimento que produzcan un costo diario mnimo.
Sean entonces:
: libras de maz en la mezcla diaria
: libras de soya en la mezcla diaria
5
La funcin objetivo trata de minimizar el costo (en dlares) diario total de la mezcla de
alimentos, por lo cual se expresa como sigue:
ALGORITMO SMPLEX
La solucin grfica del modelo de programacin lineal indica que la solucin ptima
factible del modelo siempre est asociada a un punto esquina del ESF. Este resultado es
la clave del mtodo smplex, el cual es un procedimiento algebraico e iterativo para
resolver cualquier modelo de programacin lineal.
La idea del mtodo smplex es sencilla: se busca un punto esquina del ESF, y se verifica
si ste cumple con ser la solucin ptima del problema. Si no es as, saltamos a un nuevo
punto esquina. El mtodo termina cuando ya no es posible optimizar la funcin objetivo en
otro punto, lo que indica que hemos llegado al ptimo.
VARIABLES DE HOLGURA Y EXCEDENCIA: para estandarizar, la representacin
grfica del ESF de un modelo de programacin lineal se forma bajo dos condiciones:
1. Todas las restricciones (excepto las de no negatividad) son ecuaciones cuyo lado
derecho es no negativo
2. Todas las variables son no negativas
En las restricciones del tipo , el lado derecho se puede imaginar como la representacin
del lmite de disponibilidad de un recurso, y en ese caso, el lado izquierdo representara el
uso de este recurso limitado por parte de las actividades (variables) del modelo. La
diferencia entre el lado derecho y el lado izquierdo de la restriccin representa, por
consiguiente, la cantidad no usada u holgura del recurso.
Para convertir una desigualdad del tipo en ecuacin, se agrega una variable de holgura
al lado izquierdo de la ecuacin. Por ejemplo, en el modelo de la compaa DIMIN
(ejemplo de maximizacin), la restriccin asociada a la demanda de Gerencia para el
surfactante 1, con respecto a la mxima cantidad diaria a fabricar, est dada por la
desigualdad:
Si definimos a
como la holgura o cantidad no usada de este recurso (que se traduce
como la cantidad no fabricada de surfactante 1, en este caso), la restriccin anterior
puede convertirse en la siguiente ecuacin:
Prosigamos. Una restriccin del tipo establece, normalmente, un lmite inferior para las
actividades (variables) del modelo de programacin lineal. Como tal, la cantidad por la
cual el lado izquierdo es mayor que el lmite mnimo (lado derecho) representa un
excedente.
La conversin de una desigualdad del tipo a una ecuacin se logra restando una
variable de excedencia, del lado izquierdo de la desigualdad. Por ejemplo, en el problema
de la dieta (ejemplo de minimizacin), la restriccin que representa los requisitos mnimos
de alimento est dada por:
Es importante sealar que el lado derecho de las ecuaciones convertidas debe ser
siempre no negativo. Esta condicin se puede satisfacer siempre, si es necesario,
multiplicando ambos miembros de la ecuacin por -1.
VARIABLES NO RESTRINGIDAS: en los modelos que hemos visto (compaa DIMIN y
el problema de la dieta) slo manejamos variables no negativas. Sin embargo, hay casos
en los que una variable puede asumir cualquier valor real.
Como el modelo de programacin lineal est definido slo para variables no negativas, la
aparicin de variables no restringidas sugiere un cambio de variable en el problema. Si
es una variable no restringida (
), debe hacerse la siguiente sustitucin:
Donde
y
son ambas no negativas. Notemos que, a partir de la misma definicin
del PPL, una de estas variables necesariamente debe ser cero.
La condicin
variable
condicin.
Las
variables necesarias para poder determinar la cantidad de puntos esquina en el
ESF son llamadas variables no bsicas (VNB). Las
variables restantes, en caso de
tener una solucin nica, son llamadas variables bsicas (VB), y su solucin (al resolver
las ecuaciones), se llama solucin bsica.
Por ejemplo, consideremos el siguiente PPL:
( )
En el ejemplo anterior,
y
son las variables de holgura. El sistema tiene
ecuaciones y
variables. As, segn lo anterior, se pueden determinar
algebraicamente los puntos esquina igualando a cero las
variables no
bsicas respectivas (que, en este caso en particular, pueden ser cualquiera de las
variables del modelo), y resolviendo las ecuaciones para encontrar los 2 restantes. Por
ejemplo, si
y
se igualan a cero, las ecuaciones generan la solucin:
)
)
)
)
)
)
Variables
bsicas
(
(
(
(
(
(
)
)
)
)
)
)
Solucin
bsica
(5 , 4)
(4 , -3)
(2.5 , 1.5)
(2 , 3)
(5 , -6)
(1 , 2)
Punto
esquina
asociado
O
A
D
B
E
C
Factible?
S
No
S
S
No
S
Valor
objetivo de
z
0
7.5
4
8
Tabla 1: Variables no bsicas y variables bsicas del ejemplo anterior. Notemos que el
ptimo se encuentra en C, ya que es en este punto donde el valor objetivo de Z es
mximo
9
El algoritmo smplex es un mtodo iterativo, que selecciona un punto esquina del ESF,
verificando los valores de las variables no bsicas y de la funcin objetivo. Si stos no son
ptimos, el proceso de resolucin salta al punto esquina siguiente, generando un
intercambio de variables dependiendo de las condiciones del problema.
Por lo tanto, el algoritmo smplex se rige por el siguiente esquema:
Paso inicial
Paso iterativo
No ptima
Prueba de
optimalidad
ptima
Fin
Para entender mejor la aplicacin del algoritmo smplex, vamos a utilizarlo para resolver el
siguiente PPL:
( )
El primer paso del algoritmo smplex es la generacin del llamado modelo lineal estndar
(MLE) del problema. En dicho modelo, la funcin a optimizar siempre debe minimizarse, y
las restricciones deben ser todas del tipo . Esto ltimo es lo mismo que decir que todas
las restricciones deben presentar holguras, o bien, variables que cumplan el papel de
holguras. Esta condicin puede cumplirse siempre, incluso cuando se presentan variables
de excedencia en las restricciones. Como ste no es el caso, dejaremos ese tipo de
problemas para despus.
La condicin de minimizacin se logra con el siguiente cambio de signos:
( )
11
limitantes de cada restriccin junto a la solucin bsica del problema. Para nuestro caso,
el tableau smplex de inicio es el siguiente:
V.B. x1 x2 s1 s2 s3 s4 b
s1
6 4 1 0 0 0 24
s2
1 2 0 1 0 0 6
s3 -1 1 0 0 1 0 1
s4
0 1 0 0 0 1 2
-z* -5 -4 0 0 0 0 0
En el diseo del tableau se especifican el conjunto de variables bsicas (las que aparecen
en la columna V.B.) y las variables no bsicas (las que no aparecen en la columna V.B.), y
tambin se muestra la solucin bsica asociada con la iteracin de inicio (la cual es z = 0,
y corresponde al elemento inferior de la columna b, que es la columna de las limitantes de
las restricciones; la fila z es llamada comunmente la fila objetivo), la cual es llamada
solucin bsica inicial. Por comodidad, siempre que sea posible, las iteraciones smplex
) ( ). As, el conjunto asociado de variables bsicas y
comienzan en el origen, (
variables no bsicas puede definirse como sigue:
V.B: (
V.N.B: (
)
) las variables no bsicas son siempre nulas
12
La condicin
nos asegura que los
obtenidos sean siempre no negativos,
porque, como ya definimos con anterioridad, los
deben ser siempre no negativos.
( ) corresponde a
En resumen, el
bsica, y quiere decir que
es la variable de
salida (su valor es nulo en la siguiente iteracin, porque pasa a ser no bsica). El valor de
la variable de entrada
en la nueva solucin es igual al
obtenido para dicha variable
(
). La disminucin correspondiente del valor de la funcin objetivo z, que llamamos
, es igual al producto entre el coeficiente de la variable que entra en la fila z (que es -5,
en esta caso) y el valor del
obtenido (que es 4). Luego,
.
PASO 4: OBTENCIN DE LOS NUEVOS COEFICIENTES EN LA SIGUIENTE
ITERACIN: El resultado final de intercambiar las variables de entrada y de salida es
que las variables bsicas y las variables no bsicas en la siguiente iteracin son:
V.B: (
V.N.B: (
)
) las variables no bsicas son siempre nulas
Ahora se deben manipular los coeficientes de nuestro tableau de inicio, de modo que las
columnas ahora identifiquen la nueva solucin bsica en esta nueva iteracin (que
corresponde a otro punto esquina). Para ello, lo ms comn es tratar al tableau como una
matriz, y aplicar el mtodo de eliminacin gaussiana, construyendo as el nuevo tableau
para esta iteracin.
El pvot para comenzar a trabajar con la eliminacin gaussiana es aquel que es producto
de la interseccin entre la fila que se corresponde con la variable de salida y la columna
que se corresponde con la variable de entrada. En el siguiente tableau se detalla la
ubicacin de dicho pvot.
13
V.B. x1 x2 s1 s2 s3 s4 b
s1
6 4 1 0 0 0 24
s2
1 2 0 1 0 0 6
s3 -1 1 0 0 1 0 1
s4
0 1 0 0 0 1 2
-z
-5 -4 0 0 0 0 0
Por tanto, el pvot es el elemento
A modo de recordatorio, se adjuntan los pasos de la eliminacin gaussiana; ntese que
esta es una forma de generar la eliminacin. Existen otras, igualmente vlidas:
1. Primero se genera un pvot unitario. Esto se logra dividiendo la fila correspondiente al
pvot por elemento pvot
2. Luego procedemos a generar los ceros en las siguientes filas, justo debajo del pvot.
Si la matriz tiene un pvot
distinto de cero, y queremos eliminar los elementos
(
) o
(
), debemos restarle a las filas
respectivas el producto entra la fila del pvot por los elementos
y/o
, definidos
para cada fila como
,o
. Los elementos
y
son llamados
multiplicadores de la matriz.
Utilizando el mtodo anterior, se tiene, para nuestro tableau:
Pvot
tiene que
es la variable de entrada. Asimismo, aplicando el criterio de factibilidad, se
obtiene que
es la variable de salida, ya que el valor del elemento
para la fila
es
mnimo, tal y como se puede ver en Tabla 3:
V.B. x1 b
x1
2/3 4
s2
4/3 2
s3
5/3 5
s4
1 2
Tabla 3: Clculo de los elementos
4:(2/3) = 6
2:(4/3) = 1.5 Mnimo
5:(5/3) = 3
2:1 = 2
para la segunda iteracin de nuestro ejemplo
holguras (la que se obtiene haciendo que las variables del problema tomen valores nulos
en la tabla de inicio). Los modelos donde intervienen restricciones del tipo = o no
poseen esta propiedad, porque sus ESF no contienen al origen del sistema de
coordenadas donde est definido. El problema de la dieta, explicado al principio, es un
PPL de este tipo.
El procedimiento para iniciar programas lineales de mal comportamiento con tales
restricciones es permitir que variables artificiales desempeen el papel de holguras,
para despus, en alguna iteracin posterior, desecharlas de forma legtima.
a) El mtodo de la gran M: Este mtodo comienza con la programacin lineal en forma
de ecuacin. Una ecuacin i que no tenga asociada una holgura se aumenta con una
variable artificial, digamos , para formar una solucin de inicio parecida a la solucin
bsica con todas las holguras. Sin embargo, como las variables artificiales son ajenas
al modelo de programacin lineal original, se usa un mecanismo de retroalimentacin
en el que el proceso de optimizacin trata automticamente de hacer que estas
variables sean nulas. En otras palabras, la solucin final ser tal y como si nunca
hubieran existido las variables artificiales en primer lugar. El resultado se obtiene
penalizando las variables artificiales en la funcin objetivo.
Dado , tal que
(llamada la gran M), el coeficiente objetivo de una variable
artificial representa una penalizacin adecuada s:
{
Al usar esta penalizacin, el proceso de optimizacin forzar en forma automtica a
las variables artificiales para que se anulen.
Ejemplo: Resolver el siguiente problema de programacin lineal
( )
variables artificiales
funcin objetivo con
( )
En el nuevo modelo (que es modelo lineal estndar de este problema) se pueden usar
ahora ,
y como solucin bsica inicial. La tabla de inicio para este problema es
entonces la siguiente:
V.B. x1 x2 a1 a2 s2 s1
a1
3 1 1 0 0 0
a2
4 3 0 1 0 -1
s2
1 2 0 0 1 0
-z
4 1 M M 0 0
b
3
6
4
0
Antes de proseguir con los clculos del mtodo smplex, se necesita hacer que la fila
objetivo (la fila z) sea consistente con el resto de la tabla. En forma especfica, en la
tabla,
, lo cual produce la solucin bsica inicial (que se ve en la
columna b de la tabla)
. Esta solucin indica que el valor de z
debe ser
, en lugar de 0, como se ve en la fila z. Esta
inconsistencia se debe a que
y
tienen coeficientes distintos de cero (
) en la
fila z.
Esta inconsistencia se puede eliminar sustituyendo a
y
en la fila z usando las
ecuaciones adecuadas de restriccin para eliminarlas. En particular, observamos los
elementos marcados
en la fila
y . Si se multiplica cada fila,
y , por , y
se restan estos resultados a la fila z,
y
saldrn de la fila objetivo, esto es:
(
18
( )
Reescribiendo este problema en forma estndar, con todas las holguras y variables
artificiales (sin penalizarlas en la funcin objetivo), y haciendo el cambio de variable
para asegurarnos que todas las variables del PPL sean no negativas.
obtenemos:
(
Notemos que hemos multiplicado la tercera restriccin por -1, ya que como dijimos con
anterioridad, el lado derecho de las restricciones debe ser siempre no negativo.
Procedemos primero con la fase 1. Como bien dijimos, la fase 1 minimiza la suma de
las variables artificiales, estando esta nueva funcin objetivo sujeta a las mismas
restricciones que el problema de programacin lineal original. De lo anterior, se tendr
entonces lo siguiente:
( )
19
. La segunda fila w nos muestra los coeficientes ajustados para as darle consistencia
la tabla smplex, lo que se logra restndole a la primera fila w las filas
y .
Adems, notemos que la fila z se ha incluido de todas formas en la tabla. La razn de
esto es la siguiente: una vez que se ha determinado una solucin bsica inicial en la fase
1 (si es que sta existe), la fase 2 llevar a cabo el proceso de optimizacin para la
funcin objetivo original, que es , sujeta a las restricciones resultantes que se
correspondan con las filas de las variables bsicas al finalizar la fase 1. Claramente, la
funcin objetivo no puede ser la misma, ya que el problema de programacin lineal est
sujeto a restricciones distintas una vez que se termina la fase 1, por lo cual la funcin
objetivo
debe modificarse a fin de tener un problema equivalente al original, y as
encontrar su solucin.
La tabla ptima que corresponde al fin de la fase 1, o dicho de otra forma, a la solucin
( )
ptima para la funcin objetivo
es la siguiente (comprubelo!):
V.B.
s1
a1
a2
-z
-w
x1
2
-4
-1
-2
0
x2 x3 s1 a1 a2 s2 s3
2 0 1 -1 0 1 0
-3 0 0 2 -1 -2 1
-1 1 0 1 0 -1 0
-3 0 0 1 0 -1 0
0 0 0 1 1 0 0
b
1
5
3
3
0
Esta tabla es ptima, porque todos los coeficientes de la fila w (la fila objetivo para la
( )
fase 1) son no negativos. La solucin ptima es entonces
, con
.
Concluimos, a partir de esto, que existe una solucin bsica factible de inicio para el PPL
( ) no es positivo. Se procede entonces a la fase 2, a
original en la fase 2, porque
partir de esta misma tabla. La nica diferencia es que desecharemos la fila w, porque
sta ya no nos es til en la fase 2, y la fila z pasar a ser la fila objetivo, resolvindose el
problema de forma idntica a como ya sabemos hacerlo, mediante el algoritmo smplex.
V.B.
s1
a1
a2
-z
x1
2
-4
-1
-2
x2 x3 s1 a1 a2 s2 s3
2 0 1 -1 0 1 0
-3 0 0 2 -1 -2 1
-1 1 0 1 0 -1 0
-3 0 0 1 0 -1 0
b
1
5
3
3
A partir de la tabla anterior, se le deja como ejercicio al lector el comprobar que la solucin
( )
20
Solucin: Sean
y
las correspondientes variables de holgura. El problema se
establece en forma estndar como sigue:
( )
4
2
-9
1
0
0
1
0
0
1
0
8
0
1
4
0
0
0
1/4
0
2
-1/2
1
0
9/4
0
18
1/2 -1/2 2
-1
2
0
3/2 3/2 18
21
Solucin: La solucin grfica de este PPL se puede ver en Figura 6; adems, la tabla
siguiente muestra las iteraciones smplex que resuelven la programacin lineal:
Iteracin
0
Entra
Sale
1 (ptimo)
Entra
Sale
V.B.
1
1
-2
1/2
1/2
0
2
1
-4
1
0
0
1
0
0
1/2
-1/2
2
0
1
0
0
1
0
5
4
0
5/2
3/2
10
22
2
(ptimo
alternativo)
0
1
0
1
0
0
1
-1
2
-1
2
0
1
3
10
Figura 6: ESF del ejemplo anterior. La funcin objetivo es paralela a la restriccin dada
por la semirrecta AC. Esta recta define infinitos ptimos alternativos
, con
La iteracin 1 llega al ptimo,
, que coincide con el punto A de
Figura 6 Cmo saber en esta iteracin que existen ptimos alternativos? Examinemos
los coeficientes de las variables no bsicas en la fila z, en la primera iteracin. El
coeficiente de
no bsica es cero, lo que indica que
puede entrar a la solucin
bsica sin cambiar el valor de , pero causando un cambio en la solucin bsica,
con lo que obliga a que salga . Esto da como resultado un nuevo punto de solucin en
C(
con
).
El mtodo smplex slo determina los dos puntos esquina, A y C. Se pueden determinar
matemticamente todos los puntos (
) en el segmento de recta AC como promedio
ponderado no negativo de los puntos A y C. As, dado , tal que
, y adems:
A:
C:
Todos los puntos de la semirrecta AC se expresan como:
( )
) ( )
( )
) ( )
resultado es que el valor objetivo puede aumentar (en caso de una maximizacin) o
disminuir (si se trata de una minimizacin) en forma indefinida. En ese caso, tanto el ESF
como el valor ptimo objetivo no estn acotados.
La no acotacin apunta hacia la posibilidad de que el modelo est mal construido. Las
irregularidades ms probables en estos modelos son que no se hayan tomado en cuenta
una o ms restricciones no redundantes, y que los parmetros (constantes) de algunas
restricciones puedan no haberse estimado en forma correcta.
Ejemplo: Resolver el siguiente PPL:
( )
Solucin: la iteracin smplex de inicio para este PPL se muestra en la tabla siguiente:
V.B. x1 x2 s1 s2 b
s1
1 -1 1 0 10
s2
2 0 0 1 40
-z
-2 -1 0 0 0
En la tabla de inicio, tanto
como
son candidatos para entrar a la solucin. Como
tiene el coeficiente ms negativo, se selecciona, normalmente, como la variable de
entrada. Sin embargo, todos los coeficientes de restriccin bajo
son negativos o cero, y
eso indica que
puede aumentar en forma indefinida sin violar cualquiera de las
restricciones (comprese con la interpretacin grfica de la condicin de factibilidad en
Figura 7). Como cada aumento de una unidad de
aumentar 1 a , un aumento infinito
de
tambin dar como resultado un aumento infinito de . As, el problema no tiene
solucin acotada. El ESF no est acotado en la direccin de , por lo que
cuando
.
Figura 7: ESF del ejemplo anterior. Ntese que no se encuentra acotado superiormente
24
La regla para reconocer la no acotacin es que si, en cualquier iteracin, todos los
coeficientes de restriccin de toda variable no bsica son negativos o cero, entonces el
ESF no est acotado en esa direccin. Si, adems, el coeficiente objetivo de esa variable
es negativo en caso de maximizacin, o positivo en caso de minimizacin, entonces
tambin el valor objetivo es no acotado.
SOLUCIN NO FACTIBLE: Los modelos de programacin lineal con restricciones
inconsistentes no tienen solucin factible. Estos casos nunca suceden si todas las
restricciones son del tipo (suponiendo lados derechos no negativos), porque las
holguras permiten tener una solucin factible. Para otros tipos de restricciones se usan
variables artificiales. Aunque esas variables artificiales se penalizan en la funcin objetivo,
para obligarlas a ser cero en el ptimo, eso slo puede suceder si el modelo, en efecto,
tiene un ESF. En caso contrario, al menos una variable artificial ser positiva en la
iteracin ptima.
Desde el punto de vista prctico, un ESF no factible indica la posibilidad de que el modelo
est mal construido.
Ejemplo: Resolver el siguiente PPL:
( )
Figura 8: ESF del ejemplo anterior. No hay solucin factible, porque las restricciones
apuntan hacia semiplanos que no tienen puntos en comn
La regla para determinar la no factibilidad es obvia. Si la condicin de factibilidad no se
cumple, o dicho de otra forma, no es capaz de determinar una variable de salida
(porque todos los elementos
son negativos o cero), entonces el problema no tiene
25
Siendo
las
26
Donde
es una matriz identidad, de orden equivalente a la matriz inversa del problema,
y con una nica columna definida de la siguiente manera:
Siendo
Matriz de valores duales: Definimos la matriz de valores duales (tambin llamada matriz
de precios sombra) como el vector fila cuyos elementos estn conformados por los
coeficientes de las holguras en la fila correspondiente a la funcin objetivo para la
iteracin respectiva. Su notacin es .
27
La matriz
Donde
corresponde a la matriz de coeficientes originales de las variables del problema
en la funcin objetivo (aquellos que se corresponden con la tabla de inicio).
Matriz de recursos: Definimos la matriz de recursos como el vector columna conformado
por los lados derechos de las restricciones del problema. Su notacin es . Adems,
como bien sabemos, todos sus elementos son positivos o cero.
La matriz de recursos para la -sima iteracin se define como:
Donde
corresponde a la matriz de recursos original del problema (aquella que se
corresponde con la tabla de inicio).
Las matrices anteriores nos permiten, siempre que se pueda, obtener todos los elementos
de la tabla smplex.
Todas estas matrices se relacionan mediante expresiones algebraicas sencillas, siendo el
parmetro de entrada ms importante la matriz inversa del problema
. La condicin
que establece que las componentes de la matriz
sean los coeficientes de restriccin
para las holguras del problema deja de manifiesto que los excedentes quedan fuera de
dicha matriz. Esto sucede porque, como se dijo en un principio, esta matriz es cannica
para una tabla de inicio. As, la matriz
puede estar conformada por componentes de
las holguras del problema, y tambin de las variables artificiales, pero nunca por
coeficientes de excedentes, porque si as fuera, en la tabla de inicio no habra una matriz
inversa cannica.
Lo anterior es algo complicado de explicar. Lo mejor, en virtud de un buen entendimiento
de este mtodo, es aplicarlo directamente. El siguiente ejemplo pone de manifiesto, con
todo detalle, como se aplica el mtodo smplex revisado.
Ejemplo: Resolver el siguiente problema utilizando el mtodo smplex revisado o matricial:
28
( )
Como hemos utilizado variables artificiales para que cumplan el papel de holguras, el PPL
debe resolverse utilizando el mtodo smplex de dos fases, pero para este ejemplo, lo
adaptaremos al mtodo smplex revisado. La tabla smplex de inicio para este problema
es la siguiente:
V.B. x1 x2 x3 s1 a1 s2 b
s1
2 0 1 1 0 0
8
a1 -1 1 1 0 1 -1 13
-z -3 2 2 0 0 0
0
-w
0 0 0 0 1 0
0
-w
1 -1 -1 0 0 1 -13
( )
La funcin a minimizar en la fase 1 es
. En la tabla, se han coloreado los
elementos matriciales que definimos con anterioridad para el mtodo smplex revisado. Lo
primero es identificar la matriz inversa
, que como bien sabemos, es aquella
conformada por los coeficientes de las holguras (o las variables que cumplen el papel de
holguras, como las artificiales) para cada una de las restricciones. Como esta es la tabla
de inicio, la matriz
es cannica:
(
PASO 1 Obtencin de la matriz inversa
frmula descrita con anterioridad, definimos:
)
para la primera iteracin: Utilizando la
La construccin de la matriz
requiere saber cules son las variables de entrada y de
salida del problema, para as poder reconocer el elemento pvot de esta tabla en la
presente iteracin.
La variable de entrada es
porque tiene el coeficiente ms negativo en la fila objetivo (la
fila w). Notemos que esto mismo es vlido para , que tambin tiene coeficiente -1 en la
fila objetivo. El empate se rompe en forma arbitraria; en este caso, elegimos .
29
V.B.
(
En esta tabla puede apreciarse el orden de las variables bsicas, y por ende, la forma
correcta de escribir la matriz ( ). Por lo tanto, se tiene que:
(
30
La matriz
es aquella cuyos elementos son los coeficientes originales de la funcin
objetivo para las variables del problema (se excluyen las variables de holgura y
artificiales); en este caso,
y . Vale decir:
(
La matriz
es aquella cuyos elementos son los coeficientes originales de las variables
para cada una de las restricciones del problema (se excluyen las variables de holgura y
artificiales); en este caso,
y . Vale decir:
(
Esta ltima matriz corresponde a los coeficientes de las variables del problema (que no
sean holguras y artificiales) en la funcin objetivo para la primera iteracin.
Consecuentemente con lo que realizamos en el mtodo smplex ordinario, a esta matriz
se le debe aplicar la condicin de optimalidad. En particular, para este caso, como ningn
coeficiente es negativo, estamos en el ptimo (para la fase 1, cuya funcin objetivo es w).
Por lo tanto, debemos ahora calcular la solucin ptima para este PPL en la fase 1, lo que
implica calcular la matriz y el valor de
( ).
PASO 4 Obtencin de la solucin ptima para la fase 1 con el clculo de
Utilizando la frmula descrita con anterioridad, se tiene:
Por lo tanto:
(
, con
y
. Todas las dems
( ) es 0.
para z: Naturalmente, se
31
V.B.
(
Luego:
(
Notemos que uno de los coeficientes reducidos es negativo para esta iteracin, lo que
indica que la solucin no es ptima para la fase 2. La variable que se corresponde con
dicho coeficiente es , por lo que, aplicando el criterio de optimalidad, sta pasa a ser la
variable de entrada para la siguiente iteracin.
PASO 7 Obtencin de la columna pvot para la segunda iteracin: Como ya hemos
definido la variable que entra a la base en la segunda iteracin, debemos determinar cul
es la variable que sale. Como ya hemos calculado la matriz de recursos para la primera
iteracin (la matriz
), debemos calcular los elementos
y aplicar el criterio de
factibilidad para determinar cul variable saldr de la base. Sin embargo, esto requiere la
obtencin de la columna que corresponde a la variable de entrada en la primera iteracin
(la que se corresponde con
). Dicha columna, llamada columna pvot, se calcula
utilizando la siguiente frmula:
( )
Siendo
( )
)
32
Por lo tanto:
( )
( )
( )
2
8/2 = 4 Mnimo
-1
13/-1 = -13 Ignorar
8
13
Luego, la variable que sale es
por los
Por lo tanto:
para z: Naturalmente, se
V.B.
(
33
Se tiene entonces:
Se tiene entonces:
Notemos que el resultado anterior indica que ya hemos llegado al ptimo, porque los
coeficientes de las variables del PPL son positivas o nulas en la funcin objetivo.
PASO 11 Obtencin de la solucin ptima y su valor: Finalmente, se deben obtener
los valores de
y
que conforman la solucin ptima, as como el valor objetivo de
dicha solucin,
( ). Se calcula, en primera instancia, el valor de la matriz
para la
segunda iteracin:
34
Las variables
De lo anterior, observamos:
a) Se define una variable dual por cada restriccin primal
b) Se define una restriccin dual por cada variable primal
c) Los coeficientes de restriccin (columnas) de una variable primal definen los
coeficientes en el lado izquierdo de la respectiva restriccin dual, y su coeficiente
define el lado derecho
d) Los coeficientes objetivo del dual son iguales al lado derecho de las ecuaciones de
restriccin primal
Las reglas para determinar el sentido de la optimizacin (maximizacin o minimizacin), el
tipo de restriccin (, o =), y el signo de las variables duales (siempre no restringidas) se
determinar siguiendo la siguiente convencin:
35
Lema de optimizacin para el modelo primal dual: La funcin objetivo del problema
primal siempre debe cambiarse a la forma estndar antes de construir el correspondiente
problema dual.
Como consecuencia de este lema, se tiene que el problema primal ser de
( ), con todas sus restricciones del tipo o =, mientras que el
minimizacin,
problema dual ser de maximizacin,
( ), con todas sus restricciones del tipo
o =. La condicin para las restricciones del problema primal (deben ser del tipo ) puede
satisfacerse siempre, si se da el caso, multiplicando la inecuacin respectiva por -1.
Notemos que, para este caso, no es necesario que el lado derecho de las restricciones
sea positivo. Esta forma de escribir el primal se conoce como forma cannica o formal
de primal simtrico del problema primal.
Los siguientes ejemplos ilustran el como se obtiene el dual a partir del primal.
Ejemplo: Determinar el problema dual para el siguiente PPL:
( )
Solucin: Lo primero es reescribir el problema primal de tal forma que la funcin objetivo
sea de minimizacin, y que las restricciones sean del tipo o = (o sea, en forma
( )
cannica). Lo primero se logra haciendo la sustitucin
( ), mientras que lo
segundo se logra multiplicando la primera restriccin por -1. Por lo tanto, se obtiene:
(
Ahora podemos construir el problema dual. Utilizando la definicin dada con anterioridad,
podemos deducir que el problema dual presenta dos variables, ya que se tienen dos
restricciones primales. Adems, tendr tres restricciones, porque hay tres variables
primales. Por lo tanto, se obtiene lo siguiente:
36
( )
Positiva o nula
=
No restringida
Tabla 5: Naturaleza de las variables duales en funcin del tipo de las restricciones
primales
37
Esta simple, pero til tabla, nos permite obviar el escribir las holguras, excedentes o
variables artificiales en el primal cuando queramos construir el dual, simplemente
verificando el tipo de restriccin primal para determinar la naturaleza de la
correspondiente variable dual. Recordemos que la variable dual
se corresponde con la
-sima restriccin primal.
Ejemplo: Construir el problema dual para el siguiente PPL:
( )
Solucin: Aprendida la tabla anterior, obviaremos el escribir las holguras del primal.
Simplemente lo rescribiremos de forma tal que la funcin objetivo sea de minimizacin, y
cuidando que todas las restricciones sean del tipo o =. Se tiene entonces:
(
Notemos que este PPL tiene una particularidad que el del ejemplo anterior no tena: una
de las variables es no restringida. Utilizando el cambio de variable
, con
y
, se tiene:
(
Construimos entonces el problema dual; del primal, ya sabemos que el dual tendr 3
variables y 2 restricciones. Adems, utilizando la Tabla 4, sabemos que las variables
duales
y
son positivas o nulas, mientras que la variable dual
es no restringida. Se
obtiene entonces:
( )
38
Cotejando esto con lo aprendido acerca del problema dual concluimos lo siguiente: esta
matriz representa los valores de las variables del problema dual para la k-sima iteracin.
Esto confirma lo dicho en primera instancia: el problema primal y el problema dual estn
tan estrechamente relacionados, que la solucin bsica que obtengamos para uno,
automticamente conduce a la solucin bsica del otro. La frmula anterior prueba esta
afirmacin (ya veremos el porqu del signo negativo en esta frmula).
Recapitulando, se tiene entonces que las relaciones existentes entre los problemas primal
y dual son las siguientes:
El dual tiene tantas variables como restricciones tiene el primal
39
Notemos que, a partir de lo anterior, es posible demostrar que el dual del dual es igual al
primal. Esto se le deja como ejercicio al lector.
Por qu esta expresin tiene un signo negativo que la precede, cuando en el mtodo
smplex revisado no lo haba? Esto sucede porque, desde un principio, nos hemos
forzado a resolver problemas de minimizacin, inclusive cundo stos no estn definidos
( )
de esta forma, utilizando el cambio de variable
( ). Por lo tanto, este
cambio de signo implica que antepongamos un signo negativo a la frmula de la matriz de
valores duales.
40
el
( )
Supongamos que
representa los elementos constituyentes de la matriz y admitimos
que el problema primal tiene
restricciones y variables asociadas, y sean
y
las
soluciones ptimas de los problemas primal y dual, respectivamente. Se tiene entonces lo
siguiente:
[
Donde corresponde a los trminos independientes para las m restricciones del primal, y
mientras que corresponde a los coeficientes de las variables en la funcin objetivo del
primal.
Construimos ahora el problema dual. Del primal, observamos que el dual tiene 3 variables
y 4 restricciones. Adems, la variable dual
es no restringida, mientras que el resto son
no negativas. Por lo tanto, el problema dual es el siguiente:
( )
)]
)]
)]
Para el dual:
(
(
(
(
)]
)]
)]
)]
( )
Donde las funciones z y v corresponden a las funciones objetivo para los problemas
primal y dual, respectivamente. La igualdad de la expresin anterior se cumple si y
slo si estamos en el ptimo.
2. Si el primal no est acotado, y la funcin objetivo
tendr solucin factible.
tiende a
, entonces el dual
42
, entonces el dual
DUAL
( )
Desde el punto de vista del modelo de asignacin de recursos, el problema primal tiene
actividades econmicas y recursos. El coeficiente del primal representa la utilidad por
unidad de actividad . El recurso , cuya disponibilidad mxima es , se consume con la
tasa de
unidades por unidad de actividad .
INTERPRETACIN ECONMICA DE LAS VARIABLES DUALES: Anteriormente, se
indic que para dos soluciones factibles primal y dual cualquiera, los valores de las
funciones objetivo, cuando son finitos, deben satisfacer la siguiente desigualdad:
( )
( )
43
La igualdad estricta,
ptimas.
( )
( )
Examinaremos primero la condicin ptima,
( ). Como el problema primal
representa un modelo de asignacin de recursos, podemos imaginar que representa la
utilidad monetaria. Como representa la cantidad disponible de unidades del recurso , la
( )
ecuacin
( ) se puede expresar en forma dimensional como sigue:
(
Segn esta relacin, siempre que los ingresos totales por todas las actividades sean
menores que el valor de los recursos, las soluciones primal y dual correspondientes no
son ptimas. La optimalidad slo se alcanza cuando se han explotado los recursos por
completo, lo que slo puede suceder cuando los datos (valor de los recursos) son iguales
a los resultados ($ de utilidad). En trminos econmicos se dice que el sistema
permanece inestable (no ptimo) cuando los datos (valor de los recursos) son mayores
que el resultado (ingreso). La estabilidad se da slo cuando estas dos cantidades son
iguales.
INTERPRETACIN ECONMICA DE LAS RESTRICCIONES DUALES: Del teorema de
holguras complementarias, sabemos que:
Esta frmula nos permite interpretar las restricciones duales. La utilidad por unidad de
actividad est en $ por unidad. En consecuencia, para tener consistencia, la cantidad
, que aparece en la ecuacin con signo contrario, tambin debe estar en $ por
unidad. Adems, como representa una utilidad, la cantidad
, que aparece en
la ecuacin con signo contrario, debe representar un costo. Al mismo tiempo, como
es
la cantidad del recurso que usa la actividad , las variables duales
deben representar
al costo imputado de todos los recursos necesarios para producir una unidad de actividad
.
La condicin de optimalidad de maximizacin del mtodo smplex indica que un aumento
en la cantidad de una actividad no usada (no bsica) puede mejorar la utilidad slo en
caso de que su coeficiente objetivo
sea no negativo (que es al revs de la
condicin de minimizacin estndar). En funcin de la interpretacin anterior, esta
condicin establece que:
44
Donde
es el coeficiente de la variable
en la funcin objetivo para la
correspondiente iteracin, y
el coeficiente de restriccin asociado a dicha variable.
Al respecto, si bien en el algoritmo smplex impusimos que la funcin objetivo del
problema siempre tiene que minimizarse, en el algoritmo smplex dual usaremos la
condicin inversa: la funcin objetivo debe siempre ser de maximizacin.
Ejemplo: Considere el siguiente problema de programacin lineal:
( )
45
Ahora procedemos a construir el problema dual. Notemos que el dual tendr 3 variables y
4 restricciones. Las 3 variables duales son no negativas. Por lo tanto:
( )
Ahora debemos resolver el problema dual mediante smplex dual. Como el algoritmo
smplex dual est diseado para resolver problemas no factibles, entonces no es
necesario multiplicar las restricciones duales a fin de tener trminos independientes no
negativos. Es ms, el algoritmo smplex dual slo funciona en problemas no factibles.
Agregando las correspondientes variables de holgura (una por cada restriccin),
obtenemos la siguiente tabla smplex de inicio:
V.B.
-1
-1
-1
-1
-12
-5
-3
0
-2
-20
-2
-1
-1
0
-10
1
0
0
0
0
0
1
0
0
0
0
0
1
0
0
0
0
0
1
0
-2
-3
-9
-9
0
46
Coeficiente en fila -v
-12
-12/-1 = 12
-20
-20/0 = Ignorar
-10
-10/-1 = 10 Mnimo
-5
-3
0
-2
-20
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
-10
0
0
0
1
0
16
6
9
-9
90
y la variable de entrada es
V.B.
0
0
0
1
0
-7
-3
-2
2
-16
0
0
1
0
0
1
0
0
0
0
0
1
0
0
0
-2
-1
-1
0
-10
1
0
1
-1
-2
7
6
0
9
108
Como todos los elementos de b son positivos, hemos llegado a una solucin factible. Esta
solucin es ptima, porque todos los coeficientes en la fila objetivo son negativos o cero.
Esta condicin es la inversa que se utiliz para los problemas de minimizacin, donde
todos los coeficientes de la fila objetivo deban ser positivos o cero. En este caso, la
funcin objetivo entr a la tabla smplex como una funcin de maximizacin, lo que implica
que se utilice la condicin inversa.
47
EJERCICIOS PEP 1
PROBLEMA #1
Una fbrica de jugos de 1 litro (1000 cc) desea lanzar al mercado una nueva variedad de
jugo. Para ello, disponen de 4 ingredientes base. La nueva variedad apuntar a conservar
un balance alimenticio, debiendo contener al menos un 15% de vitamina C, y a lo ms un
30% de potasio. Existe adems una relacin entre los betacarotenos y la vitamina A que
impone lo siguiente: la cantidad de vitamina A debe ser, cuando menos, un tercio de los
betacarotenos. Adems, la vitamina A no puede superar el 35% del contenido del jugo.
El costo por adquirir los ingredientes, los lmites de los pedidos por da, y los aportes
porcentuales de cada componente a los ingredientes por unidad se resumen en la
siguiente tabla:
Ingrediente 1
Ingrediente 2
Ingrediente 3
Ingrediente 4
Potasio
20%
5%
35%
15%
Vitamina C
15%
40%
20%
25%
Vitamina A
30%
10%
25%
35%
Betacarotenos
35%
45%
20%
25%
Costo [$/u]
25
13
10
20
Lmite [u]
6
9
8
5
Para el potasio, la suma de las cantidades de cada ingrediente no puede superar el 30%
del total del juego (que son 300 cc). Luego:
Para la vitamina A, esta suma debe ser al menos 1/3 de los betacarotenos. Por lo tanto:
48
De manera simplificada:
Adems, la contribucin de la vitamina A no debe superar el 35% del jugo (350 cc). Por
ende:
Naturalmente.
PROBLEMA #2
Formule y resuelva adecuadamente el siguiente problema de programacin lineal. La
primera iteracin debe ser realizada mediante el algoritmo smplex. La segunda y
siguientes efectuarlas empleando el mtodo smplex revisado o matricial:
( )
; sale
1
2
0
-1
0
-1
-7
2
4
-1
0
3
-3
4
2
-1
0
1
0
0
-1
0
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
50
150
10
0
0
-60
-3
10
2
-4
-2
0
0
-1
0
1
1
-2
0
1
1
0
1
0
0
0
0
0
1
0
0
50
50
10
50
-10
. Primera iteracin:
V.B
-4
11
1
1
-1
Entra
, sale
( )
50
75
---
1
0
0
0
0
-7
16
4
-8
-4
( )
50/7
25/8
5/2
Como ya definimos el pvot y las variables de entrada y salida a partir de la tabla anterior,
podemos calcular inmediatamente la matriz :
(
Calculamos
(
(
Construimos una pequea tabla para verificar el orden de las variables bsicas:
(
V.B.
(
(
(
Luego:
(
Por lo tanto:
(
Como todos los coeficientes reducidos de la funcin objetivo w son nulos, hemos llegado
al ptimo para la fase 1. Como
y
son no bsicas, y por tanto nulas, se tiene que
( )
, por lo que existe un espacio de soluciones factible para el PPL
original en la fase 2.
Ahora debemos calcular los valores duales para la funcin objetivo z en la fase 2
(iteracin 2). Verificando el orden de las variables bsicas:
(
V.B.
(
Por lo tanto:
51
(
(
Luego:
(
Por lo tanto:
(
( )
( )
Por lo tanto:
V.B.
135/2
10
5/2
( )
-7/4
(135/2):(-7/4) = -270/7 Ignorar
4
10/4 = 5/2 Mnimo
-1/4
(5/2):(-1/4) = -10 Ignorar
. El pvot corresponde a 4.
Donde:
52
Entonces:
(
(
Luego:
(
Por lo tanto:
(
53
Como ahora todos los coeficientes reducidos son no negativos, hemos llegado al ptimo.
Calculamos entonces
para encontrar la solucin ptima de este problema:
(
X1
1
0
0
X2
-5
2
3
X3
4
1
1
X4
13
6
8
S1
5
10
4
S2
0
1
0
b
7
3
76
SOLUCIN: Tenemos:
a) Las variables bsicas son
PROBLEMA #4
Una fbrica de ropa produce tres lneas de trajes: jeans, franela y amasado. La ropa es
vendida en lotes de 100 trajes de cada tipo. Cada lote pasa a travs de tres procesos:
corte, cosido y empaque. La planta dispone de 16 cortadores como mximo, 41 mquinas
de coser como mximo y debe ocupar a 10 empacadores (no ms no menos). Los
54
requerimientos para producir un lote de 100 trajes de cada tipo y las utilidades asociadas,
se presenta a continuacin:
Requerimientos de Produccin y Utilidad
Cortadores [Personas/Lote]
Mquinas de Coser [Mquinas/Lote]
Empacadores [Personas/Lote]
Utilidad [$/Lote]
Mquinas de coser:
Personal de empaque:
( )
PROBLEMA #5
Escriba el DUAL del siguiente problema. Verifique que el dual del dual es el problema
original.
( )
)
56
. Reemplazando
Construimos ahora el problema dual. Notemos que, a partir de la definicin, el dual tendr
8 variables y 5 restricciones. Adems, la variable dual
es no restringida, mientras que
el resto son no negativas.
( )
La comprobacin de que el dual del dual es el primal es obvia, y se deja como ejercicio al
lector.
57
PROBLEMA #6
La compaa minera FERROJAC CHILE tiene dos operaciones mineras que alimentan de
mineral de hierro a una sola planta. Cada mina tiene dos reas de las cuales puede
extraer el mineral. La ley alimentada a planta debe ser mayor que 35% Fe, y debe ser
menor que 12% Si. La planta requiere al menos 45.000 toneladas, pero no puede manejar
ms de 60.000. El mercado interno requiere que al menos 12.000 toneladas de Fe deben
estar disponibles para el consumo asumir un 90% de recuperacin en el proceso. La
razn promedio de estril/mineral determinada para las operaciones de extraccin mineral
tiene un valor de 3,5.
Dado los datos que se indican, FORMULAR (no RESOLVER) un modelo de programacin
lineal, el cual permita obtener un plan minero de produccin que cumpla las restricciones
operacionales y permita minimizar la desviacin de la razn estril/mineral total.
Mina
rea
Cerro
GRANATE
Lomas
BAYAS
Norte
Lomas
Sur Sur
Alberta
Reservas
(toneladas)
20.000
10.000
15.000
30.000
% Fe
% Si
40
30
40
35
17
10
11
13
Razn
Estril/Mineral
3,0
2,0
4,0
5,0
Ley de Fe 35%
Ley de Si 12%
Planta
Si el mercado interno requiere de, al menos, 12.000 toneladas de Fe, entonces el 90% de
la produccin que llega a planta, en trminos del Fe, debe conformar como mnimo, este
tonelaje. Luego:
(
Se debe agregar que los sectores de produccin tienen como limitante a sus reservas
totales. Luego:
Por ltimo, la planta debe recibir como mnimo una ley del 35% de Fe y, a lo ms, una ley
del 12% de Si. Luego, tenemos lo siguiente:
(
)
(
)
,
PROBLEMA #7
Resuelva el siguiente problema de programacin lineal, empleando el mtodo smplex
para la fase 1, y el mtodo smplex revisado para la fase 2:
( )
59
, sale
1
2
0
-1
0
-1
-5
2
4
-1
0
1
-3
4
2
-1
0
1
1
0
0
0
1
0
0
1
0
0
0
0
0
0
1
0
1
0
0
0
-1
0
0
1
400
1500
120
0
0
-520
. Primera iteracin.
V.B.
-3
3
1
-5
-1
Entra
, sale
1
0
0
0
0
-5
12
4
-6
-4
-3
10
2
-4
-2
1
-2
0
1
1
0
1
0
0
0
0
0
1
0
0
0
0
-1
0
1
400
700
120
400
-120
1
-2
0
1
1
0
1
0
0
0
5/4
-3
1/4
3/2
1
-5/4
3
-1/4
-3/2
0
550
340
30
580
0
( )
--175/3
30
. Segunda iteracin.
V.B.
-7/4
0
1/4
-7/2
0
( )
400
750
---
1
0
0
0
0
0
0
1
0
0
-1/2
4
1/2
-1
0
( )
----120
( )
Entra , sale . Como
, con
, entonces existe un ESF
para el PPL en la fase 2. Procedemos entonces mediante el mtodo smplex revisado en
dicha fase. La matriz inversa de la presente iteracin es:
60
Como ya definimos el pvot y las variables de entrada y salida a partir de la tabla anterior,
podemos calcular inmediatamente la matriz :
(
(
Luego calculamos
(
(
Construimos una pequea tabla para verificar el orden de las variables bsicas:
(
V.B.
(
Luego:
(
Por lo tanto:
61
( )
( )
V.B.
( )
-3
760:(-3) = -253.33 Ignorar
3
340:3 = 113.33 Mnimo
-1
120:(-1) = -120 Ignorar
Por lo tanto:
760
340
120
La variable de salida es entonces
Calculamos la matriz inversa
. El pvot corresponde a 3.
Donde:
Entonces:
(
(
V.B.
(
62
Luego:
(
Por lo tanto:
(
Como ahora todos los coeficientes reducidos son no negativos, hemos llegado al ptimo.
Calculamos entonces
para encontrar la solucin ptima de este problema:
(
. Reemplazando
( )
, con lo cual
PROBLEMA #8
Un florista sabe hacer slo dos tipos de arreglos florales, para los cuales dispone de 3
tipos distintos de flores: rosas, tulipanes e ibizcos. Los requerimientos de flores para cada
arreglo, la disponibilidad de flores y los requerimientos de cada arreglo vienen dados en la
siguiente tabla:
FLORES
Arreglo 1 Arreglo 2 DISPONIBILIDAD
Rosas
3
1
300
Tulipanes
1
1
140
Ibizcos
1
3
300
PRECIO [$]
2000
1000
a) FORMULE un PPL que resuelva el problema de maximizacin de ingresos por ventas
sujeto a la disponibilidad de recursos.
b) Cul es el problema DUAL asociado? Qu situacin podra estar optimizando?
Justifique.
c) Usando el teorema de holguras complementarias, encuentre la solucin ptima del
problema dual una vez resuelto el problema primal utilizando el mtodo smplex.
63
d) Suponga que retorna frustrado despus que una bella dama le cerrara la puerta
cuando usted le llevaba amablemente una rosa, un tulipn y un ibizco. Si se encuentra
con el florista Cunto cree que estara dispuesto a pagar l por sus flores?
SOLUCIN: Tenemos lo siguiente:
a) Sean
y
los dos tipos de arreglos que puede hacer el florista. De la tabla, y en
forma inmediata, se obtiene el PPL deseado:
( )
b) Es posible formular inmediatamente el problema dual a partir del primal, sin utilizar la
transformacin de primal simtrico, invirtiendo las situaciones presentadas en la
definicin de ambos problemas. Se tiene entonces:
( )
El modelo dual resuelve el problema de un agente externo que desea saber el precio
unitario que puede ofrecer por cada una de las flores, en el caso de ste quiera
comprarle todas las flores al florista. As,
y
son los precios unitarios
asociados a las rosas, tulipanes e ibizcos, respectivamente.
c) Reescribiendo el primal en forma estndar:
(
Tabla de inicio:
V.B.
3
1
1
-2000
Entra
, sale
1
1
3
-1000
1
0
0
0
0
1
0
0
0
0
1
0
300
140
300
0
( )
100
140
300
64
V.B.
1
0
0
0
Entra
, sale
1/3
2/3
8/3
-1000/3
1/3
-1/3
-1/3
2000/3
0
1
0
0
0
0
1
0
100
40
200
-200000
0
0
1
0
80
60
40
-220000
( )
300
60
75
V.B.
1
0
0
0
0
1
0
0
1/2
-1/2
1
500
-1/2
3/2
-4
500
Como todos los coeficientes de las variables en la funcin objetivo son no negativas,
hemos llegado al ptimo. La utilidad mxima que puede percibir el florista es de
$220.000, con
arreglos florales del tipo 1, y
arreglos florales del tipo 2.
En este punto ptimo, es vlido el teorema de holguras complementarias. Por lo tanto:
Para el primal:
(
(
(
)]
)]
)]
Para el dual:
(
(
)]
)]
65
PROBLEMA #9
Dado el programa lineal:
( )
Se pide:
a) Determinar el programa DUAL
b) Representar grficamente este ltimo programa para mostrar su conjunto de
soluciones factibles
c) A partir de esta representacin, describir un proceso por el que tras dos, y slo dos
operaciones de pivotado a partir del origen, se alcance la solucin. Estas operaciones
de pivotado no tienen por qu seguir las reglas del smplex.
d) Por medio de las relaciones que pueden establecerse a merced del principio de
holgura complementaria, determinar la solucin del problema primal
SOLUCIN: A partir del enunciado, se tiene:
a) Se debe obtener el modelo lineal estndar (MLE) del problema. Para ello, hacemos los
cambios de variable
y
, con lo cual el problema se re-escribe de la
siguiente forma:
( )
66
Valor de
5/3
5
36/7
4
Valor objetivo
-1/3
-2
-4/7
2
, y se cumple cuando estamos
c) Si el proceso de resolucin del problema dual no tiene por qu seguir las reglas del
smplex, entonces basta que, a partir del origen, el algoritmo ignore la regla dada por
el criterio de optimalidad en un problema de maximizacin, la cual dicta que se escoja
siempre el coeficiente ms negativo en la fila objetivo del tableau smplex. Por tanto, si
partimos desde el origen, podemos comenzar en el punto E, y luego llegar de
inmediato al punto J utilizando el hecho de que, en este punto, se encuentra la
solucin.
Notemos que, adems, este nuevo proceso ignora la subdivisin del problema en dos
fases, ya que se cuenta de inmediato con una solucin bsica de inicio (el origen).
d) Utilizando el teorema de holguras complementarias (THC), se obtiene:
Para el primal:
(
)]
)]
Para el dual:
67
(
(
(
(
)]
)]
)]
)]
PROBLEMA #10
La Compaa Minera ASIOP S.A. (ASIOPSA) produce dos tipos distintos de concentrado,
cobre y zinc. La siguiente tabla muestra las demandas mensuales esperadas para cada
producto (en toneladas):
68
) producido en
)
(
(
)
)
)
(
(
)
)
Mes 2:
69
Mes 3:
Mes 2:
Mes 3:
Naturalmente, todas las variables consideradas para este problema son no negativas. El
modelo completo (simplificado) es el siguiente:
70
( )
, , ,
PROBLEMA #11
Al comienzo del mes 1, la financiera ARCOS dispone de 400 USD en efectivo. Al
comienzo de los meses 1, 2, 3 y 4, la financiera recibir ingresos y, adems, deber
realizar pagos como se indica en la siguiente tabla:
Mes Ingresos (US$) Pagos (US$)
1
400
600
2
800
500
3
300
500
4
300
250
El dinero restante en cada mes, una vez realizados los pagos, puede ser invertido durante
un mes a una tasa del 0,1% mensual; durante dos meses a una tasa del 052% mensual;
durante tres meses a una tasa del 1,0% mensual; o durante cuatro meses a una tasa del
2,0% mensual.
FORMULAR (NO RESOLVER) un modelo de programacin lineal que permita determinar
una estrategia de inversin que maximiza el dinero en efectivo al comienzo del quinto ao.
Defina claramente variables, funcin objetivo y restricciones.
71
De forma simplificada,
que:
Naturalmente,
73
PROBLEMA #13
Un importador de whisky est planificando su negocio considerando que, en las prximas
temporadas, tendr las siguientes demandas (en miles de botellas):
Temporadas
1
2
3
4
Seco
10 12 14 8
Frutoso 13 15 17 19
Aejo 21 25 9 11
Tipo
El whisky seco lo vende a 34 dlares por botella, el frutoso a 28,8 y el aejo a 22,5 en la
primera temporada. En las siguientes se espera poder venderlos a un 5% ms caro. Cada
tipo de whisky es elaborado mezclando tres materias primas, A, B y C, de las cuales se
puede importar un mximo de 2000, 2500 y 1200 botellas por temporada a un costo de
35, 25 y 20 dlares, respectivamente. Estos costos, vlidos para la primera temporada,
deberan aumentar un 2% en cada temporada. El whisky seco debe contener por lo
menos un 60% de la materia prima A y no ms de un 20% de la materia prima C. El
whisky frutoso debe contener por lo menos un 15% de la materia prima A y no ms de un
60% de la materia prima C. El whisky aejo debe contener por lo menos un 50% de la
materia prima B. Cada botella de whisky fabricada en una temporada puede ser vendida
en dicha temporada o almacenada a un costo unitario por temporada de 0,5 dlares para
ser vendidas posteriormente.
FORMULAR (NO RESOLVER) un modelo de programacin lineal que permita optimizar
las actividades del importador. Defina claramente variables, funcin objetivo y
restricciones del problema.
SOLUCIN: Las variables a considerar para este problema son las siguientes:
: Cantidad de materia prima k para fabricar whisky i en la temporada
j
: Cantidad de whisky tipo i vendido en la temporada j
: Cantidad de whisky tipo i almacenado en la temporada j
La funcin objetivo se subdivide en tres partes,
y , donde
representa los
ingresos que obtiene el importador a partir de la venta de whisky en cada temporada,
representa los costos de importacin de whisky de cada tipo, y representa los costos de
almacenaje de whisky. Definimos entonces:
(
))(
))(
74
75
Finalmente, a partir de los datos entregados en el enunciado del problema con respecto a
la produccin, ventas y almacenaje por temporada, se obtienen las siguientes
expresiones:
76
Bibliografa
TAHA, HAMDY A. Investigacin de Operaciones.
ASCENCIO, JOS A. Notas del curso: Optimizacin 17015.
Apuntes de clase personales.
77