Você está na página 1de 9

/var/www/apps/conversion/current/tmp/scratch14690/98690777.

doc

31/05/12

Dualidade em Otimizao Linear


Socorro Rangel A cada problema de programao linear: max Z = cx s.a Ax b x0 min D = b s.a . A c 0 O problema original chamado de problema primal. Existem vrias relaes entre estes dois problemas. Podemos observar que: i) O sentido de otimizao no par Primal/Dual contrrio. Neste exemplo, o sentido no problema (P) max, enquanto que o sentido de otimizao no problema (D) min; ii) A matriz de restries do problema Dual a transposta da matriz de restries do problema Primal. Portanto, o nmero de variveis do problema dual igual ao nmero de restries do problema primal e vice-versa; iii) O termos do lado direito nas inequaes do Primal (vetor b ) so os coeficientes da funo objetivo do problema Dual. E os coeficientes da funo objetivo do problema Primal (vetor c ) formam os termos do lado direito das restries do problema Dual; iv) As restries do Primal so do tipo e as do Dual so ; v) Sinal das variveis do problema Primal e Dual : 0 ; Exemplo: Considere o problema: max Z = 10 x1 + 7 x 2 + 15 x3 s.a 5 x1 + 4 x 2 + x3 80 2 x1 + 3 x 2 + 5 x3 30 x1 , x 2 , x3 0 (1)

(P)

Podemos associar um outro problema, chamado problema dual, na forma:

(D)

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

Como construir o problema Dual? i) sentido de otimizao: min ii) nmero de variveis: 2 e nmero de restries : 3 iii) coeficientes da funo objetivo: 80 e 30 iv) sinal das restries : v) sinal das variveis : 0 O problema Dual ento: min D = 80 1 + 30 2 s.a 5 1 + 2 2 10 4 1 + 3 2 7 (2)

1 + 5 2 15 1 , 2 0
Qual a relao entre os problemas (1) e (2)? Como interpretar o problema Dual (2)? Vamos supor que o problema primal esteja associado ao problema do planejamento da produo de trs tipos de molhos a partir de dois ingredientes : Ketchup e Mostarda1. Estes dois ingredientes so misturados na proporo 5:2, 4:3 e 1:5 para gerarem os molhos 1, 2 e 3. O objetivo maximizar os lucros associados com a venda dos trs tipos de molhos. E o problema Dual? Vamos supor que um concorrente esteja interessado em comprar as matrias primas Ketchup e mostarda. Qual seria o preo justo a ser cobrado? Isto : qual o custo interno destes ingredientes? Sejam as variveis duais 1 , 2 o preo a ser cobrado por cada um dos ingredientes respectivamente. A primeira restrio do problema Dual indica que a receita proveniente da venda de 5 unidades de ketchup e 2 unidades de mostarda ( de acordo com a frmula para produzir o molho 1) tem que ser maior ou igual ao lucro obtido com a venda do molho 1. De forma similar podemos interpretar as demais restries do problema dual. Ou seja, as restries do problema dual indicam que a receita obtida com venda da matria prima, em quantidades correspondentes as propores
1

Puccini

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

necessrias para a produo de uma unidade do molho 1 ( x1 ), deve ser maior ou igual ao lucro obtido com a produo de x1 . claro que a idia cobrar o menor preo possvel para que o concorrente continue interessado na compra da matria prima. Portanto queremos min o preo total a ser cobrado com a venda da materia prima disponvel: 80 unidades de ketchup e 30 de mostarda. Ser que as solues destes dois problemas tambm esto relacionadas? Exerccio: Resolver os problemas (1) e (2) pelo mtodo simplex revisado e comparar as solues obtidas.

Construo do Problema Dual


Considere o problema: max Z = cx s.a Ax = b x0 qual o seu dual? Antes de discutirmos o caso geral, vamos escrever o dual de um caso particular: max Z = 2 x1 + 3 x 2 + x3 s.a 3 x1 + x 2 + x3 = 6 x1 + 2 x 2 + 5 x3 = 4 x1 , x 2 , x3 0 vamos substituir as retries de igualdade = por 2 restries de desigualdade e : max Z = 2 x1 + 3 x 2 + x3 s.a 3 x1 + x 2 + x3 6 3 x1 + x 2 + x3 6 x1 + 2 x 2 + 5 x3 4 x1 + 2 x 2 + 5 x3 4 x1 , x 2 , x3 0

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

transformando as restries do tipo em , temos: max Z = 2 x1 + 3 x 2 + x3 s.a 3 x1 + x 2 + x3 6 3 x1 x 2 x3 6 x1 + 2 x 2 + 5 x3 4 x1 2 x 2 5 x3 4 x1 , x 2 , x3 0 agora nos temos condies de escrever o dual do problema (3): i) sentido de otimizao: min ii) nmero de variveis: 4 e nmero de restries : 3 iii) coeficientes da funo objetivo: 6, -6, 4, -4 iv) sinal das restries : v) sinal das variveis : 0 O problema Dual ento: max Z = 6 1 6 1 + 4 2 4 2 s..a (4) (3)

1 , 2 , 3 , 4 0
Se fizermos: 1 = 1 1 e 2 = 2 2 , o problema (4) pode ser reescrito como: Ou seja, de uma maneira geral temos o seguinte par primal/dual: max Z = cx s.a Ax = b x0 min D = b s.a (D) A c livre

(P)

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

Propriedades
Vamos ver a seguir que o conceito de dualidade relativo. Qualquer um dos problemas em um par primal/dual pode ser considerado primal e vice-versa. Lema 1 - O dual do problema dual igual ao problema primal. Prova: Considere o par primal/dual: max Z = cx s.a Ax b x0 min D = b s.a A c 0

(P)

(D)

Vamos construir o dual do problema (D). At agora so conhecemos a forma dual de problemas escretos no formto do problema (P) acima. Portanto vamos transformar o problema (D) para aquele formato. Basta multiplicar a funo objetivo e as restries por (-1), par ober: max D = b s.a A c 0 o dual do problema (D) : min P = yc s.a yA b y0

(D)

(P)

fazendo y = x e multiplicando a funo objetivo e as restries por (-1), o problema (P) pode ser reescrito como max P = cx s.a Ax b x0 que o problema (P). Exemplo:
5

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

max Z = 2 x1 2 x 2 + x3 s.a x1 + x 2 + x3 10 3 x1 2 x 2 2 x3 20 x1 x 2 x3 25 x1 , x 2 , x3 0 Escrevendo o problema no formato (P) temos: max Z = 2 x1 2 x 2 + x3 s.a x1 x 2 x3 10 x1 + 2 x 2 + 2 x3 20 x1 + x 2 + x3 25 x1 , x 2 , x3 0 o dual de (P) : min D = 10 1 20 2 25 3 s.a 1 2 3 2 1 + 2 2 + 3 2 1 + 2 2 + 3 1 (5) (P)

1 , 2 , 3 0
se fizermos uma mudana de variveis: vi = i , o problema (5) se torna: min D = 10v1 + 20v 2 + 25v3 s.a v1 + v 2 + v3 2 v1 2v 2 v3 2 v1 2v 2 v3 1 v1 , v 2 , v3 0 de uma maneira geral. podemos ento dizer que o dual de um problema no formato: max Z = cx s.a Ax b x0
6

min D = b s.a . A c 0

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

Conhecidas estas formas de dualidade, e usando o Lema 1, podemos montar o seguinte diagrama: Regras de Correspondncias entre os Problemas Primal e Dual max Restrio = Varivel livre min livre ?(completar) ?(completar) Restrio Varivel

Relaes entre os problemas Pimal/Dual


Vamos apresentar agora algumas propriedades que explicitam as relaes entre o par de problemas Primal/Dual. Teorema Fraco da Dualidade - Considere o par Primal/Dual: max Z = cx s.a Ax b x0 min D = b s.a A c 0

(P)

(D)

Se x e so solues factveis para os problemas Primal/Dual respectivamente, ento: Z D. Prova: Vamos reescrever o par Primal/dual Exemplo: Considere as seguintes solues factveis para os problemas (1) e (2) abaixo: max Z = 10 x1 + 7 x 2 + 15 x3 s.a 5 x1 + 4 x 2 + x3 80 2 x1 + 3 x 2 + 5 x3 30 x1 , x 2 , x3 0
7

min

D = 80 1 + 30 2 s.a 5 1 + 2 2 10 4 1 + 3 2 7

(1)

(2)

1 + 5 2 15 1 , 2 0

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

a) ( x1 , x2 , x3 ) = (0,0,6) , Z= 90 e ( 1 , 2 ) = (0.87,2.83) , D = 154.35 e temos Z D .Esta informao nos diz que o valor timo destes problemas esta dentro do intervalo: [90,154.35]. b) ( x1 , x 2 , x 3 ) = (15,0,0) , Z= 150 e ( 1 , 2 ) = (0,5) , D = 150

Corolrio I - Considere o par Primal/Dual: max Z = cx s.a Ax b x0 min D = b s.a A c 0

(P)

(D)

Se x * e * so solues factveis para os problemas Primal/Dual respectivamente, e cx * = * b . ento x * e * so as solues timas para os respectivos problemas.

Mas os dois problemas sempre tero solues timas? 1) O que acontece com a soluo do problema dual se o problema primal ilimitado? O dual infactvel. Ex. 2) Os dois problemas podem ser infactveis? max Z = x1 + x 2 s.a x1 x 2 1 x1 + x 2 1 x1 , x 2 0 sim. Teorema Fundamental Da Dualidade - Considere um par Primal/Dual de problemas de programao Linear. Ento uma e apenas uma das seguintes situaes ocorrer:
8

min (1)

D = 1 2 s.a 1 2 1 1 + 2 1 (2)

1 , 2 0

/var/www/apps/conversion/current/tmp/scratch14690/98690777.doc

31/05/12

1) Se o problema primal possui soluo tima, x * , ento o problema dual possui soluo otima * e alm disso: Z= c Z * = c t x * = b t * = D * . 2) Se um dos problemas ilimitado, ento o outro infactvel. 3) Os dois problemas so infactveis. O resultado deste teorema pode ser resumido no seguinte diagrama: Dual factvel Primal factvel infactvel max Z = min D
D

infactvel Z pode ocorrer

Teorama das Folgas Complementares - Considere o par Primal/Dual: max Z = cx s.a Ax b x0 min D = b s.a A c 0

(P)

(D)

Seja x * e * so solues factveis para os problemas Primal/Dual respectivamente. Ento x * e * so solues timas se e somente se :

(b

A i x * i* = 0, i = 1,..., m

(c

* A j x * = 0, j

j = 1,..., n