el problema dual y el método dual simplex

31
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 = X b AX a / s X C Z . Max T 0 = Y C Y A a / s Y b Z . Min T T En donde: ( ) = = = = mn mj 2 m 1 m in ij 2 i 1 i n 2 j 2 22 21 n 1 j 1 12 11 m i 2 1 n j 2 1 n j 2 1 a ..... a ..... a a . .......... .......... .......... .......... a ..... a ..... a a . .......... .......... .......... .......... a ..... a ..... a a a ...... a ..... a a A ; b . b . b b b ; x . x . x x X c ,......, c ,......, c , c C Problema Principal. 1

Upload: unmsm

Post on 13-Nov-2023

0 views

Category:

Documents


0 download

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