Você está na página 1de 32

PESQUISA OPERACIONAL

Dualidade

Professor Volmir Wilhelm


Professora Mariana Kleina
Dualidade

A cada problema de programação linear (problema de programação linear


primal) corresponde um outro (dual) formando o par de problemas duais:

pl pl
primal dual

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 2


Dualidade – contextualização 1
Deseja-se produzir 3 diferentes molhos a partir da mistura de catchup e mostarda.
A quantidade disponível de catchup é 80 unidades e de mostarda é 30 unidades.

Seja o programa linear a seguir que consiste em definir as quantidades ótimas x1,
x2 e x3 dos molhos do tipo 1, 2 e 3 que consistem em diferentes misturas do
catchup e mostarda.

max Z  10 x1  7 x2  15 x3
s.a 5 x1  4 x2  x3  80
2 x1  3x2  5 x3  30
x1 , x2 , x3  0
Problema da produção
pl primal (PP)
Problema de Programação linear PRIMAL

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 3


Dualidade – contextualização 1
Suponha que um comprador propõe adquirir toda a matéria prima de fábrica,
interrompendo a produção:

• Uma unidade de catchup custará y1 > 0


• Uma unidade de mostarda custará y2 > 0

Os valores de compra y1 e y2 serão fixados arbitrariamente pelo comprador.


Entretanto o dono da fábrica pretende assegurar “certa vantagem” para que não
saia no prejuízo.

Qual o preço mínimo de venda destes ingredientes (visão do vendedor)?

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 4


Dualidade – contextualização 1

max Z  10 x1  7 x 2  15 x3
s.a 5 x1  4 x 2  x3  80
2 x1  3x 2  5 x3  30
x1 , x 2 , x3  0

Para produzir 1 unidade do primeiro molho, usa-se 5 unidades de catchup e 2


unidades de mostarda. Esta unidade produzida é vendida por 10 unidades
monetárias.

Portanto, vale a pena vender estas 5 unidades de catchup e esta 1 unidade de


mostarda se o comprador pagar pelo menos 10 unidades monetárias

5 y1  2 y2  10
5
Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina
Dualidade – contextualização 1
max Z  10 x1  7 x 2  15 x3
s.a 5 x1  4 x 2  x3  80 Problema da produção
pl primal (PP)
2 x1  3x 2  5 x3  30
x1 , x 2 , x3  0

“VANTAGEM”
5 y1  2 y2  10

4 y1  3 y2  7
 y  5 y  15
 1 2

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 6


Dualidade – contextualização 1
O desembolso do comprador será D = 80y1 + 30y2
O comprador poderá minimizá-lo manipulando adequadamente os valores unitários
das matérias primas y1 e y2

Problema do comprador (Dual-PD)

min D  80 y1  30 y 2
s.a 5 y1  2 y 2  10
4 y1  3 y 2  7 Problema da produção
y1  5 y 2  15 ppl dual (PD)
y1 , y 2  0

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 7


Primal e Dual

min D  80 y1  30 y 2
max Z  10 x1  7 x 2  15 x3
s.a 5 y1  2 y 2  10
s.a 5 x1  4 x 2  x3  80
4 y1  3 y 2  7
2 x1  3x 2  5 x3  30 y1  5 y 2  15
x1 , x 2 , x3  0 y1 , y 2  0

max Z(x) = cx min D(y) = ybT


s.a Ax ≤ b s.a ATy ≥ cT
x≥0 y≥0

ppl primal (PP) ppl dual (PD)

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 8


Dualidade – contextualização 2
Quer-se consumir quantidades de determinados alimentos de tal forma a
satisfazer as necessidades mínimas de nutrientes exigidas a um custo mínimo,
problema este ilustrado pelo quadro seguinte.
Alimentos Necessidades mínimas
a1 a2 a3 a4 a5 de nutrientes (g)
Proteinas (g) 3 4 5 3 6 42
Sais minerais (g) 2 3 4 3 3 24
Custos (R$) 25 35 50 33 36

min Z  25 x1  35 x 2  50 x3  33x 4  36 x5
3x1  4 x 2  5 x3  3x 4  6 x5  42
2 x1  3x 2  4 x3  3x 4  3x5  24
x1 , x 2 , x3 , x 4 , x5  0

Problema da dieta
pl primal (PP)

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 9


Dualidade – contextualização 2
Suponha que um vendedor de pílulas de proteínas e pílulas de sais minerais
propõe substituir a dieta de alimentos expressa de acordo com a tabela, por uma
dieta de pílulas, com as seguintes condições:

1 - a pílula de proteína (cada uma pesando 1g) custará w1;


2 - a pílula de sais minerais (cada uma pesando 1g) custará w2;
3 - os preços w1 e w2 serão fixados arbitrariamente;
4 - o vendedor garante que as pílulas terão preços iguais ou mais baratos que
qualquer alimento;
5 - o vendedor pretende, é claro, maximizar sua renda de modo a satisfazer a
necessidade da dieta.

Qual é o preço máximo de compra destas pílulas (visão do comprador)?

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 10


Dualidade – contextualização 2
O ganho do comprador será D = 42w1 + 24w2
O comprador poderá maximizá-lo manipulando adequadamente os valores unitários
das pílulas w1 e w2

Problema do vendedor (Dual-PD)

max D  42 w1  24 w2
s.a 3w1  2 w2  25
4 w1  3w2  35
Problema da dieta
5w1  4 w2  50
pl dual (PD)
3w1  3w2  33
6 w1  3w2  36
w1 , w2  0

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 11


Primal e Dual

max D  42 w1  24 w2
s.a 3w1  2 w2  25
min Z  25 x1  35 x2  50 x3  33 x4  36 x5
4 w1  3w2  35
3x1  4 x2  5 x3  3x4  6 x5  42
5w1  4 w2  50
2 x1  3x2  4 x3  3x4  3x5  24
3w1  3w2  33
x1 , x2 , x3 , x4 , x5  0
6 w1  3w2  36
w1 , w2  0

min Z(x) = cx max D(w) = wbT


s.a Ax ≥ b s.a ATw ≤ cT
x≥0 w≥0

ppl primal (PP) ppl dual (PD)

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 12


Dualidade – Propriedades
A cada modelo de pl corresponde um outro modelo, denominado de dual. Por exemplo:

max Z  c1 x1  ...  cn xn min D  b1 y1  ...  bm ym


s.a a11x1  ...  a1n xn  b1 s.a a11 y1  ...  am1 ym  c1
a21x1  ...  a 2 n xn  b2 a12 y1  ...  am 2 ym   c2
... ... ... ...
am1 x1  ...  amn xn  bm a1n y1  ...  amn ym  cn
x1  0 xn  0 y1  0 ym  0

Observações:
• A função objetivo do dual é de minimização, e a do primal é de maximização;
• O elementos do vetor b = (b1,b2,...,bm) (rhs) do primal formam a função objetivo do
dual;
• Os elementos do vetor c = (c1,c2,...,cn) do primal é o vetor rhs (b) do dual;
• As restrições do dual são do tipo , e do primal são do tipo ;
• 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 dual.

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 13


Relação entre Primal e Dual

Primal  Dual
(max) (min)
restrição k é  yk  0
restrição k é = yk livre
restrição k é  yk  0
xp  0 restrição p é 
xp é livre restrição p é =
xp  0 restrição p é 

Dual  Primal
(max) (min)

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 14


Dualidade – exemplos

max Z  2 x1  3 x2 min D  4 y1  6 y2
s.a  x1  2 x2  4 s.a  y1  y2  2
Primal: Dual:
x1  x2  6 2 y1  y2  3
x1 , x1  0 y1 , y1  0

max Z  2 x1  3 x2 min D  4 y1  6 y2
Primal  Dual
s.a  x1  2 x2  4 s.a  y1  y2  2
Primal: Dual: (max) (min)
x1  x2  6 2 y1  y2  3
x1 , x2  0 y1  0; y2 livre restrição k é  yk  0

max Z  2 x1  3 x2 restrição k é = yk livre


min D  4 y1  9 y 2 6 y3
s.a  x1  2 x2  4 restrição k é  yk  0
s.a  y1  y2  y3  2
Primal: x1  3 x2  9 Dual:
2 y1  3 y2 y2  3 xp  0 restrição p é 
x1  x2  6
y1 , y3  0 y 2  0
x1 , x2  0 xp é livre restrição p é =

max Z  2 x1  3 x2 min D  4 y1  6 y2 xp  0 restrição p é 


s.a  x1  2 x2  4 s.a  y1  y2  2 Dual  Primal
Primal: Dual:
x1  x2  6 2 y1  y2  3 (max) (min)
x1  0; x2 livre y1 , y2  0

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 15


TEOREMAS

16
Teorema Fraco da Dualidade

Seja x um valor viável Seja y um valor viável


do (PP), isto é: de (PD), isto é:
Ax ≤ b ATy ≥ cT
x≥ 0 y≥ 0

Então:
Z(x) ≤ D( y)

continua ...
bTy – cTx é o gap da dualidade associado a x e y viáveis primal e dual

Departamento de Engenharia de Sistemas - (DENSIS) FEEC/UNICAMP 17


... continuação
Teorema Fraco da Dualidade
Sejam os problemas primal e dual.

max Z  c T x min D  bT y
sa Ax  b sa A T y  c
x0 y0

Teorema: Se x e y são soluções viáveis para o par de problemas primal e dual, então Z  D .

Dem.: Z  cT x  A T y  x  y T Ax  y T b  bT y  Z  D
T

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 18


Corolário

Se x* e y* são soluções viáveis de (PP) e (PD) tal que

Z(x*) = cTx* = y*bT = D(y*)

então x* e y* são soluções ótimas do (PP) e (PD).

continua ...

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 19


... continuação
Corolário
Sejam os problemas primal e dual.

max Z  c T x min D  b T y
sa Ax  b sa A T y  c
x0 y0

Corolário: Se x* e y* são soluções viáveis para o par de pl’s primal e dual, tais que Z* = D*, então elas
constituem soluções ótimas.

Dem.: Pela definição de solução ótima sabe-se que, se x* e y* são soluções ótimas, então Z  Z* e D  D*. Por
hipótese tem-se Z* = cTx* = bTy* = D*. Se y é uma solução viável do dual, do teorema anterior tem-
se que cTx*  bTy e portanto (devido a hipótese) bTy*  bTy. A demonstração é semelhante para uma
solução viável do primal.

Assim para a soluções ótimas x* e y* do primal e dual temos


n m
Z   c x   bi y *i  D*
* *
j j
j1 i 1

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 20


COMENTÁRIOS

 PL primal é um problema de maximização


 PL dual é um problema de minimização
 O método simplex aplicado a (PP) evolui de uma solução básica viável para outra
solução básica viável sempre no sentido de aumentar a função objetivo Z(x)

Valores
de
Método simplex
D(y)
D(y) Aplicado a (PD)


Valores
Ótimo! Método simplex
de Z(x)
Z(x) Aplicado a (PP)

 O método simplex aplicado a (PD) evolui uma de solução básica viável para outra
solução básica viável sempre no sentido de diminuir a função objetivo D(y) continua ...
Departamento de Engenharia de Sistemas - (DENSIS) FEEC/UNICAMP 21
... continuação
Corolário
Sejam os problemas primal e dual.

max Z  cT x min D  bT y
sa Ax  b sa AT y  c
x0 y0

Corolário
Se tanto o primal como o problema dual admitem soluções factíveis, então ambos têm

D
Z* limite mínimo do dual
D* limite máximo do primal
Z

soluções ótimas tais que Z*=D*.

Resultados importantes:
i) Se o primal tende para o infinito, então o dual não tem solução viável;
ii) Se o dual tende para menos infinito, então o primal não tem solução viável;
iii) É possível que ambos não tenham solução viável.
Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 22
Corolário

Se um dos problemas tem valor ilimitado, então seu dual será inviável.

Exemplo

(PP)
x2
max Z = - x1 + 2x2
s.a x1 - 2x2  4
- x1 + x2  3
x1 0, x2  0
c

x1 continua ...

Departamento de Engenharia de Sistemas - (DENSIS) FEEC/UNICAMP 23


... continuação

w2

(PD)
min D = 4 w1 + 3 w2
s.a w1 - w2  - 1
-2w1 + w2  2
w1  0, w2  0
w1

OUTRO RESULTADO: Se um dos problemas do par primal-dual tem solução


ótima finita,o outro também terá.

Departamento de Engenharia de Sistemas - (DENSIS) FEEC/UNICAMP 24


Teorema Forte da Dualidade

Sejam os problemas primal e dual.

min Z  c T x max D  bT y
sa Ax  b sa A T y  c
x0 y livre
Seja A  N B (somente B quadrada) e tal que B1 .
Ax  b  Nx N  Bx B  b  Bx B  b  Nx N  B1Bx B   B1b  Nx N 
IxB  B1b  B1Nx N  xB  B1b  B1Nx N solução geral

   
Z  cT x  cBT x B  cNT xN  Z  cBT B1b  B1Nx N  cNT xN ⇒ Z  cBTB1b  cNT  cBTB1N x N

Seja x* a solução ótima viável do problema primal. Então x*B , x*N   B1b,0 , e pode-se escrever
*
 
Z  cBTB1b  cNT  cBTB1N x N  0T x B

continua ...

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 25


... continuação
Teorema Forte da Dualidade

Teorema
Seja X ≠ ∅ o conjunto das soluções viáveis do primal, e que Z(x)  e é finito/limitado. Então  x*  X e
y *  Y tal que cT x*  bT y * .

Dem.: Vamos derivar uma solução para o dual a partir da solução ótima do primal.
Seja y T  cBTB1 . Desejamos provar que yT é solução ótima do dual.
i) y é uma solução viável do dual

T
 T
cN  cNT  cBTB1N  cNT  y TN  cNT  y TN  0 (da otimalidade de x*).
 
T
 cN  y TN  0  cN  NT y  0  NT y  cN Portanto NT y  cN


T
  
cB  cBT  cBTB1B  cBT  cBTB1 B  cBT  y TB  0  y TB  cBT  cBT  y TB  0 
T

  T
 cB  y TB  0  cB  BT y  0  BT y  cB . Portanto B y  cB .
T T

ii) y é uma solução ótima do dual


   
y Tb  cBTB1 b  cBT B1b  cBT x*B  cT x* . Portanto y  y * .

Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 26


TEOREMA DA FOLGA COMPLEMENTAR

Quadro inicial

Base x1 x2 ... xn xn+1 xn+2 ... xn+m b


Z -c1 -c2 ... -cn 0 0 ... 0 0 (0)
xn+1 a11 a12 ... a1n 1 0 ... 0 b1 (1)
xn+2 a21 a22 ... a2n 0 1 ... 0 b2 (2)
... ... ... ... ... ... ... ... ... ... ...
xn+m am1 am2 ... amn 0 0 ... 1 bm (m)

Quadro ótimo

Base x1 ... xj ... xn xn+1 xn+i ... xn+m b


Z cj  pj  cj cni  pni (0)
(1)
(2)
...
(m)
continua ...
Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 27
... continuação
TEOREMA DA FOLGA COMPLEMENTAR

(a) O valor ótimo da variável yi do dual é igual ao coeficiente na linha (0) do quadro ótimo
da variável de folga xn+i do primal, isto é,

yi*  pn*i , i ,1,2,..., m

(b) O valor ótimo da variável de folga ym+j do dual é igual ao coeficiente na linha (0) do
quadro ótimo da variável xj do primal, isto é,

ym*  j  p*j  c j ,  j  1,2,..., n

continua ...
Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 28
... continuação
TEOREMA DA FOLGA COMPLEMENTAR
Sejam os problemas primal e dual.
min Z  c T x max D  bT y
sa Ax  b sa A T y  c
x0 y livre
O Teorema Forte da Dualidade nos diz que a otimalidade é equivalente à igualdade no Teorema
da Dualidade Fraca. Isto é, x resolve Primal-P e y resolve Dual-D se e somente se (x, y) é um par
viável para o primal e dual e
c T x  bT y  c T x  Ax  y  bT y  cT x  y T Ax  bT y . .................................. (1)
T

Examinemos as consequências desta equivalência. Observe que a equação cT x  y T Ax implica


que

y T Ax  c T x  y T Ax  c T x T
 0  Ax  y  x Tc  0  x T A T y  x Tc  0  x T A T y  c  0 
T
 
n
m 
j1
x j   a ijy i  c j   0 . ............................................................................................... (2)
 i1 
Em adição, a viabilidade do primal e do dual implica que
m
xj  0 e a y
i1
ij i  c j  0 , para j=1,2,...,n.

Da demonstração do Teorema Fraco da Dualidade temos Z  c T x  A T y  x  y T Ax  y T b  bT y . Do


T

corolário do Teorema Fraco da Dualidade temos que se x e y são soluções ótimas, então ocorre
a igualdade, ou seja, c T x  y T Ax  bT y . continua ...
Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 29
... continuação
TEOREMA DA FOLGA COMPLEMENTAR
Então
m
x j  a ijy i  c j  0 , para j=1,2,...,n,
i1
e portanto, a única maneira de manter (2) é se
m
x j  a ijy i  c j  0 , para j=1,2,...,n,
i1
ou equivalentemente
m
x j  0 ou a y
i1
ij i  c j , para j=1,2,...,n. .................................................................. (3)

De forma similar do Teorema Forte da Dualidde e do Teorema Fraco da Dualidade, temos


cT x  bT y  cT x  y T Ax  bT y  y T Ax  bT y  bT y  y T Ax  0  y T b  y T Ax   0
m  n 
y b  Ax    y i  bi   a ijx j   0
T

i1  j1 

Novamente, da viabilidade do dual e do primal, temos


n
y i  0 e 0  bi   a ijx i , para i=1,2,...,m,
j1

e portanto deveremos ter


 n 
y i  bi   a ijx j   0 , para i=1,2,...,m,

 j1  continua ...
ou de forma equivalente Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 30
... continuação
TEOREMA DA FOLGA COMPLEMENTAR
n
y i  0 ou a x
j1
ij i  bi , para i=1,2,...,m. ................................................................ (4)

Combinando (3) e (4), pode-se enunciar o Teorema da Folga Complementar.

Teorema: O vetor x  R n resolve o Primal-P e o vetor y  R m resolve o Dual-D se e somente se x


é viável para P e y é viável para D e:
m
i) ou x j  0 ou a y
i1
ij i  c j , para j=1,2,...,n; e
n
ii) ou y i  0 ou a x
j1
ij i  bi , para i=1,2,...,m.

Corolário: O vetor x  R n resolve o primal se e somente se x é viável para P e existir um vetor


y  R m viável para D e tal que
n
i) para cada i  {1, 2, ..., m}, se a x
j1
ij i  bi , então y i  0 ; e
m
ii) para cada j  {1, 2, ..., n}, se x j  0 , então a y
i 1
ij i  cj .

Da demonstração do Teorema Fraco da Dualidade temos Z  c T x  A T y  x  y T Ax  y T b  bT y . Do


T

corolário do Teorema Fraco da Dualidade temos que se x e y são soluções ótimas, então ocorre continua ...
a igualdade, ou seja, c T x  y T Ax  bT y . 31
... continuação
Uso do teorema da folga complementar para determinar a solução ótima do dual a partir da solução
ótima do primal (e vice-versa).
min D  85 y1  30 y2
max Z  10 x1  7 x2  14 x3 s.a 5 y1  2 y2  10
s.a 5 x1  4 x2  x3  85 4 y1  3 y2  7
2 x1  3 x2  5 x3  30 y1  5 y2  14
x1 , x2 , x3  0 y1 , y2  0

E1* E2* E3* y1* y2* F1* F2* x1* x2* x3*
Primal x1 x2 x3 F1 F2 b Dual y1 y2 E1 E2 E3 b
Z* 0 8 11 0 5 150 D 10 0 15 0 0 -150
F1* 0 -3,5 -11,5 1 -2,5 10 E3* 11,5 0 -2,5 0 0 11
x1* 1 1,5 2,5 0 0,5 15 y2* 2,5 1 -0,5 0 0 5
E2* 3,5 0 -1,5 1 0 8

D*= 150 Z*= 150


y1*= 0 x1*= 15
y2*= 5 x2*= 0
E1*= 0 x3*= 0
E2*= 8 F1*= 10
E3*= 11 F2*= 0
Prof. Volmir Eugênio Wilhelm – Professora Mariana Kleina 32

Você também pode gostar