Pesquisa Operacional Teoria da Dualidade Profa. Sheila Morais de Almeida DAINF-UTFPR-PG outubro - 2015
Problema Dual Cada problema de Programa de Programação Linear está associado a um outro problema de PL que chamamos de Problema Dual. O problema original é chamado de Problema Primal. Primal Dual Max z = cx Min w = b t y s.a: Ax b s.a: A t y c t x 0 y 0
Construção do Problema Dual
Construção do Problema Dual Considere o seguinte Problema Primal de PL: Max z = x 1 + x 2 + x 3 s.a: x 1 x 2 + x 3 15 2x 1 + x 2 + 5x 3 30 5x 1 2x 2 = 10 x 1 + 3x 2 + 7x 3 20 x 1 0, x 2 0, x 3 R
Construção do Problema Dual Considere o seguinte Problema Primal de PL: Min w = 15y 1 + 30y 2 + 10y 3 + 20y 4 s.a: y 1 + 2y 2 + 5y 3 + 1y 4? 1 y 1 + y 2 2y 3 + 3y 4? 1 y 1 + 5y 2 + 7y 4? 1 y 1, y 2, y 3, y 4?
Construção do Problema Dual
Construção do Problema Dual Considere o seguinte Problema Primal de PL: Min w = 15y 1 + 30y 2 + 10y 3 + 20y 4 s.a: y 1 + 2y 2 + 5y 3 + 1y 4 1 y 1 + y 2 2y 3 + 3y 4 1 y 1 + 5y 2 + 7y 4 = 1 y 1 0, y 2 0, y 3 R, y 4 0
Observações importantes O dual do Problema Dual é o Problema Primal. A cada restrição do Problema Primal corresponde uma variável do Problema Dual e vice-versa.
Dualidade Fraca Teorema da Dualidade Fraca Seja o Primal um problema de maximização. Toda solução viável do Problema Primal tem valor menor ou igual ao de qualquer solução viável do Dual. Sejam z = cx uma solução viável do Problema Primal e w = b t y uma solução viável do Problema Dual. Então z w.
Possíveis casos da relação entre soluções ótimas dos problemas Primal e Dual Caso 1: Se o Primal é ilimitado, então o Dual é inviável. Caso 2: Se o Dual é ilimitado, então o Primal é inviável. Caso 3: O Primal e o Dual são limitados. Os valores das funções objetivo das soluções ótimas são iguais. Se z é a solução ótima do Primal e w é a solução ótima do Dual, então z = w. Caso 4: O Primal e o Dual são inviáveis.
Dualidade Forte Teorema da Dualidade Forte O Problema Primal é limitado se, e somente se, o Dual é limitado. Nesse caso, os valores das funções objetivos das soluções ótimas do Primal e do Dual são iguais.
Se o Primal é ilimitado, o Dual é inviável Primal ilimitado Dual inviável Max z = x Min w = y s.a: x 1 s.a: y 1 x 0 y 0 região factível 0 1 0 1
Se o Dual é ilimitado, o Primal é inviável Primal inviável Dual ilimitado Max z = x Min w = y s.a: x 1 s.a: y 1 x 0 y 0 região factível -1 0 0 1
O Primal e o Dual são limitados Primal limitado Dual limitado Max z = x Min w = y s.a: x 1 s.a: y 1 x 0 y 0 região factível região factível 0 1 0 1
O Primal e o Dual são inviáveis Primal inviável Dual inviável Max z = x 1 +x 2 Min w = y 1 +y 2 s.a: x 1 1 s.a: y 1 1 x 2 1 y 2 1 x 1, x 2 0 y 1 0, y 2 0 x 2 y 2 1 1-1 0 x 1 0-1 1 y 1
Teorema das Folgas Complementares Teorema das Folgas Complementares (x, s ) é uma solução viável ótima do Primal e (y, t ) é uma solução viável ótima do Dual se, e somente se, para todo j {1,..., n}, x j t j = 0; e, para todo i {1... m}, y i s i = 0, onde n é o número de variáveis do primal e m é o número de restrições do primal.
Problema Primal: Max z = 5x 1 + 6x 2 + 4x 3 s.a: x 1 2x 2 + x 3 1 5x 1 + x 2 + x 3 3 x 1 0 e x 2, x 3 0
Problema Dual: Min w = y 1 + 3y 2 s.a: y 1 + 5y 2 5 2y 1 + y 2 6 y 1 + y 2 4 y 1, y 2 0
Como o Problema Dual tem duas variáveis, podemos resolvê-lo pelo Método Gráfico: y 2 -y 1 + 5y 2 > 5-5 1 y 1
Como o Problema Dual tem duas variáveis, podemos resolvê-lo pelo Método Gráfico: y 2-5 -3-2 y 1 + y 2 < 6 1 6 -y 1 + 5y 2 > 5 y 1
Como o Problema Dual tem duas variáveis, podemos resolvê-lo pelo Método Gráfico: y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 4 -y 1 + 5y 2 > 5 y 1
Sabemos que a solução ótima corresponde a um dos vértices do poĺıgono da região factível. y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 4 -y 1 + 5y 2 > 5 y 1
Sabemos que a solução ótima corresponde a um dos vértices do poĺıgono da região factível. y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 P 1 = (0,4) 4 -y 1 + 5y 2 > 5 y 1
Sabemos que a solução ótima corresponde a um dos vértices do poĺıgono da região factível. y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 P 1 = (0,4) P 2 = (0,1) 4 -y 1 + 5y 2 > 5 y 1
Sabemos que a solução ótima corresponde a um dos vértices do poĺıgono da região factível. y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 P 1 = (0;4) P 2 = (0;1) P 3 = (2,5;1,5) 4 -y 1 + 5y 2 > 5 y 1
Como é um problema de minimização, procuramos o ponto que resulta no menor valor da função objetivo. Min w = y 1 + 3y 2 y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 P 1 = (0;4) w = 12 P 2 = (0;1) P 3 = (2,5;1,5) w = 7 w = 3 4 -y 1 + 5y 2 > 5 y 1
Como é um problema de minimização, procuramos o ponto que resulta no menor valor da função objetivo. Min w = y 1 + 3y 2 y 2 y 1 + y 2 < 4 6-5 -2 y 1 + y 2 < 6-3 1 4 P 1 = (0;4) w = 12 P 2 = (0;1) P 3 = (2,5;1,5) w = 7 w = 3 4 -y 1 + 5y 2 > 5 y 1 P 2 é a solução ótima, com y 1 = 0, y 2 = 1 e w = 3.
Pelo Teorema da Dualidade Forte, a solução ótima do Problema Primal tem z = w = 3. Max z = 5x 1 + 6x 2 + 4x 3 s.a: x 1 2x 2 + x 3 1 5x 1 + x 2 + x 3 3 x 1 0 e x 2, x 3 0
Vamos utilizar o Teorema das Folgas Complementares para determinar os valores de x 1, x 2 e x 3. Primeiro, vamos colocar as variáveis de folga do Problema Primal: Max z = 5x 1 + 6x 2 + 4x 3 s.a: x 1 2x 2 + x 3 + s 1 + 0s 2 = 1 5x 1 + x 2 + x 3 + 0s 1 + s 2 = 3 x 1, s 1, s 2 0 e x 2, x 3 0
Vamos utilizar o Teorema das Folgas Complementares para determinar os valores de x 1, x 2 e x 3. Agora, vamos colocar as variáveis de folga do Problema Dual: Min w = y 1 + 3y 2 s.a: y 1 + 5y 2 t 1 + 0t 2 + 0t 3 = 5 2y 1 + y 2 + 0t 1 + t 2 + 0t 3 = 6 y 1 + y 2 + 0t 1 + 0t 2 + t 3 = 4 y 1, y 2, t 1, t 2, t 3 0
Como y 1 = 0 e y 2 = 1 na solução ótima do Dual, podemos deduzir: y 1 + 5y 2 t 1 + 0t 2 + 0t 3 = 5 2y 1 + y 2 + 0t 1 + t 2 + 0t 3 = 6 y 1 + y 2 + 0t 1 + 0t 2 + t 3 = 4 Da primeira linha das restrições do Dual: y 1 + 5y 2 t 1 = 5 (0) + 5(1) t 1 = 5 t 1 = 0 t 1 = 0
Como y 1 = 0 e y 2 = 1 na solução ótima do Dual, podemos deduzir: y 1 + 5y 2 t 1 + 0t 2 + 0t 3 = 5 2y 1 + y 2 + 0t 1 + t 2 + 0t 3 = 6 y 1 + y 2 + 0t 1 + 0t 2 + t 3 = 4 Da segunda linha das restrições do Dual: 2y 1 + y 2 + t 2 = 6 2(0) + 1 + t 2 = 6 t 2 = 5 t 1 = 0, t 2 = 5
Como y 1 = 0 e y 2 = 1 na solução ótima do Dual, podemos deduzir: y 1 + 5y 2 t 1 + 0t 2 + 0t 3 = 5 2y 1 + y 2 + 0t 1 + t 2 + 0t 3 = 6 y 1 + y 2 + 0t 1 + 0t 2 + t 3 = 4 Da terceira linha das restrições do Dual: y 1 + y 2 + t 3 = 4 0 + 1 + t 3 = 4 t 3 = 3 t 1 = 0, t 2 = 5, t 3 = 3
Pelo Teorema das Folgas Complementares, x i t i = 0, 0 i 3 e u i s i = 0, 0 i 2.
Como y 1 = 0, y 2 = 1, t 1 = 0, t 2 = 5 e t 3 = 3, podemos deduzir: y 1 s 1 = 0 0s 1 = 0. Então, não podemos concluir o valor de s 1. y 2 s 2 = 0 1s 2 = 0 s 2 = 0. t 1 x 1 = 0 0x 1 = 0. Então, não podemos concluir o valor de x 1. t 2 x 2 = 0 5x 2 = 0 x 2 = 0. t 3 x 3 = 0 3x 3 = 0 x 3 = 0.
Como s 2 = 0, x 2 = 0 e x 3 = 0, podemos deduzir: x 1 2x 2 + x 3 + s 1 + 0s 2 = 1 5x 1 + x 2 + x 3 + 0s 1 + s 2 = 3 Da primeira linha de restrições do Primal: x 1 2x 2 +x 3 +s 1 = 1 x 1 2(0)+0+s 1 = 1 x 1 +s 1 = 1.
Como s 2 = 0, x 2 = 0 e x 3 = 0, podemos deduzir: x 1 2x 2 + x 3 + s 1 + 0s 2 = 1 5x 1 + x 2 + x 3 + 0s 1 + s 2 = 3 Da segunda linha de restrições do Primal: 5x 1 + x 2 + x 3 + s 2 = 3 5x 1 + (0) + 0 + 0 = 3 x 1 = 3 5.
Como x 1 = 3 5 e x 1 + s 1 = 1, podemos deduzir: 3 5 + s 1 = 1 s 1 = 1 + 3 5 = 8 5. Então, a solução do Primal é: x 1 = 3 5, x 2 = 0, x 3 = 0. E a solução ótima é z = 5x 1 + 6x 2 + 4x 3 = 5 3 5 + 6(0) + 4(0) = 3.