Você está na página 1de 8

Investigao Operacional- 2009/10 - Programas Lineares

14

A Dualidade em Programao Linear


Para melhor ilustrar este conceito vamos estudar dois problemas intimamente relacionadas: o problema da dona de casa que quer alimentar a sua famlia da forma mais econmica possvel, tendo o cuidado de incluir na alimentao quantidades adequadas de vitaminas A e C e, por outro lado, o problema do fabricante de comprimidos de vitaminas que quer convencer a dona de casa a comprar os seus comprimidos em vez de se preocupar com a qualidade da alimentao. Primeiro problema: Uma dona de casa est a tentar gastar o mnimo possvel para, com 6 alimentos bsicos, obter os mnimos de vitamina A e C necessrios por dia. A composio dos alimentos em termos destas vitaminas, assim como os seus custos por quilo esto resumidos no quadro seguinte: No de unidades de vitamina por KG Alimento Vitamina A Vitamina C custo/Kg 1 1 0 35 2 0 1 30 3 2 3 60 4 2 1 50 5 1 3 27 6 2 2 22 requisitos mninos 9 19

A dona de casa vai comprar quantidades de alimentos necessrios para suprir os mnimos dirios de vitamina A e C ao menor preo possvel. As variveis de deciso deste problema vo ser as quantidades de alimentos a adquirir. Seja xi a quantidade do alimento i. Obtm-se o seguinte PL: Min z = s. a. 35x1 + 30x2 + 60x3 + 50x4 + 27x5 + 22x6 x1 + 2x3 + 2x4 + x5 + 2x6 x2 + 3x3 + x4 + 3x5 + 2x6 x1 Segundo problema Por sua vez, o fabricante de vitaminas vai convencer a dona de casa a comprar as suas pastilhas em vez dos alimentos. Como a dona de casa muito econmica ele tem que a convencer que as pastilhas so mais baratas que os alimentos. Seja y1 o preo duma unidade de vitamina A em forma de plula e y2 o preo de uma unidade de vitamina C em forma de plula. Como, por exemplo, o alimento 5 fornece 1 unidade de vitamina A e 3 de vitamina C e custa 27 u.m. ento deve ser y1 + 3y2 27 . E o mesmo se deve passar com os outros alimentos. Como a dona de casa s vai comprar as pastilhas necessrias aos requisitos mnimos dirios de vitaminas, as vendas sero: v (y ) = 9y1 + 19y2 . Est ser a funo objectivo do ponto de vista do vendedor que quer maximizar as suas vendas. 0; x2 0; x3 0; x4 9 19 0; x5 0; x6 0

Investigao Operacional- 2009/10 - Programas Lineares Obtm-se o seguinte PL para formalizar o problema do vendedor de pastilhas: Max v (y ) = 9y1 + 19y2 s. a. y1 y2 35 30 60 50 27 22 0

15

2y1 + 3y2 2y1 + y2 y1 + 3y2 2y1 + 2y2 y1 0; y2

Temos assim dois problemas que se articulam do seguinte modo: Min z = cT x s. a. Ax x 0 b Max v = bT y s. a. AT y y 0 c

A um dos problemas chama-se primal e ao outro dual. Diz-se que os dois problemas so duais ou que os problemas so duais um do outro. Vamos agora resolver ambos os problemas para vermos se encontramos alguma relao entre as solues. Primeiro Problema Inserindo variveis de afastamento, pode-se escrever o quadro inicial: x1 x1 x2 9 19 z 1 0 x2 0 1 x3 2 3 x4 2 1 x5 1 3 x6 2 2 x7 1 0 0 x8 0 1 0

35 30 60 50 27 22

Antes de comear necessrio escrever a funo objectivo s custa das variveis no bsicas, ou seja, anular os valores correspondentes a x1 e x2 na ltima linha: x1 x1 x2 z 9 19 885 1 0 0 x1 x6 x2 z 9=2 10 399 1=2 1 54 x2 0 1 0 x2 0 1 0 x3 2 3 100 x3 1 1 8 x4 2 1 50 x4 1 1 58 x5 1 3 98 x5 1=2 2 44 x6 1 0 0 x6 2 2 108 x7 1=2 1 19 x7 1 0 35 x8 0 1 30 x8 0 1 30

Investigao Operacional- 2009/10 - Programas Lineares x1 x6 x5 z 2 5 179 3=4 1=2 32 x2 1=2 22 x3 1=2 30 x4 5=4 1=2 36 x5 0 1 0 x6 1 0 0 x7 3=4 1=2 3 x8 1=4 1=2 8

16

1=4 3=4

Temos ento a soluo do problema: x1 = x2 = x3 = x4 = 0; x5 = 5; x6 = 2 a que corresponde um valor para z de 179. Ou seja, a dieta mais econmica deve incluir 5 Kg do alimento 5 e 2 Kg do alimento 6 a um custo de 179 unidades monetrias. Segundo Problema Como temos um problema s com duas variveis podemos resolv-lo gracamente:

Soluo: y1 = 3; y2 = 8 a que corresponde um valor para v = 179: Ou seja o preo de cada unidade de vitamina A deve ser 3 unidades monetrias e o preo de cada unidade monetria de vitamina C deve ser de 8 unidades monetrias, a que corresponder um volume de vendas de 179 unidades monetrias. Neste exemplo conbstata-se que o valor da funo objectivo igual para as solues ptimas de ambos os problemas. Como veremos mais frente, esta uma caracterstica que se verica sempre que resolvem pares de problemas duais com soluo.

Investigao Operacional- 2009/10 - Programas Lineares

17

Regras para escrever o dual

Pr o problema na forma de um dos anteriores.


- Se a funo objectivo for minimizada as restries devem ser de maior ou igual; - Se a funo objectivo for maximizada as restries devem ser de menor ou igual; De notar que a cada coluna da matriz A corresponde uma varivel no primal. Como no dual trabalhamos com AT , as colunas passam a linhas e a cada linha corresponde uma restrio. Pode-se ento dizer que: A cada restrio do primal corresponde uma varivel do dual e a cada varivel do primal corresponde uma restrio do dual. Como a cada restrio de desigualdade por sua vez corresponde uma varivel de afastamento, ento ode-se dizer que a cada varivel do primal corresponde uma varivel de afstamento do dual e a cada varivel do dual corresponde uma varivel de afastamento do primal. Se tivermos uma restrio de igualdade ela pode ser desdobrada em duas desigualdades transformao verica-se que a varivel correspondente a uma restrio de igualdade sem restrio de sinal. Do mesmo modo, se uma varivel for sem restrio de sinal a restrio correspondente ser de igualdade. (a = b () (a b^a b) () (a b^ a b)) : Passando ao dual depois de fazer esta

Propriedades dos problemas duais


PRIMAL Min z = cT x s. a Ax x 1. O dual do dual o primal. 2. Seja x uma soluo admissvel do primal e y uma soluo admissvel do dual. Ento: z (x) Demonstrao: (Ax b^y 0) =) y T Ax yT b ^ yT A z (x) cT =) y T Ax v (y ) yT x =) y T b cT x =) v (y ) 0 b DUAL Max v = bT y s. a AT y y 0 c

3. O valor da f. o. do primal um limite superior para o ptimo da f. o. do dual.

Investigao Operacional- 2009/10 - Programas Lineares 4. O valor da f. o. do dual um limite inferior para o ptimo da f.o. do primal.

18

5. Se o primal ilimitado inferiormente no existe nenhum limite inferior para a f. o. e por isso o dual no tem soluo admissvel. 6. Se o dual ilimitado superiormente no existe limite superior para o valor da f. o. e por isso o primal no tem soluo admissvel 7. Se um dos problemas no tem soluo admissvel, o outro s ilimitado se tiver alguma soluo admissvel, quer isto dizer que podem ambos os problemas no ter soluo admissvel. 8. Se z (x) soluo admissvel do primal e v (y ) soluo admissvel do dual e z (x) = v (y ) ento x soluo ptima do primal e y soluo ptima do dual. Demonstrao: z (x) v (y ) para todo o x que seja soluo admissvel do primal. Por hiptese z (x) para todo o x que seja soluo admissvel do primal.

z (x) = v (y ) logo z (x) ptima do dual.

Ento x soluo ptima do primal. Do mesmo modo se mostra que y soluo

9. Num par de problemas primal-dual se um deles tem uma soluo ptima o outro tambm tem e, alm disso, os valores das f.o. so iguais. Demonstrao: Seja A uma matrix m dado por cT = cT
1 cT IB A

n. Suponhamos que o primal tem uma soluo ptima


1 cT IB A

admissvel. Seja B a base associada ao vector xI . O vector dos custos actualizados 0 ( porque o problema de minimizar). Ou seja
1 1 T T c. Alm disso a funo objectico vale cT I B b. Denindo y = cI B

temos que y T A

1 c e v (y ) = y T b = cT I B b = f. o. primal. Pelo nmero anterior

ento y soluo ptima do dual. Considere-se o problema primal:


T Minimizar z (x) = cT I xI + cJ xJ

sujeito a

BxI + DxJ = b xI 0; xJ 0

O seu dual pode ser escrito: Maximizar v (y ) = y T b sujeito a yT B yT D cT I cT J

y sem restrio

Investigao Operacional- 2009/10 - Programas Lineares

19

A soluo bsica do primal correspondente base B dada por: xJ = 0 e xI = B 1 b e esta base corresponde a uma soluo admissvel se e s se xI = B 1 b dual correspondente base B dada por y = se satiszer as outras restries, isto se y T D
T 1 cT IB cT J.

0. A soluo do
1 cT IB D

y B=

cT I

e soluo admissvel 0, o

Ou seja, se cT J

que representa a condio de optimalidade do primal. Isto , a qualquer soluo admissvel do primal, que no seja ptima, corresponde uma soluo no admissvel para o dual. Se a uma soluo admissvel do primal corresponder uma soluo tambm admissvel para o dual, ento so ambas ptimas. Para este problema primal os custos actualizados em cada iterao so dados por: cT = cT
1 T cT IB A = c

y T A . Ou seja cada componenete do vector c pode ser calculada do


1 cT I B A:j em que A:j reperesenta a coluna j da matriz A. Ento

seguinte modo: cj = cj

os custos actualizados do problema primal so os valores das variveis de afastamento do problema dual. Estes valores so designados por preos sombra das actividades do primal.

TEOREMA DO EQUILBRIO (OU DA COMPLEMENTARIDADE)


Um par de solues admissveis para os problemas primal-dual so ptimas se e s se as variveis de afastamento do primal positivas correspondem a variveis do dual nulas. Demonstrao: Considere-se novamente o par de problemas primal-dual na forma: PRIMAL Min z = c x s. a Ax x 0 b
T

DUAL Max v = bT y s. a AT y y 0 bi , qual se associa a varivel y T A:j c

A varivel do dual yi est associada restrio do primal Ai: x de afastamento ui = Ai: x restrio do dual y A:j u = Ax b e w T = cT
T

bi . Por outro lado, a varivel xj do primal est associada cj qual se associa a varivel de afastamento wj = cj

. Sejam x e y um par de solues admissveis para os problemas primal e dual. Ento, y T A so os vectores das variveis de afastamento correspondentes. O teorema diz que:

(ui = Ai: x

bi > 0 =) y i = 0) ^ wj = cj

y T A:j > 0 =) xj = 0

ou, escrevendo de outro modo:

ui y i = (Ai: x

bi )y i = 0 ^ wj xj = (cj

y T A:j )xj = 0 para i = 1; :::; m e j = 1; :::; n:

Investigao Operacional- 2009/10 - Programas Lineares Como se trata de solues admissveis sabe-se que Ai: x bi e y i

20 0 . Pode ento multiplicary i bi , mas por hiptese

se ambos os membros da 1a desigualdade por y i vindo y i Ai: x verica-se o sinal de igualdade. Somando para todos os i vir : X X

y i Ai: x =

y i bi

De modo anlogo se conclui ser:

Mas .

X X

xj (yAi: ) =

xj cj

y i Ai: x = X

Ento,

xj (yAi: )

y i bi =

e, por isso, x e y so solues ptimas dos respectivos problemas. Reciprocamente, como cT x = bT y = y T Ax , vem que cT x y T Ax = 0 donde isto , para cada j , cj P cj y T A:j xj =

xj cj

0, mas, como se trata de uma soma de parcelas no negativas, todas elas tero de ser nulas, y T A:j = 0 =) xj = 0. E do mesmo modo para as variveis do dual.

MTODO SIMPLEX DUAL


Considere-se o PL: Minimizar z (x) = cT x sujeito a Ax = b x 0 0 e admissvel para o

Seja B uma base. B uma base admissvel para o primal se B 1 b dual se c


1 cT IB A

0 e uma base ptima se ambos se realizarem.

O mtodo simplex comea com uma base admissvel para o primal e percorre sempre solues admissveis correspondentes a vrtices da regio admissvel at atingir o critrio do ptimo (dual admissvel). O mtodo simplex-dual comea com uma soluo admissvel para o dual e percorre sempre solues admissveis adjacentes para o dual mas no admissveis para o primal terminando quando atinge uma soluo admissvel para o primal que a ptima. Cada iterao deste algoritmo reduz o nmero de inadmissibilidades do primal, mantendo a admissibilidade do dual.

Investigao Operacional- 2009/10 - Programas Lineares

21

ALGORITMO
1. Escolher uma linha tal que br < 0 ( varivel a sair da base); Se todos os br termina. 2. Escolher o pivot ars tal que cs cj = min : arj < 0 ars arj Esta escolha tem o objectivo de manter todos os custos do primal no negativos ou seja manter o problema dual admissvel. Se todos os arj 3. Efectuar a pivotagem. 4. Voltar a 1. 0, o problema no tem soluo. 0,

Você também pode gostar