el problema dual y el método dual simplex
TRANSCRIPT
El problema Dual y el Método Dual Simplex
Introducción: Asociado a cualquier Programa o Problema Lineal (P.P) (Programa Principal), existe un problema que se encuentra estrechamente relacionado llamado PROGRAMA o PROBLEMA DUAL (P.D). La relación entre el problema principal y el problema dual es de tal grado que la solución óptima simplex de cualquiera de los problemas conduce inmediatamente a la solución óptima del otro. Cada problema principal (P.P) de programación lineal tiene su correspondiente problema dual con las siguientes características muy interesantes:
1. En problemas de un gran número de restricciones, resolver el problema dual es más eficiente que resolver el problema principal.
2. En algunas ocasiones resulta más sencilla la resolución del problema dual que la del problema principal, en términos de menor número de iteraciones.
3. Los valores óptimos de las variables del dual, proporcionan una interpretación económica interesante del problema principal.
4. Algunas veces se puede evitar el uso de las variables artificiales, mediante la aplicación del método de solución Dual – Simplex, sobre el problema dual.
5. Facilita el estudio del impacto sobre la optimalidad por cambios en el problema original.
Toda formulación de un problema de programación lineal se puede expresar de la forma estándar utilizando variables de holgura o superfluas.
El Problema Dual
Si se tiene un problema principal de programación lineal, existe otro problema, el Dual, que se expresa como:
Problema Principal Problema Dual
Existe otro problema el Dual 0≥≤
=
XbAXa/sXCZ.Max T
0≥≥
=
YCYAa/s
YbZ.MinT
T
En donde: ( )
⎟⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
=
mnmj2m1m
inij2i1i
n2j22221
n1j11211
m
i
2
1
n
j
2
1
nj21
a.....a.....aa.........................................
a.....a.....aa.........................................
a.....a.....aa
a......a.....aa
A;
b.
b.
bb
b;
x.
x.xx
X
c,......,c,......,c,cCProblema Principal.
1
Problema Dual.
( )
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
=
mninnn
mjijjj
mi
mi
T
n
j
m
i
miT
a.....a.....aa.........................................
a.....a.....aa.........................................
a.....a.....aaa.....a.....aa
A;
c.
c.
cc
C;
y.y.yy
Y
b,.....,b,.....,b,bb
21
21
222212
112111
2
1
2
1
21
Los siguientes ejemplos ilustran como un problema principal se transforma en un problema dual:
Ejemplo 1.
Problema Principal Problema Dual
2,1j,0x15x2x37x2xa/s
x3x4Z.Máx
j
21
21
21
=≥≤+≤+
+=
2,1j,0y3y2y24y3ya/sy15y7Z.Min
j
21
21
21
=≥≥+≥+
+=
Se puede observar que cada restricción del Problema Principal, está representado por una variable en el Problema Dual.
Ejemplo 2.
Problema Principal Problema Dual
( )
( )( )( )( )
2,1j,0xy1xy5xxy6xy4xa/s
x2x3Z.Máx
j
42
321
22
11
2x
=≥−≤−≤+≤≤
−=
( )
4,3,2,1j,0y2yyy
3yya/s
yy5y6y4Z.Min
j
432
31
4321y
=≥−≥−+
≥+
−++=
Como el Problema Principal tiene cuatro restricciones entonces el Problema Dual tendrá cuatro variables. Los recursos del Problema Principal, pasan a ser los coeficientes de la función objetivo del Problema Dual.
2
Entre el Problema Principal y el Problema Dual, se verifican las siguientes relaciones.
1. El Dual del Dual tiene como resultado el Problema Principal.
2. Una restricción expresada como una igualdad en el P.P, genera una variable no restringida (sin restricción de signo) en el P.D.
3. Una variable no restringida (sin restricción de signo) del P.P, genera una restricción de igualdad en P.D.
4. El número de restricciones en el P.P, es igual al número de variables en el P.D.
5. El número de variables del P.P, es igual al número de restricciones en el P.D.
Ejemplo 3.
Problema Principal Problema Dual
( )
( )(( )
4,3,2,1j,0xy5xxy1xxy5x3x2xxa/s
x4x2x8x3Z.Máx
j
343
221
14321
432x
=≥≥−−=−≤+++
−++=
)
( )
0y.restringnoy;0y4yy3
2yy28yy3yya/s
y5yy5Z.Min
321
31
31
21
21
321y
≤≥−≥−
≥+≥−≥+
+−=
Teoremas concernientes a estructuras primarias y sus duales asociados
Sean el siguiente programa principal (PP) y su correspondiente programa dual (PD):
0XbAXa/sXCZ.Max
P.PT
≥≤
=
0≥≥
=
YCYAa/s
YbG.MinD.P
T
T
Teorema 1
Si X y Y son soluciones factibles del P.P y del P.D respectivamente entonces, el valor de la función objetivo del P.P es siempre menor o igual que el valor de la función objetivo P.D.
GYbXCZ TT =≤=
Demostración:
Como X es factible en P.P cumple con bXA ≤ y 0X ≥ de la misma manera, como Y es
3
factible también cumple con CYAT ≥ y 0Y ≥ . Pre multiplicando bXA ≤ por 0Y ≥ y a CYAT ≥ por 0X ≥ entonces se tiene:
teorema. del óndemostraci ;
:que queda cual lo con
GYbXAYXCZ
ZXCYAXCXYAX
GYbYAXbYXAY
TTT
TTTTTT
TTTTT
=≤≤=
=≥⇒≥
=≤⇒≤
Teorema 2 (Teorema de la dualidad)
Dado un P.P y su correspondiente P.D, únicamente uno y sólo uno de los siguientes tres casos puede ocurrir.
a) Ambos problemas tienen soluciones óptimas y sus funciones objetivo óptimas son iguales. Si *X es la solución óptima de P.P y *Y es la solución de P.D entonces: *= *T*T* GYbXCZ ==
b) Si el P.P no tiene solución factible y el P.D tiene al menos una, entonces el dual tiene una solución óptima no acotada y viceversa, si el problema dual no tiene soluciones factibles y el primario tiene al menos una, entonces, el primario tiene una solución óptima no acotada.
c) Ambos problemas, el P.P y el P.D, no tienen solución.
Teorema 3
La formulación dual de un problema dual genera la representación del problema principal.
Demostración:
Sea el P.P
0x....;;.........0x;0xbxa..............xaxa
....................................................bxa..............xaxabxa..............xaxaa/s
xc............xcxcZ.Max
n21
mnmn22m11m
2nn2222121
1nn1212111
nn2211
≥≥≥≤+++
≤+++≤+++
+++=
Su correspondiente dual es:
P.D
0y....;;.........0y;0ycya..............yaya
....................................................cya..............yayacya..............yayaa/s
yb............ybybG.Min
m21
nmmn2n21n1
2m2m222112
1m1m221111
mm2211
≥≥≥≥+++
≥+++≥+++
+++=
4
Una forma equivalente del dual es:
0y....;;.........0y;0ycya..............yaya
....................................................cya..............yayacya..............yayaa/s
yb............ybybG.Max
m21
nmmn2n21n1
2m2m222112
1m1m221111
mm2211
≥≥≥−≤−−−
−≤−−−−≤−−−−
−−−−=−
-
-
la formulación dual de esta última estructura dual es:
0x....;;.........0x;0xbxa..............xaxa
....................................................bxa..............xaxabxa..............xaxaa/s
xc............xcxcZ.Min
n21
mnmn22m11m
2nn2222121
1nn1212111
nn2211
≥≥≥−≥−−−
−≥−−−−≥−−−−
−−−−=−
-
-
Esta estructura, dual del dual, es equivalente al problema principal.
Teorema 4
Dado un problema principal y su correspondiente dual:
0XbAXa/sXCZ.Max
P.PT
≥≥
=
0YCYAa/s
XbG.Min
D.P
T
T
≥≤
=
La condición necesaria y suficiente para que X y Y sean soluciones óptimas del P.P y del P.D respectivamente, es que:
y ( )( ) 0YACX
0bXAYTT
T
=−
=−
Demostración: Como X es factible en P.P y Y es factible en P.D, se tiene:
0Y
CYAT
≥
≤ También:
0X
bXA
≥
≥ lo que es lo mismo: 0bXA ≥− y 0YAC T ≥−
5
Multiplicando la primera desigualdad por 0YT≥ y la segunda por 0X
T≥ , no se afecta el
sentido y se obtiene:
( )( ) 0YACX
0bXAYTT
T
≥−=
≥−=
β
αsumando miembro a miembro se obtiene:
( ) ( )
0YbXC0XAYXCYbXAY
0YAXCXbYXAY0YACXbXAYTTTTTT
TTTTTTTT
≥−=≥−+−=
≥−+−=≥−+−=+ βα
En definitiva se tiene. GYbXCZ TT =≥= por el teorema 1 es, GYbXCZ TT =≤= . Estas desigualdades de sentidos opuestos se las puede expresar como una igualdad, es decir:
GYbXCZ TT =≥= ; GYbXCZ TT =≤= ⇒ GYbXCZ TT === en consecuencia:
0YbXC TT =−=+ βα como se ha supuesto que 00 ≥∧≥ βα entonces 00 =∧= βα
Este teorema se conoce con el nombre de “Teorema de holgura complementaria débil”.
EL MÉTODO DUAL SIMPLEX
Una vez formulado el problema dual a partir del problema principal, se debe encontrar la solución. En este caso el método a emplear será el denominado Método Dual-Simplex. Este método empieza con una solución óptima o mejor que óptima donde (Zj – Cj > 0 ; ∀j ), pero no factible dado que algunos bi son < 0, y se mueve hacia la solución final mediante iteraciones que mejoran su factibilidad conservando su optimalidad. Puede advertirse que es contrario al método Simplex, el cual empieza con una solución factible pero no óptima y mediante iteraciones se mejora la optimalidad, conservando la factibilidad. El método Dual permite resolver problemas que no tienen una solución básica inicial sin utilizar variables artificiales. Esto se ilustra gráficamente mediante la siguiente esquema:
Método Simplex Solución Óptima Método Dual Simplex Solución Factible y Factible Solución NO Factible NO Óptima Pero Óptima Método Simplex Método Dual Simplex Mejora su Optimalidad Mejora su Factibilidad Conservando su Factibilidad Conservando su Optimalidad
En la mayoría de los problemas de programación lineal, el Dual se define para varias formas del Primal, dependiendo del tipo de restricciones, de los signos de las variables y del sentido
6
de la optimización. En muchos casos, los detalles de estas distintas formas de presentar el Primal, generan confusión y pueden conducir a interpretaciones inconsistentes de los datos del tablón simplex, sobre todo en los que respecta a los signos de las variables duales. En este caso se presenta una única forma del problema Dual que incluye a todas las formas del Primal. Esto es posible si se tiene en cuenta que el problema de P.L debe presentarse en la forma estándar antes de resolverlo mediante el método simplex primal o simplex dual.
La forma estándar general del problema primal se expresa como:
n,.....,2,1j0x
m,.....,2,1ibxaa/s
xcZ.Opt
j
i
n
1jjij
jj
=∀≥
=∀=
=
∑=
Se debe tener en cuenta que en la forma estándar las “n” variables incluyen las variables de holgura y las superfluas.
1.- Para toda restricción del primal hay una variable dual.
2.- Para toda variable del primal hay una restricción dual.
3.- Los coeficientes de las restricciones de una variable primal, forman los coeficientes del primer miembro de la restricción dual correspondiente; y el coeficiente de la función objetivo de la misma variable se convierte en el segundo miembro de la restricción dual.
El esquema de abajo muestra como se puede obtener el dual simétrico del primal, de acuerdo a las siguientes reglas.
Variables primales x1 x2 .......... xj .......... xn c1 c2 .......... cj .......... cn Segundo miembro de restricciones duales a11 a12 ........ a1j ......... a1n b1 y1 Coeficientes a21 a22 ........ a2j ......... a2n b2 y2 del primer ........................................... ... ... Variable dual miembro de las ai1 ai2 ......... aij ......... ain bi yj restricciones ........................................... ... ... duales am1 am2 ....... amj ......... amn bm ym j-ésima Función objetivo dual restricción dual
La siguiente tabla, muestra en forma resumida, la determinación del sentido de la optimización, el tipo de restricciones y el signo de las variables duales, para los casos de maximización y minimización de la forma estándar.
7
La forma primal estándar exige que todas las restricciones sean ecuaciones, con segundo miembro positivo si se usa el método simplex primal para resolver el problema primal, y que todas las variables sean no negativas.
Dual Función objetivo
estándar del primal Función objetivo Restricciones Variables
Maximización Minimización ≥ Irrestrictas
Minimización Maximización ≤ Irrestrictas
Todas las restricciones del primal deben ser ecuaciones y todas las variables son ≥ 0.
Ejemplo 1.-
0x0x8x3xx28x3xx2
10xxx2x10xx2xa/sx4x12x5Z.MáxestándarimalPrx4x12x5Z.Máx.imalPr
jj
321321
4321321
321321
≥≥=+−=+−
=+++≤++++=++=
0y0y
4y3y12yy2
5y2ya/sy8y10Z.Min.Dual
j
1
21
21
21
21
≥≥
≥+≥−≥+
+=
Ejemplo 2.-
0x5x3x25.1xxa/s
x12x15Z.MinimalPr
j
21
21
21
≥≤+
≥++=
Este problema se puede resolver aplicando el método simplex primal utilizando variables de holgura y una variable artificial, o bien utilizando el método simplex dual. Se consideran ambos casos.
Modelo estándar cuando se utiliza el simplex primal para resolver el primal.
8
0x5xx3x2
5.1xxxa/sx12x15Z.Min.imalPr
j
421
321
21
≥=++=−+
+=
Su correspondiente dual es:
0y0y
12y3y15y2ya/s
y5y5.1Z.Max.Dual
2
1
21
21
21
≤≤−≤+≤++=
Modelo estándar cuando se utiliza el simplex dual para resolver el primal.
0x5xx3x2
5.1xxxa/sx12x15Z.Min.imalPr
j
421
321
21
≥=++−=+−−+=
Su correspondiente dual es:
0y0y12y3y15y2ya/s
y5y5.1Z.Max.Dual
2
1
21
21
21
≤≤≤+≤+−+−=
-
Se observa que los dos duales son consistentes, ya que los coeficientes de y1 en un dual, tienen el signo opuesto en los mismos coeficientes en el otro dual. En consecuencia los resultados en el tablón simplex son directamente dependientes de la manera de cómo se define la forma estándar antes de que se aplique el método simplex primal o dual. Este detalle puede pasarse por alto cuando se utilizan definiciones generales dadas en otros procedimientos de programación lineal. Surge como consecuencias que cuando se quiera resolver el problema primal mediante el simplex dual, las variables de holgura o superfluas en el primal deben hacerse positivas antes de formular el programa dual.
Solución Óptima del Dual
La solución óptima del problema dual puede obtenerse directamente a partir del tablón de solución óptima del problema primal.
Supóngase un problema primal en forma estándar.
0XbAXa/s
XCZ.Máx T
≥=
=
Como se sabe, la matriz de coeficientes tecnológicos A ampliada, se puede particionar en una base B y el complemento N, de la forma:
A = (B⏐N) En consecuencia el problema primario puede escribirse como.
0X0XbNXBXa/s
XCXCZ.Máx
NB
NB
NTNB
TB
=∧≥=++=
9
Como se sabe, la solución de este problema consiste en hacer cero el vector XN, y calcular el vector básico XB en función de la base B, o sea, XB = B-1b en consecuencia la función objetivo se transforma en:
Z =CBT.B-1b de igual manera la función objetivo dual puede escribirse como: G =bTY = YTb.
La condición de optimalidad impone que el valor de la función objetivo del problema primal sea igual al valor de la función objetivo del dual, es decir:
bYbBC T**T*B =−1 de donde se concluye que . es la inversa de la base
óptima y , es el vector de los precios unitarios correspondientes al vector básico óptimo
T**T*B YBC =−1 1−*B
*B T*BC
( )bBXX **B
*B
1−= y es el vector dual óptimo. *Y
La estructura inicial de un programa de programación lineal al aplicar el método simplex es:
Z Variables originales Variables de holgura
1 - C 0 0
0 A I b
En cada iteración la estructura se convierte en :
Z
zj - cj
Correspondientes a las Variables originales
zj - cj
Correspondientes a las Variables de holgura
1 cABC TB −−1 1−BC T
B bBC TB
1−
0 AB 1− 1−B bB 1−
De manera que cuando se alcanza la solución óptima en el tablón del primal, la solución óptima del problema dual queda implícitamente determinada por los valores correspondientes a la casilla de , es decir, por los coeficientes correspondientes a las variables de holgura. Esto se muestra en el ejemplo de la página siguiente en el que se aplican simultáneamente ambos métodos.
1−BC TB
La Maximización en el Método Dual Simplex.
Se presenta el Método Dual Simplex para problemas de maximización. Los problemas de minimización se pueden resolver igualmente aplicando reglas de equivalencia tal como: Mín.(Z) = Máx.(-Z).
En la maximización mediante el método Dual Simplex, se requiere que la función objetivo del dual se exprese en forma de maximización. Para reemplazar un vector de la base o solución
10
básica, se procede de manera inversa al Método Simplex. Por ejemplo para definir que vector ar de B, debe abandonar la solución básica, se elige aquel xBi más negativo, lo cual implica una solución NO factible, de esta manera primero se ha definido la fila clave. Para
definir que vector aj ∈ N debe entrar en la nueva base , se selecciona aquel (zj – cj)/arj que sea el menos negativo, es decir: (zk – ck)/ark = Máx. (zj – cj)/arj ∀j = 1, 2, .. , n. Siendo arj < 0. Esto se resume en los siguientes pasos.
∧
B
Condición de Factibilidad: la variable saliente es la variable básica con el valor más negativo (se rompe el empate arbitrariamente). Si todas las variables básicas son no negativas, el proceso termina.
Condición de Optimalidad: la variable entrante es la variable no básica asociada con la razón más pequeña, si se trata de una minimización, o con el valor absoluto más pequeños de las razones, si se trata de una maximización. Las razones se determinan dividiendo los coeficientes del primer miembro del funcional Z, entre los correspondientes coeficientes negativos en la ecuación asociada a la variable saliente. Si todos los denominadores son ceros o positivos, no existe solución factible.
Para una mejor comprensión, se resolverá un ejemplo aplicando los dos métodos, el Método Simplex y el Método Dual Simplex, de manera de establecer la relación entre los dos métodos en la sucesivas iteraciones.
Problema Principal Problema Dual
( )
0x;18x2x36x4xa/s
x5x3Z.Máx
j21
2
1
21x
≥≤+≤≤
+=
( )
0y5y2y3y3ya/s
y18y6y3Z.Mín
j
32
31
321y
≥≥+≥+
++=
El problema principal y el dual estandarizados quedan:
( )
0x;18xx2x36xx4xxa/s
x5x3Z.Máx
j521
42
31
21x
≥=++=+=+
+=
( )
0y5yy2y
3yy3ya/s
y18y6y4Z.Min
j
532
431
321y
≥=−+=−+
++=
En la transformación del dual los coeficientes de las variables de holgura deben ser positivos e iguales a +1 para formar una matriz identidad de orden mxm. Para lograr esto, se multiplica la primera y segunda restricción por –1, con lo cual el programa del dual queda:
( )
0y5yy2y
3yy3ya/s
y18y6y4Z.Min
j
532
431
321y
≥−=+−−−=+−−
++=
( )
0y5yy2y
3yy3ya/s
y18y6y4Z.Máx
j
532
431
321y
≥−=+−−−=+−−
−−−=−
11
Se observa que la solución básica inicial para esta situación es infactible ya que el vector solución tiene componentes negativas y4 = -3 y y5 = -5, pero también resulta ser mejor que óptima porque el valor asociado a la función objetivo Z = 0 con y1=y2=y3=0.
Z x1 x2 x3 x4 x5 Z0 Z y1 y2 y3 y4 y5
1 -3 -5 0 0 0 0 -1 4 6 18 0 0 0
a3 0 1 0 1 0 0 4 a4 0 -1 0 -3 1 0 -3
a4 0 0 1 0 1 0 6 a5 0 0 -1 -2 0 1 -5
a5 0 3 2 0 0 1 18
y4 y5 y1 y2 y3 x3 x4 x5 x1 x2
x1 = 0; x2 = 0; x3 = 4 ; y1 = 0; y2 = 0; y3 = 0 y1 = 0; y2 = 0; y3 = 0 ; x1 = 0; x2 = 0; x3 = 4 x4 = 6; x5 =18; Z(x) = 0 y4 = -3; y5 =-5; Z(y) = 0 y4 =-3; y5 =-5; Z(y) = 0 ; x4 =6; x5 =18; Z(x)=0
Primera iteración:
Z x1 x2 x3 x4 x5 Z0 Z y1 y2 y3 y4 y5
1 -3 0 0 5 0 30 -1 4 0 6 0 6 -30
a3 0 1 0 1 0 0 4 a4 0 -1 0 -3 1 0 -3
a2 0 0 1 0 1 0 6 a2 0 0 1 2 0 -1 5
a5 0 3 0 0 -2 1 6
y4 y5 y1 y2 y3 x3 x4 x5 x1 x2
x1 = 0; x2 = 6; x3 = 4 ; y1 = 0; y2 = 5; y3 = 0 y1 = 0; y2 = 5; y3 = 0 ; x1 = 0; x2 = 6; x3 = 4 x4 = 0; x5 =6; Z(x) = 30 ; y4 = -3; y5 =0; Z(y) =30 y4 =-3; y5 =0; Z(y) =30 ; x4 =0; x5 =6; Z(x)=30
Segunda iteración:
Z x1 x2 x3 x4 x5 Z0 Z y1 y2 y3 y4 y5
1 0 0 0 3 1 36 -1 2 0 0 2 6 -36
a3 0 0 0 1 2/3 -1/3 2 a3 0 1/3 0 1 -1/3 0 1
a2 0 0 1 0 1 0 6 a2 0 -2/3 1 0 2/3 -1 3
a1 0 1 0 0 -2/3 1/3 2
y4 y5 y1 y2 y3 x3 x4 x5 x1 x2
x1 = 2; x2 = 6; x3 = 2 ; y1 = 0; y2 = 3; y3 = 1 y1 = 0; y2 = 3; y3 = 1 ; x1 = 2; x2 = 6; x3 = 2 x4 = 0; x5 =0; Z(x) =36; y4 = 0; y5 =0; Z(y) =36 y4 =0; y5 =0; Z(y) =-36 ; x4 =0; x5 =0; Z(x)=-36
12
Solución Primal Solución Dual
x1= 2; x2= 6; x3= 2; x4= 0; x5= 0 y1 = 0; y2 = 3; y3 = 1; y4 = 0; y5 = 0
Zx = 36 -Zy = - 36 ⇒ Zy = 36
Observe que en el Dual Simplex se hizo uso de la regla de equivalencia, multiplicando la función objetiva por (-1), y al final, nuevamente se multiplicó el valor de Z por (-1).
En cada iteración del Método Simplex se muestra que:
1. Los Zj – Cj de las variables de holgura x3, x4, x5 (z3 – c3, z4 – c4, z5 – c5) son los valores de las variables reales del Dual (y1, y2, y3).
2. Los Zj – Cj de las variables reales x1, x2, (z1 – c1, z2 – c2) son los valores de las variables de holgura del Dual (y4 , y5).
En cada iteración del Método Dual Simplex se muestra que:
1. Los Zj – Cj de las variables de holgura y4 , y5 (z4 – c4, z5 – c5) son los valores de las variables reales del problema principal (x1, x2).
2. Los Zj – Cj de las variables reales y1, y2, y3 (z1 – c1, z2 – c2, z3 – c3) son los valores de las variables de holgura del problema principal (x3, x4, x5).
Interpretaciones económicas de las variables duales
Se ha demostrado que , es decir que el vector de solución óptimo del dual es igual al vector de los coeficientes de costos o precios unitarios, multiplicado por que es la inversa de la base óptima . Multiplicando ambos miembros de por , se tiene:
T**T*B YBC =−1
1−*B*B T**T*
B YBC =−1 *B
*T*T*B
*T***T*B BYCBYBBC =⇒=−1 . Como está compuesta por “m” vectores columnas de A, cada una de las componentes del vector , puede expresarse como:
donde el vector Y es el vector de las variables duales. Esta última
igualdad es equivalente a .
*B
ja *Bc T*
BC
BjaYc jT*
Bi ∈=
j*T*
BjT*
j aBCaYz 1−==
Si el vector de recursos "b" se incrementa en una cantidad pequeña de manera que la base actual óptima no cambie, la nueva solución , seguirá siendo válida si todas sus componentes son positivas, es decir:
bΔ*B BX
( ) 01 ≥Δ+= − bbBX *B . Como la base no ha cambiado
tampoco ha cambiado su inversa en consecuencia , sigue igual.
*B1−*B AjcaBCcz jj
*T*Bjj ∈∀−=− −1
13
Sin embargo, la función objetivo del dual si ha cambiado, siendo ahora:
( ) bYZbYGbYbYbbYG T*T*T*T*T** Δ+=Δ+=Δ+=Δ+=
En este caso G , es el valor óptimo del dual inicial. La última igualdad indica que un pequeño incremento en el vector de recursos ha cambiado el valor óptimo de la función objetivo dual y por lo tanto, el valor de la función objetivo primal. Este cambio está dado por . Si el cambio en el vector
bY T* Δ"b" es unitario, la función objetivo cambiará en *Y unidades, es decir que
si la componente (i = 1,2, ... ,m) del vector ib "b" sufre un cambio unitario, la función objetivo del dual sufrirá un cambio de (i-ava componente del vector dual, i=1,2,...,m) unidades. Esto se
puede escribir como:
iy
ii b
Zy∂∂
=
Supóngase en siguiente ejemplo:
(P.P) Su correspondiente dual es (P.D)
( )
010241832
34
21
21
21
≥
≤+≤+
+=
j
x
xxxxxa/s
xxZ.Máx ( )
0323442
1018
21
21
21
≥
≥+≥+
+=
j
y
yyyyya/s
yyZ.Mín
Resolviendo el problema primal, se tiene:
Z x1 x2 x3 x4 Z0
1 - 4 - 3 0 3 0
a3 0 2 3 1 0 18
a4 0 4 2 0 1 10
1 0 - 1 0 1 10
a3 0 0 2 1 -1/2 13
a1 0 1 1/2 0 1/4 5/2
1 2 0 0 3/2 15
a3 0 - 4 0 1 -3/2 3
a2 0 2 1 0 1/2 5
La solución óptima del primal es 15=Z con:
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
0053
4
1
2
3
xxxx
XX
XN
B* . La solución óptima del dual es.
( )
230
230
442
331
21
=−=
=−=
⎟⎠⎞
⎜⎝⎛==
czy
czy
,y,yY
*
*
***
14
Las componentes del vector *Y verifican las restricciones del problema dual y dan el mismo valor de la función objetivo que el problema primal.
O sea. Z**yyG ==+=+= 1523100181018 21
Si en el problema que se está analizando los recursos correspondientes a la segunda restricción,” ” se incrementan en una unidad, o sea que de 10 unidades pasan a 11 unidades (cambio unitario), el nuevo valor de la función objetivo será:
2b
5162315
10
23015 ,*,bYZZ T** =+=⎟⎟
⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛+=Δ+=
De igual manera, si dichos recursos se disminuyen en una unidad, es decir pasan de 10 a 9, el nuevo valor de Z* será igual a:
5132315
10
23015 ,*,bYZZ T** =−=⎟⎟
⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛−=Δ+=
Se puede advertir que un cambio en los recursos correspondientes a la primera restricción, no producen ningún efecto en la función objetivo debido a que . 01 =y
Se destaca que esta interpretación económica de las variables duales, es válida únicamente para cambios unitarios en el vector "b" . Los cambios que no son unitarios se analizan bajo el nombre de Análisis de Sensibilidad.
Análisis de Sensibilidad
Una vez resuelto un problema de programación lineal, puede ocurrir que uno o más parámetros del problema original cambien, por ejemplo pueden cambiar los coeficientes de costos de la función objetivo, o la cantidad de recurso disponibles, etc, dando origen a un nuevo problema. En este caso cabe la pregunta, ¿es necesario resolver el problema desde el principio?. La respuesta es no. El Análisis de Sensibilidad, reduciendo el número de iteraciones, permite resolver el nuevo problema a partir de la solución óptima del problema original, economizando tiempo y costos de utilización de computadora.
El nuevo problema puede diferir del original en uno o varios de los siguientes cambios que pueden ocurrir simultáneamente.
a) Cambios en el vector "b" , es decir en la disponibilidad de recursos.
b) Cambios en el vector "C" , es decir en los coeficientes de costos o beneficios.
c) Cambios en los coeficientes tecnológicos "a" ij de la matriz A .
15
d) Cambios en el vector X , es decir en el número de actividades, cuyo nivel debe decidirse.
e) Cambios en el número de restricciones del problema lineal a optimizar.
Los tres primeros cambios, a); b); c), pueden ocurrir en forma discreta o continua, no así los correspondientes a los puntos d) y e) que solamente pueden cambiar discretamente.
Los cambios discretos en los vectores "b" , "C" y en los coeficientes "a" ij de la matriz A , significa que una o varias componentes originales de dichos vectores o matriz, son reemplazados por nuevas cantidades. En cambio que los cambios continuos de estos vectores o matriz, están descriptos por:
+∞<γ<∞−∈Δγ++∞<α<∞−Δα++∞<θ<∞−Δθ+
;Njaa;CC;bb
jj
En donde son vectores con las mismas dimensiones de sus respectivos, , en cambio que , son escalares que pueden tomar cualquier valor real. El
análisis de sensibilidad que estudia los cambios continuos, recibe el nombre de programación paramétrica.
ja;C;b ΔΔΔ
jayC,b γαθ y;
Análisis de Sensibilidad para cambios discretos.
La estructura inicial del tablón de cualquier programa lineal estandarizado es:
Variables originales Variables de holguraZ
x1 x2 ............. xn xn+1 xn+2 .......... xn+m
1 - C 0 0
0 A I b
La estructura del tablón óptimo es:
Z z1-c1 z2-c2 .......... zn-cn zn+1-cn+1 zn+2-cn+2 .......... zn+m-cn+m B
TB XCZ =
1 cABC TB −−1 1−BC T
B bBC TB
1−
0 AB 1− 1−B bB 1−
a) Cambio del vector “b”
Suponiendo que el problema original (P.O) cuya solución óptima se ha obtenido es:
16
0≥≤=
XbAXa/s
XCZ.Máx T
Se cambia en forma discreta el vector , cuyo nuevo valor pasa a ser b bb Δ+ , siendo bΔ , como se dijo, un vector de "m" componentes. El nuevo problema a resolver es ahora.
0≥Δ+≤
=
XbbAXa/s
XCZ.Máx T
Para este tipo de cambios, el análisis de sensibilidad toma como punto de partida, la solución óptima del problema original (P.O). Si es la matriz inversa de la base óptima asociada al (P.O), entonces la solución óptima del (P.O) es:
1−B
BTBB XCZbBX =∧≥= − 01
Al cambiar b a , el vector solución cambia a un nuevo vector dado por: bb Δ+ BX B
^X
( bbBX B
^Δ+= −1 ) . Si se cumple la condición de que , entonces será
la solución óptima del nuevo problema (P.N). Si no se cumple esta condición, es decir
, entonces se debe restaurar la factibilidad y consecuentemente la optimalidad del (P.N), usando el dual simplex. El dual simplex debe aplicarse al tablón óptimo del (P.O)
cambiando el vector por .
( ) 01 ≥Δ+= − bbBX B
^
B
^X
0<B
^X
BX B
^X
Para una mejor comprensión se analiza el siguiente ejemplo.
Supóngase que el problema original (P.O) consiste en optimizar los volúmenes de producción de un producto químico A que se vende a razón de 5$/l y otro producto B que se vende a razón de 3$/l. Las restricciones están relacionadas con personal y costos de producción. La elaboración del producto A requiere de 3 empleados con un costo de 5$/h, en cambio que la elaboración del producto B requiere de 5 empleados con un costo de 2$/h. Las cantidades totales de recursos disponibles es de 15 empleados y de 10$/h de trabajo. Se pide determinar cuales son las cantidades óptimas de cada producto de manera de obtener la máxima rentabilidad.
Llamándole x1 al producto A y x2 al producto B, el modelo matemático para el problema es:
17
(P.O)
010251553
35
21
21
21
≥≤+
≤++=
jxxxxxa/s
xxZ.Máx
El tablón inicial simplex es:
Z x1 x2 x3 x4
1 - 5 - 3 0 0 0
a3 0 3 5 1 0 15
a4 0 5 2 0 1 10
Luego de dos iteraciones el tablón óptimo queda:
Z x1 x2 x3 x4
1 0 0 5/19 16/19 235/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
La solución es:
⎥⎦
⎤⎢⎣
⎡−
−==
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛= −
195192193195
19235
00
19201945
1
4
3
1
2
////
B;Z;//
xxxx
XXX
N
B
Supóngase que por alguna razón se modifica la disponibilidad de recursos reduciéndose a 5 empleados con un costo de 5$/h. Es decir que ahora el vector de recursos es:
⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛−−
+⎟⎟⎠
⎞⎜⎜⎝
⎛=Δ+
55
510
1015
bb El nuevo problema a resolver será:
(P.N)
0525553
35
21
21
21
≥≤+
≤++=
jxxxxxa/s
xxZ.Máx
Como ya se dijo, en este caso no es necesario resolver el problema íntegramente, sino que el análisis de sensibilidad permite analizar si el nuevo vector solución: ( )bbBX B Δ+= −1 es factible, es decir cumple la condición de no negatividad. Si cumple esta condición, entonces dicho vector es solución del nuevo problema (P.N). Si no se verifica la factibilidad del vector solución, entonces hay que restablecer su factibilidad utilizando el dual simplex a partir del
18
tablón óptimo del (P.O). Para el presente ejemplo se tiene:
( ) ⎥⎦
⎤⎢⎣
⎡≥⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−=Δ+= −
00
19151910
55
1951921931951
//
.////
bbBX B
Por lo tanto el vector solución del nuevo problema es: y el valor óptimo de la
función objetivo resulta:
⎥⎦
⎤⎢⎣
⎡=
19151910
//
X
[ ] [ ] $,$//
xx
c,cXCZ BTB 535
19105
19151910
531
212 ==⎥
⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡==
Es evidente que la reducción de los recursos produce una disminución de las cantidades óptimas de los productos y consecuentemente una disminución del valor de la función objetivo, es decir de los beneficios.
Suponga ahora que el vector de recursos se modifica adoptando los siguientes valores: número de personas igual a 10 y que el costo máximo por hora de producción aumenta a 20$. El nuevo programa a resolver sería:
020251053
35
21
21
21
≥≤+≤+
+=
jxxxxxa/s
xxZ.Máx
utilizando el análisis de sensibilidad se tiene:
( ) ⎥⎦
⎤⎢⎣
⎡≠≥⎥
⎦
⎤⎢⎣
⎡−=⎥
⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡−
−=Δ+= −
00
19801910
2010
1951921931951
//
.////
bbBX B
Como no cumple con la condición de 0≥X , se debe utilizar el dual simplex para obtener la factibilidad del vector solución y la optimalidad del nuevo programa. Esto se hace utilizando el tablón de la solución óptima del programa original incorporando en dicho tablón el vector solución no factible, para transformarlo en factible, es decir que cumpla la condición: 0≥X .
Al incorporar el vector solución no factible en el tablón de solución óptima, el mismo queda:
Z x1 x2 x3 x4
1 0 0 5/19 16/19
a2 0 0 1 5/19 -3/19 -10/19
a1 0 1 0 -2/19 5/19 80/19
Ahora se transforma en pívot el elemento en recuadro y se hacen ceros todos los demás elementos de esa columna. De esta manera, el nuevo tabón óptimo queda:
19
Z x1 x2 x3 x4
1 0 16/3 80/57 0
a2 0 0 -19/3 - 5/3 1 10/3
a1 0 1 -5/3 1/3 0 10/3
El vector solución, y consecuentemente el valor de la función objetivo, resulta:
( ) ( )3
50310310
50
00
310310
1
414
3
2
1
4
=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
//
xx
ccZ;//
xxxx
XX
XN
B
A partir de esta situación, se puede analizar la utilización y holgura de los distintos recursos. Por ejemplo, la solución dice que se deben producir 10/3 litros del producto A y 0 litros del producto B. Con lo cual la utilización del recurso “obreros” resulta:
10053
1031053 21 =+≤+ ..;xx Es decir que la holgura resultante pare este recurso resulta
ser nula. Todo el recurso lo consume el producto A. Mientras que con respecto al recurso costo de producción, resulta:
203
50023
1052025 21 <=+≤+ ..;xx
Es decir que para este recurso hay una holgura de: 3
103
5020 =− que es igual al valor de la
variable x4.
b) Cambio del vector “c”
Supóngase el siguiente programa original (P.O)
0≥≤=
XbAXa/s
XCZ.Máx T
Si se modifica el vector de coeficientes de costos, el nuevo programa a optimizar será:
( )
0≥≤
Δ+=
XbAXa/s
XCCZ.Máx T
en el cual CΔ representa también un vector de “n” componentes.
20
También en este caso, la nueva solución óptima, se encuentra a partir del tablón de la solución óptima del problema original. Si B-1, es la inversa de la base óptima asociada al problema original, al cambiar la componente c por ( )cc Δ+ , también cambian los jj cz −
resultando: ( ) ( )jjjTBjjj ccaBCccz Δ+−=Δ+− −1 ; es un vector columna de la matriz A. ja
En condiciones de optimalidad, el coeficiente, ( )jjj ccz Δ+− deben ser todos no negativos para cualquier j en A y todos iguales a cero para cualquier j en B. Si estas condiciones se mantienen después del cambio de “c” a ( )cc Δ+ , entonces la solución óptima XB asociada al tablón óptimo del problema original, permanece óptimo y el valor de la función objetivo resulta: . ( ) B
TBB XCCZ Δ+=
Si no se cumplen las condiciones mencionadas anteriormente, se deberá hacer cumplir primero la condición ( ) Bjccz jjj ∈∀=Δ+− 0 mediante operaciones algebraicas elementales y después obtener las condiciones de optimalidad, o sea BAjcz jj ∉∧∈∀≥− 0 , mediante el método simplex.
Retomando el programa inicial:
(P.O)
010251553
35
21
21
21
≥≤+≤+
+=
jxxxxxa/s
xxZ.Máx
Cuyo tablón optimo era:
Z x1 x2 x3 x4
1 0 0 5/19 16/19 235/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
Supóngase que el coeficiente de beneficio del producto B, se reduce de 3 a 1, el nuevo programa resulta:
010251553
5
21
21
21
≥≤+
≤++=
jxxxxxa/s
xxZ.Máx
( ) ( ) ( )001500200035 ,,,,,,,,,cc =−+=Δ+
como la única componente de C que cambia es c2, entonces se tiene que:
( ) ( ) ( ) 2125
19161952221
222 =−⎟⎟⎠
⎞⎜⎜⎝
⎛=Δ+−=Δ+− − ./,/ccaBCccz T
B
21
Pero en condiciones de optimalidad debe ser ( ) 0222 =Δ+− ccz y ahora resulta: dando origen al siguiente tablón. ( ) 2222 =Δ+− ccz
Z x1 x2 x3 x4
1 0 2 5/19 16/19 235/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
Entonces mediante operaciones algebraicas se hace ( ) 0222 =Δ+− ccz , resultando el siguiente tablón.
Z x1 x2 x3 x4
1 0 0 -5/19 22/19 145/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
Que no es óptimo porque 019533 <−=− /cz , entonces, aplicando el método simplex se encuentra la nueva solución óptima, resultando:
Z x1 x2 x3 x4
1 0 1 0 1 10
a3 0 0 19/5 1 -3/5 9
a1 0 1 2/5 0 1/5 2
Finalmente resulta la siguiente solución:
( ) ( ) 1029
50
0029
1
313
4
2
1
3
=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
xx
ccZ;
xxxx
XX
XN
B
Supóngase ahora que cambian ambos coeficientes de costos de la función objetivo para dar origen al siguiente programa:
010251553
21
21
21
≥≤+≤+
+=
jxxxxxa/sxxZ.Máx
En este caso resulta: ( ) ( ) ( )001100240035 ,,,,,,,,,cc =−−+=Δ+ , entonces los nuevos: y z serán: ( )111 ccz Δ+− ( 222 cc )Δ+−
22
( ) ( ) ( ) 4153
19161951111
111 =−⎟⎟⎠
⎞⎜⎜⎝
⎛=Δ+−=Δ+− − ./,/ccaBCccz T
B de la misma manera:
( ) ( ) ( ) 2125
19161952221
222 =−⎟⎟⎠
⎞⎜⎜⎝
⎛=Δ+−=Δ+− − ./,/ccaBCccz T
B reemplazando estos dos
valores en el tablón óptimo del problema original, resulta:
Z x1 x2 x3 x4
1 4 2 5/19 16/19 235/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
Como x1 estaban en la solución óptima del problema original, entonces sus ( ) 0=Δ+− jjj ccz
Esto se logra aplicando el método simplex al nuevo tablón, con lo que resulta el siguiente:
Z x1 x2 x3 x4
1 0 0 3/19 2/19 65/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
En este nuevo tablón todos los BjczAjcz jjjj ∈∀=−∧∈∀≥− 00 de manera que la solución óptima es:
( ) ( )1965
1920
1945
19201945
11
00
19201945
1
212
4
3
1
2
=+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
//
xx
ccZ;//
xxxx
XX
XN
B
Supóngase ahora el siguiente programa lineal original:
(P.O) cuya solución óptima es:
018234
53
21
1
21
≥≤+≤
+=
jxxx
xa/sxxZ.Máx
Z x1 x2 x3 x4
1 9/2 0 0 5/2 45
a2 0 1 0 1 0 4
a1 0 3/2 1 0 1/2 9
23
Supóngase que el coeficiente c1 cambia de 3 a 6 por cada unidad de x1, el nuevo problema a resolver es: (P.N)
21
1
≥≤+≤
jxxx
xa/s resulta
56 21 += xxZ.Máx
018234 ( ) ( ) ( )00560003005311 ,,,,,,,,,cc =+=Δ+
Como el único coeficiente que cambia es c1 se tiene entonces:
( ) ( ) ( )236
12501 =−⎟
⎞⎜⎛
=Δ+−=Δ+− − ./,ccaBCccz T 3111111 ⎟⎠
⎜⎝
B
Con este cambio el tablón óptimo queda:
x2 x3 x4 Z x1
1 3 45 /2 0 0 5/2
a 2 0 1 0 1 0 4
a1 0 3/2 1 0 1/2 9
0≥− jj cEn este nuevo tablón resul e u osta s r q e todos l z son positivos en consecuencias no ación, po
uevo problema será:
21
1
≥≤+
≤
jxxx
xa/s resulta:
se puede continuar con el proceso de maximiz r lo tanto la solución óptima es la misma. Esto tiene una explicación muy simple. Como el coeficiente jj cz − que cambia corresponde a la variable x1 que no está en la solución en el tablón óptimo inicial, entonces este cambio de jj cz − , para nada afecta a la función objetivo.
Supóngase ahora que el coeficiente c1 cambia de 3 a 10 $. El n
510 21 += xxZ.Máx
018234 ( ) ( ) ( )005100007005311 ,,,,,,,,,cc =+=Δ+
( ) ( ) ( )2510
21510
31
2501111
111 −=−=−⎟⎟⎠
⎞⎜⎜⎝
⎛=Δ+−=Δ+− − ./,ccaBCccz T
B El nuevo tablón resulta:
Z x1 x2 x3 x4
1 -5/2 45 0 0 5/2
a 1 3 0 1 0 0 4
a2 0 3/2 1 0 1/2 9
( ) 25111 <−=Δ+ 0− / lo ta se debe aplicar el método ccz , por ntoQue no es óptimo porque
24
simplex para alcanzar la opt
Luego de una iteración, el tablón óptimo resulta:
imalidad.
1 2 x3 x4 Z x x
1 5/2 5/2 55 0 0
a 1 0 1 0 1 0 4
a2 0 0 1 -3/2 1/9 3
En consecuencia la solución óptima resulta:
( ) ( ) 55154034
510
0034
2
121
4
3
2
1
=+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
xx
ccZ;
xxxx
XX
XN
B
c) Cambio de un coeficiente tecnológico aij cuando j no es básico.
ientes tecnológicos aij
j
Solamente se verán problemas con cambios discretos en los coeficasociados a variables no básica. Si los cambios discretos corresponden a variables básicas, es recomendable resolver íntegramente el problema.
Un cambio en las componentes del vector a , con Nj∈ origina un cambio en Nj;cz jj ∈−
ya que: jjTBjj caBCcz −=− −1 De manera que si c aj a un nuevo valor a l
término j . Si este término resulta ser positivo, la s ución óptima asociada seguirá siendo válida. En caso contrario si 0
ambia , cambiara e
olj
jTBjj caBCcz −=− −1
la problema original <− jj cz , para Nj∈ , habrá que aplicar el método simplex para obtener la nueva solución del nuevo
ma, teniendo en cuenta que el vector jY del tablón óptimo del problema original, se
debe reemplazar por otro jj aBY
probleˆ 1−= .
Suponga el siguiente problema original:
el tablón óptimo resulta:
Z x1 x2 x3 x4
018234
53
21
1
21
≥≤+≤
+=
jxxx
xa/sxxZ.Máx
1 9 45 /2 0 0 5/2
a 3 0 1 0 1 0 4
a2 0 3/2 1 0 1/2 9
25
Supóngase ahora que el vector ⎝31 e no ico en l tablón óptimo del problema
⎠⎜⎝21a
Como solamente ha cambiado el vector a1, solamente se modifica:
⎟⎟⎞
⎜⎜⎛
=1
, qu⎠
a es bás e
original, se cambia a un nuevo vector: ⎟⎞
⎜⎛
=2
el nuevo problema a resolver será: ⎟
01822
4253
21
1
21
≥≤+
≤+=
jxxx
xa/sxxZ.Máx
02322501 >=−⎟⎞
⎜⎛⎟⎞
⎜⎛=−=− − ,caBCcz T en consecuencia la so
21111 ⎟⎠
⎜⎝⎠⎝
B lución óptima sigue siendo
la misma y el tabón óptimo resulta ahora:
x3 x4 Z x1 x2
1 45 2 0 0 5/2
a3 0 1 0 1 0 4
a2 3/2 0 1 0 1/2 9
( ) ( ) 4545094
50
0094
2
323
4
3
2
3
=+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
xx
ccZ;
xxxx
XX
XN
B
Siguiendo con el ejemplo anterior, supóngase que en el problema original el vector
⎜⎝1
1
resulta el nuevo
⎟⎟⎠
⎞⎜⎜⎝
⎛=
31
1a
cambia al nuevo vector: ⎞⎜⎛
=10
a , el nuevo problema a resolver resulta: ⎟⎟⎠
0182
41053
21
1
21
≥≤+
≤+=
jxxx
xa/sxxZ.Máx
0213
110
25011
111 <−=−⎟⎟
⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛=−=− − ,caBCcz T
B
En consecuencia se debe aplicar el método simplex actualizando del tablón ⎟⎟⎠
⎞⎜⎜⎝
⎛=
231/
Y j
26
óptimo original, por: ⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛== −
2110
110
210011
//aBY jj
E nuevo tablón para aplicar el método simplex queda:
Z x1 x2 x3 x4
1 -1/2 0 0 5/2 45
a3 0 10 0 1 0 4
a2 0 1/2 1 0 1/2 9
Finalmente el tablón óptimo resulta:
Z x1 x2 x3 x4
1 0 0 1/20 5/2 226/5
a3 0 1 0 1/10 0 4/10
a2 0 0 1 -1/2 1/2 44/5
Y la nueva solución:
( ) ( ) 2455
226441012
544104
53
00
544104
2
121
4
3
2
1
,/
/xx
ccZ;//
xxxx
XX
XN
B ==+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
d) Adición de nuevas actividades xj.
La incorporación de nuevas actividades xj genera nuevos términos y nuevos vectores en el tabón. Si asociada a la nueva actividad xj se conoce el nuevo coeficiente y los
nuevos aij, los nuevos elementos se calculan como:
jj cz −
jY jc
jjjjTBjj aBYcaBCcz 11 −− =∧−=−
Si el nuevo término , entonces la nueva variable no debe entrar al problema ya que su utilización no aporta nada a la función objetivo. En caso contrario, es decir si
0≥− jj cz0<− jj cz ,
entonces se introduce en el tablón y se aplica el método simplex hasta alcanzar la solución óptima.
jj aBY 1−=
Sea el ejemplo:
01823
453
21
1
21
≥≤+
≤+=
jxxx
xa/sxxZ.Máx
27
Se pregunta si conviene introducir la nueva actividad x5 si su coeficiente de costo es c5 = 7 y
su vector de coeficientes tecnológicos es . El nuevo problema a resolver es: ⎟⎟⎠
⎞⎜⎜⎝
⎛=
21
5a
018223
4753
521
51
521
≥
≤++
≤+
++=
jxxxx
xxa/sxxxZ.Máx
El nuevo , como el
coeficiente resulta menor que cero, entonces tiene sentido la incorporación de la
nueva actividad y el nuevo es . Para obtener la solución
óptima se debe aplicar el método simplex al nuevo tablón que resulta ser:
( ) 02721
250551
55 <−=−⎟⎟⎠
⎞⎜⎜⎝
⎛=−=− − /,caBCcz T
B
55 cz −
5Y ⎟⎟⎠
⎞⎜⎜⎝
⎛=⎟⎟
⎠
⎞⎜⎜⎝
⎛⎟⎟⎠
⎞⎜⎜⎝
⎛== −
11
21
21001
51
5 /aBY
Z x1 x2 x5 x3 x4
1 9/2 0 -2 0 5/2 45
a3 0 1 0 1 1 0 4
a2 0 3/2 1 1 0 1/2 9
1 13/2 0 0 2 5/2 53
a5 0 1 0 1 1 0 4
a2 0 1/2 1 0 -1 1/2 5
La nueva solución resulta:
( ) ( ) 53252854
57
00054
2
525
4
3
1
2
5
=+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
xx
ccZ;
xxxxx
XXX
N
B
Supóngase ahora el caso de que la nueva actividad que se incorpora tiene un coeficiente de
costo c5 = 4 y que el vector de coeficientes tecnológicos es: a El nuevo problema
resulta:
⎟⎟⎠
⎞⎜⎜⎝
⎛=
410
5
018423
410453
521
51
521
≥
≤++
≤+
++=
jxxxx
xxa/sxxxZ.Máx
El nuevo ( ) 064104410
250551
55 >=−=−⎟⎟⎠
⎞⎜⎜⎝
⎛=−=− − /,caBCcz T
B
28
Como resulta ser mayor que cero, entonces el tablón óptimo correspondiente al problema original resulta ser también óptimo para el problema nuevo (P.N) y la nueva actividad x5 debe ser igual a cero. Es decir que la incorporación de la nueva actividad en el nuevo problema, no mejora en absoluto el valor de la función objetivo del problema original.
55 cz −
Como conclusión se puede decir que el término jj cz − tiene dos significados a saber:
a) es la reducción (aumento) del valor de la función objetivo ene l caso de la maximización (minimización), al aumentar en una unidad el valor de la actividad xj con
jj cz −
Nj∈ .
b) es el valor que debe aumentar (disminuir), en el caso de la maximización (minimización), para que xj con
jj cz − jcNj∈ se convierta de una actividad no básica a básica.
b) Adición de nuevas restricciones.
Si se añaden k > 0 nuevas restricciones de la forma: km,.....,m,mi;bxa i
n
jjij +++=<
>−∑
=11
1 al
problema original (P.O) y la solución óptima XB asociada al problema original satisface a las nuevas restricciones, entonces la solución óptima XB del problema original es también solución óptima del nuevo problema. Por el contrario, si XB viola alguna de las k nuevas restricciones, entonces se debe restablecer la factibilidad del nuevo problema y obtener la solución óptima aplicando el método dual simplex. Si es necesario la aplicación del método dual simplex para obtener la solución óptima, cada una de las k restricciones deben agregarse al tablón óptimo del problema original con sus correspondientes variables de holgura y todos los vectores unitarios asociados al tablón óptimo se deben restablecer aplicando el método dual simplex.
Ejemplo: Sea el siguiente problema original (P.O)
010251553
35
21
21
21
≥≤+≤+
+=
jxxxxxa/s
xxZ.Máx
Cuyo tablón óptimo es:
Z x1 x2 x3 x4
1 0 0 5/19 16/19 235/19
a2 0 0 1 5/19 -3/19 45/19
a1 0 1 0 -2/19 5/19 20/19
La solución óptima asociada al problema original es:
29
( ) ( )19235
19100
19135
19201945
53
00
19201945
1
212
4
3
1
2
=+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
//
xx
ccZ;//
xxxx
XX
XN
B
Supóngase que al problema original se le agrega una nueva restricción, 12 ≤x , el nuevo problema a resolver es:
0110251553
35
2
21
21
21
≥≤≤+≤+
+=
jxx xxxxa/s
xxZ.Máx
Como se observa, la solución óptima en el problema original es y viola la nueva restricción por ser 45/19 > 1 entonces se debe restablecer la factibilidad. Estandarizando el nuevo problema, queda:
19452 /x =12 ≤x
0110251553
35
52
421
321
21
≥
=++=+++
=+++=
jxxx xxxxxxa/s
xxZ.Máx
El nuevo tablón resulta:
Z x1 x2 x3 x4 x5
1 0 0 5/19 16/19 0 235/19
a2 0 0 1 5/19 -3/19 0 45/19
a1 0 1 0 -2/19 5/19 0 20/19
a5 0 0 1 0 0 1 1
Restableciendo el vector unitario c2 del tablón óptimo mediante operaciones algebraicas, es decir transformándolo en vector unitario, surge el siguiente tablón que hay optimizar aplicando el método dual simplex.
30
Z x1 x2 x3 x4 x5
1 0 0 5/19 16/19 0 235/19
a2 0 0 1 5/19 -3/19 0 45/19
a1 0 1 0 -2/19 5/19 0 20/19
a5 0 0 0 -5/19 3/19 1 -26/19
A este último tablón se le aplica el dual simplex, resultando el siguiente tablón óptimo.
Z x1 x2 x3 x4 x5
1 0 0 0 1 1 11
a2 0 0 1 0 0 1 1
a1 0 1 0 0 1/5 -2/5 8/5
a5 0 0 0 1 -3/5 -19/5 26/5
Donde la solución es:
( ) ( ) 118358
153
00
52658
1
1
212
5
4
3
1
2
=+=⎥⎦
⎤⎢⎣
⎡=⎥
⎦
⎤⎢⎣
⎡=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=
⎟⎟⎟⎟⎟⎟⎟⎟
⎠
⎞
⎜⎜⎜⎜⎜⎜⎜⎜
⎝
⎛
=⎟⎟⎠
⎞⎜⎜⎝
⎛=
/xx
ccZ;//
xxxxx
XX
XN
B
Supóngase que en el ejemplo anterior la restricción que se introduce es 102 ≤x , en este caso como el resultado óptimo para es 45/19 < 10, entonces la solución óptima del problema original es también solución óptima del nuevo problema.
2x
31