You are on page 1of 26

INTRODUCCIÓN A LA

MODELACIÓN MATEMÁTICA
Y OPTIMIZACIÓN

Carlos Julio Vidal Holguín

UNIVERSIDAD DEL VALLE


FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA
UNIVERSIDAD DEL VALLE
FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA INDUSTRIAL Y ESTADÍSTICA

INTRODUCCIÓN A LA MODELACIÓN MATEMÁTICA Y


OPTIMIZACIÓN

Programación Lineal, Programación No Lineal y Teoría de Redes:


Formulación y solución de modelos, teoría de dualidad, análisis de
sensibilidad, problema del transporte y problemas seleccionados de redes.
(Versión 1.5 Agosto de 2005)

Escrito y recopilado por Carlos Julio Vidal Holguín

Cali, Agosto de 2005


40 Introducción a la Modelación Matemática y Optimización

1. TEORÍA DE DUALIDAD
El problema dual puede definirse en forma matemática. Sin embargo, es adecuado
comenzar por una interpretación económica.

Supóngase que en una empresa se producen dos artículos: 1 y 2. Las utilidades netas
unitarias son respectivamente, 35 y 80 u.p/unidad. Los requerimientos unitarios y la
disponibilidad de las máquinas son:

hr.máq.1 hr.máq.2
ARTICULO
unidad unidad
1 2 5
2 3 4
Disponibilidad 300 500

El modelo de PL correspondiente para este enunciado sería:

MAXIMIZAR Z = 35 X 1 + 80 X 2
Sujeto a :
2 X 1 + 3 X 2 ≤ 300 (Recurso 1) (Problema Primal)
5X 1 + 4X 2 ≤ 500 (Recurso 2)
(X1 , X 2 ) ≥ 0

Donde: X1= Número de artículos tipo 1 a producir, X2 = Número de artículos tipo 2 a


producir. A este problema anterior se le denomina problema primal.

Ahora, los recursos, en este caso las máquinas, pueden ser dedicados a otra actividad
diferente a la de producir los artículos 1 y 2. Para ello, sean:

W1 → u.p/unidad de recurso 1 → u. p / hr.máq.1


W2 → u.p/unidad de recurso 2 → u. p / hr.máq.2

Los W1, W2 se denominan precios sombra o costos de oportunidad y representan el


valor de un recurso cuando se dedica a la mejor alternativa posible. Los coeficientes 2, 5, 3 y 4
son unidades de recurso Ri necesarias para la producción de una unidad de artículo i (i = 1,2).
Si se efectúa el producto:
unid .R1 u. p u. p
2W1 ⇒ × =
unid . prod .1 unid .R1 unid . prod .1

y el producto:
unid .R2 u. p u. p
5W2 ⇒ × =
unid . prod .1 unid .R2 unid . prod .1
y, si se efectúa la suma:

2W1 + 5W2 ⇒ Ganancia obtenida si los recursos se dedican a


otra actividad [u.p/unid. prod. 1]

Por lo tanto, debe esperarse que:

2W1 + 5W2 ≥ 35 [u.p/unid. prod. 1]

y, análogamente:
3W1 + 4W2 ≥ 80 [u.p/unid. prod. 2]

Para hallar la función objetivo del problema que se está construyendo a partir del
problema primal, puede pensarse así: se desea minimizar el costo total de los recursos
involucrados en las otras actividades. Así, el problema dual es:

MINIMIZAR Z ' = 300W1 + 500W2


Sujeto a :
2W1 + 5W2 ≥ 35 (Problema Dual)
3W1 + 4W2 ≥ 80
(W1 , W2 ) ≥ 0

La solución del problema dual da la información acerca de los “costos de


oportunidad” de los recursos o “precios sombra”, es decir, la tasa a la cual podría
incrementarse (o decrecer) la función objetivo del problema primal, incrementando (o
disminuyendo) ligeramente la cantidad de recurso. Esto será aclarado más adelante.

Por lo tanto, la solución del problema dual da una valiosa información: el precio
unitario adicional máximo que puede pagarse por cada unidad adicional de recurso escaso.
Esto se concluye de la propia definición de la función objetivo del problema dual, ya que,
como se verá posteriormente, el valor óptimo de la función objetivo del problema primal es
igual al valor óptimo de la función objetivo del problema dual ( o sea Zmáx = Z'mín).
Matricialmente estos dos problemas pueden definirse como:
42 Introducción a la Modelación Matemática y Optimización

MAX Z = CX MIN Z ' = W T b


Sujeto a : AX ≤ b Sujeto a : W T A ≥ C
(4.1) 1 (4.2)
X≥0 W≥0
Problema Primal Problema Dual
1.1. RELACIONES ENTRE LOS PROBLEMAS PRIMAL
Y DUAL
TEOREMA 4.1: Sean X y W dos soluciones factibles del problema primal y dual,
respectivamente; entonces se cumple que:
CX ≤ W T b
Demostración:
Del problema primal:
AX ≤ b
T
Premultiplicando por W :
W T AX ≤ W T b (4.3)
Ahora, del problema dual:
WT A ≥ C
Postmultiplicando por X:
W T AX ≥ CX (4.4)

Si se combinan las desigualdades (4.3) y (4.4), se obtiene:

CX ≤ W T b q.e.d

TEOREMA 4.2: Sean X̂ y Ŵ dos soluciones factibles para los problemas primal y
dual respectivamente. Si se cumple que:
CXˆ =Wˆ Tb
entonces X̂ y Ŵ son las soluciones óptimas de los problemas primal y dual
respectivamente.

Demostración:
ˆ , W) . Del Teorema 4.1 se concluye que:
a) Tómese la pareja de soluciones factibles ( X
CXˆ ≤ WT b
pero como CX ˆ =W ˆ T b , por hipótesis, entonces, W ˆ T b ≤ W T b , donde W T es
cualquier solución factible del problema dual. Por lo tanto, W ˆ T b será el mínimo y es entonces
la solución óptima del problema dual.

1
Más adelante se verá que cualquier problema de PL tiene su dual asociado. Sin embargo, para hallarlo debe
estar en la forma mostrada, o sea con función objetivo de maximización y restricciones menor ó igual (≤).
ˆ ) ; por el Teorema 4.1:
b) Tómese ahora la pareja ( X, W
CX ≤ W ˆ Tb
Pero:
CXˆ =W ˆ T b , por hipótesis.
Luego:
CX ≤ CX ˆ
ˆ será el máximo y
donde X es cualquier solución factible del problema primal. Así, CX
es entonces la solución óptima del primal (q.e.d).
1.1.1. Solución del Problema Dual

El problema dual asociado a un problema primal está íntimamente ligado a éste. Se va


a demostrar que si se resuelve el problema primal mediante el algoritmo SIMPLEX, el
problema dual aparece resuelto automáticamente en el tablero final. Por lo tanto, basta sólo
con resolver uno de los dos problemas!

Supóngase que se ha resuelto el problema de los transformadores mediante el método


SIMPLEX. El modelo original, problema primal, es el siguiente:

Maximizar Z = 400 X 1 + 700 X 2


Sujeto a :

X 2 ≤ 1400 [hr. hom bre] (R1 )


7
X1 +
3
[
X 1 + 1.4 X 2 ≤ 980 hr. maq.q (R2 )]
X 1 + X 2 ≤ 900 [hr. maq.2 ] (R3 )
(X1, X 2 ) ≥ 0
El problema dual asociado será, por lo tanto:

MINIMIZAR Z ' = 1400W1 + 980W2 + 900W3


Sujeto a :
W1 + W2 + W3 ≥ 400
7
W1 + 1.4W2 + W3 ≥ 700
3
(W1 , W2 , W3 ) ≥ 0
El tablero final del método SIMPLEX aplicado al problema primal es el siguiente
(Compruébelo!!):

Var.
CB XB X1 X2 S1 S2 S3
Básicas
X2 700 450 0 1 15/14 -15/14 0
X1 400 350 1 0 -3/2 5/2 0
S3 0 100 0 0 3/7 -10/7 1
44 Introducción a la Modelación Matemática y Optimización

Zj 455000 400 700 150 250 0


Zj −Cj 0 0 150 250 0
Solución óptima del
problema dual asociado

Se va a plantear la hipótesis de que la solución óptima del problema dual aparece


debajo de la inversa de la base óptima, en la fila de los Zj (o sea que la solución óptima del
−1
dual es C B B ).
Las condiciones de optimalidad del primal son:

Z j − C j ≥ 0, ∀j

Esto es equivalente a decir:


C B B −1a
j
≥C j

O, en forma compacta:
C B B −1 A ≥ C

−1
Si W = C B B , entonces W A ≥ C
T T

Con lo que se conseguiría cumplir con las restricciones del dual. Obsérvese que las
condiciones de optimalidad del problema primal son equivalentes a las condiciones de
factibilidad del problema dual.

Falta por demostrar que la solución del dual propuesta satisface las condiciones de no
negatividad y el valor óptimo de la función objetivo. En particular para las variables de
holgura, las cuales forman la matriz idéntica, se cumple que:

C B B −1I ≥ 0
−1
pues sus coeficientes en la función objetivo son iguales a cero. Luego, si W = C B B ,
T

se cumple que:
WT ≥ 0 ,

o sea que se trata de una solución factible del problema dual. Pero, será la óptima??

Si se evalúa el valor de la función objetivo para esta solución, se obtiene:

Z1 = W T b = C B B −1b = C B X B = Z

Luego, de acuerdo con el Teorema 4.2 dicha solución debe ser óptima. (q.e.d)
Conclusión: la solución óptima del problema dual aparece en el tablero final
SIMPLEX del problema primal en la fila de los Zj, debajo de las columnas que forman la
inversa de la base óptima., o sea que W T = C B B −1 .

Para el problema de los transformadores, la solución óptima del problema dual


asociado es:

W1 = 150 W2 = 250 W3 = 0 Z l mín = 455000


O sea que si se incrementa en 1 unidad el recurso hora-hombre, la función objetivo se
incrementaría en 150. Si se incrementa en una unidad el recurso hora-máquina1, la función
objetivo se incrementaría en 250, pero si se incrementa el recurso hora-máquina2, la función
objetivo permanecería constante ya que se trata de un recurso sobrante. Lo anterior es válido
solo dentro de cierto rango, lo que se verá más adelante. En otras palabras, lo máximo que
estaría dispuesto a pagarse adicionalmente por casa unidad extra de hora-hombre y de hora-
máquina1 (recursos escasos) sería $150 y $250 respectivamente.

1.1.2. El problema Dual Adaptado a Otros Modelos de Programación Lineal

Se va a desarrollar la forma de obtener el problema dual de cualquier modelo de


programación lineal.

Considérese, por ejemplo:

MIN Z = 3X 1 + 5X 2
Sujeto a : X1 ≤ 4
2 X 2 = 12
3 X 1+2 X 2 ≥ 18
(X1, X 2 ) ≥ 0

Para obtener el problema dual, el modelo debe llevarse a la forma dada en el modelo
generalizado (4.1). La función objetivo se multiplica por (-1) y queda entonces convertida a
una función de Maximización. Las restricciones de ≥ basta con multiplicarlas por (-1) y las
restricciones de igualdad se reemplazan por dos restricciones de desigualdad: una de ≥ y otro
de ≤. Nótese que aquí no interesa que queden valores negativos en los términos del lado
derecho (Vector b)

Así, el modelo del ejemplo anterior quedaría:


46 Introducción a la Modelación Matemática y Optimización

Maximizar U = − 3 X 1 − 5 X 2
Sujeto a :
X1 ≤4
2 X 2 ≤ 12
− 2 X 2 ≤ −12
− 3 X 1 − 2 X 2 ≤ −18
(X1, X 2 ) ≥ 0

Por lo tanto, el problema dual asociado sería:

Minimizar Z ' = 4W1 + 12(W2 − W3 ) − 18W4


Sujeto a :
W1 − 3W4 ≥ −3
2(W2 − W3 ) − 2W4 ≥ −5
(W1 ,W2 ,W3 ,W4 ) ≥ 0
Obsérvese que las variables duales W2 y W3 aparecen siempre en la forma (W2 − W3) y
por lo tanto podrían ser reemplazadas por una sola variable W= W2 − W3 no restringida en
signo.

Conclusión: La variable dual asociada a una restricción de igualdad del problema


primal, aparece en el problema dual asociado como una variable no restringida en signo.

1.1.3. Otras Propiedades del Problema Dual

Propiedad de simetría: El problema dual del dual es el problema primal original.

Principio de holgura complementaria:

a) Si una variable de holgura Si (añadida a la i-ésima restricción) del problema primal


aparece como básica en la solución óptima del problema primal, entonces la correspondiente
variable dual Wi tomará valor cero en la solución óptima del dual.

b) Si la variable de decisión Xj (no de holgura) aparece como básica en la solución


óptima del primal, entonces en la correspondiente solución óptima del dual la j-ésima
restricción dual es una igualdad estricta, o, equivalentemente, su variable dual de holgura
asociada es igual a cero.
1.2. APLICACIONES DE LA TEORÍA DE DUALIDAD

Las aplicaciones más importantes de la teoría de dualidad son:

a) Interpretación económica del problema primal (ya ilustrada).


b) Ahorro en cálculos en la solución de modelos de PL.
c) Algoritmo SIMPLEX dual.
d) Utilidad en análisis de sensibilidad.

Se ilustrará a continuación las aplicaciones (b) y (c) y, posteriormente en una sección


independiente, la (d).

1.2.1. Ahorro en Cálculos

Supóngase que se tiene que resolver el problema:

MAX Z = 4 X1 + 3X 2
Sujeto a : X1 ≤6
X2 ≤ 8
X1 + X2 ≤ 7
3 X 1 + X 2 ≤ 15
− X2 ≤1
( X1, X 2 ) ≥ 0

Obsérvese que el problema tiene dos variables de decisión y cinco restricciones. Así,
las bases serían de orden m = 5. Pero, si se plantea el problema dual asociado, tendría cinco
variables duales y dos restricciones, por lo tanto se trabajaría con bases de orden 2, lo cual es
más manejable manual y computacionalmente. Obviamente, esta aplicación adquiere mucho
más sentido en grandes problemas que se presentan en la vida real.

Ejercicio: Plantee el correspondiente problema dual asociado y resuélvalo. Muestre


que la solución óptima del dual es:

5 1 l
W1 = W2 = W5 = 0 W3 = W4 = Z mín = 25
2 2

Y que la solución óptima del primal es:

X1 = 4 X 2 = 3 Zmáx = 25

Ilustre con este ejemplo el principio de holgura complementaria.


48 Introducción a la Modelación Matemática y Optimización

1.2.2. El Algoritmo SIMPLEX Dual

El algoritmo SIMPLEX normal mantiene la factibilidad y busca la optimalidad. El


algoritmo SIMPLEX dual mantiene el criterio de optimalidad y trata de buscar la factibilidad.
Este algoritmo puede aplicarse si al comienzo del proceso se cumplen las condiciones de
OPTIMALIDAD, bajo una solución NO-FACTIBLE.

Las reglas para el algoritmo SIMPLEX dual son:

a) Se busca primero la variable candidata a salir de la base: sale de la base aquella


variable cuyo valor sea “el más negativo” (la “menos factible”).
b) Para saber cual variable entra a la base se calcula:

Zj −Cj
θ= ; y kj < 0 y se escoge el valor MINIMO (para problemas de MINIMIZACION)
y kj
Zj −Cj
θ= ; y kj < 0 y se escoge el valor MINIMO (para problemas de MAXIMIZACION)
y kj
donde k es el subíndice asociado a la variable que va a salir de la base.
c) La reducción de Gauss-Jordan es semejante a la del algoritmo SIMPLEX normal.

Ejemplo 5.1: aplicar el algoritmo SIMPLEX dual para resolver el siguiente modelo de
programación lineal:
MIN Z = 16 X 1 + 11X 2 + 15 X 3
Sujeto a : 2X1 + X 2 + X 3 ≥ 3
X 1 + 2 X 2 + 3X 3 ≥ 5
( X1, X 2 , X 3 ) ≥ 0
Obsérvese que si se fuera a resolver mediante el algoritmo SIMPLEX normal, se
necesitarían dos variables artificiales para crear la base inicial. El procedimiento mediante el
método SIMPLEX dual es como sigue:

MIN Z = 16 X 1 + 11X 2 + 15 X 3
Sujeto a : 2 X 1 + X 2 + X 3 − S1 = 3
X 1 + 2 X 2 + 3X 3 - S2 = 5
( X 1 , X 2 , X 3 , S1 , S 2 ) ≥ 0

Y ahora, multiplicando por (-1) a ambas igualdades, se obtiene:


MIN Z = 16 X 1 + 11X 2 + 15 X 3
Sujeto a : - 2 X 1 - X 2 - X 3 + S1 = -3
- X1 - 2X 2 - 3X 3 + S 2 = -5
( X 1 , X 2 , X 3 , S1 , S 2 ) ≥ 0

En este caso, los tableros correspondientes serían los siguientes:

Cj
16 11 15 0 0
Variables
CB XB X1 X2 X3 S1 S2
Básicas
S1 0 -3 -2 -1 -1 1 0
S2 0 -5 -1 -2 -3 0 1
Zj 0 0 0 0 0 0 Se satisfacen
Zj −Cj -16 -11 -15 0 0 condiciones de
16 5.5 5
θ optimalidad
S1 0 -4/3 -5/3 -1/3 0 1 -1/3
X3 15 5/3 1/3 2/3 1 0 -1/3
Zj 25 5 10 15 0 -5
Z j −Cj -11 -1 0 0 -5 Se mantiene
6.6 3 15 optimalidad
θ
X2 11 4 5 1 0 -3 1
X3 15 -1 -3 0 1 2 -1
Zj 29 10 11 15 -3 -4
Zj −Cj -6 0 0 -3 -4 Se mantiene
2 NO 4
θ optimalidad
X2 11 7/3 0 1 5/3 1/3 -2/3
Se logro la
X1 16 1/3 1 0 -1/3 -2/3 1/3
factibilidad:
Zj 31 16 11 13 -7 -2 SOLUCIÓN
Z j −Cj 0 0 -2 -7 -2 ÓPTIMA

Luego la solución óptima del problema es:

X1=1/3, X2=7/3, X3=0, S1=0, S2=0, Zmín = 31.

Nota al algoritmo SIMPLEX DUAL: el algoritmo SIMPLEX DUAL reconoce la no


factibilidad en el problema primal cuando la regla del cociente θ falla para identificar la
variable que debe entrar, o sea que el SIMPLEX DUAL asegura que el problema primal no
tiene solución factible alguna, si todos los coeficientes de la fila correspondiente a la variable
que va a salir son mayores o iguales a cero.
50 Introducción a la Modelación Matemática y Optimización

2. ANÁLISIS DE SENSIBILIDAD
Dado un problema de PL de la forma:

MAX Z = CX
Sujeto a : AX ≤ b
X≥0

pueden ocurrir variaciones en los valores de sus parámetros C, A y b.

En el análisis de sensibilidad se estudia básicamente:

a) Cambios en los coeficientes de la función objetivo (Vector C)


b) Cambios en los valores del lado derecho (Vector b)
c) Cambios en las columnas de la matriz A.
d) Adición de una nueva variable.
e) Adición de una nueva restricción.

Cuando se produce un cambio en algún valor de un parámetro de un modelo de


programación lineal puede ocurrir una de dos cosas (ó ambas, ó ninguna):
−1
- Se afecta la factibilidad, dada por: X B = B b; X B ≥ 0
- Se afecta la optimalidad, dada por: Z j − C j ≥ 0 (Maximizac ión); C B B −1 a
j
−C j ≥0

Así, los cambios en el vector b pueden afectar la factibilidad y los cambios en los
coeficientes de la función objetivo y de algunas de las columnas de la matriz A pueden afectar
la optimalidad.

Todos estos cambios presuponen que la matriz base óptima B va a permanecer sin
cambios, ya que si se afecta la base puede dañarse la factibilidad y la optimalidad
simultáneamente, y puede ser preferible volver a resolver el problema desde un comienzo.
2.1. CAMBIOS EN EL VECTOR C (Coeficientes de la
función objetivo)
2.1.1. Cambios en los Coeficientes de la Función Objetivo de una Variable
No-Básica.

En este caso los Z j no cambian pues el CB permanece constante; sólo cambian los C j .
Si C j va a cambiar a C j , entonces debe cumplirse que Z j − C j ≥ 0 (Maximización)
* *

para que la solución siga siendo óptima. Si se rompe el criterio de optimalidad, entonces se
sigue iterando con el algoritmo SIMPLEX normal a partir de ese punto.

2.1.2. Cambios en los Coeficientes de la Función Objetivo de una Variable


Básica.

En este caso, dado que cambia el vector C B , cambian los C j . Por lo tanto, éstos deben
recalcularse para investigar las condiciones de optimalidad.

Si Z j cambia a Z j , debe chequearse que Z j − C j ≥ 0 (Maximización) .2 Si el


* *

criterio de optimalidad se rompe, debe seguirse iterando con el algoritmo SIMPLEX normal.

2.2. CAMBIOS EN EL VECTOR b (Vector de recursos)


En este caso no se afecta la optimalidad, pero puede afectarse la factibilidad. Si se
verifica que la nueva solución:
X B = B −1b *
*

es mayor o igual que cero, o sea factible, entonces la composición de la solución


óptima sigue siendo la misma, aunque cambian algunos valores (ó todos). En otras palabras,
las variables básicas actuales siguen siendo básicas.

Si se da que algún componente de X B * es ≤ 0, entonces se rompe la factibilidad y debe


seguirse iterando con el algoritmo SIMPLEX DUAL hasta restablecer la factibilidad, y así
cambiaría la base óptima.

Lo enunciado anteriormente en la teoría de dualidad acerca del incremento (o


decrecimiento) de la función objetivo por cada unidad adicional (o de menos) de recurso

Z j − C j de las variables básicas se mantienen iguales a cero.


2 *
Obsérvese que los
52 Introducción a la Modelación Matemática y Optimización

(interpretación económica del problema dual), es válido en el rango para el cual la base
óptima sigue siendo la misma.

Ahora, el nuevo vector b* puede escribirse así:

b * = b + ∆b
B −1 b * = B −1 b + B −1 ∆b

[Nueva solución] = [Solución actual] + [Cambio en solución]

Esta forma de obtención de la nueva solución facilita los cálculos.

2.3. CAMBIOS EN LAS COLUMNAS DE LA MATRIZ A

Se va a estudiar el cambio de una sola columna a la vez: aj cambia por a j* .


2.3.1. Cambios en una Columna No-Básica de A

Si aj es la columna correspondiente a una variable no básica, entonces no se afecta la


factibilidad, pero puede afectarse la optimalidad. Simplemente se calcula la nueva columna:

Y j = B −1a *
*
j
Y se recalcula:

Z j = CB Yj
* *

y se chequea si ( Z j − C j ) sigue cumpliendo la condición de optimalidad. Si se cumple


*

dicha condición, la solución actual sigue siendo óptima; si no se cumple, entonces se continúa
iterando con el algoritmo SIMPLEX normal, hasta obtener las condiciones de optimalidad.

2.3.2. Cambios en una Columna Básica de A.

Si aj es la columna correspondiente a una variable básica, entonces “se daña” la base


B y su inversa B-1. En este caso, generalmente es preferible volver a empezar el problema.

2.4. INTRODUCCIÓN DE UNA NUEVA VARIABLE


Al introducir una nueva variable de decisión, se tendría:

Nueva variable: Xn+1


Coeficiente en la función objetivo: Cn+1
Nueva columna de A: an+1

Entonces se calcularía:

Yn +1 = B −1a
n +1
Z n +1 = C B Yn +1

y se chequearía si ( Z n +1 − C n+1 ) cumple con la condición de optimalidad. Si cumple, la


solución actual sigue siendo óptima; de lo contrario, esta nueva variable debe entrar a la base,
y así, debe continuarse con el algoritmo SIMPLEX normal hasta obtener de nuevo las
condiciones de optimalidad.

Obsérvese que este caso puede tratarse como si la columna original an +1 hubiera sido
de ceros y estuviera cambiando a los valores dados.

2.5. INTRODUCCIÓN DE UNA NUEVA RESTRICCIÓN


En este caso se pasa de (m) a (m+1) restricciones. Entonces puede ocurrir una de dos
cosas:

a) Si la solución óptima actual satisface la nueva restricción, entonces ésta sigue


siendo la solución óptima, ya que una nueva restricción sólo lograría eliminar algunas
soluciones básicas factibles anteriores, pero nunca adicionaría nuevas.
b) Si no se satisface la nueva restricción, entonces la presente solución NO es
factible. Por lo tanto, debería determinarse la nueva base B ( m +1)× ( m +1) y hallar su inversa
mediante Gauss–Jordan. Posteriormente se hallaría X ˆ B = B −1 ( m +1) b ( m +1) y, lógicamente, se
rompería la factibilidad. Por lo tanto, se seguiría iterando mediante el algoritmo SIMPLEX
DUAL, hasta restablecer la factibilidad.

NOTA: Si la nueva restricción es de desigualdad, entonces se añade también una


variable de holgura, la cual pasa a ser básica y se encuentra la nueva inversa de la base
mediante las operaciones de Gauss - Jordan. Si la nueva restricción es de igualdad, entonces se
hace necesaria la introducción de una variable artificial, la cual necesariamente pasaría a ser
básica. Además, se le asignaría el coeficiente “M” (con su signo respectivo) y se hace
necesario también verificar la optimalidad.

Ejemplo 5.1: Considérese el problema:


54 Introducción a la Modelación Matemática y Optimización

MAX Z = 3 X 1 + 5 X 2
Sujeto a : X 1 ≤4
2 X 2 ≤ 24
3 X 1 + 2 X 2 ≤ 18
(X1, X 2 ) ≥ 0

Cuya forma estándar es:

MAX Z = 3 X 1 + 5 X 2
Sujeto a : X 1 + S1 =4
2X 2 + S2 = 24
3X 1 + 2 X 2 + S 3 = 18
( X 1 , X 2 , S1 , S 2 , S 3 ) ≥ 0

El tablero óptimo de este problema es el siguiente (Verifíquelo):

Cj 3 5 0 0 0
Variables
CB XB X1 X2 S1 S2 S3
Básicas
S1 0 4 1 0 1 0 0
X2 5 9 3/2 1 0 0 ½
S2 0 6 -3 0 0 1 -1
Zj 45 15/2 5 0 0 5/2
Zj −Cj 9/2 0 0 0 5/2

Supóngase que se va a introducir la nueva restricción: 2 X 1 + 3 X 2 ≤ 24 , la cual no


cumple con la solución óptima actual ya que: 2(0) + (3) (9) = 27 > 24. Entonces, la forma
estándar de esta nueva restricción sería: 2 X 1 + 3 X 2 + S 4 = 24 .

Luego, el nuevo tablero, adicionando la nueva restricción y recalculando la inversa


para seguir con el SIMPLEX DUAL, es el siguiente:

Cj 3 5 0 0 0 0
Variables CB XB X1 X2 S1 S2 S3 S4 Entra como
variable básica
Básicas
S1 0 4 1 0 1 0 0 0 Obsérvese que
X2 5 9 3/2 1 0 0 ½ 0 X2 es básica,
S2 0 6 -3 0 0 1 -1 0 pero su
columna es [0 1
S4 0 24 2 3 0 0 0 1 0 3], luego,
S1 0 4 1 0 1 0 0 0 debe corregirse
X2 5 9 3/2 1 0 0 ½ 0 mediante
Gauss-Jordan
S2 0 6 -3 0 0 1 -1 0
S4 0 -3 -5/2 0 0 0 -3/2 1

Zj 45 15/2 5 0 0 5/2 0
Zj −Cj 9/2 0 0 0 5/2 0
θ 1.8 1.66
Aquí se toma el θ
S1 0 4 1 0 1 0 0 0 en valor absoluto
X2 5 8 2/3 1 0 0 0 1/3 (Maximización)
S2 0 8 -4/3 0 0 1 0 -2/3 NUEVA
S3 0 2 5/3 0 0 0 1 -2/3 SOLUCIÓN
ÓPTIMA
Zj 40 10/3 5 0 0 0 5/3
Zj −Cj 1/3 0 0 0 0 5/3

Obsérvese que el nuevo valor óptimo de la función objetivo es Z*máx = 40 < 45 (Valor
anterior), como es de esperarse al añadir una nueva restricción que vuelva al problema no-
factible.

2.6. EJEMPLO DE APLICACIÓN DE ANÁLISIS DE


SENSIBILIDAD
Una industria fabrica tres tipos de productos: A1, A2 y A3. El proceso de fabricación
exige su paso por tres talleres sucesivamente: T1, T2 y T3, los cuales tienen cierta capacidad
de trabajo. Existen limitaciones en el mercado que determinan la demanda máxima de cada
uno de los productos. La información disponible es la siguiente (los requerimientos están en
HR/UNID):

REQUERIMIENTOS Capacidad Taller


TALLER
A1 A2 A3 [ HR/AÑO ]
T1 100 500 400 12,000
T2 500 1,000 800 18,000
T3 600 - 1,000 6,000
Demanda
máxima Anual 10 8 10
Beneficio
[ $/Unidad ] 150,000 200,000 240,000

a) ¿Qué programa de producción es el óptimo?


b) Analizar las siguientes alternativas para mejorar la producción:
56 Introducción a la Modelación Matemática y Optimización

1. Incrementar la capacidad del taller T3, introduciendo una nueva máquina que
añade 6000 hr/año de capacidad con un costo de $1’020.000 anuales.
2. Una inversión en publicidad que vale $700.000 anuales y que podría cambiar las
demandas en 20, 14 y 10 respectivamente (o sea que las nuevas demandas serían
30, 22 y 20, respectivamente).
3. Una investigación que cuesta $1’200.000 al año y que permitiría disminuir el
tiempo requerido en el taller T3 para el producto A3, de 1000 a 500 hr/unidad.
4. Un esfuerzo técnico por reducir los costos, aumentando el beneficio unitario del
producto A3 en $60.000/unidad. El costo de amortización durante la vida
remanente de fabricación del producto sería de $400.000/año.

Nota: las alternativas NO son mutuamente excluyentes, o sea que podría estudiarse
combinación de ellas.

2.6.1. Planteamiento y Solución del Modelo

Sean Xi = Unidades del producto i a fabricar; i = 1, 2, 3. El modelo de PL entonces


sería:

MAX Z = 150000 X 1 + 200000 X 2 + 240000 X 3 [$ / Año]


Sujeto a : 100 X 1 + 500 X 2 + 400 X 3 ≤ 12000 [ Hr / Año] T1
500 X 1 + 1000 X 2 + 800 X 3 ≤ 18000 [ Hr / Año] T2
600 X 1 + 1000 X 3 ≤ 6000 [ Hr / Año] T 3
X1 ≤ 10 (demanda de A1)
X2 ≤ 8 (demanda de A2)
X 3 ≤ 10 (demanda de A3)
(X1, X 2 , X 3 ) ≥ 0

La forma estándar correspondiente es:

MAX Z | = 3 X 1 + 4 X 2 + 4.8 X 3 con Z = 50000 Z ′ 3

3
Se ha dividido la función objetivo Z entre 50.000 ( Z′ = Z / 50000 ) para trabajar más fácilmente.
Sujeto a : 100 X 1 + 500 X 2 + 400 X 3 + S1 = 12000
500 X 1 + 1000 X 2 + 800 X 3 + S2 = 18000
600 X 1 + 1000 X 3 + S3 = 6000
X1 + S4 = 10
X2 + S5 =8
X3 + S6 = 10
( X 1 , X 2 , X 3 ) ≥ 0; S j ≥ 0; j = 1,2,...,6

El lector debe comprobar que la solución óptima única viene expresada en el siguiente
tablero final óptimo:

Cj 3 4 4.8 0 0 0 0 0 0
Var.
CB XB X1 X2 X3 S1 S2 S3 S4 S5 S6
Básicas
S1 0 7000 0 0 0 1 0 -0.4 140 -500 0
Solución S2 0 5000 0 0 0 0 1 -0.8 -20 -1000 0
óptima
degenerada X3 4.8 0 0 0 1 0 0 0.001 -0.6 0 0
(X3=0 X1 3 10 1 0 0 0 0 0 1 0 0
y básica) X2 4 8 0 1 0 0 0 0 0 1 0
S6 0 10 0 0 0 0 0 -0.001 0.6 0 1
Zj 62 3 4 4.8 0 0 .0048 0.12 4 0
Z j −Cj 0 0 0 0 0 .0048 0.12 4 0

Solución óptima del problema dual Inversa de la base óptima ( B −1 )

Luego, la solución óptima única es:

X1=10 (producir 10 unidades/año de A1)


X2=8 (producir 8 unidades/año de A2)
X3=0 (no producir A3)
S1=7000 (sobran 7000 hr/año en T1)
S2=5000 (sobran 5000 hr/año en T2)
S3=0 (se agota la capacidad en T3)
S4=S5=0 (se produce la demanda máxima de A1 y A2)
S6=10 (dejan de producirse 10 unidades/año de A3)
Z | máx = 62 ⇒ Z máx = 62 × (50000) = $3.1 × 10 6 por año

La solución óptima del dual es la siguiente:

w1=0
w2=0
58 Introducción a la Modelación Matemática y Optimización

w3=(0.0048)(50000)=240 4
w4=(0.12)(50000)=6.000
w5=(4)(50000)=200.000
w6=0

Es importante notar que algunos solucionadotes como WinQSB pueden dar una
solución diferente a la anterior, ya que en el penúltimo tablero simplex se presenta un empate
en la regla de salida.

Conclusiones de la solución del dual:

- El tiempo en los talleres T1 y T2 sobra; por lo tanto el costo de oportunidad de


estos recursos es cero.
- Lo máximo adicional que se puede pagar en el mercado por cada hora adicional
del taller T3 es $240/hr.
- Por cada unidad potencial que se aumente la demanda de A1 y A2, se obtendrían
beneficios adicionales de $6.000 y $200.000, respectivamente.
- Aumentando la demanda potencial de A3 no se logra ningún provecho, ya que de
hecho se han dejado de producir 10 unidades de este producto.

2.6.2. Análisis de las Alternativas

1. Incrementar la capacidad T3 en 6000 hr/año con un costo de $1’020.000/año.


Este caso corresponde a un cambio en el vector b.

b = [12000 18000 6000 10 8 10]T


∆b = [0 0 6000 0 0 0]T
∆X B = B −1∆b = [− 2400 − 4800 6 0 0 − 6]T 5

Luego la nueva solución sería:



X B = X B + ∆X B = [ S1 S2 X 3 X1 X 2 S 6 ]T

X B = [4600 200 6 10 8 4]T

Obsérvese que la nueva solución sigue siendo factible y, por lo tanto, es también
óptima. Se mantienen los niveles de producción de A1 y A2 y ahora si debe producirse A3
(X3=6 unidades/año de A3).

El nuevo valor de la función objetivo es:

4
Obsérvese que la solución del problema dual debe multiplicarse también por 50.000 , al igual que el valor real
óptimo de la función objetivo.
5
Tómese B−1 del tablero óptimo de la sección anterior y compruébese este resultado.
Z = [3(10) + 4(8) + 4.8(6)] × 50000 = $4'540.000 / Año
menos el valor de recurso adicional = $1'020.000 / Año
$3'520.000 / Año

Por lo tanto, esta alternativa por sí sola es adecuada (el valor óptimo anterior era de
$3’100.000/año).

Nota: Del análisis dual se concluyó que por cada hora adicional de T3 la función
objetivo se incrementaría en $240/hr·T3. En este caso esto se cumple ya que la base óptima no
cambia, y:

$240
× 600hr·· T 3 = 1'440.000 $ / Año
hr·· T 3
+ 3'100.000 $ / Año
4'540.000 $ / Año
que era lo que se había obtenido.

Este análisis del problema dual será válido si la composición básica de la solución
óptima NO cambia, o sea si la solución permanece factible. Además, obsérvese que se está
pagando:

1'020.000 $ / Año
= $170 / hr < $240 / hr
6000 hr / Año

que es el máximo adicional que estaba dispuesto a pagarse por cada hora adicional en
T3, lo cual confirma aún más lo dicho anteriormente.

Una pregunta que podría surgir es: cuánto es lo máximo que se pueden aumentar las
hr/Año disponibles en T3 para que se siga manteniendo la factibilidad y por lo tanto la función
objetivo crezca a razón de $240/hr·T3?

Para determinar esto se realiza un análisis paramétrico. Sea:

∆b = [0 0 K 0 0 0]T ⇒ ∆X B = B −1 ∆b = [− 0.4 K − 0.8K 0.001K 0 0 − 0.001K ]T

Luego la nueva solución sería:


7000 − 0.4 K 
5000 − 0.8 K 
 
)ˆ  0.001K 
X B = X B + ∆X B =  
 10 
 8 
 
10 − 0.001K 
60 Introducción a la Modelación Matemática y Optimización

Pero, como para que se conserve la factibilidad se requiere que X B ≥ 0 , entonces:

7000 − 0.4 K ≥ 0 ⇒ K ≤ 17500


5000 − 0.8K ≥ 0 ⇒ K ≤ 6250
0.001K ≥ 0 ⇒ K ≥ 0 (Se cumple)
10 ≥ 0 (Se cumple)
8 ≥ 0 (Se cumple)
10 − 0.001K ≥ 0 ⇒ K ≤ 10000

Luego K ≤ 6250 , o sea que para mantener la factibilidad actual y la composición


básica óptima actual se requiere que el incremento positivo en hr/Año de T3 sea máximo 6250
hr.

Este análisis paramétrico lo realiza automáticamente el computador y da los límites


inferior y superior, a través de programas especializados, tales como el WinQSB,
AMPL./CPLEX, etc.

2. Inversión en publicidad: $700.000/Año. Cambio de las demandas máximas en 20,


14 y 10 unidades/año de A1, A2 y A3, respectivamente.

En este caso:

∆b = [0 0 0 20 14 10]T ⇒ ∆X B = B −1 ∆b = [− 4200 − 14400 − 12 20 14 22]T

Y la nueva solución sería:



X B = X B + ∆ X B = [ 2800 − 9400 − 12 30 22 32 ]T

Luego se rompe la factibilidad y habría que seguir iterando con el algoritmo SIMPLEX
DUAL; el lector debe comprobar que la nueva solución óptima es:

X 1 = 10 X 2 = 13 X 3 = 0 S1 = 4500 S 2 = S 3 = 0 S 4 = 20 S 5 = 9 S 6 = 20

*
Z máx = (82)(50.000) = 4'100.000 $ / Año
− Costo Publicidad = 700.000 $ / Año
$3'400.000/Año

Luego esta alternativa por sí sola es rentable.

Obsérvese que aquí NO se cumple lo previsto por la solución del dual, ya que cambia
base óptima al romperse la factibilidad. De acuerdo al dual la función objetivo debía
incrementarse en:
(6.000)(20) + (200.000)(14) + (0)(10) = 2'920.000

pero sólo se incrementó en 4’100.000-3’100.000 = 1’000.000.

3. Investigación por $1’200.000/Año para reducir los requerimientos de A3 en T3 de


1000 a 500 hr/unidad.

Este cambio corresponde a cambios en las columnas de A. Como X3 es una variable


básica óptima, esto correspondería al cambio de una columna de A correspondiente a una
variable básica, lo cual indicaría que sería mejor resolver de nuevo el modelo. Sin embargo,
como X3 es básica, pero a nivel cero (solución óptima degenerada), es posible que en el
penúltimo tablero se saque a X3 de la base (en vez de a S4). Así, un tablero óptimo alternativo
sería:

Cj 3 4 4.8 0 0 0 0 0 0
Var.
CB XB X1 X2 X3 S1 S2 S3 S4 S5 S6
Básicas
S1 0 7000 0 0 700/3 1 0 -1/6 0 -500 0
S2 0 5000 0 0 -100/3 0 1 -5/6 0 -1000 0
X1 3 10 1 0 5/3 0 0 1/600 0 0 0
S4 0 0 0 0 -5/3 0 0 -1/600 1 0 0
X2 4 8 0 1 0 0 0 0 0 1 0
S6 0 10 0 0 1 0 0 0 0 0 1
Zj 62 3 4 5 0 0 1/200 0 4 0
Z j −Cj 0 0 0.2 0 0 1/200 0 4 0

Obsérvese que es la “misma” solución óptima obtenida al comienzo, con la diferencia


de que X3 no aparece en la base óptima (ahora aparece S4 a nivel cero). Obviamente, la inversa
de la base cambia.

Ahora sí, como X3 no es básica, el cambio planteado puede hacerse así:

Z *3 = (C B B −1 ) a3* = C B Y3*
O sea:

Z *3 = [0 0 1 / 200 0 4 0]·[ 400 800 500 0 0 1]T = 5 / 2

y así, el nuevo Z *3 − C 3 = 5 / 2 − 4.8 = − 2.3 < 0 , luego se rompe la optimalidad. Por lo


tanto, debe continuarse con el algoritmo SIMPLEX normal. Para ello es necesario recalcular a
Y3* , así:
2 1 5 5
Y3* = B −1 a3* = [316 383 − 0 1]T
3 3 6 6
62 Introducción a la Modelación Matemática y Optimización

Y luego si se itera con la nueva columna. El lector debe comprobar que la nueva
solución óptima es:

X 1 = 1 23 X 2 = 8 X 3 = 10 S1 = 3833 13 S 2 = 1166 23 S 3 = 0 S 4 = 8 13 S5 = S6 = 0

*
Z máx = (85)(50.000) = 4'250.000 $ / Año
− Costo alternativa = 1'200.000 $ / Año
$3'050.000/Año

Luego la alternativa por sí sola no es rentable económicamente.

Ejercicio: verificar que la nueva solución para la cuarta alternativa es:

X1 = 0 X 2 = 8 X 3 = 6 S1 = 5600 S 2 = 5200 S 3 = 0 S 4 = 10 S 5 = 0 S 6 = 4
*
Z máx = (68)(50.000) = 3'400.000 $ / Año
− Costo alternativa = 400.000 $ / Año
$3'000.000/Año

Luego, por sí sola esta alternativa no sería adecuada. Trate el lector de verificar
combinaciones de alternativas(primero parejas, luego ternas y luego las cuatro) por
computador y llegar a la conclusión de que la mejor alternativa combinada que puede hacerse
es:

Combinar las alternativas 1 + 4, cuya solución óptima es:

X 1 = 3 13 X2 = 8 X 3 = 10
*
Z máx = 5'100.000 $ / Año
− Costo alternativa = 1'420.000 $ / Año
$3'680.000/Año

Todos los análisis de dualidad y de sensibilidad son normalmente determinados por


software comercial de una forma automática, de tal forma que el usuario pueda analizarlos
directamente. Por ejemplo, en el caso del problema de los transformadores, el software
WinQSB produce el siguiente resultado, el cual coincide obviamente con lo presentado en las
secciones anteriores:
Combined Report for transformadores análisis de sensibilidad

Decision Solution Unit Cost Total Reduced Basis Allowable Allowable


Variable Value Profit c(j) Contribution Cost Status Min. c(j) Max.c(j)

1 TR40VA 350.0 400.0 140,000.0 0 basic 385.7143 500.0000


2 TR75VA 450.0 700.0 315,000.0 0 basic 684.4445 933.3333
3 TR3 0 900.0 0 -12.5 at bound -M 912.5000

Objective Function (Max.) = 455,000.0

Left Hand Right Hand Slack Shadow Allowable Allowable


Constraint Side Dir. Side (Surplus) Price Min. RHS Max. RHS

1 HR_HOMBRE 1,400.0 <= 1,400.0 0 150.0 1,166.667 1,633.333


2 HR_MAQ1 980.0 <= 980.0 0 250.0 840.0 1,050.000
3 HR_MAQ2 800.0 <= 900.0 100.0 0 800.0 M

El Anexo 1 presenta la formulación y solución de un caso completo de optimización en


el área de cadenas de abastecimiento, ilustrando los resultados presentados por el software
WinQSB y también por software más avanzado útil en casos reales, como es AMPL/CPLEX.

El Anexo 2 contiene fotocopias de capítulos seleccionados sobre el problema del


transporte y una introducción a la teoría de redes.

El tema siguiente, el método simplex revisado puede obviarse inicialmente y retomarse


si se desea profundizar en algunos aspectos de la programación lineal.

You might also like