You are on page 1of 33

CENTRO FEDERAL DE EDUCACAO

TECNOLOGICA DE MINAS GERAIS


Departamento de Ensino Superior

Curso de Engenharia de Producao Civil

Pesquisa Operacional I

4. Dualidade em Otimizacao Linear


Sumario

1 Dualidade em Programacao Linear 2


2 Metodo Dual-Simplex 24
3 Algoritmo Dual-Simplex 27

Professor: Sergio Ricardo de Souza

Belo Horizonte, novembro de 2015


2

1 Dualidade em Programacao Linear

Exemplo 1 Considere um problema de producao no qual


as materias primas sao couro e pano.

Problema de Producao (Problema Primal)


max z = 25x1 + 35x2 + 50x3 + 33x4 + 36x5
suj. a 3x1 + 4x2 + 5x3 + 3x4 + 6x5 42
2x1 + 3x2 + 4x3 + 3x4 + 3x5 24
x1 0
x2 0
x3 0
x4 0
x5 0

xi: quantidade do produto i a ser fabricada:


i=1 sapato;
i=2 botina;
i=3 carteira;
i=4 chapeu;
i=5 malas.
3

Um concorrente propoe a compra de toda a materia-prima


da fabrica, na seguinte forma:
a) Cada unidade de couro valera 1 0;
b) Cada unidade de pano valera 2 0;
c) O custo de compra da materia-prima sera dado pela
quantidade total da materia-prima j disponvel, mul-
tiplicada pelo seu custo:
= 421 + 242
O concorrente deseja minimiza-lo, manipulando os
custos das materias-primas;
d) Os valores de 1 e 2 serao fixados pelo concorrente.
Entretanto, devem assegurar uma vantagem para o
dono da fabrica.

A vantagem do dono da fabrica sera garantida, desde


que o valor de venda da materia-prima utilizada na
fabricacao de cada produto seja maior ou igual ao lu-
cro, caso o produto seja fabricado. Assim:

31 + 22 25 sapato
41 + 32 35 botina
51 + 42 50 carteira
31 + 32 33 chapeu
61 + 32 36 malas
4

Problema do concorrente (Problema Dual)


min = 421 + 242
suj. a 31 + 22 25
41 + 32 35
51 + 42 50
31 + 32 33
61 + 32 36
1 0
1 0

Problema Primal
Maximizar o lucro da fabrica, satisfazendo condicoes
de escassez de materia-prima;
Variaveis: quantidade produzida de cada produto.

Problema Dual
Minimizar o gasto do concorrente, garantindo, para
o fabricante, que a venda da materia-prima e van-
tajosa com relacao a fabricacao de qualquer pro-
duto.
Variaveis: precos unitarios de venda das materias-
primas (recursos).
5

Problema Primal (PP)

min z = cx
suj. a Ax b ()
x 0
w
w
w

Problema Dual (PD)

max = b
suj. a A c (x)
0

Uma variavel dual para cada restricao primal.


Uma restricao dual para cada variavel primal.
Forma simetrica de dualidade.
6

Considere o problema (PP) no formato padrao:


(P P ) min z = c x
suj. a Ax = b
x 0

Este problema pode ser escrito como:

(P P ) min z = c x
suj. a Ax b (u)
Ax b (v)
x 0

ou seja:


(P P ) min  z  = c
 x
A b (u)
suj. a x
A b (v)
x 0
7

Escrevendo o problema dual associado:


(P D) max = ub vb
suj. a uA vA c
u 0
v 0
Fazendo:
=uv
Encontra-se que:
(P P ) min z = c x (P D) max = b
suj. a Ax = b suj. a A c
x 0 irrestrito
Forma assimetrica de dualidade.

Relacao entre Problema Primal e Problema Dual


Prob. Min Prob. Max
0
Variaveis 0 Restricoes
Irrestrito =
0
Restricoes 0 Variaveis
= Irrestrita

Lema 1 O dual do dual e o primal.


8

Lema 2 (Lema da Dualidade Fraca)


Seja o par primal-dual:
(P P ) min z = cx (P D) max = b
suj. a Ax b suj. a A c
x0 0
e considere x uma solucao factvel de (PP) e uma
solucao factvel de (PD). Entao:
b cx
Prova: Como x e solucao factvel de (PP), entao:
Ax b
Como e solucao factvel de (PD), entao:
A c
Logo:
Ax b e Ax cx
Assim:
b Ax cx
e, portanto,
b cx

9

Corolario 1 Sejam x e solucoes factveis para (PP)


e (PD), respectivamente. Entao, se:

c x = b
tem-se que:
x : Solucao otima de (PP);
: Solucao otima de (PD).
Prova: Suponha que x solucao factvel de (PP) tal que:

cx < cx
Como
cx = b
entao
cx < b
o que configura, portanto, uma contradicao ao Lema da Dua-
lidade Fraca.
= Ideia de supervisor.
10

Lema 3 (Lema da Dualidade Forte) Se um problema


possui solucao otima finita, entao o outro problema tambem
a tera.
Prova: Seja o problema (PP):
(P P ) min z = cx (P D) max = b
suj. a Ax = b suj. a A c
x0 irrestrito
tendo solucao otima x = [xI 0] e base otima AI . Associado,
seja o problema dual (PD). Como x e solucao otima, entao

cJ = AJ cJ 0 AJ cJ
sendo
= cI A1
I

Logo:

   
 AI AJ = AI AJ
A =
= cI AJ cI cJ = c
= A c = e solucao factvel para (PD).
Por outro lado:
b = cI A1
I b = c
x
I I
b = c
x
= e solucao otima de (PD).
11

Lema 4 Se um dos problemas tem valor objetivo ilimi-


tado, entao o outro sera infactvel.
Prova: Se (PP) e ilimitado e e solucao factvel para (PD),
entao
b M
para M > 0 e M arbitrariamente grande contradicao.

Exemplo 2 Seja o problema (PP)


(P P ) max z = x1 + 2x2
suj. a x1 2x2 4 (1)
x1 + x2 3 (2)
x1 0
x2 0
A figura abaixo apresenta sua solucao geometrica.

x2

Otimo
ilimitado
c

x1
12

O dual deste problema e o problema (PD) abaixo:


(P D) min = 41 + 32
suj. a 1 2 1
21 + 2 2
1 0
2 0
A tentativa de solucionar o problema (PD) mostra que
ele e infactvel.
2

Infactvel

1
13

Teorema 1 (Teorema Fundamental da Dualidade)


Em relacao ao par de problemas duais (PP) e (PD), uma
e somente uma das alternativas e verdadeira:
a) Ambos os problemas tem solucao otima finita.
b) Um tem solucao ilimitada e o outro e infactvel.
c) Os dois sao infactveis.
Exemplo 3
(P P ) max z = 3x1 + 2x2 (P D) min = 1 22
suj. a x1 x2 1 suj. a 1 2 3
x1 + x2 2 1 + 2 2
x0 0
x2

x1

1
14

Teorema 2 (Teorema das Folgas Complementares)


Considere x e solucoes factveis para (PP) e (PD), res-
pectivamente. Entao
b Ax cx
A condicao necessaria e suficiente para a otimalidade de
x e e
(c A) x = 0 e (Ax b) = 0

Prova:: (Suficiencia)

(c A)x = 0
Ax = b = cx otimalidade
(Ax b) = 0

(Necessidade): x e sao solucoes otimas

cx = b (c A)x + (Ax b) = 0
~

Condicao de otimalidade de Kuhn-Tucker for verdadeira:
Ax b, x 0

A c, 0

(Ax b) = 0, (c A)x = 0

15

Corolario 2 Sejam
xn+i = Aix bi, i = 1, . . . , m
as variaveis de folga associadas a (PP) e
m+j = cj Aj , j = 1, . . . , n
as variaveis de folga associadas a (PD).
Entao, a condicao de folga complementar e dada por:
xj m+j

= 0, j = 1, . . . , n

i xn+i = 0, i = 1, . . . , m

Exemplo 4
(P P ) min 2x1 + 3x2 + 5x3 + 2x4 + 3x5
suj. a x1 + x2 + 2x3 + x4 + 3x5 4 (1)
2x1 2x2 + 3x3 + x4 + x5 3 (2)
x 0
w

(P D) max 41 + 32
suj. a 1 + 22 2 (x1)
1 22 3 (x2)
21 + 32 5 (x3)
1 + 2 2 (x4)
31 + 2 3 (x5)
0
16

x1
A3 b
A1
A4 A5

x2

A2

(c)
(d)

(a) (b) 1

(a) = [0 0] = a = 0
(b) = [1 0] = b = 4
(c) = [0 1] = c = 3
(d) = [4/5 3/5] = d = 5
= d = = z = 5
17

Pelo Teorema das Folgas Complementares:


a) Como 1 6= 0 e 2 6= 0, entao as variaveis primais de
excesso sao nulas:
x2 = x3 = x4 = 0

b) Como as restricoes duais associadas a x1 e x5 sao


folgadas, ou seja,
3 = 7 = 0
entao:

x1 + 3x5 = 4 x1 = 1
=
2x1 + x5 = 3 x5 = 1

= Solucionar o problema primal e comparar os re-


sultados.
18

Exemplo 5 Plano de Producao


Considere que o plano de producao de uma empresa seja
o apresentado no PL abaixo:
max z = 4x1 + 5x2
suj. a 2x1 + x2 8
x1 + 2x2 7
x2 3
x0
A solucao otima e encontrada abaixo:

z x1 x2 x3 x4 x5 LD
z 1 4 5 0 0 0 0
x3 0 2 1 1 0 0 8 = [0 0 0]
x4 0 1 2 0 1 0 7
x5 0 0 1 0 0 1 3

z x1 x2 x3 x4 x5 LD
z 1 4 0 0 0 5 15
x3 0 2 1 1 0 1 5 = [0 0 5]
x4 0 1 0 0 1 2 1
x2 0 0 1 0 0 1 3

z x1 x2 x3 x4 x5 LD
z 1 0 0 0 4 3 19
x3 0 0 0 1 2 3 3 = [0 4 3]
x1 0 1 0 0 1 2 1
x2 0 0 1 0 0 1 3
19

z x1 x2 x3 x4 x5 LD
z 1 0 0 1 2 0 22
x5 0 0 0 1/3 2/3 1 1 = [1 2 0]
x1 0 1 0 2/3 1/3 0 3
x2 0 0 1 1/3 2/3 0 2

Portanto:

= = 22
 
= 1 2 0
 
3
x = = z = 22
2

Restricao 3 folgada 3 = 0
Alterando b1 = 8 para b1 = 9


z = 23

x = 11/3 5/3

Alterando para b1 = 17


z = 28

x = 7 0

Alterando b2 = 7 para b2 = 8

1
z = 24

x = 8/3 8/3

z
= = i
bi
20

Exemplo 6 Problema da Producao e Problema do Con-


corrente
(P D) min = 421 + 242
suj. a 31 + 22 25 (sapato)
41 + 32 35 (botina)
51 + 42 50 (carteira)
31 + 32 33 (chapeu)
61 + 32 36 (malas)
1 0
2 0

2
(a) = [11 0] = 462
(c) (b) = [6 5] = 372
(c) = [0 25/2] = 300

(b)

(a)
(1) (4) 1
(2)
(5) (3)
21

= z = 300

= 0 25/2

As restricoes ativas sao:


(1) sapatos 3 = 0

(3) carteiras 5 = 0
As restricoes inativas sao:
(2) botinas 4 > 0

(4) chapeus 6 > 0

(5) malas 7 > 0

Aplicando o Teorema das Folgas Complementares:


3x1 = 0
4x2 = 0
5x3 = 0
6x4 = 0
7x5 = 0
1x6 = 0
2x7 = 0
22

Portanto:
x2 = x4 = x5 = x7 = 0

x1 0 , x3 0 , x6 0

Desse modo:

x1

   
3 5 1 42
x3 =
2 4 0 24
x6

Assim, a solucao otima nao e unica.


Os valores otimos sao tais que:
x1 0 : x1 = 24 2x6
x3 0 : x3 = 6 + x6
x6 0
Um valor otimo e dado por:

x1

0
x3 = 6
x6 12
23

Conclusoes:
a)
j = 1, . . . , m (produtos)
xj > 0 = cj = Aj
Producao Produto concorre
ativada. no mercado.
b)

Aj < cj = xj = 0
Produto caro, Produto fora do
nao resiste a plano de
concorrencia. producao.
c)
i = 1, . . . , m (precos)
i > 0 = Aixi = bi
Preco dado pelo Ela esta sendo
concorrente a usada sem
materia-prima i. folga.
d)

Aixi < bi = i = 0
Ha excedente Nao ha interesse
de materia-prima. por ela: preco nulo.
24

2 Metodo Dual-Simplex

Seja o problema:
min z = cx
(P P ) suj. a Ax b
x 0
e considere:
I: conjunto dos ndices associados a base;
J: conjunto dos ndices nao-basicos.
Entao:
xI = A1
I b solucao basica

c = A c custos relativos

= cI A1
I variavel dual

Se:
cJ 0 Solucao Otima
Neste caso:

cJ

AJ 0
Factibilidade dual
= A c
garantida.
AI cI = 0

25

Como
An+i = ei, i = 1, 2, . . . , m

cn+i = 0, i = 1, 2, . . . , m

= cn+i = An+i cn+i

= (ei)

= i, i = 1, 2, . . . , m

Na solucao otima de (PP):

cn+i 0 = i 0 , i = 1, 2, . . . , m

Portanto:

A c

Factibilidade dual
c 0
garantida.
0

Para a funcao objetivo:

z = cI xI == cI A1
I b= b=

Otimalidade dual Factibilidade primal


26

Ideia: Manter, a cada iteracao, a factilibidade dual


e a condicao de folga complementar e buscar
encontrar factibilidade primal.
w
w
w

Metodo Dual - Simplex

x = A1
I
I b 0
Factibilidade primal
xJ = 0

Otimalidade primal cJ 0

A c

Factibilidade dual
0

Otimalidade dual xI = A1
I b 0
27

3 Algoritmo Dual-Simplex

Trabalha com a tabela primal;

Corresponde a aplicar o metodo simplex ao problema dual.

Considere, entao, a tabela simplex em forma preparada:

z xI xJ LD
z 1 0 cJ b
xI 0 I A1 1
I AJ AI b

w
w
w


z xI xJ LD
z 1 0 cJ b
xI 0 I Y b

no qual:
b = A1
I b
28

Se cJ 0 = Problema dual factvel;

Se, tambem, b 0 Problema primal factvel

= Solucao otima determinada;

Se bi 0 para algum i = 1, . . . , m
Factibilidade primal violada.

Realizar troca de base, mantendo factibilidade dual.

Procedimento para troca de base:


a) Escolha da linha r a sair da base:

br = min bi : bi < 0
i I

= A variavel xr sai da base.

b) Escolha da coluna k a entrar na base:


c = cJ k yr

Se yrj 0 para todo j:


Problema dual e ilimitado
Problema primal e infactvel
29

Se yrj < 0 para algum j:

Para manter factibilidade dual:


c 0

Portanto:
cJ k yr 0
e, assim,
 
ck cj
= min : yrj < 0
yrk j J yrj

= a variavel xk entra na base.

Conclusao:
= A variavel xr sai da base e a variavel xk entra na base.

= Factibilidade dual mantida.


30

Exemplo 7
min z = 2x1 + 3x2 + 4x3
suj. a x1 + 2x2 + x3 3
2x1 x2 + 3x3 4
x 0
w


min z = 2x1 + 3x2 + 4x3


suj. a x1 + 2x2 + x3 x4 = 3
2x1 x2 + 3x3 x5 = 4
x 0
Assuma que:
I = {4, 5} , J = {1, 2, 3}

Entao:
z x1 x2 x3 x4 x5 LD
z 1 2 3 4 0 0 0
x4 0 1 2 1 1 0 3
x5 0 2 1 3 0 1 4


r = arg min bi : bi < 0
iI

= arg min {3, 4} r=5


i{4,5}
31

 
cj
k = arg min , yrj < 0
jJ yrj
 
2 4
= arg min , k=1
jJ 2 3

z x1 x2 x3 x4 x5 LD
z 1 0 4 1 0 1 4
x4 0 0 5/2 1/2 1 1/2 1
x1 0 1 1/2 3/2 0 1/2 2


r = arg min bi : bi < 0 = 4
iI

 
cj
k = arg min , yr < 0
jJ yr
 
4 1
= arg min , k=2
jJ 5/2 1/2
32

z x1 x2 x3 x4 x5 LD
z 1 0 0 9/5 8/5 1/5 28/5
x2 0 0 1 1/5 2/5 1/5 2/5
x1 0 1 0 7/5 1/5 2/5 11/5


bi 0 , i I
Solucao otima
cj 0 , j J


11/5
2/5


x = 0


0
0
 
8 1
=
5 5

28
z = =
5
33

Base inicial e dual factvel;

A cada iteracao:

- Mantem factibilidade dual;


- Base primal associada infactvel;
- Condicao de folga complementar garantida.

Convergencia:

- Cada iteracao e dual factvel;


- Para o problema primal de minimizacao, a cada ite-
racao a funcao objetivo aumenta;
- Como existe um numero finito de bases, existe tambem
um numero finito de iteracoes.