Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Optimización Programación Lineal
Optimización Programación Lineal
APUNTES DE
OPTIMIZACIÓN
Teoría y Ejercicios – Parte 1
Programación Lineal
PROBLEMAS DE OPTIMIZACIÓN.
- Tipo 1: ∑
- Tipo 2: ∑
- Tipo 3: ∑
Donde son constantes conocidas. Esta función debe optimizarse, cumpliendo las
restricciones anteriores, para así poder darle una solución al problema.
Las definiciones anteriores suelen ser confusas, por lo que es mejor ejemplificarlas de
forma más concreta. Vamos a suponer entonces que la Compañía Metalúrgica “DIMIN”
1
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
(Chile) dispone de dos procesos de reacción mediante los cuales debe producir dos tipos
de surfactantes, que serán utilizados en procesos de flotación. 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.
Ahora debemos construir la función objetivo para este modelo. La compañía desea
aumentar sus utilidades todo lo posible. Si representa la utilidad diaria total, el objetivo
de la empresa se puede representar de la siguiente forma:
( ) ( ) ( )
A continuación 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:
2
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
- Demanda de Gerencia para el surfactante 2:
Además, 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
Por lo que el modelo de programación lineal representativo del problema planteado con
anterioridad es el siguiente:
( ) ( ) ( )
Cualquier valor de y que satisfaga todas las restricciones del modelo es una
solución factible del problema. Sin embargo, a nosotros nos interesa determinar la
solución ó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
método que, de forma sencilla, sea capaz de determinar tal solución óptima a partir de los
datos del problema.
3
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
SOLUCIÓN GRÁFICA DE LA PROGRAMACIÓN LINEAL.
4
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
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
compañía.
Las necesidades dietéticas del alimento especial son un mínimo de 30% de proteínas
y un máximo de un 5% de fibras. La Granja Educativa desea determinar las
proporciones de alimento que produzcan un costo diario mínimo.
Sean entonces:
( )
( )
( )
6
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Se debe notar que, a diferencia del ejemplo de maximización, la segunda y tercera
restricciones pasan por el origen.
ALGORITMO SÍMPLEX
La solución gráfica del modelo de programación lineal indica que la solución óptima
factible del modelo siempre está asociada a un punto esquina del ESF. Este resultado es
la clave del método símplex, el cual es un procedimiento algebraico e iterativo para
resolver cualquier modelo de programación lineal.
La idea del método símplex es sencilla: se busca un punto esquina del ESF, y se verifica
si éste cumple con ser la solución óptima del problema. Si no es así, saltamos a un nuevo
punto esquina. El método termina cuando ya no es posible optimizar la función objetivo en
otro punto, lo que indica que hemos llegado al óptimo.
1. Todas las restricciones (excepto las de no negatividad) son ecuaciones cuyo lado
derecho es no negativo
En las restricciones del tipo ≤, el lado derecho se puede imaginar como la representación
del límite de disponibilidad de un recurso, y en ese caso, el lado izquierdo representaría 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 restricción ≤ representa, por
consiguiente, la cantidad no usada u holgura del recurso.
Para convertir una desigualdad del tipo ≤ en ecuación, se agrega una variable de holgura
al lado izquierdo de la ecuación. Por ejemplo, en el modelo de la compañía DIMIN
(ejemplo de maximización), la restricción asociada a la demanda de Gerencia para el
surfactante 1, con respecto a la máxima cantidad diaria a fabricar, está dada por la
desigualdad:
7
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Prosigamos. Una restricción del tipo ≥ establece, normalmente, un límite inferior para las
actividades (variables) del modelo de programación lineal. Como tal, la cantidad por la
cual el lado izquierdo es mayor que el límite mínimo (lado derecho) representa un
excedente.
La conversión de una desigualdad del tipo ≥ a una ecuación se logra restando una
variable de excedencia, del lado izquierdo de la desigualdad. Por ejemplo, en el problema
de la dieta (ejemplo de minimización), la restricción que representa los requisitos mínimos
de alimento está dada por:
Es importante señalar que el lado derecho de las ecuaciones convertidas debe ser
siempre no negativo. Esta condición se puede satisfacer siempre, si es necesario,
multiplicando ambos miembros de la ecuación por -1.
Como el modelo de programación lineal está definido sólo para variables no negativas, la
aparición de variables no restringidas sugiere un cambio de variable en el problema. Si
es una variable no restringida ( ), debe hacerse la siguiente sustitución:
8
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Las variables necesarias para poder determinar la cantidad de puntos esquina en el
ESF son llamadas variables no básicas (VNB). Las variables restantes, en caso de
tener una solución única, son llamadas variables básicas (VB), y su solución (al resolver
las ecuaciones), se llama solución básica.
( )
( )
Punto Valor
Variables no Variables Solución
esquina ¿Factible? objetivo de
básicas (cero) básicas básica
asociado z
( ) ( ) (5 , 4) O Sí 0
( ) ( ) (4 , -3) A No -
( ) ( ) (2.5 , 1.5) D Sí 7.5
( ) ( ) (2 , 3) B Sí 4
( ) ( ) (5 , -6) E No -
( ) ( ) (1 , 2) C Sí 8
Tabla 1: Variables no básicas y variables básicas del ejemplo anterior. Notemos que el
óptimo se encuentra en C, ya que es en este punto donde el valor objetivo de Z es
máximo
9
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
El algoritmo símplex es un método iterativo, que selecciona un punto esquina del ESF,
verificando los valores de las variables no básicas y de la función objetivo. Si éstos no son
óptimos, el proceso de resolución salta al punto esquina siguiente, generando un
intercambio de variables dependiendo de las condiciones del problema.
Paso inicial
Paso iterativo
No óptima
Prueba de
optimalidad
Óptima
Fin
10
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Para entender mejor la aplicación del algoritmo símplex, vamos a utilizarlo para resolver el
siguiente PPL:
( )
( )
El primer paso del algoritmo símplex es la generación del llamado modelo lineal estándar
(MLE) del problema. En dicho modelo, la función 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 condición 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 después.
( ) ( )
( )
11
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
limitantes de cada restricción junto a la solución básica del problema. Para nuestro caso,
el tableau símplex 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 diseño del tableau se especifican el conjunto de variables básicas (las que aparecen
en la columna V.B.) y las variables no básicas (las que no aparecen en la columna V.B.), y
también se muestra la solución básica asociada con la iteración 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
solución básica inicial. Por comodidad, siempre que sea posible, las iteraciones símplex
comienzan en el origen, ( ) ( ). Así, el conjunto asociado de variables básicas y
variables no básicas puede definirse como sigue:
V.B: ( )
V.N.B: ( ) → las variables no básicas son siempre nulas
Para determinar la variable de salida, en forma directa con la tabla, se deben calcular los
elementos definidos por la razón entre los elementos de la columna b y los
respectivos elementos que corresponden a la columna de la variable de entrada. En
12
(*) El uso de –z en la tabla símplex responde a que la función objetivo ingresa al
tableau escribiéndose de la forma 𝑥 𝑥 𝑧
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
este caso, la columna correspondiente a . La variable de salida queda definida por el
valor mínimo de los calculados, tales que . Para nuestro ejemplo, el cálculo
de los se muestra a continuación:
V.B. x1 b
s1 6 24 24/6 = 4 → Mínimo
s2 1 6 6/1 = 6
s3 -1 1 1/-1 -1 → Ignorar
s4 0 2 2/0 = ∞ → Ignorar
( ) { }
V.B: ( )
V.N.B: ( ) → las variables no básicas son siempre nulas
Ahora se deben manipular los coeficientes de nuestro tableau de inicio, de modo que las
columnas ahora identifiquen la nueva solución básica en esta nueva iteración (que
corresponde a otro punto esquina). Para ello, lo más común es tratar al tableau como una
matriz, y aplicar el método de eliminación gaussiana, construyendo así el nuevo tableau
para esta iteración.
El pívot para comenzar a trabajar con la eliminación gaussiana es aquel que es producto
de la intersección 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
ubicación de dicho pívot.
13
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
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
2. Luego procedemos a generar los ceros en las siguientes filas, justo debajo del pívot.
Si la matriz tiene un pívot distinto de cero, y queremos eliminar los elementos
( ) o ( ), debemos restarle a las filas
respectivas el producto entra la fila del pívot por los elementos y/o , definidos
para cada fila como ,o . Los elementos y son llamados
multiplicadores de la matriz.
Pívot
V.B. x1 x2 s1 s2 s3 s4 b
x1 1 2/3 1/6 0 0 0 4
s2 0 4/3 -1/6 1 0 0 2
s3 0 5/3 1/6 0 1 0 5
s4 0 1 0 0 0 1 2
-z 0 -2/3 5/6 0 0 0 -20
14
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
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
mínimo, tal y como se puede ver en Tabla 3:
V.B. x1 b
x1 2/3 4 4:(2/3) = 6
s2 4/3 2 2:(4/3) = 1.5 → Mínimo
s3 5/3 5 5:(5/3) = 3
s4 1 2 2:1 = 2
V.B. x1 x2 s1 s2 s3 s4 b
x1 1 0 1/4 -1/2 0 0 3
x2 0 1 -1/8 3/4 0 0 3/2
s3 0 0 3/8 -5/4 1 0 5/2
s4 0 0 1/8 -3/4 0 1 1/2
-z 0 0 3/4 1/2 0 0 21
Como ninguno de los coeficientes de la fila –z es negativo, podemos concluir, a partir del
criterio de optimalidad, que hemos llegado al óptimo.
La tabla símplex nos muestra una gran cantidad de información adicional, la cual
comprende lo siguiente:
1. El estado de los recursos (ya que si una holgura es nula, hablamos de un recurso que
es escaso, porque no nos sobran unidades adicionales; por otro lado, holguras
positivas implican recursos abundantes)
2. El precio o valor por unidad adicional de cada recurso (también llamados valores
duales, o precios sombra, y que corresponden a los coeficientes que tienen las
holguras, o las variables que cumplen el papel de holguras, en la tabla óptima)
15
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
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.
Dado , tal que (llamada “la gran M”), el coeficiente objetivo de una variable
artificial representa una penalización adecuada sí:
( )
( )
( )
En el nuevo modelo (que es modelo lineal estándar de este problema) se pueden usar
ahora , y como solución básica inicial. La tabla de inicio para este problema es
entonces la siguiente:
V.B. x1 x2 a1 a2 s2 s1 b
a1 3 1 1 0 0 0 3
a2 4 3 0 1 0 -1 6
s2 1 2 0 0 1 0 4
-z 4 1 M M 0 0 0
Antes de proseguir con los cálculos del método símplex, se necesita hacer que la fila
objetivo (la fila –z) sea consistente con el resto de la tabla. En forma específica, en la
tabla, , lo cual produce la solución básica inicial (que se ve en la
columna b de la tabla) . Esta solución 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.
( )
V.B. x1 x2 a1 a2 s2 s1 b
a1 3 1 1 0 0 0 3
a2 4 3 0 1 0 -1 6
s2 1 2 0 0 1 0 4
-z 4 1 M M 0 0 0
-z 4 – 7M 1 – 4M 0 0 0 M -9M
Esta última tabla queda lista para aplicarse el método símplex; notemos que, como ya
habíamos comentado, se han dispuesto las holguras de tal forma que éstas formen
una matriz canónica, marcada con celeste en la tabla. Aplicando el criterio de
optimalidad, debemos seleccionar la variable cuyo coeficiente sea el más negativo en
17
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
la fila –z. Sin embargo, es posible establecer la siguiente conjetura: existe empate
entre y , porque si , ambos coeficientes son infinitamente grandes y por
ende son equivalentes. Sin embargo, debe destacarse que este método se ideó
pensando en que ordenadores con capacidades de procesamiento significativas
computaran los resultados de problemas de optimización de mal comportamiento.
Nosotros somos seres humanos, pero bajo este marco, debe señalarse que, para
estos efectos, no es posible programar una cantidad infinitamente grande para
generar una solución, puesto que los software que resuelven este tipo de problemas
suelen tener complicaciones cuando trabajan con números muy pequeños y muy
grandes a la vez, por lo cual, asumiremos que es un número muy grande, y no
infinitamente grande. Así, la variable de entrada es , porque la sustitución de en la
expresión produce un número menor que si lo sustituimos en la expresión
.
V.B. x1 x2 a1 a2 s2 s1 b
x1 1 1/3 1/3 0 0 0 1
a2 0 5/3 -4/3 1 0 -1 2
s2 0 5/3 -1/3 0 1 0 3
-z 0 (-1 - 5M)/3 (-4 + 7M)/3 0 0 M -4 - 2M
Se le deja al lector comprobar que, a partir de esta última tabla, las variables de
entrada y de salida son y , respectivamente. Así, si continuamos con los cálculos
símplex, podremos hallar la solución óptima de este problema, la cual está dada por
⁄ ⁄ , lo que da un valor objetivo óptimo de
b) Método de las dos fases: Es otro método, más práctico que el anterior. Tal y como
su nombre lo indica, el método resuelve la programación lineal en dos fases: la fase 1
trata de determinar una solución básica factible de inicio y, si se encuentra, se invoca
la fase 2 para resolver el problema original.
18
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
Reescribiendo este problema en forma estándar, con todas las holguras y variables
artificiales (sin penalizarlas en la función 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 restricción 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 “función objetivo” sujeta a las mismas
restricciones que el problema de programación lineal original. De lo anterior, se tendrá
entonces lo siguiente:
( )
V.B. x1 x2 x3’ s1 a1 a2 s2 s3 b
s1 1 1 1 1 0 0 0 0 4
a1 -1 -1 1 0 1 0 -1 0 3
a2 2 1 2 0 0 1 0 -1 1
-z -1 -2 -1 0 0 0 0 0 0
-w 0 0 0 0 -1 -1 0 0 0
-w -1 0 -3 0 0 0 1 1 -4
Al respecto, aclaremos algunas cosas antes de empezar. Lo primero es que, al igual que
en el método M, la nueva función objetivo se debe ajustar para que sea consistente con
la tabla, ya que la solución básica de inicio indica que y , lo que implica que
. Esto se ha llevado acabo automáticamente en la tabla anterior. La primera fila –
w nos muestra los coeficientes originales de la función objetivo en fase 1, ( )
19
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
. La segunda fila –w nos muestra los coeficientes ajustados para así darle consistencia
la tabla símplex, lo que se logra restándole a la primera fila –w las filas y .
La tabla óptima que corresponde al fin de la fase 1, o dicho de otra forma, a la solución
óptima para la función objetivo ( ) es la siguiente (¡compruébelo!):
V.B. x1 x2 x3’ s1 a1 a2 s2 s3 b
s1 2 2 0 1 -1 0 1 0 1
a1 -4 -3 0 0 2 -1 -2 1 5
a2 -1 -1 1 0 1 0 -1 0 3
-z -2 -3 0 0 1 0 -1 0 3
-w 0 0 0 0 1 1 0 0 0
Esta tabla es óptima, porque todos los coeficientes de la fila –w (la fila objetivo para la
fase 1) son no negativos. La solución óptima es entonces ( ) , con .
Concluimos, a partir de esto, que existe una solución básica factible de inicio para el PPL
original en la fase 2, porque ( ) no es positivo. Se procede entonces a la fase 2, a
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, resolviéndose el
problema de forma idéntica a como ya sabemos hacerlo, mediante el algoritmo símplex.
V.B. x1 x2 x3’ s1 a1 a2 s2 s3 b
s1 2 2 0 1 -1 0 1 0 1
a1 -4 -3 0 0 2 -1 -2 1 5
a2 -1 -1 1 0 1 0 -1 0 3
-z -2 -3 0 0 1 0 -1 0 3
A partir de la tabla anterior, se le deja como ejercicio al lector el comprobar que la solución
óptima del PPL al fin de la fase 2 es ( ) , con ⁄ .
Recordando que , y que ( ) ( ) obtenemos y ( )
.
20
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
SOLUCIÓN DEGENERADA: Al aplicar la condición de factibilidad del método símplex, se
puede romper un empate en los ( ) en forma arbitraria. Cuando se presenta un
empate, al menos una variable básica será nula en la siguiente iteración, y se dice que la
nueva solución es degenerada.
Desde el punto de vista práctico, la condición de degeneración indica que el modelo tiene
al menos una restricción redundante, lo que quiere decir que no influye en la solución
óptima del problema.
( )
( )
Iteración V.B.
0 1 4 1 0 8
Entra 1 2 0 1 4
Sale -3 -9 0 0 0
1 1/4 1 1/4 0 2
Entra 1/2 0 -1/2 1 0
Sale -3/4 0 9/4 0 18
2 0 1 1/2 -1/2 2
Óptimo 1 0 -1 2 0
0 0 3/2 3/2 18
21
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
Solución: La solución gráfica de este PPL se puede ver en Figura 6; además, la tabla
siguiente muestra las iteraciones símplex que resuelven la programación lineal:
Iteración V.B.
0 1 2 1 0 5
Entra 1 1 0 1 4
Sale -2 -4 0 0 0
1 (óptimo) 1/2 1 1/2 0 5/2
Entra 1/2 0 -1/2 1 3/2
Sale 0 0 2 0 10
22
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
2 0 1 1 -1 1
(óptimo 1 0 -1 2 3
alternativo) 0 0 2 0 10
Figura 6: ESF del ejemplo anterior. La función objetivo es paralela a la restricción dada
por la semirrecta AC. Esta recta define infinitos óptimos alternativos
El método símplex sólo determina los dos puntos esquina, A y C. Se pueden determinar
matemáticamente 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 además:
A:
C:
̂ ( ) ( ) ( ) ( )
̂ ( ) ( ) ( ) ( )
23
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
resultado es que el valor objetivo puede aumentar (en caso de una maximización) o
disminuir (si se trata de una minimización) en forma indefinida. En ese caso, tanto el ESF
como el valor óptimo objetivo no están acotados.
La no acotación apunta hacia la posibilidad de que el modelo esté mal construido. Las
irregularidades más probables en estos modelos son que no se hayan tomado en cuenta
una o más restricciones no redundantes, y que los parámetros (constantes) de algunas
restricciones puedan no haberse estimado en forma correcta.
( )
Solución: la iteración símplex 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 solución. Como
tiene el coeficiente más negativo, se selecciona, normalmente, como la variable de
entrada. Sin embargo, todos los coeficientes de restricción bajo son negativos o cero, y
eso indica que puede aumentar en forma indefinida sin violar cualquiera de las
restricciones (compárese con la interpretación gráfica de la condición de factibilidad en
Figura 7). Como cada aumento de una unidad de aumentará 1 a , un aumento infinito
de también dará como resultado un aumento infinito de . Así, el problema no tiene
solución acotada. El ESF no está acotado en la dirección de , por lo que cuando
.
Figura 7: ESF del ejemplo anterior. Nótese que no se encuentra acotado superiormente
24
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
La regla para reconocer la no acotación es que si, en cualquier iteración, todos los
coeficientes de restricción de toda variable no básica son negativos o cero, entonces el
ESF no está acotado en esa dirección. Si, además, el coeficiente objetivo de esa variable
es negativo en caso de maximización, o positivo en caso de minimización, entonces
también el valor objetivo es no acotado.
Desde el punto de vista práctico, un ESF no factible indica la posibilidad de que el modelo
esté mal construido.
( )
Figura 8: ESF del ejemplo anterior. No hay solución factible, porque las restricciones
apuntan hacia semiplanos que no tienen puntos en común
25
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
solución factible. Lo anterior también se da cuando, al asignar variables artificiales al
modelo, éstas tienen un valor positivo en el óptimo.
Lo estudiado con anterioridad nos permite, con mayores o menores dificultades, resolver
cualquier problema de programación lineal. Sin embargo, la utilización del algoritmo
símplex es computacionalmente costosa, porque se calculan valores que, o bien son
inútiles desde el punto de vista práctico, o bien, no necesitan conocerse para llegar a la
solución. Tal es el caso de los coeficientes de las restricciones para cada iteración, que no
se encuentren en la fila (columna) que se corresponda con la variable de entrada (variable
de salida). Por lo tanto, es posible establecer otro método, que sólo trabaje con los
elementos necesarios de la tabla símplex, desechando los demás, o calculándolos sólo
cuando se necesiten. Esta es la idea del método símplex revisado, el cual establece
elementos matriciales para resolver un modelo.
( )
V.B.
( )
Los componentes de la tabla se han rellenado con colores distintos para explicar los
elementos matriciales que conforman esta tabla y que son imprescindibles en la
implementación del método símplex revisado. Estas definiciones son algo complicadas,
26
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
pero el ejemplo de más abajo es bastante claro al respecto, ilustrando la aplicación de
este método.
Matriz inversa: Definimos la matriz inversa como la matriz conformada por los
coeficientes de las holguras en cada una de las restricciones para la correspondiente
iteración. Para una tabla de inicio, esta matriz siempre es canónica, y su notación es .
La matriz inversa para la ( ) iteración en el método símplex revisado está definida por
la siguiente expresión:
Donde es una matriz identidad, de orden equivalente a la matriz inversa del problema,
y con una única columna definida de la siguiente manera:
( )
Matriz de valores duales: Definimos la matriz de valores duales (también llamada matriz
de precios sombra) como el vector fila cuyos elementos están conformados por los
coeficientes de las holguras en la fila correspondiente a la función objetivo para la
iteración respectiva. Su notación es .
27
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
La matriz , para la -ésima iteración, está definida por la siguiente expresión:
( )
Las matrices anteriores nos permiten, siempre que se pueda, obtener todos los elementos
de la tabla símplex.
( )
Como hemos utilizado variables artificiales para que cumplan el papel de holguras, el PPL
debe resolverse utilizando el método símplex de dos fases, pero para este ejemplo, lo
adaptaremos al método símplex revisado. La tabla símplex 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 variable de entrada es porque tiene el coeficiente más negativo en la fila objetivo (la
fila –w). Notemos que esto mismo es válido para , que también tiene coeficiente -1 en la
fila objetivo. El empate se rompe en forma arbitraria; en este caso, elegimos .
29
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Aplicando la condición de factibilidad, determinamos que la variable de salida es
(¡compruébelo!). Por lo tanto, la matriz se escribe de la siguiente manera:
( ) ( )
El segundo elemento, que se ubica en la misma fila que el pivote, es igual a 1 dividido por
el elemento pívot, que es 1.
Por lo tanto:
( ) ( ) ( )
( )
Las variables básicas para la primera iteración son y . Por lo tanto, la matriz ( )
es igual a ( ) ( ), porque el coeficiente de en la fila objetivo es 0, y el de
es -1. El orden en el cual están definidas las variables básicas en el PPL debe respetarse
(el primer elemento de la matriz corresponde al coeficiente de , el segundo al coeficiente
de , y no al revés). Esto suele facilitarse utilizando la siguiente tabla de valores:
V.B. ( )
( )
En esta tabla puede apreciarse el orden de las variables básicas, y por ende, la forma
correcta de escribir la matriz ( ). Por lo tanto, se tiene que:
( ) ( ) ( )
30
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
La matriz es aquella cuyos elementos son los coeficientes originales de la función
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 función objetivo para la primera iteración.
Consecuentemente con lo que realizamos en el método símplex ordinario, a esta matriz
se le debe aplicar la condición de optimalidad. En particular, para este caso, como ningún
coeficiente es negativo, estamos en el óptimo (para la fase 1, cuya función objetivo es w).
Por lo tanto, debemos ahora calcular la solución óptima para este PPL en la fase 1, lo que
implica calcular la matriz y el valor de ( ).
( )
Por lo tanto:
( ) ( ) ( )
31
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
V.B. ( )
( )
Luego:
( ) ( ) ( )
Lo único que cambia, al igual que en el paso 5, es que la matriz está conformada por
los coeficientes originales de las variables del PPL (exceptuando las holguras y
artificiales) en la fila –z. Por lo tanto:
( )
̅ ( ) ( ) ( ) ( )
Notemos que uno de los coeficientes reducidos es negativo para esta iteración, lo que
indica que la solución 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 iteración.
( ) ( )
( ) ( )
32
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Por lo tanto:
( ) ( ) ( ) ( ) ( )
Calculamos los elementos dividiendo fila a fila los elementos de la matriz por los
elementos de la matriz ( ), con lo cual se obtiene lo siguiente:
V.B. ( )
8 2 8/2 = 4 Mínimo
13 -1 13/-1 = -13 Ignorar
( )
Por lo tanto:
( ) ( ) ( )
( )
V.B. ( )
( )
33
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
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 función objetivo.
( ) ( ) ( )
34
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Para formar el problema dual, definimos el primal en forma de ecuación como sigue:
( ) ∑
Las variables incluyen las variables de excedencia, holguras y artificiales, si las hay.
( ) ∑
De lo anterior, observamos:
35
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Lema de optimización para el modelo primal – dual: La función objetivo del problema
primal siempre debe cambiarse a la forma estándar antes de construir el correspondiente
problema dual.
Los siguientes ejemplos ilustran el como se obtiene el dual a partir del primal.
( )
Solución: Lo primero es reescribir el problema primal de tal forma que la función objetivo
sea de minimización, y que las restricciones sean del tipo ≥ o = (o sea, en forma
canónica). Lo primero se logra haciendo la sustitución ( ) ( ), mientras que lo
segundo se logra multiplicando la primera restricción por -1. Por lo tanto, se obtiene:
( )
( )
Ahora podemos construir el problema dual. Utilizando la definición dada con anterioridad,
podemos deducir que el problema dual presenta dos variables, ya que se tienen dos
restricciones primales. Además, tendrá tres restricciones, porque hay tres variables
primales. Por lo tanto, se obtiene lo siguiente:
36
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
Detengámonos un momento ¿No habíamos dicho que el problema dual tenía tantas
restricciones como variables tenga el primal? ¿Por qué entonces hay, al parecer, 6
restricciones?
( )
Tabla 5: Naturaleza de las variables duales en función del tipo de las restricciones
primales
37
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
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 restricción primal para determinar la naturaleza de la
correspondiente variable dual. Recordemos que la variable dual se corresponde con la
-ésima restricción primal.
( )
Solución: Aprendida la tabla anterior, obviaremos el escribir las holguras del primal.
Simplemente lo rescribiremos de forma tal que la función objetivo sea de minimización, 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 tenía: 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. Además, 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
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Detengámonos nuevamente por un momento ¿No deberíamos tener 2 restricciones en
lugar de 3? Pues, en efecto, debería ser así. Resulta que el haber considerado el cambio
de variable en el primal para la variable , que era no restringida, ha provocado que ésta
se “fragmente” en dos variables. Sin embargo, si observamos las primeras dos
restricciones duales, que se corresponden con las variables primales y , podemos
notar lo siguiente:
Restricción 1:
Restricción 2:
( )
Al final, el dual sí tenía dos restricciones. Es un alivio ¡Se ha respetado nuestra definición
de problema dual! Pero lo más importante, es que hemos demostrado que la Tabla 4
funciona en ambas direcciones: si una variable primal es no restringida, significa que la
correspondiente restricción dual es del tipo =.
Los cambios que se hacen en el modelo original de programación lineal afectan a los
elementos de la tabla óptima actual (y el que se tenga en el momento), que a su vez
puede afectar la optimalidad y/o factibilidad de la solución actual.
( )
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 iteración.
Esto confirma lo dicho en primera instancia: el problema primal y el problema dual están
tan estrechamente relacionados, que la solución básica que obtengamos para uno,
automáticamente conduce a la solución básica del otro. La fórmula anterior prueba esta
afirmación (ya veremos el porqué del signo negativo en esta fórmula).
Recapitulando, se tiene entonces que las relaciones existentes entre los problemas primal
y dual son las siguientes:
Esta última aseveración puede ser más explicita si escribimos la formulación de ambos
problemas en forma matricial. Si el problema primal está definido como:
( )
( )
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.
Las soluciones primal y dual están tan estrechamente relacionadas, que la solución
óptima del primal produce en forma directa, con un simple cálculo adicional, la solución
óptima del dual. Para ello contamos con dos métodos. Ambos igualmente válidos.
Tal y como vimos con anterioridad, uno de los elementos matriciales de la tabla símplex
es la matriz de valores duales, que corresponde a los valores de las variables duales para
la correspondiente iteración. Si la k-ésima iteración resulta ser la óptima en el primal, la
solución óptima del problema dual está dada por la siguiente expresión:
( )
¿Por qué esta expresión tiene un signo negativo que la precede, cuando en el método
símplex revisado no lo había? Esto sucede porque, desde un principio, nos hemos
forzado a resolver problemas de minimización, inclusive cuándo éstos no están definidos
de esta forma, utilizando el cambio de variable ( ) ( ). Por lo tanto, este
cambio de signo implica que antepongamos un signo negativo a la fórmula de la matriz de
valores duales.
40
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Método 2: Teorema de holguras complementarias.
( ) ( )
[ ∑ ]
[ ∑ ]
Donde corresponde a los términos independientes para las m restricciones del primal, y
mientras que corresponde a los coeficientes de las variables en la función objetivo del
primal.
( )
41
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
Construimos ahora el problema dual. Del primal, observamos que el dual tiene 3 variables
y 4 restricciones. Además, la variable dual es no restringida, mientras que el resto son
no negativas. Por lo tanto, el problema dual es el siguiente:
( )
Para el primal:
( )]
( )]
( )]
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 expresión anterior se cumple si y
sólo si estamos en el óptimo.
42
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
3. Si el primal no está acotado, y la función objetivo tiende a , entonces el dual
también tendrá una función objetivo no acotada, tal que
Si ambos problemas –primal y dual– son factibles, entonces ambos tendrán una
solución óptima finita, con valores objetivos finitos
Si el primal no es factible y el dual es factible, entonces el problema dual tendrá un
ESF no acotado
Si el primal es factible y el dual no es factible, entonces el problema primal tendrá un
ESF no acotado
Si ambos problemas –primal y dual– no son factibles, ambos poseen valores objetivos
infinitos
PRIMAL DUAL
( ) ∑ ( ) ∑
∑ ∑
Desde el punto de vista del modelo de asignación de recursos, el problema primal tiene
actividades económicas y recursos. El coeficiente del primal representa la utilidad por
unidad de actividad . El recurso , cuya disponibilidad máxima es , se consume con la
tasa de unidades por unidad de actividad .
( ) ∑ ∑ ( )
43
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
La igualdad estricta, ( ) ( ), es válida cuando las soluciones primal y dual son
óptimas.
∑( ) ( )
Eso quiere decir que las variables duales representan el valor por unidad de recurso .
Con la misma lógica, la desigualdad ( ) ( ) relativa a dos soluciones
asociadas, primal y dual, se interpreta como sigue:
Según esta relación, 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 sólo se alcanza cuando se han explotado los recursos por
completo, lo que sólo puede suceder cuando los datos (valor de los recursos) son iguales
a los resultados ($ de utilidad). En términos económicos 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 sólo cuando estas dos cantidades son
iguales.
Esta fórmula 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 ecuación con signo contrario, también debe estar en $ por
unidad. Además, como representa una utilidad, la cantidad ∑ , que aparece en
la ecuación 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
.
44
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( ) ( )
Como en el método símplex, la base del método símplex dual es que cada iteración
siempre está asociada a una solución básica. Las condiciones de optimalidad y
factibilidad se establecen para preservar la optimalidad de las soluciones básicas y al
mismo tiempo, mover las iteraciones de la solución básica hacia la factibilidad.
Por lo tanto, a diferencia del algoritmo símplex estándar, el símplex dual busca la
factibilidad de la solución básica, que ya es óptima. Luego, este algoritmo está diseñado
para tratar problemas no factibles, que tienen términos independientes en sus
restricciones que son negativos.
( )
( )
45
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
a) Formule el problema dual
b) Resuelva el problema dual mediante el algoritmo símplex dual
( )
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 símplex dual. Como el algoritmo
símplex dual está diseñado para resolver problemas no factibles, entonces no es
necesario multiplicar las restricciones duales a fin de tener términos independientes no
negativos. Es más, el algoritmo símplex dual sólo funciona en problemas no factibles.
V.B.
-1 -5 -2 1 0 0 0 -2
-1 -3 -1 0 1 0 0 -3
-1 0 -1 0 0 1 0 -9
-1 -2 0 0 0 0 1 -9
-12 -20 -10 0 0 0 0 0
46
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
V.N.B. Coeficiente en fila Coeficiente en fila -v
-1 -12 -12/-1 = 12
0 -20 -20/0 = ∞ → Ignorar
-1 -10 -10/-1 = 10 → Mínimo
V.B.
1 -5 0 1 0 -2 0 16
0 -3 0 0 1 -1 0 6
1 0 1 0 0 -1 0 9
1 -2 0 0 0 0 1 -9
-2 -20 0 0 0 -10 0 90
V.B.
0 -7 0 1 0 -2 1 7
0 -3 0 0 1 -1 0 6
0 -2 1 0 0 -1 1 0
1 2 0 0 0 0 -1 9
0 -16 0 0 0 -10 -2 108
Como todos los elementos de b son positivos, hemos llegado a una solución factible. Esta
solución es óptima, porque todos los coeficientes en la fila objetivo son negativos o cero.
Esta condición es la inversa que se utilizó para los problemas de minimización, donde
todos los coeficientes de la fila objetivo debían ser positivos o cero. En este caso, la
función objetivo entró a la tabla símplex como una función de maximización, lo que implica
que se utilice la condición inversa.
47
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
EJERCICIOS PEP 1
PROBLEMA #1
Una fábrica 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 más un
30% de potasio. Existe además una relación 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. Además, la vitamina A no puede superar el 35% del contenido del jugo.
El costo por adquirir los ingredientes, los límites de los pedidos por día, y los aportes
porcentuales de cada componente a los ingredientes por unidad se resumen en la
siguiente tabla:
( )
( ) ( )
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
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
De manera simplificada:
Además, la contribución de la vitamina A no debe superar el 35% del jugo (350 cc). Por
ende:
( )
( )
PROBLEMA #2
( )
( )
V.B ( )
-4 1 -7 -3 0 1 0 0 50 50
3 2 2 4 0 0 1 0 150 75
1 0 4 2 -1 0 0 1 10 ---
5 -1 -1 -1 0 0 0 0 0
0 0 0 0 0 1 0 1 0
3 -1 3 1 1 0 0 0 -60
V.B ( )
-4 1 -7 -3 0 1 0 0 50 50/7
11 0 16 10 0 -2 1 0 50 25/8
1 0 4 2 -1 0 0 1 10 5/2
1 0 -8 -4 0 1 0 0 50
-1 0 -4 -2 1 1 0 0 -10
Entra , sale .
( )
Como ya definimos el pívot y las variables de entrada y salida a partir de la tabla anterior,
podemos calcular inmediatamente la matriz :
( ) ( )
50
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
( ) ( )
Construimos una pequeña tabla para verificar el orden de las variables básicas:
V.B. ( )
( )
( ) ( ) ( )
( )
( )
Luego:
( ) ( ) ( ) ( )
Por lo tanto:
( ) ( )
Como todos los coeficientes reducidos de la función objetivo w son nulos, hemos llegado
al óptimo para la fase 1. Como y son no básicas, 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 función objetivo z en la fase 2
(iteración 2). Verificando el orden de las variables básicas:
V.B. ( )
( )
Por lo tanto:
51
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( ) ( ) ( )
( )
( )
Luego:
( ) ( ) ( ) ( )
Por lo tanto:
( ) ( )
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
Por lo tanto:
V.B. ( )
135/2 -7/4 (135/2):(-7/4) = -270/7 → Ignorar
10 4 10/4 = 5/2 → Mínimo
5/2 -1/4 (5/2):(-1/4) = -10 → Ignorar
Donde:
52
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
( ( ) ) ( )
Entonces:
( ) ( ) ( )
V.B. ( )
( )
( ) ( ) ( )
( )
( )
Luego:
( ) ( ) ( ) ( )
Por lo tanto:
( ) ( )
53
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Como ahora todos los coeficientes reducidos son no negativos, hemos llegado al óptimo.
Calculamos entonces para encontrar la solución óptima de este problema:
( ) ( ) ( )
PROBLEMA #3
V.B. X1 X2 X3 X4 S1 S2 b
X1 1 -5 4 13 5 0 7
S1 0 2 1 6 10 1 3
-Z 0 3 1 8 4 0 76
SOLUCIÓN: Tenemos:
PROBLEMA #4
Una fábrica de ropa produce tres líneas de trajes: jeans, franela y amasado. La ropa es
vendida en lotes de 100 trajes de cada tipo. Cada lote pasa a través de tres procesos:
corte, cosido y empaque. La planta dispone de 16 cortadores como máximo, 41 máquinas
de coser como máximo y debe ocupar a 10 empacadores (no más no menos). Los
54
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
requerimientos para producir un lote de 100 trajes de cada tipo y las utilidades asociadas,
se presenta a continuación:
( )
Las restricciones del problema están asociadas al límite de recursos impuesto por la
fábrica en función de la cantidad de cortadores, máquinas de coser y personal encargado
de empacar. Así, se tiene lo siguiente:
Cortadores:
Máquinas de coser:
Personal de empaque:
( )
55
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )
Notemos que los únicos puntos candidatos a solución óptima de este problema son A y B.
Evaluando la función objetivo se obtiene que el punto esquina óptimo es B, dado por
lotes de jeans, resultando no rentable fabricar lotes de franela (porque ).
Reemplazando lo anterior en el modelo original, se obtiene que lotes de amasados.
La utilidad máxima que percibe la fábrica es de ( ) unidades monetarias.
PROBLEMA #5
Escriba el DUAL del siguiente problema. Verifique que el dual del dual es el problema
original.
( )
( )
56
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
SOLUCIÓN: Del primal, tenemos que:
( )
Construimos ahora el problema dual. Notemos que, a partir de la definición, el dual tendrá
8 variables y 5 restricciones. Además, la variable dual es no restringida, mientras que
el resto son no negativas.
( )
La comprobación de que el dual del dual es el primal es obvia, y se deja como ejercicio al
lector.
57
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
PROBLEMA #6
La compañía 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
más 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 recuperación en el proceso. La
razón promedio de estéril/mineral determinada para las operaciones de extracción mineral
tiene un valor de 3,5.
Dado los datos que se indican, FORMULAR (no RESOLVER) un modelo de programación
lineal, el cual permita obtener un plan minero de producción que cumpla las restricciones
operacionales y permita minimizar la desviación de la razón estéril/mineral total.
Reservas Razón
Mina Área % Fe % Si
(toneladas) Estéril/Mineral
Cerro Norte 20.000 40 17 3,0
GRANATE Lomas 10.000 30 10 2,0
Lomas Sur Sur 15.000 40 11 4,0
BAYAS Alberta 30.000 35 13 5,0
Para este problema, es muy útil la elaboración de un diagrama que muestre el proceso en
cuestión:
𝑥
Ley de Fe ≥ 35%
Ley de Si ≤ 12%
Planta
𝑥
Ahora veamos las restricciones del problema. En cuanto a las capacidades de la planta,
como ésta debe recibir al menos 45.000 toneladas y no más 60.000 toneladas, se tendrá:
58
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Si el mercado interno requiere de, al menos, 12.000 toneladas de Fe, entonces el 90% de
la producción que llega a planta, en términos del Fe, debe conformar como mínimo, este
tonelaje. Luego:
( )
Se debe agregar que los sectores de producción tienen como limitante a sus reservas
totales. Luego:
Por último, la planta debe recibir como mínimo una ley del 35% de Fe y, a lo más, una ley
del 12% de Si. Luego, tenemos lo siguiente:
( )
( )
( ) ( ) ( )
( )
( )
,
( )
( )
PROBLEMA #7
( )
59
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
SOLUCIÓN: Se debe reescribir el PPL en forma estándar. Se tiene entonces:
( )
V.B. ( )
-3 1 -5 -3 1 0 0 0 400 400
-3 2 2 4 0 1 0 0 1500 750
1 0 4 2 0 0 1 -1 120 ---
-2 -1 -1 -1 0 0 0 0 0
0 0 0 0 1 0 1 0 0
2 -1 1 1 0 0 0 1 -520
V.B. ( )
-3 1 -5 -3 1 0 0 0 400 ---
3 0 12 10 -2 1 0 0 700 175/3
1 0 4 2 0 0 1 -1 120 30
-5 0 -6 -4 1 0 0 0 400
-1 0 -4 -2 1 0 0 1 -120
V.B. ( )
-7/4 1 0 -1/2 1 0 5/4 -5/4 550 ---
0 0 0 4 -2 1 -3 3 340 ---
1/4 0 1 1/2 0 0 1/4 -1/4 30 120
-7/2 0 0 -1 1 0 3/2 -3/2 580
0 0 0 0 1 0 1 0 0
( )
60
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Como ya definimos el pívot y las variables de entrada y salida a partir de la tabla anterior,
podemos calcular inmediatamente la matriz :
( )
( )
( ) ( )
( )
Construimos una pequeña tabla para verificar el orden de las variables básicas:
V.B. ( )
( )
( ) ( ) ( ) ( )
̅( )
Luego:
( ) ( ) ( ) ( )
Por lo tanto:
( ) ( )
61
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( ) ( ) ( )
( ) ( ) ( ) ( ) ( )
Por lo tanto:
V.B. ( )
760 -3 760:(-3) = -253.33 → Ignorar
340 3 340:3 = 113.33 → Mínimo
120 -1 120:(-1) = -120 → Ignorar
Donde:
( )
( )
Entonces:
( )
( ) ( )
V.B. ( )
( )
62
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( ) ( ) ( ) ( )
( )
Luego:
( ) ( ) ( )
Por lo tanto:
( ) ( )
Como ahora todos los coeficientes reducidos son no negativos, hemos llegado al óptimo.
Calculamos entonces para encontrar la solución óptima de este problema:
( ) ( ) ( )
PROBLEMA #8
Un florista sabe hacer sólo 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:
63
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
d) Suponga que retorna frustrado después que una bella dama le cerrara la puerta
cuando usted le llevaba amablemente una rosa, un tulipán y un ibizco. Si se encuentra
con el florista ¿Cuánto cree que estaría dispuesto a pagar él por sus flores?
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
transformación de primal simétrico, invirtiendo las situaciones presentadas en la
definición 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.
( )
Tabla de inicio:
V.B. ( )
3 1 1 0 0 300 100
1 1 0 1 0 140 140
1 3 0 0 1 300 300
-2000 -1000 0 0 0 0
64
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
V.B. ( )
1 1/3 1/3 0 0 100 300
0 2/3 -1/3 1 0 40 60
0 8/3 -1/3 0 1 200 75
0 -1000/3 2000/3 0 0 -200000
V.B.
1 0 1/2 -1/2 0 80
0 1 -1/2 3/2 0 60
0 0 1 -4 1 40
0 0 500 500 0 -220000
Como todos los coeficientes de las variables en la función objetivo son no negativas,
hemos llegado al óptimo. La utilidad máxima 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 válido el teorema de holguras complementarias. Por lo tanto:
Para el primal:
( )]
( )]
( )]
Para el dual:
( )]
( )]
Por lo tanto, el florista venderá rosas y tulipanes a un precio de $500 c/u, y entregará
como “oferta” los ibizcos gratis, siempre y cuando venda todo como un paquete. Esto
tiene sentido, porque si vende sólo las rosas y tulipanes, dado que sólo sabe hacer los
arreglos florales descritos, no le sacará provecho a los ibizcos.
d) Si tuviéramos tan desgraciada suerte, entonces, idealmente, el valor máximo que nos
pagará el florista por las flores es el descrito con anterioridad: $500 por cada rosa y
tulipán, y $0 por los ibizcos.
65
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
PROBLEMA #9
( )
Se pide:
a) Se debe obtener el modelo lineal estándar (MLE) del problema. Para ello, hacemos los
cambios de variable y , con lo cual el problema se re-escribe de la
siguiente forma:
( )
( )
66
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
En el gráfico anterior, los puntos esquina del ESF están dados por los siguientes
pares:
Por tanto, el valor máximo del problema dual es , y se cumple cuando estamos
en el punto esquina J.
c) Si el proceso de resolución del problema dual no tiene por qué seguir las reglas del
símplex, entonces basta que, a partir del origen, el algoritmo ignore la regla dada por
el criterio de optimalidad en un problema de maximización, la cual dicta que se escoja
siempre el coeficiente más negativo en la fila objetivo del tableau símplex. 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
solución.
Notemos que, además, este nuevo proceso ignora la subdivisión del problema en dos
fases, ya que se cuenta de inmediato con una solución básica de inicio (el origen).
Para el primal:
( )]
( )]
Para el dual:
67
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( )]
( )]
( )]
( )]
PROBLEMA #10
La Compañía 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):
Estos dos últimos costos se refieren a las fluctuaciones en los niveles de producción, ya
que ASIOPSA tiene como política trabajar todos los meses la misma cantidad de horas.
68
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Concentrado Maquinaria [hr/ton] Mano de obra [hr/ton]
Cu 0,10 0,05
Zn 0,08 0,07
( ) ( ) ( ) ( )
( ) ( ) ( )
( ) ∑ ∑ ∑ ∑ ∑ ∑
Ahora veamos las restricciones. Lo más sencillo es verificar primero las limitaciones de
satisfacción, demanda e inventario de ASIOPSAL. En este caso, para cada mes, se tiene
lo siguiente:
Mes 1:
Mes 2:
69
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Mes 3:
Mes 1:
Mes 2:
Mes 3:
Naturalmente, todas las variables consideradas para este problema son no negativas. El
modelo completo (simplificado) es el siguiente:
70
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
( ) ∑ ∑ ∑ ∑ ∑ ∑
, , , ,
PROBLEMA #11
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.
71
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
SOLUCIÓN: Lo primero es definir las variables de este problema. Sea la cantidad de
dinero invertido al comienzo del mes durante un período de meses. La función objetivo
queda entonces definida como sigue:
( )
Las restricciones del modelo naturalmente representan la distribución del dinero. Así,
éstas se definen por las siguientes desigualdades:
PROBLEMA #12
Se pide:
( )
( )
La tabla siguiente evalúa el valor de las variables del PPL en cada uno de los puntos
esquina del ESF:
Por lo tanto, el punto esquina B es el óptimo, porque es aquel donde la función objetivo
alcanza su mínimo valor. Se concluye entonces que FERROSUR debe fabricar 1,25
toneladas de acero puro, a un costo mínimo de 3,75 unidades monetarias. La chatarra no
es rentable de producir.
73
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
PROBLEMA #13
Temporadas
Tipo
1 2 3 4
Seco 10 12 14 8
Frutoso 13 15 17 19
Añejo 21 25 9 11
El whisky seco lo vende a 34 dólares por botella, el frutoso a 28,8 y el añejo a 22,5 en la
primera temporada. En las siguientes se espera poder venderlos a un 5% más caro. Cada
tipo de whisky es elaborado mezclando tres materias primas, A, B y C, de las cuales se
puede importar un máximo de 2000, 2500 y 1200 botellas por temporada a un costo de
35, 25 y 20 dólares, respectivamente. Estos costos, válidos para la primera temporada,
deberían aumentar un 2% en cada temporada. El whisky seco debe contener por lo
menos un 60% de la materia prima A y no más 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 más de un
60% de la materia prima C. El whisky añejo 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 dólares para
ser vendidas posteriormente.
SOLUCIÓN: Las variables a considerar para este problema son las siguientes:
∑( ( ))( )
∑ ∑( ( ))( )
74
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
∑∑
( )
Las restricciones del problema vienen dadas por la disponibilidad de materia prima para
producir cada tipo de whisky, la cantidad máxima de ventas por temporada, la proporción
de uso de las materias primas en la elaboración de cada tipo de whisky, y la producción,
ventas y almacenaje por temporada. Luego, se tiene lo siguiente:
75
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Las restricciones anteriores se cumplen para todo .
Finalmente, a partir de los datos entregados en el enunciado del problema con respecto a
la producción, ventas y almacenaje por temporada, se obtienen las siguientes
expresiones:
76
Universidad de Santiago de Chile
Departamento de Ingeniería en Minas
Ayudantía de Optimización
Bibliografía
77