Dualidade Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro - 2009 O problema Dual Certas vezes estamos interessados em encontrar uma estimativa da solução ótima em vez de encontrá-la, utilizando o método Simplex. Isto pode ser obtido através da procura de valores limites inferiores (para maximização) ou superiores (para minimização). O problema Dual Por exemplo: Por tentativa podemos estabelecer soluções viáveis para os problemas a seguir: O problema Dual Min Z = 5x1 - 2x2 Sujeito a: x1 ≤ 3 x2 ≤ 4 x1 + 2x2 ≤ 9 x1≥ 0 e x 2 ≥ 0 Max Z = 5x1 + 2x2 Sujeito a: x1 ≤ 3 x2 ≤ 4 x1 + 2x2 ≤ 9 x1≥ 0 e x 2 ≥ 0 solução (2,2) Z* ≤ 6 solução (1,3) Z* ≤ -1 solução (3,2) Z* ≤ 11 solução (2,2) Z* ≥ 14 solução (1,3) Z* ≥ 11 solução (3,2) Z* ≥ 19 O problema Dual No caso maximização, quando consideramos x1 = 2 e x2=2, o valor do limite inferior, Z = 14, fica automaticamente estabelecido, já que, como desejamos maximizar a função objetivo, podemos garantir que a função objetivo não ficará abaixo deste valor. Não podemos garantir se existe uma solução com um valor maior, porém menor não será. O problema Dual No caso da minimização, quando x1 = 2 e x2 = 2, o valor do limite superior, Z = 6, fica estabelecido. Não podemos garantir que existe uma solução onde o valor de Z seja menor, porém maior não será. O problema Dual O ideal seria estabelecer um intervalo onde podéssemos garantir que o nosso valor ótimo estivesse. Então vamos através do problema de maximização tentar estabelecer um limite superior para a nossa solução. O problema Dual Max Z = 5x1 + 2x2 Sujeito a: x1 ≤ 3 x2 ≤ 4 x1 + 2x2 ≤ 9 x1≥ 0 e x2 ≥ 0 Se multiplicarmos por 5 todos os valores da 3ª restrição, não alteraríamos a sua identidade e teriamos: O problema Dual 5x1 + 10x2 ≤ 45 Como os coeficiente da restrição acima são maiores que os coeficientes da função objetivo então 5x1 + 2x2 ≤ 5x1 + 10x2 ≤ 45 Logo a função objetivo não poderá alcançar nenhum valor superior a 45 O problema Dual Conclusão 1: a multiplicação de uma restrição por um valor positivo pode nos ajudar a obter um limite superior para o nosso problema O problema Dual Agora multiplicando a primeira restrição por 6 e a segunda por 3, e somando os resultados. 6x1 ≤ 18 + 3x2 ≤ 12 6x1 + 3x2 ≤ 30 Novamente os coeficiente da restrição acima são maiores que os coeficientes da função objetivo então 5x1 + 2x2 ≤ 6x1 + 3x2 ≤ 30 Logo a função objetivo não poderá alcançar nenhum valor superior a 30 (novo limite superior) O problema Dual Conclusão 2: Multiplicar cada restrição por uma constante inteira positiva e somar as novas restrições pode nos ajudar a obter um limite superior para o nosso problema O problema Dual Generalizando temos: Max Z = 5x1 + 2x2 Sujeito a: x1 ≤ 3 x (y1) y1x1≤ 3y1 x2 ≤ 4 x (y2) y2x2≤ 4y2 x1 + 2x2 ≤ 9 x (y3) y3x1 + 2y3x2 ≤ 9y3 x1≥ 0 e x2 ≥ 0 Após multiplicarmos cada restrição por uma constante positiva, somamos as restrições: O problema Dual y1x1 +y2x2 + y3x1 + 2y3x2 ≤ 3y1 +4y2 + 9y3 (y1 + y3)x1 +(y2 + 2y3)x2 ≤ 3y1 +4y2 + 9y3 Como devemos garantir que os coeficientes da restrição acima são maiores que o coeficientes da função objetivo, então temos: Z = 5x1 + 2x2 Logo: y1 + y3 ≥ 5 y2 + 2y3 ≥ 2 O problema Dual Portanto, se encontrarmos um conjunto de valores {y1, y2, y3} (constantes não negativos) que satisfaçam o conjunto de inequações acima, poderíamos substituir estes valores no lado esquerdo da inequação e estabelecer um limite superior para o nosso problema. O que desejamos na realidade é estabelecer o menor valor possível para o nosso limite superior. Isto matematicamente pode ser representado por: O problema Dual Min 3y1 +4y2 + 9y3 S.a: y1 + y3 ≥ 5 y2 + 2y3 ≥ 2 y1, y2 , y3 ≥ 0 O problema Dual De modo geral, podemos dizer que a todo problema de maximização de programação linear na forma padrão corresponde um problema de minimização denominado Problema Dual PRIMAL DUAL Max Z = 5x1 + 2x2 Sujeito a: x1 ≤ 3 x2 ≤ 4 x1 + 2x2 ≤ 9 x1≥ 0 e x2 ≥ 0 Min 3y1 +4y2 + 9y3 S.a: y1 + y3 ≥ 5 y2 + 2y3 ≥ 2 y1, y2 , y3 ≥ 0 O problema Dual De uma forma geral: Primal Dual n Max c x j 1 j j Min m b y i 1 n i i s.a : aij xi bi s.a : aij yi c j xj 0 yi 0 (i 1,2,..., m) (i 1,2,..., m) j 1 ( j 1,2,..., n) m i 1 ( j 1,2,..., n) O problema Dual Existe uma série de relações entre o Primal e o Dual, entre as quais podemos citar: Os termos constantes da restrições do Dual são os coeficientes das variáveis da função objetivo do Primal; Os coeficientes das variáveis da função objetivo do Dual são os termos constantes das restrições do Primal; As restrições do Dual são do tipo maior ou igual, ao passo que as do Primal são do tipo menor ou igual (na forma padrão); O número de variáveis do Dual é igual ao número de restrições do Primal; O número de restrições do Dual é igual ao número de variáveis do Primal A matriz dos coeficientes do Dual é a transposta da matriz dos coeficientes do Primal O problema Dual Existem algumas razões parra o estudo dos problemas duais. A primeira e mais importante são as interpretações econômicas que podemos obter dos valores das varáveis do Dual na solução ótima, tais como variações marginais. A segunda está ligada ao número de restrições. Computacionalmente falando é, algumas vezes, mais eficiente resolver o problema Dual. O problema Dual Teorema I O dual do dual é o primal. Teorema II Se a k-ésima restrição do primal é uma igualdade, então a k-ésima variável do dual (yk) é sem restrição de sinal, isto é, pode ter valor positivo, zero ou negativo. Teorema III Se a p-ésima variável do primal é sem restrição de sinal, então a p-ésima restrição do dual é uma igualdade. O problema Dual Propriedade Fraca da Dualidade Se o problema Primal e o Dual tiverem soluções compatíveis finitas, então Z ≤ D para qualquer solução compatível do Primal e qualquer solução compatível do Dual. Matematicamente n m j 1 i 1 Z c j x j bi yi D O problema Dual Propriedade Forte da Dualidade Se tanto o Primal quanto o Dual tiverem soluções compatíveis finitas, então existe uma solução ótima finita para cada um dos problemas, tal que Z* = D* Matematicamente n m j 1 i 1 Z * c j x j * bi yi * D * O problema Dual Teorema da Dualidade Dual Primal Tem Soluções Viáveis Ótima Sem Soluções Viáveis Ilimitada Inviável Tem Ótima Possível Impossível Impossível Soluções Ilimitada Impossível Impossível Possível Viáveis Sem Soluções Inviável Viáveis Impossível Possível Possível Exercício Dado o problema abaixo, ache o seu dual e resolva o dual através do método tablausimplex (use o método da função objetivo artificial). Max Z = 5x1 + 6x2 sa: x1 + 2x2 ≤ 14 x1 + x 2 ≤ 9 7x1 + 4x2 ≤ 56 x1 e x 2 ≥ 0 Referências LACHTERMACHER, G. Pesquisa Operacional na Tomada de Decisões: modelagem em Excel. São Paulo: Campus, 2006.