Você está na página 1de 124

Programao Linear ca

Marco Antonio Figueiredo Menezes Departamento de Computao da ca Universidade Catlica de Gois (UCG) o a Endereo Eletrnico: marco@ucg.br c o Setembro/2006

Este texto est em elaborao. A primeira verso deste texto foi revisada pelo Profesa ca a sor Clvis Gonzaga. Uma segunda verso foi revisada pelo Professor Hilton Machado. Esta o a a terceira verso. E importante lembrar que desde o in e a cio, a partir de 1999, o texto foi utilizado e corrigido em minicursos (IV e V Encontro de Matemtica e Estat a stica da UFG, III UCGComp e V UCGComp e IV Encontro de Matemtica da UEG-Unidade Anpolis), a a pelos meus alunos de Iniciao Cient ca ca (1999-2004), no Seminrios de Otimizao que a ca coordenamos aqui no Departamento de Computao da UCG desde 1999 e na disciplina ca Anlise Aplicada Computacional (CMP4132) nas turmas de Cincia da Computao e a e ca Engenharia de Computao da UCG (1999/2-2005/1). ca

Sumrio a
1 Um Pouco da Histria o 5

2 O Problema 9 2.1 O problema no formato padro . . . . . . . . . . . . . . . . . 9 a 2.2 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 3 Sobre a Modelagem 3.1 Um problema da dieta 3.1.1 O problema . . 3.1.2 O modelo . . . 3.2 Exerc cios . . . . . . . 17 18 18 19 20

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

4 Poliedros e o Conjunto Vivel a 23 4.1 Poliedros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4.2 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29 5 Caracterizao do Conjunto ca 5.1 Soluo bsica vivel . . . ca a a 5.2 A caracterizao de X . . ca 5.3 Exerc cios . . . . . . . . . Vivel a . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31 31 35 38

6 Caracterizao do Conjunto de Solues Otimas ca co 41 6.1 O Teorema Fundamental da PL . . . . . . . . . . . . . . . . . 41 6.2 A caracterizao de X (P ) . . . . . . . . . . . . . . . . . . . . 42 ca 6.3 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44 7 O Problema Dual 45 7.1 Preliminares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45 7.2 O problema dual . . . . . . . . . . . . . . . . . . . . . . . . . 48 3

4 7.3

SUMARIO Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

8 O Lema de Farkas 55 8.1 O Lema . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55 8.2 Direes viveis . . . . . . . . . . . . . . . . . . . . . . . . . . 57 co a 8.3 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59 9 Dualidade 61 9.1 Trs teoremas de dualidade . . . . . . . . . . . . . . . . . . . 61 e 9.2 Sobre a hiptese do posto de A . . . . . . . . . . . . . . . . . 65 o 9.3 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65 10 O Problema Primal-Dual 10.1 O problema . . . . . . . . . . . . . . . . . 10.2 O Teorema de Complementaridade Estrita 10.3 Geometria . . . . . . . . . . . . . . . . . . 10.4 Exerc cios . . . . . . . . . . . . . . . . . . 11 Mtodo Simplex: algoritmo mestre e 11.1 Algoritmo mestre . . . . . . . . . . . . . 11.1.1 Fase 1 . . . . . . . . . . . . . . . 11.1.2 Transio: da fase 1 para a fase 2 ca 11.2 Exerc cios . . . . . . . . . . . . . . . . . 67 67 70 73 75 77 77 79 80 84 87 87 87 96

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

. . . .

12 Mtodo Simplex: algoritmo mestre adaptado e 12.1 Algoritmo mestre adaptado . . . . . . . . . . . . . . . . . . . 12.1.1 Fase 2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 12.2 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13 Mtodo Simplex: algoritmo fases 1 e 2 e 99 13.1 Algoritmo fases 1 e 2 . . . . . . . . . . . . . . . . . . . . . . . 99 13.2 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 107 14 Mtodo Am-Escala: algoritmo mestre e 14.1 Algoritmo mestre . . . . . . . . . . . . . . . . . . . . . . . . 14.2 Resoluo de (Pk ) . . . . . . . . . . . . . . . . . . . . . . . . ca 14.3 Exerc cios . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109 . 109 . 112 . 117

Cap tulo 1 Um Pouco da Histria o


Introduziremos a Programao Linear (PL) nos trs primeiros cap ca e tulos. O que faremos neste caminho, ento, ser reescrever o que j existe na litea a a ratura, comentando alguns resultados que julgamos serem importantes para a construo da histria da PL, denindo o problema de PL e modelando ca o problema(s) de Programao Linear (PPL). Iniciamos descrevendo um pouco ca da histria da Programao Linear. o ca A PL poderia ter sido iniciada em torno de 1758 quando os economistas comearam a descrever sistemas econmicos em termos matemticos. c o a Tambm, Walras props em 1874 um sosticado modelo matemtico que e o a tinha como parte da sua estrutura coecientes tecnolgicos xados. o O famoso matemtico Fourier parece ter sido o primeiro a estudar dea sigualdades lineares para a Mecnica e para a Teoria das Probabilidades. a Ele estava interessado em encontrar o ponto m nimo em um poliedro. Ele sugeriu uma soluo por uma descida de vrtice em vrtice para um m ca e e nimo, que o princ por trs do mtodo simplex desenvolvido por Dantzig. Este e pio a e provavelmente o primeiro exemplo, datado de 1826, de um problema de e PL. Mais tarde, em 1911, outro matemtico famoso, Poussin, considerou o a mesmo problema e props uma soluo similar. Veja pgina 21 em Dantzig o ca a [14]. Em 1939, o matemtico e economista Kantorovich, formulou e resolveu a um problema de PL tratando com organizao e planejamento de produo. ca ca Devido a guerra fria entre os Estados Unidos da Amrica e a ento Unio e a a Sovitica, este trabalho cou desconhecido para o Ocidente durante uns vinte e anos. A literatura matemtica continha inmeros artigos concernentes a tcnicas a u e 5

CAP ITULO 1. UM POUCO DA HISTORIA

para resolver sistemas de equaes lineares. Por outro lado, o estudo de sisco temas de desigualdades lineares no despertava interesse at o advento da a e Teoria dos Jogos em 1944 e de PL em 1947. O problema geral de PL foi primeiramente desenvolvido e aplicado em 1947 por Dantzig, Wood e seus associados no Departamento da Fora Area c e dos Estados Unidos. Este grupo foi solicitado para pesquisar a viabilidade em aplicar a Matemtica e tcnicas relacionadas para os problemas de planea e jamento e programao militar. Mais tarde, em outubro de 1948, este grupo ca recebeu o t tulo ocial de Projeto SCOOP (Scientic Computation of Optimum Programs). O artigo fundamental circulou condencialmente por alguns anos e foi publicado por Dantzig [13] em 1951. A inuncia da Segunda Guerra Mundial foi decisiva para o surgimento da e PL e seu posterior desenvolvimento. Haviam necessidades (planejar, transportar) e nanciamentos (o Projeto SCOOP; o desenvolvimento dos computadores; a Conferncia de Chicago em 1949, onde matemticos, economise a tas e estat sticos de instituies acadmicas e de vrias agncias governamenco e a e tais apresentaram trabalhos usando PL). Em Teoria da Computao, um algoritmo considerado eciente quando ca e o seu nmero de passos for limitado polinomialmente, conforme Edmonds u [17] e Cobham [12] (a distino entre algoritmos polinomiais e exponenciais ca j havia sido sugerida por von Neumann [60]). Em 1972, Klee e Minty [31] a constru ram um exemplo para estabelecer a no polinomialidade do algoritmo a simplex para um certo critrio de escolha para a entrada na base. A partir e da vrios outros exemplos inviabilizaram novos critrios de escolha (veja , a e Shamir [53]). Algoritmos do tipo elipside foram introduzidos por Shor [54] o e Yudin e Nemirovskii [63] para Programao Convexa. Em 1979 e 1980, ca Khachiyan [29] e [30], respectivamente, utilizou o mtodo dos elipsides para e o o problema de viabilidade de PL com dados inteiros. Khachiyan deniu o nmero L e mostrou que seu algoritmo resolve o PPL em tempo polinomial. u Todavia, no nal da dcada de 70, convivemos com um fato curioso em PL: e por um lado, o mtodo simplex com complexidade exponencial, mas que e funciona bem na prtica e, por outro lado, o mtodo dos elipsides com a e o complexidade polinomial, mas que funciona mal na prtica. a Em 1984, Karmarkar [28] publicou seu algoritmo de pontos interiores baixando a complexidade em relao ao mtodo de Khachiyan. Ele obteve ca e um limite para o nmero de iteraes de O(nL) e um nmero de operaes au co u co ritmticas por iterao de O(n2,5 ), totalizando O(n3,5 L) operaes aritmticas. e ca co e A trajetria central foi inicialmente estudada por Bayer e Lagarias [4] e o

7 Megiddo [40]. Em 1986, Renegar [51] provou que o mtodo de centros de e Huard escrito em termos da funo barreira logar ca tmica polinomial para e problemas de PL, se o problema de minimizao auxiliar tratado pelo ca e mtodo de Newton (Veja Nesterov [47]). Renegar obteve um limite de come co a plexidade de O( nL) iteraes, mas com complexidade total igual ` de Karmarkar. Em 1987, Gonzaga [22] e Vaidya [57] obtiveram simultaneamente algoritmos com a complexidade de O(n3 L), onde o primeiro desenvolve um algoritmo que usa uma funo de penalidade do tipo barreira logar ca tmica e, o segundo, seguindo a mesma metodologia de Renegar. Em 1999, Anstreicher [1] obteve a complexidade de O((n3 / ln(n))L). Os algoritmos de ponto-interior-invivel primais-duais para PL so cona a siderados os algoritmos de pontos interiores mais ecientes na prtica (veja a Lustig, Marsten e Shanno [34] e, veja tambm, Marsten, Subramanian, Saltze man, Lustig e Shanno [38]). Kojima, Megiddo e Mizuno [32] provaram a convergncia de um algoritmo primal-dual de ponto-interior-invivel para e a 2 PL. Zhang [64] demonstrou convergncia polinomial em O(n L) iteraes e co detectando inviabilidade para uma determinada regio. Mizuno [43] dea monstrou O(n2 L) para o algoritmo de Kojima, Megiddo e Mizuno e desenvolveu uma variante deste obtendo O(nL) iteraes. Ambos algoritmos deco tectam inviabilidade para uma determinada regio. A variante de Mizuno foi a um algoritmo preditor-corretor. Quase simultaneamente, Potra [48] obteve a mesma complexidade em iteraes. Ainda, Potra [49] demonstrou conco co co vergncia quadrtica e O( nL) iteraes sob determinadas condies para o e a ponto inicial. Ye, Todd e Mizuno [62] desenvolveram um mtodo homogneo e e co ca e auto-dual para PL, que possui O( nL) iteraes para uma formulao articial do problema de PL. Todavia, no momento, a menor complexidade em iteraes para a formulao no articial O(nL). Supondo viabilidade dual, co ca a e Ye [61] obtm O( nL) iteraes para mtodos de reduo potencial combie co e ca nando fases 1 e 2 e Menezes e Gonzaga [42] obtm a mesma complexidade e relacionando parmetros de viabilidade e otimalidade com passos curtos. a Uma experincia para resolver um PPL com 837 restries e 12.753.313 e co variveis pode ser encontrada no artigo de Bixby, Gregory, Lustig, Marsten e a Shanno [8], os quais tratam com um algoritmo h brido ponto interior/simplex, espec co para um problema que aparece no planejamento de tripulao ca area. De fato, este trabalho fornece uma alternativa relevante no tratae mento de PPL de grande porte. No prximo cap o tulo deniremos o problema de Programao Linear, o ca qual o problema que nos propomos estudar. e

CAP ITULO 1. UM POUCO DA HISTORIA

Cap tulo 2 O Problema


Continuamos com a nossa introduo ` Programao Linear. Nosso obca a ca jetivo aqui denir o problema de PL. Em particular, denimos o PPL na e forma padro, no sentido de que qualquer PPL pode ser convertido para este a formato.

2.1

O problema no formato padro a

A Otimizao pode ser vista como uma rea da Matemtica Aplicada, ca a a em Matemtica; ou uma rea da Pesquisa Operacional, em Engenharias; ou a a uma rea da Matemtica Computacional, em Computao. Independentea a ca mente da rea, notamos que a Otimizao uma sub-rea interdisciplinar e a ca e a importante. O problema de Otimizao consiste em encontrar, se poss ca vel, os minimizadores (ou os maximizadores) de uma funo denida em uma determica nada regio. a Consideremos os nmeros inteiros m e n tais que n > m > 0. Dados uma u matriz numrica com coecientes reais A, m n, e vetores b Rm e c Rn , e o problema de Programao Linear no formato padro o seguinte problema ca a e de Otimizao, usualmente denominado problema primal: ca (P ) minimizar sujeito a: cT x Ax = b x 0.

Seguem-se algumas denies associadas ao problema (P ). co 9

10 Denio 2.1.1 Considere o PPL (P ). ca

CAP ITULO 2. O PROBLEMA

(a) A funo linear x cT x chamada funo objetivo. ca e ca (b) O conjunto X = {x Rn ; Ax = b, x 0} chamado conjunto vivel e um ponto x X denominado ponto e a e vivel. a (c) O conjunto {x Rn ; x > 0} chamado conjunto de pontos interiores e e um ponto deste conjunto denominado ponto interior. O conjunto e X 0 = {x X ; x > 0} chamado conjunto de pontos interiores viveis e a e um ponto x X 0 denominado ponto interior vivel. e a (d) Quando existe, o nmero v(P ) = min{cT x; x X } denominado o u e valor timo ou custo timo. O conjunto o o X (P ) = {x X ; cT x = v(P )} chamado conjunto de solues timas e um ponto x X (P ) dee co o e nominado soluo tima ou minimizador ou ponto de m ca o nimo. (e) O problema (P ) chama-se problema ilimitado, quando existe uma seqncia (xk ) tal que xk X e cT xk , quando k . ue (f ) O problema (P ) chama-se problema invivel, quando X vazio. a e Podemos interpretar o PPL (P ) da seguinte maneira: dados uma matriz tecnolgica com nmeros reais A, m n, um vetor do lado direito b Rm e o u um vetor custo c Rn , encontrar, se existir, um (e no o) vetor de variveis a a de deciso x X tal que a cT x = min{cT x; x X }.

2.1. O PROBLEMA NO FORMATO PADRAO

11

Ateno: Que tal fazer o exerc 1 agora? ca cio Geralmente, pretendemos resolver um PPL no formato do problema (P ). Isto , o primeiro grupo de restries envolve somente igualdades e todas as e co variveis do modelo so no negativas. Alm disso, queremos minimizar o a a a e valor da funo objetivo. ca Neste sentido, como reduzir um PPL qualquer para o formato padro? a A resposta vem a seguir, iniciando com uma proposio, cuja demonstrao ca ca pode ser encontrada nas pginas 67 e 68 em [11]. a Proposio 2.1.2 Seja C um conjunto vivel de um PPL que possui alguma ca a soluo tima. Ento, ca o a max{cT x; x C} = min{cT x; x C}. Demonstrao: Seja x C uma soluo tima do problema ca ca o max{cT x; x C}. Para todo x C temos: pela denio de x , max{cT x} = cT x cT x, que ca T T equivalente a, c x c x = min{cT x}. Portanto, para todo x C, e max{cT x} = min{cT x}, nalizando a demonstrao. ca Na ocorrncia de e maximizar cT x sujeito a: x X, podemos usar a proposio anterior assim, ca minimizar cT x sujeito a: x X. Observe que, caso exista soluo tima, dito x X , o valor timo ser ca o o a T T T T max{c x; x X } = min{c x; x X }, pois c x = (c x ). Ateno: Que tal fazer o exerc 2(a) agora? ca cio Considere i = 1, . . . , m. Na ocorrncia de desigualdades do tipo e
n n

aij xj bi ou
j=1 j=1

aij xj bi ,

basta tomarmos xn+i 0 tal que

12
n n

CAP ITULO 2. O PROBLEMA

aij xj + xn+i = bi ou
j=1 j=1

aij xj xn+i = bi ,

respectivamente. Dizemos que xn+i uma varivel de folga, quando adie a cionada na restrio e, varivel de excesso, quando subtra na restrio. ca a da ca Ateno: Que tal fazer o exerc 2(b) agora? ca cio Por outro lado, considere j = 1, . . . , n. Na ocorrncia de variveis livres, e a quer dizer, sem restrio de sinal, isto , ca e xj R, basta realizarmos uma mudana de variveis denindo, c a xj = xj xj com xj 0 e xj 0. Ateno: Que tal fazer o exerc 2(c) agora? ca cio Ainda, considere j = 1, . . . , n. Sejam dados nmeros reais lj e uj , com u lj = 0. Na ocorrncia de variveis do tipo e a xj lj ou xj uj , podemos considerar xj lj ou xj uj como restries do tipo ou , co respectivamente. Assim, aumentamos o nmero de restries m para m + 2n u co e o nmero de variveis de n para 3n. Como uma segunda alternativa, u a podemos denir xj por xj + lj , para xj 0 e xj uj como restries do tipo co . Assim, aumentamos o nmero de restries m para m + n e o nmero de u co u variveis de n para 2n. Ainda, para xj lj e xi ui com j = i, i = 1, . . . , n, a podemos denir xj = xj + lj , xj 0 e xi = ui xi , xi 0. Assim, mantemos o nmero de restries e variveis e alteramos o vetor do u co a lado direito. Finalmente, se tivermos lj xj uj , isto , xj lj e xj uj , e existem tcnicas ecientes para a resoluo de problemas de PL com estas e ca restries denominadas restries tipo caixa (veja Bazaraa, Jarvis e Sherali co co

2.2. EXERC ICIOS

13

[5]). Todavia, neste ultimo caso (para n pequeno), podemos usar a primeira ou a segunda alternativas. Note que no consideramos desigualdades estritas. a Ateno: Que tal fazer os exerc ca cios 2 e 3 agora? Sem perda de generalidade, supomos posto(A) = m; isto , a matriz A e possui m linhas (ou colunas) linearmente independentes, e dizemos que A possui posto completo. Com efeito, se as linhas da matriz A so linearmente a dependentes, ento (P ) invivel ou as equaes lineares redundantes podem a e a co ser removidas seqencialmente at a matriz resultante ter posto completo u e (posto mximo). a Alm disso, se A uma matriz nula e b um vetor nulo, o posto de A e e e e igual a zero que menor do que m. Neste caso, minimizar o valor de uma e funo objetivo sujeito ao primeiro ortante (quadrante no R2 , octante no R3 , ca etc.), possui o vetor nulo como uma soluo, quando o vetor c 0, ou caso ca contrrio, trata-se de um problema ilimitado. Se b = 0 (para A nula), ento a a trata-se de um problema invivel. a Ateno: Que tal fazer os exerc ca cios 4 e 5 agora? A propsito, quando um problema de Otimizao um problema de PL? o ca e Quando as funes envolvidas (a funo objetivo e as restries do problema) co ca co so ans (lineares) e cont a nuas. No prximo cap o tulo introduziremos o processo de modelagem em PL, que evidenciar a relevncia prtica para o estudo dos mtodos e dos algoritmos a a a e para resolver PPL. Ateno: Que tal fazer os exerc ca cios 6 e 7 agora?

2.2

Exerc cios

1. Para o problema min x1 s. a: x1 + x2 = 2 x1 , x2 0, identique:

14

CAP ITULO 2. O PROBLEMA (a) a matriz tecnolgica A, 1 2, o vetor do lado direito b R e o o vetor custo c R2 ; e (b) a funo objetivo; os conjuntos: vivel, de pontos interiores, de ca a pontos interiores viveis e de solues timas; alguns pontos: viveis, a co o a interiores, interiores viveis e a soluo tima; e o valor timo. a ca o o 2. Colocar os seguintes problemas de PL no formato padro: a (a) maximizar x1 sujeito a : x1 + x2 = 2 x1 , x2 0. (b) minimizar x1 sujeito a : x1 + x2 2 x1 + x2 1 x1 , x2 0. (c) minimizar x1 sujeito a : x1 + x2 = 2. (d) minimizar x1 sujeito a : x1 + x2 =2 x1 1, x2 0. (e) 2x1 x2 maximizar sujeito a : x1 + 0, 005x2 + x3 3000 x2 x3 1 x2 0, 0, 1 x3 8.

3. Considere o PPL do item (c) do exerc anterior. Quantas variveis cio a voc obteve para o formato padro? Voc consegue car com apenas e a e trs? Se sim, como? Seno, tente! Observe que para n variveis livres, e a a sempre podemos realizar uma mudana de variveis de tal maneira que c a obtemos n + 1 variveis no negativas, ao invs de 2n, por exemplo. a a e Dependendo da situao, isto pode ser vantajoso computacionalmente. ca

2.2. EXERC ICIOS

15

4. Sejam dados a matriz A, 2 3, e os vetores b R2 e c R3 , a saber: 1 1 1 1 1 1 1 2 0 e c = 0 . 0


A= Pede-se:

, b=

(a) Qual o posto da matriz A? A tem posto completo? e (b) Considere o PPL no formato padro denido por A, b e c. Este a problema um problema invivel ou as equaes lineares redune a co dantes podem ser removidas seqencialmente at a matriz resulu e tante ter posto completo? Justique. (c) Considere a questo do item anterior. E se b = [2, 2]T ? a 5. Considere o PPL (P ) com posto(A) = m. Verique que a hiptese o n > m > 0 no restritiva para o problema (P ). Quer dizer, verique a e que: se m = n, o sistema de equaes lineares possui uma unica soluo co ca x. Se x 0, ento x a unica soluo tima para o problema (P ). a e ca o Seno, (P ) um problema invivel. a e a 6. Quais dos seguintes problemas de Otimizao so problemas de PL? ca a Justique. (a) 5x3 minimizar sujeito a : x1 x2 + x3 1 x2 0. minimizar log(x1 + 1) =2 sujeito a : x1 + 2x2 2 x1 , x 2 0. (c) minimizar x1 sujeito a : x1 x2 = 0 x1 , x2 {0, 1}.

(b)

16

CAP ITULO 2. O PROBLEMA 7. (Pgina 12 em [18]) Considere o seguinte problema de Otimizao: a ca minimizar |x1 | sujeito a : x1 + x2 = 7 x2 0. Converta este problema de Programao No Linear, no diferencivel, ca a a a para um PPL no formato padro, usando a seguinte sugesto: para a a qualquer nmero real x, pode-se encontrar u, v 0, tais que |x| = u+v u e x = u v. A propsito, os valores de u e v so unicos. o a

Cap tulo 3 Sobre a Modelagem


Neste cap tulo, nalizaremos a nossa introduo ` PL. Nosso objetivo ca a aqui introduzir o processo de modelagem para PPL, em contraposio ao e ca uso apenas da experincia e do bom senso. Neste cap e tulo no estamos a interessados em resolver problemas de PL. Citamos os primeiro e segundo cap tulos do livro de Goldbarg e Luna [19] como uma boa referncia para o estudo de modelagem. e Os responsveis pela tomada de decises nos mais variados campos da a o atividade humana defrontam-se com a necessidade de resolver algum problema espec co de Otimizao. O primeiro passo fundamental a forca e mulao, que consiste em traduzir a realidade emp ca rica para o estabelecimento do modelo matemtico. No entanto, a correspondncia entre sistema a e real e modelo formal est longe de ser perfeita: a traduo est sujeita a a ca a erros, simplicaes e falhas de comunicao. Tambm, no existem tcnicas co ca e a e precisas capazes de permitir o estabelecimento do modelo de um problema. Para consegu -lo, importante a nossa capacidade de anlise e s e a ntese. O prximo passo a deduo do modelo, isto , analis-lo e resolv-lo atravs o e ca e a e e de algoritmos espec cos. Sua soluo, atenta aos mtodos numricos em ca e e Computao, sugere uma tomada de deciso. Para a sua sustentao, recorca a ca remos ao prximo passo que a interpretao de uma soluo do modelo o e ca ca para uma soluo do sistema real. Neste ponto, o uso da experincia e do ca e bom senso de signicativa relevncia. Se o modelo no for validado, ele e a a deve ser reformulado, e assim por diante. Este o processo de modelagem e (veja Ravindran, Phillips e Solberg [50]). Considerando o processo de modelagem, estudaremos neste cap tulo o passo da formulao. ca 17

18

CAP ITULO 3. SOBRE A MODELAGEM

A seguir vamos enunciar um problema da dieta. O problema da dieta e famoso na literatura da PL porque ele foi o primeiro problema econmico o resolvido, em princ pio como teste, aps o advento da disciplina PL (veja o Namen e Bornstein [45]).

3.1

Um problema da dieta

Nesta seo, estudaremos um problema da dieta em nutrio de rumica ca nantes para Programao Linear. Para uma abordagem em Programaao ca c No Linear, veja Menezes e Vieira [41]. a Vamos separar esta seo em duas subsees: o problema prtico e o ca co a modelo matemtico. a

3.1.1

O problema

Suponhamos que fomos convidados para resolver o problema de minimizar o custo de uma dieta para vacas leiteiras em lactao para uma produo de ca ca leite de 20kg/dia por vaca. Um cientista em nutrio de ruminantes1 sugere que, para uma boa dieta, ca a vaca em lactao deve consumir feno, silagem de milho, fub, farelo de soja ca a e mistura mineral. Para cada quilo de feno, temos em mdia 50g de prote e na, 1,2Mcal de energia, 750g de bra, 10g de clcio e 1g de fsforo. Para cada quilo de a o silagem de milho, temos em mdia 30g de prote 1,5Mcal de energia, 600g e na, de bra, 6g de clcio e 1g de fsforo. Para cada quilo de fub, temos em a o a mdia 90g de prote e na, 2,8Mcal de energia, 90g de bra, 0,9g de clcio e a 0,2g de fsforo. Para cada quilo de farelo de soja, temos em mdia 450g de o e prote na, 2,5Mcal de energia, 150g de bra, 3,2g de clcio e 1,6g de fsforo. a o Para cada quilo de mistura mineral, temos em mdia 0g de prote e na, 0Mcal de energia, 0g de bra, 320g de clcio e 160g de fsforo. a o Alm disso, para uma boa dieta, a vaca em lactao deve possuir na sua e ca alimentao pelo menos 2240g/dia de prote ca na, pelo menos 24Mcal/dia de energia, pelo menos 6000g/dia de bra e no m nimo 64g/dia e no mximo a 160g/dia de clcio e fsforo. a o
Os dados que se seguem foram fornecidos pelo colega zootecnista Ricardo Vieira, quando no Instituto Melon, atravs de uma comunicao telefnica. e ca o
1

3.1. UM PROBLEMA DA DIETA

19

O preo mdio do quilo de feno, silagem de milho, fub, farelo de soja e c e a mistura mineral so, respectivamente, 35 centavos, 30 centavos, 20 centavos, a 28 centavos e 60 centavos.

3.1.2

O modelo

Uma vez que j dissemos no haver regras precisas para o processo de a a modelagem, sugerimos uma tentativa de encontrar inicialmente as variveis a de deciso. E, nalmente, sugerimos vericar as unidades de grandeza de a cada dado, logo, das variveis de deciso tambm. a a e Neste caso, denimos xj , j = 1, 2, . . . , 5, as variveis de deciso que prea a tendemos encontrar, se existir, a saber: xj : quantidade em quilogramas por dia do j-simo alimento para cada vaca. e Quer dizer, em quilogramas, para j = 1 temos a quantidade do alimento feno, para j = 2 temos a quantidade do alimento silagem de milho, para j = 3 temos a quantidade do alimento fub, para j = 4 temos a quantidade do a alimento farelo de soja e para j = 5 temos a quantidade do alimento mistura mineral. Aqui, o nosso objetivo minimizar o custo da compra dos alimentos, a e saber: 0, 35x1 + 0, 30x2 + 0, 20x3 + 0, 28x4 + 0, 60x5 . Nosso objetivo de minimizao est sujeito a algumas restries. Sabemos ca a co que cada quilo de feno fornece 10g de clcio, cada quilo de silagem de milho a fornece 6g de clcio, cada quilo de fub fornece 0,9g de clcio, cada quilo de a a a farelo de soja fornece 3,2g de clcio e cada quilo de mistura mineral fornece a 320g de clcio. Assim, temos que x1 quilos de feno, x2 quilos de silagem de a milho, x3 quilos de fub, x4 quilos de farelo de soja e x5 quilos de mistura a mineral fornecero conjuntamente 10x1 + 6x2 + 0, 9x3 + 3, 2x4 + 320x5 g/dia a de clcio, um total que deve atender o m a nimo desejado de 64g/dia de clcio a e o mximo desejado de 160g/dia de clcio. Desta forma, podemos construir a a duas inequaes, a saber: co 10x1 + 6x2 + 0, 9x3 + 3, 2x4 + 320x5 64 e

20

CAP ITULO 3. SOBRE A MODELAGEM

10x1 + 6x2 + 0, 9x3 + 3, 2x4 + 320x5 160. Da mesma maneira, obtemos as seguintes desigualdades: 50x1 + 30x2 + 90x3 + 450x4 2240 1, 2x1 + 1, 5x2 + 2, 8x3 + 2, 5x4 24 750x1 + 600x2 + 90x3 + 150x4 6000 x1 + x2 + 0, 2x3 + 1, 6x4 + 160x5 64 x1 + x2 + 0, 2x3 + 1, 6x4 + 160x5 160. Finalmente, compramos os alimentos ou no. Quer dizer, no podemos a a ter quantidades negativas de alimentos. Ento, a xj 0, j = 1, 2, . . . , 5. Portanto, o nosso modelo matemtico que tenta traduzir uma particular a realidade na dieta de vacas leiteiras em lactao com uma produo de leite ca ca de 20kg/dia por vaca com um gasto m nimo na compra dos alimentos, dado e pelo PPL minimizar 0, 35x1 + 0, 30x2 + 0, 20x3 + 0, 28x4 + 0, 60x5 sujeito a: 50x1 + 30x2 + 90x3 + 450x4 1, 2x1 + 1, 5x2 + 2, 8x3 + 2, 5x4 750x1 + 600x2 + 90x3 + 150x4 10x1 + 6x2 + 0, 9x3 + 3, 2x4 + 320x5 10x1 + 6x2 + 0, 9x3 + 3, 2x4 + 320x5 x1 + x2 + 0, 2x3 + 1, 6x4 + 160x5 x1 + x2 + 0, 2x3 + 1, 6x4 + 160x5 x1 , x 2 , x 3 , x 4 , x 5

2240 24 6000 64 160 64 160 0.

No prximo cap o tulo caracterizaremos o conjunto vivel como um cona junto poliedral, iniciando uma segunda etapa: os fundamentos da PL. Assim, neste momento, estamos nalizando a etapa introdutria. o

3.2

Exerc cios

1. (Pgina 399 em [10]) A companhia Sovina de Investimentos possui a seis milhes de reais, quantia esta que dever ser aplicada em 5 tipos de o a

3.2. EXERC ICIOS

21

investimentos, sendo que os retornos anuais para cada investimento so: a investimento 1 (I1), 10%; investimento 2 (I2), 8%; investimento 3 (I3), 6%; investimento 4 (I4), 5%; investimento 5 (I5), 9%. O gerente desta companhia deseja diversicar os investimentos para obter o mximo a rendimento poss vel. Dado o elemento de risco envolvido, o gerente restringiu a quantia aplicada em I1 a no mais que a quantia total a aplicada em I3, I4 e I5 (em conjunto). A soma da quantia total aplicada em I2 e I5 deve ser pelo menos igual ` quantia aplicada em I3. O I2 a deve estar limitado a um n que no exceda a quantia aplicada em vel a I4. E preciso determinar a alocao tima de investimento entre as ca o cinco categorias, de forma que o retorno ao nal do ano seja o mximo a poss vel. Formular somente o problema. 2. (Pgina 400 em [10]) A companhia ZigZag possui fbricas em Cama a pinas e Belo Horizonte (BH). Esta companhia produz e distribui computadores a comerciantes de vrias cidades. Numa determinada sea mana, a companhia possui: 30 unidades em Campinas e 40 unidades em BH. Nesta mesma semana, esta companhia deve atender os pedidos dos comerciantes das seguintes cidades: 20 unidades para So Paulo (SP), a 25 unidades para o Rio de Janeiro (RJ) e 25 unidades para Vitria. o O problema consiste em distribuir as mquinas aos comerciantes de a forma a atender os pedidos a um custo m nimo de transporte. Os custos unitrios de transporte em reais so: 9 de Campinas para SP, 16 a a de Campinas para RJ, 25 de Campinas para Vitria, 27 de BH para o SP, 22 de BH para RJ e 21 de BH para Vitria. Qualquer quantidade o fracionria aceitvel. Formular somente o problema. a e a 3. (Pgina 77 em [11]) Numa determinada regio, o problema da poluia a ca o atmosfrica tornou-se cr e tico devido ` emisso do poluente SO2 a a por um certo nmero n de fbricas. Este poluente liberado pela u a e queima de m combust veis para a produo da energia necessria. Cada ca a fbrica j necessita diariamente ej unidades de energia. Cada tonelada a do combust i, cujo custo ci , produz aij unidades de energia e emite vel e pij unidades do poluente, quando utilizada na fbrica j. Deseja-se que a a emisso diria do poluente para a regio no exceda unidades. a a a a Por uma questo de eqidade na distribuio dos custos da poluio, a u ca ca e importante assegurar adicionalmente que o custo da unidade de energia produzida seja o mesmo para as n fbricas. Pretende-se minimizar o a

22

CAP ITULO 3. SOBRE A MODELAGEM custo total de energia para as n fbricas. Formular o problema como a um problema de PL. 4. (Pgina 12 em [18]) Uma empresa chamada CHIPCO produz dois a tipos de chips de memria para computadores. O preo unitrio de o c a venda so 15 reais para o chip 1 e 25 reais para o chip 2. Para proa duzir cada chip 1, investe-se 3 homens-hora de trabalho especializado, 2 homens-hora de trabalho no especializado e 1 unidade de matriaa e prima por semana. Para produzir cada chip 2, investe-se 4 homens-hora de trabalho especializado, 3 homens-hora de trabalho no especializado a e 2 unidades de matria-prima por semana. A empresa viabiliza 100 e homens-hora de trabalho especializado, 70 homens-hora de trabalho no especializado e 30 unidades de matria-prima semanais. O cona e trato de venda assinado obriga a produo semanal de pelo menos 3 ca unidades do chip 2 e qualquer quantidade fracionria aceitvel. Fora e a mular o problema para que a empresa obtenha lucro mximo. a 5. (Pginas 70 e 71 em [19]) A Viao Area Brasileira est estudando a ca e a a compra de trs tipos de avies: Boeing 717 para as pontes areas de e o e curta distncia, Boeing 737-500 para vos domsticos e internacionais a o e de mdia distncia e MD-11 para vos internacionais de longa distncia. e a o a Em um estudo preliminar, considerou-se que a capacidade mxima dos a avies a serem comprados ser sempre preenchida para efeito de planeo a jamento. Os dados de planejamento so: um avio do tipo Boeing 717 a a custa 5,1 milhes de dlares, tem uma receita terica de 330 milhes de o o o o dlares e a empresa deve ter 30 pilotos aptos; um avio do tipo Boeing o a 737-500 custa 3,6 milhes de dlares, tem uma receita terica de 300 o o o milhes de dlares e a empresa deve ter 20 pilotos aptos; e um avio do o o a tipo MD-11 custa 6,8 milhes de dlares, tem uma receita terica de o o o 420 milhes de dlares e a empresa deve ter 10 pilotos aptos. A verba o o dispon vel para as compras de 220 milhes de dlares. Os pilotos e o o de MD-11 podem pilotar todos os avies da empresa, mas os demais o pilotos s podem ser escalados `s aeronaves a que foram habilitados. o a Cada aeronave necessita de dois pilotos para operar. As ocinas de manuteno podem acomodar at 40 Boeings 717. Um Boeing 737-500 ca e equivale, em esforo de manuteno, a 3/4, e um MD-11 a 5/3, quando c ca referidos ao Boeing 717. Formular um modelo de PL para o problema de otimizar as aquisies de avies. co o

Cap tulo 4 Poliedros e o Conjunto Vivel a


Aqui e nos prximos seis cap o tulos, trataremos do estudo dos fundamentos da PL. O que faremos neste caminho, ento, ser reescrever o que j a a a existe na literatura, dando uma primeira olhada no conjunto vivel como a um poliedro e, em seguida, caracterizando-o como um conjunto poliedral com um nmero nito de pontos extremos e com pelo menos um ponto exu tremo quando no vazio, enunciando e demonstrando o Teorema Fundamena tal da PL, denindo o problema dual, enunciando e demonstrando o Lema de Farkas para, em seguida, enunciar e demonstrar o Teorema de Dualidade e, nalmente, denindo o problema primal-dual associando-o `s condies de a co otimalidade para um PPL. Iniciamos o nosso intuito com alguns resultados de convexidade. Nosso objetivo aqui demonstrar que poliedros so conjuntos convexos e fechados e a e que o conjunto vivel um poliedro. a e

4.1

Poliedros

Iniciamos o nosso propsito denindo combinaes lineares e, em seguida, o co denindo conjuntos convexos e demonstrando que a interseo nita de conca vexos um conjunto convexo. e Denio 4.1.1 Sejam dados q vetores x1 , x2 , . . . , xq Rn . ca (a) Dizemos que x Rn uma combinao linear de x1 , x2 , . . . , xq Rn , e ca quando existem q escalares 1 , 2 , . . . , q R tais que 23

24

CAP ITULO 4. POLIEDROS E O CONJUNTO VIAVEL

x = 1 x 1 + 2 x 2 + . . . + q x q ; (b) dizemos que x Rn uma combinao linear am, ou simplesmente e ca 1 2 q combinao am, de x , x , . . . , x Rn , quando x uma combinao ca e ca linear e 1 + 2 + . . . + q = 1; e (c) dizemos que x Rn uma combinao linear convexa, ou simplese ca 1 2 mente combinao convexa, de x , x , . . . , xq Rn , quando x uma ca e combinao linear am e ca 1 , 2 , . . . , q [0, 1]. Ateno: Que tal fazer o exerc 1 agora? ca cio Denio 4.1.2 Seja S um subconjunto de Rn . ca (a) Dizemos que S um conjunto am, quando todas as combinaes ans e co de quaisquer dois pontos de S pertencem a S; e (b) dizemos que S um conjunto convexo, quando todas as combinaoes e c convexas de quaisquer dois pontos de S pertencem a S. Ateno: Que tal fazer o exerc 2 agora? ca cio Agora estamos prontos para demonstrar que a interseo (no nosso caso, ca nita) de conjuntos convexos um conjunto convexo. A demonstrao da e ca proposio a seguir pode ser encontrada na pgina 90 em [27]. ca a Proposio 4.1.3 Suponha que S1 , S2 , . . . , Sq so subconjuntos convexos de ca a n R . Ento, a S = S1 S2 . . . S q um conjunto convexo. e

4.1. POLIEDROS

25

Demonstrao: Se a interseo vazia, ento S convexo porque no ca ca e a e a existe par de pontos no conjunto vazio. Caso contrrio, xemos arbitraria 1 2 amente x , x S. Tomemos 1 , 2 [0, 1] com 1 + 2 = 1. Considere i = 1, 2, . . . , q. Uma vez que x1 , x2 S, segue-se pela denio de inca 1 2 terseo de conjuntos que x , x Si , para cada i. Logo, para cada i, ca x = 1 x1 + 2 x2 Si , pela convexidade de Si . Segue-se, novamente pela denio de interseo de conjuntos, que x S. Pela arbitrariedade de ca ca 1 2 x , x S, S um conjunto convexo. Isto naliza a demonstrao. e ca Ateno: Que tal fazer o exerc 3 agora? ca cio Neste ponto vamos denir um vetor que fundamental para o estudo da e PL. Denio 4.1.4 Seja S um subconjunto convexo de Rn . Um ponto x em S ca denominado ponto extremo de S, quando x no uma combinao linear e a e ca convexa de quaisquer dois outros pontos distintos em S. Ateno: Que tal fazer o exerc 4 agora? ca cio Agora vamos denir bolas: bola aberta e bola fechada. E, tambm, cone junto limitado. Denio 4.1.5 Considere um vetor x Rn e um nmero real positivo t. ca u (a) A bola aberta de centro x e raio t o conjunto dos pontos x Rn cuja e distncia ao ponto x menor do que t, isto , a e e B(, t) = {x Rn ; x x < t}. x (b) A bola fechada de centro x e raio t o conjunto dos pontos x Rn e cuja distncia ao ponto x menor do que ou igual a t, isto , a e e B[, t] = {x Rn ; x x t}. x (c) Dizemos que um conjunto S, S Rn , limitado, quando existe um e escalar > 0, tal que x para todo x S.

26

CAP ITULO 4. POLIEDROS E O CONJUNTO VIAVEL

Ateno: Que tal fazer o exerc 5 agora? ca cio O prximo passo ser denir conjunto fechado e demonstrar que a ino a terseo (no nosso caso, nita) de conjuntos fechados um conjunto fechado. ca e Denio 4.1.6 Seja S um subconjunto de Rn . ca (a) Um ponto x Rn chama-se ponto de acumulao do conjunto S, ca quando toda bola aberta de centro x possui algum ponto de S, dife rente de x. Ou seja, para todo > 0, deve existir x S tal que 0< xx < ; (b) um ponto x Rn diz-se aderente a um conjunto S, quando limite de e uma seqncia de pontos desse conjunto; ue (c) o conjunto dos pontos aderentes a S chama-se o fecho de S, denotado por f echo(S); (d) um conjunto S chama-se fechado, quando possui todos os seus pontos aderentes, isto , se lim xk = x e xk S para todo k N , ento x S; e a e (e) um conjunto S chama-se compacto, quando S limitado e fechado. e Ateno: Que tal fazer o exerc 6 agora? ca cio A demonstrao da proposio a seguir pode ser encontrada na pgina ca ca a 40 em [33]. Proposio 4.1.7 Suponha que S1 , S2 , . . . , Sq so subconjuntos fechados de ca a Rn . Ento, a S = S1 S2 . . . S q um conjunto fechado. e Demonstrao: Se a interseo vazia, ento S fechado porque o conca ca e a e junto vazio possui zero pontos aderentes. Caso contrrio, dado um ponto a x aderente a S, devemos demonstrar que x S. Com efeito, considere mos i = 1, 2, . . . , q e suponhamos x aderente a S. Por hiptese, existe uma o k k k seqncia (x ), x S, para todo k N , tal que lim x = x. Para todo ue k N , uma vez que xk S, segue-se pela denio de S, que xk Si , para ca todo i. Da x aderente para cada Si . Para todo i, uma vez que Si fechado , e e segue-se que x Si . Pela denio de interseo de conjuntos, x S. Isto ca ca naliza a demonstrao. ca

4.1. POLIEDROS

27

Ateno: Que tal fazer o exerc 7 agora? ca cio Anal, o que so poliedros? A seguir, denimos poliedro como um a poliedro convexo fechado, conforme [27]. Denio 4.1.8 Sejam dados um vetor no nulo a Rn , denominado vetor ca a normal, e um escalar R. (a) O conjunto H = {x Rn ; aT x = } denominado um hiperplano; e (b) os conjuntos Hl = {x Rn ; aT x } e Hu = {x Rn ; aT x } so denominados semiespaos fechados; e a c (c) um poliedro convexo fechado ou, simplesmente, poliedro, um conjunto e formado pela interseo de um nmero nito de semiespaos fechados. ca u c Pela denio de poliedro, observamos que o conjunto vazio um poliedro. ca e Ateno: Que tal fazer o exerc 8 agora? ca cio A seguir deniremos um poliedro em particular, ou seja, um politopo. Denio 4.1.9 Seja S um subconjunto de Rn . Dizemos que um conjunto ca S um politopo, quando S um poliedro limitado. e e

28

CAP ITULO 4. POLIEDROS E O CONJUNTO VIAVEL

Ateno: Que tal fazer o exerc 9 agora? ca cio Agora estamos prontos para demonstrar que um poliedro um conjunto e convexo e fechado. Proposio 4.1.10 Seja S um subconjunto de Rn . Se S um poliedro, ca e ento S um conjunto convexo e fechado. a e Demonstrao: Suponha S um poliedro. Por denio, S a interseo ca ca e ca de um nmero nito de semiespaos fechados. Sem perda de generalidade, u c supomos que estes semiespaos fechados so da forma Hl . Assim, vamos c a demonstrar que o semiespao fechado Hl convexo. Com efeito, xando c e arbitrariamente x1 , x2 Hl e tomando 1 , 2 [0, 1] tal que 1 + 2 = 1, segue-se pela denio de Hl , que ca aT (1 x1 + 2 x2 ) = 1 aT x1 + 2 aT x2 1 + 2 = . Logo, pela arbitrariedade de x1 , x2 Hl , conclu mos que Hl convexo. e Agora, como S o conjunto interseo de um nmero nito de conjuntos e ca u convexos da forma Hl , segue-se pela Proposio 4.1.3 que S convexo. Fica e nalmente, pela denio de S, uma vez que cada semiespao fechado fechado ca c e (veja pgina 39 em [6]), segue-se pela Proposio 4.1.6 que S fechado. Isto a ca e naliza a demonstrao. ca Ateno: Que tal fazer o exerc 10 agora? ca cio Finalmente, vamos demonstrar que o conjunto vivel de um PPL um a e poliedro. Proposio 4.1.11 Considere o PPL (P ). O conjunto de solues viveis ca co a X um poliedro, convexo e fechado. e Demonstrao: Usando a Proposio 4.1.10, basta-nos demonstrar que X ca ca um poliedro. Por denio, X o conjunto interseo de 2m+n semiespaos e ca e ca c fechados. Portanto, X um poliedro. Isto naliza a demonstrao. e ca No prximo cap o tulo caracterizaremos denitivamente o conjunto vivel a de um PPL. Ateno: Que tal fazer o exerc 11 agora? ca cio

4.2. EXERC ICIOS

29

4.2

Exerc cios

1. Considere x = [2, 1]T . Encontre uma de suas combinaes lineares, co uma de suas combinaes ans e uma de suas combinaes convexas. co co 2. Sejam dados os subconjuntos do R2 , a saber: S1 = , S2 = {(1, 0)T }, S3 = {x R2 ; x1 + x2 = 2} e S4 = {x S3 ; x1 , x2 0}. Representar gracamente os conjuntos que so: a (a) conjuntos ans; e (b) conjuntos convexos. 3. D um contra-exemplo para demonstrar que a reunio nita de cone a juntos convexos no um conjunto convexo. a e 4. Desenhe conjuntos com zero, um, dois e uma innidade de pontos extremos. 5. D um exemplo de uma bola aberta e de uma bola fechada na reta R. e 6. D um exemplo de um conjunto fechado que no um conjunto come a e pacto e d um outro exemplo de um conjunto compacto. e 7. Sejam dados os subconjuntos do R2 , a saber: S1 = {x R2 ; x1 , x2 0} e S2 = {x R2 ; x1 x2 = 1}. Pede-se: representar gracamente os conjuntos fechados S1 , S2 e S1 S2 . 8. Considere a = [1, 1]T e = 2. Represente gracamente os conjuntos H, Hl e Hu . Alm disso, dena dois poliedros distintos e represente-os e gracamente. 9. D um exemplo de um politopo e d um exemplo de um poliedro que e e no um politopo. a e

30

CAP ITULO 4. POLIEDROS E O CONJUNTO VIAVEL

10. Todo hiperplano um conjunto convexo e fechado? Demonstre ou d e e um contra-exemplo. 11. Uma reta qualquer no R2 um conjunto poliedral, convexo e fechado. e Intuitivamente falando, voc acha que o conjunto vivel de um PPL e a pode ser uma reta? Justique.

Cap tulo 5 Caracterizao do Conjunto ca Vivel a


Continuamos com o nosso estudo dos fundamentos da PL. Nosso objetivo aqui caracterizar o conjunto vivel como um poliedro com pelo menos um e a ponto extremo quando no vazio. a

5.1

Soluo bsica vivel ca a a

Neste ponto, vamos reescrever a denio de ponto extremo de uma ca maneira, digamos, mais operacional. Denio 5.1.1 Sejam dados uma matriz A, m n, 0 < m < n, e um ca vetor b em Rm . Considere um sistema de equaes lineares Ax = b, tal que co posto(A) = m. (a) Uma matriz quadrada B, m m, obtida de A, com m vetores coluna linearmente independentes denomina-se matriz base de A ou base de A. Uma matriz N , m (n m), obtida de A, com os n m vetores coluna restantes denomina-se matriz no base. a (b) Considere uma matriz base B, mm. O conjunto de ndices correspondentes a esta matriz base B, no sistema Ax = b, chama-se conjunto de ndices base. O conjunto com os demais n m ndices chama-se conjunto de ndices no base. Denotamos o conjunto de a ndices base por IB e o conjunto de ndices no base por IN . a 31

32

CAP ITULO 5. CARACTERIZACAO DO CONJUNTO VIAVEL

(c) Considere uma matriz base B, m m. As variveis correspondentes a a esta matriz base B, no sistema Ax = b, chamam-se variveis bsicas. a a As demais n m variveis chamam-se variveis no bsicas. Denoa a a a tamos o vetor de variveis bsicas por xB e o vetor de variveis no a a a a bsicas por xN . a (d) Anulando as n m variveis no bsicas, obtemos um sistema coma a a patvel determinado, constitu de m equaes e m incgnitas. De do co o terminando o valor das variveis bsicas, obtemos uma soluo bsica. a a ca a Ou seja, x Rn uma soluo bsica, quando xN = 0 e xB a soluo e ca a e ca do sistema linear BxB = b. (e) Uma soluo bsica onde as variveis bsicas so no negativas denoca a a a a a mina-se soluo bsica vivel. ca a a (f ) Uma soluo bsica vivel onde existe ao menos uma varivel bsica ca a a a a nula denomina-se soluo bsica vivel degenerada. ca a a Por convenincia, suponhamos que x1 , . . . , xm so as variveis bsicas, e a a a coordenadas de xB , e xm+1 , . . . , xn so as variveis no bsicas, coordenadas a a a a de xN . Para a resoluo do sistema Ax = b buscamos exprimir xB em funo ca ca de xN , a saber: Ax = b BxB + N xN = b xB = B 1 b B 1 N xN . Para xN = 0, xB = B 1 b, e x uma soluo bsica. Se xB = B 1 b 0, para e ca a xN = 0, ento x uma soluo bsica vivel. a e ca a a Ateno: Que tal fazer os exerc ca cios 1, 2 e 3 agora? Se demonstrarmos que para um PPL um ponto extremo uma soluao e c bsica vivel e vice-versa, ento obteremos uma caracterizao para pona a a ca tos extremos mais operacional. E o que faremos no prximo teorema, cuja o demonstrao pode ser encontrada nas pginas 31, 32 e 33 em [2]. ca a Teorema 5.1.2 Considere o PPL (P ). Um ponto vivel x X ponto a e extremo se, e somente se, x uma soluo bsica vivel. e ca a a Demonstrao: ca

5.1. SOLUCAO BASICA VIAVEL

33

(=) Aqui vamos demonstrar que se x um ponto extremo ento x e a e uma soluo bsica vivel (sbv). Suponhamos, ento, que x um ponto exca a a a e tremo de X . Se x o vetor nulo, ento como a matriz A tem posto completo, e a segue-se que x uma sbv para alguma matriz base de A. Sem perda de gee neralidade, suponhamos que as primeiras q componentes de x so positivas. a Pela viabilidade de x, para j = 1, . . . , q, xj > 0 e A1 x1 + . . . + Aq xq = b, onde Aj a j-sima coluna da matriz A. Para demonstrar que x uma sbv, e e e devemos mostrar que os vetores A1 , . . . , Aq , associados `s componentes posia tivas de x, so linearmente independentes (li). Suponhamos, por contradio, a ca que estes vetores so linearmente dependentes, isto , existem nmeros j , a e u j = 1, . . . , q, no todos nulos, tais que a
q

Aj j = 0.
j=1

(5.1)

Selecionando = min{ xj ; j = 0, j = 1, . . . , q}, |j |

podemos escolher , 0 < < , tal que xj + j > 0 e xj j > 0, para j = 1, . . . , q. Assim, denimos x1 e x2 por x1 = x + 0 e x2 = x 0,

(5.2)

onde = [1 , . . . , q , 0 . . . , 0]T . Segue-se pela denio de e por (5.1), que ca 1 A = 0. Logo, pela linearidade de A, Ax = b e Ax2 = b, de tal maneira que, usando (5.2), x1 , x2 X e tanto x1 quanto x2 so diferentes de x. Alm a e disso, x = (x1 + x2 )/2, isto , x uma combinao convexa de dois outros e e ca pontos distintos, contradizendo o fato de que x um ponto extremo. Logo, e A1 , . . . , Aq so vetores li e, portanto, se x um ponto extremo de X , x uma a e e sbv de X . Isto naliza a primeira parte da demonstrao. ca (=) Aqui vamos demonstrar que se x uma sbv ento x um ponto e a e extremo. Suponhamos, ento, que x uma sbv de X . Se necessrio, rearrana e a jando suas componentes, x = [x1 , . . . , xm , 0, . . . , 0]T ,

(5.3)

34

CAP ITULO 5. CARACTERIZACAO DO CONJUNTO VIAVEL

uma vez que x uma sbv. Alm disso, pela viabilidade de x, x 0 e e e

Ax = BxB = b, onde B a matriz base, obtida das m primeiras colunas de A. Se e x = (x1 + x2 )/2 X

(5.4)

para dois pontos quaisquer x1 , x2 X , segue-se por (5.3) que as m primeiras componentes de x1 e x2 so no negativas e as n m componentes restantes a a so iguais a zero. Pelo fato de B ser uma matriz base, o sistema (5.4) possui a uma unica soluo, logo, x = x1 = x2 . Portanto, x um ponto extremo de ca e X . Isto naliza a demonstrao. ca Assim, podemos calcular pontos extremos atravs do clculo de soluoes e a c bsicas viveis. Alm disso, devemos observar que a correspondncia entre a a e e pontos extremos e solues bsicas viveis no em geral um-a-um. co a a a e Ateno: Que tal fazer o exerc 4 agora? ca cio O nmero de pontos extremos em qualquer conjunto vivel de um PPL u a nito? A resposta sim, e demonstraremos isto agora mesmo. Esta dee e monstrao pode ser encontrada na pgina 107 em [11]. ca a Corolrio 5.1.3 Considere o PPL (P ). O conjunto de solues viveis tem a co a um nmero nito de pontos extremos. u Demonstrao: Uma vez que posto(A) = m < n, dos n vetores coluna de ca A, existem no mximo a n m = n! m!(n m)!

conjuntos de m vetores linearmente independentes, o que signica no mximo a combinaes de n tomados m a m solues bsicas. Por denio, o nmero co co a ca u de solues bsicas viveis menor do que ou igual ao nmero de soluoes co a a e u c bsicas. Logo, usando o teorema anterior, segue-se que existe um nmero a u nito de pontos extremos do conjunto vivel X , nalizando a demonstrao. a ca

5.2. A CARACTERIZACAO DE X

35

Ateno: Que tal fazer o exerc 5 agora? ca cio Na prxima seo formalizaremos a geomeria do conjunto vivel de um o ca a PPL.

5.2

A caracterizao de X ca

Nesta seo, caracterizamos o conjunto vivel X de um PPL atravs da ca a e formalizao de sua geometria: X um poliedro com um nmero nito de ca e u pontos extremos e, quando no vazio, possui ao menos um ponto extremo. a O prximo resultado lana as bases para a demonstrao de existncia de o c ca e pontos extremos em um conjunto vivel de um PPL. A demonstrao deste a ca teorema pode ser encontrada nas pginas 108 e 109 em [11]. a Teorema 5.2.1 Considere o PPL (P ). Todo ponto vivel x pode ser escrito a como uma combinao linear convexa ca x = x + (1 ), 0 < 1, x onde x ponto extremo de X e x X . e Demonstrao: Sem perda de generalidade, seja x = (x1 , . . . , xq , 0 . . . , 0)T , ca um ponto de X , cujas q primeiras componentes so positivas. Demonsa traremos o teorema usando induo nita em q. ca Para q = 0: como posto(A) = m, podemos sempre encontrar uma base ` a qual seja poss associar a soluo bsica vivel x, ou seja, pelo Teorema vel ca a a 5.1.2, o ponto extremo x. Temos, ento, x = x com = 1. a Para q > 0: vamos admitir que j tenhamos demonstrado o teorema a para o caso em que x possui no mximo q 1 componentes positivas. Dea monstremos agora que podemos estender esta armao para o caso em que ca x possua q componentes positivas. Consideremos dois casos. (i) A1 , . . . , Aq so linearmente independentes: neste caso necessariamente a q m e podemos, ento, se necessrio, adicionar `s colunas A1 , . . . , Aq , a a a m q colunas de A formando uma base. Para esta base podemos associar a soluo bsica vivel x, ou seja, pelo Teorema 5.1.2, o ponto ca a a extremo x. Temos, ento, novamente x = x com = 1. a

36

CAP ITULO 5. CARACTERIZACAO DO CONJUNTO VIAVEL

(ii) A1 , . . . , Aq so linearmente dependentes: por denio, existem nmeros a ca u 1 , . . . , q , no todos nulos, tais que a
q

Aj j = 0.
j=1

Assim, como na demonstrao do Teorema 5.1.2, podemos denir ca x1 + x2 , 2 onde x1 = x + X e x2 = x X , onde x= = min{ e = [1 , . . . , q , 0 . . . , 0]T . Digamos que k < 0, isto , = xk /k . A outra situao, isto , e ca e 1 k > 0, anloga. Temos, ento, para a k-sima componente de x , e a a e x1 = xk + k = xk k Como x1 = x1 = . . . = x1 = 0, k q+1 n x1 tem no mximo q 1 componentes positivas. De acordo com a a hiptese de induo, temos, o ca x1 = + (1 ), 0 < 1, x x (5.6) xk k = 0. k xk xj ; j = 0, j = 1, . . . , q} = |j | |k |

(5.5)

onde x ponto extremo de X e x X . Substituindo (5.5) em (5.6), e + (1 ) + x2 x x 2 2 1 1 = x+ ( x+ x2 ). 2 2 2 2

x =

5.2. A CARACTERIZACAO DE X Fazendo x= 1 1 x+ x2 , 2 2

37

temos que x X , porque X convexo e x combinao linear convexa e e ca de dois pontos viveis x e x2 , uma vez que a 1 1 + =1 e 2 2 1 1 , [0, 1]. 2 2

Finalmente, fazendo = /2, podemos, ento, escrever a x = x + (1 ), 0 < 1, x onde x ponto extremo de X e x X . e Assim, supondo a hiptese verdadeira para q 1 componentes positivas o foi poss demonstr-la para q componentes positivas. Como a hiptese vel a o e verdadeira para q = 0, nalizamos a demonstrao. ca Ateno: Que tal fazer o exerc 6 agora? ca cio O prximo resultado caracteriza o conjunto vivel de um PPL, formao a lizando assim, a sua geometria. Corolrio 5.2.2 Considere o PPL (P ). O conjunto vivel X um poliedro a a e e, quando no vazio, possui ao menos um ponto extremo. Alm disso, o a e nmero de pontos extremos nito. u e Demonstrao: Pela Proposio 4.1.11, X um poliedro, pelo Corolrio ca ca e a 5.1.3, o nmero de pontos extremos nito e, usando o teorema anterior, u e X possui ao menos um ponto extremo, quando no vazio. Isto naliza a a demonstrao. ca No prximo cap o tulo estudaremos o conjunto de solues timas de um co o PPL. Alm disso, enunciaremos e demonstraremos o Teorema Fundamental e da PL. Ateno: Que tal fazer o exerc 7 agora? ca cio

38

CAP ITULO 5. CARACTERIZACAO DO CONJUNTO VIAVEL

5.3

Exerc cios

1. Considere A= 111 001 eb= 3 1 .

Desenvolva Ax = b objetivando isolar xB , para alguma base B. 2. Considere o sistema de desigualdades x1 x2 x1 + x2 3x1 + 3x2 x1 0, x2 0. 2 3 3 9

Transforme as desigualdades menor do que ou igual a em igualdades. A partir da dena uma matriz A e um vetor b R4 . Dena uma , matriz base B associada ` matriz A. Pede-se, para a base que voc a e escolheu, se existir: (a) o conjunto de ndices base e o conjunto de ndices no base; a (b) as variveis bsicas e as variveis no bsicas; a a a a a (c) a soluo bsica; ca a (d) a soluo bsica vivel; e ca a a (e) a soluo bsica vivel degenerada. ca a a 3. Desenhe o conjunto vivel no R2 do exerc anterior e identique as a cio sete solues bsicas viveis degeneradas. Tire concluses sobre o seu co a a o 3 desenho. Em seguida, desenhe o conjunto vivel em R para o PPL a min s. a: x1 x1 + x2 + x3 + x4 =4 0, 8x1 + x2 + 2x3 + x5 = 4 x1 , x2 , x3 , x4 , x5 0,

e identique as quatro solues bsicas viveis degeneradas. Refute co a a a concluso de que sempre existem restries redundantes em uma a co

5.3. EXERC ICIOS

39

soluo bsica vivel degenerada. Observe que neste ultimo problema ca a a de PL, n m = 3 > 2 (veja pgina 86 em [21]). a 4. Considere o PPL minimizar x1 x2 sujeito a : x1 + x2 3 x1 2 x2 3 x1 , x2 0. Pede-se: (a) coloque o PPL no formato padro; a (b) verique que todos os pontos extremos so solues bsicas viveis a co a a e vice-versa; e (c) verique que o nmero de pontos extremos menor do que ou u e igual ao nmero de solues bsicas viveis. Por qu? u co a a e 5. Considere o PPL do exerc anterior. Pede-se: cio (a) quais so as solues bsicas e as solues bsicas viveis; e a co a co a a (b) quantas so as solues bsicas e as solues bsicas viveis. a co a co a a 6. Considere o PPL do exerc anterior. Represente os pontos abaixo cio como combinao linear convexa de pelo menos um ponto extremo e ca algum outro ponto vivel. a (a) x = [1, 1]T ; (b) x = [0, 0]T ; e (c) x = [1, 0]T . 7. Encontre um poliedro, convexo, fechado e no vazio, tal que um cona junto vivel de qualquer PPL no pode assumir. Por qu? a a e

40

CAP ITULO 5. CARACTERIZACAO DO CONJUNTO VIAVEL

Cap tulo 6 Caracterizao do Conjunto de ca Solues Otimas co


Continuamos com o nosso estudo dos fundamentos da PL. Nosso objetivo aqui caracterizar o conjunto de solues timas como um poliedro que, e co o quando no vazio, possui uma unica ou uma innidade de solues timas. a co o Quando o conjunto de solues timas vazio, vimos no Cap co o e tulo 2 que o problema de PL pode ser ilimitado ou invivel. a Inicialmente, enunciamos e demonstramos o Teorema Fundamental da PL para, em seguida, formalizar a geometria do conjunto de solues timas. co o

6.1

O Teorema Fundamental da PL

Os dois ultimos cap tulos nos auxiliam para a demonstrao e para o enca tendimento geomtrico deste teorema. Assim, estamos prontos para enunciar e e demonstrar o Teorema Fundamental da PL, cuja demonstrao pode ser ca encontrada na pgina 111 em [11]. a Teorema 6.1.1 Considere o PPL (P ). Se (P ) admite soluo tima, ento ca o a uma soluo tima atingida em ao menos um ponto extremo do conjunto ca o e vivel. a Demonstrao: Seja x uma soluo tima do PPL (P ). Pelo Teorema ca ca o 5.2.1, podemos escrever x = x + (1 ), 0 < 1, x 41

42CAP ITULO 6. CARACTERIZACAO DO CONJUNTO DE SOLUCOES OTIMAS onde x um ponto extremo de X e x X . Pela linearidade da funo e ca objetivo, cT x = cT ( x + (1 )) = cT x + (1 )cT x. x Como x uma soluo tima, cT x cT x. Substituindo esta desigualdade e ca o na ultima igualdade, cT x cT x + (1 )cT x . Da resulta cT x cT x, ou seja, como > 0, cT x cT x. Mas como x uma soluo tima, e ca o cT x cT x. Das duas ultimas desigualdades resulta cT x = cT x. Evidentemente, podemos ter x = x, isto , x ponto extremo. Caso tenhamos, no entanto, x = x, e e existe mais de uma soluo tima entre as quais se encontra ao menos um ca o ponto extremo, isto x. Isto naliza a demonstrao. e ca Ateno: Que tal fazer o exerc 1 agora? ca cio Na prxima seo formalizaremos a geometria do conjunto de solues o ca co o timas de um PPL.

6.2

A caracterizao de X (P ) ca

Nesta seo, caracterizamos o conjunto de solues timas X (P ) atravs ca co o e da formalizao de sua geometria: quando no vazio, X (P ) um poliedro ca a e que possui uma unica ou uma innidade de solues timas. co o Iniciamos o nosso propsito com o seguinte resultado. o Teorema 6.2.1 Considere o PPL (P ). Cada combinao linear convexa de ca solues timas por sua vez tambm uma soluo tima. co o e e ca o Demonstrao: Sejam x1 , . . . , xq solues timas do PPL (P ). Seja o ca co o ponto x Rn uma combinao linear convexa qualquer de xk , k = 1, . . . , q. ca Isto , e

6.2. A CARACTERIZACAO DE X (P )
q q

43

x =
k=1

k xk ,
k=1

k = 1, k 0, k = 1, . . . , q.

Ento, x 0 e, usando a linearidade de A e a viabilidade de x1 , . . . , xq , a Ax = b. Ento, x X . Por outro lado, a


q

c x =c (
k=1 1 q

k xk ) = 1 cT x1 + . . . + q cT xq .

Uma vez que x , . . . , x so solues timas, segue-se que a co o cT x1 = . . . = cT xq = v(P ). Ento, usando o fato de que a
q k=1 q

k = 1, obtemos k v(P ) = v(P ).

cT x =
k=1

Portanto, x X (P ) e pela arbitrariedade de x conclu mos a demonstrao. ca

Ateno: Que tal fazer o exerc 2 agora? ca cio Corolrio 6.2.2 Considere o PPL (P ). Se (P ) possui mais de uma soluo a ca o tima, ento possui uma innidade de solues timas. a co o Demonstrao: Considere x1 , x2 X (P ) tais que x1 = x2 . Segue-se pelo ca teorema anterior que x = x1 + (1 )x2 X (P ), para todo [0, 1]. Portanto, X (P ) possui uma innidade de solues co o timas, nalizando a demonstrao. ca Ateno: Que tal fazer o exerc 3 agora? ca cio Finalmente, vamos caracterizar o conjunto de solues timas X (P ). co o Teorema 6.2.3 Considere o PPL (P ). O conjunto de solues timas um co o e poliedro e, quando no vazio, possui uma unica ou uma innidade de solues a co o timas.

44CAP ITULO 6. CARACTERIZACAO DO CONJUNTO DE SOLUCOES OTIMAS Demonstrao: Por denio, X (P ) o conjunto interseo de um nmero ca ca e ca u nito, 2m+n+2, semiespaos fechados. Portanto, X (P ) um poliedro. Pelo c e corolrio anterior, X (P ) possui uma unica ou uma innidade de solues a co o timas quando no vazio. Isto naliza a demonstrao. a ca No prximo cap o tulo iniciaremos o estudo de dualidade em Programao ca Linear. Ateno: Que tal fazer os exerc ca cios 4 e 5 agora?

6.3

Exerc cios

1. D um exemplo de um PPL com uma soluo tima. Verique que pelo e ca o menos uma soluo tima um ponto extremo. ca o e 2. Seja o PPL no formato padro denido por a A = [1 1], b = 2 e c = [2, 2]T . Encontrar todos os pontos extremos que so solues timas e vericar a co o que toda combinao linear convexa destes minimizadores encontrados ca um ponto de m e nimo tambm. e 3. D um exemplo para um PPL: e (a) com uma unica soluo tima; ca o (b) com uma innidade de solues timas; co o (c) ilimitado; e (d) invivel. a 4. Considere os problemas de PL do exerc anterior. Verique que os cio conjuntos de solues timas so poliedros. co o a 5. Demonstre que o conjunto de solues timas um conjunto convexo. co o e

Cap tulo 7 O Problema Dual


Continuamos com o nosso estudo dos fundamentos da PL. Nosso objetivo aqui denir o problema de Programao Linear dual, para o PPL primal e ca (P ) no formato padro. a Iniciamos o nosso intuito estudando um pouco de Algebra Linear.

7.1

Preliminares

Inicialmente, vamos denir ortogonalidade entre dois subespaos vetoriais. c Denio 7.1.1 Considere o espao vetorial Rn . Dois subespaos V e W ca c c de Rn so ortogonais, quando qualquer vetor v V ortogonal a qualquer a e vetor w W , isto , e v T w = 0, para todo v V e para todo w W. Ateno: Que tal fazer o exerc 1 agora? ca cio Considere a transformao linear denida pela matriz A Rmn . Dois ca subespaos importantes do espao vetorial Rn esto associados com esta c c a transformao: o espao nulo de A, denido por ca c N (A) = {x Rn ; Ax = 0} e seu complemento ortogonal, o espao linha de A (tambm chamado espao c e c T T imagem de A ou espao coluna de A ), denido por c 45

46

CAP ITULO 7. O PROBLEMA DUAL

R(AT ) = {x Rn ; x = AT z, z Rm }. A proposio a seguir relaciona o espao nulo de A e o espao linha ca c c de A, atravs da denio de ortogonalidade entre dois subespaos. A dee ca c monstrao pode ser encontrada nas pginas 136 e 137 em [55]. ca a Proposio 7.1.2 Seja o espao Rn . O subespao nulo de A ortogonal ao ca c c e subespao linha de A. c Demonstrao: Seja o espao Rn . Suponhamos u N (A) e v R(AT ). ca c Por denio, Au = 0 e v = AT z, para algum z Rm . Da usando proca , priedades de transposio de matrizes, ca v T u = (AT z)T u = z T (AT )T u = z T Au = z T 0 = 0. Pela denio de ortogonalidade, conclu ca mos a demonstrao. ca Ateno: Que tal fazer o exerc 2 agora? ca cio Desta proposio, qualquer vetor d Rn pode ser unicamente decomposto ca (soma direta) como d = dp + dp , onde dp N (A) e dp R(AT ). Os vetores dp e dp so, respectivamente, a projeo de d no espao nulo de A e no seu a ca c complemento ortogonal. A projeo de d no espao nulo de A o ponto no ca c e N (A) com a menor distncia euclidiana para d. Esta a denio mais usual a e ca de projeo: ca dp = argmin{ x d ; x N (A)}. A demonstrao da proposio a seguir pode ser encontrada na pgina 9 ca ca a em [23]. Proposio 7.1.3 Seja A Rmn uma matriz de posto igual a m, m n. ca Ento, a matriz AAT no singular. a e a Demonstrao: Suponha por contradio que AAT d = 0, para algum ca ca d = 0. Multiplicando dT ` esquerda desta igualdade, a dT AAT d = (AT d)T (AT d) = 0. Esta ultima igualdade equivalente a AT d 2 = 0, ou equivalentemente, e T A d = 0. Assim, as colunas de AT so linearmente dependentes, isto , as a e linhas de A so linearmente dependentes, contrariando o fato do posto de A a ser igual a m. Isto naliza a demonstrao. ca

7.1. PRELIMINARES

47

Ateno: Que tal fazer o exerc 3 agora? ca cio Uma vez que o operador projeo linear (veja pgina 116 em [27]), ca e a podemos represent-lo por uma matriz. Isto o que arma a prxima a e o proposio, cuja demonstrao pode ser encontrada na pgina 9 em [23]. ca ca a Proposio 7.1.4 Sejam A Rmn uma matriz de posto igual a m, m n ca e d Rn um vetor arbitrrio. Ento, a a dp = PA d e dp = PA d, onde PA = I AT (AAT )1 A e PA = I PA . Demonstrao: Sabemos que d pode ser decomposto em d = dp + dp . ca Como dp R(AT ), existe z Rm tal que dp = AT z. Logo, d = dp + AT z. Multiplicando esta igualdade por A, Ad = Adp + AAT z. Como Adp = 0 por denio, AAT z = Ad. E, usando a proposio anterior, como AAT ca ca e T 1 no singular, z = (AA ) Ad. Agora, substituindo esta igualdade em z na a expresso dp = AT z e, em seguida, substituindo dp em dp = d dp , obtemos a respectivamente, dp = AT (AAT )1 Ad e dp = (I AT (AAT )1 A)d. Tomando PA = I AT (AAT )1 A e PA = I PA , conclu mos que dp = PA d A d, nalizando a demonstrao. e dp = P ca Ateno: Que tal fazer o exerc 4 agora? ca cio Agora vamos demonstrar que a matriz de projeo no espao nulo de A, ca c denotada por PA , e a matriz de projeo no espao linha de A, denotada ca c a por PA so matrizes simtricas e idempotentes. Esta demonstrao pode ser e ca encontrada nas pginas 158 e 159 em [55]. a Proposio 7.1.5 A matriz de projeo PA uma matriz simtrica, isto , ca ca e e e T 2 PA = PA ; e uma matriz idempotente, isto , PA = PA . O mesmo vale para e a matriz de projeo PA . ca Demonstrao: Temos pela proposio anterior que ca ca PA = I AT (AAT )1 A e PA = I PA .

48 Usando as propriedades

CAP ITULO 7. O PROBLEMA DUAL

((AAT )1 )T = ((AAT )T )1 e (AAT )T = (AT )T AT = AAT ,


T segue-se por transposio em PA que PA = PA . Agora, usando a simetria de ca PA , conclu mos que PA = I PA tambm uma matriz simtrica. e e e Finalmente, desenvolvendo a igualdade 2 PA = (I AT (AAT )1 A)(I AT (AAT )1 A),

obtemos
2 PA = PA AT (AAT )1 A + AT (AAT )1 AAT (AAT )1 A = PA .

Agora, usando a idempotncia de PA , conclu e mos que PA = I PA tambm e uma matriz idempotente. Isto completa a demonstrao. e ca Por curiosidade, vale a rec proca desta proposio (veja pginas 158 e 159 ca a em [55]). Ateno: Que tal fazer o exerc 5 agora? ca cio Neste ponto, estamos prontos para iniciarmos o estudo do problema dual atravs de sua denio, que o nosso objetivo para este cap e ca e tulo.

7.2

O problema dual

O problema de Programao Linear denominado o dual do problema (P ), ca o seguinte problema de Otimizao: e ca (D) maximizar sujeito a: bT y A y+s=c s 0,
T

onde o vetor y Rm denominado varivel dual e inclu e a mos explicitamente n um vetor com componentes no negativas s R denominado folga dual. a Considere os problemas (P ) e (D). Estes problemas so denominados, resa pectivamente, problema primal e problema dual, de acordo com o seguinte teorema, cuja demonstrao pode ser encontrada na pgina 97 em [21]. ca a Teorema 7.2.1 O dual de um problema dual o primal. e

7.2. O PROBLEMA DUAL

49

Demonstrao: Considere o problema dual (D). Usando a Proposio ca ca 2.1.2 e trocando sinais, o problema (D) equivalente ao problema e minimizar sujeito a: bT y A y s = c s 0.
T

Denindo y = y y , y 0 e y 0, e substituindo neste ultimo problema, ento seu dual sem acrescentar as variveis de folga o problema a a e maximizar sujeito a: cT x (AT )T x (bT )T (AT )T x (bT )T x 0.

Este ultimo problema equivalente ao problema primal (P ). Isto naliza a e demonstrao. ca Observe, conforme Cap tulo 3, por exemplo, que existem vrias formulaa co es para um PPL. Todavia, o romantismo est no fato de que para cada a PPL existe o seu par: o seu dual. Isto se d pelo teorema anterior e porque a vimos no Cap tulo 2 que qualquer PPL pode ser colocado no formato padro. a Ateno: Que tal fazer o exerc 6 agora? ca cio Seguem-se algumas denies associadas ao problema (D). A funo co ca T linear y b y chamada funo objetivo dual ou simplesmente funo e ca ca objetivo. Similarmente, temos: o conjunto S = {(y, s) Rm Rn ; AT y + s = c, s 0}, chamado conjunto vivel e um ponto (y, s) S denominado ponto vivel. e a e a m n O conjunto {(y, s) R R ; s > 0} chamado conjunto de pontos interiores e e um ponto deste conjunto denominado ponto interior. O conjunto e S 0 = {(y, s) S; s > 0} chamado conjunto de pontos interiores viveis e um ponto (y, s) S 0 e a e T denominado ponto interior vivel. O nmero v(D) = max{b y; (y, s) S}, a u quando existe, denominado o valor timo ou custo timo. O conjunto e o o S(D) = {(y, s) S; bT y = v(D)}

50

CAP ITULO 7. O PROBLEMA DUAL

chamado conjunto de solues timas e um ponto (y, s) S(D) denomie co o e nado soluo tima ou maximizador ou ponto de mximo. ca o a Ateno: Que tal fazer o exerc 7 agora? ca cio O prximo resultado fornece uma caracterizao para uma folga dual o ca vivel para um PPL dual, devido a Gonzaga (veja Lema 3.1 em [24]). a Lema 7.2.2 s Rn uma folga dual vivel para o problema (D) se, e e a somente se, (a) s 0 e PA s = PA c; ou equivalentemente, (b) s 0 e s = PA c , com N (A). Demonstrao: A equivalncia entre (a) e (b) se segue pela denio de ca e ca projeo, isto , s 0 e, usando a Proposio 7.1.2 e a Proposio 7.1.5, ca e ca ca PA s = PA (PA c ) = PA PA c PA = PA c. Do problema dual (D), s uma folga dual vivel se, e somente se, s 0 e e a c s = AT y para algum y Rm . Esta ultima condio equivalente a s 0 ca e e c s ortogonal a N (A), uma vez que o espao nulo de A e o espao linha c c de A so complementarmente ortogonais. Mas, isto equivalente a s 0 e a e PA (cs) = PA cPA s = 0, estabelecendo (a). Isto completa a demonstraao. c

Ateno: Que tal fazer o exerc 8 agora? ca cio Com a suposio sobre o posto de A, existe x tal que A = b. Ento, ca x a para qualquer (y, s) S, isto , no conjunto vivel dual, e a bT y = (A)T y = xT (AT y) = xT c xT s. x Assim, usando a Proposio 2.1.2, ca max{bT y} = max{T c xT s} = xT c + max{T s} = xT c min{T s}. x x x Da usando o lema anterior, segue-se que o problema (D) equivalente ao , e problema

7.3. EXERC ICIOS

51

(D) minimizar xT s sujeito a: PA s = PA c s 0, no sentido de que existe uma correspondncia um-a-um entre S e S e entre e 0 0 , onde S eS S = {s; (y, s) S para algum y} e S 0 = {s; (y, s) S 0 para algum y}, preservando otimalidade. Assim, o problema (D) pode ser reescrito como um problema em s apenas. Veja pgina 8 em [56] e pginas 175 e 176 em a a [25]. No prximo cap o tulo enunciaremos e demonstraremos o Lema de Farkas, o qual ser util para a nossa estratgia de demonstrar o Teorema de Dualidade a e sem o aux de mtodos de resoluo de problemas de PL; em particular, o lio e ca mtodo simplex. e Ateno: Que tal fazer o exerc 9 agora? ca cio

7.3

Exerc cios

1. Exibir dois subespaos vetoriais V e W em Rn que so ortogonais. c a 2. Seja a matriz 1 2 denida por A = [1 1]. Pede-se: (a) dena e desenhe N (A) e R(AT ); e (b) tome um vetor em N (A) e um outro em R(AT ) quaisquer, e verique que estes vetores so ortogonais. a 3. Seja a matriz 1 2 denida por A = [1 1]. Qual o posto de A? e T Verique que AA no singular. e a 4. Considere a matriz A = [1 1]. Pede-se: (a) tome c = [1, 2]T e calcule cp e cp ; e

52

CAP ITULO 7. O PROBLEMA DUAL (b) tome c = [1, 1]T e calcule cp e cp . 5. Existe alguma matriz de projeo que no simtrica e nem idemca a e e potente? Justique (voc vericou a referncia conforme Proposio e e ca 7.1.4?). 6. Considere o PPL minimizar sujeito a : 3x5 +x3 2x4

x2 +x5 x1 x5 x1 +x4 2x5 2x1 x3 +2x5 x1 +x2 +2x3 2x4 x2 , x3 , x4 0.

=0 0 0 0 = 3

Pede-se (para os itens (a) e (b) voc pode consultar as regras de pase sagens do primal para o dual em vrios livros de PL existentes nas a bibliotecas!): (a) fornea o seu dual; c (b) fornea o dual do dual; e c (c) qual a concluso para o resultado do primeiro item (consulte a a pgina 94 na referncia [36])? E, qual a concluso para o segundo a e a item? 7. Seja o PPL no formato padro denido por a minimizar x1 sujeito a : x1 + x2 + x3 =3 x1 + x2 x3 =1 x1 , x2 , x3 0. Pede-se: (a) identicar AT , b e c; (b) denir o seu problema dual e desenh-lo apenas para as variveis a a duais; e

7.3. EXERC ICIOS

53

(c) para o PPL dual, identicar a funo objetivo; os conjuntos vivel, ca a de pontos interiores, de pontos interiores viveis e de solues a co o timas; alguns pontos viveis, interiores, interiores viveis uma a a soluo tima e o valor timo. ca o o 8. Para o exerc anterior, encontre uma folga dual vivel s 0 tal que cio a PA s = PA c. 9. Para o exerc anterior, encontre uma soluo para o problema dual cio ca apenas em s e, depois, encontre o valor unico de y R2 .

54

CAP ITULO 7. O PROBLEMA DUAL

Cap tulo 8 O Lema de Farkas


Continuamos com o nosso estudo dos fundamentos da PL. Nosso objetivo aqui enunciar e demonstrar o Lema de Farkas. Alm disso, denimos e e e relacionamos direes viveis com o espao nulo da matriz tecnolgica A. co a c o Faremos uso destes resultados no prximo cap o tulo acerca do Teorema de Dualidade. Aqui, optamos em enunciar o Teorema de Separao, porm, sem uma ca e demonstrao. A razo desta nossa opo no estendermos o nosso estudo ca a ca e a para o campo da Anlise Convexa. a

8.1

O Lema

Iniciaremos o nosso propsito enunciando o Teorema de Separao, cuja o ca demonstrao pode ser encontrada nas pginas 45 e 46 em [6]. ca a Teorema 8.1.1 Seja C um conjunto convexo, fechado e no vazio em Rn a n e considere z C. Ento, existem um vetor a R , a = 0, e um escalar a R tais que, para todo x C, aT z > e aT x . Deste teorema, dizemos que o hiperplano com a equao aT x = separa ca z de C. 55

56

CAP ITULO 8. O LEMA DE FARKAS

Ateno: Que tal fazer o exerc 1 agora? ca cio Agora vamos denir um cone convexo gerado pelas colunas de uma matriz, que nos auxiliar no entendimento do Lema de Farkas. a Denio 8.1.2 (a) Dizemos que um conjunto C Rn um cone, quando ca e para qualquer ponto x C e para qualquer escalar no negativo , o a ponto x pertence a C. (b) Dada a matriz A Rmn , dizemos que o conjunto {w Rm ; w = Az, z 0} o cone convexo gerado pelas colunas de A. e Ateno: Que tal fazer o exerc 2 agora? ca cio O Teorema de Separao nos habilita a demonstrar o prximo resultado ca o conhecido como o Lema de Farkas, cuja demonstrao pode ser encontrada ca nas pginas III-36 e III-37 em [35]. a Teorema 8.1.3 Sejam A uma matriz m n e um vetor b em Rm . Ento, a exatamente um dos dois seguintes sistemas tem uma soluo: ca (1) Ax = b e x 0 para algum x Rn ; e (2) AT y 0 e bT y > 0 para algum y Rm . Demonstrao: Suponhanhos que o sistema (1) tenha uma soluo. Isto ca ca signica que existe um vetor x 0 tal que A = b. Fixe arbitrariamente x y Rm tal que AT y 0. Desta forma, segue-se que bT y = (A)T y = xT AT y 0. x Pela arbitrariedade de y, o sistema (2) no tem soluo. a ca Agora, suponhamos que o sistema (1) no tenha soluo. Dena o cone a ca convexo gerado pelas colunas da matriz A por S = {y Rm ; y = Ax, x 0}. Por hiptese, b S. Ainda, como S um poliedro, segue-se pela Proposio o e ca 4.1.10 que S um conjunto convexo e fechado. Tambm, S no vazio, e e e a

8.2. DIRECOES VIAVEIS

57

porque 0 S. Pelo Teorema de Separao, existem um vetor no nulo ca a m T a R e um escalar R tais que, para todo y S, a b > e aT y . Como 0 S, 0 e, da aT b > 0. Ainda, uma vez que aT y , segue-se , pela denio de S que, para todo j = 1, . . . , n e para qualquer nmero real ca u > 0, aT Aj = eT AT a, j onde ej o j-simo vetor unitrio em Rn . Dividindo esta ultima desigualdade e e a por e tomando o limite quando , segue-se que AT a 0. Portanto, como demonstramos que AT a 0 e bT a > 0, para algum a Rm , conclu mos que a uma soluo para o sitema (2). Isto naliza a demonstrao. e ca ca Ateno: Que tal fazer o exerc 3 agora? ca cio Na prxima seo estudaremos um pouco sobre direes viveis. o ca co a

8.2

Direes viveis co a

Aqui, denimos e relacionamos direes viveis com o espao nulo da co a c mn matriz A R . Iniciamos o nosso propsito denindo direes viveis. o co a Denio 8.2.1 Seja C um subconjunto de Rn . Um vetor u Rn uma ca e > 0, tal que para qualquer direo vivel a partir de x C, quando existe ca a x + u C. [0, ], Ateno: Que tal fazer o exerc 4 agora? ca cio Agora, vamos relacionar esta ultima denio com vetores em N (A), onde ca A a matriz associada ao PPL (P ). Iniciamos com a seguinte proposio. e ca Proposio 8.2.2 Considere o conjunto vivel X de (P ). Se u Rn uma ca a e direo vivel a partir de x X , ento u N (A). ca a a Demonstrao: Suponhamos que u Rn uma direo vivel a partir ca e ca a > 0 tal que para qualquer [0, ], de x X . Por hiptese, existe o x + u X . Segue-se, usando a linearidade de A, que b = A(x + u) = Ax + Au Au = 0,

58

CAP ITULO 8. O LEMA DE FARKAS

onde a implicao decorre do fato de que x X . Ento, uma vez que ca a podemos ter > 0, conclu mos que u N (A); nalizando a demonstrao. ca

Ateno: Que tal fazer o exerc 5 agora? ca cio A prxima proposio pode ser encontrada nas pginas 11 e 12 em [23], o ca a a qual relaciona direes viveis com o espao nulo de A. co a c Proposio 8.2.3 Seja X 0 = {x X ; x > 0} o conjunto de pontos interica ores viveis. Ento: a a (a) Se x X 0 , ento u Rn uma direo vivel a partir de x se, e a e ca a somente se, u N (A). (b) Se x (X X 0 ), ento u Rn uma direo vivel a partir de x se, e a e ca a somente se, u N (A) e uj 0 para todo j = 1, . . . , n tal que xj = 0. Demonstrao: ca (a) Se u Rn uma direo vivel a partir de x X , ento u N (A); e ca a a conforme proposio anterior. Por outro lado, suponhamos u N (A). ca Ento, usando o fato de que x X 0 , para qualquer R tem-se que a A(x + u) = Ax + Au = b. Assim, basta examinar a restrio de no negatividade. Se u 0, ca a ento para qualquer 0, x + u 0. Se alguma componente de u a e negativa, ento denimos a i = sup{; xi + ui 0, ui < 0, i = 1, ..., n} e, para a no negatividade, se ui < 0, ento xi + ui = 0 e cona a i = xi /ui . O maior passo que garante viabilidade seqentemente u min{i ; ui < 0, i = 1, . . . , n}, o que naliza a primeira parte da e demonstrao. ca (b) Suponhamos que u Rn uma direo vivel a partir de x (X X 0 ). e ca a Por hiptese, segue-se que uj 0 para todo j = 1, . . . , n tal que xj = 0. o Alm disso, usando a proposio anterior, u N (A). Por outro lado, e ca suponhamos que uj 0 para todo j = 1, . . . , n tal que xj = 0 e

8.3. EXERC ICIOS

59

u N (A). Como u N (A), A(x + u) = b para todo R. Resta mostrar que existe > 0 tal que x + u 0 para todo [0, ]. Para isto, denimos J = {1, . . . , n}, J0 = {j J; xj = 0} e J1 = J J0 . Considere j J0 xo, porm, arbitrrio. Logo, xj + uj 0, para e a todo 0, uma vez que uj 0. Agora, considere i J1 xo, porm, e arbitrrio. Logo, se ui 0, ento xi + ui 0, para todo 0. E, se a a ui < 0, ento usando o item (a), obtemos um tamanho de passo posia tivo. Pela arbitrariedade de i J1 , podemos usar o item (a) novamente obtendo xi ; ui < 0, i = 1, ..., n}. = min{ ui Portanto, pela arbitrariedade de j J0 e i J1 , x + u 0 para todo [0, ], como quer amos demonstrar. Isto naliza a demonstrao. ca

No prximo cap o tulo estudaremos os teoremas de dualidade. Ateno: Que tal fazer o exerc 6 agora? ca cio

8.3

Exerc cios

1. Considere o conjunto C = {x R2 ; x 1} e o ponto z = [2, 2]T . Calcule dois hiperplanos que separam z de C. 2. Considere a matriz 1 0 1 0 1 1

A=

D um exemplo de um cone que no convexo e d um exemplo de um e a e e cone convexo gerado pelas colunas da matriz A. 3. Interprete gracamente o Lema de Farkas.

60 4. Seja o poliedro denido por

CAP ITULO 8. O LEMA DE FARKAS

{x R2 ; x1 + x2 = 2, x1 , x2 0}. Pede-se: (a) encontre uma direo vivel a partir de x = [1, 1]T ; e ca a (b) encontre uma direo no vivel a partir de x = [1, 1]T . ca a a 5. Considere o item (a) do exerc anterior. Verique que a sua direo cio ca vivel est em N (A). a a 6. Seja o sistema Ax = b denido por A = [1 2] e b = 2 com x 0. Pede-se: (a) encontre uma direo vivel a partir de x = [4, 1]T e verique que ca a esta direo est em N (A); e ca a (b) encontre uma direo vivel u R2 a partir de x = [2, 0]T e ca a verique que esta direo est em N (A) e que u2 satisfaz a no ca a a negatividade.

Cap tulo 9 Dualidade


Continuamos com o nosso estudo dos fundamentos da PL. Aqui estudamos o problema dual com o nosso objetivo centrado nos teoremas de dualidade. Alm disso, conclu e mos que supor posto completo para a matriz A no reprea senta perda de generalidade tanto para o problema primal (conforme Cap tulo 2) quanto para o problema dual.

9.1

Trs teoremas de dualidade e

Nossa inteno agora estabelecer o Teorema de Dualidade. Para isto ca e vamos relacionar os problemas primal e dual entre si. Iniciamos com o Teorema de Dualidade Fraco, que relaciona os problemas primal e dual atravs e de pontos viveis, no sentido de que obtemos limitantes inferior e superior a para os problemas (P ) e (D), respectivamente. Sua demonstrao pode ser ca encontrada na pgina 28 em [46]. a Teorema 9.1.1 Suponha x X e (y, s) S quaisquer. Ento cT x bT y. a Demonstrao: Por hiptese, segue-se diretamente que ca o cT x bT y = (AT y + s)T x (Ax)T y = xT s 0; nalizando a demonstrao. ca Observe na demonstrao acima que cT x bT y = xT s. Usualmente ca T T chamamos c x b y o gap de dualidade e xT s o gap de complementaridade. 61

62

CAP ITULO 9. DUALIDADE

Ateno: Que tal fazer o exerc 1 agora? ca cio Agora vamos demonstrar o Teorema de Dualidade, que relaciona os problemas primal e dual entre si, no sentido de que ou um PPL possui uma soluo tima, ou um problema ilimitado ou um problema invivel. Sua ca o e e a demonstrao pode ser encontrada nas pginas 71, 72 e 73 em [52]. ca a Teorema 9.1.2 Considere os problemas primal (P ) e dual (D). Uma, e somente uma, das seguintes armaes correta: co e (a) se o problema (P ) tem uma soluo tima, ento o problema (D) ca o a tambm tem uma soluo tima e os valores das funes objetivos de e ca o co ambos so iguais. Se o problema (D) tem uma soluo tima, ento o a ca o a problema (P ) tambm tem uma soluo tima e os valores das funes e ca o co objetivos de ambos so iguais. a (b) Se (P ) um problema ilimitado, ento (D) um problema invivel. Se e a e a (D) um problema ilimitado, ento (P ) um problema invivel. e a e a Demonstrao: ca (a) Basta mostrar que se o problema (P ) tem uma soluo tima, ento o ca o a problema (D) tambm tem uma soluo tima e os valores das funoes e ca o c objetivos de ambos so iguais. O outro caso pode ser demonstrado de a maneira anloga. Assim, suponha que x uma soluo tima para o a e ca o problema primal (P ). Seja o sistema (1), = A y +s = T c x bT y = x, s
T

Ax

b c 0 0.

Como xT s = xT (c AT y) = cT x bT y = 0 e, usando o Lema 7.2.2, este sistema equivalente ao sistema (1), e Ax = b PA s = PA c xT s = 0 x, s 0.

9.1. TRES TEOREMAS DE DUALIDADE Reescrevendo este ultimo sistema, considere xT s = 0 tal que Ax = b PA s = PA c x, s 0.

63

Dena A= A 0 0 PA , = b b PA c ew= x s R2n .

Se o sistema Aw = e w 0, com xT s = 0, tem soluo, ento pela b ca a hiptese de x e usando o Teorema de Dualidade Fraco, este teorema o e satisfeito. Seno, podemos usar o Lema de Farkas, obtendo o sistema a (2) abaixo que admite soluo, ca AT z 0 e T z > 0. b Nossa estratgia agora demonstrar que o sistema (2) no pode admitir e e a T T T m+n soluo. Para algum z = [u v ] R ca , podemos reescrever o sistema (2) como o sistema (2), a saber: AT u bT u
T PA v (PA c)T v

0 0 > 0.

Se (PA c)T v 0, ento bT u > 0, onde por hiptese, b = Ax e x 0. a o Alm disso, AT u 0 por (2). Logo, e 0 < bT u = (Ax )T u = (x )T AT u 0. Ou seja, (PA c)T v 0 no pode ocorrer. Finalmente, se (PA c)T v < 0, a vejamos:
T (PA c)T v = cT PA v = cT (PA v) = cT vp ,

onde as segunda e terceira igualdades decorrem, respectivamente, da Proposio 7.1.5 e da Proposio 7.1.4. Ento, vp uma direo vivel, ca ca a e ca a a partir de algum ponto vivel x do problema primal, conforme Proposia c ao 8.2.3, uma vez que PA v = vp 0 por (2) e vp N (A). Logo,

64

CAP ITULO 9. DUALIDADE o vetor x() = x + vp um ponto vivel do problema primal com e a T T T c x() = c x + c vp , quando . Isto contradiz a hiptese de x . Portanto, o sistema (2) no admite soluo. Novamente, o a ca pelo Lema de Farkas, o sistema (1) de fato tem soluo. Isto naliza a ca demonstrao do item (a). ca

(b) Basta mostrar que se (P ) um problema ilimitado, ento (D) um e a e problema invivel. O outro caso pode ser demonstrado de maneira a anloga. Assim, supomos que (P ) um problema ilimitado. Logo, por a e denio, existe uma seqncia (xk ) tal que xk X e cT xk . ca ue Desta forma, X = . Suponha por contradio que S = . Ento, pelo ca a Teorema de Dualidade Fraco, para quaisquer x X e (y, s) S, temos cT x bT y. Isto contradiz o fato de que (P ) um problema ilimitado; e concluindo a demonstrao do item (b). ca

Observe que se (P ) (ou (D)) invivel ento o seu problema dual pode e a a ser ilimitado ou invivel. a Ateno: Que tal fazer o exerc 2 agora? ca cio Agora pretendemos relacionar os problemas primal (P ) e dual (D) atravs e de solues timas. O resultado que nos possibilita esta associao o Teoco o ca e rema de Dualidade Forte, cuja demonstrao pode ser encontrada na pgina ca a 193 em [44]. Teorema 9.1.3 Suponha que os problemas (P ) e (D) tm solues viveis. e co a Ento, ambos tm solues timas x X (P ) e (y , s ) S(D) e, necessaria e co o amente, cT x bT y = (x )T s = 0. Demonstrao: Por hiptese e usando o Teorema de Dualidade Fraco, ca o para todo x X e para todo (y, s) S, cT x bT y. Ento, pelo Teorema a de Dualidade, existe x X (P ). Finalmente, pelo item (a) do Teorema de Dualidade, o resultado se segue, nalizando a demonstrao. ca Ateno: Que tal fazer o exerc 3 agora? ca cio Finalizamos este cap tulo concluindo que a hiptese de que a matriz A o tem posto completo , de fato, sem perda de generalidade. e

9.2. SOBRE A HIPOTESE DO POSTO DE A

65

9.2

Sobre a hiptese do posto de A o

Considere a transformao linear denida pela matriz A Rmn . No ca Cap tulo 7 denimos dois subespaos importantes do espao vetorial Rn asc c sociados com esta transformao: o espao nulo de A e o espao linha de ca c c A. Agora, deniremos dois subespaos importantes do espao vetorial Rm c c associados com esta transformao: o espao nulo ` esquerda de A, denido ca c a por N (AT ) = {y Rm ; AT y = 0} e seu complemento ortogonal, o espao coluna de A, denido por c R(A) = {y Rm ; y = Aw, w Rn }. Ateno: Que tal fazer o exerc 4 agora? ca cio Consideremos o problema dual (D). Se as colunas da matriz AT so lia T nearmente dependentes, isto , existe um vetor no nulo y N (A ) tal que e a AT y = 0 e, alm disso, bT y = 0, isto , b R(A), o que signica que o e e problema primal um problema invivel, ento, pelo Teorema de Dualidade, e a a se S no vazio, o problema (D) ilimitado. Se bT y = 0 para todo y, e a e ento podemos eliminar uma das colunas correspondentes a uma componente a no nula de y sem afetar (D). Continuando com este processo obtemos um a problema equivalente onde A tem posto completo. Desta forma, supor que A tem posto completo no perde generalidade neste caso, tambm; conforme a e vimos para o problema primal (P ) no Cap tulo 2. Veja pgina 8 em [56]. a No prximo cap o tulo estudaremos o par de problemas primal e dual, isto , o problema primal-dual. e Ateno: Que tal fazer o exerc 5 agora? ca cio

9.3

Exerc cios

1. Suponha x X e (y , s ) S quaisquer. Demonstre que, se cT x bT y = (x )T s = 0, ento x X (P ) e (y , s ) S(D). a

66 2. D exemplos para: e

CAP ITULO 9. DUALIDADE

(a) um problema primal invivel e o seu dual ilimitado; e a (b) um problema primal invivel e o seu dual invivel. a a 3. Seja o PPL no formato padro denido por a A = [1 1 1], b = 3 e c = [1, 0, 0]T . Considere um ponto vivel primal dado por x = [1, 1, 1]T e um ponto a vivel dual dado por (y, sT ) = [1, 2, 1, 1]. Encontre uma soluo tima a ca o primal, uma soluo tima dual e o valor da funo objetivo para ambos ca o ca os problemas. 4. Seja uma matriz denida por A = [1 1]. Pede-se: (a) dena N (AT ) e R(A); e (b) tome um vetor em N (AT ) e um outro em R(A) quaisquer, e verique que estes vetores so ortogonais. a 5. Seja o PPL no formato padro denido por a minimizar x1 sujeito a : x1 + x2 + x3 =2 x1 + x2 + x3 =2 x1 , x2 , x3 0. Pergunta-se: (a) a matriz AT tem colunas linearmente dependentes? Justique; e (b) denindo o problema dual, podemos eliminar a segunda coluna de AT ? Justique.

Cap tulo 10 O Problema Primal-Dual


Finalizamos o nosso estudo dos fundamentos em PL estudando o problema primal-dual, com o nosso objetivo centrado nas condies de otimalico dade. Alm disso, demonstramos o Teorema de Complementaridade Estrita e e estudamos aspectos relevantes sobre a geometria do par de problemas primal e dual.

10.1

O problema

Consideremos os problemas primal (P ) e dual (D). Iniciamos o nosso estudo para denir o problema primal-dual com a seguinte denio. ca Denio 10.1.1 Sejam x X e s S solues timas para os problemas ca co o primal e dual, respectivamente. (a) A igualdade (x )T s = 0 chamada condio de folga complementar. e ca (b) Dizemos que (x , s ) um par de solues complementares, quando e co (x , s ) satisfaz a condio de folga complementar. ca Ateno: Que tal fazer o exerc 1 agora? ca cio A seguir, demonstraremos uma proposio bastante util para o nosso ca estudo para denir o problema primal-dual. Sua demonstrao pode ser ca encontrada na pgina 200 em [26]. a 67

68

CAP ITULO 10. O PROBLEMA PRIMAL-DUAL

n Proposio 10.1.2 Considere os vetores x, s R+ . Temos que, xs = 0 se, ca e somente se, xT s = 0.

Demonstrao: Temos que, xs = 0 signica que xj sj = 0, j = 1, . . . , n. ca Isto equivalente a xT s = n xj sj = 0, para (x, s) 0. Isto naliza a e j=1 demonstrao. ca Ateno: Que tal fazer o exerc 2 agora? ca cio O prximo teorema tambm conhecido como o Teorema das Folgas o e e Complementares, cuja demonstrao pode ser encontrada na pgina 75 em ca a [52]. Teorema 10.1.3 Considere x X e s S solues timas, respectivaco o mente, para os problemas primal e dual. Ento x s = 0. a Demonstrao: Pelo Teorema de Dualidade (x )T s = 0. Pela proposio ca ca anterior, o resultado se segue, nalizando a demonstrao. ca Considere x X e s S solues timas, respectivamente, para os co o problemas primal e dual. Este teorema arma que a igualdade x s = 0 tem estrutura combinatorial: para cada j = 1, . . . , n, x = 0 ou s = 0. j j Ateno: Que tal fazer o exerc 3 agora? ca cio O problema primal-dual denido assim: dados uma matriz A, m n, e 0 < m < n, posto(A) = m, e vetores b Rm e c Rn , encontrar, se existir, uma soluo para o sistema de equaes e inequaes ca co co Ax (P D) A y + s xs x, s
T

= = =

b c 0 0.

Usando a Proposio 10.1.2, o sistema no linear (P D) pode ser visto ca a como um sistema linear, bastando substituir xs = 0 por xT s = cT x bT y = 0. Observe que o problema para encontrar x Rn que cumpre as condies co Ax = b e x 0, o problema de viabilidade primal. Ainda, o problema para e encontrar (y, s) Rm Rn que cumpre as condies AT y + s = c e s 0, co

10.1. O PROBLEMA

69

o problema de viabilidade dual. Alm disso, usando a Proposio 10.1.2 e e e ca que cumpre a condio o Teorema de Dualidade, encontrar (x, s) X S ca xs = 0, encontrar um par de solues complementares. e co Denimos o conjunto vivel primal-dual por a F = {(x, s) Rn Rn ; x X , s S}, o conjunto vivel de pontos interiores primal-dual por a F 0 = {(x, s) F; (x, s) > 0} e o conjunto de solues timas primal-dual por co o F(P D) = {(x, s) F; xs = 0}. Ateno: Que tal fazer o exerc 4 agora? ca cio As condies de otimalidade para o par de problemas primal e dual esto co a expressas no prximo teorema. o Teorema 10.1.4 Considere os problemas primal (P ) e dual (D). Um ponto x Rn uma soluo tima de (P ) se, e somente se, existe um par de e ca o multiplicadores (de Lagrange) (y, s) Rm Rn , tal que o sistema Ax AT y + s xT s x, s satisfeito. e Demonstrao: Imediata usando o Teorema de Dualidade. ca As condies de otimalidade para o par de problemas primal e dual coinco cidem com as condies de Karush-Kuhn-Tucker, a saber: x uma soluo co e ca o tima de (P ) se, e somente se, existe um par de multiplicadores de KarushKuhn-Tucker (y, s) tal que o sistema (P D) satisfeito. e Este resultado um caso particular do Teorema de Karush-Kuhn-Tucker e para Programao No Linear. ca a Alm disso, pelo teorema anterior, as condies de otimalidade para um e co PPL consiste em encontrar um ponto vivel x em X e um outro s em S com, a T necessariamente, x s = 0. Como o gap de complementaridade sempre no e a = = = b c 0 0

70

CAP ITULO 10. O PROBLEMA PRIMAL-DUAL

negativo e sempre igual ao gap de dualidade cT x bT y, podemos denir o problema (P D) como um PPL, a saber: minimizar sujeito a: c T x bT y Ax = b T A y+s=c x, s 0.

Ateno: Que tal fazer o exerc 5 agora? ca cio Na prxima seo enunciaremos e demonstraremos o Teorema das Folgas o ca Complementares Estritas, ou simplesmente Teorema de Complementaridade Estrita.

10.2

O Teorema de Complementaridade Estrita

O Teorema de Complementaridade Estrita tambm conhecido como o e e Teorema de Goldmann e Tucker. Para estud-lo, iniciamos com a seguinte a denio. ca Denio 10.2.1 Sejam x X e s S solues timas para os problemas ca co o primal e dual, respectivamente. (a) A desigualdade estrita x + s > 0 chamada condio de folga come ca plementar estrita. (b) Dizemos que (x , s ) um par de solues complementares estritas, e co quando (x , s ) satisfaz a condio de folga complementar estrita. ca Ateno: Que tal fazer o exerc 6 agora? ca cio Agora estamos prontos para enunciar e demonstrar o Teorema de Complementaridade Estrita, que arma que qualquer PPL com uma soluo tima ca o possui um par de solues complementares estritas. Sua demonstrao pode co ca ser encontrada nas pginas 77 e 78 em [52]. a Teorema 10.2.2 Suponha X e S conjuntos no vazios. Ento, os problemas a a primal e dual tm um par de solues complementares estritas x e s , isto e co , x + s > 0. e

10.2. O TEOREMA DE COMPLEMENTARIDADE ESTRITA

71

Demonstrao: Por hiptese, podemos usar o Teorema de Dualidade ca o Forte. Denotamos = v(P ) = v(D) o valor timo. Inicialmente, quereo mos demonstrar que xj = 0 para toda soluo tima para o problema primal ca o ca o se, e somente se, s > 0 para alguma soluo tima para o problema dual. Se j ca o a s > 0 para alguma soluo tima para o dual, ento pelo Teorema 10.1.3, j ca o x = 0 para toda soluo tima para o primal. Assim, suponha x = 0 para j j toda soluo tima para o primal. Vamos demonstrar que s > 0 para alguma ca o j soluo tima para o dual. Com efeito, x = 0 equivalente ao problema (1) ca o e j minimizar (uj )T x sujeito a: Ax =b cT x t = x 0, t 0 admitir uma soluo tima (, t) com valor timo (uj )T x = 0, onde uj Rn ca o x o um vetor de zeros com a j-sima coordenada igual a 1. Equivalentemente, e e usando o Teorema de Dualidade, o problema dual (2) de (1), maximizar bT y sujeito a: AT y c + s = uj + sn+1 =0 s 0, sn+1 0 tambm admite soluo tima (, , s, sn+1 ) com valor timo e ca o y o bT y = (uj )T x = 0. Dena = sn+1 0. Agora, considere (, s) uma soluo tima para o y ca o problema dual (D). Segue-se que (AT y + s) + (AT y c + s) = c uj . Da , s + s + uj = (1 + )c AT ( + y ). y Dividindo ambos os lados por 1 + > 0, ( + y ) y s + s + uj = c AT . 1+ 1+ Tomando

72

CAP ITULO 10. O PROBLEMA PRIMAL-DUAL

y = segue-se que

s + s + uj ( + y ) y e s = 0, 1+ 1+ sj + sj + 1 1 > 0. 1+ 1+

c AT y = s 0 e s = j Ento, para todo x X (P ), a

xT s = xT (c AT y ) = bT y = bT

y+y = 0. 1+

ca o a Logo, conclu mos que se x = 0 para toda soluo tima para o primal, ento j ca o sj > 0 para alguma soluo tima para o dual. Finalmente, devemos exibir e x > 0 para s = 0. Pelo Teorema 6.2.3 X (P ) um poliedro, logo, convexo. i i Ento podemos denir a J = {i = 1, . . . , n; xi X (P ), xi > 0}, i e tomar x = i Isto naliza a demonstrao. ca Ateno: Que tal fazer o exerc 7 agora? ca cio Uma conseqncia importante deste teorema o prximo resultado, cuja ue e o demonstrao pode ser encontrada na pgina 9 em [56]. ca a Proposio 10.2.3 Se c no est no espao linha de A, ento cT x > v(P ) ca a a c a 0 para todo x X . Demonstrao: Suponha por contradio que cT x = v(P ) para algum ca ca 0 x X . Ento, (P ) tem uma soluo tima e, pelo Teorema de Dualidade, a ca o (D) tambm tem uma soluo tima. Usando o Teorema das Folgas Come ca o plementares isto implica que s = 0 para qualquer soluo tima (y , s ) em ca o (D). Portanto, c = AT y . Isto contradiz o fato de que c no est no espao a a c linha de A, nalizando a demonstrao. ca 1 xi > 0. |J| iJ i

10.3. GEOMETRIA

73

Ateno: Que tal fazer os exerc ca cios 8 e 9 agora? Na prxima seo estudaremos alguns aspectos da geometria do par de o ca problemas primal e dual.

10.3

Geometria

O Teorema Fundamental da PL arma que uma soluo tima, se existir, ca o atingida em ao menos um ponto extremo. O que pretendemos estudar e agora a possibilidade de uma soluo tima, para o problema (P D), ser e ca o atingida em um par de solues complementares estritas, no sentido de que co estas solues geram uma soluo interior em um subconjunto do conjunto co ca de solues timas do problema (P D). co o Iniciamos o nosso propsito com um resultado que nos auxiliar na tarefa o a de formular hipteses para os problemas primal e dual, cuja demonstrao o ca pode ser encontrada nas pginas 9 e 10 em [56]. a Teorema 10.3.1 Suponha que X no vazio. Ento as seguintes armaes e a a co so equivalentes: a (a) S 0 no vazio; e a (b) Para todo R, {x X ; cT x } limitado; e (c) X (P ) no vazio e limitado; e e a (d) Para algum R, {x X ; cT x } no vazio e limitado. e a Demonstrao: (a) (b): Suponha (y, s) S 0 . Ento, usando dualica a dade, x X e cT x implica que xT s = cT x bT y bT y. Da tais pontos x devem pertencer ao conjunto limitado , {x; xT s bT y, x 0} {x; 0 x ( bT y)s1 }. (b) (c): Tomando = cT x para algum x X , temos que (P ) e T equivalente a minimizar c x sobre o conjunto compacto e no vazio a {x X ; cT x },

74

CAP ITULO 10. O PROBLEMA PRIMAL-DUAL

tal que ele possui uma soluo tima. Alm disso, toda soluo tima perca o e ca o tence a este conjunto compacto. (c) (d): Isto imediato tomando = v(P ). e (d) (a): Suponha que {x X ; cT x } no vazio e limitado. e a Escolha algum s > 0. Ento o problema a min{cT x; Ax = 0, xT s = 1, x 0} invivel ou tem valor timo positivo. Assim, seu dual e a o max{; AT y + sT + s = c, s 0}, que claramente tem uma soluo vivel (tome y = 0 e sucientemente ca a negativo), tem uma soluo vivel com positivo. Isto fornece um ponto em ca a S 0. Ateno: Que tal fazer o exerc 10 agora? ca cio Agora vamos formalizar, no prximo teorema, o resultado que arma que o todo PPL possui uma soluo tima que satisfaz a condio de complemenca o ca taridade estrita e gera uma soluo interior em um subconjunto do conjunto ca de solues timas do problema (P D). Sua demonstrao pode ser enconco o ca trada na pgina 78 em [52]. a Teorema 10.3.2 Considere um PPL denido por (P D). Uma soluo tima ca o para o problema (P D) satisfazendo a condio de folga complementar estrita, ca um ponto interior em um subconjunto do conjunto de solues timas de e co o (P D). Demonstrao: Considere (x , s ) F(P D) satisfazendo a condio de ca ca folga complementar estrita. Denimos J1 = {j = 1, . . . , n; x = 0} e J2 = {j = 1, . . . , n; s = 0}. j j Pelo Teorema 10.1.3, (x, s) F(P D) se, e somente se, (x, s) F tal que xj = 0 para todo j J2 e sj = 0 para todo j J1 . Isto signica que (x, s) resolve o sistema AJ 2 x J 2 =b PAJ1 sJ1 = PAJ1 cJ1 0, sJ1 0.

x J2

10.4. EXERC ICIOS

75

As solues de complementaridade estrita (x , s ) geram um ponto interior co para este sistema. Isto naliza a demonstrao. ca A partir do prximo cap o tulo, estaremos interessados no estudo de algoritmos para resolver problemas de PL. Iniciaremos esta terceira etapa com o estudo do mtodo simplex. Assim, neste momento, estamos nalizando a e etapa sobre os fundamentos da PL. Ateno: Que tal fazer o exerc 11 agora? ca cio

10.4

Exerc cios

1. D um exemplo de um PPL que admite soluo tima, inclusive para e ca o o seu dual. Calcule um par de solues complementares. co 2. Considere os vetores x = [1, 0]T e s = [0, 1]T . Calcule xT s e xs. 3. Encontre um par de solues complementares para o PPL co minimizar x1 x2 sujeito a : x1 + x2 + x3 =1 x1 , x2 , x3 0. 4. Desenhe no R2 o conjunto vivel X e o conjunto vivel S para o PPL a a primal-dual x1 x2 y +s1 y +s2 x 1 s1 x 2 s2 x2 , s1 , s2 =2 =1 =0 =0 =0 0.

x1 , Encontre sua soluo tima. ca o

5. Demonstre que o conjunto vivel X limitado se, e somente se, o a e e conjunto vivel S ilimitado. E, vice-versa. a 6. D um exemplo de um PPL que admite soluo tima, inclusive para e ca o o seu dual. Calcule um par de solues complementares estritas. co

76

CAP ITULO 10. O PROBLEMA PRIMAL-DUAL 7. Faa uma pesquisa bibliogrca e observe que o Teorema de Complec a mentaridade Estrita no vale para o problema de Programao No a ca a 2 Linear min{x ; x 0}. 8. Desenhe no R2 um exemplo para a Proposio 10.2.3. ca 9. Considere o problema primal (P ) com X (P ) no vazio. Demonstre que a X = X (P ) se, e somente se, c R(AT ).

10. D um exemplo de um PPL com X e S 0 no vazios e verique os itens e a (b), (c) e (d) do Teorema 10.3.1. 11. Considere o PPL do exerc 3. Encontre um par de solues complecio co mentares estritas.

Cap tulo 11 Mtodo Simplex: algoritmo e mestre


Aqui e nos prximos quatro cap o tulos, trataremos de duas fam lias de mtodos para resolver problemas de PL: simplex e am-escala. e Todo mtodo advm da necessidade de resolvermos algum problema. e e Neste e nos prximos dois cap o tulos, estaremos interessados na soluo dos ca problemas de PL atravs do estudo do mtodo simplex, devido a Dantzig e e [13]. O objetivo destes trs cap e tulos enunciar e demonstrar que o algoe ritmo simplex de duas fases com a regra de Bland [9] converge. Iniciamos o nosso propsito introduzindo um algoritmo mestre. o

11.1

Algoritmo mestre
(P ) minimizar sujeito a: cT x Ax = b x 0,

Consideremos o PPL primal no formato padro a

onde so dados uma matriz A Rmn e vetores b Rm e c Rn , com a 0 < m < n. Sem perda de generalidade, consideremos a matriz A de posto completo e o vetor do lado direito b 0. Neste ultimo caso, para alguma coordenada do vetor b negativa, basta multiplicar a equao correspondente por menos ca um. No primeiro caso, agimos conforme Cap tulo 2. 77

78

CAP ITULO 11. METODO SIMPLEX: ALGORITMO MESTRE

Considere o problema (P ). A idia do mtodo simplex baseia-se no e e Corolrio 5.1.3, armando que o conjunto vivel de (P ) tem um nmero nito a a u de pontos extremos; no Corolrio 5.2.2, armando que o conjunto vivel de a a (P ) um poliedro com ao menos um ponto extremo, quando no vazio; no e a Teorema Fundamental da PL (Teorema 6.1.1), armando que se (P ) admite soluo tima, ento uma soluo tima atingida em ao menos um ponto ca o a ca o e extremo do conjunto vivel de (P ); e, no Teorema 5.1.2, que caracteriza a ponto extremo atravs de soluo bsica vivel. e ca a a Quer dizer, a idia ingnua do mtodo simplex consiste em caminhar e e e pela fronteira de um conjunto poliedral de um PPL (P ), atravs de pontos e extremos adjacentes sucessivos com valores da funo objetivo estritamente ca decrescentes. A seguir, enunciamos um algoritmo mestre em uma tentativa de exprimir algoritmicamente as idias do mtodo simplex. e e Algoritmo 11.1.1 Mestre. Dados: x0 soluo bsica vivel inicial associada a uma matriz base inicial ca a a B0 . k := 0. REPITA Escolha, se possvel, uma nova varivel bsica daquelas variveis no a a a a bsicas. a Escolha, se poss vel, uma nova varivel no bsica daquelas variveis a a a a bsicas. a Atualize Bk+1 e xk+1 . k := k + 1. QUE convirja. ATE Ateno: Que tal fazer o exerc 1 agora? ca cio No restante desta seo e, nos prximos dois cap ca o tulos, construiremos o algoritmo simplex baseado neste algoritmo mestre; nalizando com um teorema de convergncia. e Nossa primeira pergunta a seguinte: e como determinar uma soluo bsica vivel inicial? ca a a Denominamos este problema de fase 1 ou, equivalentemente, problema de viabilidade.

11.1. ALGORITMO MESTRE

79

11.1.1

Fase 1

Consideremos o problema de PL (P ). Para o mtodo simplex, o problema e fase 1 tem a seguinte forma: (P1 ) minimizar sujeito a: eT x a Ax + xa = b x 0, xa 0,

onde xa Rm um vetor de variveis chamadas variveis articiais e e um e a a e m vetor de uns em R . Uma vez que b 0, segue-se que, para o problema (P1 ), x xa = 0 b Rn+m

uma soluo bsica vivel associada a uma matriz base, dada pela matriz e ca a a identidade I, m m. O resultado a seguir garante a existncia de uma soluo tima para o e ca o problema fase 1, no formato (P1 ). Ou seja, este problema de viabilidade jamais ser um problema ilimitado. a Teorema 11.1.2 O problema (P1 ) admite soluo tima. ca o Demonstrao: Sabemos que o conjunto vivel de (P1 ), denotado nesta ca a demonstrao por X1 , ca X1 = {z = [xT , xT ]T ; Ax + xa = b, z 0}, a no vazio, pois [0T , bT ]T X1 . O conjunto e a {z X1 ; 0 eT xa eT b} limitado e no vazio. Segue-se pelo Teorema 10.3.1 que o conjunto de e a solues timas de (P1 ) no vazio, nalizando a demonstrao. co o e a ca Ateno: Que tal fazer o exerc 2 agora? ca cio O prximo resultado um critrio de inviabilidade para o PPL original o e e (P ). Teorema 11.1.3 Considere [T , xT ]T uma soluo tima de (P1 ). Ento, x a ca o a (P ) um problema invivel se, e somente se, xa = 0. e a

80

CAP ITULO 11. METODO SIMPLEX: ALGORITMO MESTRE

Demonstrao: Suponha [T , xT ]T uma soluo tima de (P1 ). Vamos ca x a ca o demonstrar inicialmente que se (P ) um problema invivel, ento xa = 0. e a a Suponha por contradio que xa = 0. Ento x 0 e A = b, o que signica ca a x que X no vazio. Ou seja, (P ) no um problema invivel, o que uma e a a e a e contradio. Finalmente, vamos demonstrar que se xa = 0, ento (P ) ca a e invivel. Suponha por contradio que (P ) no um problema invivel. Isto a ca a e a n+m signica que existe [xT , xT ]T R+ tal que Ax = b e xa = 0. Assim, temos a que eT xa eT xa = 0, o que contradiz o fato de que xa = 0. Isto completa a demonstrao. ca Ateno: Que tal fazer o exerc 3 agora? ca cio Uma resposta auxiliar para a nossa primeira pergunta de como determinar uma soluo bsica vivel inicial para o problema original (P ) : resolver o ca a a e problema fase 1. O procedimento para resolver o problema (P1 ) anlogo e a a `quele para a prxima fase, isto , o problema de otimalidade, denominado o e fase 2. Observe que o problema fase 1 foi constru de tal maneira que uma do soluo bsica vivel inicial est dispon ca a a a vel e, pelo Teorema 11.1.2, possui uma soluo tima. Pelo Teorema 11.1.3, de duas uma, ou certicamos ca o que (P ) um problema invivel ou uma soluo bsica vivel inicial para a e a ca a a prxima fase pode ser obtida. o Como certicar que (P ) um problema invivel? Pelo Teorema 11.1.3, e a quando o vetor de variveis articiais xa , em qualquer soluo tima de (P1 ), a ca o no nulo. Em outras palavras, quando o valor timo para o problema (P1 ) e a o estritamente positivo. e A resposta denitiva para a nossa primeira pergunta ser desenvolvida a na prxima subseo. o ca

11.1.2

Transio: da fase 1 para a fase 2 ca

Supondo que o problema original (P ) no um problema invivel, devea e a mos fornecer uma soluo bsica vivel inicial para o problema fase 2, isto , ca a a e para o problema original (P ). Nesta subseo respondemos como faz-lo. ca e Se todas as variveis articiais so variveis no bsicas na soluo tima a a a a a ca o para o problema (P1 ), ento basta eliminar as variveis articiais. Neste a a caso, a partir da fase 1 conclu da, determinamos uma soluo bsica vivel ca a a inicial para a prxima fase. Este o caso mais simples. o e

11.1. ALGORITMO MESTRE

81

O caso mais delicado quando algumas das variveis articiais, nulas na e a soluo tima para (P1 ), so variveis bsicas. Inicialmente, desenvolveremos ca o a a a este caso atravs de um exemplo. e Exemplo 11.1.4 Considere o PPL minimizar sujeito a : x 1 x2 x1 + x2 + x3 =2 x1 + x4 =2 x1 , x2 , x3 , x4 0.

O problema fase 1 o PPL e min s. a : x5 + x6 x1 + x2 + x3 + x5 =2 x1 + x4 + x6 =2 x1 , x2 , x3 , x4 , x5 , x6 0.

Seja a base tima o B = 1 1 1 0 ,

para o conjunto de ndices base IB = {1, 5}, com o vetor de variveis bsicas a a T T xB = [x1 , x5 ] = [2, 0] . Observe que x5 e x6 so variveis articiais, e x5 a a uma varivel bsica. Pede-se: substituir x5 por uma nova varivel bsica e a a a a 0 no articial e fornecer IB0 , IN0 , B0 , N0 e x para a fase 2. a Vejamos: consideremos a expresso obtida no Cap a tulo 5,
1 1 xB = B b B N xN ,

para a base tima B para o problema fase 1, tal que xB o vetor de variveis o e a bsicas incluindo a varivel articial x5 que varivel bsica. Temos que a a e a a N = 1 1 0 0 0 0 1 1 ,

para IN = {2, 3, 4, 6}. Ainda, xN = xN = 0 para a matriz base B . A soluo tima para a fase 1, ca o x = [2, 0, 0, 0, 0, 0]T ,

82

CAP ITULO 11. METODO SIMPLEX: ALGORITMO MESTRE

uma soluo bsica vivel degenerada. e ca a a Agora, consideremos eliminadas as colunas referentes `s variveis artia a ciais na matriz no base N , isto , a e N = 1 1 0 0 0 1 ,

para IN = {2, 3, 4}. Como xN = 0 para B , devemos substituir os ndices de IB , associados `s variveis articiais, pelos a a ndices de IN . Uma maneira 1 de fazer isto vericar as linhas em B N , correspondentes `s variveis e a a articiais em xB , que so no nulas. Estas linhas sempre existiro, porque a a a a matriz A tem posto completo (veja pgina 171 em [11]). Em particular, a
1 B N =

0 1 1 1

1 1 0 0 0 1

0 0 1 1 1 1

tal que a primeira linha corresponde a x1 e a segunda a x5 . A partir da, troque as variveis articiais bsicas em IB , vericando a a 1 as linhas no nulas em B N , pelas variveis no bsicas (no articiais) a a a a a 1 em IN , associadas `s colunas no nulas em B N ; que so as mesmas a a a 1 associadas `s colunas em N . Em particular, a segunda linha em B N , a que corresponde a x5 , tem todos os coecientes no nulos. Assim, basta a tomar alguns deles, por exemplo, o primeiro coeciente no nulo da segunda a linha est na primeira coluna, que corresponde a x2 . Ento, a a IB = {1, 2} e IN = {5, 3, 4}. Finalmente, todas as variveis articiais restantes so variveis no bsia a a a a cas. Ento, basta elimin-las como anteriormente no caso mais simples. Em a a particular, IB0 = {1, 2} e IN0 = {3, 4}, com B0 = 1 1 1 0 e N0 = 1 0 0 1 .

Logo, a soluo bsica vivel inicial para a fase 2 dada por ca a a e x0 = [2, 0, 0, 0]T .

11.1. ALGORITMO MESTRE

83

Ateno: Que tal fazer o exerc 4 agora? ca cio A seguir, vamos enunciar um procedimento para a transio da fase 1 ca para a fase 2, especicando a troca das variveis articiais bsicas em IB a a pelas variveis no bsicas, no articiais, em IN . a a a a Procedimento 11.1.5 Fase 1 para a fase 2. Dados: uma matriz aumentada A = [A I], uma matriz base B , conjuntos de ndices base IB , no base IN e J = {n+1, . . . , n+m}, e uma soluo a ca o tima para (P1 ) denotada por z Rn+m . Se alguma varivel articial na soluo tima de (P1 ) varivel bsica, a ca o e a a K := IB J. IN := IN (J K). Calcule a matriz D, m |IN |, B D = AIN . Para i = 1 : m Se (zB )i uma varivel articial, e a Encontre j = 1 : |IN |, tal que Dij = 0. Tome ib := (IN )j ; inb := (IB )i ; IB := IB {ib } {inb }; IN := IN {ib }. J := . Sa da: IB := IB ; IN := IN J; B := B ; xB := zB , xN := 0 (0 um vetor em Rnm ). e A sa deste procedimento fornece, para a prxima fase, uma matriz base da o inicial B, conjuntos de ndices base IB e no base IN iniciais, e uma soluo a ca bsica vivel inicial x Rn composta de um vetor de variveis bsicas xB e a a a a de um vetor de variveis no bsicas xN . a a a Agora estamos prontos para estudar a fase 2. E o que introduziremos no prximo cap o tulo.

84

CAP ITULO 11. METODO SIMPLEX: ALGORITMO MESTRE

Ateno: Que tal fazer o exerc 5 agora? ca cio

11.2

Exerc cios

1. Considere o PPL minimizar sujeito a : x1 2x2 x1 + x2 + x3 =4 2x1 + x2 + x4 =6 x1 + x5 =3 x1 , x2 , x3 , x4 , x5 0.

Pede-se: (a) Resolva gracamente este problema. (b) Quantas so as solues bsicas viveis? E, quantos so os pontos a co a a a extremos? (c) Por que, neste caso, temos mais solues bsicas viveis do que co a a pontos extremos? (d) Calcule o valor da funo objetivo para cada soluo bsica vivel. ca ca a a Quem uma soluo tima? e ca o (e) Use o Algoritmo 11.1.1 xando escolhas e atualizaes, para reco solver este problema. 2. Considere o PPL minimizar sujeito a : Pede-se: (a) Transforme este problema no problema fase 1. (b) Existe uma soluo tima para o problema fase 1? Justique. ca o 3. Considere o PPL do exerc anterior. Fornea uma soluo tima para cio c ca o o problema fase 1. Por outro lado, construa um problema invivel e a certique, atravs da fase 1, que de fato o seu problema um problema e e invivel. a x1 x1 + x2 =3 x1 , x2 0.

11.2. EXERC ICIOS 4. Considere o Exemplo 11.1.4. Substituindo x5 por x4 , determine IB0 , IN0 , B0 e x0 .

85

5. Implemente, em MATLAB ou em OCTAVE, a transio da fase 1 para ca a fase 2 para o problema de PL do Exemplo 11.1.4, com as entradas: A= 1 1 1 0 1 0 1 0 0 1 0 1 , B = 1 1 1 0 ,

IB = {1, 5}, IN = {2, 3, 4, 6}, J = {5, 6}, z = [2, 0, 0, 0, 0, 0]T , m = 2 e n = 4.

86

CAP ITULO 11. METODO SIMPLEX: ALGORITMO MESTRE

Cap tulo 12 Mtodo Simplex: algoritmo e mestre adaptado


Continuamos com o nosso objetivo de enunciar e demonstrar que o mtodo e simplex fases 1 e 2 com a regra de Bland converge. Neste cap tulo, estudamos um algoritmo mestre adaptado na tentativa de construir o algoritmo simplex a ` luz do Algoritmo 11.1.1.

12.1

Algoritmo mestre adaptado

Nesta seo, enunciamos um algoritmo mestre adaptado com um maior ca detalhamento para a prxima fase do mtodo simplex. o e

12.1.1

Fase 2

Para a fase 2 consideramos o PPL (P ). Continuamos o nosso processo construtivo com uma nova pergunta. A partir da fase 1 conclu e, supondo que o problema original (P ) no um da a e problema invivel e que j eliminamos todas as variveis articiais, partimos a a a de uma soluo bsica vivel e devemos escolher qual varivel no bsica ca a a a a a passar a varivel bsica e qual varivel bsica passar a varivel no bsica. a a a a a a a a a A este processo de escolha damos o nome de renamento. E, este processo, e a idia chave para o mtodo simplex (veja pgina 103 em [9]). A propsito, e e a o a nossa segunda pergunta : e como escolher novas variveis bsica e no bsica? a a a a 87

88CAP ITULO 12. METODO SIMPLEX: ALGORITMO MESTRE ADAPTADO Consideremos o problema original (P ). Denotamos uma soluo bsica ca a vivel para (P ), a saber, x, associada a uma matriz base B. Denotamos, a tambm, uma matriz no base N . Por denio, e a ca xB = B 1 b e xN = 0. Por convenincia, particionamos a matriz tecnolgica de posto completo e o A e o vetor custo c como A = [N B] e c= cN cB ,

onde B uma matriz base m m e N uma matriz no base m (n m). e e a Denotamos IB o conjunto de ndices base associados `s variveis bsicas e a a a IN o conjunto de ndices no base associados `s variveis no bsicas. a a a a a Uma vez que uma matriz base conhecida, todo ponto vivel x para (P ) e a pode ser rearranjado em uma ordem correspondente como x= Desenvolvendo Ax = b, Ax = b N xN + BxB = b BxB = b N xN xB = B 1 b B 1 N xN . Desenvolvendo cT x e usando a ultima igualdade, cT x = cT xN + cT xB = cT xN + cT (B 1 b B 1 N xN ) = N B N B T 1 = cB B b + (cT cT B 1 N )xN N B c x=
T

xN xB

(12.1)

cT B 1 b B

cN (B 1 N )T cB 0

xN xB

(12.2)

onde 0 Rm denota um vetor de zeros. Denio 12.1.1 Dizemos que o vetor ca s= cN (B 1 N )T cB 0 ,

denominado vetor custo reduzido. e

12.1. ALGORITMO MESTRE ADAPTADO

89

Ateno: Que tal fazer o exerc 1 agora? ca cio De acordo com a expresso (12.2), o vetor custo reduzido o vetor das a e taxas de reduo no valor da funo objetivo com respeito ` mudana na ca ca a c varivel no bsica. a a a Ateno: Que tal fazer o exerc 2 agora? ca cio O prximo teorema fornece uma condio suciente para uma soluo o ca ca bsica vivel ser uma soluo tima, cuja demonstrao pode ser encontrada a a ca o ca nas pginas 32 e 33 em [18]. a Teorema 12.1.2 Se x uma soluo bsica vivel com vetor custo reduzido e ca a a no negativo, ento x uma soluo tima para o problema (P ). a a e ca o Demonstrao: Suponha x uma soluo bsica vivel associada a uma ca ca a a matriz base B e o vetor custo reduzido s 0. Considere x um ponto vivel a qualquer para o problema (P ). Ento, usando (12.2) e a denio de vetor a ca custo reduzido, obtemos xN xB xN xB

cT x cT x = cT B 1 b + sT B

cT B 1 b = sT B

0.

Portanto, cT x cT x, para todo x vivel. Isto signica que x uma soluo a e ca o tima, nalizando a demonstrao. ca Ateno: Que tal fazer o exerc 3 agora? ca cio Examinando a literatura em Programao Linear, constatamos que a ca notao para o desenvolvimento do mtodo simplex fundamental para uma ca e e exposio clara e fcil. Neste ponto, a idia excluir a matriz N na impleca a e e mentaao do algoritmo simplex (se necessrio, utilizaremos N uma unica vez c a no Procedimento 11.1.5) e trabalhar com os conjuntos de ndices base e no a base. Notao: Referindo-nos ` matriz A particionada pela matriz base B e pela ca a matriz no base N , para jl {1, . . . , nm}, l IN , i {1, . . . , m} e ki IB , a denotamos d(l) Rm , a soluo unica do sistema ca Bd(l) = Njl = Al .

90CAP ITULO 12. METODO SIMPLEX: ALGORITMO MESTRE ADAPTADO Finalmente, denotamos di (l) R, a coordenada i do vetor d(l) associada ` coluna ki da matriz A. a Ateno: Que tal fazer o exerc 4 agora? ca cio O prximo resultado certica quando um PPL um problema ilimitado. o e Esta demonstrao pode ser encontrada na pgina 135 em [11]. ca a Teorema 12.1.3 Considere o PPL (P ). Seja dada uma soluo bsica ca a vivel x associada a uma matriz base B. Se sh < 0 e d(h) 0, para ala gum h IN , ento (P ) um problema ilimitado. a e Demonstrao: Partimos de uma soluo bsica vivel x. Fixe h IN . ca ca a a Seja xh = 0 uma varivel no bsica de x tal que sh < 0 e d(h) 0. A a a a partir de x, tentaremos encontrar uma nova soluo bsica vivel x, fazendo ca a a xh a nova varivel bsica, isto , atribuindo-lhe um valor positivo. As demais a a e variveis no bsicas de x continuaro nulas, isto , a a a a e xl = xl = 0, para todo l IN , l = h. Substituindo (12.3) em (12.1), temos: xB = xB d(h)xh . Substituindo (12.3) em (12.2), temos: c T x = c T x + sh x h . Como d(h) 0, podemos fazer xh crescer tanto quanto queiramos sem o risco de alguma componente de x assumir valores negativos. Fazendo xh , temos, devido a ultima igualdade, cT x , uma vez que sh < 0. Logo, (P ) um problema ilimitado. Isto naliza a demonstrao. e ca Ateno: Que tal fazer o exerc 5 agora? ca cio O prximo resultado refere-se a bases de um espao vetorial, o qual ser o c a importante para a demonstrao do prximo teorema. Sua demonstraao ca o c pode ser encontrada nas pginas 36 e 37 em [11]. a

(12.3)

12.1. ALGORITMO MESTRE ADAPTADO

91

Proposio 12.1.4 Seja B = {u1 , . . . , um } uma base do espao vetorial V e ca c 1 seja o vetor v V, que pode ser escrito da forma v = w1 u + . . . + wm um . Caso exista algum t, t = 1, . . . , m, tal que wt = 0, ento tambm o conjunto a e B = {u1 , . . . , ut1 , v, ut+1 , . . . , um } ser uma base de V. a Demonstrao: Suponhamos, sem perda de generalidade, que t = 1. ca Qualquer vetor z V pode ser escrito como combinao linear dos vetores ca da base B, isto , z = z1 u1 + . . . + zm um . Como w1 = 0, podemos escrever e tambm e 1 (v w2 u2 . . . wm um ). w1

v = w1 u1 + . . . + wm um u1 =

Substituindo u1 na primeira igualdade em z, temos: z = z1 [ isto , e z1 z1 w2 2 z1 wm m v + (z2 )u + . . . + (zm )u . w1 w1 w1 Assim, qualquer vetor z V pode ser escrito como combinao linear dos ca 2 m vetores v, u , . . . , u . Por outro lado, fazendo z= 1 v + 2 u2 + . . . + m um = 0, segue-se pela substituio de v como combinao linear de u1 , . . . , um que ca ca 1 w1 u1 + (1 w2 + 2 )u2 + . . . + (1 wm + m )um = 0. Como os vetores u1 , . . . , um so linearmente independentes (li), a 1 w1 = (1 w2 + 2 ) = . . . = (1 wm + m ) = 0. Como w1 = 0, temos 1 = 0. Segue-se pelas demais equaes que co 1 = . . . = m = 0, 1 (v w2 u2 . . . wm um )] + z2 u2 + . . . + zm um , w1

92CAP ITULO 12. METODO SIMPLEX: ALGORITMO MESTRE ADAPTADO o que signica que os vetores v, u2 , . . . , um so li. Ento, pela denio de a a ca base de um espao vetorial, c B = {v, u2 , . . . , um } uma base de V, porque os vetores v, u2 , . . . , um geram o espao vetorial V e c e so li. Pela arbitrariedade de t = 1, conclu a mos a demonstrao. ca Esta proposio garante que para uma base B de um espao vetorial V, ca c podemos substituir um vetor da base por um outro vetor obtendo novamente uma outra base de V, vericada uma condio bastante simples. ca Ateno: Que tal fazer o exerc 6 agora? ca cio O teorema a seguir fornece um critrio de poss melhoria para o valor e vel da funo objetivo do problema (P ), cuja demonstrao pode ser encontrada ca ca nas pginas 136 e 137 em [11]. a Teorema 12.1.5 Considere o PPL (P ). Seja dada uma soluo bsica ca a vivel x associada a uma matriz base B, e uma matriz no base N . Cona a sidere sh < 0, para algum h IN , tal que existe di (h) > 0 ao menos para algum ki IB . Ainda, considere x kq xk = min { i ; di (h) > 0, ki IB }. dq (h) i=1,...,m di (h)

(12.4)

Ento, fazendo xh = xkq /dq (h) a nova varivel bsica, anulamos xkq fazendoa a a a varivel no bsica, obtendo assim uma nova soluo bsica vivel x tal a a a ca a a T T que c x c x, com desigualdade estrita caso o valor xh seja positivo. Demonstrao: Considere i = 1, . . . , m. Seja x a nova soluo obtida ca ca a partir da soluo bsica vivel x. Vamos demonstrar que x tambm ca a a e e soluo bsica vivel. Na nova soluo, mantemos todas as variveis no ca a a ca a a bsicas, exceto xh , isto , a e xl = xl = 0, para todo l IN , l = h. Fazemos xh = x kq 0. dq (h) (12.5)

12.1. ALGORITMO MESTRE ADAPTADO

93

Substituindo (12.5) e xh em (12.1), temos, para as variveis bsicas de x, os a a novos valores: x kq , para todo ki IB . dq (h)

xki = xki di (h)xh = xki di (h)

(12.6)

Suponha satisfeita a condio (12.4), isto , ca e x kq x ki di (h) dq (h) para todo ki IB com di (h) > 0. Logo, xki = xki di (h) x kq xk xki di (h) i = 0, dq (h) di (h)

para todo ki IB com di (h) > 0. Para di (h) 0 temos, pela denio de xh 0 e por (12.6), xki 0. ca Logo, xki 0 para todo ki IB . Em particular, temos por (12.6) xkq = 0. Considerando xkq como varivel no bsica e fazendo xh a nova varivel a a a a bsica, vericamos ter m variveis bsicas no negativas assim como n m a a a a variveis no bsicas nulas. Temos, portanto, satisfeitas as condies de no a a a co a negatividade: x 0. Por outro lado, como todas as variveis satisfazem o a sistema de equaes (12.1) e este equivalente ao sistema Ax = b, temos co e satisfeitas todas as restries do PPL (P ). co Para mostrar que temos uma soluo bsica vivel, basta mostrar que ca a a podemos associar uma matriz base `s variveis bsicas. De acordo com a a a a denio de d(h), podemos escrever ca Ah =
ki IB

di (h)Aki .

Como di (h) > 0, para algum ki IB , podemos de acordo com a Proposio ca 12.1.4, ter uma nova matriz base trocando na matriz base antiga o vetor Akq por Ah . Temos, portanto, uma soluo bsica vivel x. ca a a Usando (12.2), (12.5) e a denio de xh 0, ca cT x cT x = sh xh 0, uma vez que sh < 0. Aqui cT x < cT x se xh > 0. Isto naliza a demonstrao. ca

94CAP ITULO 12. METODO SIMPLEX: ALGORITMO MESTRE ADAPTADO Ateno: Que tal fazer o exerc 7 agora? ca cio Neste ponto, podemos responder a nossa segunda pergunta de como escolher novas variveis bsica e no bsica. De fato, este ultimo teorema fornece a a a a a resposta: basta escolher algum ndice l IN com sl < 0, tal que xl a e nova varivel bsica, e escolher algum a a ndice ki IB satisfazendo (12.4), tal que xki a nova varivel no bsica. e a a a Como se trata de escolhas, a seguir vamos enunciar o algoritmo mestre (Algoritmo 11.1.1) de maneira, digamos, mais completa. Relembramos que, xado um ndice j, denotamos Aj a j-sima coluna de A. e Algoritmo 12.1.6 Mestre Adaptado. Dados: uma soluo bsica vivel x0 associada a uma matriz base inicial ca a a B0 , um conjunto de ndices base IB0 e um conjunto de ndices no baa se IN0 . k := 0. REPITA Calcule o vetor multiplicador simplex y Rm ,
T Bk y = cBk .

Calcule o vetor custo reduzido s Rn tal que, sl = 0, para todo l IBk e sl = cl y T Al , para todo l INk . Se s 0, ento PARE; soluo tima xk . a ca o Entrada na base: escolha h INk tal que sh < 0. Calcule o vetor (direo) d(h) Rm , ca Bk d(h) = Ah . Se d(h) 0, ento PARE; problema ilimitado. a Sada da base: escolha kq IBk tal que x kq x ki k = min { k ; di (h) > 0, ki IBk }. dq (h) i=1,...,m di (h)

12.1. ALGORITMO MESTRE ADAPTADO

95

Atualize os ndices base e no base, respectivamente, a IBk+1 := IBk {h} {kq }; INk+1 := INk {kq } {h}. Atualize a matriz base Bk+1 := Bk + (Ah Akq )eT , q onde eq Rm um vetor de zeros com valor um na posio e ca q = 1, . . . , m. Novo ponto: calcule a nova soluo bsica vivel xk+1 Rn , ca a a Bk+1 xk+1 = b; Bk+1 xk+1 := 0. kq k := k + 1. ATE QUE convirja. Temos algumas observaes a fazer acerca deste algoritmo. Inicialmente, co observe que so dados os conjuntos de a ndices base IB0 e no base IN0 . Isto se a deve ` nossa convenincia de escrita e implementao. Depois, o vetor custo a e ca reduzido s calculado pela Denio 12.1.1 em dois passos: primeiro, refee ca renciamos o vetor multiplicador simplex y, o qual se relaciona com a varivel a dual; e segundo, o clculo das coordenadas de s associadas ao conjunto de a ndices no base da iterao corrente feito usando o vetor multiplicador a ca e simplex ao invs do clculo de inverso de matrizes, conforme a Denio e a a ca 12.1.1. Tambm, observe que os critrios de parada exibindo uma soluo tima e e ca o devido ao Teorema 12.1.2 e, certicando problema ilimitado, devido ao e e Teorema 12.1.3. Ainda, quando poss veis, tanto as escolhas para a entrada na base quanto para a sa da base so devidas ao Teorema 12.1.5. da a Finalmente, observe que elaboramos uma terceira pergunta: como atualizar matriz base e soluo bsica vivel? ca a a

96CAP ITULO 12. METODO SIMPLEX: ALGORITMO MESTRE ADAPTADO A resposta foi imediata: da maneira que se encontra no Algoritmo 12.1.6. Isto , trocando na matriz base a coluna Akq pela coluna Ah e resolvendo o e sistema de equaes lineares BxB = b. A propsito, note que as variveis no co o a a bsicas so nulas. Da devemos tomar a nova varivel no bsica xkq igual a a , a a a a zero. Alm disso, atualizamos os conjuntos de e ndices base e no base. a Ateno: Que tal fazer o exerc 8 agora? ca cio Neste ponto, gostar amos de armar que o Algoritmo 12.1.6, dene a nossa estratgia para o desenvolvimento do mtodo simplex (revisado) fase e e 1 e fase 2. No prximo cap o tulo, estudaremos a convergncia deste algoritmo, atravs e e de um exemplo, em que xaremos uma certa escolha para a entrada na base e para a sa da base. da Ateno: Que tal fazer o exerc 9 agora? ca cio

12.2

Exerc cios

1. Considere o PPL minimizar sujeito a : x1 2x2 x1 + 4x2 + x3 =4 x1 x2 + x4 =3 x1 , x2 , x3 , x4 0.

Pede-se: (a) Dena a matriz A e os vetores b e c. (b) Fornea uma matriz base B e uma matriz no base N . c a (c) Para B e N dena, respectivamente, o conjunto de ndices base IB e no base IN . a (d) Para esta matriz base B, calcule o vetor custo reduzido. 2. Calcule o vetor custo reduzido do PPL do exerc cio anterior para a matriz base dada pela matriz identidade. Verique que a componente mais negativa do vetor custo reduzido induz um hiperplano no conjunto vivel com valor da funo objetivo igual a -2. Todavia, verique que a ca

12.2. EXERC ICIOS

97

poder amos ter obtido um novo ponto extremo adjacente, x, com maior reduo do valor da funo objetivo, isto , cT x = 3. ca ca e 3. Calcule o vetor custo reduzido do PPL do exerc cio anterior para a matriz base B obtida pelas primeira e segunda colunas de A. O que voc conclui? e 4. Seja o sistema de equaes lineares co x1 + x2 + x3 = 4 2x1 + x2 + x4 = 6 x1 + x5 = 3. Pede-se: (a) Para jl {1, 2}, l IN = {3, 4}, i {1, 2, 3} e ki IB = {1, 2, 5}, verique que xados jl = 1 e l = 3 (ou jl = 2 e l = 4), Bd(l) = Njl o mesmo que e Bd(l) = Al . (b) Calcule d(h) e dq (h), para l = h = 4 e ki = kq = k3 = 5. 5. Considere o PPL minimizar sujeito a : Pede-se: (a) Resolva gracamente este problema. (b) Para o conjunto de ndices base IB = {1} e a soluo bsica vivel ca a a x = [2, 0]T , use o Teorema 12.1.3 para concluir que este PPL e um problema ilimitado. x1 x1 x2 =2 x1 , x2 0.

98CAP ITULO 12. METODO SIMPLEX: ALGORITMO MESTRE ADAPTADO 6. Considere o sistema x1 + x2 + x3 = 4 2x1 + x2 + x4 = 6. Para a matriz A= dena a matriz base B= 1 1 2 0 , 1 1 1 0 2 1 0 1 ,

e tome v = [1, 1]T . O vetor [1, 2]T (ou [1, 0]T ) pode ser substitu pelo do vetor v? Por qu? e 7. Considere o PPL minimizar sujeito a : Pede-se: (a) Resolva gracamente este problema. (b) Para a soluo bsica vivel x = [2, 0]T , use o Teorema 12.1.5 ca a a para concluir que a nova varivel x possui cT x cT x. Quem x? a e 8. Implemente, em MATLAB ou em OCTAVE, a fase 2 para o PPL do exerc 1 e para o PPL do exerc 7, atravs do Algoritmo 12.1.6. cio cio e Observe que este algoritmo s implementvel a partir de escolhas o e a para a entrada na base e para a sa da base. Assim, tome decises da o para a fase 1 e tome decises para as escolhas (o chamado renamento). o Acredite em voc, garota(o)! e 9. Faa uma pesquisa (biblioteca um lugar legal!) da literatura em PL c e e compare o mtodo simplex com o mtodo simplex revisado. e e x1 x1 + x2 =2 x1 , x2 0.

Cap tulo 13 Mtodo Simplex: algoritmo e fases 1 e 2


Neste cap tulo conclu mos o enunciado e a convergncia do algoritmo e simplex de duas fases com a regra de Bland.

13.1

Algoritmo fases 1 e 2

Consideremos o PPL (P ). Nesta seo, enunciamos o algoritmo de duas ca fases, tambm, de uma maneira construtiva. e Neste ponto, retiramos o apstrofo do termo ingnua, usado no in do o e cio Cap tulo 11, quanto ` idia do mtodo simplex. Isto se d devido ao fenmeno a e e a o denominado ciclagem, que pode ocorrer aplicando o mtodo simplex, quando e existe uma soluo bsica vivel degenerada. A ciclagem consiste em voltarca a a mos para a mesma matriz base depois de um certo nmero de iteraes. u co Desta forma, o mtodo simplex pode gerar uma seqncia divergente. e ue Muitos autores armaram que a ciclagem dicilmente ocorria em problemas prticos. Todavia, Goldbarg (pgina 118 em [19]) deparou-se com a a vrios exemplos de ciclagem na soluo de problemas de particionamento a ca no ponderado de grande porte. a Beale [7] construiu um exemplo de PPL que cicla, com a utilizao do ca mtodo simplex, para uma escolha particular para a entrada na base. A e seguir, executaremos o Algoritmo 12.1.6 para o exemplo de Beale (conforme pgina 274 em [7]), no formato padro, escolhendo para a entrada na base o a a ndice base com menor custo reduzido. Para a sa da base, escolhemos o da 99

100

CAP ITULO 13. METODO SIMPLEX: ALGORITMO FASES 1 E 2

menor ndice, quando houver empate para a sa da. Exemplo 13.1.1 Verique ciclagem no exemplo de Beale, a saber: minimizar sujeito a : 3 x1 + 20x2 1 x3 + 6x4 4 2 1 x1 8x2 x3 + 9x4 + x5 =0 4 1 1 x 12x2 2 x3 + 3x4 + x6 =0 2 1 x3 + x7 =1 x1 , x2 , x3 , x4 , x5 , x6 , x7 0.

Vejamos: a matriz A e os vetores b e c so a


A=

8 1 1 12 2 0 0 1

1 4 1 2

0 9 1 0 0 3 0 1 0 , b = 0 e c = 1 0 0 0 1

3 4 20 1 2 6 0 0 0

Aplicando o Algoritmo 12.1.6, temos dados a matriz base inicial, o ponto inicial, os conjuntos de ndices base e no base iniciais, respectivamente, a B0 = I, x0 = [0 0 0 0 0 0 1]T , IB0 = {5, 6, 7} e IN0 = {1, 2, 3, 4}. Calculando o vetor multiplicador simplex,
T B0 y = cB0 Iy = 0 y = 0.

Usamos y = 0 para calcular o vetor custo reduzido, para l IN0 , s1 = c1 y T A1 = 3/4, s2 = c2 y T A2 = 20, s3 = c3 y T A3 = 1/2 e s4 = c4 y T A4 = 6. Fixamos a escolha do ndice com menor custo reduzido para a entrada na base, logo, escolhemos h = 1. Calculando o vetor direo, ca B0 d(h) = Ah Id(1) = A1 d(1) = [1/4 1/2 0]T .

13.1. ALGORITMO FASES 1 E 2 Fixamos, para a sada da base, a escolha do menor ndice tal que x0 i x0 x0 2 k k ; di (h) > 0, ki IB0 } = min{ k1 , } = 0. di (h) d1 (1) d2 (1)

101

i=1,2,3

min {

Ou seja, kq = k1 = 5. Para atualizar a nova soluo bsica vivel, temos ca a a IB1 = {1, 6, 7} e IN1 = {5, 2, 3, 4}, 0 0 1 0 , B1 = 0 0 1 logo, B1 x1 1 B alm disso, e x1q = x11 = x1 = 0. k k 5 Ento, x1 = [0 0 0 0 0 0 1]T . a Para as prximas iteraes temos: o co IB2 = {1, 2, 7}, IB3 = {3, 2, 7}, IB4 = {3, 4, 7}, IB5 = {5, 4, 7} e IB6 = {5, 6, 7} = IB0 , para x0 = x1 = . . . = x6 . Isto estabelece um ciclo. Quer dizer, IB7 = IB1 , IB8 = IB2 , . . . , IB12 = IB0 , etc., e x0 = x1 = . . . = x12 = . . .. Todavia, a soluo tima para este problema de ca o Beale o ponto e x = [1 0 1 0 3/4 0 0]T , com IB = {1, 3, 5}. 0 0 0 0 x1 1 1 1 1 0 x 6 = 0 x B1 = 0 ; =b 1 x1 1 0 0 1 7

1 4 1 2

1 4 1 2

102

CAP ITULO 13. METODO SIMPLEX: ALGORITMO FASES 1 E 2

Ateno: Que tal fazer o exerc 1 agora? ca cio Existem algumas maneiras de escolher uma nova varivel bsica, isto , a a e uma nova coluna na matriz no base N para compor a matriz base B. E, a tambm, existem algumas maneiras de escolher uma nova varivel no bsica, e a a a isto , uma nova coluna em B para compor a matriz N . Todavia, escolhee remos uma mesma regra que decide quem entra e quem sai da base. Optamos por uma escolha objetivando convergncia do mtodo simplex, como veremos e e adiante e, tambm, simplicidade de idia e de implementao. Esta escolha e e ca conhecida como a regra do menor e ndice ou a regra de Bland [9], a saber: (i) entre todos os candidatos a entrar na base, selecione a varivel xh tendo a o menor ndice, isto , encontre e h = min{l; sl < 0};
lIN

(ii) entre todos os candidatos a sair da base, selecione a varivel xkq tendo a o menor ndice, isto , encontre e xki0 k

x ki = min { k ; di (h) > 0, ki IBk }}. kq = min {ki0 ; ki0 IBk di0 (h) i=1,...,m di (h) O elemento dq (h) denominado piv. Para o formato original (tabular) e o do mtodo simplex, a q-sima linha denominada linha piv e a h-sima e e e o e coluna denominada coluna piv. e o Finalmente, estabeleceremos o algoritmo simplex revisado fases 1 e 2 para o PPL (P ) com uma tcnica anti-ciclagem, ou seja, com a regra de Bland. Se e necessrio, usaremos o Procedimento 11.1.5 para a transio da fase 1 para a ca a fase 2. Algoritmo 13.1.2 Simplex Fases 1 e 2. Fase 1: obtemos uma soluo bsica vivel x0 associada a uma matriz ca a a base inicial B0 , um conjunto de ndices base IB0 e um conjunto de ndices no base IN0 , eliminando todas as variveis articiais. Caso a a contrrio, certicamos problema invivel. a a k := 0. REPITA Calcule o vetor multiplicador simplex y Rm ,

13.1. ALGORITMO FASES 1 E 2

103

T Bk y = cBk .

Calcule o vetor custo reduzido s Rn tal que, sl = 0, para todo l IBk e sl = cl y T Al , para todo l INk . Se s 0 ento xk uma soluo tima; a e ca o seno a Entrada na base: calcule o novo ndice base h = min {l; sl < 0}.
lINk

Calcule o vetor (direo) d(h) Rm , ca Bk d(h) = Ah . Se d(h) 0 ento problema ilimitado; a seno a Sada da base: calcule o novo ndice no base a xki0 k di0 (h) x ki k ; di (h) > 0, ki IBk }}. di (h)

kq = min {ki0 ;
ki0 IBk

= min {
i=1,...,m

Atualize os ndices base e no base, respectivamente, a IBk+1 := IBk {h} {kq }; INk+1 := INk {kq } {h}. Atualize a matriz base

104

CAP ITULO 13. METODO SIMPLEX: ALGORITMO FASES 1 E 2

Bk+1 := Bk + (Ah Akq )eT , q onde eq Rm um vetor de zeros com valor um na posio e ca q = 1, . . . , m. Novo ponto: calcule a nova soluo bsica vivel xk+1 Rn , ca a a Bk+1 xk+1 = b; Bk+1 xk+1 := 0. kq k := k + 1. ATE QUE (s 0) ou (d(h) 0). Ateno: Que tal fazer os exerc ca cios 2, 3 e 4 agora? O prximo resultado garante convergncia para o algoritmo simplex. Sua o e demonstrao pode ser encontrada em Bland [9], pgina 104 (veja pginas ca a a 46 e 47 em [37]). Teorema 13.1.3 O algoritmo simplex revisado fase 1 e fase 2, com a regra de Bland, converge. Demonstrao: Sem perda de generalidade considere a fase 2 do algoca ritmo. Convergncia signica vericar otimalidade ou detectar problema e ilimitado. Suponha por contradio que o algoritmo simplex no converge, ca a isto , ocorre ciclagem. Uma vez que o algoritmo simplex determina unicae mente um elemento piv, o ciclo bem determinado. o e Seja T {1, . . . , n} o subconjunto de ndices de todas as variveis que a entram na base durante o ciclo, isto , j T signica que xj jamais ser ou, e a sempre ser, uma varivel bsica durante a ciclagem. Considere a a a t = max{j; j T }. Considere uma iterao k, com matriz base B e soluo bsica vivel x, ca ca a a tal que At sai da base e Ar entra na base. E, considere uma iterao k, com ca matriz base B e soluo bsica vivel x, tal que At retorna para a base. Logo, ca a a r T . E, na ciclagem, o valor da funo objetivo permanece o mesmo. ca denotamos: Na iterao k ca

13.1. ALGORITMO FASES 1 E 2

105

xB = xB B 1 N xN e c T x = c T x + sT x N ; N e na iterao k denotamos: ca xB = xB B 1 N xN e c T x = c T x + sT x N . N Na ciclagem temos que cT x = cT x e, pelo algoritmo simplex temos que sB = 0. Da , cT x = cT x + sT xN = cT x + sT x, N que deve ser vericada para xr = , xj = 0, j IN {r} e xki = xki di (r), ki IB , i = 1, . . . , m, fornecendo, de (13.1), cT x = cT x + sr . Ento, a
m

(13.1)

(13.2)

c T x = c T x + sT x = c T x + sr +
i=1

ski (ki di (r)). x

(13.3)

De (13.2) e (13.3),
m

c T x + sr = c T x + sr +
i=1

ski (ki di (r)), x

106

CAP ITULO 13. METODO SIMPLEX: ALGORITMO FASES 1 E 2

e isolando os termos em ,
m

(r sr + s
i=1

ski di (r)) =

s k i x ki ,
i=1

cujo lado direito desta ultima igualdade uma constante para qualquer . e Logo, esta constante deve ser nula. Da ,
m

sr sr +
i=1

ski di (r) = 0.

(13.4)

Agora, o nosso racioc nio para o restante desta demonstrao se concenca trar nesta ultima igualdade. Assim, como Ar entra na base na iterao k, a ca sr < 0. E, como Ar no est entrando na base na iterao k, ento sr 0, a a ca a porque pela denio de t e pelo fato de que r T , conclu ca mos que r < t e, tambm, porque estamos usando a regra de Bland no algoritmo. Ainda, e para que a igualdade (13.4) seja vericada, deve existir , = 1, . . . , m, tal a ca que sk d (r) > 0. Uma vez que sk = 0, Ak est na base na iterao k e no est na base na iterao k. Logo, k T e k t, para k IB . a a ca Como At sai da base na iterao k e Ar entra, ento di (r) > 0 para ki = t, ca a i = 1, . . . , m. Como At retorna ` base na iterao k, st < 0, logo, st di (r) < 0 a ca para ki = t, i = 1, . . . , m. Segue-se que k < t, para k IB . Para k IB , se k < t, ento sk > 0 (k = 0) implicando em d (r) > 0 a s co a para que possamos satisfazer sk d (r) > 0. Todas as iteraes de k e k esto associadas a solues bsicas viveis degeneradas implicando que o valor de co a a xk seja o mesmo na base ou fora, isto , igual a zero. Desta forma, xk = 0 e (r) > 0, ento pela regra de Bland Ak deveria deixar a base na e, como d a iterao k, pois k < t; contradizendo o fato de que At sai da base na iterao ca ca Isto naliza a demonstrao. k. ca Podemos concluir, portanto, que o mtodo simplex gera solues bsicas e co a viveis (degeneradas, inclusive) pela mudana de uma unica coluna da maa c triz base em cada iterao, com o valor da funo objetivo menor ou igual ca ca ao anterior. Usando tcnicas anti-ciclagem (existem outras alm da regra e e de Bland!), o mtodo simplex no repete bases. Como o nmero de bases e a u poss veis nito, o algoritmo simplex converge. e Para uma implementao prtica do mtodo simplex, consulte por exemca a e plo, Goldfarb e Reid [20]. No prximo cap o tulo vamos estudar o mtodo am-escala, atravs de um e e algoritmo mestre.

13.2. EXERC ICIOS Ateno: Que tal fazer o exerc 5 agora? ca cio

107

13.2

Exerc cios

1. Continue o Exemplo 13.1.1, fazendo as contas, para mais cinco iteraes. co Isto , verique que o algoritmo simplex pode no convergir se no ree a a narmos as nossas escolhas. 2. Implemente, em MATLAB ou em OCTAVE, o algoritmo simplex revisado, com a regra de Bland, para o problema de Beale. 3. Implemente, em MATLAB ou em OCTAVE, o algoritmo simplex revisado fases 1 e 2, com a regra de Bland, para os seguintes problemas de PL: (a) um problema invivel; a (b) um problema que gera uma soluo bsica vivel inicial para a ca a a fase 2, com alguma varivel articial como varivel bsica; e a a a (c) um problema ilimitado; 4. Implemente, em MATLAB ou em OCTAVE, o algoritmo simplex revisado fases 1 e 2, com a regra de Bland, para o problema da dieta exemplicado no Cap tulo 3. 5. Dada uma excelente implementao do Algoritmo 13.1.2, sob condies ca co razoveis de trabalho (energia, digitao dos dados), este algoritmo rea ca solve qualquer PPL no formato padro. Verdadeiro ou falso? Justia que.

108

CAP ITULO 13. METODO SIMPLEX: ALGORITMO FASES 1 E 2

Cap tulo 14 Mtodo Am-Escala: algoritmo e mestre


Continuamos com a etapa de estudarmos alguns mtodos para resolver e problemas de PL. O objetivo deste cap tulo enunciar um algoritmo mestre e na tentativa de exprimir algoritmicamente as idias do mtodo am-escala e e (veja Dikin [15] e [16], Barnes [3] e Vanderbei, Meketon e Freedman [58]). No prximo cap o tulo, enunciaremos o algoritmo am-escala e demonstraremos sua convergncia. e

14.1

Algoritmo mestre

Consideremos o PPL primal no formato padro a (P ) minimizar sujeito a: cT x Ax = b x 0,

onde so dados uma matriz A Rmn e vetores b Rm e c Rn , com a 0 < m < n. Sem perda de generalidade, conforme Cap tulo 2, consideremos a matriz A de posto completo. Alm disso, sem perda de generalidade, conforme e Proposio 10.2.3, supomos que o vetor custo c no est no espao linha da ca a a c matriz tecnolgica A, uma vez que o mtodo am-escala trata com pontos o e interiores viveis. a 109

110 CAP ITULO 14. METODO AFIM-ESCALA: ALGORITMO MESTRE Ateno: Que tal fazer o exerc 1 agora? ca cio As hipteses para este cap o tulo so: a (H1 ) O conjunto vivel X limitado. a e (H2 ) O conjunto de pontos interiores viveis X 0 no vazio. a e a (H3 ) E dado um ponto interior vivel inicial x0 X 0 . a A hiptese (H1 ) muito forte e no necessria (vide [59]), mas ela simo e a e a plica o processo construtivo que pretendemos desenvolver para o mtodo e am-escala. As hipteses (H2 ) e (H3 ) so usuais para mtodos que geram o a e uma seqncia de pontos interiores viveis. ue a Pelas hipteses (H1 ) e (H2 ), podemos usar o Teorema 10.3.1 e concluir o que o conjunto de solues timas X (P) no vazio e limitado. Observe, co o e a tambm, que o vetor do lado direito b no nulo, porque se X 0 no vazio, e e a e a ento o conjunto vivel X , para b = 0, um cone convexo, logo, no um a a e a e conjunto limitado. Ateno: Que tal fazer o exerc 2 agora? ca cio Considere o problema (P ) e suponha (H1 ) e (H2 ). A idia do mtodo e e am-escala baseia-se na idia de Dikin [15]. Isto , o mtodo de Dikin cone e e siste em caminhar pelo interior de um conjunto poliedral de um PPL (P ), atravs de pontos interiores viveis gerados pela soluo de uma seqncia e a ca ue de subproblemas (Pk ), k = 0, 1, . . ., a saber: (Pk ) minimizar sujeito a: cT x Ax = b 2 k T (x x ) Xk (x xk ) 1,

onde xk X 0 o centro do maior elipside simples e Xk = diag(xk ). e o A seguir vamos enunciar uma proposio que arma podermos desconsideca rar a restrio x 0 do problema (Pk ). A demonstrao pode ser encontrada ca ca na pgina 175 em [3]. a Proposio 14.1.1 Considere xk X 0 e Xk = diag(xk ). Ento, o elipside ca a o
2 {x Rn ; (x xk )T Xk (x xk ) 1}

14.1. ALGORITMO MESTRE est contido no ortante no negativo em Rn . a a

111

Demonstrao: Suponha por absurdo que xj0 < 0 para algum j0 , com ca j0 = 1, 2, . . . , n. Ento, como a (xj xk )2 j 2 = (x xk )T Xk (x xk ) 1, k 2 (xj ) j=1
n

segue-se que 1 (xj0 xk0 )2 (xj xk )2 j j > 1, (xk )2 (xk0 )2 j j j=1


n

o que um absurdo. Isto naliza a demonstrao. e ca Assim, Dikin prope resolver um PPL por uma seqncia de problemas o ue de Programao No Linear. ca a Ateno: Que tal fazer o exerc 3 agora? ca cio A seguir, enunciamos um algoritmo mestre em uma tentativa de exprimir algoritmicamente as idias do mtodo de Dikin. e e Algoritmo 14.1.2 Mestre. Dado: x0 um ponto interior vivel inicial, isto , x0 X 0 . e a e k := 0. REPITA Obtenha xk+1 X resolvendo o subproblema (Pk ). k := k + 1. ATE QUE convirja. Ateno: Que tal fazer o exerc 4 agora? ca cio No restante deste cap tulo, construiremos o algoritmo am-escala baseado neste algoritmo mestre. A hiptese (H3 ) arma que x0 X 0 dado. Assim, o e a nossa pergunta a seguinte: e como resolver o subproblema (Pk ), k = 0, 1, . . .?

112 CAP ITULO 14. METODO AFIM-ESCALA: ALGORITMO MESTRE

14.2

Resoluo de (Pk ) ca

Consideremos o problema de PL (P ). Para o mtodo am-escala, ree solvemos o problema (P ) atravs de uma seqncia de subproblemas (Pk ), e ue k = 0, 1, . . .. Com o intuito de responder a nossa pergunta de como resolver o subproblema (Pk ), k = 0, 1, . . ., enunciamos o seguinte resultado, cuja demonstraao c pode ser encontrada na pgina 35 em [23]. a Proposio 14.2.1 Suponha que c Rn no est no espao linha de A. ca a a c Ento, o problema a minimizar sujeito a: possui a soluo, ca cp , h= cp onde cp o vetor c projetado no espao nulo da matriz A. e c Demonstrao: Por hiptese, cp > 0. Pela Proposio 7.1.2, c = cp +cp , ca o ca onde cp N (A) e cp R(AT ) ortogonal ao espao nulo de A. Para e c qualquer vetor unitrio h em N (A), cT h = cT h porque cT h = 0. Da usando a , p p a desigualdade de Cauchy-Schwarz e h = 1, |cT h| = |cT h| cp p h = cp , cT h Ah = 0 h 1,

que pela denio de valor absoluto, equivalente a ca e cp cT h cp . Logo, para o problema de minimizao, a soluo : ca ca e cp , h= cp nalizando a demonstrao. ca

14.2. RESOLUCAO DE (PK )

113

Ateno: Que tal fazer o exerc 5 agora? ca cio Responderemos a nossa pergunta de como resolver o subproblema (Pk ), k = 0, 1, . . ., com a prxima proposio, cuja demonstrao pode ser encono ca ca trada nas pginas 19 a 22 em [39]. a Proposio 14.2.2 Suponha que c Rn no est no espao linha de A. ca a a c Ento, o problema (Pk ), k = 0, 1, . . ., possui a soluo a ca PA c ), PA c onde xk X 0 , Xk = diag(xk ), c = Xk c, A = AXk e PA a matriz de e projeo no espao nulo de A. ca c x = Xk (e Demonstrao: Considere o problema (Pk ), k = 0, 1, . . .. Fazendo uma ca mudana de escala c x = Xk x, onde Xk = diag(xk ) e x Rn , transformamos o elipside com centro em xk o T em uma bola com centro no ponto e = [1, 1, . . . , 1] Rn , porque o ponto xk = Xk e. Ou seja, substituindo x = Xk x no problema (Pk ), obtemos o seguinte problema de Programao No Linear: ca a (Pk ) minimizar sujeito a: onde c = Xk c, A = AXk e x Rn , pois cT x = cT (Xk x) = (Xk c)T x = cT x, x b = Ax = A(Xk x) = (AXk ) = A, x
2 (x xk )T Xk (x xk ) 1 2 (Xk x Xk e)T Xk (Xk x Xk e) 1 2 (Xk ( e))T Xk (Xk ( e)) 1 x x 2 ( e)T Xk Xk Xk ( e) 1 x x

cT x x A = b x e 1,

114 CAP ITULO 14. METODO AFIM-ESCALA: ALGORITMO MESTRE ( e)T ( e) = x e x x


2

1 x e 1.

e Temos que o problema (Pk ) o problema (Pk ) com uma mudana de escala c 1 denida por Xk , que minimiza o valor de uma funo linear na interseao ca c n x = b} e da bola centrada no vetor de uns e Rn . do hiperplano { R ; A x Segue-se que o vetor e um ponto interior vivel para o subproblema (Pk ), e a k = 0, 1, . . ., pois Ae = (AXk )e = A(Xk e) = Axk = b e e e = 0 1.

Tomando uma direo qualquer h = x e, conforme Proposio 8.2.3(a), ca ca obtemos cT x = cT (e + h) = cT e + cT h, x b = A = A(e + h) = Ae + Ah = b + Ah Ah = 0, x e 1 h 1. Da uma vez que cT e uma constante, obtemos o problema , e minimizar sujeito a: cuja soluo ca e P c h= A , PA c conforme Proposio 14.2.1. ca Ento, a P c x=e+h=e A , PA c a soluo para (Pk ). Finalmente, a soluo para o problema (Pk ) obtida e ca ca e k ), reescalando a soluo em (P ca x = Xk x = Xk (e PA c ). PA c cT h Ah = 0 h 1,

14.2. RESOLUCAO DE (PK )

115

Isto naliza a demonstrao. ca Esta proposio esclarece os termos am e escala. Ou seja, a idia ca e de Dikin para resolver o problema original (P ), resolver uma seqncia de e ue subproblemas (Pk ), k = 0, 1, . . .. Resolver (Pk ) signica fazer uma mudana c de escala para transformar elipside em bola atravs de uma transformao o e ca am. Conforme Proposio 14.2.1 e Proposio 8.2.3(a), minimizar uma funo ca ca ca linear em uma bola unitria interseo com restries de igualdade tomar a ca co e uma direo no espao am (neste caso, o termo am posterior aos trabalhos ca c e de Dikin, designado para mtodos de pontos interiores tipo Gonzaga - veja e Todd em [56]) denido por Ax = b, atravs de uma direo de descida no e ca espao nulo de A. c Ateno: Que tal fazer o exerc 6 agora? ca cio Uma vez que o subproblema (Pk ), k = 0, 1, . . ., est denido para o a maior elipside simples, isto , tangente aos eixos coordenados no primeiro o e ortante, devemos descartar a possibilidade de obtermos uma soluo neste ca subproblema com alguma coordenada nula, tal que esta soluo no seja ca a uma soluo tima para o problema (P ). Descartaremos esta possibilidade ca o no prximo teorema, cuja demonstrao pode ser encontrada nas pginas 116 o ca a e 117 em [52]. Teorema 14.2.3 Considere x uma soluo tima para o subproblema (Pk ), ca o qualquer que seja k, k = 0, 1, . . .. Se xj = 0 para algum j, j = 1, 2, . . . , n, ento x resolve o problema (P ). a Demonstrao: Fixe arbitrariamente k, k = 0, 1, . . ., e considere o subca problema (Pk ). Suponha x uma soluo tima para (Pk ) tal que x = 0 ca o j para algum j, j = 1, 2, . . . , n. Pela denio de matriz de projeo e das ca ca mudanas de escala c = Xk c e A = AXk , para Xk = diag(xk ) com xk X 0 , c temos que c PA c = (I AT (AAT )1 A) PA c = (I (AXk )T (AXk (AXk )T )1 AXk )Xk c
2 PA c = (I Xk AT (AXk AT )1 AXk )Xk c 2 2 PA c = Xk c Xk AT (AXk AT )1 AXk c

116 CAP ITULO 14. METODO AFIM-ESCALA: ALGORITMO MESTRE


2 2 PA c = Xk (c AT (AXk AT )1 AXk c).

Tomando
2 2 y = (AXk AT )1 AXk c e s = c AT y,

obtemos PA c = Xk s. Ento, usando a Proposio 14.3.2, a ca x = Xk (e Portanto, x = xk Assim, usando a hiptese, o 0= x j = xk j (xk )2 sj j . Xk s
2 Xk s . Xk s 2 PA c Xk s Xk s ) = Xk (e ) = Xk e . PA c Xk s Xk s

Ento, xk sj = Xk s . Da xk si = 0 para todo i = j. Como xk > 0 pela a , i j i denio de Xk , obtemos si = 0 para todo i = j. Logo, s 0. Tomando y ca uma soluo dual com s uma folga dual vivel, isto ca a e s = c AT y e s 0 e, usando a condio de folga complementar (x )T s = 0, segue-se pelo Teoca e ca o rema 10.1.4 que x uma soluo tima para o problema primal (P ). Isto naliza a demonstrao. ca Agora estamos prontos para enunciar alguns algoritmos da fam amlia escala. E o que faremos no prximo cap o tulo. Ateno: Que tal fazer o exerc 7 agora? ca cio

14.3. EXERC ICIOS

117

14.3

Exerc cios

1. Considere o PPL no formato padro a minimizar sujeito a : x 1 + x2 + x3 x1 + x2 + x3 = 3 x1 , x2 , x3 0.

Encontre o conjunto vivel e o conjunto de solues timas. Verique a co o que o vetor custo est no espao linha da matriz tecnolgica. a c o 2. Desenhe o conjunto vivel para cada um dos problemas de PL, a saber: a (a) min s. a : (b) min s. a : x1 x 3 x1 + x2 + x3 = 3 x3 = 3 x1 , x2 , x3 0. x1 x1 x2 =0 x1 , x2 0. x1 x1 x2 =2 x1 , x2 0.

(c) min s. a : (d) min s. a : x1 + x 2 + x 3 x1 + x2 + x3 = 3 x3 = 1 x1 , x2 , x3 0.

Por que no trataremos estes problemas para suas resolues atravs a co e do mtodo am-escala? Observe que no item (c), justicar sua resposta e pelo fato de que o vetor do lado direito nulo est correto, mas lembree a se de que isto uma conseqncia das hipteses (H1 ) e (H2 ). J no e ue o a item (d), observe que a soluo do problema trivial se supormos um ca e ponto interior vivel conhecido. a

118 CAP ITULO 14. METODO AFIM-ESCALA: ALGORITMO MESTRE 3. Desenhe a regio vivel para o problema de Programao No Linear a a ca a min s. a : x1 2x2 x1 + x2 =2 (x2 0,5)2 (x1 1,5)2 + (0,5)2 1. (1,5)2

4. Resolva gracamente o PPL min s. a : x1 x1 + x2 =2 x1 , x2 0,

pelo algoritmo mestre, tomando x0 = [1, 5, 0, 5]T R2 e um critrio e de parada arbitrrio. a 5. Resolva o problema min s. a : 6. Resolva o problema min s. a : x1 2x2 x1 + x2 =2 (x1 1,5)2 (x2 0,5)2 + (0,5)2 1. (1,5)2 x1 2x2 x1 + x2 =0 x2 + x2 1. 1 2

1 2 Aqui xk = [1, 5, 0, 5]T R2 . Assim, quem Xk , Xk e Xk ? e

7. Resolva o problema min s. a : x2 x1 =1 x1 , x2 0.

atravs do subproblema (Pk ), para k = 0, tal que xk = x0 = [1, 1]T . e Qual a soluo tima para o problema (P0 )? E para o problema e ca o original?

Referncias Bibliogrcas e a
[1] K. M. Anstreicher. Linear programming in O((n3 / ln(n))L) operations. SIAM Journal on Optimization Vol. 9, N. 4, pp. 803-812, 1999. [2] A. Arbel. Exploring Interior-Point Linear Programming: Algorithms and Software. Foundations of Computing Series, MIT Press, 1993. [3] E. R. Barnes. A variation on Karmarkars algorithm for solving Linear Programming problems. Mathematical Programming 36 (1986) 174-182. [4] D. Bayer e J. C. Lagarias. The nonlinear geometry of linear programming, I. Ane and projective scaling trajectories, II. Legendre transform coordinates and central trajectories. Trans. Amer. Math. Soc. 314 (1989), 499-581. [5] M. S. Bazaraa, J. J. Jarvis e H. D. Sherali. Linear Programming and Network Flows. 2a edio, John Wiley & Sons, 1990. ca [6] M. S. Bazaraa, H. D. Sherali e C. M. Shetty. Nonlinear Programming: Theory and Algorithms. 2a edio, John Wiley & Sons, 1993. ca [7] E. M. L. Beale. Cycling in the dual simplex algorithm. Naval Research Logistics Quarterly 2, 269-275, 1955. [8] R. E. Bixby, J. W. Gregory, I. J. Lustig, R. E. Marsten e D. F. Shanno. Very large-scale linear programming: a case study in combining interior point and simplex methods. Operations Research Vol. 40, n. 5, 885-897, 1992. [9] R. G. Bland. New nite pivoting rules for the simplex method. Mathematics of Operations Research Vol. 2, n. 2, 103-107, 1977. 119

120

REFERENCIAS BIBLIOGRAFICAS

[10] J. L. Boldrini, S. I. R. Costa, V. L. Figueiredo e H. G. Wetzler. Algebra a Linear. 3 edio, Harbra, 1984. ca [11] P. F. Bregalda, A. A. F. de Oliveira e C. T. Bornstein. Introduo ` ca a Programao Linear. 3a edio, Campus, 1988. ca ca [12] A. Cobham. The Intrinsic Computational Diculty of Functions. Em Proc. Int. Cong. Logic Methodology, ed. Bar-Hillel, North Holland, 24-30 (1964). [13] G. B. Dantzig. Maximization of a linear function of variables subject to linear inequalities. Activity Analysis of Production and Allocation, ed. T. C. Koopmans, John Wiley, 339-347, 1951. [14] G. B. Dantzig. Linear Programming and Extensions. Princeton University Press, 10a ed., 1993. [15] I. I. Dikin. Iterative solution of problems of linear and quadratic programming. Soviet Math. Dokl. 8 (1967) 674-675. [16] I. I. Dikin. On the convergence of an iterative process. Upravlyaemye Sistemy 12 (1974) 54-60. (Em Russo.) [17] J. Edmonds. Paths, Trees and Flowers. Canad. J. Math. 17, 449-467 (1965). [18] S.-C. Fang e S. Puthenpura. Linear Optimization and Extensions: theory and algorithms. Prentice Hall, 1993. [19] M. C. Goldbarg e H. P. L. Luna. Otimizao Combinatria e Proca o gramao Linear: Modelos e Algoritmos. Campus, 2000. ca [20] D. Goldfarb e J. K. Reid. A practicable steepest-edge simplex algorithm. Mathematical Programming 12 (1977) 361-371. [21] D. Goldfarb e M. J. Todd. Linear Programming. G. L. Nemhauser et al. editores, Handbooks in OR & MS, Vol. 1, Cap tulo II, Elsevier Science Publishers, 1989. [22] C. C. Gonzaga. An algorithm for solving linear programming problems in O(n3 L) operations. Editado por N. Megiddo, Progress in Mathematical Programming: Interior Point and Related Methods, Springer Verlag, Cap. 1, 1989.

REFERENCIAS BIBLIOGRAFICAS

121

[23] C. C. Gonzaga. Algoritmos de Pontos Interiores para Programao Lica o near. 17 Colquio Brasileiro de Matemtica, IMPA/CNPq, Minicurso, o a 1989. [24] C. C. Gonzaga. On lower bound updates in primal potential reduction methods for linear programming. Mathematical Programming 52 (1991) 415-428. [25] C. C. Gonzaga. Path-following methods for linear programming. SIAM Review Vol. 34, N. 2, 167-224, 1992. [26] C. C. Gonzaga. On the Complexity of Linear Programming. Resenhas IME-USP, 1995, Vol. 2, N. 2, 197-207. [27] J.-B. Hiriart-Urruty e C. Lemarchal. Convex Analysis and Minimizae tion Algorithms I. Springer-Verlag, 1993. [28] N. Karmarkar. A new polynomial time algorithm for linear programming. Combinatorica 4 (1984) 373-395. [29] L. G. Khachiyan. A polynomial algorithm in linear programming. Soviet Mathematics Doklady, 20:191-194, 1979. [30] L. G. Khachiyan. Polynomial algorithms in linear programming. U.S.S.R. Comput. Maths. Math. and Phys. Vol. 20, N. 1, 53-72, 1980. [31] V. Klee e G. J. Minty. How Good is the Simplex Algorithm?. Em Inequalities III, ed. O. Shisha, Academic Press, 159-175, 1972. [32] M. Kojima, N. Megiddo e S. Mizuno. A primal-dual infeasible-interiorpoint for linear programming. Mathematical Programming 61 (1993) 263-280. [33] E. L. Lima. Curso de Anlise. Volume 2, Projeto Euclides, a IMPA/CNPq, 1981. [34] I. J. Lustig, R. E. Marsten e D. F. Shanno. Computational experience with a primal-dual interior point method for linear programming. Linear Algebra and its Applications 152 (1991) 191-222. [35] H. V. Machado. Programao Linear. 10o Colquio Brasileiro de ca o Matemtica, Poos de Caldas/MG, 1975. a c

122

REFERENCIAS BIBLIOGRAFICAS

[36] N. Maculan e M. V. F. Pereira. Programao Linear. Atlas, 1980. ca [37] N. Maculan. Programao Linear: Mtodo do Simplex. Notas de aula ca e em 1998. [38] R. E. Marsten, R. Subramanian, M. Saltzman, I. J. Lustig e D. F. Shanno. Interior point methods for linear programming: Just call Newton, Lagrange, and Fiacco and McCormick!. Interfaces 20 (1990) 105116. [39] C. A. de J. Martinhon. Programao Linear e Algoritmos de Pontos ca Interiores: uma introduo. VI Semana do Instituto de Matemtica e ca a F sica da UFG (Minicurso), 27 pginas, 1991. a [40] N. Megiddo. Pathways to the optimal set in linear programming. Editado por N. Megiddo, Progress in Mathematical Programming: Interior Point and Related Methods, Springer Verlag, Cap. 8, 1989. [41] M. A. F. Menezes e R. Vieira. Um prottipo parcial para um sistema o de raes para bovinos. II Encontro de Matemtica Aplicada e Comco a putacional em Bras lia, 2001. [42] M. A. F. Menezes. Um algoritmo de ponto-interior-invivel com a co ca complexidade O( nL) iteraes para programao linear. Tese de Doutorado pela COPPE/UFRJ, defendida sob a orientao do Proca fessor Clvis C. Gonzaga em 1998. o [43] S. Mizuno. Polynomiality of infeasible-interior-point algorithms for linear programming. Mathematical Programming 67 (1994) 109-119. [44] K. G. Murty. Linear Programming. John Wiley & Sons, 1983. [45] A. A. Namen e C. T. Bornstein. Uma ferramenta para avaliao de ca resultados de diversos modelos de otimizao de dietas. Pesquisa Oca peracional, v. 24, n. 3, p. 445-465, 2004. [46] G. L. Nemhauser e L. A. Wolsey. Integer and Combinatorial Optimization. John Wiley & Sons, 1988. [47] Y. Nesterov. An old and new approach to nonlinear programming. Mathematical Programming 79 (1997) 285-297.

REFERENCIAS BIBLIOGRAFICAS

123

[48] F. Potra. An infeasible-interior-point predictor-corrector algorithm for linear programming. SIAM Journal on Optimization Vol. 6, N. 1, pp. 19-32, 1996. [49] F. Potra. A quadratically convergent predictor-corrector method for solving linear programs from infeasible starting points. Mathematical Programming 67 (1994) 383-406. [50] A. Ravindran, D. T. Phillips e J. J. Solberg. Operations Research: principles and practice. 2a edio, John Wiley and Sons, 1987. ca [51] J. Renegar. A polynomial-time algorithm, based on Newtons method, for linear programming. Mathematical Programming 40 (1988) 59-93. [52] R. Saigal. Linear Programming: A Modern Integrated Analysis. Kluwer Academic Publishers, 1995. [53] R. Shamir. The eciency of the simplex method: a survey. Management Science 33, 301-334, 1987. [54] N. Z. Shor. Utilization of the operation of space dilation in the minimization of convex functions. Kibernetika, N. 1, 6-12, 1970 (traduzido em Cybernetics 6 (1970) 7-15). [55] G. Strang. Linear Algebra and its Applications. 3a edio, Harcourt ca Brace Jovanovich, 1988. [56] M. J. Todd. Potential-reduction methods in mathematical programming. Mathematical Programming 76 (1996) 3-45. [57] P. Vaidya. An algorithm for linear programming which requires O(((m+ n)n2 + (m + n)1.5 n)L) arithmetic operations. Mathematical Programming 47 (1990) 175-201. [58] R. J. Vanderbei, M. S. Meketon e B. A. Freedman. A Modication of Karmarkars Linear Programming Algorithm. Algorithmica 1 (1986) 395-407. [59] R. J. Vanderbei e J. C. Lagarias. I. I. Dikins Convergence Result for the Ane-Scaling Algorithm. Contemporary Mathematics, Vol. 114, pp. 109-119, 1990.

124

REFERENCIAS BIBLIOGRAFICAS

[60] J. von Neumann. A certain Zero-Sum Two-Person Game Equivalent to the Optimal Assignment Problem. Em Contributions to the Theory of Games II, ed. H. W. Kuhn e A. W. Tucker. Princeton U. Press, 1953. [61] Y. Ye. An O( nL)-Iteration Combined Phase I-Phase II Potential Reduction Algorithm for Linear Programming. Department of Management Sciences, The University of Iowa, Iowa City, Iowa, 1992. [62] Y. Ye, M. J. Todd e S. Mizuno. An O( nL)-iteration homogeneous and self-dual linear programming algorithm. Mathematics of Operations Research, Vol. 19, N. 1, 53-67, 1994. [63] D. B. Yudin e A. S. Nemirovskii. Informational complexity and ecient methods for the solution of convex extremal problems. Ekonomika Matematicheskie Metody 12, N. 2, 357-369, 1976 (traduzido em Matekon 13 (1977) 25-45). [64] Y. Zhang. On the convergence of a class of infeasible interior-point methods for the horizontal linear complementarity problem. SIAM Journal on Optimization Vol. 4, N. 1, pp. 208-227, 1994.

Você também pode gostar