Está en la página 1de 40

En el desarrollo de la programaci n lineal la teoria de la dualidad es importante, o tanto desde el punto de vista te rico como desde el punto de vista

pr ctico. Para o a cada modelo lineal se puede escribir el modelo dual asociado. Veremos que resolviendo uno de los modelos se obtiene la soluci n de ambos; en la tabla optima o del modelo resuelto aparece tambi n la soluci n optima del dual asociado. Algue o nas razones por las que conviene tener en cuenta la dualidad son las siguientes: 1. Teniendo en cuenta que el n mero de iteraciones del algoritmo simplex u depende m s del n mero de restricciones del modelo que del n mero de a u u variables, y dado que resolviendo un modelo lineal se obtiene tambi n la e soluci n del dual asociado, se puede elegir el modelo que conviene resolver o para obtener la soluci n de ambos. o 2. La dualidad permite hacer la interpretaci n econ mica del problema lineal. o o Veremos que la soluci n del problema dual da informaci n acerca de la o o soluci n del primal. o 3. Teniendo en cuenta las propiedades de la dualidad se construye un nuevo algoritmo, el simplex dual, que es m s ecaz que el simplex para calcular a la soluci n optima de algunos modelos lineales. Adem s, este nuevo algoo a ritmo se aplica en el an lisis de sensibilidad y la programaci n entera que a o se presentan en temas posteriores.
ww w.

at

em

at

ic a

1.c

om

3.1 El problema dual


Denici n 3.1.1 (Forma sim trica de maximizaci n) Un modelo lineal est eso e o a crito en forma sim trica de maximizaci n si e o el objetivo es maximizar, todas las restricciones son del tipo , todas las variables son no negativas. Ejemplo. Considerar el modelo lineal max z = x1 3x2 + x3 sujeto a x1 + x2 + x3 2 x1 + 2x2 x3 3 x1 x2 + 2x3 = 1 x1 , x2 , x3 0

max z = x1 3x2 + x3 sujeto a x1 x2 x3 2 x1 + 2x2 x3 3 x1 x2 + 2x3 1 x1 + x2 2x3 1 x1 , x2 , x3 0 2 Denici n 3.1.2 (Forma sim trica de minimizaci n) Un modelo lineal est eso e o a crito en forma sim trica de minimizaci n si e o el objetivo es minimizar, todas las restricciones son del tipo ,

ww

w.

at

la forma sim trica de maximizaci n es e o

em

at

ic

a1

.c om

todas las variables son no negativas. Ejemplo. Considerar el modelo lineal max z = x1 x2 sujeto a 3x1 + 2x2 1 x1 2x2 3 x1 , x2 0 la forma sim trica de minimizaci n es e o min (z) = x1 + x2 sujeto a 3x1 2x2 1 x1 2x2 3 x1 , x2 0

at em

at ic a1

.c

om

3.1.1 Relaci n primal-dual o


Consideremos el siguiente modelo lineal en forma sim trica de maximizaci n al e o que llamaremos modelo primal max z = cT x sujeto a Ax b x0 el modelo dual es el siguiente modelo en forma sim trica de minimizaci n e o min G = bT y sujeto a AT y c y0

ww w.

Ejemplo. Dado el modelo lineal max z = 2x1 x2 + 3x3 sujeto a x1 x2 + x3 2 3x1 x2 + 2x3 1 x1 , x2 , x3 0 el dual asociado es min G = 2y1 + y2 sujeto a y1 + 3y2 2 y1 y2 1 y1 + 2y2 3 y1 , y2 0

ic a1

.c

om

Dado un modelo lineal primal y su correspondiente dual la relaci n que existe o entre las componentes de ambos modelos es la siguiente Si la matriz A del modelo primal es de tama o m n, el modelo primal n tiene m restricciones y n variables. La matriz del problema dual es AT y, por tanto, el modelo dual tiene n restricciones y m variables. El vector b es el vector de recursos del problema primal y es el vector de costes del problema dual. El vector c es el vector de costes del problema primal y es el vector de recursos del problema dual. El n mero de restricciones del primal es igual al n mero de variables del u u dual. El n mero de variables del primal es igual al n mero de restricciones del u u dual.

ww w.

3.1.2 Componentes de los modelos primal y dual

at

em

at

Objetivo: max restricci n i bi o restricci n i = bi o restricci n i bi o variable i 0

Objetivo: min variable i 0 variable i no restringida variable i 0 restricci n i ci o

variable i no restringida restricci n i = ci o variable i 0 restricci n i ci o

Tabla 3.1: Relaci n primal-dual o

3.1.3 Dualidad: el caso general


Las restricciones de un modelo modelo lineal pueden ser del tipo , =, . Para calcular el problema dual se puede escribir en forma sim trica y utilizar la relaci n e o primal-dual. Tambi n se puede utilizar la Tabla 3.1 para calcular el dual de un e modelo que no est escrito en forma sim trica de maximizaci n. Probaremos e e o algunas de las relaciones de la tabla; el resto se prueban de forma an loga. a Caso 1. Si las restricciones del problema primal son del tipo , entonces las variables del dual son menores o iguales que cero. Es decir, dado el modelo primal max z = cT x sujeto a Ax b x0 el dual asociado es min G = bT y sujeto a AT y c y0
ww w.

at em

at

ic

a1

.c om

Demostraci n. En primer lugar escribimos el modelo primal en forma o sim trica de maximizaci n e o max z = cT x sujeto a Ax b x0 Por medio de la relaci n primal-dual dada en la secci n 3.1.1 obtenemos el o o dual min G = bT y sujeto a AT y cT y0 min G = bT y sujeto a A T y cT y0

ww w.

at

em

at ic

a1

.c

Haciendo el cambio de variable y = y , se tiene


om

2 Caso 2. Si las restricciones del problema primal son del tipo =, entonces las variables del dual no tienen restricci n de signo. Es decir, dado el modelo o max z = cT x sujeto a Ax = b x0 el dual asociado es min G = bT y sujeto a AT y c y : no restringido

Demostraci n. Escribimos el modelo en forma sim trica de maximizaci n o e o max z = cT x sujeto a Ax b Ax b x0 El modelo dual asociado es min G = (bT , bT ) sujeto a (AT , AT )
om

u v u v

ic a

1.c

donde u y v son vectores de m componentes. El modelo dual se puede escribir min G = bT (u v) sujeto a AT (u v) c u, v 0 Haciendo el cambio de variable y = u v , se tiene min G = bT y sujeto a AT y c y : no rest.
ww w.

at e

u, v 0

at

Ejemplo. Dado el modelo primal max z = x1 4x2 x3 sujeto a x1 + x2 x3 4 2x1 + 3x2 5x3 2 2x1 x2 + 2x3 = 6 x1 0, x2 0, x3 : no rest. utilizando las relaciones de la Tabla 3.1 el modelo dual es min G = 4y1 + 2y2 + 6y3 sujeto a y1 + 2y2 + 2y3 1 y1 + 3y2 y3 4 y1 5y2 + 2y3 = 1 y1 0, y2 0, y3 : no rest.

em

at

ic a

1.c

om

3.2 Teoremas de dualidad


Los siguientes teoremas establecen las relaciones entre el problema primal, el dual y las soluciones de ambos problemas. Los resultados de los teoremas est n a enunciados considerando la forma primal-dual sim trica. e Primal max z = cT x sujeto a Ax b x0 Dual min G = bT y sujeto a AT y c y0
ww

Teorema 3.2.1 El dual del problema dual es el problema primal.

w.

at

Demostraci n. Considerar el problema dual o min G = bT y sujeto a AT y c y0 Para calcular el dual de este problema lo escribimos en forma sim trica de maxie mizaci n o max (G) = bT y sujeto a AT y c y0 Utilizando la relaci n primal-dual, el dual de este problema es o min (z) = cT x sujeto a Ax b x0 que escrito en forma equivalente es el modelo primal max z = cT x sujeto a Ax b x0 2 De este teorema se puede concluir que si el objetivo primal es minimizar como ocurre en la forma dual sim trica, entonces el objetivo dual es maximizar. Tee niendo en cuenta este resultado, para calcular el dual de un modelo cuyo objetivo es minimizar las relaciones de la Tabla 3.1 se leen de derecha a izquierda.
ww w.

at

em at

ic a

1.c

om

Ejemplo. Dado el modelo lineal min z = x1 4x2 x3 sujeto a x1 + x2 x3 4 2x1 + 3x2 5x3 2 2x1 x2 + 2x3 = 6 x1 0, x2 0, x3 : no restringida por medio de la Tabla 3.1 calculamos el dual max G = 4y1 + 2y2 + 6y3 sujeto a y1 + 2y2 + 2y3 1 y1 + 3y2 y3 4 y1 5y2 + 2y3 = 1 y1 0, y2 0, y3 : no restringida

em

at

ic

a1

.c

om

Teorema 3.2.2 (Dualidad d bil) Sean x e y soluciones factibles para los problee mas primal y dual respectivamente. Entonces, se verica z = cT x bT y = G. Demostraci n. o Por ser x soluci n factible primal, entonces se cumple Ax b, x 0. o Por ser y soluci n factible dual, entonces se cumple AT y c, y 0. o Premultiplicando por yT la desigualdad Ax b y por xT la desigualdad AT y c se tiene yT Ax yT b = bT y, xT AT y xT c = cT x. Dado que xT AT y = yT Ax , entonces se verica z = cT x yT Ax bT y = G. 2
ww w.

at

Del teorema anterior se puede concluir que el valor m ximo del objetivo pria mal es una cota inferior del valor mnimo del objetivo dual. Y, recprocamente, el valor mnimo del objetivo dual es una cota superior del valor m ximo del objetivo a primal. Los siguientes resultados son consecuencia del teorema anterior. Corolario 3.2.1 Si las soluciones factibles x e y verican cT x = bT y , entonces x e y son soluciones optimas para el primal y el dual respectivamente. Demostraci n. El teorema de dualidad d bil asegura que para cualquier par de o e soluciones x e y se verica cT x bT y. Si tomamos la soluci n dual y se verica cT x bT y . Dado que cT x = bT y , o para cualquier soluci n x del problema primal se tiene o cT x cT x , de donde se deduce que x es soluci n optima del problema primal. o De la misma forma bT y = cT x bT y.
ww w.

de donde se deduce que y es soluci n optima del dual. o

Por tanto, para cualquier soluci n y del problema dual se verica o bT y bT y, 2

Corolario 3.2.2 Si el problema primal es factible y no acotado, el dual es infactible. Demostraci n. Teniendo en cuenta que cualquier par de soluciones x e y verio can cT x bT y , si el objetivo primal no est acotado, no existe una soluci n a o y para el dual que sea una cota superior para el problema primal. Por tanto el problema dual no tiene soluci n. o De forma similar se deduce el siguiente resultado. Corolario 3.2.3 Si el problema dual es factible y no acotado, el primal es infactible.

at

em

at

ic a

1.c

om

Si el problema primal es infactible, el dual puede ser infactible o no acotado. Y si el problema dual es infactible el primal puede se infactible o no acotado. Ejemplo. Si consideramos los siguientes problemas primal y dual se puede observar que en este ejemplo se cumple el resultado del Corolario 3.2.2. En este caso el problema primal es no acotado y el problema dual es infactible.

max z = 3x1 + 2x2 sujeto a 2x1 + x2 2 2x1 + x2 4 x1 , x2 0

min G = 2y1 + 4y2 sujeto a 2y1 + 2y2 3 y1 + y2 2 y1 0, y2 0

ww

w.

x2

at

Resolviendo gr camente podemos ver que el problema primal es no acotado a y el dual no tiene soluci n. o

em

2x1 + x2 = 2

at

max

ic a

1.c

om

x1 2x1 + x2 = 4

y2

y1

2y1 + 2y2 = 3

y1 + y2 = 2 2

Ejemplo. Considerar los siguientes problemas primal y dual.


ww w.

max z = 2x1 + 3x2 sujeto a

at

em at

x1 + x2 2 2x1 x2 3 x1 + 3x2 5 x1 , x2 0

ic

Teorema 3.2.3 (Principio fundamental de la dualidad.) Si existe una soluci n o optima x del problema primal, entonces existe una soluci n optima y del proo blema dual. De la misma forma, si existe una soluci n y optima del problema o dual, entonces existe una soluci n x optima del problema primal. En ambos o casos z = cT x = bT y = G .

a1

min G = 2y1 + 3y2 + 5y3 sujeto a y1 + 2y2 + y3 2 y1 y2 + 3y3 3 y1 , y2 , y3 0

Cualquier par de soluciones verica z G. Por ejemplo, xT = (1, 1) es soluci n factible para el primal porque cumple las resticciones; por otra parte, o yT = (1, 1, 1) es soluci n factible para el dual. Se verica z = 5 10 = G. o Las soluciones optimas para estos problemas son xT = 1 3 , 2 2 e yT = 3 1 , 0, 2 2
11 2

.c om

. 2

Los valores de las funciones objetivo coinciden, z =

= G .

3.3 Condiciones de holgura complementaria


Las condiciones de holgura complementaria permiten calcular la soluci n optima o del dual a partir de la soluci n optima del primal y viceversa. Dichas condiciones o son consecuencia del siguiente teorema. Teorema 3.3.1 (Holgura complementaria) Dadas dos soluciones factibles x e y para el primal y dual respectivamente, son optimas si y s lo si se verica o xT (AT y c) + yT (b Ax ) = 0. La interpretaci n de este resultado proporciona las condiciones de holgura o complementaria. Recordemos que en todos los casos se tienen en cuenta las formas primal y dual sim tricas. e

3.3.1 Interpretaci n de las condiciones o

Por otra parte, las soluciones optimas para el primal y el dual, x e y , son vectores que no tienen componentes negativas. Por tanto, si premultiplicamos las desigualdades anteriores por yT y por xT , respectivamente, se tienen las desigualdades xT (AT y c) 0, yT (b Ax ) 0.

La tesis del teorema de holgura complementaria asegura que la suma de los dos primeros miembros de las desigualdades anteriores es cero y, teniendo en cuenta que los dos sumandos son mayores o iguales que cero, podemos concluir que los dos sumandos deben ser cero simult neamente, es decir a xT (AT y c) = 0, yT (b Ax ) = 0.

ww

w.

M at

b Ax 0, AT y c 0.

em

at

ic

Dadas soluciones optimas x e y del primal y del dual, respectivamente, las restricciones de ambos problemas se pueden escribir de la siguiente forma:

a1

.c om

En las dos ecuaciones anteriores se tiene el producto de dos factores no negativos igualado a cero; si uno de los factores no es cero debe ser cero el otro. As, se pueden extraer las siguientes conclusiones que permiten calcular la soluci n de o un problema conocida la del otro. 1. Si una variable primal es estrictamente positiva, la correspondiente restricci n o dual se verica con igualdad, no requiere variable de holgura positiva. Es decir, x > 0 AT y c = 0. 2. Si una restricci n primal no se verica con igualdad, la correspondiente o variable dual toma el valor cero. Es decir, Ax < b y = 0. 3. Si una variable dual es estrictamente positiva, la correspondiente restricci n o primal se verica con igualdad. Es decir,

4. Si una restricci n dual no se verica con igualdad, la correspondiente variao ble primal tomar el valor cero. Es decir, a
ww w.

AT y > c x = 0.

Ejemplo. Dado el problema lineal max z = 3x1 + x2 2x3 sujeto a x1 + 2x2 + x3 5 2x1 x2 + 3x3 4 x1 , x2 , x3 0 cuya soluci n optima es xT = ( 13 , 6 , 0), calcularemos la soluci n dual utio o 5 5 lizando el teorema de holgura complementaria.

at

em

y > 0 Ax b = 0.

at

ic

a1

.c om

El problema dual correspondiente es min G = 5y1 + 4y2 sujeto a y1 + 2y2 3 2y1 y2 1 y1 + 3y2 2 y1 , y2 0 Restando variables de holgura min G = 5y1 + 4y2 + 0y3 + 0y4 + 0y5 sujeto a y1 + 2y2 y3 2y1 y2 y1 + 3y2 y4
om

=3 =1 y5 = 2

ww

w.

Utilizando las conclusiones del teorema de holgura complementaria, calculamos la soluci n optima del problema dual. o

at

em

Variables del primal x = 1 x = 2


13 5 6 5

>0 >0

y1 + 2y2 = 3 y3 = 0 2y1 y2 = 1 y4 = 0 y1 + 3y2 y5 = 2

x = 0 3 Restricciones del primal


13 5

+2
13 5

6 5 6 5

=5 =4

calcular el valor de y1 calcular el valor de y2

Sustituyendo en el sistema de restricciones duales los valores cero para las variables de holgura y3 e y4 , se tiene el sistema
y1 + 2y2 = 3 2y1 y2 = 1 y1 + 3y2 y5 = 2

at

y1 , y2 , y3 , y4 , y5 0

ic a

Restricciones del dual

Variables del dual

1.c

Resolviendo el sistema se obtiene la soluci n optima del modelo dual o


y1 = 1, y2 = 1, y3 = 0, y4 = 0, y5 = 6.

3.4 Soluci n dual optima o


Teorema 3.4.1 Sean dos modelos lineales primal-dual sim tricos. Si B es base e T T 1 optima para el problema primal, entonces y = cB B es soluci n optima del o problema dual. Demostraci n. Sumando el vector xh de variables de holgura a la forma o sim trica primal, se tienen las restricciones e Ax + Ixh = b, x, xh 0.

Entonces,

La ultima desigualdad se puede escribir en forma traspuesta AT (cT B1 )T c. B El sistema anterior es el sistema de restricciones del dual. Por tanto, el vector y = (cT B1 )T es soluci n para el dual. o B Para comprobar si es factible calculamos los indicadores asociados a los vectores de I, cT B1 I cT . B I Dado que las variables del vector xh son de holgura, cI = 0 y se tiene cT B1 I = cT B1 0T . B B Por tanto, las componentes del vector y = (cT B1 )T son no negativas. B

ww

w.

zj = cT yj = cT B1 aj . B B

cT B1 A cT . B

at

em

Si B es la base optima para el primal y xB la soluci n factible b sica optima, o a entonces zj cj 0 para todo vector aj de la matriz A.

at

ic a1

.c o

Comprobaremos que y es optima comprobando que los objetivos primal y dual coinciden. z = cT xB = cT B1 b = bT (cT B1 )T = bT y = G . B B B Por ser los objetivos iguales, se deduce que y = (cT B1 )T es soluci n optima o B para el dual. 2

3.4.1 Soluci n dual optima en la tabla o


Veamos que al resolver un problema primal en la tabla optima se tiene tambi n la e soluci n optima del modelo dual. o En el Teorema 3.4.1 se demuestra que si B es la base optima del problema T T 1 primal, entonces y = cB B es soluci n optima del modelo dual. Veremos o que ese vector se encuentra en la tabla optima en las posiciones de los indicadores correspondicentes a las columnas aj de la matriz I. Calculando dichos indicadores Si calculamos al mismo tiempo todos los valores zj cj asociados a los vectores de la matriz I, se tiene el siguiente vector: Por tanto, para calcular el vector soluci n optima del dual yT = cT B1 s lo o o B T hay que sumar cI a los elementos indicadores de la tabla optima asociados a la matriz identidad de la tabla inicial. Se pueden dar dos casos: Si la matriz I est formada por variables de holgura, entonces cI = 0. a Si hay variables articiales en la base I inicial, el vector cI contienen los valores M correspondientes a las variables articiales con los que se ha penalizado la funci n objetivo. o Ejemplo. Consideramos el problema de la p gina 97 a max z = 3x1 + x2 2x3 sujeto a x1 + 2x2 + x3 5 2x1 x2 + 3x3 4 x1 , x2 , x3 0 Sumando variables de holgura la tabla inicial es
ww w.
.c om

zj cj = cT B1 aj cj . B

M at

cT B1 I cT = cT B1 cT . B I B I

em

at ic

a1

x1

x2

x3 x4 x5 2 1 3 0 1 0 0 0 0 5 1 4

3 1 a4 a5 1 2

2 1

La tabla optima utilizando el algoritmo simplex es x1 x2 0 a2 a1 0 1 0 x3 6 x4 1


2 5 1 5

x5 1 1 5
2 5

9
6 5 13 5

1 1 5 0
7 5

Soluci n optima del primal: o 13 6 , x2 = , x3 = 0, z = 9. 5 5 Para calcular la soluci n optima dual en la tabla se observa que la primera o base est formada por variables de holgura. En la tabla optima, las columnas a 1 correspondientes a x4 y x5 proporcionan B y la soluci n optima del dual est o a asociada a los indicadores de dichas variables, (z4 c4 , z5 c5 ) = cT B1 I cT = (1, 1) cT . B I I Teniendo en cuenta que cT = (c4 , c5 ) = (0, 0), I yT = cT B1 = (1, 1) B es soluci n optima del problema dual. El valor de la funci n objetivo dual es o o G = 9. 2 Ejemplo. Considerar el modelo lineal min z = x1 + 2x2 sujeto a 4x1 + 3x2 12 x1 + 3x2 6 2x1 + x2 4 x1 , x2 0
ww w.

at e

at

ic a

1.c

x = 1

om

Para iniciar el algoritmo simplex son necesarias, adem s de las variables de hola gura, 2 variables articiales, w1 y w2 . max (z) = x1 2x2 + 0x3 + 0x4 + 0x5 Mw1 Mw2 sujeto a 4x1 + 3x2 +x3 x1 + 3x2 2x1 + x2 x4 x5 +w1 +w2 = 12 =6 =4

x1 , x2 , x3 , x4 , x5 , w1 , w2 0 La primera base es B = I = (a3 aw1 aw2 ). x1 x2 x3


0

x4
M

x5
.c

w1
0

w2
0 10M

3M + 1 4M + 2 0 M M

at em

aw1 aw2
5M + 3

1 2
1 3

3 1
0
ww

0
w.

at

ic

a3

a1
0

om

0 0 1
M
4 3M

0 1 0

2 3

0 0 1

12 6 4

1 0
2 3

1 3

M
1 0 3M +

0 2M 4

0 2 M

a3 a2 aw2

3
1 3 5 3

0 1 0
0

1 0 0
0

1 1 3
1 3
3 5

0 0 1
1 5

1
1 3 1 3

0 0 1
M
1 5

6 2 2
22 5
12 5 8 5 6 5

9 5 1 5

0 0 2 1

3 5

a3 a2 a1

0 0 1

0 1 0

1 0 0

2 5

9 5 1 5

2 5
2 5

9 5 1 5
3 5

2 5
1 5

3 5

1 5

Soluci n optima del problema primal: o x = 1 6 8 22 , x = , z = 2 5 5 5 z = 22 . 5

Para calcular la soluci n optima del dual vemos que en la primera tabla las columo nas correspondientes a las variables x3 , w1 y w2 forman la matriz identidad. En la tabla optima las columnas correspondientes a las mismas variables proporcio 1 nan B y la soluci n optima del dual esta asociada a los indicadores de dichas o variables. 1 3 (z3 c3 , zw1 cw1 , zw2 cw2 ) = cT B1 I cT = (0, M , M ). B I 5 5 Teniendo en cuenta que cT = (c3 , cw1 , cw2 ) = (0, M, M), I 3 1 yT = cT B1 cT + cT = (0, M , M ) + (0, M, M). B I I 5 5 En principio podramos decir que la soluci n optima dual es o 3 1 yT = (0, , ). 5 5 Sin embargo, es necesario comprobar si el signo de las variables es correcto. Si calculamos el problema dual asociado al ejemplo, podemos ver que y2 e y3 deben ser no negativas. En este caso los valores obtenidos de la tabla para dichas variables son negativos. Esto es debido a que la la de indicadores de la tabla optima est inuenciada por los cambios que se han hecho en la funci n objetivo a o para aplicar el algoritmo. En este ejemplo el objetivo inicial es minimizar y lo hemos adecuado a maximizar, por eso los signos obtenidos no son los correctos. Por tanto, la soluci n optima del dual es o 3 1 22 y1 = 0, y2 = , y3 = , G = . 5 5 5 2 La incorrecci n en el signo de los valores de la tabla para ser asignados a o las variables duales aparece tambi n cuando se cambia el sentido de alguna rese tricci n primal antes de aplicar el algoritmo. Estos cambios se pueden explicar o observando las relaciones primal-dual de la Tabla 3.1 de la p gina 87. Lo que a se puede concluir es que el valor absoluto de las componentes del vector cT B1 B coincide con el valor absoluto de las variables duales optimas.
ww w.

3.5 Interpretaci n econ mica de la dualidad o o


La soluci n optima de un modelo lineal determina la asignaci n optima de recuro o sos limitados. Como veremos, el valor optimo de las variables duales indica si es

at

em

at

ic

a1

.c

om

o no conveniente cambiar el nivel de recursos en el modelo. Esta informaci n la o proporcionan los precios sombra que denimos a continuaci n. o

3.5.1 Precios sombra


Sea un modelo lineal y la base optima B. Esta base optima proporciona una soluci n optima primal x y el valor optimo z y, tambi n, una soluci n optima o e o dual y y el valor G . Supongamos que el vector b cambia a b + b. Veamos c mo afecta este o cambio a los c lculos de la tabla asociada a la base optima B si la factibilidad a primal no se pierde. La soluci n primal asociada a la base optima y al nuevo vector de recursos o xB = B1 (b + b) = xB + B1 b.

T T T T T G = y (b + b) = y b + y b = G + y b = z + y b.

Se puede concluir que un cambio en el vector b que mantenga la factibilidad primal produce los siguientes cambios en la soluci n del problema: o las componentes de la soluci n optima dual se mantienen, o las componentes de la soluci n primal cambian en la cantidad B1 b, o los valores objetivo primal y dual cambian en la cantidad yT b. La conclusi n es que si se incrementa el vector de recursos y se verica que o 1 xB = B (b + b) 0 , entonces xB es la nueva soluci n optima para el proo blema primal e y sigue siendo soluci n optima para el dual. El valor optimo de o T ambos objetivos se incrementa en la cantidad y b.

ww

El valor de la funci n objetivo primal y dual cambian en funci n del increo o mento en el vector de recursos.
w.

at

em

at

zj cj = cT B1 aj cj . B

ic

a1 .c

La la de indicadores no cambia por los cambios en el vector de recursos.


om

Para poder interpretar el signicado de cada variable dual supongamos que bi = 1 y el resto es cero, entonces el incremento del objetivo es 0 . . . yT b = (y1 , . . . , yi , . . . , ym ) 1 = yi . . . . 0 Es decir, si s lo se incrementa el recurso i en una unidad y la factibilidad prio mal no se pierde, entonces la cantidad en la que se incrementa la funci n objetivo o es el valor optimo de la correspondiente variable dual, yi .
Denici n 3.5.1 (Precio sombra) La variable dual optima yi se llama precio o sombra del recurso i, i = 1, . . . , m, si haciendo un cambio unitario en el recurso i y manteniendo el resto de recursos, no se pierde la factibilidad primal.

Si b1 = 5 es sustituido por b1 + b1 = 6, es decir, b1 = 1, calculamos 2 1 8 5 6 = 5 . xB = B1 (b + b) = 5 1 2 14 4 5 5 5


La factibilidad primal no se pierde porque xB 0. Podemos decir que y1 es el precio sombra del recurso b1 . El nuevo valor optimo de la funci n o objetivo es z = z + y1 = 9 + 1 = 10.

La misma interpretaci n para el recurso b2 . Supongamos en este caso que o b2 = 4 es sustituido por b2 + b2 = 3. Calculamos 2 1 7 5 5 = 5 . xB = B1 (b + b) = 5 1 2 11 3 5 5 5

ww

w.

M at

Ejemplo. Consideremos el ejemplo de la p gina 100. Veamos si los valores a de la soluci n dual optima, y1 = 1 e y2 = 1, son los precios sombra de los o respectivos recursos b1 y b2 .

em

at

ic

a1

.c om

La factibilidad primal no se pierde porque xB 0. Podemos decir que y2 es el precio sombra del recurso b2 . El nuevo valor optimo de la funci n o objetivo es z = z y2 = 9 1 = 8.

En este caso el valor optimo de la funci n objetivo disminuye el precio o sombra y2 porque el incremento del recurso segundo es negativo. 2 Ejemplo. Para el ejemplo de la p gina 101 la soluci n optima del problema a o dual es 1 3 y1 = 0 , y2 = , y3 = . 5 5 Supongamos que el recurso primero aumenta en una unidad, de b1 = 12 a b1 + b1 = 13 . Calculamos 2 9 17 1 5 5 13 5 8 1 2 1 xB = B (b + b) = 0 5 6 = 5 0. 5 6 3 0 1 4 5 5 5
Como la factibilidad primal se mantiene, se puede decir que la variable y1 es el precio sombra del recurso 1. Observamos, sin embargo, que el valor de la funci n o objetivo no cambia porque el precio sombra es y1 = 0. Es decir,
ww w.

at

em

z = z + y1 =

El precio sombra del recurso primero igual a cero coincide con el hecho de que la primera restricci n del problema primal se verica con desigualdad. Si comproo bamos la restricci n 4x1 + 3x2 12 para los valores optimos x = 6 , x = 8 , o 1 2 5 5 4 6 8 + 3 < 12. 5 5

Esto signica que hay recurso primero en exceso y, por tanto, aumentar la cantidad del primer recurso no tiene ninguna inuencia en el valor optimo. En este caso se puede considerar la posibilidad de disminuir la cantidad de dicho recurso. 2

at ic

22 22 +0= . 5 5

a1

.c

om

3.5.2 Coste econ mico de las variables primales e interpretaci n o o del m todo simplex e
Una manera sencilla de entender el coste econ mico de las variables primales es o a trav s de un ejemplo. e En una empresa se fabrican 4 productos: 1, 2, 3 y 4. En la producci n se o utilizan 3 recursos: A, B y C. En la Tabla se da la cantidad de recurso necesario por unidad de producto, la disponibilidad de cada recurso y el benecio unitario. Productos Recurso A B C Benecio 1 2 2 5 4 2 3 4 Disponibilidad Recurso 300 500 250
om

3 1.5 4 4 1 3 3 2 6 1 2

max z = 4x1 + 3x2 + 6x3 + 2x4 sujeto a 2x1 + 3x2 + 1.5x3 + 4x4 300 2x1 + 4x2 + 3x3 + x4 500 5x1 + x2 + 2x3 + 2x4 250 x1 , x2 , x3 , x4 0 Supongamos ahora que una empresa competidora quiere comprar los recursos b1 = 300, b2 = 500 y b3 = 250. El objetivo de la segunda empresa es obtener los recursos a mnimo coste; si el precio unitario que paga por los recursos A, B y C es y1 , y2 e y3 , respectivamente, el objetivo ser a min G = 300y1 + 500y2 + 250y3 .

ww

w.

Sean xj , j = 1, 2, 3, 4, las unidades del producto j que se producen. Podemos plantear el siguiente modelo lineal para este problema de producci n. o

at e

at ic

a1 .c

Podemos suponer que la primera empresa no vender los recursos por un precio a (coste econ mico) inferior al que consigue por su uso en la producci n (benecio). o o Para una unidad del producto 1, la primera empresa utiliza 2 unidades de A, 2 unidades de B y 5 de C y el benecio por la producci n es 4. Si vende estas o unidades a la segunda empresa ganar 2y1 + 2y2 + 5y3 , ese es el coste econ mico a o de la actividad 1. Por tanto, la empresa s lo estara dispuesta a ceder los recursos o si el coste econ mico de llevar a cabo la actividad es superior al benecio. Es o decir, si se verica la siguiente restricci n que es la primera del modelo dual. o 2y1 + 2y2 + 5y3 4. Haciendo la misma interpretaci n para los otros tres productos se tiene el siguiente o modelo dual: min G = 300y1 + 500y2 + 250y3 sujeto a 2y1 + 2y2 + 5y3 4 3y1 + 4y2 + y3 3 1.5y1 + 3y2 + 2y3 6 4y1 + y2 + 2y3 2 y1 , y2 , y3 0 En el algoritmo simplex, una variable no b sica xj puede pasar a ser b sica a a en una iteraci n posterior si su indicador zj cj es negativo. La raz n de esta o o condici n es que el indicador de la variable xj es la restricci n j del problema o o dual y, cuando es negativo, lo que ocurre es que el coste econ mico de la actividad o es menor que el benecio y eso signica que es rentable su producci n. Esto se o ve en las siguiente f rmula: o
m
ww w.

zj cj = cT B1 aj cj = yT aj cj = B
i=1

at

em at

ic

a1

.c om

aij yi cj .

Si zj cj < 0, entonces
m

aij yi < cj .
i=1

Es decir, el coste econ mico de la actividad j es menor que el benecio cj asociao do a la producci n de dicha actividad. o

3.6 El m todo simplex dual e


En el Tema 2 hemos visto que el algoritmo simplex empieza eligiendo como primera base la matriz identidad, utilizando si es necesario variables articiales, para calcular una soluci n primal factible. En sucesivas iteraciones el algoritmo o va de una soluci n factible b sica a otra hasta alcanzar la optima, es decir, hasta o a que en la tabla zj cj 0 para todo aj de la matriz A. Estas condiciones de la la de indicadores son las asociadas a la factibilidad dual. Es decir, el algoritmo simplex comienza en una soluci n primal factible y termina cuando se obtiene o la factibilidad dual. De ahora en adelante a este m todo le llamaremos simplex e primal A continuaci n introducimos el algoritmo simplex dual que comienza tambi n o e eligiendo como primera base la matriz I, pero en este caso siempre formada por variables de holgura. El primer paso es escribir el modelo lineal en forma sim trica de maximizaci n y sumar una variable de holgura en cada restricci n. e o o Si en la primera tabla hay factibilidad dual se realiza el n mero necesario de iteu raciones hasta conseguir tambi n la factibilidad primal. Si elegida as la primera e base en la primera tabla no hay factibilidad dual, entonces ser necesario a adir a n una restricci n articial como veremos en la Secci n 3.7. o o

El objetivo es maximizar. Se elige como primera base la matriz B = I formada por variables de holgura. Paso 1. Construir la primera tabla en la que zj cj 0 para todo vector aj de la matriz A. Paso 2. Con respecto a la factibilidad primal, se pueden dar dos casos. Si xBi 0, i = 1, . . . , m, entonces la soluci n es optima. Parar. o Si existe xBi < 0, entonces la soluci n se puede mejorar. Ir al Paso 3. o Paso 3. Cambio de base. Sale de la base el vector ar que verica la condici n o xBr = min{xBi /xBi < 0}.
i

La la r es la la pivote.

ww

w.

3.6.1 Algoritmo simplex dual

at

em

at

ic a

1.c

om

Entra en la base el vector ak que verica la condici n o zk ck = max j yrk zj cj /yrj < 0 . yrj

La columna k es la columna pivote. yrk es el pivote. Si no existe yrj , j = 1, . . . , n, negativo, entonces el problema es infactible. Parar. Paso 4. Calcular una nueva tabla con las mismas operaciones elementales denidas en el algoritmo simplex. Ir al Paso 2.

Ejemplo. Sea el modelo lineal min z = 3x1 + 2x2 sujeto a x1 + 2x2 3 2x1 + x2 2 x1 + 4x2 7 x1 , x2 0 Para resolverlo utilizando el algoritmo simplex dual escribimos el modelo en forma sim trica de maximizaci n e o max (z) = 3x1 2x2 sujeto a x1 2x2 3 2x1 x2 2 x1 4x2 7 x1 , x2 0 Sumamos una variable de holgura en cada restricci n para escribirlas con igualo dad.
ww w.

M at

em at

ic

a1

.c o

max (z) = 3x1 2x2 + 0x3 + 0x4 + 0x5 sujeto a x1 2x2 + x3 = 3 2x1 x2 + x4 = 2 x1 4x2 + x5 = 7 x1 , x2 , x3 , x4 , x5 0 Paso 1. Construir la primera tabla. x1 3 a3 1 a4 2 x2 x3 x4 x5 2 2 1 4 0 1 0 0 0 0
.c om

1 0 2 1 2 1 4

0 3 0 2 1 7

1 0

Paso 2. En esta tabla todos los indicadores zj cj son no negativos, es decir, hay factibilidad dual y es posible aplicar el algoritmo simplex dual. No hay factibilidad primal y, por tanto, la soluci n se puede mejorar. o 3 xB = 2 0. 7 Paso 3. Cambio de base. xB3 = min{3, 2, 7} = 7. Sale de la base el vector a5 . La la 3 es la la pivote. zk ck = max yik 3 2 , 1 4 1 z2 c2 = = . 2 y22
ww w.

Entra en la base el vector a2 . La columna 2 es la columna pivote.

at

em at

a5 1

ic

a1

Paso 4. Calcular la nueva tabla. El pivote es 4, el multiplicador para la primera la es 1 , el multiplicador para la la segunda es 1 y el multiplicador 2 4 para la la de indicadores 1 . 2 Haciendo operaciones elementales por las se tiene la siguiente tabla: x1
5 2 1 0 a3 2

x2 x3 x4 0 0 0 1 0 1 0 0 0 0 1 0

x5
1 2 1 2

7 2 2
1 2

0 a4 2 a2

9 4 1 4

1 4
1 4

1 4
7 4

0 a5 9 2 a2 2

ww

w.

0 a3 4

at

em

at

x1

x2 x3

a1
0

.c

x4 2

om

Volviendo al Paso 2 vemos que no hay factibilidad primal y hay que hacer una nueva iteraci n. Sale de la base el vector a4 y entra el vector a5 . La nueva tabla o es x5 0 4 0 1 0 1 1 2

0 0 1

Volviendo al Paso 2 vemos que en esta tabla hay factibilidad primal y, por tanto, es optima. La soluci n optima es o x = 0, x = 2 y el valor objetivo optimo z = 4. 1 2 2

3.7 El m todo de la restricci n articial e o


El algoritmo simplex dual requiere que en la primera tabla haya factibilidad dual. Esto no ocurre para todos los modelos lineales y, en ese sentido, este algoritmo es de aplicaci n restringida. Una extensi n del algoritmo simplex dual que permite o o

ic

1 2 0 4 0 1

que pueda ser aplicado para resolver cualquier modelo lineal es el m todo de la e restricci n articial. o Cuando no hay factibilidad dual en la tabla inicial, se trata de a adir una resn tricci n articial al modelo que se pretende resolver. Esta restricci n articial no o o deber modicar la regi n de factibilidad del problema. Se a ade con el unico a o n objetivo de obtener factibilidad dual en la tabla y, a partir de ah, poder continuar con el algoritmo simplex dual. La restricci n articial que se a ade es o n xj M,
jN

donde N es el conjunto de variables para las que zj cj es negativo en la primera tabla y M es un valor positivo muy grande de manera que la restricci n o a adida no modique la regi n de soluciones. n o Ejemplo. Dado el modelo lineal max z = x1 + 6x2 sujeto a x1 + 2x2 20 1 1 x1 + x2 2 2 x1 , x2 0 Escribimos el modelo en forma sim trica de maximizaci n y sumamos una e o variable de holgura en cada restricci n. o max z = x1 + 6x2 + 0x3 + 0x4 sujeto a x1 + 2x2 + x3 = 20 1 1 x1 x2 + x4 = 2 2 x1 , x2 , x3 , x4 0 Elegimos la matriz B = I = (a3 a4 ) y se construye la primera tabla x1 1 a3 a4 1 1 x2 6 2 1 2 x3 0 1 0 x4 0 0 0 20
ww w.

at

em

at ic

a1

.c

om

1 1 2

El problema es que en esta tabla no hay factibilidad dual como requiere el algoritmo simplex dual. Para poder tener una tabla asociada a este problema y con factibilidad dual a adimos al problema una restricci n articial, en este caso n o x1 + x2 M. Sumando una variable de holgura a la restricci n articial se tiene el siguiente o modelo: max z = x1 + 6x2 + 0x3 + 0x4 + 0x5 sujeto a x1 + 2x2 + x3 = 20 1 1 x1 x2 + x4 = 2 2 x1 + x2 + x5 = M x1 , x2 , x3 , x4 , x5 0

x1 1 0 0 0 a3 a4 a5 1 1 1

x2

at em

x3 0 1 0 0

at ic a1
x4 0 0 1 0

Podemos elegir la matriz B = I = (a3 a4 a5 ) y construir la primera tabla asociada al modelo con restricci n articial o
.c

ww w.

6 2

om

x5 0 0 0 20 6 2 1 2

1 2 1

0 1 2 1 M

En el algoritmo simplex dual con restricci n articial se detalla el primer camo bio de base para obtener una tabla con factibilidad dual. 2

3.7.1 Efecto de la restricci n articial o


De manera resumida, podemos decir que el m todo de la restricci n articial come o plementa el algoritmo simplex dual cuando es necesario. A adir una restricci n n o articial al problema no debe afectar a la regi n de soluciones y, para eso el valor o de M debe ser sucientemente grande. Gr camente podemos ver de forma intuitiva como afecta a la regi n de solua o ciones de un modelo a adir una restricci n articial. Supongamos que tenemos n o

un problema cuya regi n de soluciones es la que aparece sombreada en la gr ca. o a Si la restricci n articial es x1 + x2 M, con M sucientemente grande, la o restricci n articial no afecta a la regi n de soluciones (ver gr ca). o o a x2 opt x1 + x2 = M

(x , x ) 1 2

x1

Si, por el contrario, el valor de M no es sucientemente grande, vemos en la siguiente gr ca que se pierden puntos de la regi n; los puntos de la zona a o sombreada que no son de la rayada ya no pertenecen a la regi n de soluciones del o problema cuando se a ade la restricci n articial x1 + x2 M (ver gr ca). n o a x2 x1 + x2 = M opt
ww w.

M at

em at

ic
(x , x ) 1 2 x1

a1

.c o

Por ultimo, en el caso en que un problema tenga una regi n no acotada, al o a adir una restricci n articial, por muy grande que sea el valor de M, la regi n n o o de soluciones pierde puntos. Esto se puede ver en la siguiente gr ca. a x2

opt x1 + x2 = M

x1
om

3.7.2 Algoritmo simplex dual con restricci n articial o


El objetivo es maximizar. Elegir como primera base B = I formada por variables de holgura. Paso 1. Construir la tabla inicial. Paso 2. Necesidad de restricci n articial. o Si para todo vector aj de la matriz A zj cj 0, ir al Paso 3. Si existe un vector aj en la matriz A tal que zj cj < 0, anadir una restricci n articial al modelo, construir la primera tabla para el o nuevo modelo y hacer el siguiente cambio de base. Entra en la base el vector ak que verica zk ck = min{zj cj /zj cj < 0}.
j

ww w.

Como conclusi n de los dos casos anteriores podemos decir que cuando la o variable de holgura de la restricci n articial no est en la base optima puede ser o a por dos razones: M no es sucientemente grande o la soluci n es no acotada. o

at em

at ic a1

.c

Sale el vector de holgura de la restricci n articial. o Hacer operaciones elementales para conseguir factibilidad dual. Ir al Paso 3. Paso 3. Factibilidad primal. No hay restricci n articial. o Si xBi 0, i = 1, . . . , m, entonces soluci n optima. Parar. o Si para alg n i = 1, . . . , m, xBi < 0, entonces la soluci n se u o puede mejorar. Ir al Paso 4. Si hay restricci n articial. o Si xBi 0, i = 1, . . . , m y la variable de holgura de la restricci n o articial est en la base con valor positivo, entonces soluci n a o optima. Parar. Si xBi 0, i = 1, . . . , m y la variable de holgura de la restricci n o articial no est en la base o siendo b sica vale cero, soluci n no a a o acotada. Parar. Si existe xBi < 0 para alg n i = 1, . . . , m, entonces la soluci n u o se puede mejorar. Ir al Paso 4.
ww w.

Paso 4. Cambio de base.

Sale de la base el vector ar que verica xBr = min{xBi /xBi < 0}.
i

La la r es la la pivote. Entra en la base el vector ak que verica zk ck = max j yrk zj cj /yrj < 0 . yrj

La columna k es la columna pivote. El elemento yrk es el pivote. Si no existe en la la r ning n elemento yrj negativo, entonces problema u infactible. Parar Paso 5. Calcular una nueva tabla haciendo operaciones elementales. Ir al Paso 3.

at

em

at ic

a1

.c o

3.8 Soluci n de modelos lineales o


En este apartado se utiliza el algoritmo simplex dual para resolver tres problemas que requieren restricci n articial. o Problema factible. Consideramos el ejemplo de la p gina 113. Vimos que a eligiendo como matriz base la identidad formada por variables de holgura en la primera tabla no hay factibilidad primal pero tampoco dual. Entonces, es necesario a adir la restricci n articial x1 + x2 M. n o Primera iteraci n. o La primera tabla es x1 1 0 0 0 a3 a4 a5 1 1 1 x2 6 2 1 2 x3 0 1 0 0 x4 0 0 1 0
om .c

x5 0 0 0 20 6 2 1 2

at ic a1
x3 0 1 0 0 x4 0 x5

0 1 2 1 M

Se hace el siguiente cambio de base para obtener factibilidad dual. Entra en la base el vector asociado al indicador negativo m s peque o, a2 , y sale de la base el a n vector de holgura de la restricci n articial, a5 . Haciendo opraciones elementales o se tiene la siguiente tabla: x1 5 0 0 6 a3 a4 a2 1 1 2 1 x2 0 0 0 1

ww w.

M at

em

6M 2M + 20
1 M 2

0 2 1 0
1 2

1 2

Se observa que en la tabla hay factibilidad dual y se puede continuar con los pasos del algoritmo. Sale de la base el vector a3 y entra el vector a5 y con las operaciones elementales habituales se obtiene la siguiente tabla:

x1 2 0 0 6 a5 a4 a2
1 2

x2 0

x3 3

x4 0 0 1 0

x5 0 60

1 0 2

1 M 10 0 0
9 2

3 4
1 2

0 1

1 4 1 2

10

En esta tabla hay factibilidad primal y la variable de holgura de la restricci n o articial es b sica; la soluci n optima es x1 = 0 , x2 = 10 , z = 60. a o 2 Problema con soluci n no acotada. Considerar el modelo lineal o

max z = 4x1 + 5x2 sujeto a 2x1 + 2x2 4 x1 x2 3 x1 , x2 0


ww w.

En primer lugar se escribe el modelo en forma sim trica de maximizaci n. Sumando e o variables de holgura y a adiendo la restricci n articial x2 M se tiene el pron o blema

max z = 4x1 + 5x2 + 0x3 + 0x4 + 0x5 sujeto a 2x1 2x2 + x3 = 4 x1 + x2 + x4 = 3 x2 + x5 = M x1 , x2 , x3 , x4 , x5 0

at

em

at

ic

a1

.c om

x1

x2

x3 0 1 0 0 0 1 0 0 0

x4 0 0 1 0 0 0

x5 0 0 0 1 5 2 0 4 2 3 M 5M 2M 4 2 1

4 5 0 a3 0 a4 0 a5 2 2 1 0 4 0 a3 0 a4 5 a2 2 -1 0 0 0 a3 4 a1 5 a2 0 1 0 1 1 0 0 0 1 0 0 0 1

1 1 M 3 0 4 1 1 4
om

M M 12 4M + 2 M +3 M

1 2

at ic
0

a1

0 1

1 1

La ultima tabla tiene factibilidad primal y dual y, por tanto, es optima. Sin em bargo, la variable de holgura de la restricci n articial, x5 , no est en la tabla o a optima. Entonces, el problema primal es no acotado y el dual infactible. 2 Problema infactible. Considerar el modelo lineal max z = 2x1 + x2 sujeto a x1 + x2 2 3x1 + x2 3 x1 , x2 0 A adiendo variables de holgura y la restricci n articial x1 + x2 M se tiene el n o problema

ww w.

at

em

.c

max z = 2x1 + x2 + 0x3 + 0x4 + 0x5 sujeto a x1 + x2 +x3 3x1 x2 x1 + x2 +x4 +x5 =2 = 3 =M

x1 , x2 , x3 , x4 , x5 0 x1 2 0 a3 0 a4 0 a5 1 3 1 0 0 a3 0 a4 2 a1 0 0 1 0 0 a3 1 a2 2 a1 0 0 1 0 0 a5 1 a2 2 a1 0 0 1 x2 1 1 1 1 1 0
ww

x3 0 1 0 0 0 1 0 0 0 1

x4 0 0 1 0

x5 0 0 0
om

0 2 3 M 2M M + 2 0 1 3

ic a at
0 1 0
1 4

at e

w.

1.c

1 2

3 3M 3 1
5 4 5 M 4

1 0 0 1 0 0

M 1 4
3 4

1
3 4 1 4

M + 2
3 M 4 1 M 4

0 1 4 0
5 4 1 4 1 4

3 4 3 4 7 4

3 4 1 4

0 1 0 0

0 1 1 0
3 4 1 4

0 1 4
1 4

M 2
9 4

1 4

El problema es infactible.

ww w.

M at e m at ic a1
.c om