12.07.2015 Views

Programaç˜ao Linear - Notas de aula - CEUNES

Programaç˜ao Linear - Notas de aula - CEUNES

Programaç˜ao Linear - Notas de aula - CEUNES

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

Programação <strong>Linear</strong> - <strong>Notas</strong> <strong>de</strong> <strong>aula</strong>Leonardo Delarmelina SecchinSão Mateus, 2012


SumárioI Revisão 41 Matrizes 51.1 Operações usuais com matrizes . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Matrizes inversíveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.3 Notação em blocos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 Sistemas <strong>Linear</strong>es 102.1 Operações e matrizes elementares . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2 Resolução <strong>de</strong> sistemas lineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.3 Um processo para inversão <strong>de</strong> matrizes . . . . . . . . . . . . . . . . . . . . . . . 152.4 Operações elementares sobre colunas . . . . . . . . . . . . . . . . . . . . . . . . 152.5 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 163 Determinantes 183.1 Desenvolvimento <strong>de</strong> Laplace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 203.2 Proprieda<strong>de</strong>s dos <strong>de</strong>terminantes . . . . . . . . . . . . . . . . . . . . . . . . . . . 213.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 224 Espaços Vetoriais 244.1 Subespaços vetoriais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 244.2 Combinação linear . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 254.3 Dependência e in<strong>de</strong>pendência linear . . . . . . . . . . . . . . . . . . . . . . . . . 264.4 Base e dimensão <strong>de</strong> um espaço vetorial . . . . . . . . . . . . . . . . . . . . . . . 264.5 Produto interno e norma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 284.6 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28II Programação <strong>Linear</strong> 335 Introdução 345.1 Manipulação <strong>de</strong> problemas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.1.1 Restrições . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 355.1.2 Restrições <strong>de</strong> não negativida<strong>de</strong> . . . . . . . . . . . . . . . . . . . . . . . . 365.1.3 Problema <strong>de</strong> maximização . . . . . . . . . . . . . . . . . . . . . . . . . . 365.1.4 Formas padrão e canônica . . . . . . . . . . . . . . . . . . . . . . . . . . 365.1.5 Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 375.2 Exemplos <strong>de</strong> mo<strong>de</strong>los em programação linear . . . . . . . . . . . . . . . . . . . . 385.3 Resolução geométrica <strong>de</strong> problemas <strong>de</strong> programação linear . . . . . . . . . . . . 425.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 445.5 <strong>Notas</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 441


SUMÁRIO 26 Elementos <strong>de</strong> Análise Convexa 456.1 Conjuntos convexos, pontos extremos, semi-espaços e direções . . . . . . . . . . 456.2 Funções convexas e côncavas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 486.3 Conjuntos poliedrais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 496.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 527 O Método Simplex 537.1 Pontos extremos e otimalida<strong>de</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 537.2 Soluções básicas viáveis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 547.3 Critério <strong>de</strong> otimalida<strong>de</strong> para soluções básicas viáveis . . . . . . . . . . . . . . . . 567.4 Melhorando uma solução básica viável . . . . . . . . . . . . . . . . . . . . . . . 587.5 Otimalida<strong>de</strong> e ilimitabilida<strong>de</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . 617.6 O método Simplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 637.7 O método Simplex em formato <strong>de</strong> Quadro . . . . . . . . . . . . . . . . . . . . . 647.8 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 697.9 Uma implementação básica do Simplex . . . . . . . . . . . . . . . . . . . . . . . 697.9.1 Preâmbulo do código . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 707.9.2 A função principal . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 717.9.3 Entrada/saída <strong>de</strong> variáveis e processo <strong>de</strong> pivoteamento . . . . . . . . . . 747.9.4 Impressão do QS na tela . . . . . . . . . . . . . . . . . . . . . . . . . . . 767.9.5 Funções auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 778 Método Simplex: inicialização e ciclagem 788.1 Método <strong>de</strong> Duas Fases . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 788.1.1 Organizando as Fases I e II no mesmo quadro . . . . . . . . . . . . . . . 828.2 Degeneração: ciclagem no Simplex . . . . . . . . . . . . . . . . . . . . . . . . . 848.2.1 Regra <strong>de</strong> Bland . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 868.3 Degeneração: Método <strong>de</strong> Duas Fases . . . . . . . . . . . . . . . . . . . . . . . . 878.4 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 918.5 <strong>Notas</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 919 O Simplex Revisado 929.1 Comparação entre o Simplex e o Simplex Revisado . . . . . . . . . . . . . . . . 959.2 Outras observações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9610 Dualida<strong>de</strong> 9810.1 O dual <strong>de</strong> um problema <strong>de</strong> programação linear . . . . . . . . . . . . . . . . . . . 9810.2 Relações entre os problemas primal e dual . . . . . . . . . . . . . . . . . . . . . 10110.3 Condições <strong>de</strong> otimalida<strong>de</strong> <strong>de</strong> Karush-Kuhn-Tucker (KKT) . . . . . . . . . . . . 10310.3.1 Condições KKT para restrições <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong> . . . . . . . . . . . . . . 10310.3.2 Condições KKT para restrições <strong>de</strong> igualda<strong>de</strong> . . . . . . . . . . . . . . . . 10410.3.3 Interpretação geométrica das condições KKT . . . . . . . . . . . . . . . . 10410.4 O Simplex Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10610.4.1 Interpretação da viabilida<strong>de</strong> dual no quadro simplex primal . . . . . . . . 10610.4.2 O método Simplex Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . 10710.5 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11010.6 <strong>Notas</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 110


SUMÁRIO 311 Análise <strong>de</strong> Sensibilida<strong>de</strong> 11111.1 Análise <strong>de</strong> sensibilida<strong>de</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11111.1.1 Alterando o vetor <strong>de</strong> custos c . . . . . . . . . . . . . . . . . . . . . . . . 11211.1.2 Alterando b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11311.1.3 Alterando a matriz A das restrições . . . . . . . . . . . . . . . . . . . . . 11411.1.4 Adicionando uma nova variável <strong>de</strong> <strong>de</strong>cisão . . . . . . . . . . . . . . . . . 11711.1.5 Adicionando uma nova restrição . . . . . . . . . . . . . . . . . . . . . . . 11811.2 Análise paramétrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12311.2.1 Perturbando o vetor <strong>de</strong> custos c . . . . . . . . . . . . . . . . . . . . . . . 12311.2.2 Perturbando b . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12611.3 Exercícios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12712 O Problema do Transporte 12812.1 Proprieda<strong>de</strong>s da matriz <strong>de</strong> restrições . . . . . . . . . . . . . . . . . . . . . . . . 12912.1.1 Posto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12912.1.2 A 0 é totalmente unimodular . . . . . . . . . . . . . . . . . . . . . . . . . 13012.2 Resolução do problema do transporte via Simplex . . . . . . . . . . . . . . . . . 13012.2.1 Obtendo uma base inicial . . . . . . . . . . . . . . . . . . . . . . . . . . 13012.2.2 Obtendo o Quadro Simplex a partir <strong>de</strong> uma base . . . . . . . . . . . . . 13312.3 <strong>Notas</strong> . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 139


Parte IRevisão4


Capítulo 1MatrizesUma matriz A m×n <strong>de</strong> or<strong>de</strong>m m × n é uma tabela <strong>de</strong> números reais dispostos em m linhase n colunas⎡⎤a 11 a 12 · · · a 1na 21 a 22 · · · a 2nA m×n = ⎢⎥⎣ . . · · · . ⎦ = [a ij] m×n.a m1 a m2 · · · a mnDuas matrizes A = [a ij ] m×ne B = [b ij ] r×ssão iguais se m = r, n = s e a ij = b ij para todosi = 1, · · · m e j = 1, · · · , n. Dada uma matriz A = [a ij ] m×n, dizemos que A é• quadrada se m = n. Neste caso, po<strong>de</strong>mos dizer simplesmente que A tem or<strong>de</strong>m n.• matriz nula se a ij = 0 para todos i, j. Denotamos por 0 uma matriz nula.• matriz diagonal se A é quadrada e a ij = 0 sempre que i ≠ j. Os elementos a 11 , a 22 , · · · , a nnconstituem a diagonal principal <strong>de</strong> A. Em particular, a matriz diagonal I n <strong>de</strong> or<strong>de</strong>m ncuja diagonal principal é formada <strong>de</strong> 1’s é chamada matriz i<strong>de</strong>ntida<strong>de</strong>.• matriz triangular superior se A é quadrada e a ij = 0 sempre que i > j.• matriz triangular inferior se A é quadrada e a ij = 0 sempre que i < j.• matriz simétrica se A é quadrada e a ij = a ji para todos i, j.1.1 Operações usuais com matrizesDadas A = [a ij ] m×ne B = [b ij ] m×nmatrizes <strong>de</strong> mesma or<strong>de</strong>m m × n e k ∈ R, <strong>de</strong>finimos asoperações com matrizes:• a soma A + B é a matriz C = [c ij ] m×n<strong>de</strong> or<strong>de</strong>m m × n tal que c ij = a ij + b ij para todosi, j.• a multiplicação por escalar kA é a matriz C = [c ij ] m×n<strong>de</strong> or<strong>de</strong>m m × n tal que c ij = ka ijpara todos i, j.A transposta <strong>de</strong> uma matriz A = [a ij ] m×n é a matriz A t = [a ji ] n×m.Dadas matrizes A, B e C <strong>de</strong> or<strong>de</strong>m m × n e a, b ∈ R, vale:(i) A + B = B + A (comutativida<strong>de</strong>)(ii) A + (B + C) = (A + B) + C5


CAPÍTULO 1. MATRIZES 6(iii) a(bA) = (ab)A(iv) A + 0 m×n = A.(v) a(A + B) = aA + aB(vi) (a + b)A = aA + bA(vii) 0A = 0 m×n (a multiplicação da matriz A pelo escalar 0 é matriz nula)(viii) A é simétrica se, e somente se A t = A.(ix) (A t ) t = A.(x) (A + B) t = A t + B t .(xi) (aA) t = aA t .Agora, dadas A = [a ij ] m×pe B = [b ij ] p×n<strong>de</strong>finimos a multiplicação AB <strong>de</strong> matrizes comoa matriz C = [c ij ] m×ntal quec ij = a i1 b 1j + a i2 b 2j + · · · + a ip b pj =p∑a ik b kj .k=1Exemplo 1.1.1.[A =1 2 3−1 0 2⎡], B = ⎣2×31 0 −1 42 2 1 00 1 0 −1⎤⎦3×4[⇒ AB =5 7 1 1−1 1 1 −5].2×4Exemplo 1.1.2.[ 1 −1A =1 −1] [ 1 −1, B =1 −1]⇒ AB =[ 0 00 0] [ 3 −3, BA =3 −3Isso mostra que em geral AB ≠ BA. Também, observe que mesmo sendo A ≠ 0 e B ≠ 0,po<strong>de</strong>mos ter AB = 0.Sejam A, B e C matrizes. Des<strong>de</strong> que as operações sejam possíveis, vale:(i) AI = IA = A(ii) A(B + C) = AB + AC (distributivida<strong>de</strong>)(iii) (A + B)C = AC + BC (distributivida<strong>de</strong>)(iv) (AB)C = A(BC) (associativida<strong>de</strong>)(v) (AB) t = B t A t(vi) A0 = 0].


CAPÍTULO 1. MATRIZES 71.2 Matrizes inversíveisDada uma matriz quadrada A <strong>de</strong> or<strong>de</strong>m n, dizemos que B é uma inversa <strong>de</strong> A se AB =BA = I n (B é claramente quadrada <strong>de</strong> or<strong>de</strong>m n). Neste caso diremos que A é inversível.Teorema 1.1. Se A admite uma inversa, ela é única.Devido à unicida<strong>de</strong> da inversa, <strong>de</strong>notaremos a inversa <strong>de</strong> A por A −1 . O próximo resultadoé útil para verificar se uma matriz é a inversa <strong>de</strong> outra.Teorema 1.2. Se A é matriz quadrada e B é tal que BA = I (ou AB = I), então A éinversível e A −1 = B.Exemplo 1.2.1. A matriz B = 1 [ ][ ]−4 21 2é a inversa <strong>de</strong> A = . De fato,2 3 −13 4[ ] ( [ ])1 2 1 −4 2AB == 1 [ ] [ ]1 2 −4 2= I3 4 2 3 −1 2 3 4 3 −1 2 .1.3 Notação em blocosÉ comum representar uma matriz A <strong>de</strong> dimensão m × n por blocos <strong>de</strong> matrizes, <strong>de</strong> acordocom o esquema[ ] B CA =D Eon<strong>de</strong> B, C, D e E são matrizes <strong>de</strong> or<strong>de</strong>m compatíveis, digamos, p × q, p × r, s × q e s × r,respectivamente. Usaremos no estudo do método Simplex com frequencia a partiçãoA = [ B N ]on<strong>de</strong> B é matriz quadrada <strong>de</strong> or<strong>de</strong>m m e N matriz m×(n−m) (supomos n ≥ m). As operaçõescom matrizes em blocos são feitas da maneira usual.Teorema 1.3. Sejam[ ] B CA =D E[ ] Be A ′ ′C=′D ′ E ′matrizes. Des<strong>de</strong> que as operações sejam possíveis, então[ ]B + B′C + C(i) A + B =D + D ′ E + E ′[ ] αB αC(ii) αA =,αD αEα ∈ R[ BB(iii) AB =+ CD ′DB ′ + ED ′ ]BC ′ + CE ′DC ′ + EE ′Ativida<strong>de</strong> 1. Ilustre o Teorema anterior com exemplos. Se pu<strong>de</strong>r, prove-o.Exemplo 1.3.1. Seja A = [ B N ] [ ]on<strong>de</strong> B é matriz inversível <strong>de</strong> or<strong>de</strong>m m e N matrizxBm × (n − m), x = on<strong>de</strong> xx B é matriz m × 1 e x N é matriz (n − m) × 1, e b matriz colunaN<strong>de</strong> or<strong>de</strong>m m. EntãoAx = b ⇔ [ B N ] [ ]x B= b ⇔ Bxx B + Nx N = b ⇔ x B = B −1 b − B −1 Nx N .N


CAPÍTULO 1. MATRIZES 81.4 Exercícios1. Mostre que para qualquer matriz A (quadrada ou não), AA t e A t A são matrizes simétricas.2. Sejam A, B matrizes simétricas.(a) Mostre que A + B é simétrica.(b) Mostre que AB é simétrica se, e somente se, BA = AB.(c) Indicamos por X m o produto XX · · · X, on<strong>de</strong> X é multiplicada m vezes. Se p(X) =a k X k + a k−1 X k−1 + · · · + a 1 X + a 0 I n é um polinômio, on<strong>de</strong> X é uma matriz <strong>de</strong> or<strong>de</strong>mn, então p(A) é simétrica? Justifique.3. Seja A uma matriz <strong>de</strong> or<strong>de</strong>m n.(a) Mostre que se A k+1 = 0 para algum inteiro k ≥ 0, então (I−A) −1 = I+A+· · ·+A k .(b) Se A é inversível e AB = AC, mostre que B = C.(c) Dê um exemplo em que A é não nula e AB = AC, mas B ≠ C(e portanto você não po<strong>de</strong> “cortar” a matriz A como faz com números reais).4. Mostre que se A ou B não for inversível então AB também não é (ou equivalentemente,se AB for inversível então A e B também são).5. Seja A uma matriz inversível. Mostre que(a) (A t ) −1 = (A −1 ) t .(b) BA −1 = A −1 B se, e somente se, AB = BA.6. Seja A = [a ij ] uma matriz <strong>de</strong> or<strong>de</strong>m n. O traço <strong>de</strong> A, tr(A), é a soma <strong>de</strong> todos oselementos da diagonal principal, isto é, tr(A) = a 11 + a 22 + · · · + a nn . Mostre que(a) tr(αA) = αtr(A), on<strong>de</strong> α ∈ R.(b) tr(A + B) = tr(A) + tr(B).(c) tr(AB) = tr(BA).(d) tr(A t ) = tr(A).(e) tr(A t A) ≥ 0.7. Mostre que se A e B são matrizes quadradas <strong>de</strong> mesma or<strong>de</strong>m tais que A k = 0 paraalgum inteiro k ≥ 1 e AB = BA, então (AB) k = 0.8. Diz-se que uma matriz quadrada A é nilpotente quando existe um inteiro k ≥ 1 tal queA k = 0. Mostre que qualquer matriz nilpotente não é inversível.9. Mostre que uma matriz diagonal A = [a ij ] <strong>de</strong> or<strong>de</strong>m n tal que a 11 a 22 · · · a nn ≠ 0 éinversível, e calcule sua inversa.10. Sejam A e B matrizes quadradas <strong>de</strong> or<strong>de</strong>m n. Mostre que se Ax = Bx para todas asmatrizes x <strong>de</strong> or<strong>de</strong>m n × 1, então A = B.11. Seja A = [ a 1 · · · a n]matriz m × n, cujas colunas são aj . Mostre queAx =n∑a j x j .j=1


CAPÍTULO 1. MATRIZES 912. SejaA =[ I C0 Don<strong>de</strong> D é inversível. Mostre que A é inversível, com inversa[ ]I −CDA −1 −1=0 D −1 .]


Capítulo 2Sistemas <strong>Linear</strong>esUma equação linear nas variáveis x 1 , . . . , x n é uma equação do tipo a 1 x 1 + · · · + a n x n = bon<strong>de</strong> os a i ’s e b são escalares. Um sistema <strong>de</strong> equações lineares (ou simplesmente um sistemalinear) com m equações e n incógnitas é dado por⎧a 11 x 1 +a 12 x 2 · · · a 1n x n = b 1⎪⎨ a 21 x 1 +a 22 x 2 · · · a 2n x n = b 2(2.1). .. .⎪⎩a m1 x 1 +a m2 x 2 · · · a mn x n = b mUma solução do sistema linear (2.1) é uma lista <strong>de</strong> n números (x 1 , . . . , x n ) que satisfaz cadauma <strong>de</strong> suas m equações. ⎡ ⎤ ⎡ ⎤x 1b 1⎢ ⎥ ⎢ ⎥Tomando A = [a ij ] m×n, x = ⎣ . ⎦ e b = ⎣ . ⎦, po<strong>de</strong>mos escrever o sistema (2.1) nax n b mforma matricialAx = b.Neste caso, A é dita matriz dos coeficientes <strong>de</strong> (2.1); x é dita matriz das incógnitas <strong>de</strong> (2.1) eb é dita matriz dos termos in<strong>de</strong>pen<strong>de</strong>ntes <strong>de</strong> (2.1). Em particular, se b = 0 então o sistemaAx = 0 é dito sistema homogêneo. Consi<strong>de</strong>rando a forma matricial <strong>de</strong> um sistema linear,diremos também que a matriz x 0 é solução do sistema Ax = b se Ax 0 = b.A matriz⎡⎤a 11 a 12 · · · a 1n b 1[ ] a 21 a 22 · · · a 2n b 2A b = ⎢⎥⎣ . . · · · . ⎦a m1 a m2 · · · a mn b mé a matriz ampliada do sistema (2.1).2.1 Operações e matrizes elementaresm×(n+1)Numa matriz A <strong>de</strong> or<strong>de</strong>m m × n, consi<strong>de</strong>ramos três operações sobre suas linhas:(i) troca da linha i com a linha j (i ≠ j). Indicaremos essa operação por L i ↔ L j .(ii) multiplicação da linha i por um número real k ≠ 0 (L i → kL i ).(iii) substituição da linha i pela linha i somada ao múltiplo k da linha j (i ≠ j). Neste casopo<strong>de</strong>-se ter k = 0. Indicaremos essa operação por L i → L i + kL j .10


CAPÍTULO 2. SISTEMAS LINEARES 11As três operações acima são chamadas operações elementares.⎡1⎤0Exemplo 2.1.1. Seja A = ⎣ 4 −1 ⎦.−3 2• realizemos a operação elementar L 1 ↔ L 2 sobre A:⎡1⎤0⎡A = ⎣ 4 −1 ⎦ → A 1 = ⎣−3 2• realizemos a operação elementar L 3 → 2L 3 sobre A 1 :⎡4⎤−1⎡A 1 = ⎣ 1 0 ⎦ → A 2 = ⎣−3 24 −11 0−3 24 −11 0−6 4• realizemos a operação elementar L 2 → L 2 + 3L 1 sobre A 2 :⎡4⎤−1⎡4 −1A 2 = ⎣ 1 0 ⎦ → C = ⎣ 13 −3−6 4−6 4Definição 2.1. Sejam A e C matrizes <strong>de</strong> mesma or<strong>de</strong>m. Dizemos que C é linha equivalenteà A se C po<strong>de</strong> ser obtida <strong>de</strong> A pela aplicação <strong>de</strong> finitas operações elementares.Assim, as matrizes C do exemplo anterior é linha equivalente à matriz A do mesmo exemplo.Diremos que dois sistemas lineares Ax = b e Cx = d que possuem as mesmas soluções sãoequivalentes. Nesse contexto, temos oTeorema 2.2. Dois sistemas lineares cujas matrizes ampliadas são linha equivalentes são equivalentes.⎤⎦ .⎤⎦ .⎤⎦ .Exemplo 2.1.2. Consi<strong>de</strong>re o sistema linear⎧⎨ 2x 1 +4x 2 +2x 3 = 6S : −x 1 +x 3 = −2⎩x 1 +x 2 −x 3 = 3.Apliquemos operações elementares em sua matriz ampliada:⎡⎤ ⎡2 4 2 6 L 3 →L 3 +L 2 1 2 1 3L⎣ −1 0 1 −2 ⎦ 1 →1/3L 1−−−−−−→ ⎣ −1 0 1 −21 1 −1 30 1 0 1⎡⎣⎡⎣1 2 1 30 2 2 10 1 0 1⎤1 0 1 10 1 0 10 0 1 −1/2⎦ L 1→L 1 −2L 3L 2 →L 2 −23L 3⎡−−−−−−−−→ ⎣⎤⎡⎦ L 1→L 1 −L−−−−−−→3⎣1 0 1 10 0 2 −10 1 0 1⎤⎦1 0 0 3/20 1 0 10 0 1 −1/2⎤⎦ L 2→L 2 +L 1−−−−−−→L 2 →1/2L 2L 2 ↔L 3−−−−−−→⎤⎦ = [ C d ] .


CAPÍTULO 2. SISTEMAS LINEARES 12O sistema Cx = d dado por⎧⎨⎩x 1 = 3/2x 2 = 1x 3 = −1/2é equivalente ao sistema original S, e claramente tem única solução (3/2, 1, −1/2). Portanto Stem esse terno como única solução.A última matriz [ C d ] do exemplo anterior tem uma forma interessante pois o sistemaassociado é <strong>de</strong> fácil resolução. A fim <strong>de</strong> resolver sistemas lineares <strong>de</strong> uma forma geral, procuraremosformalizar a estrutura <strong>de</strong>ssa matriz.Definição 2.3. Uma matriz A <strong>de</strong> or<strong>de</strong>m m × n é matriz linha reduzida à forma escada(MLRFE) satisfaz as seguintes proprieda<strong>de</strong>s:(i) O primeiro elemento não nulo (da esquerda para a direita) <strong>de</strong> uma linha não nula é 1(esse é o elemento lí<strong>de</strong>r da linha);(ii) Cada coluna que contém o lí<strong>de</strong>r <strong>de</strong> alguma linha tem todos os seus outros elementos nulos;(iii) Toda linha nula ocorre abaixo das linhas não nulas;(iv) Se as linhas 1, 2, . . . , r são as linhas não nulas <strong>de</strong> A, e se o lí<strong>de</strong>r da linha i ocorre nacoluna k i , i = 1, . . . , r, então k 1 < k 2 < · · · < k r (forma escada).Exemplo 2.1.3. São matrizes linha reduzidas à forma escada:⎡1 0 0⎤3/2⎡0 1 2 0⎤3• ⎣ 0 1 0 1 ⎦ • ⎣ 0 0 0 1 −1 ⎦0 0 1 −1/20 0 0 0 0• I n• 0 m×nTeorema 2.4. Toda matriz A é linha equivalente a uma única matriz linha reduzida à formaescada.Relacionaremos agora operações elementares com produtos <strong>de</strong> matrizes.Definição 2.5. Uma matriz A quadrada <strong>de</strong> or<strong>de</strong>m n é dita elementar se po<strong>de</strong> ser obtida dai<strong>de</strong>ntida<strong>de</strong> I n por uma única operação elementar.Exemplo 2.1.4. São exemplos <strong>de</strong> matrizes elementares:⎡0 1⎤0• E = ⎣ 1 0 0 ⎦ (L 1 ↔ L 2 em I 3 )0 0 1[ ] 2 0• E = (L0 1 1 → 2L 1 em I 2 )⎡1 2⎤0• E = ⎣ 0 1 0 ⎦ (L 1 ↔ L 1 + 2L 2 em I 3 )0 0 1Quando conveniente, <strong>de</strong>notaremos por e(A) a matriz resultante da aplicação da operaçãoelementar e sobre a matriz A.


CAPÍTULO 2. SISTEMAS LINEARES 13Teorema 2.6. Seja e uma operação elementar e E = e(I m ) a matriz elementar correspon<strong>de</strong>nte.Então para toda matriz A <strong>de</strong> or<strong>de</strong>m m × n temose(A) = EA.Demonstração. Deixamos a prova do resultado para as operações L i ↔ L j e L i → kL i para oleitor. Seja e a operação L i → L i + kL j (i ≠ j). Sem perda <strong>de</strong> generalida<strong>de</strong>, vamos supor quei = 1 e j = 2. Assim⎡⎤ ⎡1 k 0 · · · 00 1 0 · · · 0EA = ⎢⎥ ⎢⎣ . . . · · · . ⎦ ⎣0 0 0 · · · 1⎡= ⎢⎣⎤a 11 a 12 a 13 · · · a 1na 21 a 22 a 23 · · · a 2n⎥. . . · · · . ⎦a m1 a m2 a m3 · · · a mn⎤a 11 + ka 21 a 12 + ka 22 a 13 + ka 23 · · · a 1n + ka 2na 21 a 22 a 23 · · · a 2n⎥. . . · · · .a m1 a m2 a m3 · · · a mn⎦ = e(A).Ativida<strong>de</strong> 2. Complete a prova do teorema anterior.Em outras palavras, o Teorema 2.6 diz que aplicar uma operação elementar em A é o mesmoque multiplicar A a esquerda pela matriz elementar correspon<strong>de</strong>nte.Cada matriz elementar é inversível, e sua inversa é a matriz elementar correspon<strong>de</strong>nte àoperação que <strong>de</strong>sfaz a original:• a operação L i → 1L k i <strong>de</strong>sfaz a operação L i → kL i . Assim por exemplo, se E =[ ] 1 0então E −1 =(verifique este fato constatando que EE0 1/k−1 = I 2 ).[ 1 00 k• a[operação]L i → L j <strong>de</strong>sfaz a própria operação L i → L j . Assim por exemplo, se E =0 1então E1 0−1 = E (verifique!).• a operação[L] i → L i − kL j [<strong>de</strong>sfaz a]operação L i → L i + kL j . Assim por exemplo, se1 0E = então E2 1−1 1 0=(verifique!).−2 1Uma consequência imediata do Teorema 2.6 é a seguinte:Corolário 2.7. Sejam A e B matrizes <strong>de</strong> mesma or<strong>de</strong>m. Então B é linha equivalente a A se,e somente se B = E k E k−1 · · · E 2 E 1 A para certas matrizes elementares E 1 , . . . , E k .[ ] [ ]1 2 9 18Exemplo 2.1.5. Mostre que são linha equivalentes as matrizes A = e B = .3 6 6 12Vamos calcular a MLRFE <strong>de</strong> A:[ ] [ ][ ]1 2 L 2 →1/3L 2 1 2 LA = −−−−−−→2 →L 2 −L 1 1 2−−−−−−→ C = .3 61 20 0[ ] [ ]1 01 0Observe que, sendo E 1 =e E0 1/3 2 =as matrizes elementares correspon<strong>de</strong>ntesàs operações realizadas, temos−1 1C = E 2 E 1 A.]


CAPÍTULO 2. SISTEMAS LINEARES 14Agora, calculemos a MLRFE <strong>de</strong> B:[ ] [ ] [ 9 18 L 1 →1/9L 1 1 2 L 2 →1/6L 2 1 2B = −−−−−−→ −−−−−−→6 126 121 2[ ] [ ]1/9 01 0Sendo E 3 =e E0 1 4 =temos0 1/6C = E 2 E 4 E 3 B,][L 2 →L 2 −L−−−−−−→1 1 20 0]= C.e assim E 2 E 4 E 3 B = E 2 E 1 A ⇒ E 4 E 3 B = E −12 E 2 E 1 A ⇒ · · · ⇒ B = E −13 E −14 E 1 A. PeloCorolário anterior, B é linha equivalente à A.Em particular, se B é matriz quadrada <strong>de</strong> or<strong>de</strong>m n, linha equivalente à I n , então B =E k · · · E 1 I n . O produto E k · · · E 1 = A é inversível com inversa A −1 = E −11 · · · E −1k(verifique!).Assim, B = AI n ⇒ A −1 B = I n , e B é inversível com inversa B −1 = A −1 = E −11 · · · E −1k .Concluímos então que se B é linha equivalente à I n (ou equivalentemente, se B é produto <strong>de</strong>matrizes elementares) então B é inversível.A recíproca <strong>de</strong>ste fato também é verda<strong>de</strong>ira (Exercício 11). Resumindo esse fato e consi<strong>de</strong>randoo Corolário 2.7, temos oTeorema 2.8. Seja A uma matriz quadrada <strong>de</strong> or<strong>de</strong>m n. São equivalentes as afirmações:(i) A é inversível.(ii) A é linha equivalente à I n .(iii) A = E k · · · E 1 , para certas matrizes elementares E 1 , . . . , E k .2.2 Resolução <strong>de</strong> sistemas linearesDefinição 2.9. Dada uma matriz A <strong>de</strong> or<strong>de</strong>m m × n, seja B sua MLRFE. Então o posto <strong>de</strong>A é o número <strong>de</strong> linhas não nulas <strong>de</strong> B. A nulida<strong>de</strong> <strong>de</strong> A é o número n − p, on<strong>de</strong> p é o posto<strong>de</strong> A.⎡ ⎤⎡⎤2 −1 31 0 14/9Exemplo 2.2.1. Seja A = ⎢ 1 4 2⎥⎣ 1 −5 1 ⎦ . A MLRFE <strong>de</strong> A é a matriz B = ⎢ 0 1 1/9⎥⎣ 0 0 0 ⎦ ,4 16 80 0 0e portanto o posto <strong>de</strong> A é 2, e a nulida<strong>de</strong> <strong>de</strong> A é 3 − 2 = 1.⎡Exemplo 2.2.2. Seja A = ⎣2 1 41 2 31 −4 −1e portanto o posto <strong>de</strong> A é 2, e a nulida<strong>de</strong> <strong>de</strong> A é 3 − 2 = 1.⎤⎦. A MLRFE <strong>de</strong> A é a matriz B = ⎣⎡1 0 5/30 1 2/30 0 0Teorema 2.10. Seja Ax = b um sistema linear, com m equações e n incógnitas (A tem or<strong>de</strong>mm × n). Então(i) Ax = b admite solução se, e somente se, o posto da matriz ampliada [ Aao posto da matriz dos coeficientes A.⎤⎦,b ] é igual(ii) Se A e [ Ab ] têm mesmo posto p = n então Ax = b tem única solução.(iii) Se A e [ A b ] têm mesmo posto p < n então Ax = b tem infinitas soluções. Dizemosneste caso que a nulida<strong>de</strong> <strong>de</strong> A é o grau <strong>de</strong> liberda<strong>de</strong> <strong>de</strong> Ax = b.


CAPÍTULO 2. SISTEMAS LINEARES 152.3 Um processo para inversão <strong>de</strong> matrizesSabemos que uma matriz quadrada A é inversível se, e somente se A = E −11 · · · E −1k, on<strong>de</strong>E −11 , . . . , E −1ksão matrizes elementares. Neste caso,E k · · · E 1 A = I e A −1 = E k · · · E 1 I.Assim, aplicando as operações elementares relativas às matrizes elementares E 1 , . . . , E k sobre[A I], obtemos a sequência[A I] E1−→[E1 A E 1 I ] E 2−→ · · ·E k−→[Ek · · · E 1 A E k · · · E 1 I ] = [ I A −1 ] .Em outras palavras, A é inversível se, e somente se [ Amatriz [ I S ] , e neste caso A −1 = S.I ] é linha equivalente a umaExemplo 2.3.1. Calcular a inversa <strong>de</strong> cada matriz abaixo, se existir.⎡1 0⎤1(a) A = ⎣ −1 2 1 ⎦.0 2 0[A I3]=⎡⎣1 0 1 1 0 0−1 2 1 0 1 00 2 0 0 0 1L 2 →−L 2⎡L 1 ↔L 2L 2 ↔L−−−−−→3⎣Logo A −1 = 1 ⎣2[(b) B =1 2−2 −4⎡⎤⎦ L 2→L 2 −L 3L 1 →L 1 +L 2⎡−−−−−−→ ⎣1 0 −1 0 −1 10 2 0 0 0 10 0 2 1 1 −11 −1 10 0 11 1 −1].⎤⎦.0 0 2 1 1 −1−1 0 1 0 1 −10 2 0 0 0 1⎤ L 2 →1/2L 2 ⎡L 3 →1/2L 3L⎦ 1 →L 1 +L−−−−−−→3⎣⎤⎦1 0 0 1/2 −1/2 1/20 1 0 0 0 1/20 0 1 1/2 1/2 −1/2⎤⎦ .[B I2]=[1 2 1 0−2 −4 0 1Observe que a MLRFE <strong>de</strong> B é a matriz][ 1 20 0[L 2 →L 2 +2L−−−−−−−→1 1 2 1 00 0 2 1].]≠ I 2 , e daí B não é inversível.2.4 Operações elementares sobre colunasSejam A uma matriz e E uma matriz elementar. Vimos que a multiplicação EA correspon<strong>de</strong>à aplicação da operação elementar <strong>de</strong> E sobre as linhas <strong>de</strong> A. Se ao invés disso fizermosAE,o resultado será a aplicação da operação elementar <strong>de</strong> E sobre as colunas <strong>de</strong> A. Ou seja,realizamos uma das operações sobre A:


CAPÍTULO 2. SISTEMAS LINEARES 16• trocamos colunas;• multiplicamos uma coluna por um escalar não nulo; ou• somamos à uma coluna um múltiplo <strong>de</strong> outra.Observe que a matriz E acima é a mesma <strong>de</strong>finida anteriormente, obtida da i<strong>de</strong>ntida<strong>de</strong> pelaaplicação <strong>de</strong> uma operação sobre suas linhas.2.5 Exercícios1. Mostre que se A é inversível e B é linha equivalente à A então B também é inversível.2. Consi<strong>de</strong>re a matriz[A =1 0−5 2](a) Encontre matrizes elementares E 1 e E 2 tais que E 2 E 1 A = I 2 .(b) A partir do item anterior, escreva A e A −1 como produto <strong>de</strong> matrizes elementares.3. Mostre que A e B são matrizes linha equivalentes.[ ] [ ]4 1 1 0(a) A = , B =3 1 0 1[ ] [ ]1 2 2 1(b) A = , B =3 4 0 3⎡ ⎤ ⎡ ⎤2 1 41 0 0(c) A = ⎣ 0 2 3 ⎦, B = ⎣ −1 4 0 ⎦0 0 42 3 44. Encontre a inversa <strong>de</strong> cada matriz se possível.⎡1 1⎤0⎡1 2⎤2(a) ⎣ 0 1 1 ⎦(c) ⎣ 0 1 2 ⎦1 0 21 3 4(b)⎡⎣1 2 10 1 21 1 1⎤⎦(d)⎡⎣1 1 −12 1 13 −1 1⎤⎦(e)⎡⎢⎣1 2 −3 1−1 3 −3 −22 0 1 13 1 −2 3⎤⎥⎦5. Calcule o posto e a nulida<strong>de</strong> das matrizes abaixo, encontrando a matriz linha reduzida àforma escada <strong>de</strong> cada matriz.⎡1 −2⎤3⎡1 −1 1⎤0(a) ⎣ 2 2 1 ⎦(c) ⎣ 2 3 −1 1 ⎦2 −4 60 2 4 2(b)⎡⎢⎣1 2 1 2−1 1 1 11 0 1 03 1 −1 3⎤⎥⎦(d)⎡⎢⎣2 1 −10 3 1−1 2 14 1 16. Mostre que se x 0 é uma solução do sistema Ax = 0 e x 1 é uma solução <strong>de</strong> Ax = b entãox 0 + x 1 é solução <strong>de</strong> Ax = b.⎤⎥⎦


CAPÍTULO 2. SISTEMAS LINEARES 177. Mostre que se x 1 e x 2 são soluções <strong>de</strong> Ax = b então x 1 − x 2 é solução <strong>de</strong> Ax = 0.8. Admitindo que Ax = b e Ax = 0 tenham solução, mostre que toda solução x <strong>de</strong> Ax = bé a soma <strong>de</strong> uma solução do seu sistema homogêneo associado Ax = 0 com uma soluçãoparticular x 1 <strong>de</strong> Ax = b.9. Diga se os sistemas abaixo tem única, infinitas ou nenhuma solução analisando os postos<strong>de</strong> suas matrizes. Então resolva-os, se for o caso.⎧⎧⎨⎨(a)⎩⎧⎨(b)⎩(c)(d)(e)(k)⎧⎨⎩⎧⎪⎨⎪⎩⎧⎪⎨⎪⎩⎧⎪⎨⎪⎩2x −y +z = 02y +z = 1x +y +2z = 3−x −y +z = 02x +y +z = 15x +4y −2z = 1x +y +2z = 8−x −2y +3z = 13x −7y +4z = 103x +2y −z = −155x +3y +2z = 03x +y +3z = 1111x +7y = −303x 1 +4x 2 −x 3 +2x 4 = 22x 1 −2x 2 +x 3 −3x 4 = 5−x 1 +3x 2 +2x 3 −x 4 = 32x 1 +7x 2 +x 3 +x 4 = −1(f)⎩⎧⎨(g)⎩⎧⎨(h)⎩(i)(j)⎧⎪⎨⎪⎩⎧⎪⎨x 1 +3x 2 −2x 3 +2x 5 = 02x 1 +6x 2 −5x 3 −2x 4 +4x 5 −3x 6 = −15x 3 +10x 4 +15x 6 = 52x 1 +6x 2 +8x 4 +4x 5 +18x 6 = 6⎪⎩x +y +z = 2x −y +z = 2x +2y +z = −1−2x +y +z = 1x −2y +z = 1x +y −2z = 1−x +y +2z = 12x −y −z = 13x +2y −z = 2−x +y +2z = 12x −y −z = 13x −2y −3z = 0x +z = 2x 1 +2x 2 −x 3 +2x 4 = −13x 1 −x 2 +2x 3 −5x 4 = 54x 1 +x 2 +x 3 −3x 4 = 47x 1 +3x 3 −8x 4 = 910. Encontre um polinômio p(x) = a 3 x 3 + a 2 x 2 + a 1 x + a 0 que passe pelos pontos (−2, 24),(−1, 24), (1, 60) e (2, 12).11. Se A é uma matriz inversível, mostre que A é produto <strong>de</strong> matrizes elementares.12. Expresse cada matriz como produto <strong>de</strong> matrizes elementares.[ ][ ]1 23 −6(a)(b)3 4−2 4(c)⎡⎣1 2 00 1 33 8 7⎤⎦13. Mostre que a equivalência por linhas entre matrizes é uma relação <strong>de</strong> equivalência, istoé, as três afirmações abaixo são verda<strong>de</strong>iras:• Toda matriz A é linha equivalente a ela mesma (reflexivida<strong>de</strong>);• Se A é linha equivalente a B, então B é linha equivalente a A (simetria);• Se A é linha equivalente a B e B é linha equivalente a C, então A é linha equivalentea C (transitivida<strong>de</strong>).


Capítulo 3DeterminantesDada uma matriz A = [a ij ] quadrada <strong>de</strong> or<strong>de</strong>m ≤ 3, associamos um número real <strong>de</strong>t A,chamado <strong>de</strong>terminante <strong>de</strong> A, <strong>de</strong>finido como segue:Matrizes <strong>de</strong> or<strong>de</strong>m 1: À matriz A = [a 11], <strong>de</strong>finimos <strong>de</strong>t A = a 11 .[ ]Matrizes <strong>de</strong> or<strong>de</strong>m 2: À matriz A = a11 a 12, <strong>de</strong>finimos <strong>de</strong>t A = aa 21 a 11 a 22 − a 12 a 21 .22⎡Matrizes <strong>de</strong> or<strong>de</strong>m 3: À matriz A = ⎣⎤a 11 a 12 a 13a 21 a 22 a 23⎦, <strong>de</strong>finimosa 31 a 32 a 33<strong>de</strong>t A = a 11 a 22 a 33 − a 11 a 23 a 32 − a 12 a 21 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 .A fim <strong>de</strong> <strong>de</strong>finir o <strong>de</strong>terminante <strong>de</strong> uma matriz <strong>de</strong> or<strong>de</strong>m n qualquer (n ≥ 1), vamos estudaralguns conceitos necessários. É claro que nossa <strong>de</strong>finição para o caso geral <strong>de</strong>ve englobar os trêscasos vistos anteriormente. De antemão, perceba que na <strong>de</strong>finição do <strong>de</strong>terminante <strong>de</strong> matrizes<strong>de</strong> or<strong>de</strong>m 2 e 3 ocorre uma certa regularida<strong>de</strong>: em cada produto <strong>de</strong> elementos da matriz, ostermos das linhas aparecem or<strong>de</strong>nados, enquanto os termos das colunas não. Observe aindaque nos índices das colunas, todas as or<strong>de</strong>ns possíveis dos números 1, 2, 3 (ou 1, 2 no caso <strong>de</strong>or<strong>de</strong>m 2) aparecem. O que não é muito visível (por enquanto) é como o sinal <strong>de</strong> cada produtoé atribuído. O que faremos no caso geral é “esten<strong>de</strong>r” essa regularida<strong>de</strong>. Portanto, tenha os<strong>de</strong>terminantes anteriores em mente.Uma permutação dos números 1, 2, . . . , n é uma bijeção ρ : {1, 2, . . . , n} → {1, 2, . . . , n}.Neste caso, <strong>de</strong>notaremos a permutação ρ pela lista <strong>de</strong> suas imagens (ρ(1) ρ(2) · · · ρ(n)). Porexemplo, (3 2 1), (1 2 3) e (2 1 3) são permutações <strong>de</strong> 1, 2, 3. O número <strong>de</strong> permutações <strong>de</strong>1, 2, . . . , n é n! = n(n − 1) · · · 2 · 1 (n ≥ 1).Definição 3.1. Dada uma permutação ρ <strong>de</strong> 1, 2, . . . , n, existe uma inversão quando um inteiroprece<strong>de</strong> outro menor que ele.Diremos que uma permutação ρ é par se o número <strong>de</strong> inversões em ρ é par, e que ρ é ímparse esse número for ímpar.Por exemplo, abaixo estão representadas algumas das 4! = 24 permutações <strong>de</strong> 1, 2, 3, 4, como número <strong>de</strong> inversões e sua parida<strong>de</strong>.permutação número <strong>de</strong> inversões parida<strong>de</strong>(1 2 3 4) 0 par(3 2 1 4) 3 ímpar(4 3 1 2) 5 ímpar(1 4 3 2) 3 ímpar(1 4 2 3) 2 par18


CAPÍTULO 3. DETERMINANTES 19Para contar o número <strong>de</strong> inversões <strong>de</strong> uma permutação, po<strong>de</strong>-se proce<strong>de</strong>r contando o número<strong>de</strong> inversões <strong>de</strong> cada elemento seu, da esquerda para a direita. Por exemplo, na permutação(1 4 3 2), associado ao 1 temos 0 inversões; associado ao 4 temos 2 inversões; associado ao 3temos 1 inversões; e associado ao 2 temos 0 inversões, totalizando 3 inversões.Agora, <strong>de</strong>finimos, associado à permutação ρ, o número{ 1 se ρ é parσ(ρ) =−1 se ρ é ímparFinalmente, <strong>de</strong>finiremos o <strong>de</strong>terminante da matriz A <strong>de</strong> or<strong>de</strong>m n como sendo o número<strong>de</strong>t A = ∑ ρσ(ρ)a 1ρ(1) a 2ρ(2) · · · a nρ(n) ,on<strong>de</strong> a soma é sobre todas as permutações <strong>de</strong> 1, 2, . . . , n.Nesse estágio, é interessante voltar à <strong>de</strong>finição do <strong>de</strong>terminante <strong>de</strong> matrizes <strong>de</strong> or<strong>de</strong>m 2 e 3,e ver que a <strong>de</strong>finição acima engloba as anteriores.Or<strong>de</strong>m 2: Abaixo, estão representadas todas as 2! = 2 permutações <strong>de</strong> 1, 2:permutação número <strong>de</strong> inversões parida<strong>de</strong>(1 2) 0 par(2 1) 1 ímparObserve que σ ((1 2)) = 1 e σ ((2 1)) = −1. Assim,[ ]a11 a<strong>de</strong>t12= ∑ σ(ρ)aa 21 a 1ρ(1) a 2ρ(2) = 1a 11 a 22 + (−1)a 12 a 21 = a 11 a 22 − a 12 a 21 ,22ρo que coinci<strong>de</strong> com a nossa <strong>de</strong>finição anterior.Or<strong>de</strong>m 3: Abaixo, estão representadas todas as 3! = 6 permutações <strong>de</strong> 1, 2, 3:Assim,⎡<strong>de</strong>t ⎣⎤a 11 a 12 a 13a 21 a 22 a 23⎦ = ∑a 31 a 32 a 33 ρpermutação número <strong>de</strong> inversões parida<strong>de</strong> σ(1 2 3) 0 par 1(1 3 2) 1 ímpar -1(2 1 3) 1 ímpar -1(2 3 1) 2 par 1(3 1 2) 2 par 1(3 2 1) 3 ímpar -1σ(ρ)a 1ρ(1) a 2ρ(2) a 3ρ(3)= 1a 11 a 22 a 33 + (−1)a 11 a 23 a 32 + (−1)a 12 a 21 a 33 + 1a 12 a 23 a 31 + 1a 13 a 21 a 32 + (−1)a 13 a 22 a 31= a 11 a 22 a 33 − a 11 a 23 a 32 − a 12 a 21 a 33 + a 12 a 23 a 31 + a 13 a 21 a 32 − a 13 a 22 a 31 ,o que coinci<strong>de</strong> com a nossa <strong>de</strong>finição anterior.Exemplo 3.0.1. Vamos mostrar que <strong>de</strong>t I n = 1. De fato, todos os produtos em <strong>de</strong>t I n tem umelemento zero, exceto aquele referente aos elementos da diagonal. Daí<strong>de</strong>t I n = ∑ ρσ(ρ)a 1ρ(1) · · · a nρ(n) = a 11 · · · a nn = 1 · · · 1 = 1.


CAPÍTULO 3. DETERMINANTES 203.1 Desenvolvimento <strong>de</strong> LaplaceDada uma matriz A = [a ij ] <strong>de</strong> or<strong>de</strong>m n, consi<strong>de</strong>remos a matriz A ij <strong>de</strong> or<strong>de</strong>m n − 1 obtida<strong>de</strong> A pela retirada da linha i e da coluna j. Definimos o cofator <strong>de</strong> a ij como o número∆ ij = (−1) i+j <strong>de</strong>t A ij .⎡1 2⎤−1Exemplo 3.1.1. Dada A = ⎣ 0 1 2 ⎦ temos3 −1 −2[ ]∆ 11 = (−1) 1+1 1 2<strong>de</strong>t= 0,−1 −2[ ] 0 2∆ 12 = (−1) 1+2 <strong>de</strong>t = 6,3 −2[ ] 0 1∆ 13 = (−1) 1+3 <strong>de</strong>t = −3.3 −1Nesse contexto, temos oTeorema 3.2 (Desenvolvimento <strong>de</strong> Laplace). Dada uma matriz A <strong>de</strong> or<strong>de</strong>m n, escolhemosuma linha k <strong>de</strong> A. Então<strong>de</strong>t A = a k1 ∆ k1 + a k2 ∆ k2 + · · · + a kn ∆ kn .Também, po<strong>de</strong>mos escolher uma coluna k <strong>de</strong> A, e vale<strong>de</strong>t A = a 1k ∆ 1k + a 2k ∆ 2k + · · · + a nk ∆ nk .Exemplo 3.1.2. No exemplo anterior, escolhendo a primeira linha <strong>de</strong> A temos <strong>de</strong>t A = 1∆ 11 +2∆ 12 + (−1)∆ 13 = 0 + 12 + 3 = 15.Escolhendo a linha 2, temos <strong>de</strong>t A = 0∆ 21 + 1∆ 22 + 2∆ 23 . Como[ ] 1 −1∆ 22 = (−1) 2+2 <strong>de</strong>t = 1,3 −2[ ] 1 2∆ 23 = (−1) 2+3 <strong>de</strong>t = 7,3 −1temos <strong>de</strong>t A = 1 + 14 = 15.Escolhendo a coluna 1, <strong>de</strong>t A = 1∆ 11 + 0∆ 21 + 3∆ 31 , com[ ] 2 −1∆ 31 = (−1) 3+1 <strong>de</strong>t = 5,1 2e assim <strong>de</strong>t A = 0 + 15 = 15.Exemplo 3.1.3. Vamos calcular <strong>de</strong>t A on<strong>de</strong> A =⎡⎢⎣1 0 0 −10 2 1 21 0 3 42 0 1 −1⎤⎥⎦ . É interessante aplicar o<strong>de</strong>senvolvimento <strong>de</strong> Laplace sobre uma linha ou coluna com mais zeros. Escolhemos então alinha 1. Assim,<strong>de</strong>t A = 1∆ 11 + 0∆ 12 + 0∆ 13 + (−1)∆ 14 = ∆ 11 − ∆ 14 .


CAPÍTULO 3. DETERMINANTES 21Temos⎡∆ 11 = (−1) 1+1 <strong>de</strong>t ⎣⎡∆ 14 = (−1) 1+4 <strong>de</strong>t ⎣2 1 20 3 40 1 −10 2 11 0 32 0 1⎤⎤⎦ = 1 · 2 · (−1) 1+1 <strong>de</strong>t⎦ = (−1) · 2 · (−1) 1+2 <strong>de</strong>t[ 3 41 −1[ 1 32 1]= −14,]= −10,e logo <strong>de</strong>t A = −14 + 10 = −4.Exemplo 3.1.4. Se uma matriz quadrada R <strong>de</strong> or<strong>de</strong>m n tem uma linha nula então <strong>de</strong>t R = 0.De fato, digamos que tal linha seja a k. Daí, <strong>de</strong>t R = 0∆ k1 + 0∆ k2 + · · · + 0∆ kn = 0.O mesmo ocorre se R tem uma coluna nula.Teorema 3.3. (i) <strong>de</strong>t E = k on<strong>de</strong> E é a matriz elementar relativa à operação L i → kL i ;(ii) <strong>de</strong>t E = −1 on<strong>de</strong> E é a matriz elementar relativa à operação L i ↔ L j (i ≠ j);(iii) <strong>de</strong>t E = 1 on<strong>de</strong> E é a matriz elementar relativa à operação L i → L i + kL j (i ≠ j).Teorema 3.4. Seja A uma matriz <strong>de</strong> or<strong>de</strong>m n e E uma matriz elementar também <strong>de</strong> or<strong>de</strong>mn. Então<strong>de</strong>t(EA) = <strong>de</strong>t E · <strong>de</strong>t A.Teorema 3.5. Seja A uma matriz <strong>de</strong> or<strong>de</strong>m n.inversível.Então <strong>de</strong>t A ≠ 0 se, e somente se A é3.2 Proprieda<strong>de</strong>s dos <strong>de</strong>terminantesSeja A uma matriz <strong>de</strong> or<strong>de</strong>m n. São fatos sobre <strong>de</strong>terminantes:1. Se A tem uma linha (ou coluna) nula, então <strong>de</strong>t A = 0.2. <strong>de</strong>t A = <strong>de</strong>t A t .3. Seja B = e(A), on<strong>de</strong> e é a operação elementar L i → kL i . Então <strong>de</strong>t B = k <strong>de</strong>t A.4. Seja B = e(A), on<strong>de</strong> e é a operação elementar L i ↔ L j (i ≠ j). Então <strong>de</strong>t B = − <strong>de</strong>t A.5. Seja B = e(A), on<strong>de</strong> e é a operação elementar L i → L i + kL j (i ≠ j). Então <strong>de</strong>t B =<strong>de</strong>t A.6. <strong>de</strong>t(AB) = <strong>de</strong>t A · <strong>de</strong>t B.7. Se A é inversível então <strong>de</strong>t A −1 = 1<strong>de</strong>t A .8. Se A tem duas linhas iguais i e j (i ≠ j) então <strong>de</strong>t A = 0. O mesmo resultado se aplicaquando A tem duas colunas iguais.


CAPÍTULO 3. DETERMINANTES 223.3 Exercícios[ ] [ ]1 23 −11. Dadas A = e B = , calcule <strong>de</strong>t A + <strong>de</strong>t B e <strong>de</strong>t(A + B), e conclua1 00 1que, em geral, o <strong>de</strong>terminante da soma <strong>de</strong> matrizes não é igual a soma dos <strong>de</strong>terminantes.2. Calcule o posto e a nulida<strong>de</strong> das matrizes abaixo, encontrando a matriz linha reduzida àforma escada <strong>de</strong> cada matriz. Use o histórico <strong>de</strong> operações elementares para calcular o<strong>de</strong>terminante <strong>de</strong> cada uma das matrizes.(a)⎡⎣1 −2 32 2 12 −4 6⎤⎦(b)⎡⎢⎣1 2 1 2−1 1 1 11 0 1 03 1 −1 3⎤⎥⎦3. Admitindo que <strong>de</strong>t A = 5 on<strong>de</strong> A = [a ij ] 3×3 , calcule:(a) <strong>de</strong>t(3A)(c) <strong>de</strong>t((2A) −1 )(b) <strong>de</strong>t(2A −1 )⎡(d) <strong>de</strong>t ⎣⎤a 11 a 31 a 21a 12 a 32 a 22⎦a 13 a 33 a 234. Calcule os <strong>de</strong>terminantes:[ ]a + b b + d(a) <strong>de</strong>ta + c c + d[ ]a + b a − b(b) <strong>de</strong>ta − b a + b[ x − 1 1(c) <strong>de</strong>tx 3 x 2 + x + 1⎡⎤1 1 1(d) <strong>de</strong>t ⎣ −1 0 1 ⎦−1 −1 0⎡ ⎤1 1 1(e) <strong>de</strong>t ⎣ 1 2 3 ⎦1 3 6]⎡(f) <strong>de</strong>t ⎢⎣⎡(g) <strong>de</strong>t ⎢⎣⎡(h) <strong>de</strong>t ⎢⎣3 1 1 11 3 1 11 1 3 11 1 1 3⎤⎥⎦1 1 1 11 2 3 41 3 6 101 4 10 20⎤⎥⎦1 2 3 4−2 1 −4 33 −4 −1 24 3 −2 −1⎡(i) <strong>de</strong>t⎢⎣⎡(j) <strong>de</strong>t⎤ ⎢⎣⎥⎦2 1 1 1 11 3 1 1 11 1 4 1 11 1 1 5 11 1 1 1 6⎤⎥⎦2 1 1 1 12 2 4 −1 32 1 2 13 72 1 1 2 92 1 1 1 2(use o próximo exercíciono item j)⎤⎥⎦5. Seja A uma matriz triangular superior <strong>de</strong> or<strong>de</strong>m n. Aplique sucessivamente o <strong>de</strong>senvolvimento<strong>de</strong> Laplace para mostrar que o <strong>de</strong>terminante <strong>de</strong> A é o produto dos elementos dasua diagonal, isto é, <strong>de</strong>t A = a 11 · · · a nn . Conclua usando o fato <strong>de</strong> que <strong>de</strong>t A t = <strong>de</strong>t Aque se A é triangular inferior, também vale <strong>de</strong>t A = a 11 · · · a nn .6. Sejam A e P matrizes quadradas <strong>de</strong> mesma or<strong>de</strong>m com P inversível. Mostre que <strong>de</strong>t(PAP −1 ) =<strong>de</strong>t A (as matrizes PAP −1 e A são chamadas matrizes semelhantes).7. Seja B uma matriz <strong>de</strong> or<strong>de</strong>m n tal que B t B = I n . Mostre que <strong>de</strong>t B = 1 ou <strong>de</strong>t B = −1.8. Diz-se que uma matriz quadrada A é i<strong>de</strong>mpotente quando A 2 = A. Mostre que se A éi<strong>de</strong>mpotente então <strong>de</strong>t A = 1 ou <strong>de</strong>t A = 0.9. (MATRIZ ADJUNTA) Dada uma matriz quadrada A <strong>de</strong> or<strong>de</strong>m n, <strong>de</strong>finimos a matrizadjunta <strong>de</strong> A como sendo a transposta da matriz dos cofatores dos elementos a ij <strong>de</strong> A.


CAPÍTULO 3. DETERMINANTES 23Denotaremos a adjunta <strong>de</strong> A por adj A. Em outras palavras,⎡⎤∆ 11 ∆ 21 · · · ∆ n1∆ 12 ∆ 22 · · · ∆ n2adj A = ⎢⎥⎣ . . · · · . ⎦ .∆ 1n ∆ 2n · · · ∆ nn(a) Consi<strong>de</strong>re a matriz C = A (adj A). Mostre que os elementos c ij <strong>de</strong> C são tais quec ii = <strong>de</strong>t A, ∀i e c ij = 0, i ≠ j,isto é, que A (adj A) = (<strong>de</strong>t A) I n .Dica: os elementos c ij são da forma c ij = a i1 ∆ j1 + a i2 ∆ j2 + · · · + a in ∆ jn . Quandoi = j então c ii é o <strong>de</strong>senvolvimento <strong>de</strong> Laplace da matriz A escolhendo a linha i, elogo c ii = <strong>de</strong>t A. Quando i ≠ j, c ij é o <strong>de</strong>senvolvimento <strong>de</strong> Laplace <strong>de</strong> uma matrizcom duas linhas iguais a linha i <strong>de</strong> A (e logo cujo <strong>de</strong>terminante é 0).(b) Usando o item anterior, mostre que se A é inversível então A −1 = 1 (adj A).<strong>de</strong>t A(c) Calcule a inversa <strong>de</strong>usando a adjunta <strong>de</strong> A.⎡A = ⎣2 1 0−3 1 41 6 510. (REGRA DE CRAMMER) Consi<strong>de</strong>re um sistema linear Ax = b, on<strong>de</strong> A é matrizquadrada <strong>de</strong> or<strong>de</strong>m n (o sistema tem n equações e n incógnitas). Suponha que <strong>de</strong>t A ≠ 0(ou equivalentemente, que A é inversível).(a) Mostre que x = A −1 b é a única solução do sistema Ax = b.(b) Usando o fato <strong>de</strong> que A −1 = 1 (adj A) (exercício anterior), mostre que o termo<strong>de</strong>t Ai da solução x = A −1 b é dado porx i = b 1∆ 1i + b 2 ∆ 2i + · · · + b n ∆ ni<strong>de</strong>t A⎤⎦= <strong>de</strong>t C i<strong>de</strong>t A ,on<strong>de</strong> C i é a matriz obtida <strong>de</strong> A pela substituição da coluna i pela matriz coluna b,isto é,⎡⎤a 11 · · · a 1,i−1 b 1 a 1,i+1 · · · a 1na 21 · · · a 2,i−1 b 2 a 2,i+1 · · · a 2nC i = ⎢⎥⎣ . . . . . · · · . ⎦ .a n1 · · · a n,i−1 b n a n,i+1 · · · a nnEssa técnica <strong>de</strong> resolução <strong>de</strong> sistemas lineares n × n é conhecida como Regra <strong>de</strong>Crammer.⎧⎨ 2x −3y +7z = 1(c) Resolva o sistema x +3z = 5 pela Regra <strong>de</strong> Crammer.⎩2y −z = 0


Capítulo 4Espaços VetoriaisDefinição 4.1. Um espaço vetorial é constituído <strong>de</strong> um conjunto V , cujos elementos são chamadosvetores, no qual estão <strong>de</strong>finidas duas operações: a soma (ou adição) que leva um par<strong>de</strong> vetores (u, w) ∈ V × V a um vetor u + w ∈ V , e a multiplicação por escalar, que leva umpar (a, u) ∈ R × V a um vetor au ∈ V tais que, para quaisquer a, b ∈ R e u, v, w ∈ V , sãosatisfeitas as proprieda<strong>de</strong>s (ou axiomas <strong>de</strong> espaço vetorial):(i) u + w = w + u (comutativida<strong>de</strong>)(ii) (u + v) + w = u + (v + w) e (ab)u = a(bu) (associativida<strong>de</strong>)(iii) existe um vetor 0 ∈ V , chamado vetor nulo tal que u + 0 = 0 + u = 0, para todo u ∈ V(existência <strong>de</strong> vetor nulo)(iv) (a + b)u = au + bu e a(u + w) = au + aw (distributivida<strong>de</strong>)(v) 1 · u = u (multiplicação por 1)(vi) para todo u ∈ V , existe um vetor −u ∈ V tal que u + (−u) = 0 (inverso aditivo)O único espaço vetorial que usaremos ao longo do texto é o espaçoR n = {(x 1 , . . . , x n ); x i ∈ R ∀i}com as operações usuais (x 1 , . . . , x n ) + (y 1 , . . . , y n ) = (x 1 + y 1 , . . . , x n + y n ) e a(x 1 , . . . , x n ) =(ax 1 , . . . , ax n ).4.1 Subespaços vetoriaisDefinição 4.2. Dado um espaço vetorial V , um subconjunto W ⊂ V é um subespaço vetorial<strong>de</strong> V se(i) u + v ∈ W para todos u, v ∈ W (W é fechado para a soma)(ii) au ∈ W para todos a ∈ R e u ∈ W (W é fechado para multiplicação por escalar)Naturalmente, as operações em W são as mesmas <strong>de</strong> V . Assim, um subespaço vetorial W<strong>de</strong> V é ele mesmo um espaço vetorial com as operações herdadas <strong>de</strong> V . Observe ainda que ovetor nulo <strong>de</strong> W é o vetor nulo <strong>de</strong> V .Exemplo 4.1.1. Dado um espaço vetorial V , são subespaços vetoriais triviais <strong>de</strong> V os subconjuntos{0} e o próprio V .24


CAPÍTULO 4. ESPAÇOS VETORIAIS 25Exemplo 4.1.2. W = {(at, bt, ct) ∈ R 3 ; t ∈ R} é subespaço vetorial <strong>de</strong> R 3 . Geometricamente,se (a, b, c) ≠ 0 então W é a reta do espaço na direção do vetor (a, b, c) e que passa pela origem.No caso em que (a, b, c) = 0, W = {0}.Exemplo 4.1.3. W = {(x, y, z) ∈ R 3 ; z = 3x, x = 2y} é subespaço vetorial <strong>de</strong> R 3 . De fato,po<strong>de</strong>mos escrever W = {(2y, y, 6y) ∈ R 3 ; y ∈ R}, e W é a reta na direção <strong>de</strong> (2, 1, 6) e quepassa pela origem.Sejam V um espaço vetorial e W 1 , W 2 subespaços seus. Então W 1 ∩ W 2 é subespaçovetorial <strong>de</strong> V . Por outro lado, a união W 1 ∪ W 2 <strong>de</strong> subespaços vetoriais NÃO é em geral umsubespaço vetorial. Por exemplo, W 1 = {(t, 0); t ∈ R} e W 2 = {(0, s); s ∈ R} são subespaços<strong>de</strong> R 2 , mas (1, 0), (0, 1) ∈ W 1 ∪ W 2 e (1, 0) + (0, 1) = (1, 1) /∈ W 1 ∪ W 2 , o que mostra queW 1 ∪ W 2 não é fechado para a soma, e portanto não é subespaço. No entanto, o conjuntoW 1 + W 2 = {v ∈ V ; v = w 1 + w 2 , w 1 ∈ W 1 , w 2 ∈ W 2 } é subespaço vetorial <strong>de</strong> V , chamadoa soma dos subespaços W 1 e W 2 . Quando W 1 ∩ W 2 = {0} a soma W 1 + W 2 é chamada somadireta, e escrevemos W 1 ⊕ W 2 .Exemplo 4.1.4. Consi<strong>de</strong>re os subespaços <strong>de</strong> R 2 dados por W 1 = {(t, 0); t ∈ R} e W 2 ={(0, s); s ∈ R}. Então W 1 +W 2 = {v ∈ R 2 ; v = (t, 0)+(0, s), t, s ∈ R} = {(t, s); t, s ∈ R} = R 2 .Ou seja, R 2 = W 1 + W 2 . Observe ainda que W 1 ∩ W 2 = {(0, 0)}, e logo R 2 = W 1 ⊕ W 2 . 4.2 Combinação linearDefinição 4.3. Seja V um espaço vetorial e vetores v 1 , . . . , v n ∈ V . Dados a 1 , . . . , a n ∈ R, ovetor <strong>de</strong> Vv = a 1 v 1 + · · · + a n v né uma combinação linear <strong>de</strong> v 1 , . . . , v n .Fixados v 1 , . . . , v n ∈ V , o conjunto W <strong>de</strong> todas as combinações lineares <strong>de</strong> v 1 , . . . , v n ,W = [v 1 , . . . , v n ] = {v ∈ V ; v = a 1 v 1 + · · · + a n v n , a 1 , . . . , a n ∈ R}é um subespaço vetorial <strong>de</strong> V , chamado subespaço gerado por v 1 , . . . , v n . Dizemos também quev 1 , . . . , v n geram W .Exemplo 4.2.1. Consi<strong>de</strong>re um vetor v ∈ R 3 com v ≠ 0. Então o subespaço gerado por v,[v] = {av ∈ R 3 ; a ∈ R},é a reta que passa pela origem (0, 0, 0) na direção do vetor v.Exemplo 4.2.2. Consi<strong>de</strong>re dois vetores u, v ∈ R 3 não colineares (isto é, u ≠ av para todoa ∈ R e v ≠ 0). Então[u, v] = {au + bv ∈ R 3 ; a, b ∈ R}é o plano que passa pela origem e é paralelo aos vetores u e v.Exemplo 4.2.3. O subespaço <strong>de</strong> R 2 gerado por (1, 0) e (0, 1) é[(1, 0); (0, 1)] = {a(1, 0) + b(0, 1); a, b ∈ R} = {(a, b); a, b ∈ R} = R 2 .O subespaço <strong>de</strong> R 2 gerado por (1, 0), (0, 1) e (1, 1) é[(1, 0); (0, 1); (1, 1)] = {a(1, 0) + b(0, 1) + c(1, 1); a, b, c ∈ R}= {(a + c, b + c); a, b, c ∈ R} = {(a ′ , b ′ ); a ′ , b ′ ∈ R} = R 2 .Assim, [(1, 0); (0, 1); (1, 1)] = [(1, 0); (0, 1)].


CAPÍTULO 4. ESPAÇOS VETORIAIS 26Exemplo 4.2.4. Generalizando o exemplo anterior, valeu ∈ [v 1 , . . . , v n ] ⇔ [v 1 , . . . , v n , u] = [v 1 , . . . , v n ].Ou seja, vetores que são combinações lineares <strong>de</strong> outros não fazem diferença no subespaço queeles geram.Vamos mostrar tal afirmação. Se u ∈ [v 1 , . . . , v n ] então u = ∑ ni=1 a iv i para certos a 1 , . . . , a n ∈R. Assimn∑[v 1 , . . . , v n , u] = [v 1 , . . . , v n , a i v i ]i=1{( n∑)}= v ∈ V ; v = b 1 v 1 + · · · + b n v n + b a i v i , b 1 , . . . , b n , b ∈ Ri=1= {v ∈ V ; v = (b 1 + ba 1 )v 1 + · · · + (b n + ba n )v n , b 1 , . . . , b n , b ∈ R}= {v ∈ V ; v = c 1 v 1 + · · · + c n v n , c 1 , . . . , c n ∈ R}= [v 1 , . . . , v n ].Reciprocamente, u = 0v 1 + · · · + 0v n + 1u ∈ [v 1 , . . . , v n , u] = [v 1 , . . . , v n ], e logo u ∈[v 1 , . . . , v n ]. 4.3 Dependência e in<strong>de</strong>pendência linearDefinição 4.4. Sejam V um espaço vetorial e v 1 , . . . , v n ∈ V . Dizemos que o conjunto{v 1 , . . . , v n } é linearmente in<strong>de</strong>pen<strong>de</strong>nte (LI) ou que os vetores v 1 , . . . , v n são LI se a equaçãoa 1 v 1 + · · · + a n v n = 0admitir somente a solução trivial a 1 = a 2 = · · · = a n = 0. Se {v 1 , . . . , v n } não for LI, entãodizemos que este conjunto é linearmente <strong>de</strong>pen<strong>de</strong>nte (LD), ou que os vetores v 1 , . . . , v n sãoLD.Observamos que o subconjunto {0} <strong>de</strong> um espaço vetorial V qualquer não é LI, pois aequação da Definição 4.4 é satisfeita para todo a 1 ∈ R.Teorema 4.5. {v 1 , . . . , v n } é LD se, e somente se um dos vetores <strong>de</strong>sse conjunto é combinaçãolinear dos outros.Exemplo 4.3.1. {e 1 ,e 2 , . . . , e n } ⊂ R n on<strong>de</strong>e i = (0, . . . , 0, }{{} 1 , 0, . . . , 0), i = 1, . . . , n,posição ié o vetor <strong>de</strong> R n constituído <strong>de</strong> zeros, exceto na posição i igual a 1, é um subconjunto LI.Exemplo 4.3.2. O subconjunto {(1, 2); (2, 2); (3, 7)} <strong>de</strong> R 2 é LD pois (3, 7) = 4(1, 2) − 1 (2, 2).24.4 Base e dimensão <strong>de</strong> um espaço vetorialDefinição 4.6. Dado um espaço vetorial V , um conjunto β = {v 1 , . . . , v n } ⊂ V é uma base<strong>de</strong> V se é LI e se gera V .


CAPÍTULO 4. ESPAÇOS VETORIAIS 27Exemplo 4.4.1. {e 1 , e 2 , . . . , e n } ⊂ R n é base <strong>de</strong> R n . Esta é chamada a base canônica <strong>de</strong> R n .Exemplo 4.4.2. {(1, 1); (0, 1)} é base <strong>de</strong> R 2 pois é LI e qualquer (x, y) ∈ R 2 po<strong>de</strong> ser escritocomo (x, y) = x(1, 1) + (y − x)(0, 1).Exemplo 4.4.3. {(0, 1); (0, 2)} não é base <strong>de</strong> R 2 pois não é LI (um dos vetores é claramentecombinação do outro). Também, este conjunto não gera R 2 . Por exemplo, o vetor (1, 0) não écombinação linear <strong>de</strong> (0, 1) e (0, 2).Exemplo 4.4.4. {(1, 0, 0); (0, 1, 0)} não é base <strong>de</strong> R 3 pois não gera R 3 (por exemplo, (0, 0, 1) /∈[(1, 0, 0); (0, 1, 0)]). Teorema 4.7. Seja V um espaço vetorial.(i) Se V = [v 1 , . . . , v n ] po<strong>de</strong>mos extrair uma base <strong>de</strong> V formada por vetores em {v 1 , . . . , v n }.(ii) Se V = [v 1 , . . . , v n ] (n vetores) então qualquer subconjunto <strong>de</strong> V com mais <strong>de</strong> n vetoresé LD.(iii) Qualquer base <strong>de</strong> V tem sempre o mesmo número <strong>de</strong> elementos. Este número é chamadodimensão <strong>de</strong> V , e <strong>de</strong>notado por dim V .(iv) Qualquer conjunto <strong>de</strong> vetores LI <strong>de</strong> V po<strong>de</strong> ser completado <strong>de</strong> modo a obter-se uma base.(v) Se n = dim V , qualquer subconjunto <strong>de</strong> V com n vetores LI é uma base <strong>de</strong> V .Cabe notar que os espaços aqui tratados são <strong>de</strong> dimensão finita, ou seja, uma base temfinitos vetores apenas.Exemplo 4.4.5. Afirmamos que [(1, 0, 0); (0, 1, −1); (1, 1, 0); (1, 1, 1)] = R 3 . De fato, você po<strong>de</strong>verificar que (x, y, z) = x(1, 0, 1) + y(0, 1, −1) + (x − y − z)(1, 1, 0) + (−x + y + z)(1, 1, 1).Agora, observe que(1, 1, 0) = 1(1, 0, 1) + 1(0, 1, −1) + 0(1, 1, 1),isto é, α = {(1, 0, 0); (0, 1, −1); (1, 1, 0); (1, 1, 1)} é LD. Mais ainda, isso mostra que(1, 1, 0) ∈ [(1, 0, 1); (0, 1, −1); (1, 1, 1)]e logo [(1, 0, 1); (0, 1, −1); (1, 1, 1)] = R 3 . Como β = {(1, 0, 1); (0, 1, −1); (1, 1, 1)} é LI (verifique!),segue que β é base <strong>de</strong> R 3 . O que fizemos portanto foi extrair do conjunto α <strong>de</strong> geradores<strong>de</strong> R 3 uma base β <strong>de</strong> R 3 .Exemplo 4.4.6. Sabemos que a base canônica <strong>de</strong> R 3 tem três elementos, e que gera R 3 . Comisso já sabemos <strong>de</strong> antemão que o conjunto α do exemplo 4.4.5 é LD, pois possui mais <strong>de</strong> trêsvetores <strong>de</strong> R 3 .Exemplo 4.4.7. Consi<strong>de</strong>rando a base canônica <strong>de</strong> R n , segue que dim R n = n.Ativida<strong>de</strong> 3. Seja W um subespaço vetorial <strong>de</strong> V . Mostre que dim W = dim V se, e somentese W = V .Exemplo 4.4.8. Sabemos que dim R 3 = 3. Então o conjunto LI {(1, 0, −1); (0, 1, 2)} não ébase <strong>de</strong> R 3 . A fim <strong>de</strong> completar esse conjunto a uma base <strong>de</strong> R 3 , basta escolher um vetor(x, y, z) /∈ [(1, 0, −1); (0, 1, 2)] e uni-lo ao conjunto. Observe que[(1, 0, −1); (0, 1, 2)] = {a(1, 0, −1) + b(0, 1, 2); a, b ∈ R} = {(a, b, 2b − a) + b(0, 1, 2); a, b ∈ R},e logo (1, 1, 0) /∈ [(1, 0, −1); (0, 1, 2)]. Com isso β = {(1, 0, −1); (0, 1, 2); (1, 1, 0)} é LI, e comopossui 3 = dim R 3 vetores, é uma base <strong>de</strong> R 3 .


CAPÍTULO 4. ESPAÇOS VETORIAIS 28O espaço vetorial trivial {0} não admite base, pois não há subconjunto seu que seja LI.Convencionaremos no entanto que dim{0} = 0.Dada uma base β = {v 1 , . . . , v n } <strong>de</strong> um espaço vetorial V , cada vetor v <strong>de</strong> V se escreve<strong>de</strong> maneira única como combinação linear dos vetores <strong>de</strong> β. Aos coeficientes <strong>de</strong>ssa escritachamamos <strong>de</strong> coor<strong>de</strong>nadas <strong>de</strong> v na base β.4.5 Produto interno e normaUm produto interno num espaço vetorial V <strong>de</strong> dimensão finita é uma função ⟨·, ·⟩ V: V ×V →R tal que para todos x, y, z ∈ V e a ∈ R temos⟨x, y⟩ V= ⟨y, x⟩ V,⟨x + z, y⟩ V= ⟨x, y⟩ V+ ⟨z, y⟩ V,⟨αx, y⟩ V= α ⟨x, y⟩ Vex ≠ 0 ⇒ ⟨x, x⟩ V> 0.Em particular, ⟨·, ·⟩ : R n × R n → R <strong>de</strong>finido por⟨x, y⟩ =n∑x i y ii=1é um produto interno em R n , chamado produto interno canônico <strong>de</strong> R n . Às vezes é convenienteolhar este produto interno como uma multiplicação <strong>de</strong> matrizes, da seguinte forma: a cadax ∈ R n , associamos a matriz x = [x i ] n×1 <strong>de</strong> or<strong>de</strong>m n × 1. Temos então⟨x, y⟩ = x t y.Quando não houver perigo <strong>de</strong> confusão, escrevemos simplesmente x t y.Uma norma num espaço vetorial V <strong>de</strong> dimensão finita é uma função ∥ · ∥ Vque para todos x, y ∈ V e α ∈ R temos: V → R + tal∥x + y∥ V ≤ ∥x∥ V + ∥y∥ V ,∥αx∥ V = |α|∥x∥ V ex ≠ 0 ⇒ ∥x∥ V > 0.A norma euclidiana é <strong>de</strong>finida como∥x∥ =( n∑i=1x 2 i) 1/2.Note que ∥x∥ 2 = x t x.4.6 Exercícios1. Mostre que os conjuntos abaixo são subespaços <strong>de</strong> R 2 ou R 3 .(a) A = {(x, y) ∈ R 2 ; x = y}(b) B = {(x, y) ∈ R 2 ; x + 4y = 0}(c) C = {(x, y, z) ∈ R 3 ; x + y + z = 0}(d) D = {(x, y, z) ∈ R 3 ; x = y, 2y = z}(e) F = {(x, y, z) ∈ R 3 ; x + y = 3z}


CAPÍTULO 4. ESPAÇOS VETORIAIS 292. Diga quais dos subconjuntos a seguir são subespaços vetoriais. Se não for, diga o porquê.Consi<strong>de</strong>re como operações <strong>de</strong> soma e multiplicação por escalar as usuais <strong>de</strong> R n ou M(m, n).(a) X = {(x, y, z) ∈ R 3 ; xy = 0} ⊂ R 3 .(b) O conjunto Z ⊂ M(2, 3) nas quais alguma coluna é formada por elementos iguais.(c) O conjunto L ⊂ R n dos vetores v = (x, 2x, 3x, . . . , nx), on<strong>de</strong> x ∈ R é arbitrário.(d) O conjunto dos vetores <strong>de</strong> R 5 que têm duas ou mais coor<strong>de</strong>nadas nulas.(e) O conjunto dos vetores <strong>de</strong> R 3 que têm pelo menos uma coor<strong>de</strong>nada ≥ 0.(f) O conjunto dos vetores <strong>de</strong> R n cujas k ≥ 1 primeiras coor<strong>de</strong>nadas são iguais.(g) Y = {(x, y) ∈ R 2 ; x 2 + 3x = y 2 + 3y} ⊂ R 2 .3. Exiba uma base para cada um dos subespaços <strong>de</strong> R 4 .(a) F = {(x 1 , x 2 , x 3 , x 4 ) ∈ R 4 ; x 1 = x 2 = x 3 = x 4 }(b) G = {(x 1 , x 2 , x 3 , x 4 ) ∈ R 4 ; x 1 = x 2 e x 3 = x 4 }(c) H = {(x 1 , x 2 , x 3 , x 4 ) ∈ R 4 ; x 1 = x 2 = x 3 }(d) K = {(x 1 , x 2 , x 3 , x 4 ) ∈ R 4 ; x 1 + x 2 + x 3 + x 4 = 0}4. Mostre que os vetores u = (1, 1) e w = (−1, 1) formam uma base <strong>de</strong> R 2 . Exprima cadaum dos vetores e 1 = (1, 0) e e 2 = (0, 1) como combinação linear dos elementos <strong>de</strong>ssa base.5. Mostre que os vetores u = (1, 1, 1), v = (1, 2, 1) e w = (2, 1, 2) são linearmente <strong>de</strong>pen<strong>de</strong>ntes.6. Mostre que os vetores u = (1, 1, 1), v = (1, 2, 3) e w = (1, 4, 9) formam uma base <strong>de</strong> R 3 .Exprima cada um dos vetores e 1 = (1, 0, 0), e 2 = (0, 1, 0) e e 3 = (0, 0, 1) como combinaçãolinear dos elementos <strong>de</strong>ssa base.7. Mostre que o conjunto das soluções do sistema homogêneo Ax = 0, sendo A matrizm × n, é um subespaço <strong>de</strong> M(n, 1) (o espaço vetorial das matrizes <strong>de</strong> or<strong>de</strong>m n × 1munido das operações usuais <strong>de</strong> matrizes). O mesmo vale para um sistema não homogêneoAx = B ≠ 0? Exiba um exemplo.8. Consi<strong>de</strong>re os subespaços F = [(1, 1, 1)] e G = [(1, 0, 0), (0, 1, 0)] <strong>de</strong> R 3 . Mostre queR 3 = F ⊕ G.9. Se X = {v 1 , . . . , v j , . . . , v n } e v j ∈ [X − {v j }] mostre que [X] = [X − {v j }].10. Dados u = (1, 2) e w = (−1, 2), sejam F e G as retas que passam pela origem em R 2 nasdireções <strong>de</strong> u e w, respectivamente.(a) Mostre que F e G são subespaços <strong>de</strong> R 2 .(b) Mostre que R 2 = F ⊕ G, isto é, que R 2 = F + G = {x + y; x ∈ F, y ∈ G} e queF ∩ G = {0}.11. Consi<strong>de</strong>re os subespaços <strong>de</strong> R 3 dados por F 1 = [(0, 1, −2), (1, 1, 1)] e F 2 = [(−1, 0, 3), (2, −1, 0)].(a) Ache números reais a 1 , b 1 , c 1 e a 2 , b 2 , c 2 tais que se tenha F 1 = {(x, y, z) ∈ R 3 ; a 1 x +b 1 y + c 1 z = 0} e F 2 = {(x, y, z) ∈ R 3 ; a 2 x + b 2 y + c 2 z = 0}.(b) Mostre que (−1, 0, 3) /∈ F 1 , e que R 3 = F 1 +F 2 . Exiba um vetor não nulo w ∈ F 1 ∩F 2e conclua que NÃO sem tem R3 = F 1 ⊕ F 2 .


CAPÍTULO 4. ESPAÇOS VETORIAIS 3012. Em R 2 , mantenhamos a <strong>de</strong>finição usual do produto αv e modifiquemos, <strong>de</strong> 3 maneiras,a <strong>de</strong>finição da soma u + v dos vetores u = (x, y) e v = (x ′ , y ′ ). Em cada tentativa, digaquais proprieda<strong>de</strong>s (axiomas) <strong>de</strong> espaço vetorial continuam válidas e quais são violadas:(a) u + v = (x + y ′ , x ′ + y)(b) u + v = (xx ′ , yy ′ )(c) u + v = (3x + 3x ′ , 5x + 5x ′ )13. Consi<strong>de</strong>re os subespaços W 1 , W 2 ∈ R 3 assim <strong>de</strong>finidos: W 1 é o conjunto <strong>de</strong> todos osvetores v = (x, x, x) e W 2 é o conjunto <strong>de</strong> todos os vetores w = (x, y, 0). Mostre queR 3 = W 1 ⊕ W 2 .14. Mostre que para todo subespaço vetorial W <strong>de</strong> R n , existe um subespaço vetorial W 0 <strong>de</strong>R n tal que R n = W ⊕ W 0 .15. Dado o subespaço W = {(x, y, z) ∈ R 3 ; x + 2y + z = 0} <strong>de</strong> R 3 , encontre um subespaçoW 0 <strong>de</strong> R 3 tal que R 3 = W ⊕ W 0 .16. (a) Se V = W 1 ⊕ W 2 , mostre que dim V = dim W 1 + dim W 2 .(b) Se dim V = dim W 1 + dim W 2 , po<strong>de</strong>mos concluir que V = W 1 ⊕ W 2 ? Justifique.(c) Se W 1 e W 1 são subespaços <strong>de</strong> V , dim W 1 > dim V2W 1 ∩ W 2 ≠ {0}.e dim W 2 > dim V2(d) Se W 1 e W 2 são subespaços <strong>de</strong> V mostre que [W 1 ∪ W 2 ] = W 1 + W 2 .17. Exprima o vetor v = (1, −3, 10) na base β = {(1, 0, 0), (1, 1, 0), (2, −3, 5)}., mostre que18. Consi<strong>de</strong>re um subconjunto LD α = {v 1 , v 2 , . . . , v n } <strong>de</strong> R n com n vetores. Justifiqueporque o <strong>de</strong>terminante da matriz cujas colunas são os vetores v 1 , v 2 , . . . , v n do conjuntoα é nulo.19. Mostre que, dado um subconjunto <strong>de</strong> R 3 α = {(a 11 , a 21 , a 31 ), (a 12 , a 22 , a 32 ), (a 13 , a 23 , a 33 )},temos que α é base <strong>de</strong> R 3 se, e somente se, <strong>de</strong>t[a ij ] 3×3 ≠ 0. Tente generalizar o resultadopara R n .20. Consi<strong>de</strong>re o plano π : 2x − y + 3z = 0 que passa pela origem <strong>de</strong> R 3 e a reta r : (x, y, z) =(0, 0, 0) + t(1, 1, −3). Seja P e R os subespaços <strong>de</strong> R 3 correspon<strong>de</strong>ntes ao plano e à reta,respectivamente.(a) Encontre bases para P e R.(b) Mostre que R 3 = P ⊕ R.(c) Dê uma interpretação geométrica para as bases <strong>de</strong> P e R, consi<strong>de</strong>rando o seu conhecimentoem geometria analítica.21. Seja V = F 1 ⊕ F 2 = G 1 ⊕ G 2 um espaço vetorial. Mostre que se F 1 ⊂ G 1 e F 2 ⊂ G 2 entãoF 1 = G 1 e F 2 = G 2 .22. Diga se é verda<strong>de</strong>iro ou falso quanto à vali<strong>de</strong>z da afirmação“A união <strong>de</strong> dois subconjuntos LI X e Y do espaço vetorial V é ainda um conjunto LI”provando quando verda<strong>de</strong>iro ou fornecendo um contra-exemplo caso contrário.


CAPÍTULO 4. ESPAÇOS VETORIAIS 31(a) Sempre(b) Nunca(c) Quando são disjuntos, isto é, quando X ∩ Y = ∅(d) Quando um <strong>de</strong>les é parte do outro, isto é, quando X ⊂ Y ou Y ⊂ X(e) Quando um <strong>de</strong>les é disjunto do subespaço gerado pelo outro(f) Quando o número <strong>de</strong> elementos <strong>de</strong> um <strong>de</strong>les mais o número <strong>de</strong> elementos do outroé igual à dimensão <strong>de</strong> V23. Mostre que os vetores u 1 , . . . , u m são LI se, e somente se são também LI os vetoresu 1 , u 2 − u 1 , u 3 − u 1 , . . . , u m − u 1 .24. Se os coeficientes a 1 , a 2 , . . . , a n não são todos iguais a zero (isto é, pelo menos um <strong>de</strong>les énão nulo), mostre que o hiperplanoH = {(x 1 , . . . , x n ) ∈ R n ; a 1 x 1 + a 2 x 2 + · · · + a n x n = 0}é um subespaço vetorial <strong>de</strong> dimensão n − 1 em R n .25. Seja X = {x 1 , x 2 , . . . , x n } um conjunto <strong>de</strong> n elementos, e consi<strong>de</strong>re o conjunto V <strong>de</strong>todas as funções f : X → R. Definimos, sobre os elementos <strong>de</strong> V , as operações <strong>de</strong> soma emultiplicação por um escalar α ∈ R fazendo (f + g)(x) = f(x) + g(x) e (αf)(x) = αf(x),respectivamente.(a) Mostre que V com as operações acima é um espaço vetorial.(b) Para cada i = 1, . . . n, <strong>de</strong>finimos as funções f i : X → R pondo f i (x i ) = 1 e f i (x j ) = 0,para todo j ≠ i. Mostre que {f 1 , f 2 , . . . , f n } é uma base para V . Conclua então quedim V = n. Você vê alguma semelhança entre V e o espaço vetorial R n ?(c) Escreva a função f : X → R <strong>de</strong>finida por f(x i ) = i como uma combinação lineardas funções f 1 , . . . f n .26. Seja P n o conjunto dos polinômios <strong>de</strong> grau menor do que ou igual a n, mais o polinômionulo (estamos consi<strong>de</strong>rando polinômios com coeficientes reais). Definimos operações <strong>de</strong>soma e multiplicação por escalar sobre polinômios da mesma forma feita no exercícioanterior, isto é, (p + q)(x) = p(x) + q(x) e (αp)(x) = αp(x), on<strong>de</strong> p, q ∈ P e α ∈ R.(a) Mostre que P n com as operações acima é um espaço vetorial.(b) Quem é o elemento neutro da soma?(c) Exiba uma base para P n , e encontre dim P n . Você vê alguma semelhança entre P n oespaço vetorial R n+1 ?(d) Escreva o polinômio p(x) = 2x 6 − 4x 5 + x 3 − 7x + 2 na base que você encontrou.27. Seja M(n, n) o conjunto das matrizes n × n com coeficientes reais. Com as operaçõesusuais <strong>de</strong> soma e multiplicação por escalar sobre matrizes, M(n, n) é um espaço vetorial.(a) Mostre que {[ 1 00 0] [ 0 1,0 0] [ 0 0,1 0] [ 0 0,0 1é uma base <strong>de</strong> M(2, 2), o espaço das matrizes quadradas <strong>de</strong> or<strong>de</strong>m 2.(b) Generalize o item anterior e exiba uma base <strong>de</strong> M(n, n). Com isto, encontre dim M(n, n).]}


CAPÍTULO 4. ESPAÇOS VETORIAIS 32(c) Mostre que o conjunto T n das matrizes triangulares superiores <strong>de</strong> or<strong>de</strong>m n é umsubespaço <strong>de</strong> M(n, n). Tendo em vista o item anterior, exiba uma base <strong>de</strong> T n eencontre dim T n .(d) O conjunto S n das matrizes simétricas <strong>de</strong> or<strong>de</strong>m n munido das operações usuais éum subespaço <strong>de</strong> M(n, n). Exiba uma base <strong>de</strong> S n e encontre dim S n .(e) Se F n é o subespaço das matrizes triangulares inferiores <strong>de</strong> or<strong>de</strong>m n, mostre queM(n, n) = T n + F n , e que NÃO se tem M(n, n) = T n ⊕ F n .28. Mostre que os elementos são linearmente in<strong>de</strong>pen<strong>de</strong>ntes.[ ] [ ] [ ]1 1 1 01 1(a) A = , B = e C =0 0 0 11 1(b) p(x) = x 3 − 5x 2 + 1, q(x) = 2x 4 + 5x − 6 e r(x) = x 2 − 5x + 229. Seja V um espaço vetorial e u, v, w ∈ V . Mostre que [u, v] ⊂ [u, v, w]. Quando se tem[u, v] = [u, v, w]? Quando se tem [u, v] [u, v, w]?


Parte IIProgramação <strong>Linear</strong>33


Capítulo 5IntroduçãoProblemas <strong>de</strong> programação linear consistem em otimizar (minimizar ou maximizar) umafunção linear, chamada função objetivo, sujeita a um conjunto <strong>de</strong> equações ou inequações lineares,chamadas restrições. O estudo <strong>de</strong>sse tipo <strong>de</strong> problema <strong>de</strong> otimização é importante, tantopor razões históricas, quanto por sua aplicabilida<strong>de</strong>. Aparece em situações reais da indústria,por exemplo, e também em métodos <strong>de</strong> resolução <strong>de</strong> problemas <strong>de</strong> otimização mais gerais, comfunção objetivo e/ou restrições não lineares. Foi também um gran<strong>de</strong> impulsionador da pesquisaem otimização/pesquisa operacional. Para um apanhado histórico <strong>de</strong>sses problemas, consultelivros sobre o assunto, por exemplo [1].Adotaremos o termo “programação linear” para problemas com variáveis reais. Quandoquisermos nos referir a problemas com variáveis inteiras, diremos problemas <strong>de</strong> programaçãointeira. Mais ainda, quando houverem variáveis reais e inteiras no mesmo problema, diremostratar-se <strong>de</strong> um problema <strong>de</strong> programação inteira mista.Qualquer problema <strong>de</strong> programação linear po<strong>de</strong> ser posto da seguinte forma:min c 1 x 1 + c 2 x 2 + · · · + c n x ns.a. a 11 x 1 + a 12 x 2 + · · · + a 1n x n ≥ b 1a 21 x 1 + a 22 x 2 + · · · + a 2n x n ≥ b 2a m1 x 1 + a m2 x 2 + · · · + a mn x n ≥ b mx 1 , x 2 , . . . , x n ≥ 0Aqui, c 1 x 1 + c 2 x 2 + · · · + c n x n é a função objetivo (FO), x 1 , x 2 , . . . , x n são as variáveis <strong>de</strong><strong>de</strong>cisão a serem <strong>de</strong>terminadas, e c 1 , c 2 , . . . , c n são os coeficientes <strong>de</strong> custo. A <strong>de</strong>sigualda<strong>de</strong>a i1 x 1 + a i2 x 2 + · · · + a in x n ≥ b i é a i-ésima restrição. As restrições x 1 , x 2 , . . . , x n ≥ 0 sãochamadas restrições <strong>de</strong> não negativida<strong>de</strong>. Um ponto (x 1 , . . . , x n ) que satisfaz todas as restriçõesé chamado <strong>de</strong> solução. Ao conjunto <strong>de</strong>sses pontos, damos o nome <strong>de</strong> conjunto viável, regiãoviável ou região <strong>de</strong> viabilida<strong>de</strong>. A expressão s.a. significa “sujeito a”, min significa “minimizar”enquanto maximizar é indicado por max.Naturalmente, o objetivo do problema é encontrar uma solução na qual a função objetivoatinge seu mínimo, quando houver. Uma solução <strong>de</strong>ssas é chamada solução ótima 1 .Em forma matricial, escrevemos.min cxs.a. Ax ≥ bx ≥ 0(5.1)1 Esse mínimo, quando < ∞, é sempre atingido pois a região viável é fechada e a FO contínua.34


CAPÍTULO 5. INTRODUÇÃO 35on<strong>de</strong> A = (a ij ) é matriz m×n, e c = (c i ), x = (x i ) e b = (b i ) são matrizes-coluna <strong>de</strong> dimensõesapropriadas. Observe que, a rigor, <strong>de</strong>veríamos escrever c t x, mas por simplicida<strong>de</strong> escreveremoscx. Como é <strong>de</strong> se observar, a notação Ax ≥ b indica as m restrições <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong>, assimcomo x ≥ 0 indica as n <strong>de</strong>sigualda<strong>de</strong>s x i ≥ 0.Exemplo 5.0.1. Consi<strong>de</strong>re o seguinte problema:min 2x 1 +5x 2s.a. x 1 +x 2 ≥ 6−x 1 −2x 2 ≥ −18x 1 , x 2 ≥ 0O problema tem duas variáveis <strong>de</strong> <strong>de</strong>cisão, x 1 e x 2 . As restrições <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong> <strong>de</strong>finem semiplanos,e são representadas na figura 5.1. Observe que a interseção dos semiplanos <strong>de</strong>terminaon<strong>de</strong> estão os pontos que satisfazem todas as restrições (soluções do problema, ou o conjuntoviável). Daí, o objetivo é encontrar <strong>de</strong>ntre as soluções, uma que minimiza a função 2x 1 + 5x 2 ,uma solução ótima.Figura 5.1: Figura para o exemplo 5.0.1 [1]5.1 Manipulação <strong>de</strong> problemasComo já dito, qualquer problema <strong>de</strong> programação linear po<strong>de</strong> ser reescrito na forma (5.1).No entanto, é <strong>de</strong> nosso interesse transformar um problema na formamin cxs.a. Ax = bx ≥ 0on<strong>de</strong> as restrições são <strong>de</strong> igualda<strong>de</strong>. Isso porque o método <strong>de</strong> resolução que apresentaremosadiante trabalha sobre esse mo<strong>de</strong>lo. Veremos como proce<strong>de</strong>r em cada caso.5.1.1 RestriçõesUma restrição <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong> da forma ∑ nj=1 a ijx j ≤ b i po<strong>de</strong> ser reescrita como restrição<strong>de</strong> igualda<strong>de</strong> inserindo uma variável <strong>de</strong> folga x n+1 ,n∑a ij x j + x n+1 = b i , x n+1 ≥ 0.j=1


CAPÍTULO 5. INTRODUÇÃO 36Por outro lado, uma restrição do tipo ∑ nj=1 a ijx j ≥ b i po<strong>de</strong> ser reescrita comon∑a ij x j − x n+1 = b i , x n+1 ≥ 0.j=1Reciprocamente, uma restrição <strong>de</strong> igualda<strong>de</strong> ∑ nj=1 a ijx j = b i é equivalente às restrições <strong>de</strong><strong>de</strong>sigualda<strong>de</strong> ∑ nj=1 a ijx j ≥ b i e ∑ nj=1 a ijx j ≤ b i .5.1.2 Restrições <strong>de</strong> não negativida<strong>de</strong>Se uma variável é irrestrita, ou seja, se x j po<strong>de</strong> variar em todo R, po<strong>de</strong>mos substituí-la porx j ′ − x ′′j on<strong>de</strong> x j aparece, e temos x ′ j, x ′′j ≥ 0. Note que assim x ′ j − x ′′j po<strong>de</strong> variar em todo R.Ativida<strong>de</strong> 4. Mostre que R = {x ′ j − x ′′j ; x ′ j, x ′′j ≥ 0}.Se x j ≥ l j , então a nova variável x ′ j = x j − l j é não negativa. Assim, eliminamos a restriçãox j ≥ l j e substituímos x j por x j = x ′ j + l j on<strong>de</strong> ela aparece.Se x j ≤ u j , então a nova variável x ′ j = u j −x j é não negativa. Assim, eliminamos a restriçãox j ≤ u j e substituímos x j por x j = u j − x ′ j on<strong>de</strong> ela aparece.5.1.3 Problema <strong>de</strong> maximizaçãoSe o objetivo do problema for maximizar a função cx, então po<strong>de</strong>mos trocar seu objetivopor minimizar a função −cx, poismax {cx} = − min {−cx}Neste caso resolvido o problema <strong>de</strong> minimização, o valor da função objetivo original (do problema<strong>de</strong> maximização) estará multiplicado por −1. É claro que as soluções dos dois problemasserão as mesmas.5.1.4 Formas padrão e canônicaComo qualquer problema po<strong>de</strong> ser reescrito em diferentes formas, consi<strong>de</strong>raremos duasformas úteis. Um problema <strong>de</strong> programação linear está na forma padrão se é escrito comomin cxs.a. Ax = bx ≥ 0e está na forma canônica se é escrito comooumax cxs.a. Ax = bx ≥ 0min cxs.a. Ax ≥ bx ≥ 0oumax cxs.a. Ax ≤ bx ≥ 0A forma padrão <strong>de</strong> minimização é <strong>de</strong> particular interesse no estudo do método <strong>de</strong> resoluçãoSimplex. Nesse trabalho adotaremos a minimização para o estudo do método. A formacanônica é a<strong>de</strong>quada para uma interpretação geométrica, como a do Exemplo 5.0.1, e para oestudo das relações <strong>de</strong> dualida<strong>de</strong>.


CAPÍTULO 5. INTRODUÇÃO 375.1.5 ResumoAbaixo seguem as equivalências discutidas.n∑a ij x j ≤ b ij=1n∑a ij x j ≥ b ij=1n∑a ij x j = b ij=1n∑a ij x j + x n+1 = b i , x n+1 ≥ 0j=1n∑a ij x j − x n+1 = b i , x n+1 ≥ 0j=1n∑a ij x j ≥ b i ,j=1n∑a ij x j ≤ b ix j irrestrita x ′ j − x ′′j x ′ j, x ′′j ≥ 0x j ≥ l j elimina-se a restrição, substitui-se x j por x ′ j + l j e adiciona-se x ′ j ≥ 0x j ≤ u j elimina-se a restrição, substitui-se x j por u j − x ′ j e adiciona-se x ′ j ≥ 0max {cx}− min {−cx}j=1Tabela 5.1: Resumo das manipulações <strong>de</strong> problemas.Exemplo 5.1.1. [1] Vamos colocar o problemamin x 1 −2x 2 −3x 3s.a. −x 1 +3x 2 +x 3 ≤ 13x 1 +2x 2 +3x 3 ≥ 122x 1 −x 2 +x 3 = 4x 1 , x 2 ∈ Rx 3 ≤ −3na forma padrão <strong>de</strong> minimização. Primeiro, vamos tratar as restrições <strong>de</strong> não negativida<strong>de</strong>.Substituímos x j por x ′ j − x ′′j (x ′ j, x ′′j ≥ 0), j = 1, 2, e x 3 por −3 − x ′ 3 (x ′ 3 ≥ 0):min x ′ 1 −x ′′1 −2x ′ 2 +2x ′′2 +3x ′ 3 +9s.a. −x ′ 1 +x ′′1 +3x ′ 2 −3x ′′2 +x ′ 3 ≤ 16x ′ 1 −3x ′′1 +2x ′ 2 −2x ′′2 −3x ′ 3 ≥ 212x ′ 1 −2x ′′1 −x ′ 2 +x ′′2 −x ′ 3 = 7x ′ 1, x ′′1, x ′ 2, x ′′2, x ′ 3 ≥ 0Agora inserimos variáveis <strong>de</strong> folga relativas às duas primeiras restrições. Po<strong>de</strong>mos aindaretirar o termo constante 9 da FO, pois isso não modifica as soluções do problema. Neste caso,lembramos <strong>de</strong> somar 9 à FO após resolver o problema.min x ′ 1 −x ′′1 −2x ′ 2 +2x ′′2 +3x ′ 3s.a. −x ′ 1 +x ′′1 +3x ′ 2 −3x ′′2 +x ′ 3 +x 4 = 16x ′ 1 −3x ′′1 +2x ′ 2 −2x ′′2 −3x ′ 3 −x 5 = 212x ′ 1 −2x ′′1 −x ′ 2 +x ′′2 −x ′ 3 = 7x ′ 1, x ′′1, x ′ 2, x ′′2, x ′ 3, x 4 , x 5 ≥ 0Para uma melhor escrita, po<strong>de</strong>mos renomear as variáveis <strong>de</strong> <strong>de</strong>cisão para x 1 , . . . , x 7 .


CAPÍTULO 5. INTRODUÇÃO 385.2 Exemplos <strong>de</strong> mo<strong>de</strong>los em programação linearA seguir, elencamos alguns problemas mo<strong>de</strong>lados no contexto da programação linear. Apresentaremosmo<strong>de</strong>los prontos, e apesar <strong>de</strong> não ser nosso objetivo discutir a mo<strong>de</strong>lagem dos problemasem si, recomendamos fortemente a leitura das seções 1.5 (“O Processo <strong>de</strong> Mo<strong>de</strong>lagem”)e 1.6 (“Mo<strong>de</strong>lagem Matemática”) do livro <strong>de</strong> Goldbarg e Luna [5].Exemplo 5.2.1. [Problema das ligas metálicas [5]] Uma metalúrgica <strong>de</strong>seja maximizar suareceita bruta. A Tabela 5.2 ilustra a quantida<strong>de</strong> <strong>de</strong> cada material na mistura para a obtençãodas ligas passíveis <strong>de</strong> fabricação, em toneladas. Vamos formular o mo<strong>de</strong>lo <strong>de</strong> programaçãolinear.Liga <strong>de</strong> baixa Liga <strong>de</strong> alta Disponibilida<strong>de</strong> <strong>de</strong>resistência (ton) resistência (ton) matéria-prima (ton)Cobre 0,5 0,2 16Zinco 0,25 0,3 11Chumbo 0,25 0,5 15Preço <strong>de</strong> Venda R$ 3.000,00 R$ 5.000,00(R$ por ton)Tabela 5.2: Dados do problema do Exemplo 5.2.1.Para saber a receita bruta, o que maximizar, <strong>de</strong>vemos saber qual quantida<strong>de</strong> <strong>de</strong> cada ligaserá produzida. Escolhemos então as variáveis <strong>de</strong> <strong>de</strong>cisão como segue:x i = “quantida<strong>de</strong> produzida em toneladas <strong>de</strong> liga <strong>de</strong> baixa resistência (i = 1)e <strong>de</strong> alta resistência (i = 2)”Nesse caso, a receita bruta será 3.000x 1 + 5.000x 2 , nossa função objetivo. Agora, <strong>de</strong>vemosobe<strong>de</strong>cer às limitações <strong>de</strong> matéria-prima. Teremos então as restrições• 0, 5x 1 + 0, 2x 2 ≤ 16 (relativo ao cobre)• 0, 25x 1 + 0, 3x 2 ≤ 11 (relativo ao zinco)• 0, 25x 1 + 0, 5x 2 ≤ 15 (relativo ao chumbo)A<strong>de</strong>mais, é claro que as quantida<strong>de</strong>s x i não po<strong>de</strong>m ser negativas.problema das ligas no mo<strong>de</strong>lo <strong>de</strong> PLFormulamos então omax 3.000x 1 +5.000x 2s.a. 0, 5x 1 +0, 2x 2 ≥ 160, 25x 1 +0, 3x 2 ≥ 110, 25x 1 +0, 5x 2 ≥ 15x 1 , x 2 ≥ 0Na forma padrão <strong>de</strong> minimização, po<strong>de</strong>mos reescrever esse problema, após inserção <strong>de</strong>variáveis <strong>de</strong> folga, comomin −3.000x 1 −5.000x 2s.a. 0, 5x 1 +0, 2x 2 +x 3 = 160, 25x 1 +0, 3x 2 +x 4 = 110, 25x 1 +0, 5x 2 +x 5 = 15x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0


CAPÍTULO 5. INTRODUÇÃO 39lembrando que o valor da função objetivo é multiplicado por −1 após resolução.Exemplo 5.2.2. [Problema do sítio [5]] Um sitiante está planejando sua estratégia <strong>de</strong>plantio para o próximo ano. Ele sabe que as culturas <strong>de</strong> trigo, arroz e milho serão as maisrentáveis. Sabe também que a produtivida<strong>de</strong> <strong>de</strong> sua terra para as culturas <strong>de</strong>sejadas é:Cultura Produtivida<strong>de</strong> em Kg por m 2 Lucro por Kg produzido (centavos)Trigo 0,2 10,8Arroz 0,3 4,2Milho 0,4 2,03Tabela 5.3: Dados do problema do Exemplo 5.2.2.O espaço para armazenamento limita a produção em 60 toneladas. A área cultivável é <strong>de</strong>200.000 m 2 . Para aten<strong>de</strong>r as <strong>de</strong>mandas do seu próprio sítio, é obrigatório que se plante 400 m 2<strong>de</strong> trigo, 800 m 2 <strong>de</strong> arroz e 10.000 m 2 <strong>de</strong> milho. É <strong>de</strong>sejado claramente que o sitiante tenholucro máximo.Escolhemos x i =“área em m 2 a ser plantada da cultura do tipo i =(T Trigo, A Arroz, MMilho)” como variáveis <strong>de</strong> <strong>de</strong>cisão. O lucro em centavos (a função objetivo) a ser maximizadoserá então10, 8 × 0, 2x T + 4, 2 × 0, 3x A + 2, 03 × 0, 4x M = 2, 16x T + 1, 26x A + 0, 812x M .As restrições relativas à <strong>de</strong>manda do sítio são x T ≥ 400, x A ≥ 800 e x M ≥ 10.000; a restriçãorelativa a área cultivável é x T + x A + x M ≤ 200.000; e a restrição relativa à capacida<strong>de</strong> <strong>de</strong>armazenamento será 0, 2x T + 0, 3x A + 0, 4x M ≤ 60.000. Ainda, é claro que x T , x A , x M ≥ 0. Ativida<strong>de</strong> 5. Escreva o mo<strong>de</strong>lo do Exemplo 5.2.2 na forma padrão.Exemplo 5.2.3. [Problema da mistura <strong>de</strong> petróleo [5]] Uma refinaria processa váriostipos <strong>de</strong> petróleo. Cada tipo <strong>de</strong> petróleo possui uma planilha <strong>de</strong> custos diferente, expressandocondições <strong>de</strong> transporte e preços na origem. Por outro lado, cada tipo <strong>de</strong> petróleo representeuma configuração diferente <strong>de</strong> subprodutos para a gasolina. Na medida em que um certo tipo<strong>de</strong> petróleo é utilizado na produção da gasolina, é possível a programação das condições <strong>de</strong>octanagem e outros requisitos. Esses requisitos implicam a classificação do tipo <strong>de</strong> gasolinaobtida.Supondo que a refinaria trabalhe com uma linha <strong>de</strong> quatro tipo diferentes <strong>de</strong> petróleo e<strong>de</strong>seje produzir as gasolinas amarela, azul e superazul, vamos programar a mistura dos tipos<strong>de</strong> petróleo aten<strong>de</strong>ndo às condições expostas nas duas tabelas a seguir, <strong>de</strong> modo a maximizaro lucro da refinaria.Tipo <strong>de</strong> petróleo Quant. máxima disponível (barril/dia) Custo por barril/dia (R$)1 3.500 192 2.200 243 4.200 204 1.800 27Tabela 5.4: Quantida<strong>de</strong> disponível <strong>de</strong> petróleo


CAPÍTULO 5. INTRODUÇÃO 40Tipo <strong>de</strong> gasolina Especificação Preço <strong>de</strong> venda (R$/barril)(S) Não mais que 30% <strong>de</strong> 1 35Não menos que 40% <strong>de</strong> 2Não mais que 50% <strong>de</strong> 3Azul (Z) Não mais que 30% <strong>de</strong> 1 28Não menos que 10% <strong>de</strong> 2Amarela (A) Não mais que 70% <strong>de</strong> 1 22Tabela 5.5: Percentuais para limites <strong>de</strong> qualida<strong>de</strong> das gasolinasComo temos que programar a mistura <strong>de</strong> tipos <strong>de</strong> petróleo para produção dos três tipos<strong>de</strong> gasolina, po<strong>de</strong>mos pensar nas variáveis <strong>de</strong> <strong>de</strong>cisão como as quantida<strong>de</strong>s que cada tipo <strong>de</strong>petróleo em cada tipo <strong>de</strong> gasolina. Assim, consi<strong>de</strong>rando P = {1, 2, 3, 4} o conjunto dos tipos<strong>de</strong> petróleo e G = {A, Z, S} o conjunto dos tipos <strong>de</strong> gasolina, as variáveis <strong>de</strong> <strong>de</strong>cisão sãox ij = “número <strong>de</strong> barris <strong>de</strong> petróleo do tipo j que serão <strong>de</strong>stinados à produção da gasolina i”.A função objetivo <strong>de</strong>ve medir o lucro da refinaria, ou seja, receitas menos custos. A receitacom a venda <strong>de</strong> gasolina amarela, por exemplo, é 22(x A1 + x A2 + x A3 + x A4 ). Já o custo com otipo <strong>de</strong> petróleo 1, por exemplo, é 19(x S1 + x Z1 + x A1 ). Assim, a função objetivo será22 ∑ j∈Px Aj + 28 ∑ j∈Px Zj + 35 ∑ j∈Px Sj − 19 ∑ i∈Gx i1 − 24 ∑ i∈Gx i2 − 20 ∑ i∈Gx i3 − 27 ∑ i∈Gx i4 .As restrições relativas às quantida<strong>de</strong>s <strong>de</strong> petróleo disponível (Tabela 5.4) são• ∑ i∈G x i1 ≤ 3.500 (Tipo 1)• ∑ i∈G x i2 ≤ 2.200 (Tipo 2)• ∑ i∈G x i3 ≤ 4.200 (Tipo 3)• ∑ i∈G x i4 ≤ 1.800 (Tipo 4)As restrições relativas à qualida<strong>de</strong> das gasolinas (Tabela 5.5) levam em consi<strong>de</strong>ração aquantida<strong>de</strong> total <strong>de</strong> petróleo em cada tipo <strong>de</strong> gasolina. Por exemplo a quantida<strong>de</strong> <strong>de</strong> petróleona gasolina Superazul é ∑ j∈P x Sj. Temos então• para a gasolina superazul,x S1 ≤ 0, 3 ∑ j∈P x Sj, x S2 ≤ 0, 4 ∑ j∈P x Sj, x S3 ≤ 0, 5 ∑ j∈P x Sj.• para a gasolina azul,x Z1 ≤ 0, 3 ∑ j∈P x Zj,x Z2 ≤ 0, 1 ∑ j∈P x Zj.• para a gasolina amarela,x A1 ≤ 0, 7 ∑ j∈P x Aj.Também, é claro que as quantida<strong>de</strong>s x ij ≥ 0, ∀(i, j) ∈ G × P .Ativida<strong>de</strong> 6. Escreva o mo<strong>de</strong>lo do Exemplo 5.2.3 na forma matricial canônica (<strong>de</strong> maximização).


CAPÍTULO 5. INTRODUÇÃO 41Exemplo 5.2.4. [Problema <strong>de</strong> Transporte [1]] Uma companhia <strong>de</strong> café processa o grãoem m centros <strong>de</strong> processamento. O café moído é então transportado para n unida<strong>de</strong>s <strong>de</strong> distribuição,que embalam, distribuem e exportam o produto. Suponha que o custo <strong>de</strong> transporte<strong>de</strong> uma tonelada <strong>de</strong> café moído do centro <strong>de</strong> processamento i à unida<strong>de</strong> <strong>de</strong> distribuição j sejac ij . Suponha também que a capacida<strong>de</strong> <strong>de</strong> produção <strong>de</strong> café moído no centro i seja no máximo<strong>de</strong> a i toneladas, e que a <strong>de</strong>manda do produto na unida<strong>de</strong> <strong>de</strong> distribuição j seja exatamente <strong>de</strong>b j toneladas. Deseja-se encontrar o plano <strong>de</strong> distribuição do café moído <strong>de</strong> modo a minimizaros custos <strong>de</strong> transporte. A figura 5.2 representa o problema. À esquerda, os centros <strong>de</strong> processamentoe à direita as unida<strong>de</strong>s <strong>de</strong> distribuição (algumas setas foram omitidas para melhorvisualização).Figura 5.2: Figura para o exemplo 5.2.4Consi<strong>de</strong>ramos as seguintes variáveis <strong>de</strong> <strong>de</strong>cisão:x ij = “quantida<strong>de</strong> em toneladas <strong>de</strong> café moído transportadodo centro i à unida<strong>de</strong> j”.Assim, o mo<strong>de</strong>lo para o problema <strong>de</strong> transporte émins.a.m∑ n∑c ij x iji=1j=1n∑x ij ≤ a i ,j=1m∑x ij = b j ,i=1x ij ≥ 0,∀i∀j∀i, jO problema <strong>de</strong> transporte tem gran<strong>de</strong> importância teórica e prática. Várias aplicaçõespo<strong>de</strong>m ser mo<strong>de</strong>ladas como acima, ou em suas variantes. Também, esse mo<strong>de</strong>lo tem característicasanalíticas muito peculiares, que permitem sua resolução em computador ser muitoatrativa. Ele será estudado com <strong>de</strong>talhes mais adiante.Ativida<strong>de</strong> 7. Interprete a função objetivo e as restrições do mo<strong>de</strong>lo do problema <strong>de</strong> transporte.


CAPÍTULO 5. INTRODUÇÃO 425.3 Resolução geométrica <strong>de</strong> problemas <strong>de</strong> programaçãolinearPara problemas pequenos com 2 ou 3 variáveis <strong>de</strong> <strong>de</strong>cisão, há uma maneira <strong>de</strong> resolvê-losgeometricamente. Embora não seja efetivo resolver problemas gran<strong>de</strong>s, as i<strong>de</strong>ias geométricasauxiliam no entendimento do problema.Consi<strong>de</strong>raremos aqui problemas do tipomin cxs.a. Ax ≤ bcom duas variáveis. Começamos com o problemax ≥ 0min −x 1 −3x 2s.a. x 1 +x 2 ≤ 6−x 1 +2x 2 ≤ 8x 1 , x 2 ≥ 0Cada inequação <strong>de</strong>fine um semiplano. Para saber que região uma inequação <strong>de</strong>fine, consi<strong>de</strong>repor exemplo a inequação −x 1 + 2x 2 ≤ 8. Observe que, por exemplo, a origem satisfaz ainequação, e logo o semiplano que ela <strong>de</strong>screve está abaixo da reta −x 1 + 2x 2 = 8. Alternativamente,po<strong>de</strong>mos verificar que o gradiente da função −x 1 + 2x 2 , o vetor (−1, 2), aponta parafora do semiplano que a inequação do tipo ≤ <strong>de</strong>fine (se fosse ≥ apontaria para <strong>de</strong>ntro). Asinterseções <strong>de</strong>sses semiplanos <strong>de</strong>finem a região viável do problema, ilustrada na figura 5.3.Figura 5.3: Solução geométrica [1]Observe agora que a fim <strong>de</strong> minimizar a função cx = −x 1 − 3x 2 sobre o conjunto viável,<strong>de</strong>vemos estabelecer seu menor nível z = −x 1 − 3x 2 cuja curva <strong>de</strong> nível tenha interseção com oconjunto viável. É sabido que os níveis <strong>de</strong> cx <strong>de</strong>crescem no sentido contrário ao seu gradiente


CAPÍTULO 5. INTRODUÇÃO 43c = (−1, −3). Geometricamente, vemos que a (única) solução ótima é o ponto (4/3, 14/3).Note que esse ponto é vértice da região viável.No exemplo acima, a solução ótima é única. No entanto, outros casos po<strong>de</strong>m ocorrer. Sãoeles:• Única solução ótima. Veja figura 5.4.Figura 5.4: Única solução ótima [1]• Infinitas soluções ótimas. Veja figura 5.5. No caso em que a curva <strong>de</strong> nível da funçãoobjetivo for paralela à uma aresta da região viável que contenha um ótimo, toda a arestaserá <strong>de</strong> ótimos visto que o valor da função objetivo nessa aresta é o mesmo. Po<strong>de</strong> ocorrerque o conjunto viável seja ilimitado e que tenhamos uma semi-reta <strong>de</strong> soluções ótimas.Figura 5.5: Infinitas soluções ótimas [1]• Nenhuma solução ótima. Po<strong>de</strong> ocorrer que o conjunto viável seja vazio, ou que sejailimitado e exista uma sequência <strong>de</strong> pontos x n com lim n→∞ cx n = −∞ (é o caso da figura5.6). No primeiro caso, dizemos que o problema é inviável e no segundo, que o problemaé ilimitado.


CAPÍTULO 5. INTRODUÇÃO 44Figura 5.6: Nenhuma solução ótima [1]Observe que em todos os casos em que há solução ótima, pelo menos uma se encontra numvértice da região viável. Isso é um fato geral importante, e será <strong>de</strong>monstrado adiante.5.4 Exercícios1. Fazer os seguintes exercícios do livro do Bazaraa [1]: 1.31 (a-c), 1.33, 1.34, 1.35, 1.38,1.41.5.5 <strong>Notas</strong>Apresentamos neste capítulo alguns exemplos <strong>de</strong> problemas <strong>de</strong> programação linear. Maisproblemas da prática po<strong>de</strong>m ser encontrados nas referências em português [4, 7].


Capítulo 6Elementos <strong>de</strong> Análise Convexa6.1 Conjuntos convexos, pontos extremos, semi-espaçose direçõesUm conjunto D ⊂ R n é dito convexo se para cada quaisquer x 1 , x 2 ∈ D, tem-se queλx 1 + (1 − λ)x 2 ∈ D para todo λ ∈ [0, 1], ou seja, o segmento que liga x 1 e x 2 está contido emD.Figura 6.1: Conjunto convexo (esquerda) e não convexo (direita)Dizemos que x = λx 1 + (1 − λ)x 2 com λ ∈ [0, 1] é uma combinação convexa <strong>de</strong> x 1 e x 2 .Quando λ ∈ (0, 1), a combinação é estrita. De maneira geral, uma combinação convexa dospontos x 1 , . . . , x k é uma soma do tipok∑λ i x i ,i=1λ i ≥ 0, ∀i,k∑λ i = 1.i=1Dado qualquer conjunto E ⊂ R n , o fecho convexo <strong>de</strong> E, <strong>de</strong>notado por conv E, é o menorconjunto convexo que contém E. Equivalentemente, conv E é a interseção <strong>de</strong> todos os conjuntosconvexos em R n que contêm E 1 . Cabe observar que conv E é precisamente o conjunto <strong>de</strong> todasas combinações convexas <strong>de</strong> finitos pontos <strong>de</strong> E. Mais ainda, o Teorema <strong>de</strong> Carathéodory (nãoenunciado aqui) garante que é suficiente os conjuntos com n + 1 pontos para <strong>de</strong>screver conv E.Exemplo 6.1.1. São conjuntos convexos:• {(x 1 , x 2 ); x 2 1 + x 2 2 ≤ 1}.• {x; Ax = b}, on<strong>de</strong> A é m × n.• {x; Ax = b, x ≥ 0}, on<strong>de</strong> A é m × n.1 A interseção <strong>de</strong> uma família qualquer <strong>de</strong> conjuntos convexos é convexa.45


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 46• {x; Ax ≤ b, x ≥ 0}, on<strong>de</strong> A é m × n.• a reta que passa por a ∈ R n na direção <strong>de</strong> v, {x; x = a + λv, λ ≥ 0}.• {x; x = ∑ mi=1 λ iv i , λ i ≥ 0, ∀i}.Ativida<strong>de</strong> 8. Mostre que os conjuntos do exemplo anterior são convexos.Dado um conjunto convexo D, x ∈ D é dito ponto extremo <strong>de</strong> D se não po<strong>de</strong> ser representadopor uma combinação convexa <strong>de</strong> dois pontos distintos <strong>de</strong> x em D, isto é, não existem x 1 , x 2 ∈D\{x} e λ ∈ (0, 1) tais que x = λx 1 + (1 − λ)x 2 .Figura 6.2: Pontos extremosUm subconjunto <strong>de</strong> R n da forma{H = {x; px = k} = (x 1 , . . . , x n );}n∑p i x i = ki=1(6.1)on<strong>de</strong> p ≠ 0 e k ∈ R, é chamado hiperplano. Note que se n = 2, H é uma reta em R 2 , e sen = 3, um plano em R 3 .Ativida<strong>de</strong> 9. Mostre que qualquer hiperplano é conjunto convexo.Dado um hiperplano H como em (6.1), dizemos que o vetor p é normal a H, ou o gradiente<strong>de</strong> H. Geometricamente, tomemos x 0 ∈ H. Temos px 0 = k, e logo para qualquer x ∈ H, segueque px = px 0 , ou seja,p(x − x 0 ) = 0.Assim, p é ortogonal à x − x 0 para qualquer x ∈ H (ortogonal em relação ao produto internocanônico em R n ).Um hiperplano H divi<strong>de</strong> R n em duas regiões: H 1 = {x; px ≤ k} e H 2 = {x; px ≥ k}. Aessas regiões damos o nome <strong>de</strong> semi-espaços. Po<strong>de</strong>mos ainda escrevê-los comoH 1 = {x; p(x − x 0 ) ≤ 0} e H 2 = {x; p(x − x 0 ) ≥ 0},ou seja, H 1 consiste nos pontos x tais que x − x 0 forma um ângulo ≥ 90 0 com p, os pontosque estão no semi-espaço oposto ao que p aponta, e H 2 nos pontos x tais que x − x 0 forma umângulo ≤ 90 0 com p, os pontos que estão no semi-espaço que p aponta.


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 47Figura 6.3: Semi-espaçosNeste ponto po<strong>de</strong>mos encarar o conjunto {x; Ax ≤ b, x ≥ 0} como a interseção dos semiespaços{x; a i x ≤ b i }, i = 1, . . . , m, e {x; e j x ≥ 0}, j = 1, . . . , n, on<strong>de</strong> a ′ is são as linhas <strong>de</strong> Ae e ′ js os canônicos <strong>de</strong> R n .Dado um conjunto convexo D, um vetor não nulo d é uma direção <strong>de</strong> recessão <strong>de</strong> D ousimplesmente direção <strong>de</strong> D se para cada x ∈ D, a semi-reta {x + λd, λ ≥ 0} está contida emD. Cabe notar que se D for limitado, não possui direções.Teorema 6.1.(i) d é direção <strong>de</strong> {x; Ax ≤ b, x ≥ 0} ̸= ∅ se, e somente se,d ≥ 0, d ≠ 0 e Ad ≤ 0.(ii) d é direção <strong>de</strong> {x; Ax = b, x ≥ 0} ̸= ∅ se, e somente se,d ≥ 0, d ≠ 0 e Ad = 0.Demonstração. Vamos mostrar o primeiro item, e <strong>de</strong>ixamos o segundo para o leitor.d ≠ 0 é direção <strong>de</strong> D = {x; Ax = b, x ≥ 0} se, e somente se, A(x + λd) ≤ b e x + λd ≥ 0para todos λ ≥ 0 e x ∈ D, ou seja,Ax ≤ b − λAd, x ≥ −λd, ∀x ∈ D, ∀λ ≥ 0. (6.2)Se Ad ≤ 0 e d ≥ 0, então as condições (6.2) valem pois neste caso Ax ≤ b ≤ b − λAd ex ≥ 0 ≥ −λd para todos x ∈ D e λ ≥ 0, e d é direção <strong>de</strong> D. Reciprocamente, suponha queAd ≰ 0 ou d ≱ 0, e fixemos x 0 ∈ D. Se (Ad) i > 0 então existe um λ ≥ 0 suficientementegran<strong>de</strong> tal que (Ax 0 ) i > b i − λ(Ad) i . Da mesma forma, se d i < 0 então existe um λ ≥ 0suficientemente gran<strong>de</strong> <strong>de</strong> forma que x 0 i < −λd i . Em ambos os casos, (6.2) garante que d nãoseria direção <strong>de</strong> D. Isso completa a <strong>de</strong>monstração.Observamos que ao consi<strong>de</strong>rar as direções <strong>de</strong> um conjunto D, po<strong>de</strong>mos supor que todas elassão vetores normalizados, como observado na próxima Ativida<strong>de</strong>.Ativida<strong>de</strong> 10. Mostre que se d é direção <strong>de</strong> um conjunto D, então αd é também direção <strong>de</strong>D para qualquer α > 0. Faça o mesmo para direções extremas.Dois vetores d 1 e d 2 são distintos se d 1 não é múltiplo positivo <strong>de</strong> d 2 (e assim, vice-versa).Uma direção d <strong>de</strong> um conjunto convexo D é direção extrema se não po<strong>de</strong> ser escrita como umacombinação positiva <strong>de</strong> duas direções distintas em D. Ou seja, d é direção extrema <strong>de</strong> D senão existem λ 1 , λ 2 > 0 e direções distintas d 1 , d 2 <strong>de</strong> D tais que d = λ 1 d 1 + λ 2 d 2 .Um conjunto convexo C tal que λx ∈ C para todos x ∈ C e λ ≥ 0 é chamado cone convexoou simplesmente cone. Note que todo cone contém a origem, pois 0 = 0x ∈ C. Em particular,dados vetores a 1 , . . . , a k , po<strong>de</strong>mos formar o cone{ k∑}cone {a 1 , . . . , a k } = λ j a j ; λ j ≥ 0, j = 1, . . . , k ,j=1


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 48chamado <strong>de</strong> cone finitamente gerado (por a 1 , . . . , a k ). Em outras palavras, cone {a 1 , . . . , a k }é o conjunto das semi-retas emanando da origem nas direções a 1 , . . . , a k e suas combinaçõesnão negativas. Note que assim é suficiente as direções extremas para caracterizar um conefinitamente gerado.Figura 6.4: Cone gerado por (0, 1) e (1, 1) [1]Ativida<strong>de</strong> 11. Mostre que cone {a 1 , . . . , a k } é <strong>de</strong> fato um cone.Ativida<strong>de</strong> 12. Mostre que se cada a i não é uma combinação não negativa <strong>de</strong> a 1 , . . . , a k , excetoa trivial a i = 1a i , então todo a i é direção extrema <strong>de</strong> cone {a 1 , . . . , a k }. Mais ainda, mostreque neste caso as únicas direções extremas são a 1 , . . . , a k , <strong>de</strong>scartando seus múltiplos positivos.Dica: mostre que toda direção <strong>de</strong> um cone pertence ao próprio cone, e que todo elemento nãonulo do cone é direção.Ativida<strong>de</strong> 13. Mostre que o conjunto das direções <strong>de</strong> {x; Ax ≤ b, x ≥ 0}, <strong>de</strong>scrito noTeorema 6.1, unido com o vetor nulo é um cone. Este cone é chamado cone <strong>de</strong> recessão.6.2 Funções convexas e côncavasUma função f : D ⊂ R n → R é dita ser convexa se para todos x 1 , x 2 ∈ D e λ ∈ [0, 1] temosf(λx 1 + (1 − λ)x 2 ) ≤ λf(x 1 ) + (1 − λ)f(x 2 ).Da mesma forma, uma função f : D ⊂ R n → R é dita ser côncava se −f é convexa, ou seja,f(λx 1 + (1 − λ)x 2 ) ≥ λf(x 1 ) + (1 − λ)f(x 2 ), ∀x 1 , x 2 ∈ D, ∀λ ∈ [0, 1].Geometricamente, o segmento que liga os pontos (x 1 , f(x 1 )) e (x 2 , f(x 2 )) do gráfico <strong>de</strong> f <strong>de</strong>uma função convexa está acima da curva sobre o gráfico <strong>de</strong> f, resultado da projeção vertical<strong>de</strong>ste segmento. Já para uma função côncava, este segmento está abaixo (veja figura 6.5).


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 49Figura 6.5: Função convexa (a); côncava (b); e nem convexa, nem côncava (c) [1]Ativida<strong>de</strong> 14. Mostre que a função linear f(x) = cx é convexa e côncava simultaneamente.6.3 Conjuntos poliedraisConjuntos poliedrais são conjuntos <strong>de</strong>finidos por finitas equações e/ou inequações lineares.Em outras palavras, são conjuntos formados pela interseção <strong>de</strong> finitos semi-espaços.Assim, os conjuntos <strong>de</strong> nosso interesse, como por exemplo{x; Ax ≤ b, x ≥ 0} e {x; Ax = b, x ≥ 0}são ditos poliedrais. É sabido que esses conjuntos são convexos (Exemplo 6.1.1, página 45). Nocaso <strong>de</strong> um conjunto poliedral ser limitado, é comum chamá-lo <strong>de</strong> politopo. Em particular, aosconjuntos que po<strong>de</strong>m ser representados da forma{x; Ax ≤ 0}damos o nome <strong>de</strong> cone poliedral. É fácil notar que um cone poliedral é um cone. O Teorema aseguir não será <strong>de</strong>monstrado (para uma <strong>de</strong>monstração, veja por exemplo [2]).Teorema 6.2 (<strong>de</strong> Minkowski-Weyl). Um cone é poliedral se, e somente se, é finitamentegerado.Um ponto extremo <strong>de</strong> um conjunto poliedral é também chamado <strong>de</strong> vértice. A seguir,daremos uma caracterização algébrica dos vértices <strong>de</strong> um conjunto poliedral da forma{x; Ax ≤ b}.Note que, como qualquer conjunto poliedral po<strong>de</strong> ser posto na forma acima, o resultado éaplicado a qualquer conjunto poliedral.Antes, <strong>de</strong>finimos a noção <strong>de</strong> restrição ativa. Diremos que uma restrição a i x ≤ b i é ativa emx 0 se ela é realizada como igualda<strong>de</strong> em x 0 , ou seja, sea i x 0 = b i .Do mesmo modo, a restrição será inativa em x 0 se a i x 0 < b i .


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 50Teorema 6.3. Seja x um ponto do conjunto poliedralD = {x ∈ R n ; Ax ≤ b}.Então x é vértice <strong>de</strong> D se, e somente se, a matriz com linhas a i = e i A, i ∈ I(x) = {i; a i x = b i },tem posto n.Ou seja, x é vértice <strong>de</strong> D se, e somente se, a matriz formada pelas linhas <strong>de</strong> A relativas àsrestrições ativas em x tem posto n.Demonstração. [6] Denotando o conjunto dos índices das restrições ativas em x por I = I(x),consi<strong>de</strong>ramos as matrizes A I e b I , cujas linhas são as <strong>de</strong> A e b com índices em I.Suponhamos que a matriz quadrada A I tem posto n, e que x não seja vértice <strong>de</strong> D. Entãopara certos x 1 , x 2 ∈ D\{x} com x 1 ≠ x 2 e λ ∈ (0, 1) temosPois bem, temosx = λx 1 + (1 − λ)x 2 .0 = A I x − b I = A I (λx 1 + (1 − λ)x 2 ) − b I = λ(A I x 1 − b I ) + (1 − λ)(A I x 2 − b I ).Como A I x 1 − b I ≤ 0, A I x 2 − b I ≤ 0, λ > 0 e 1 − λ > 0, <strong>de</strong>vemos terA I x 1 − b I = 0 e A I x 2 − b I = 0.Logo A I (x 1 − x 2 ) = 0, e como A I tem posto n, o sistema anterior admite somente a soluçãonula. Daí x 1 = x 2 , um absurdo. Isso mostra que x é vértice <strong>de</strong> D.Reciprocamente, suponhamos que x seja vértice <strong>de</strong> D e que A I tenha posto menor que n.Então o sistema A I y = 0 admite uma solução não trivial, digamos x ≠ 0. LogoA I (x + tx) = A I x = b I , ∀t ≥ 0.Como para i /∈ I temos a i x < b i , para todo t > 0 suficientemente pequeno obtemosa i (x ± tx) = a i x ± ta i x < b i , ∀i /∈ I.Concluímos que para todo t > 0 suficientemente pequeno, temos A(x ± tx) ≤ b, ou seja,x ± tx ∈ D. Por outro lado,x = x + tx + x − tx .2 2Isso contradiz o fato <strong>de</strong> x ser vértice, e logo A I tem posto n.Corolário 6.4. O número <strong>de</strong> vértices <strong>de</strong> um conjunto poliedral é finito.Demonstração. Po<strong>de</strong>mos transformar qualquer conjunto poliedral na forma do teorema anterior.Como o número <strong>de</strong> combinações <strong>de</strong> n linhas da matriz A é finito, pelo Teorema anterioros vértices <strong>de</strong> um conjunto poliedral são em número finito.Corolário 6.5. O número <strong>de</strong> direções extremas (normalizadas) <strong>de</strong> um conjunto poliedral éfinito.Demonstração. Supomos sem perda <strong>de</strong> generalida<strong>de</strong> que o conjunto poliedral seja da formaD = {x; Ax ≤ b, x ≥ 0}. Se D for vazio, o número <strong>de</strong> direções é zero. Suponhamos que D ≠ ∅.Pelo Teorema 6.1, d é direção <strong>de</strong> D, e somente se, d ∈ {d; d ≥ 0, Ad ≤ 0}\{0}. Supomos asdireções <strong>de</strong> D unitárias em relação à norma da soma, ou seja, tais que |d 1 | + · · · + |d n | = 1.


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 51Como d ≥ 0 isso equivale à 1d = d 1 +· · ·+d n = 1. Assim, o conjunto das direções normalizadas<strong>de</strong> D éS = {d; d ≥ 0, Ad ≤ 0, 1d = 1}.Agora, afirmamos que as direções extremas (normalizadas) <strong>de</strong> D são exatamente os pontosextremos <strong>de</strong> S. De fato, se d = λ 1 d 1 + λ 2 d 2 , com λ 1 , λ 2 > 0 e d 1 , d 2 ∈ S distintos então1d = λ 1 1d 1 + λ 2 1d 2 ⇒ λ 1 + λ 2 = 1.Isso mostra que se d é ponto extremo <strong>de</strong> S então é direção extrema <strong>de</strong> D. A recíproca é feita<strong>de</strong> forma análoga, com os termos λ, 1 − λ > 0.Portanto, como S é poliedral, o Corolário 6.4 diz que as direções extremas normalizadas <strong>de</strong>D são em finito número.Naturalmente, tendo em vista o Teorema 6.3, um vértice do conjunto poliedralD = {x ∈ R n ; Ax ≤ b, x ≥ 0}é caracterizado pelas restrições ativas relativas à matriz[ A−I n](explique o porquê). Um vértice x ∈ R n tal que mais <strong>de</strong> n restrições são ativas é dito <strong>de</strong>generado.Neste caso, mais <strong>de</strong> n hiperplanos passam por x, e logo pelo menos um <strong>de</strong>les po<strong>de</strong> ser <strong>de</strong>scartadona <strong>de</strong>scrição <strong>de</strong> x. É claro que quando um vértice é <strong>de</strong>generado, po<strong>de</strong>mos representá-lo porvários conjuntos <strong>de</strong> restrições ativas pois existem várias combinações <strong>de</strong> n restrições <strong>de</strong>ntre asmais <strong>de</strong> n ativas. Essa situação é in<strong>de</strong>sejada no sentido <strong>de</strong> que traz um problema ao métodoSimplex como veremos no Capítulo 8. Estudaremos uma modificação bem simples no Simplexoriginal que contorna esse problema (a Regra <strong>de</strong> Bland).Finalizamos este capítulo com o Teorema da Representação para conjuntos poliedrais. Eleserá usado para provar fatos importantes no <strong>de</strong>senvolvimento do Simplex. Para uma <strong>de</strong>monstração,consulte [1]. Alternativamente, você po<strong>de</strong> consultar o Teorema da Representação <strong>de</strong>Minkowski-Weyl, em [2].Teorema 6.6 (da Representação <strong>de</strong> Conjuntos Poliedrais). SejaD = {x ∈ R n ; Ax ≤ b, x ≥ 0}um conjunto poliedral não vazio. O conjunto dos vértices <strong>de</strong> D é não vazio e finito, digamos{x 1 , . . . , x k }. Também, o conjunto das direções <strong>de</strong> D é vazio se, e somente se, D é limitado.Se D não é limitado, então o conjunto das direções (normalizadas) <strong>de</strong> D é finito, digamos{d 1 , . . . , d l }. Mais ainda todo ponto <strong>de</strong> D é uma combinação convexa dos pontos extremos maisuma combinação não negativa das direções extremas (normalizadas) <strong>de</strong> D, ou seja, qualquerx ∈ D po<strong>de</strong> ser escrito comox =k∑λ j x j +j=1λ j ≥ 0,l∑µ j d jj=1k∑λ j = 1j=1j = 1, . . . , kµ j ≥ 0, j = 1, . . . , l.


CAPÍTULO 6. ELEMENTOS DE ANÁLISE CONVEXA 52Em outras palavras, D é a soma do fecho convexo dos seus pontos extremos com o cone finitamentegerado pelas suas direções extremas (normalizadas), isto é,D = conv {x 1 , . . . , x k } + cone {d 1 , . . . , d l }.Exemplo 6.3.1. [1] Consi<strong>de</strong>re o conjunto poliedral D <strong>de</strong>finido pelas inequações−3x 1 +x 2 ≤ −2−x 1 +x 2 ≤ 2−x 1 +2x 2 ≤ 8−x 2 ≤ −2x 1 , x 2 ≥ 0Figura 6.6: Geometria do exemploOs pontos extremos <strong>de</strong> D são x 1 = (4, 6), x 2 = (2, 4) e x 3 = (4/3, 2) (veja Figura 6.6). Oconjunto das direções normalizadas <strong>de</strong> D éS = {(d 1 , d 2 ); −3d 1 + d 2 ≤ 0, −d 1 + d 2 ≤ 0, −d 1 + 2d 2 ≤ 0, −d 2 ≤ 0, d 1 + d 2 = 1, d 1 , d 2 ≥ 0}.Os pontos extremos <strong>de</strong> S são d 1 = (2/3, 1/3), d 2 = (1, 0) (veja Figura 6.6), e essas são asdireções extremas normalizadas <strong>de</strong> D, <strong>de</strong> acordo com a <strong>de</strong>monstração do Corolário 6.5.Pelo Teorema da Representação, todo ponto x ∈ D é escrito da formax = λ 1 x 1 + λ 2 x 2 + λ 3 x 3 + µ 1 d 1 + µ 2 d 2 , λ 1 + λ 2 + λ 3 = 1, λ 1 , λ 2 , λ 3 , µ 1 , µ 2 ≥ 0.Por exemplo,Também,(4, 3) = 1 4 x 1 + 0x 2 + 3 4 x 3 + 0d 1 + 2d 2 .(4, 3) = 0x 1 + 1 2 x 2 + 1 2 x 3 + 0d 1 + 7 3 d 2.Isso mostra que a escrita do Teorema 6.6 não é única.Ativida<strong>de</strong> 15. Mostre que o conjunto D = {x; px = k}, p ≠ 0, não tem nem pontos extremos.Porque isso não contradiz o Teorema da Representação <strong>de</strong> conjuntos poliedrais?6.4 Exercícios1. Fazer os seguintes exercícios do livro do Bazaraa [1]: 2.28, 2.29, 2.33, 2.37, 2.38, 2.39,2.41, 2.43, 2.44, 2.52.


Capítulo 7O Método Simplex7.1 Pontos extremos e otimalida<strong>de</strong>Consi<strong>de</strong>re o problemamin cx (7.1)s.a. Ax = bx ≥ 0Sejam x 1 , . . . , x k os pontos extremos do conjunto viável D e d 1 , . . . , d l as direções extremas(normalizadas) <strong>de</strong> D. Pelo Teorema da Representação (Teorema 6.6), o PL po<strong>de</strong> ser reescritoda seguinte forma:mins.a.k∑l∑(cx j )λ j + (cd j )µ jj=1k∑λ j = 1j=1j=1λ j ≥ 0, j = 1, . . . , kµ j ≥ 0, j = 1, . . . , l.Se D ≠ ∅ então as restrições <strong>de</strong> não negativida<strong>de</strong> garantem que existem pontos extremos,ou seja, k ≥ 1 (veja o Teorema da Representação). Observe que as variáveis µ j po<strong>de</strong>m serarbitrariamente gran<strong>de</strong>s, e logo a FO vai a −∞ se cd j < 0 para algum j = 1. . . . , l (fazemosµ j → ∞). Por outro lado, se cd j ≥ 0 para todo j = 1, . . . , l, então a fim <strong>de</strong> resolver o PL todosµ j são levados a zero. Agora, para minimizar ∑ kj=1 (cx j)λ j , basta encontrar um menor cx j ,digamos cx p , fazer λ p = 1 e λ j = 0 para todo j ≠ p. Ou seja, se o PL admite solução ótima,então uma <strong>de</strong>las é um dos vértices x 1 , . . . , x k .Resumindo, temos oTeorema 7.1. Consi<strong>de</strong>re o PL (7.1) on<strong>de</strong> o conjunto viável é não vazio com pontos extremosx 1 , . . . , x k e direções extremas d 1 , . . . , d l . Então(i) PL admite solução ótima se, e somente se, cd j ≥ 0 para todo j = 1, . . . , l;(ii) Se PL admite solução ótima, então uma se encontra num vértice do conjunto viável.Ativida<strong>de</strong> 16. Mostre que se o PL (7.1) admite dois vértices x 1 e x 2 como soluções ótimas,então o segmento que liga esses vértices é formado somente <strong>de</strong> soluções ótimas. Retome a seção5.3 e dê uma explicação geométrica para o fato.53


CAPÍTULO 7. O MÉTODO SIMPLEX 54Ativida<strong>de</strong> 17. Generalizando a ativida<strong>de</strong> anterior, mostre que se x 1 , . . . , x d são soluções ótimasdo PL (7.1), então qualquer combinação convexa <strong>de</strong>sses pontos é solução ótima.Ativida<strong>de</strong> 18. Mostre que se o PL (7.1) admite o vértice x j como solução ótima e d i fordireção tal que cd i = 0, então a semi-reta emanando <strong>de</strong> x j na direção <strong>de</strong> d i é formada <strong>de</strong>soluções ótimas.Exemplo 7.1.1. [1] Consi<strong>de</strong>re o conjunto <strong>de</strong>finido por−x 1 +x 2 ≤ 2−x 1 +2x 2 ≤ 6x 1 , x 2 ≥ 0Figura 7.1: Geometria do exemploOs pontos extremos são x 1 = (0, 0), x 2 = (0, 2) e x 3 = (2, 4), e as direções extremas,d 1 = (1, 0) e d 2 = (2, 1). Suponha que estamos minimizando x 1 − 3x 2 sobre este conjunto. AFigura 7.1(a) indica que assim o PL é ilimitado. Observe que cd 2 = −1 < 0, o que confirma ofato.Suponha agora que a função a ser minimizada seja 4x 1 − x 2 . Neste caso, temos cx 1 = 0,cx 2 = −2, cx 3 = 4, cd 1 = 4 e cd 2 = 7. Assim, O PL tem solução ótima e po<strong>de</strong> ser escritocomomin 0λ 1 − 2λ 2 + 4λ 3 + 4µ 1 + 7µ 23∑s.a. λ j = 1j=1λ j ≥ 0, j = 1, . . . , 3µ j ≥ 0, j = 1, . . . , 2.A solução para este problema é fazer µ j = 0, j = 1, 2, λ 2 = 1 e λ j = 0, j = 1, 3. Com isso, ovértice x 2 = (0, 2) é solução ótima (veja a Figura 7.1(b)).7.2 Soluções básicas viáveisDaremos agora uma <strong>de</strong>scrição a<strong>de</strong>quada para pontos extremos.Definição 7.2. Consi<strong>de</strong>re o sistema Ax = b, x ≥ 0, on<strong>de</strong> A é m × n (m ≤ n). Suponha queo posto <strong>de</strong> A seja m. Rearranjando se necessário as colunas <strong>de</strong> A, escrevemos A = [ B N ]on<strong>de</strong> B é matriz <strong>de</strong> or<strong>de</strong>m m inversível e N é m × (n − m). Uma solução[ ] [ ]xB Bx = =−1 bx N 0


CAPÍTULO 7. O MÉTODO SIMPLEX 55<strong>de</strong> Ax = b é dita ser uma solução básica do sistema (note que ao arranjar as colunas <strong>de</strong> A,o mesmo ocorre com as linhas <strong>de</strong> x). Se além disso tivermos x B ≥ 0 (e assim x ≥ 0), entãodizemos que x é solução básica viável do sistema. Neste caso, B é chamada matriz básica ousimplesmente base, e a matriz N é chamada matriz não básica. As componentes <strong>de</strong> x B sãochamadas variáveis básicas e as componentes <strong>de</strong> x N <strong>de</strong> variáveis não básicas. Se x B > 0 entãodizemos que x é uma solução básica não <strong>de</strong>generada. Do contrário, x é dita uma solução básica<strong>de</strong>generada.Observamos que <strong>de</strong> fato uma solução básica é solução do sistema Ax = b poisAx = [ B N ] [ ]B −1 b= BB −1 b + N0 = b.0Também, a suposição da Definição <strong>de</strong> que A tenha posto m não é restritiva pois <strong>de</strong>s<strong>de</strong> queo sistema admita solução, po<strong>de</strong>mos <strong>de</strong>scartar linhas LD’s.Teorema 7.3. Seja D = {x; Ax = b, x ≥ 0} um conjunto não vazio. Então x é vértice <strong>de</strong> Dse, e somente se, x é solução básica viável <strong>de</strong> Ax = b, x ≥ 0 (rearranjando as colunas <strong>de</strong> Ase necessário).Mais ainda, x é vértice não <strong>de</strong>generado se, e somente se, é solução básica viável não <strong>de</strong>generada.Demonstração. Vamos <strong>de</strong>monstrar a primeira afirmação. Suponha que Ax = b, x ≥ 0 estejaescrito como na Definição 7.2, e seja x = [ B −1 b 0 ] tuma solução básica viável. Se m = n,então o sistema admite única solução x = B −1 b, e esta claramente será vértice. Consi<strong>de</strong>remosentão o caso em que m < n (isto é, há variáveis não básicas) e supomos por absurdo quex não seja vértice, ou seja, que existam x 1 , x 2 ∈ D\{x} distintos e λ ∈ (0, 1) tais que x =λx 1 + (1 − λ)x 2 . Particionamos x 1 e x 2 a<strong>de</strong>quadamente.Se x 1 N = 0 então x1 B = B−1 b − B −1 Nx 1 N = B−1 b = x B , e logo x 1 = x, uma contradição.Do mesmo modo, x 2 N ≠ 0. Mas da relação x = λx1 + (1 − λ)x 2 segue em particular que0 = x N = λx 1 N + (1 − λ)x 2 N,que não po<strong>de</strong> ser satisfeita pois λ, (1 − λ) > 0 e x 1 N , x2 N ≥ 0. Isso mostra que x é vértice.Reciprocamente, seja x um vértice. Pelo Teorema 6.3, existem n restrições ativas em x quesão LI. Ora, as m restrições contidas em Ax = b são claramente ativas em x, e são LI poiso posto <strong>de</strong> A é igual a m. Assim, se m = n então A é inversível e logo x = A −1 b é soluçãobásica viável, com matriz básica A. Agora, se m < n, existem n − m restrições LI ativas em xcontidas em x ≥ 0, digamos, x N = 0. Seja N a submatriz <strong>de</strong> A formada pelas m − n colunasrelativas às variáveis em x N , e B a submatriz <strong>de</strong> A formada pelas m colunas restantes, comvariáveis associadas x B . Observe que o sistema Ax = b, x N = 0 tem única solução, a saber,x. Esse sistema é equivalente à Bx B = b, x N = 0, e logo a matriz quadrada B é inversível.Assim, Bx B = b ⇒ x B = B −1 b, e x é solução básica viável.Agora, mostremos a segunda afirmação. Seja x = [ ] t [x B x N = B −1 b 0 ] t≥ 0. Se xé solução básica viável <strong>de</strong>generada então algum x Br = (x B ) r = 0. Como também Ax = b ex N = 0 (m+(n−m) = n restrições), há pelo menos n+1 restrições ativas em x, e daí, x é vértice<strong>de</strong>generado. Reciprocamente, se x é vértice <strong>de</strong>generado, além das n restrições ativas Ax = be x N = 0 existe pelo menos mais uma, que só po<strong>de</strong> ser uma das restrições em x B ≥ 0. Assim,x Br = 0 para algum índice das variáveis básicas, e x é solução básica viável <strong>de</strong>generada.Observamos que o Teorema anterior não afirma que para cada vértice há uma única base(ou uma única solução básica relacionada). Mais precisamente, se um há mais <strong>de</strong> uma base querepresenta um mesmo vértice, então este vértice é <strong>de</strong>generado, mas a recíproca é falsa, comomostra o Exemplo abaixo.


CAPÍTULO 7. O MÉTODO SIMPLEX 56Exemplo 7.2.1. [1] Consi<strong>de</strong>re o conjunto poliedral <strong>de</strong>finido por[ ] ⎡ ⎤x1 1 1 1[ ]⎣ x−1 1 1 2⎦ 1= , x ≥ 01x 3e sua solução x = (0, 1, 0). Tomando B = [ ]a 1 a 2 como a submatriz formada pelas colunasrelativas às variáveis x 1 e x 2 , você po<strong>de</strong> verificar que x B = B −1 b ≥ 0 e x N = 0, ou seja,x é solução básica viável (ou vértice) associada à base B. Mais ainda, afirmamos que B é aúnica base que representa x. De fato, há somente outras três possibilida<strong>de</strong>s: B 13 formada pelascolunas 1 e 3, B 31 pelas colunas 3 e 1, e B 21 pelas colunas 2 e 1. No caso por exemplo <strong>de</strong> B 13 ,as variáveis básicas são x 1 e x 3 . Logo x B13 = [ 0 0 ] t. Mas xB13 ≠ B −113 b, e B 13 não é baseassociada a x. Você po<strong>de</strong> mostrar o mesmo para as outras possibilida<strong>de</strong>s.Por outro lado, note que há quatro restrições ativas em x (as duas <strong>de</strong> igualda<strong>de</strong> mais duas<strong>de</strong> não negativida<strong>de</strong>), e logo x é vértice <strong>de</strong>generado. Neste caso você po<strong>de</strong> notar que a variávelbásica x 1 é zero, e como sabíamos, x é solução básica viável <strong>de</strong>generada.Ativida<strong>de</strong> 19. Mostre que se um vértice x admite mais <strong>de</strong> uma base, então é <strong>de</strong>generado.Corolário 7.4. Se D = {x; Ax = b, x ≥ 0} é não vazio, admite solução básica viável.Demonstração. Como D possui restrições <strong>de</strong> não negativida<strong>de</strong> e não é vazio, possui vértice,que correspon<strong>de</strong> a uma solução básica viável pelo Teorema 7.3.Corolário 7.5. Se o PL (7.1) tem conjunto viável não vazio e admite solução ótima, entãoexiste uma solução básica viável ótima.Demonstração. Segue diretamente dos Teoremas 7.1(b) e 7.3.Corolário 7.6. O conjunto viável do PL (7.1) admite um número finito <strong>de</strong> soluções básicasviáveis.Demonstração. Segue diretamente do Teorema 7.3 e do Corolário 6.4.7.3 Critério <strong>de</strong> otimalida<strong>de</strong> para soluções básicas viáveisTendo em vista os resultados obtidos até aqui neste Capítulo, po<strong>de</strong>mos resolver o PL (7.1)enumerando as soluções básicas viáveis <strong>de</strong> seu conjunto viável, se houverem. O método simplexé baseado nessa i<strong>de</strong>ia. Sem a necessida<strong>de</strong> <strong>de</strong> enumerar todas as soluções básicas, que seriaimpraticável, o Simplex é capaz <strong>de</strong> reconhecer a otimalida<strong>de</strong> <strong>de</strong> uma solução básica. Tambémé capaz <strong>de</strong> reconhecer problemas ilimitados.Pois bem, consi<strong>de</strong>re o PL (7.1)PL: min cxs.a. Ax = bx ≥ 0on<strong>de</strong> A é m × n com posto m. Tomemos uma solução básica viável[ ] B −1 b0


CAPÍTULO 7. O MÉTODO SIMPLEX 57cujo valor da FO é[ Bz 0 = c−1 b0]= [ c B c N] [ B −1 b0Agora, consi<strong>de</strong>remos um ponto viável qualquer x =[xB]= c B B −1 b.x N]. Temos Ax = b se, e somente se,x B = B −1 b − B −1 Nx N= B −1 b − ∑ j∈RB −1 a j x j= b − ∑ j∈Ry j x jon<strong>de</strong> R é o conjunto dos índices das variáveis não básicas (VNB’s), a j é a coluna j <strong>de</strong> A,b = B −1 b e y j = B −1 a j . O valor da FO em x éz = cx = c B x B + c N x N(= c B B −1 b − ∑ )B −1 a j x j + ∑ c j x jj∈Rj∈R= z 0 − ∑ j∈R(z j − c j )x jon<strong>de</strong> z j = c B B −1 a j . Com isso, PL po<strong>de</strong> ser reescrito comoPL: min z 0 − ∑ j∈R(z j − c j )x js.a.∑y j x j + x B = bj∈Rx j ≥ 0,x B ≥ 0.∀j ∈ RObservando que x B são variáveis <strong>de</strong> folga, o PL po<strong>de</strong> ser ainda reescrito comoPL: min z 0 − ∑ j∈R(z j − c j )x js.a.∑y j x j ≤ bj∈Rx j ≥ 0, ∀j ∈ R.Como b ≥ 0, é evi<strong>de</strong>nte do último mo<strong>de</strong>lo o seguinte critério <strong>de</strong> otimalida<strong>de</strong>:Teorema 7.7. Seja x uma solução básica viável <strong>de</strong> PL e R seu conjunto dos índices das VNB’s.(i) Se z j − c j ≤ 0 para todo j ∈ R, então x é solução ótima <strong>de</strong> PL;(ii) Se z j − c j < 0 para todo j ∈ R, então x é única solução ótima.Ativida<strong>de</strong> 20. Mostre que a recíproca do item (ii) do Teorema anterior é válida se não houver<strong>de</strong>generação.


CAPÍTULO 7. O MÉTODO SIMPLEX 587.4 Melhorando uma solução básica viávelComo dito anteriormente, o método Simplex busca por soluções básicas viáveis ótimas.Assim, nosso interesse é obter uma solução básica viável melhor que uma corrente. Como cadasolução básica viável correspon<strong>de</strong> a uma base B, <strong>de</strong>vemos obter uma outra base B ′ melhorque B. Ora, as matrizes básicas são formadas por colunas <strong>de</strong> A. Deste modo passaremos <strong>de</strong>uma base B para outra B ′ trocando uma <strong>de</strong> suas colunas por uma coluna não básica, <strong>de</strong> N.Devemos estabelecer então critérios para entrada e saída <strong>de</strong> variáveis da base.Suponhamos que temos uma solução básica [ B −1 b 0 ] t≥ 0 e consi<strong>de</strong>remos o mo<strong>de</strong>lo PLanterior, escrito nas VNB’s. Como sabemos, a FO só po<strong>de</strong> ser melhorada se existir j tal quez j − c j > 0. A fim <strong>de</strong> diminuir ao máximo a FO, escolhemos o índice k com maior z k − c k . Esseserá o critério para entrada <strong>de</strong> uma variável na base, ou seja, escolhemos a variável não básicax k tal quez k − c k = max {z j − c j },j∈Re a aumentamos. As VNB’s restantes continuam iguais zero, e então o novo valor da FO seráTambém, <strong>de</strong> x B = b − ∑ j∈R y jx j = b − y k x k segue que⎡⎢⎣x B1x B2.x Br.x Bmz = z 0 − (z k − c k )x k . (7.2)⎤⎡=⎥⎦ ⎢⎣⎤b 1b 2.b r⎥. ⎦b m⎡−⎢⎣⎤y 1ky 2k.y rk⎥. ⎦y mkx k , (7.3)on<strong>de</strong> a componente i <strong>de</strong> y k é <strong>de</strong>notada por y ik . Vamos analisar o quanto po<strong>de</strong>mos aumentar x kmantendo viabilida<strong>de</strong>, ou seja, x B ≥ 0. Se y ik ≤ 0 então x k ≥ 0 po<strong>de</strong> aumentar arbitrariamente.Agora, se y ik > 0, o valor máximo para x k <strong>de</strong> modo a manter x Bi ≥ 0 é b i /y ik (<strong>de</strong> fato,0 ≤ x Bi = b i − y ik x k ⇒ x k ≤ b i /y ik ). Assim, aumentamos x k a seu valor máximo permitido,x k = b { }rbi= min ; y ik > 0 . (7.4)y rk 1≤i≤m y ikObserve que x k ≥ 0, e na ausência <strong>de</strong> <strong>de</strong>generação x k > 0, pois b r > 0 (lembre-se <strong>de</strong> que naausência <strong>de</strong> <strong>de</strong>generação, b = B −1 b = x B > 0). Substituindo x k = b r /y rk na equação (7.3),obtemosx Bi = b i − y iky rkb r , ∀i = 1, . . . , m. (7.5)Assim x Br = 0 (verifique!). Escolhemos então a variável x Br para sair da base. Assim, escolhidox k para entrar, o critério para saída da base é a variável x Br tal que{ }b rbi= min ; y ik > 0y rk 1≤i≤m y ikse houver um y ik > 0 (o caso em que não houver será estudado adiante, e indicará que PL éilimitado).O processo acima passa da matriz básicaB = [ a B1 . . . a Br−1 a Br a Br+1 . . . a Bm]


CAPÍTULO 7. O MÉTODO SIMPLEX 59para a matrizB ′ = [ a B1 . . . a Br−1 a k a Br+1 . . . a Bm]Falta mostrar que realmente estamos passando para uma solução básica viável, ou seja, faltamostrar que B ′ é inversível e que [ B ′−1 b 0 ] t≥ 0. Ora,a k = By k =m∑a Bj y jk .j=1Daí∑λ j a Bj + λa k = 0j≠r⇒ ∑ λ j a Bj + λj≠rm∑a Bj y jk = 0j=1⇒ ∑ j≠r(λ j + λy jk )a Bj + λy rk a Br = 0⇒λ j + λy jk = 0, ∀j ≠ r, e λy rk = 0.A última implicação segue do fato das colunas <strong>de</strong> B serem LI. Como y rk > 0, temos λ = 0e consequentemente λ j = 0, ∀j ≠ r. Isso mostra que as colunas <strong>de</strong> B ′ são LI, e logo B ′ éinversível. Portanto realmente passamos a uma nova solução básica, <strong>de</strong>finida por (7.4), (7.5) ex j = 0 para todo j ∈ R∪{B r }\{k}. A viabilida<strong>de</strong> <strong>de</strong>ssa solução segue diretamente das relações(7.4) e (7.5).Como observado anteriormente, na ausência <strong>de</strong> <strong>de</strong>generação a variável x k que entra nabase assume valor positivo. Como z k − c k > 0, segue <strong>de</strong> (7.2) que a FO efetivamente diminuiquando mudamos <strong>de</strong> base. Sendo o número <strong>de</strong> soluções básicas viáveis finito (Corolário 7.6),o procedimento <strong>de</strong> mudança <strong>de</strong> base <strong>de</strong>scrito acima encontra uma solução básica viável ótima(isto é, uma solução ótima) em finitas aplicações. Quando há <strong>de</strong>generação, po<strong>de</strong> acontecer <strong>de</strong>mudarmos <strong>de</strong> base e o valor máximo permitido para x k ser zero, o que não muda a FO. Oprocedimento po<strong>de</strong> então ciclar, ou seja, entrar num laço infinito sem melhoria da FO. Veremosque esse problema é facilmente contornado (pela Regra <strong>de</strong> Bland).Exemplo 7.4.1. [1] Consi<strong>de</strong>re o PLmin x 1 +x 2s.a. x 1 +2x 2 ≤ 4x 2 ≤ 1x 1 , x 2 ≥ 0A fim <strong>de</strong> reescrever o PL na forma padrão, introduzimos variáveis <strong>de</strong> folga x 3 e x 4 :A matriz das restrições é entãomin x 1 +x 2 +0x 3 +0x 4s.a. x 1 +2x 2 +x 3 = 4x 2 +x 4 = 1x 1 , x 2 , x 3 , x 4 ≥ 0A = [ a 1 a 2 a 3 a 4]=[ 1 2 1 00 1 0 1].


CAPÍTULO 7. O MÉTODO SIMPLEX 60Consi<strong>de</strong>re a solução básica viável x associada à base B = [ a 1VB’s são x 1 e x 2 e as VNB’s x 3 e x 4 (R = {3, 4}). TemosB −1 =[ 1 20 1] −1=[ 1 −20 1]a 2], ou seja, àquela cujase c B B −1 = [ 1 1 ] B −1 = [ 1 −1 ] .Também[ ] [ ] [xB1 x14= = xx B2 x B = B −1 b = B −12 1] [ 2=1]e[x3] [ 0= xx N =4 0]e logo x = (2, 1, 0, 0). A FO neste ponto éz 0 = c B B −1 b = [ 1 −1 ] [ 41]= 3.Agora,z 3 − c 3 = c B B −1 a 3 = [ 1 −1 ] [ 10z 4 − c 4 = c B B −1 a 4 = [ 1 −1 ] [ 01]= 1,]= −1.Como z 3 − c 3 > 0, a VNB x 3 entra na base. Vamos <strong>de</strong>cidir quem sai da base. Temos[ ] [ ] [ ]1 −2 1 1y 3 = B −1 a 3 ==0 1 0 0e como y 13 > 0, a VB x B1 = x 1 sai da base (em relação à discussão anterior, k = 3 e r = 1).Assim, as novas VB’s serão x 3 e x 2 , as novas VNB’s x 1 e x 4 e a nova base será B ′ = [ a 3 a 2].A nova VB x 3 assume o valor b 1 /y 13 = 2/1 = 2 e <strong>de</strong> acordo com (7.5), x 1 = 0 e x 2 = 1. A novasolução básica viável será então x ′ = (0, 1, 2, 0), com FOz = z 0 − (z 3 − c 3 )x 3 = 3 − 1 × 2 = 1.Mudamos então <strong>de</strong> solução básica viável diminuindo a FO. Observe ainda na Figura 7.2: osvalores <strong>de</strong> x 1 e x 2 das soluções x e x ′ são vértices do conjunto viável.Você po<strong>de</strong> verificar ainda que• B ′ é inversível;Figura 7.2: Movimento entre vértices


CAPÍTULO 7. O MÉTODO SIMPLEX 61• x ′ = B ′−1 b;• x ′ é viável;• Em x ′ , o valor da FO é realmente 1.Ativida<strong>de</strong> 21. No exemplo anterior, faça mais uma mudança <strong>de</strong> base, a partir <strong>de</strong> B ′ . Concluaà luz do Teorema 7.7 que a origem é solução ótima.7.5 Otimalida<strong>de</strong> e ilimitabilida<strong>de</strong>Como vimos, os critérios para entrada e saída <strong>de</strong> variáveis da base são os seguintes:• Entrada: x k entra na base se0 < z k − c k = maxj∈R {z j − c j };• Saída: x Brsai se{ }b rbi= min ; y ik > 0 .y rk 1≤i≤m y ikVimos que quando não há candidatos a entrar na base, ou seja, quando max j∈R {z k −c k } ≤ 0, asolução básica viável corrente é ótima (Teorema 7.7). Também, quando há candidato a entrare sair da base, a mudança <strong>de</strong> base é realizada. Agora consi<strong>de</strong>re o caso em que há um candidatoa entrar, digamos x k , mas não há candidatos a sair, ou seja,Da equação (7.3), temosy k ≤ 0.x B = B −1 b − y k x k .Como y k ≤ 0 e B −1 b ≥ 0, para qualquer valor x k > 0 teremos x B ≥ 0. Ou seja, po<strong>de</strong>moslevar x k a ∞ mantendo viabilida<strong>de</strong>, e daí teremosz = z 0 − (z k − c k )x k → −∞pois z k − c k > 0. Assim, o problema é ilimitado.Uma forma mais elegante <strong>de</strong> ver este fato é como segue. A VNB x k é possivelmente incrementada,e as outras VNB’s permanecem zero. Então x N = e k x k , on<strong>de</strong> e k é o k-ésimo canônico<strong>de</strong> R n−m . Da equação (7.3) segue então quex =[xB]=x N[ B −1 b0] [ −yk+e k]x k , x k ≥ 0. (7.6)Isso correspon<strong>de</strong> à semi-reta emanando da solução básica viável [ B −1 b[ ] −ykd = ≠ 0.e k0 ] tna direçãoObserve que d ≥ 0 (pois y k ≤ 0), e queAd = [ BN ] [ −y ke k]= −By k + Ne k = −BB −1 a k + a k = 0


CAPÍTULO 7. O MÉTODO SIMPLEX 62e pelo Teorema 6.1 (página 47), efetivamente d é direção do conjunto viável. Agora,cd = [ ] [ ]−yc B c kN = −ce B y k + c N e k = −z k + c k < 0kpois z k − c k > 0. Com isso e <strong>de</strong> (7.6) segue que[ ] Bcx = cb+ (cd)x0k → ∞ quando x k → ∞e o problema é ilimitado.Exemplo 7.5.1. [1] Consi<strong>de</strong>re o PLEscrevemo-o na forma padrãoon<strong>de</strong> a matriz das restrições émin −x 1 −3x 2s.a. x 1 −2x 2 ≤ 4−x 1 +x 2 ≤ 3x 1 , x 2 ≥ 0min −x 1 −3x 2 +0x 3 +0x 4s.a. x 1 −2x 2 +x 3 = 4−x 1 +x 2 +x 4 = 3x 1 , x 2 , x 3 , x 4 ≥ 0A = [ a 1 a 2 a 3 a 4]=[1 −2 1 0−1 1 0 1Consi<strong>de</strong>ramos a solução básica viável associada à base B = [ ]a 3 a 4 = I2 dada por[ ] [ ] [ ] [ ]x34 x1 0x B = = Ix 2 b = , x4 3 N = = .x 2 0Temos z 1 − c 1 = c B B −1 a 1 − c 1 = 1 e z 2 − c 2 = 3. Assim, x 2 é candidato a entrar na base.Também[ ] −2y 2 = B −1 a 2 = ,1e como y 22 = 1 > 0, x B2 = x 4 sai da base. Fazemos x 2 = b 2 /y 22 = 3,[ ][ ]x310x B = = B −1 b − yx 2 x 2 = .4 0].Logo a nova solução básica viável é x = (0, 3, 10, 0), com base associada B ′ = [ a 3inversa <strong>de</strong>ssa base é[ ] −1 [ ]1 −2 1 2B ′−1 == .0 1 0 1Temos c B ′ = [ c 3 c 2]=[0 −3], cB ′B ′−1 = [ 0 −3 ] ea 2]. Az 1 − c 1 = c B ′B ′−1 a 1 − c 1 = 4, z 4 − c 4 = c B ′B ′−1 a 4 − c 4 = −3.


CAPÍTULO 7. O MÉTODO SIMPLEX 63Como z 1 − c 1 > 0, x 1 é candidato a entrar na base. Mas veja quey 1 = B ′−1 a 1 = [ −1 −1 ] t≤ 0e logo o problema é ilimitado. De fato,[ ]x3= xx B ′ = B ′−1 b − y 1 x 1 =2Se x 1 → ∞, mantemos viabilida<strong>de</strong> e[ ] 10 + x1,3 + x 1[x1] [ 0= xx N ′ =4 0].cx = −(10 + x 1 ) − 3(3 + x 1 ) → −∞.7.6 O método SimplexRetomamos o PL viável (7.1)min cxs.a. Ax = bx ≥ 0on<strong>de</strong> A é m × n com posto m.Pelas discussões anteriores, po<strong>de</strong>mos estabelecer, em linhas gerais, o método simplex comosegue.1.(INICIALIZAÇÃO) Encontre uma solução básica viável com base B (veremos adiantecomo obter uma solução básica viável inicial).2. (PASSO PRINCIPAL)(a) Calcule z k − c k = max j∈R {z j − c j }. Se z k − c k ≤ 0, então pare com a solução ótima,associada com a base B corrente. Caso contrário, vá para o próximo passo.(b) Calcule y k . Se y k ≤ 0 pare com a conclusão <strong>de</strong> que o problema é ilimitado. Casocontrário, vá para o próximo passo.(c) x k entra na base. x Brsai da base sendo r <strong>de</strong> modo que{ }b rbi= min ; y ik > 0 .y rk 1≤i≤m y ikAtualize a base B trocando a coluna a Br pela coluna a k . Atualize também o conjuntoR dos índices das VNB’s, e repita o passo 2.Uma maneira mais prática <strong>de</strong> estabelecer o Simplex é via quadros. Isso nos permitirá aplicarcom mais eficiência o método, além <strong>de</strong> ser mais fácil <strong>de</strong> implementá-lo em computador.


CAPÍTULO 7. O MÉTODO SIMPLEX 647.7 O método Simplex em formato <strong>de</strong> QuadroSuponha que tenhamos uma solução básica viável x com base B. Pelo que vimos, po<strong>de</strong>mosescrever o PL (7.1) comoAssim,min zs.a. z − c B x B − c N x N = 0Bx B + Nx N = bx B , x N ≥ 0.x B + B −1 Nx N = B −1 b. (7.7)Multiplicando a equação acima por c B e somando a primeira restrição do PL, obtemosz + 0x B + (c B B −1 N − c N )x N = c B B −1 b. (7.8)Representamos as equações (7.7) e (7.8) em um quadro, como segue. Colocamos a equação(7.8) relativa à FO z na primeira linha do quadro (linha 0), on<strong>de</strong> os coeficientes <strong>de</strong> z, x B e x Nsão organizados em colunas. O lado direito da igualda<strong>de</strong>, c B B −1 b é colocado na última coluna,<strong>de</strong>nominada RHS (em inglês, Right-Hand-Si<strong>de</strong>). As m outras linhas (linhas 1 à m) contidas naequação (7.7) vêm logo abaixo, seguindo a mesma separação em colunas. O Quadro Simplex éentão organizado da seguinte forma:z x B x N RHSz 1 0 c B B −1 N − c N c B B −1 bx B 0 I B −1 N B −1 bObservamos que o quadro acima contém todas as informações para execução do Simplex:na linha 0, a coluna j <strong>de</strong> x N é(c B B −1 N − c N )e j = c B B −1 a j − c j = z j − c je RHS consiste no valor corrente da FO, z 0 = c B B −1 b; o bloco B −1 N é exatamente formadopelas colunas y k = B −1 a k . Portanto, através do quadro conseguimos dizer se a solução básicaviável corrente é ótima (c B B −1 N − c N ≤ 0), ou se o problema é ilimitado (y k ≤ 0 quando x kentra na base).Agora, vamos analisar o processo <strong>de</strong> entrada e saída <strong>de</strong> variáveis da base pelo quadro.Lembrando que b = B −1 b, reescrevemos o quadro como seguez x B1 . . . x Br . . . x Bm . . . x j . . . x k . . . RHSz 1 0 . . . 0 . . . 0 . . . z j − c j . . . z k − c k . . . c B bx B1 0 1 . . . 0 . . . 0 . . . y 1j . . . y 1k . . . b 1. . . . ....x Br 0 0 . . . 1 . . . 0 . . . y rj . . . y rk . . . b r. . . . ....x Bm 0 0 . . . 0 . . . 1 . . . y mj . . . y mk . . . b mTabela 7.1: Quadro Simplex.


CAPÍTULO 7. O MÉTODO SIMPLEX 65Supomos que x k entra na base e que x Br sai da base. Vamos explicitar expressões para z epara as novas VB’s tal como em (7.7) e (7.8). Como x k passa a ser VB <strong>de</strong>vemos explicitá-laem função das novas VNB’s, o que inclui x Br . Do quadro atual, temosx Br + ∑ j∈Ry rj x j = b r⇔ x Br + y rk x k +⇔ x k + 1y rkx Br +∑j∈R\{k}∑j∈R\{k}y rj x j = b ry rjy rkx j = b ry rk(7.9)on<strong>de</strong> lembramos que y rk > 0 e que o novo conjunto das VNB’s é (R\{k}) ∪ {B r }. Para asoutras VB’s, ou seja, para i ≠ r, temosx Bi + ∑ y ij x j = b i ⇔ x Bi + y ik x k + ∑y ij x j = b i .j∈RPor (7.9), substituímos x k para obter⎛x Bi + y ik⎝ b r− 1 x Br −∑y rk y rkj∈R\{k}⎞y rjx j⎠ +y rk⇔ x Bi + y ikb r − y ikx Br −y rk y rk(⇔ x Bi + − y )ikx Br +∑y rk∑j∈R\{k}j∈R\{k}∑j∈R\{k}y rjy rky ik x j +j∈R\{k}y ij x j = b i∑j∈R\{k}(y ij − y rjy rky ik)x j =y ij x j = b i(b i − y iky rkb r). (7.10)As equações (7.9) e (7.10) fornecem as linhas 1 a m do quadro após atualização da base. Quantoà linha zero (7.8),z + 0x B + ∑ j∈R(z j − c j )x j = c B b,substituímos x k proveniente <strong>de</strong> (7.9) para obterz+ ∑ j∈R(z j − c j )x j = c B b⇔ z + (z k − c k )x k +⇔ z + (z k − c k )⎛∑j∈R\{k}⎝ b ry rk− 1y rkx Br −(z j − c j )x j = c B b∑j∈R\{k}⇔ z + (z k − c k ) b ry rk− z k − c ky rkx Br − ∑⇔ z +(− z )k − c kx Br +y rk∑j∈R\{k}⎞y rjx j⎠ +y rk∑j∈R\{k}(z j − c j )x j = c B b∑(z k − c k ) y rjx j +y rkj∈R\{k}j∈R\{k}((z j − c j ) − (z k − c k ) y )rjx j =y rk(z j − c j )x j = c B b(c B b − (z k − c k ) b ry rk)(7.11)Definidas as variáveis x k <strong>de</strong> entrada e x Br <strong>de</strong> saída, o termo y rk é chamado pivô. Aoprocesso <strong>de</strong> mudança <strong>de</strong> base, chamamos <strong>de</strong> pivoteamento. Nos referimos ao Quadro Simplexabreviadamente por QS. As equações (7.9), (7.10) e (7.11) fornecem o QS após pivoteamento:


CAPÍTULO 7. O MÉTODO SIMPLEX 66z xB1. . . xBr. . . xBm. . . xj . . . xk . . . RHSz 1 0 . . . −( ) z k − ckyrk. . . 0 . . . (zj − cj) − (zk − ck) y rj. . . 0 . . . cBb − (zk − ck) b ryrkyrkxB10 1 . . . − y 1k. . . 0 . . . y1j − y rjyrkyrky1k . . . 0 . . . b1 − y 1kyrkbr. . ......xk 0 0 . . .1yrk. . . 0 . . .yrjyrk. . . 1 . . .bryrk. . ......xBm0 0 . . . − y mk. . . 1 . . . ymj − y rjyrkyrkymk . . . 0 . . . bm − y mkyrkbrTabela 7.2: Quadro Simplex após pivoteamento.


CAPÍTULO 7. O MÉTODO SIMPLEX 67Po<strong>de</strong>mos então estabelecer o Simplex como segue:1.(INICIALIZAÇÃO) Encontre uma solução básica viável com base B. Forme e QS inicial(Quadro 7.1).2. (PASSO PRINCIPAL)(a) Seja z k − c k = max j∈R {z j − c j } (já calculado na linha 0 do QS). Se z k − c k ≤ 0,então pare com a solução ótima, associada com a base B corrente (os valores dasVB’s estão na coluna RHS e das VNB’s são zero). Caso contrário, vá para o próximopasso.(b) Se y k ≤ 0 (já calculado no QS) pare com a conclusão <strong>de</strong> que o problema é ilimitado.Caso contrário, vá para o próximo passo.(c) x k entra na base. x Brsai da base sendo r <strong>de</strong> modo que{ }b rbi= min ; y ik > 0 .y rk 1≤i≤m y ikAtualize o QS realizando pivoteamento no pivô y rk (Quadro 7.1). Atualize o conjuntoR dos índices das VNB’s, e repita o passo 2.Antes <strong>de</strong> fazermos exemplos, vamos discutir uma maneira interessante e fácil <strong>de</strong> realizarpivoteamentos no QS. Suponha que o pivô seja y rk . Observando os Quadros 7.1 e 7.2, vemosque o processo <strong>de</strong> pivoteamento consiste nos passos (volte aos quadros e entenda os passos):1. Atualizar cada elemento da posição (i, j) do quadro, inclusive da linha zero, que não estejana linha ou na coluna do pivô y rk , imaginando um retângulo com vértices em (i, j) e y rk ,e fazendo a operação correspon<strong>de</strong>nte. O esquema abaixo ilustra a operação genérica <strong>de</strong>atualização do elemento ⃝,( ) △⃝ − × □.y rkz x 1 . . . x j . . . x k . . . x n RHSz 1 • . . . • . . . • . . . • •x B1 0 • . . . • . . . • . . . • •. . . . . . .x Bt 0 • . . . ⃝ . . . □ . . . • •. . . ↓ − ↑ × . .x Br 0 • . . . △ −→÷y rk . . . • •. . . . . . .x B1 0 • . . . • . . . • . . . • •2. Dividir a linha <strong>de</strong> x Br por y rk ;3. Fazer todos os elementos da coluna <strong>de</strong> x k iguais a zero, exceto o elemento da linha <strong>de</strong>x Br ;4. Atualizar as VB’s, trocando x Br por x k .


CAPÍTULO 7. O MÉTODO SIMPLEX 68Exemplo 7.7.1. [1] Resolver pelo simplex (via quadros) o PLNa forma padrão, temos o PLmin x 1 +x 2 −4x 3s.a. x 1 +x 2 +2x 3 ≤ 9x 1 +x 2 −x 3 ≤ 2−x 1 +x 2 +x 3 ≤ 4x 1 , x 2 , x 3 ≥ 0min x 1 +x 2 −4x 3 +0x 4 +0x 5 +0x 6s.a. x 1 +x 2 +2x 3 +x 4 = 9x 1 +x 2 −x 3 +x 5 = 2−x 1 +x 2 +x 3 +x 6 = 4x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ≥ 0Como b ≥ 0, iniciamos com a baseB = [ a 4 a 5 a 6]= I3 ,pois assim, x B = B −1 b = b ≥ 0, e a solução básica associada é viável. Temos c B = 0 e logoTambém, B −1 N = N,z j − c j = c B B −1 a j − c j = −c j , ∀j ∈ R = {1, 2, 3}.b = B −1 b = b e z 0 = c B b = 0. Assim o QS inicial (QS 1) éz x 1 x 2 x 3 x 4 x 5 x 6 RHSz 1 −1 −1 4 0 0 0 0x 4 0 1 1 2 1 0 0 9x 5 0 1 1 −1 0 1 0 2x 6 0 −1 1 1 0 0 1 4Da linha zero, vemos que z 3 − c 3 = max j∈R {z j − c j } > 0, e logo x 3 entra. Da coluna <strong>de</strong> x 3 ,vemos que somente y 13 , y 33 > 0. Agora, com a coluna RHS, vemos queb 1y 13= 9 2 > 4 1 = b 3y 33e logo x B3 = x 6 sai. O pivô é portanto o elemento <strong>de</strong>stacado y 33 , e após pivoteamento, obtemoso QS 2z x 1 x 2 x 3 x 4 x 5 x 6 RHSz 1 3 −5 0 0 0 −4 −16x 4 0 3 −1 0 1 0 −2 1x 5 0 0 2 0 0 1 1 6x 3 0 −1 1 1 0 0 1 4QS 2 não é ótimo (pois z 1 − c 1 > 0) e temos y 11 como pivô (verifique!). Pivoteando, obtemos oQS 3z x 1 x 2 x 3 x 4 x 5 x 6 RHSz 1 0 −4 0 −1 0 −2 −17x 1 0 1 −1/3 0 1/3 0 −2/3 1/3x 5 0 0 2 0 0 1 1 6x 3 0 0 2/3 1 1/3 0 1/3 13/3QS 3 é ótimo (pois da linha zero, z j − c j ≤ 0, ∀j ∈ {2, 4, 6}), e logo a solução corrente(x 1 , x 2 , x 3 ) = (1/3, 0, 13/3) é ótima, com FO −17 (observe que x 2 é VNB no QS 3, e logo valezero).


CAPÍTULO 7. O MÉTODO SIMPLEX 69Observe que no exemplo anterior, foi possível obter facilmente uma solução básica viávelinicial. De fato, quando o PLmin cxs.a. Ax ≤ bé tal que b ≥ 0, ao colocarmos-o na forma padrãox ≥ 0min cx + 0x fs.a. Ax + I m x f = bx, x f ≥ 0temos a base trivial I m relativa às variáveis <strong>de</strong> folga x f (neste caso, as VB’s). Essa base forneceuma solução básica viável, pois x Im = I −1m b = b ≥ 0. Quando o problema não está nessaforma, a obtenção <strong>de</strong> uma base inicial não é tão simples. Além disso, <strong>de</strong>ve-se garantir que ocálculo da inversa da base inicial não seja difícil. Veremos no próximo capítulo como em geralpo<strong>de</strong>mos obter uma base sem precisar calcular sua inversa (método <strong>de</strong> duas fases).7.8 Exercícios1. Fazer os seguintes exercícios do livro do Bazaraa [1]: 3.1, 3.3, 3.4, 3.10, 3.11, 3.13(b-e,g),3.18, 3.25, 3.26, 3.27, 3.35.7.9 Uma implementação básica do SimplexNesta seção apresentamos uma implementação simples em C do método Simplex visto nestecapítulo. Com ela será possível somente resolver problemas viáveis da formamin cxs.a. Ax ≤ bx ≥ 0on<strong>de</strong> b ≥ 0 pois, como visto, neste caso po<strong>de</strong>mos iniciar o Simplex com a base viável I. Vocêpo<strong>de</strong> usá-lo para verificar os exercícios <strong>de</strong> resolução <strong>de</strong> problemas.Vale uma observação sobre o código. Note que no QS, há sempre um bloco i<strong>de</strong>ntida<strong>de</strong>,relativo às variáveis básicas. De fato, as linhas das VB’s vêm da equação Ix B + B −1 N = B −1 b(observe isso no último exemplo <strong>de</strong>ste capítulo). Por isso, essas colunas são retiradas da matrizque armazena o QS, e também não são impressas na tela. Ou seja, no programa somenteas colunas das VNB’s são armazenadas. Isso reduz a quantida<strong>de</strong> <strong>de</strong> memória requerida peloprograma. O mesmo acontece com a coluna <strong>de</strong> z, que é constituída do um da linha zero e <strong>de</strong>zeros nas linhas restantes.Alertamos ainda sobre exercícios durante o código. Todos eles po<strong>de</strong>rão ser respondidos àluz da teoria apresentada, e servem para melhor entendimento dos procedimentos realizados.Por fim, o programa abaixo não foi concebido para ser eficiente. Tem apenas caráterdidático. Implementações eficientes levam em consi<strong>de</strong>ração questões que fogem à estas notas.


CAPÍTULO 7. O MÉTODO SIMPLEX 707.9.1 Preâmbulo do códigoEsta é a parte inicial do código. Contém <strong>de</strong>finições das variáveis e pré-<strong>de</strong>finições das funções./∗SIMPLEX para problemas na forma :min cxsa Ax = 0com b >= 0Formato do arquivo <strong>de</strong> entrada :m nc1 c2 . . . cnb1 b2 . . . bma11 a12 . . . a1n. . .. . .. . .am1 am2 . . . amnon<strong>de</strong>m = número <strong>de</strong> r e s t r i ç õ e sn = número <strong>de</strong> v a r i á v e i s l e g í t i m a sObs . : O problema é v i á v e l p o i s 0 é solução . Portanto , asúnicas p o s s i b i l i d a d e s são a <strong>de</strong> um problema i l i m i t a d oou <strong>de</strong> um problema com solução ótima .∗∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗Sendo o problema na forma d e s c r i t a acima , quantas VNB’ s e x i s t i r ã oapós a i n s e r ç ão <strong>de</strong> v a r i á v e i s <strong>de</strong> f o l g a ?∗/#inclu<strong>de</strong> #inclu<strong>de</strong> #<strong>de</strong>fine ERRO 1e−8 // a c e i t a ç ã o <strong>de</strong> erro numérico#<strong>de</strong>fine INF 1e+12 // representação <strong>de</strong> i n f i n i t o/∗Quadro simplexQS[ 0 ] = l i n h a <strong>de</strong> z∗/double ∗∗QS = NULL;unsigned int m, n ; //m r e s t r i ç õ e s , n var (com f o l g a ) (n > m)unsigned int ∗VNB = NULL; // í n d i c e s das VNB’ sunsigned int ∗VB = NULL; // í n d i c e s das VB’ s


CAPÍTULO 7. O MÉTODO SIMPLEX 71FILE ∗ arq = NULL; // p o n t e i r o para arquivo <strong>de</strong> dados do PL//Pré−d e f i n i ç ã o <strong>de</strong> funçõesvoid e r r o ( int e ) ;void liberamem ( void ) ;int entra ( void ) ;int s a i ( unsigned int k ) ;void p i v o t e a r ( int k , int r ) ;void imprimiQS ( void ) ;7.9.2 A função principalA função principal realiza o seguinte:• lê o arquivo <strong>de</strong> entrada com os dados do problema segundo formato <strong>de</strong>scrito no preâmbulo;• adiciona variáveis <strong>de</strong> folga para cada restrição (note que estamos supondo que cada restriçãoé <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong>);• monta o QS inicial e i<strong>de</strong>ntifica as VB’s/VNB’s;• aplica o método Simplex, invocando as funções do processo <strong>de</strong> pivoteamento (veja próximasubseção);• imprimi resultado na tela.//Função p r i n c i p a lint main ( int argc , char ∗ argv [ ] ){unsigned int i , j , s a i d a = 0 , entrada = 0 ;i f ( ( arq = fopen ( argv [ 1 ] , ” r t ” ) ) == NULL){p r i n t f ( ”\nErro ! Arquivo nao encontrado ! \ n\n” ) ;e x i t ( 1 ) ;}// l ê número <strong>de</strong> r e s t r i ç õ e s e <strong>de</strong> v a r i á v e i si f ( f s c a n f ( arq , ”%d” , &m) != 1) e r r o ( 1 ) ;i f ( f s c a n f ( arq , ”%d” , &n) != 1) e r r o ( 1 ) ;n += m;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// Porque incrementar o número <strong>de</strong> v a r i á v e i s em m?// aloca matrizes na memóriai f ( (QS = ( double ∗∗) malloc ( (m+1)∗ sizeof ( double ∗ ) ) )== NULL) e r r o ( 2 ) ;for ( i = 0 ; i < m+1; i++)i f ( (QS[ i ] = ( double ∗) malloc ( ( n−m+1)∗ sizeof ( double ) ) )


CAPÍTULO 7. O MÉTODO SIMPLEX 72== NULL) e r r o ( 2 ) ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// Qual o tamanho do QS?i f ( (VB = ( unsigned int ∗) malloc (m∗ sizeof ( unsigned int ) ) )== NULL) e r r o ( 2 ) ;i f ( (VNB = ( unsigned int ∗) malloc ( ( n−m)∗ sizeof ( unsigned int ) ) )== NULL) e r r o ( 2 ) ;//Começamos o simplex com a base B = I , r e l a t i v a às f o l g a s//MONTAMOS ENTÃO O QS INICIAL :for ( i = 0 ; i < m; i++)VB[ i ] = (n−m) + i ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// De acordo com a l i n h a anterior , q u a i s os í n d i c e s// das VB’ s no QS i n i c i a l ? Porque e s t ã o c o r r e t o s ?for ( j = 0 ; j < n−m; j++){VNB[ j ] = j ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// De acordo com a l i n h a anterior , q u a i s os í n d i c e s// das VNB’ s no QS i n i c i a l ? Porque e s t ã o c o r r e t o s ?// l ê c o e f i c i e n t e s da FOi f ( f s c a n f ( arq , ”%l f ” , &QS [ 0 ] [ j ] ) != 1) e r r o ( 1 ) ;QS [ 0 ] [ j ] = −QS [ 0 ] [ j ] ;}// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// O que f a z a última l i n h a ?// Porque a l i n h a zero do QS e s t a r á c o r r e t a ?QS [ 0 ] [ n−m] = 0 . 0 ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// QS [ 0 ] [ n−m] é o v a l o r da FO.// Porque n e s t e caso , no QS i n i c i a l , e l a é zero ?// l ê a coluna RHSfor ( i = 1 ; i < m+1; i++){i f ( f s c a n f ( arq , ”%l f ” , &QS[ i ] [ n−m] ) != 1) e r r o ( 1 ) ;// termina programa se não tivermos b >= 0


CAPÍTULO 7. O MÉTODO SIMPLEX 73}i f (QS[ i ] [ n−m] < 0) e r r o ( 1 ) ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// De acordo com código acima , quem será// a coluna RHS? Estará c o r r e t a ?// l ê a matriz dos c o e f i c i e n t e sfor ( i = 1 ; i < m+1; i++)for ( j = 0 ; j < n−m; j++)i f ( f s c a n f ( arq , ”%l f ” , &QS[ i ] [ j ] ) != 1) e r r o ( 1 ) ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// De acordo com código acima , quem será a coluna y j ?// Estará c o r r e t a ? Observe que a l e i t u r a é f e i t a em l i n h a s .i f (n−m < 15) // imprimi QS caso o número colunas não f o r gran<strong>de</strong>imprimiQS ( ) ;//MÉTODO SIMPLEXdo{entrada = entra ( ) ;i f ( entrada != −1){s a i d a = s a i ( entrada ) ;i f ( s a i d a != −1)p i v o t e a r ( entrada , s a i d a ) ;}} while ( ( s a i d a != −1) && ( entrada != −1));// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// Resuma os passos no loop do . . . w h i l e acima . Porque o loop é// executado enquanto ( saida != −1) E ( entrada != −1) ?// imprime soluçãoi f ( s a i d a == −1){p r i n t f ( ”\n\nProblema i l i m i t a d o \n\n” ) ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// Porque o problema será i l i m i t a d o se saida = −1// após o loop do . . . w h i l e ?}else{p r i n t f ( ”\n\ n\ nSolucao encontrada : x = ( ” ) ;for ( i = 0 ; i < n−m; i++)


CAPÍTULO 7. O MÉTODO SIMPLEX 74}{for ( j = 0 ; j < m; j++)i f (VB[ j ] == i ) break ;p r i n t f ( ”%.5 l f ” , ( j > m−1)?0:QS[ j +1][ n−m] ) ;i f ( i < n−m−1) p r i n t f ( ” , ” ) ;}p r i n t f ( ” ) , FO = %.5 l f \n\n” , QS [ 0 ] [ n−m] ) ;liberamem ( ) ; // l i b e r a memória}return 0 ;7.9.3 Entrada/saída <strong>de</strong> variáveis e processo <strong>de</strong> pivoteamentoFunções que compõem o processo <strong>de</strong> pivoteamento. A função entra retorna o índice da VNBque entra na base. Analogamente, a função sai tem como parâmetro o índice k da VNB queentra, e retorna o índice da VB que sai da base. Veja o código para os casos em que não hácandidatos para entrar ou sair.A função pivotear recebe os índices das variáveis que entra (k) e sai (r), e atualiza o QS.//Função que retorna í n d i c e da VNB que entra baseint entra ( void ){unsigned int E = −1, i ;double max = 0 . 0 ;for ( i = 0 ; i < n−m; i++)i f (QS [ 0 ] [ i ] > max + ERRO){max = QS [ 0 ] [ i ] ;E = i ;}return E;}/∗∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗O retorno da função entra po<strong>de</strong> ser −1?Se sim , o que i s t o s i g n i f i c a ?∗///Função que retorna í n d i c e da VB que s a i da baseint s a i ( unsigned int k ){unsigned int E = −1, i ;double min = INF ;for ( i = 1 ; i < m+1; i++)


CAPÍTULO 7. O MÉTODO SIMPLEX 75i f(QS[ i ] [ k ] > ERRO)i f (QS[ i ] [ n−m] /QS[ i ] [ k ] < min − ERRO){min = QS[ i ] [ n−m] /QS[ i ] [ k ] ;E = i ;}return E;}/∗∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗O retorno da função s a i po<strong>de</strong> ser −1?Se sim , o que i s t o s i g n i f i c a ?∗///Função para pivoteamento do quadro simplexvoid p i v o t e a r ( int k , int r ){unsigned int i , j , aux ;for ( i = 0 ; i < m+1; i++)i f ( i != r )for ( j = 0 ; j < n−m+1; j++)i f ( j != k )QS[ i ] [ j ] = QS[ i ] [ j ] − (QS[ i ] [ k ] ∗QS[ r ] [ j ] ) /QS[ r ] [ k ] ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// O que a última l i n h a f a z ? Quais entradas do QS são a f e t a d a s ?for ( j = 0 ; j < n−m+1; j++)i f ( j != k )QS[ r ] [ j ] = QS[ r ] [ j ] /QS[ r ] [ k ] ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// O que a última l i n h a f a z ? Quais entradas do QS são a f e t a d a s ?for ( i = 0 ; i < m+1; i++)i f ( i != r )QS[ i ] [ k ] = −QS[ i ] [ k ] /QS[ r ] [ k ] ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// O que a última l i n h a f a z ? Quais entradas do QS são a f e t a d a s ?QS[ r ] [ k ] = 1.0/QS[ r ] [ k ] ;// ∗∗∗∗∗∗∗ EXERCÍCIO ∗∗∗∗∗∗∗∗// O que a última l i n h a f a z ?// imprimi o pivô na t e l a


CAPÍTULO 7. O MÉTODO SIMPLEX 76p r i n t f ( ”\n\ n\n>> Proximo passo : entra %d , s a i %d


CAPÍTULO 7. O MÉTODO SIMPLEX 77}}k++;7.9.5 Funções auxiliaresFunções para impressão <strong>de</strong> erro na tela e liberação <strong>de</strong> memória. O seu entendimento não énecessário.//Função usada para retorno <strong>de</strong> errovoid e r r o ( int e ){switch ( e ){case 1 : p r i n t f ( ”\n\nERRO na l e i t u r a do arquivo . \ n\n” ) ; break ;case 2 : p r i n t f ( ”\n\nERRO na alocacao <strong>de</strong> dados . \ n\n” ) ; break ;case 3 : p r i n t f ( ”\n\nERRO INESPERADO. SAINDO . . . \ n\n” ) ; break ;}liberamem ( ) ;e x i t ( 1 ) ;}//Função para l i b e r a r memóriavoid liberamem ( void ){int i ;i f (VNB != NULL) f r e e (VNB) ;i f (VB != NULL) f r e e (VB) ;for ( i = 0 ; i < m+1; i++)i f (QS[ i ] != NULL) f r e e (QS[ i ] ) ;i f (QS != NULL) f r e e (QS ) ;}i f ( arq != NULL) f c l o s e ( arq ) ;


Capítulo 8Método Simplex: inicialização eciclagemVimos no Capítulo anterior que o método Simplex necessita <strong>de</strong> uma solução básica viávelpara ser inicializado. Comentamos que no caso especial em que A ≤ b, x ≥ 0 e b ≥ 0, a baseinicial I relativa às variáveis <strong>de</strong> folga fornece uma solução básica viável. Isso não é obviamenteo que acontece em geral.Exemplo 8.0.1. Consi<strong>de</strong>re o sistemax 1 −2x 2 ≥ 4−x 1 +x 2 = 3x 1 , x 2 ≥ 0Após inserção da variável <strong>de</strong> folga relativa à primeira restrição, obtemosA matriz das restrições éx 1 −2x 2 −x 3 = 4−x 1 +x 2 = 3x 1 , x 2 , x 3 ≥ 0[A =1 −2 −1−1 1 0Observe que não há base viável aparente, muito menos um bloco i<strong>de</strong>ntida<strong>de</strong>. Mesmo que conseguíssemosuma base por tentativa e erro, o que é computacionalmente impraticável, teríamosque calcular a inversa da base, e testar viabilida<strong>de</strong>. Claramente isso se torna mais crítico emaltas dimensões.Nosso objetivo é portanto estabelecer uma forma <strong>de</strong> conseguir uma base inicial viável parao Simplex. Apesar <strong>de</strong> conhecido mais <strong>de</strong> um procedimento para isso, discutiremos somente oMétodo <strong>de</strong> Duas Fases.8.1 Método <strong>de</strong> Duas FasesRetomemos o PL (7.1)min cxs.a. Ax = bx ≥ 0].78


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 79on<strong>de</strong> A é m × n com posto m. Po<strong>de</strong>mos supor sem perda <strong>de</strong> generalida<strong>de</strong> que b ≥ 0 poispo<strong>de</strong>mos manipular facilmente as restrições para que isso ocorra. O sistema Ax = b admitesolução se, e somente se, o sistema Ax + x a = b, x a = 0 admite solução, ou seja, o PL(7.1) é viável se, e somente se, pu<strong>de</strong>rmos ter x a = 0 e x ≥ 0. Agora observe que o últimosistema contém um bloco I m , relativo às variáveis artificiais x a . Proce<strong>de</strong>mos então como segue.Primeiro acrescentamos variáveis artificiais <strong>de</strong> modo a obter o bloco i<strong>de</strong>ntida<strong>de</strong>. A fim <strong>de</strong> testarse o PL (7.1) é viável <strong>de</strong>vemos verificar se po<strong>de</strong>mos ter x a = 0 e x ≥ 0, ou equivalentemente,se o PLmin 1x as.a. Ax + x a = bx ≥ 0x a ≥ 0on<strong>de</strong> 1 é vetor <strong>de</strong> uns, tem solução ótima com FO x 0 = 1 × 0 = 0. Note que este PL é viávelpois x = 0, x a = b ≥ 0 é uma solução sua. Mais ainda, este po<strong>de</strong> ser resolvido pelo Simplexinicializado pela base viável I m . Após resolvido, teremos uma base B formada por colunas damatriz [ ]A I m . Se na otimalida<strong>de</strong> <strong>de</strong>ste PL temos a FO x0 = 0 e todas as variáveis artificiaisfora da base, então as variáveis artificiais x a serão VNB’s, enquanto as VB’s serão variáveislegítimas x B do PL original. Portanto a base viável final B é formada somente <strong>de</strong> colunas damatriz original A, e logo o Simplex para o PL original po<strong>de</strong> ser inicializado com esta base. Esteé o Método <strong>de</strong> Duas Fases.O esquema a seguir resume o Método <strong>de</strong> Duas Fases no caso discutido.1. (FASE I) Resolva o PLmin 1x as.a. Ax + x a = bx ≥ 0x a ≥ 0pelo Simplex, inicializado com a solução básica viável x = 0, x a = b (relativa à base I m ,formato pelas m últimas colunas <strong>de</strong> [ A I m]).Se na otimalida<strong>de</strong> x a ≠ 0, então pare com a conclusão <strong>de</strong> que o problema original éinviável. Caso contrário, a base viável corrente B é formada somente <strong>de</strong> colunas <strong>de</strong> A(assumimos por hora que todas as variáveis artificiais saem da base). Seja x B as VB’slegítimas relativas à base B e x N as VNB’s legítimas. Passe para o próximo passo.2. (FASE II) Resolva o PL original pelo Simplex inicializado com a solução básica viávelx B = B −1 b, x N = 0, ou seja, resolva o PLmin c B x B + c N x Ns.a. x B + B −1 Nx N = B −1 bx B , x N ≥ 0Ativida<strong>de</strong> 22. Como já dito, o problema da Fase 1 do Método <strong>de</strong> Duas Fases é viável. Mostreque ele não é ilimitado, e por isso a Fase 1 é coerente.Po<strong>de</strong> ocorrer que na otimalida<strong>de</strong> do PL da Fase 1, tenhamos x a = 0 mas alguma variávelartificial x ai = 0 é VB. Por <strong>de</strong>finição, isso significa que a solução ótima do PL da primeira faseé <strong>de</strong>generada. Ora, neste caso a base da Fase 1 tem pelo menos uma coluna relativa à variávelartificial x ai , e não po<strong>de</strong> ser utilizada no PL original. Veremos adiante como proce<strong>de</strong>r nessecaso.


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 80Exemplo 8.1.1. [1] Consi<strong>de</strong>re o PLNa forma padrão,min x 1 −2x 2s.a. x 1 +x 2 ≥ 2−x 1 +x 2 ≥ 1x 2 ≤ 3x 1 , x 2 ≥ 0min x 1 −2x 2s.a. x 1 +x 2 −x 3 = 2−x 1 +x 2 −x 4 = 1x 2 +x 5 = 3x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0A i<strong>de</strong>ntida<strong>de</strong> como base inicial não está disponível. Teremos que acrescentar variáveis artificiais.FASE INote que não é necessário uma variável artificial para cada uma das três restrições, poisa terceira já contém a coluna 3 da i<strong>de</strong>ntida<strong>de</strong>. Acrescentamos então somente as variáveisartificiais x 6 e x 7 relativas às duas primeiras restrições e consi<strong>de</strong>ramos o PL da Fase 1, com FOx 0 = 1x a = x 6 + x 7min x 6 +x 7s.a. x 1 +x 2 −x 3 +x 6 = 2−x 1 +x 2 −x 4 +x 7 = 1x 2 +x 5 = 3x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0Assim, a i<strong>de</strong>ntida<strong>de</strong> I 3 = [ a 6 a 7]a 5 é base viável <strong>de</strong>ste PL. Sendo c ′ o gradiente da FO x 0 ,temos ainda• N = [ a 1 a 2 a 3 a 4](R = {1, 2, 3, 4}) e I−13 N = N;• b = I −13 b = b;• x 0 = c ′ I 3b = [ c ′ 6 c ′ 7 c ′ 5]b =[1 −2 0]b = 3, e• c ′ I 3I −13 N − c ′ N = c′ I 3N = [ 0 2 −1 −1 ] .Daí o QS associado à base I 3 éVar. legítimas Artif.x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSx 0 1 0 2 −1 −1 0 0 0 3x 6 0 1 1 −1 0 0 1 0 2x 7 0 −1 1 0 −1 0 0 1 1x 5 0 0 1 0 0 1 0 0 3


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 81Pivoteando sobre y 22 (verifique que este é o pivô), o QS 2 éQS3:Var. legítimas Artif.x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSx 0 1 2 0 −1 1 0 0 −2 1x 6 0 2 0 −1 1 0 1 −1 1x 2 0 −1 1 0 −1 0 0 1 1x 5 0 1 0 0 1 1 0 −1 2Var. legítimas Artif.x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSx 0 1 0 0 0 0 0 −1 −1 0x 1 0 1 0 −1/2 1/2 0 1/2 −1/2 1/2x 2 0 0 1 −1/2 −1/2 0 1/2 1/2 3/2x 5 0 0 0 1/2 1/2 1 −1/2 −1/2 3/2QS 3 é ótimo e x 0 = 0. Também, todas as VB’s são legítimas, isto é, as variáveis artificiaissaíram da base. Passamos então aFASE IIDescartamos as colunas das variáveis artificiais e resolvemos o PL original, com a FO cx =x 1 − 2x 2 , iniciando o QS da Fase 2 pela base corrente B = [ ]a 1 a 2 a 5 (do QS 3, as VB’ssão x 1 , x 2 e x 5 , nessa or<strong>de</strong>m).Da coluna RHS do QS 3 da Fase 1, temos b = [ 1/2 3/2 3/2 ] te logo z0 = c B b = −5/2.Das colunas das VNB’s legítimas x 3 e x 4 concluímos quee logo c B B −1 N − c N = [ 1/2QS 2:B −1 N = B −1 [ a 3a 4]=⎡⎣−1/2 1/2−1/2 −1/21/2 1/23/2 ] . Assim o QS 1 da Fase 2 éz x 1 x 2 x 3 x 4 x 5 RHSz 1 0 0 1/2 3/2 0 −5/2x 1 0 1 0 −1/2 1/2 0 1/2x 2 0 0 1 −1/2 −1/2 0 3/2x 5 0 0 0 1/2 1/2 1 3/2⎤⎦QS 3:z x 1 x 2 x 3 x 4 x 5 RHSz 1 −3 0 2 0 0 −4x 4 0 2 0 −1 1 0 1x 2 0 1 1 −1 0 0 2x 5 0 −1 0 1 0 1 1z x 1 x 2 x 3 x 4 x 5 RHSz 1 −1 0 0 0 −2 −6x 4 0 1 0 0 1 1 2x 2 0 0 1 0 0 1 3x 3 0 −1 0 1 0 1 1


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 82QS 3 é ótimo e portanto o PL original foi resolvido, com solução ótima (x 1 , x 2 ) = (0, 3), e FO−6. Observe que o QS 1 da Fase 2 é essencialmente o QS final da Fase 1, a menos da linha <strong>de</strong>z e das colunas das variáveis artificiais.Do exemplo, observamos que o QS inicial da Fase 1 é <strong>de</strong> fácil montagem. De fato, seconsi<strong>de</strong>rarmos que a cada restrição inserimos uma variável artificial, teremos o problemamin 1x as.a. Ax + Ix a = bx ≥ 0x a ≥ 0on<strong>de</strong> a base viável é I. Neste caso, consi<strong>de</strong>rando c ′ o gradiente da FO x 0 = 1x a temos• N = A e I −1 N = A;• b = I −1 b = b (lembre-se que supomos b ≥ 0);• x 0 = c ′ I b = 1b, e• c ′ I I−1 N − c ′ N = 1A.O QS inicial da Fase 1 é portantox 0 x x a RHSx 0 1 1A 0 1bx a 0 A I b8.1.1 Organizando as Fases I e II no mesmo quadroComo já dito, os quadros final da Fase 1 e inicial da Fase 2 diferem somente na linha zero.Portanto para passar da Fase 1 para a 2, <strong>de</strong>vemos calcular apenas z 0 e z j − c j , ∀j ∈ R. A fim<strong>de</strong> evitar esses cálculos, organizamos os quadros das duas fases em um mesmo QS, como segue.Se c e c ′ são os gradientes das FO’s das Fases 1 e 2, respectivamente, temos no início da Fase1 a base B = I relativa às variáveis artificiais, e daí a linha <strong>de</strong> z é dada porc I I −1 N − c N = −c N = −c e z 0 = c I I −1 b = 0pois as VB’s são as artificiais que não aparecem na FO original, e logo c I = 0. Organizamosentão as duas fases no QSz x 0 x x a RHSz 1 0 −c 0 0x 0 0 1 1A 0 1bx a 0 0 A I b


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 83O pivoteamento na Fase 1 é feito utilizando a linha <strong>de</strong> x 0 , atualizando também a linha <strong>de</strong>z pelo procedimento usual. Após o término da Fase 1, caso x 0 = 0 e as variáveis artificiaisestejam todas fora da base, eliminamos a linha <strong>de</strong> x 0 e as colunas das artificiais, e proce<strong>de</strong>mosnormalmente com a Fase 2.Exemplo 8.1.2. Consi<strong>de</strong>re o PL do Exemplo anterior após inserção <strong>de</strong> variáveis <strong>de</strong> folga eartificiais,min x 1 −2x 2s.a. x 1 +x 2 −x 3 +x 6 = 2−x 1 +x 2 −x 4 +x 7 = 1x 2 +x 5 = 3x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0A FO original é x 1 − 2x 2 , e logo c = (1, −2, 0, 0, 0) (as variáveis legítimas são x 1 , . . . , x 5 ). OQS inicial éVar. legítimas Artif.z x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 −1 2 0 0 0 0 0 0x 0 0 1 0 2 −1 −1 0 0 0 3x 6 0 0 1 1 −1 0 0 1 0 2x 7 0 0 −1 1 0 −1 0 0 1 1x 5 0 0 0 1 0 0 1 0 0 3QS 2:QS 3:Var. legítimas Artif.z x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 1 0 0 2 0 0 −2 −2x 0 0 1 2 0 −1 1 0 0 −2 1x 6 0 0 2 0 −1 1 0 1 −1 1x 2 0 0 −1 1 0 −1 0 0 1 1x 5 0 0 1 0 0 1 1 0 −1 2Var. legítimas Artif.z x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 0 0 1/2 3/2 0 −1/2 −3/2 −5/2x 0 0 1 0 0 0 0 0 −1 −1 0x 1 0 0 1 0 −1/2 1/2 0 1/2 −1/2 1/2x 2 0 0 0 1 −1/2 −1/2 0 1/2 1/2 3/2x 5 0 0 0 0 1/2 1/2 1 −1/2 −1/2 3/2FASE IIQS 4:z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 0 1/2 3/2 0 −5/2x 1 0 1 0 −1/2 1/2 0 1/2x 2 0 0 1 −1/2 −1/2 0 3/2x 5 0 0 0 1/2 1/2 1 3/2


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 84QS 5:QS 6:z x 1 x 2 x 3 x 4 x 5 RHSz 1 −3 0 2 0 0 −4x 4 0 2 0 −1 1 0 1x 2 0 1 1 −1 0 0 2x 5 0 −1 0 1 0 1 1z x 1 x 2 x 3 x 4 x 5 RHSz 1 −1 0 0 0 −2 −6x 4 0 1 0 0 1 1 2x 2 0 0 1 0 0 1 3x 3 0 −1 0 1 0 1 1QS 6 é ótimo. Observe que no fim da Fase 1, a linha <strong>de</strong> z é exatamente a que obtivemos noExemplo anterior. A Fase 2 proce<strong>de</strong> <strong>de</strong> maneira exatamente igual.Ativida<strong>de</strong> 23. Você po<strong>de</strong> perceber no Exemplo anterior que ao adicionarmos a linha <strong>de</strong> z logona Fase 1 e realizarmos pivoteamentos, ao fim da Fase 1 essa linha já está correta para inícioda Fase 2. Mostre que quando x 0 = 0 e todas as variáveis artificiais saem da base, a linha <strong>de</strong> zjá está correta para início da Fase 2, ou seja, após pivoteamentos, no fim da Fase 1 os valoresz j − c j estão corretos.8.2 Degeneração: ciclagem no SimplexNo Capítulo 7 discutimos o método Simplex supondo ausência <strong>de</strong> <strong>de</strong>generação. Na ocasião,o Simplex sempre termina, pois a FO diminui a cada pivoteamento. Vamos ver aqui o que a<strong>de</strong>generação <strong>de</strong> uma solução básica viável po<strong>de</strong> ocasionar no Simplex.Lembre-se que uma solução básica viável[ ] [ ]xB B=−1 b≥ 0x N 0é <strong>de</strong>generada se x Bi = 0 para algum índice básico i (Definição 7.2, página 54). Deste modo ométodo Simplex po<strong>de</strong> ciclar, ou seja, a partir <strong>de</strong> um certo QS, voltar ao mesmo QS <strong>de</strong>pois <strong>de</strong>uma sequência finita <strong>de</strong> pivoteamentos. Assim, o método realiza sempre a mesma sequência <strong>de</strong>pivoteamentos e entra num laço infinito.Mais precisamente, o processo <strong>de</strong> ciclagem po<strong>de</strong> ocorrer quando há mais <strong>de</strong> uma base para omesmo vértice. Da Ativida<strong>de</strong> 19 (página 56), isso só ocorre quando o vértice (ou, pelo Teorema7.3 da página 55, a solução básica viável) é <strong>de</strong>generada. Quando o vértice é não <strong>de</strong>generado,há somente uma base associada.Ativida<strong>de</strong> 24. Mostre que se x é vértice não <strong>de</strong>generado <strong>de</strong> {x; Ax = b, x ≥ 0} então existesomente uma base associada a x.O exemplo a seguir ilustra o processo <strong>de</strong> ciclagem.Exemplo 8.2.1. [1] Consi<strong>de</strong>re o PL, <strong>de</strong>vido a Beale,min −3/4x 4 +20x 5 −1/2x 6 +6x 7s.a. x 1 +1/4x 4 −8x 5 −x 6 +9x 7 = 0x 2 +1/2x 4 −12x 5 −1/2x 6 +3x 7 = 0x 3 +x 6 = 1x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 85Como b ≥ 0, a base I formada pelas colunas 1, 2 e 3 é viável.z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 0 0 3/4 −20 1/2 −6 0x 1 0 1 0 0 1/4 −8 −1 9 0x 2 0 0 1 0 1/2 −12 −1/2 3 0x 3 0 0 0 1 0 0 1 0 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 −3 0 0 0 4 7/2 −33 0x 4 0 4 0 0 1 −32 −4 36 0x 2 0 −2 1 0 0 4 3/2 −15 0x 3 0 0 0 1 0 0 1 0 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 −1 −1 0 0 0 2 −18 0x 4 0 −12 8 0 1 0 8 −84 0x 5 0 −1/2 1/4 0 0 1 3/8 −15/4 0x 3 0 0 0 1 0 0 1 0 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 2 −3 0 −1/4 0 0 3 0x 6 0 −3/2 1 0 1/8 0 1 −21/2 0x 5 0 1/16 −1/8 0 −3/64 1 0 3/16 0x 3 0 3/2 −1 1 −1/8 0 0 21/2 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 1 −1 0 1/2 −16 0 0 0x 6 0 2 −6 0 −5/2 56 1 0 0x 7 0 1/3 −2/3 0 −1/4 16/3 0 1 0x 3 0 −2 6 1 5/2 −56 0 0 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 2 0 7/4 −44 −1/2 0 0x 1 0 1 −3 0 −5/4 28 1/2 0 0x 7 0 0 1/3 0 1/6 −4 −1/6 1 0x 3 0 0 0 1 0 0 1 0 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 0 0 3/4 −20 1/2 −6 0x 1 0 1 0 0 1/4 −8 −1 9 0x 2 0 0 1 0 1/2 −12 −1/2 3 0x 3 0 0 0 1 0 0 1 0 1O último QS é idêntico ao primeiro. Note também que todos os QS correspon<strong>de</strong>m aovértice x = (0, 0, 1, 0, 0, 0, 0), ou seja, o processo acima gerou as bases B 1 , B 2 , . . . , B 7 , on<strong>de</strong>B 7 = B 1 = [ ]a 1 a 2 a 3 todas associadas à x. Se a mesma sequência <strong>de</strong> pivoteamentos fosseutilizada, o Simplex ciclaria entre essas bases e não convergiria.No Exemplo acima, logo no primeiro quadro temos um empate na escolha da variável <strong>de</strong>saída: x 1 empata com x 2 pois b 1 /y 14 = b 2 /y 24 = 0. Po<strong>de</strong>mos então, ao invés <strong>de</strong> pivotear sobre


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 86y 14 , pivotear sobre y 24 . Isso nos levaria a uma nova sequência <strong>de</strong> pivoteamentos. É <strong>de</strong> se esperarque, se tivermos como contornar a ciclagem do Exemplo, temos que escolher outro pivô daquelejá escolhido.Por incrível que pareça, po<strong>de</strong>mos SEMPRE contornar a ciclagem apenas criando regraspara escolha das variáveis que entram e que saem. Existem várias regras, mas nos limitaremosà Regra <strong>de</strong> Bland, por sua simplicida<strong>de</strong>.8.2.1 Regra <strong>de</strong> BlandSupondo que as variáveis estejam in<strong>de</strong>xadas sempre na mesma or<strong>de</strong>m, digamos x 1 , . . . , x n ,a Regra <strong>de</strong> Bland consiste no seguinte:1. Dentre todas as VNB’s com z j − c j > 0, escolha para entrar a <strong>de</strong> menor índice, digamosx k ;2. Dentre todas as VB’s que empatam no critério usual <strong>de</strong> saída, isto é, <strong>de</strong>ntre todas as VB’sx Bs com{ }b sbi= min ; y ik > 0y sk 1≤i≤m y ikescolha para sair a <strong>de</strong> menor índice.Note que NÃO escolhemos necessariamente para entrar a variável com MAIOR z j − c j > 0,como anteriormente, e sim a <strong>de</strong> MENOR índice <strong>de</strong>ntre TODAS as VNB’s com z j − c j > 0.Pelo que vimos na Seção 7.4, a escolha <strong>de</strong> QUALQUER variável com z j − c j > 0 para entrarmelhora a FO, ou pelo menos não aumenta.Não <strong>de</strong>monstraremos que a Regra <strong>de</strong> Bland evita ciclagem. Para <strong>de</strong>talhes, consulte [1].Exemplo 8.2.2. Resolvemos o PL <strong>de</strong> Beale (Exemplo 8.2.1) usando a Regra <strong>de</strong> Bland.z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 0 0 3/4 −20 1/2 −6 0x 1 0 1 0 0 1/4 −8 −1 9 0x 2 0 0 1 0 1/2 −12 −1/2 3 0x 3 0 0 0 1 0 0 1 0 1No QS acima, a VNB x 4 é escolhida para entrar pois tem menor índice entre as candidatas.No entanto, x 1 e x 4 empatam no critério usual <strong>de</strong> saída. A Regra <strong>de</strong> Bland <strong>de</strong>ci<strong>de</strong> por x 1 .z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 −3 0 0 0 4 7/2 −33 0x 4 0 4 0 0 1 −32 −4 36 0x 2 0 −2 1 0 0 4 3/2 −15 0x 3 0 0 0 1 0 0 1 0 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 −1 −1 0 0 0 2 −18 0x 4 0 −12 8 0 1 0 8 −84 0x 5 0 −1/2 1/4 0 0 1 3/8 −15/4 0x 3 0 0 0 1 0 0 1 0 1Até aqui, o processo seguiu exatamente igual ao do Exemplo 8.2.1. No entanto, no próximoQS, a Regra <strong>de</strong> Bland diz para escolher x 1 ao invés <strong>de</strong> x 7 para entrar. O pivô será y 21 , e nãoy 27 como no Exemplo 8.2.1.


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 87z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 2 −3 0 −1/4 0 0 3 0x 6 0 −3/2 1 0 1/8 0 1 −21/2 0x 5 0 1/16 −1/8 0 −3/64 1 0 3/16 0x 3 0 3/2 −1 1 −1/8 0 0 21/2 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 1 0 5/4 −32 0 −3 0x 6 0 0 −2 0 −1 24 1 −6 0x 1 0 1 −2 0 −12 16 0 3 0x 3 0 0 1 1 1 −24 0 6 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 0 −1 1/4 −8 0 −9 −1x 6 0 0 0 2 1 −24 1 6 2x 1 0 1 0 2 −10 −32 0 15 2x 2 0 0 1 1 1 −24 0 6 1z x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 −1/4 −5/4 0 −2 0 −21/2 −5/4x 6 0 0 −1 −1 0 0 1 0 1x 1 0 1 10 12 0 −272 0 75 12x 4 0 0 1 1 1 −24 0 6 1O último QS é ótimo, e logo o PL <strong>de</strong> Beale está resolvido.8.3 Degeneração: Método <strong>de</strong> Duas FasesAntes <strong>de</strong> iniciarmos o estudo da <strong>de</strong>generação no Método <strong>de</strong> Duas Fases, vamos estabelecero seguinte resultado:Teorema 8.1. Seja QS 1 um quadro simplex <strong>de</strong> um dado PL, e QS 2 o quadro simplex do mesmoPL obtido após finitos pivoteamentos sobre QS 1 . Então os sistemas lineares associados a QS 1e QS 2 são equivalentes.Demonstração. Claramente, é suficiente mostrar que ao aplicarmos um pivoteamento, obtém-seum sistema associado equivalente ao do QS anterior.Consi<strong>de</strong>re o QS 1z x B x N RHSz 1 . . . . . . . . .x B 0 I B −1 N B −1 brelativo à base B e associado ao sistema linear[I B −1 N ] [ ]x B= B −1 bx N


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 88A atualização da base B = [ a 1 . . . a r . . .] [a m para a base B = a1 . . . a k . . .]a mcorrespon<strong>de</strong> a fazerB = BEon<strong>de</strong> E é a matriz inversível obtida da i<strong>de</strong>ntida<strong>de</strong> I m trocando a coluna r por y k , isto é,⎡⎤1 0 . . . y 1k . . . 0E = [ 0 1 . . . y 2k . . . 0] . . . .e 1 . . . e r−1 y k e r+1 . . . e m = ,0 0 . . . y rk . . . 0⎢⎥⎣ . . . . ⎦0 0 . . . y mk . . . 1poisBE = [ Be 1 . . . Be r−1 BB −1 a k Be r+1 . . . Be m]=[a1 . . . a k . . . a m].Logo B −1 = E −1 B −1 . Você po<strong>de</strong> verificar que⎡⎤1 0 . . . −y 1k /y rk . . . 00 1 . . . −y 2k /y rk . . . 0E −1 . . . .=.0 0 . . . 1/y rk . . . 0⎢⎥⎣ . . . . ⎦0 0 . . . −y mk /y rk . . . 1Observe do Quadro 7.2 (página 66) que após o processo <strong>de</strong> pivoteamento do QS 1 sobre o pivôy rk obtemos exatamente o bloco E −1 abaixo <strong>de</strong> x B . Também verifica-se B −1 a k = E −1 B −1 a k =e k , ou seja, a coluna da nova VB x k é a coluna k da i<strong>de</strong>ntida<strong>de</strong>. Logo, após pivotearmos QS 1sobre o pivô y rk , obtemos o QSz x B x N RHSz 1 . . . . . . . . .x B 0 E −1 B −1 N B −1 bO sistema associado a este QS é[E −1B −1 N] [ ]x B= B −1 b ⇔ [ Ex −1 (E −1 B −1 )N ] [ ]x B= (E −1 B −1 )bN x Nque é equivalente ao sistema associado ao QS 1 pois consiste na multiplicação à esquerda pelamatriz inversível E −1 . Isso conclui a <strong>de</strong>monstração.Na discussão do Método <strong>de</strong> Duas Fases, assumimos que ao fim da Fase 1 todas as variáveisartificiais saem da base. Discutiremos agora o caso em que no término da Fase 1 tivermosx 0 = 0, ou seja, o PL original é viável, mas alguma variável artificial permanece na base. Esseé precisamente o caso em que o problema da Fase 1 é <strong>de</strong>generado. Não po<strong>de</strong>mos passar para


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 89a Fase 2 pois a base corrente contém colunas fora da matriz A do PL original. Vejamos comoproce<strong>de</strong>r.Suponha que aplicamos a Fase 1 e obtivemos x 0 = 0 com variáveis artificiais básicas x aB eartificiais não básicas x aN . Também, sejam x lB e x lN as variáveis legítimas básicas e não básicas,respectivamente. Assim, as VB’s e VNB’s do problema da Fase 1 são, respectivamente,[ ][ ]x ′ xaBB = e x ′ xaNN = .x lB x lNO QS do fim da Fase 1 tem a formaVar. Legítimas Var. Artificiaisx 0 x lB x lN x aB x aN RHSx 0 1 0 s l 0 s a 0x lB 0 I R 1 0 R 3 b lx aB 0 0 R 2 I R 4 0Pelo quadro, temosx lB + R 1 x lN + R 3 x aN = b lR 2 x lN + x aB + R 4 x aN = 0Pelo Teorema 8.1, o sistema do PL original Ax + x a = b, x a = 0 (associado ao QS inicial)é equivalente a [ ] [ ] [ ]I R1 xlB bl= , x0 R 2 x lN 0 aB = 0, x aN = 0.Se R 2 ≠ 0, então pivoteamos sobre os elementos não nulos <strong>de</strong> R 2 a afim <strong>de</strong> retirar VB’sartificiais da base, e colocar VNB’s legítimas na base. Se após pivoteamentos tivermos ainda obloco R 2 = 0, o sistema acima terá restrições redundantes relativas às linhas <strong>de</strong> x lN (do tipo0 = 0), e estas po<strong>de</strong>rão ser eliminadas. Passamos neste caso para a Fase 2 iniciando com o QSz x lB x lN RHSz 1 0 c B R 1 − c N cb lx lB 0 I R 1 b lque contém somente variáveis legítimas. Observe que se B é a base corrente então R 1 = B −1 Ne b l = B −1 b, e logo a linha zero do QS faz sentido.


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 90Exemplo 8.3.1. [1] Consi<strong>de</strong>re o PL na forma padrãomin −x 1 +2x 2 −3x 3s.a. x 1 +x 2 +x 3 = 6−x 1 +x 2 +2x 3 = 42x 2 +3x 3 = 10x 3 +x 4 = 2x 1 , x 2 , x 3 , x 4 ≥ 0Introduzimos as variáveis artificiais x 5 , x 6 e x 7 :min −x 1 +2x 2 −3x 3s.a. x 1 +x 2 +x 3 +x 5 = 6−x 1 +x 2 +2x 3 +x 6 = 42x 2 +3x 3 +x 7 = 10x 3 +x 4 = 2x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0O QS inicial éz 0 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 1 −2 3 0 0 0 0 0x 0 0 1 0 4 6 0 0 0 0 20x 5 0 0 1 1 1 0 1 0 0 6x 6 0 0 −1 1 2 0 0 1 0 4x 7 0 0 0 2 3 0 0 0 1 10x 4 0 0 0 0 1 1 0 0 0 2z 0 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 1 −2 0 −3 0 0 0 −6x 0 0 1 0 4 0 −6 0 0 0 8x 5 0 0 1 1 0 −1 1 0 0 4x 6 0 0 −1 1 0 −2 0 1 0 0x 7 0 0 0 2 0 −3 0 0 1 4x 3 0 0 0 0 1 1 0 0 0 2z 0 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 −1 0 0 −7 0 2 0 −6x 0 0 1 4 0 0 2 0 −4 0 8x 5 0 0 2 0 0 1 1 −1 0 4x 2 0 0 −1 1 0 −2 0 1 0 0x 7 0 0 2 0 0 1 0 −2 1 4x 3 0 0 0 0 1 1 0 0 0 2z 0 x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7 RHSz 1 0 0 0 0 −13/2 −1/2 3/2 0 −4x 0 0 1 0 0 0 0 −2 −2 0 0x 1 0 0 1 0 0 1/2 1/2 −1/2 0 2x 2 0 0 0 1 0 −3/2 1/2 1/2 0 2x 7 0 0 0 0 0 0 −1 −1 1 0x 3 0 0 0 0 1 1 0 0 0 2


CAPÍTULO 8. MÉTODO SIMPLEX: INICIALIZAÇÃO E CICLAGEM 91As entradas da linha da VB artificial x 7 nas colunas das VNB’s legítimas são nulas, e logo<strong>de</strong>scartamos essa linha. Também, as colunas das variáveis artificiais são <strong>de</strong>scartadas e obtemoso QSz 0 x 1 x 2 x 3 x 4 RHSz 1 0 0 0 −13/2 −4x 1 0 1 0 0 1/2 2x 2 0 0 1 0 −3/2 2x 3 0 0 0 1 1 2O QS anterior já é ótimo, e portanto resolvemos o PL original, com solução ótima (2, 2, 2, 0)e FO −4.8.4 Exercícios1. Fazer os seguintes exercícios do livro do Bazaraa [1]: 4.1, 4.2, 4.3, 4.4, 4.5, 4.6, 4.8, 4.28,4.35 (somente Regra <strong>de</strong> Bland), 4.36.2. Execute em computador o Simplex cujo código está <strong>de</strong>scrito na Seção 7.9 para o PL <strong>de</strong>Beale do Exemplo 8.2.1. Verifique que o Simplex cicla.O arquivo <strong>de</strong> entrada do PL <strong>de</strong> Beale no formato requerido pelo código é <strong>de</strong>scrito a seguir.3 4-0.75 20 -0.5 60 0 10.25 -8 -1 90.5 -12 -0.5 30 0 1 03. No código do Simplex da Seção 7.9 modifique as funções entra e sai <strong>de</strong> modo a satisfazerema Regra <strong>de</strong> Bland. Execute então o seu código modificado para o PL <strong>de</strong> Beale e veja quea ciclagem é contornada. Confira então que a FO ótima obtida pelo programa é a mesmado Exemplo 8.2.2.8.5 <strong>Notas</strong>Apresentamos a Regra <strong>de</strong> Bland para contornar ciclagem no Simplex. Como comentamos,existem várias regras que cumprem tal objetivo. Em [1], além da Regra <strong>de</strong> Bland, é discutidaa Or<strong>de</strong>m Lexicográfica. Em [3] são apresentadas a Regra <strong>de</strong> Wolfe, e os métodos <strong>de</strong> Dantzig e<strong>de</strong> Krishna.


Capítulo 9O Simplex RevisadoDada uma base B, para a construção do QS associado <strong>de</strong>vemos calcular c B B −1 N − c N ,c B B −1 b, B −1 N e B −1 b. Dessas matrizes, apenas B −1 não é um dado direto do problema. Ai<strong>de</strong>ia é estabelecer o Simplex em um QS menor. Neste QS, <strong>de</strong>vemos• ter em mãos a solução corrente x B = B −1 b = b, x N = 0;• ter em mãos a FO corrente z = c B B −1 b = c B b;• calcular com certa facilida<strong>de</strong> z j − c j = c B B −1 a j − c j ;• calcular com certa facilida<strong>de</strong> y k = B −1 a k para alguma VB x k candidata a entrar na base.Note que as matrizes w = c B B −1 e B −1 aparecem nos cálculos que necessitamos. Consi<strong>de</strong>ramoso Quadro Simplex Revisado (QSR)Inversa da baseRHSz w c B bx B B −1 bTabela 9.1: Quadro Simplex Revisado.Vejamos agora como o processo <strong>de</strong> pivoteamento no QS tradicional é feito no QSR. Primeiro,<strong>de</strong>vemos calcular z j −c j para todo j ∈ R. Como z j −c j = wa j −c j , isso po<strong>de</strong> ser facilmente feitousando a linha w do QSR. Escolhida x k para entrar na base, calculamos y k = B −1 a k usando ainversa B −1 presente no QSR. O processo <strong>de</strong> mudança <strong>de</strong> base é realizado como segue. Se y rké o pivô, inserimos a coluna da VNB x k , obtendo o QSR estendidoInversa da base RHS x kz w c B b z k − c kx B B −1 b y k92


CAPÍTULO 9. O SIMPLEX REVISADO 93Pivoteamos então da forma tradicional sobre o pivô y rk . Por último apagamos a coluna <strong>de</strong>x k , obtendo o QSR atualizado.Para mostrar que esse procedimento <strong>de</strong> mudança <strong>de</strong> base é correto, consi<strong>de</strong>re o QSR 1Inversa da base RHS x kz c B B −1 c B B −1 b z k − c kx B B −1 B −1 b y kPela <strong>de</strong>monstração do Teorema 8.1 (página 87), o QSR 1 após a mudança da baseB [ a B1 . . . a Br . . . a Bm]para a baseB = [ a B1 . . . a k . . . a Bm]é o QSR 2Inversa da base RHSz c B (E −1 B −1 ) c B (E −1 B −1 )bx B E −1 B −1 (E −1 B −1 )bon<strong>de</strong>⎡⎤1 0 . . . y 1k . . . 0E = [ 0 1 . . . y 2k . . . 0] . . . .e 1 . . . e r−1 y k e r+1 . . . e m = .0 0 . . . y rk . . . 0⎢⎥⎣ . . . . ⎦0 0 . . . y mk . . . 1Basta verificarmos que o pivoteamento tradicional sobre y rk no QSR 1 recai no QSR 2 .Ativida<strong>de</strong> 25. Verifique que pivoteando sobre y rk no QSR 1 , obtemos o QSR 2 .Dica: O trabalho é braçal. Chame B −1 = [d ij ]. Para a linha <strong>de</strong> z, estu<strong>de</strong> a componente j <strong>de</strong>c B E −1 B −1 , lembrando que c B é o vetor c B com c k no lugar <strong>de</strong> c Br . Mostre que o pivoteamentoleva w = c B B −1 aw = c B B −1 − (c By k − c k )d ry rkon<strong>de</strong> d r é linha r <strong>de</strong> B −1 . Compare a componente j <strong>de</strong> w e veja que é igual à componente j<strong>de</strong> c B E −1 B −1 . Assim você terá mostrado que w = c B E −1 B −1 . A linha <strong>de</strong> x B se faz do mesmomodo.Com isso, estabelecemos o Simplex Revisado como segue.1. (INICIALIZAÇÃO) Encontre uma solução básica viável inicial com base inversa B−1 .Monte o QSR 9.1.2. (PASSO PRINCIPAL)


CAPÍTULO 9. O SIMPLEX REVISADO 94(a) Para cada VNB, calcule z j − c j = wa j − c j . Seja z k − c k = max j∈R {z j − c j }. Sez k − c k ≤ 0 então pare com a solução ótima corrente. Caso contrário, vá para opróximo passo.(b) Calcule y k = B −1 a k . Se y k ≤ 0 para com a conclusão <strong>de</strong> que o problema é ilimitado.Caso contrário, vá para o próximo passo.[ ]zk − c(c) Insira a colunakno QSR.y kInversa da base RHS x kz w c B b z k − c kx B B −1 b y kDetermine um índice r tal que{ }b rbi= min ; y ik > 0 .y rk 1≤i≤m y ikAtualize o QSR realizando pivoteamento no pivô y rk . Atualize o conjunto R dosíndices das VNB’s, e repita o passo 2.Exemplo 9.0.1. [1] Consi<strong>de</strong>re o PLmin x 1 −2x 2 +x 3 −x 4 −4x 5 +2x 6s.a. x 1 +x 2 +x 3 +x 4 +x 5 +x 6 ≤ 62x 1 −x 2 −2x 3 +x 4 ≤ 4x 3 +x 4 +2x 5 +x 6 ≤ 4x 1 , x 2 , x 3 , x 4 , x 5 , x 6 ≥ 0Introduzindo variáveis <strong>de</strong> folga x 7 , x 8 e x 9 , a base inicial é I = [ a 7 a 8]a 9 . Assim, w =c B I −1 = (0, 0, 0) e b = b.z 0 0 0 0x 7 1 0 0 6x 8 0 1 0 4x 9 0 0 1 4Temos z j − c j = wa j − c j = −c j para j ∈ {1, 2, 3, 4, 5, 6}. Assim z 5 − c 5 = 4 = max j∈R {z j −c j }. Também,⎡ ⎤1y 5 = I −1 a 5 = ⎣ 0 ⎦2Inserimos a coluna referente à x 5[ ]z5 − c 5=y 5⎡⎢⎣4102⎤⎥⎦


CAPÍTULO 9. O SIMPLEX REVISADO 95no QSR.z 0 0 0 0 4x 7 1 0 0 6 1x 8 0 1 0 4 0x 9 0 0 1 4 2z 0 0 −2 −8x 7 1 0 −1/2 4x 8 0 1 0 4x 5 0 0 1/2 2Temos w = (0, 0, −2). Fazendo as contas, 2 = z 2 − c 2 = wa 2 − c 2 = max j∈R {z j − c j } e⎡⎤ ⎡ ⎤ ⎡ ⎤1 0 −1/2 1 1y 2 = B −1 a 2 = ⎣ 0 1 0 ⎦ ⎣ −1 ⎦ = ⎣ −1 ⎦ .0 0 1/2 0 0z 0 0 −2 −8 2x 7 1 0 −1/2 4 1x 8 0 1 0 4 −1x 5 0 0 1/2 2 0z −2 0 −1 −16x 2 1 0 −1/2 4x 8 1 1 −1/2 8x 5 0 0 1/2 2Temos w = (−2, 0, −1) e verificamos que z j − c j ≤ 0 para todo j. Logo o último QSR éótimo. Portanto o PL tem x = (0, 4, 0, 0, 2, 0) como solução ótima e FO ótima −16. 9.1 Comparação entre o Simplex e o Simplex RevisadoVamos <strong>de</strong>screver algumas vantagens e <strong>de</strong>svantagens do Simplex Revisado frente ao Simplex.O Simplex trabalha com um quadro <strong>de</strong> tamanho (m+1)×(n+1) (<strong>de</strong>sconsi<strong>de</strong>ramos a coluna <strong>de</strong>z), enquanto o Simplex Revisado com um <strong>de</strong> tamanho (m + 1) × (m + 1). Assim, se n for maiorque m, ou seja, se houverem mais variáveis <strong>de</strong> <strong>de</strong>cisão do que restrições, o Simplex Revisadoocupa menos espaço na memória. Mesmo em nossa implementação do Simplex na Seção 7.9,on<strong>de</strong> não armazenamos as colunas das VB’s, temos um quadro <strong>de</strong> tamanho (m+1)×(n−m+1).Neste caso, se n for muito gran<strong>de</strong> em relação à m, teremos um quadro maior que o do SimplexRevisado. Nos problemas práticos é comum essa situação.Outra observação é quanto ao número <strong>de</strong> multiplicações e adições necessárias para atualizarcada quadro.• No Simplex, para cada elemento fora da linha e coluna do pivô, são realizadas 3 multiplicaçõese 1 adição. Assim, para todos esses elementos, são 3m(n − m) multiplicações em(n − m) adições. Na linha do pivô temos mais n − m multiplicações (exclui-se o pivô).• No Simplex Revisado, para cada elemento fora da linha do pivô são 3 multiplicações e 1adição, e na linha do pivô realizamos m + 1 multiplicações. No total são (3m + 1)(m + 1)multiplicações e m(m + 1) adições.


CAPÍTULO 9. O SIMPLEX REVISADO 96• No Simplex Revisado temos ainda que calcular z j − c j = wa j − c j para todo j ∈ R.Depois, <strong>de</strong>vemos calcular y k = B −1 a k . No total são m(n − m) + m 2 = mn multiplicaçõese (m + 1)(n − m) + m 2 = mn + n − m adições.SimplexSimplex RevisadoMultip. Adições Multip. AdiçõesPivoteamento 3m(n − m) m(n − m) (3m + 1)(m + 1) m(m + 1)Outros cálculos 0 0 mn mn + n − mTOTAIS 3m(n − m) m(n − m) (3m + 1)(m + 1) + mn m(m + 1) + mn + n − mA tabela a seguir ilustra o número <strong>de</strong> operações (multiplicação e adições) e o tamanho doquadro.OperaçõesTamanho do Quadrom n Simplex Simplex Revisado Simplex Simplex Revisado5 10 100 231 36 365 20 300 341 96 365 35 600 506 186 365 50 900 671 276 365 100 1900 1221 576 365 1000 19900 11121 5976 365 10000 199900 110121 59976 36Observe que o total <strong>de</strong> operações realizadas pelo Simplex Revisado é maior quando n épouco maior do que m. Mas os problemas da prática tem n muito maior do que m, e nestecaso o Simplex Revisado leva vantagem. Além disso esses problemas geralmente tem a matrizdas restrições esparsa, isto é, com muitos zeros. Isso facilita os cálculos adicionais <strong>de</strong> wa j − c je B −1 a k no Simplex Revisado pois envolvem multiplicações pelos vetores esparsos a ′ js. Aexperiência confirma que nos problemas da prática o Simplex Revisado é mais rápido.9.2 Outras observaçõesO Simplex Revisado foi apresentado como uma melhora do Simplex tradicional. No entanto,é utilizado também no Método <strong>de</strong> Duas Fases pois este consiste na aplicação do Simplex emdois PL’s. Neste caso, inserimos a linha <strong>de</strong> z na primeira fase, como já fazíamos. No fim daFase 1 caso x 0 = 0 <strong>de</strong>scartamos a linha <strong>de</strong> x 0 e proce<strong>de</strong>mos pivoteando, lembrando que asVNB’s da Fase 2 são as variáveis legítimas. A diferença para o Método <strong>de</strong> Duas Fases vistoanteriormente é que a linha das VB’s artificiais (se houverem) permanecem no QSR.Exemplo 9.2.1. Consi<strong>de</strong>re o PL do Exemplo 8.3.1 (página 90)min −x 1 +2x 2 −3x 3s.a. x 1 +x 2 +x 3 +x 5 = 6−x 1 +x 2 +2x 3 +x 6 = 42x 2 +3x 3 +x 7 = 10x 3 +x 4 = 2x 1 , x 2 , x 3 , x 4 , x 5 , x 6 , x 7 ≥ 0


CAPÍTULO 9. O SIMPLEX REVISADO 97on<strong>de</strong> x 5 , x 6 e x 7 são variáveis artificiais. Iniciamos com a base I = [ a 5 a 6 a 7]a 4 . Temosb = b. Relativo à FO original temosRelativo à FO da Fase 1,w ′ = c ′ II −1 = [ 0 0 0 0 ] t, z = c′I b = 0.w = c I I −1 = [ 1 1 1 0 ] ,x 0 = c I b = 20.FASE IQSR 1 :QSR 2 :QSR 3 :z 0 0 0 0 0x 0 1 1 1 0 20x 5 1 0 0 0 6x 6 0 1 0 0 4x 7 0 0 1 0 10x 4 0 0 0 1 2x 3z 0 0 0 0 0 3x 0 1 1 1 0 20 6x 5 1 0 0 0 6 1x 6 0 1 0 0 4 2x 7 0 0 1 0 10 3x 4 0 0 0 1 2 1x 2z 0 0 0 −3 −6 −2x 0 1 1 1 −6 8 4x 5 1 0 0 −1 4 1x 6 0 1 0 −2 0 1x 7 0 0 1 −3 4 2x 3 0 0 0 1 2 0QSR 4 :QSR 5 :x 1z 0 2 0 −7 −6 −1x 0 1 −3 1 2 8 4x 5 1 −1 0 1 4 2x 2 0 1 0 −2 0 −1x 7 0 −2 1 1 4 2x 3 0 0 0 1 2 0z 1/2 3/2 0 −13/2 −4x 0 −1 −1 1 0 0x 1 1/2 −1/2 0 1/2 2x 2 1/2 1/2 0 −3/2 2x 7 −1 −1 1 0 0x 3 0 0 0 1 2QSR 5 é ótimo, e logo passamos para a Fase 2. Note que x 7 é VB artificial.FASE IIz 1/2 3/2 0 −13/2 −4x 1 1/2 −1/2 0 1/2 2x 2 1/2 1/2 0 −3/2 2x 7 −1 −1 1 0 0x 3 0 0 0 1 2O conjunto dos índices das VNB’s, relativas ao PL original, é {4}. Temos z 4 − c ′ 4 ≤ 0 e logoeste QSR é ótimo. Resolvemos assim o PL original.


Capítulo 10Dualida<strong>de</strong>Para um dado PL existe um problema associado <strong>de</strong> forma que, ao resolver o problema original,o resolvemos simultaneamente. As relações entre esses problemas permitem a introdução<strong>de</strong> dois novos algoritmos para resolução <strong>de</strong> PL’s: o Simplex Dual e o método Primal-Dual.Estudaremos a seguir esse tal problema e suas relações com o original.10.1 O dual <strong>de</strong> um problema <strong>de</strong> programação linearConsi<strong>de</strong>re o PL na forma canônicaP 1 : min cxs.a. Ax ≥ bon<strong>de</strong> A é m × n. Definimos o dual <strong>de</strong> P como o PLD 1 : max wbx ≥ 0.s.a. wA ≤ cw ≥ 0.Quando estamos trabalhando com o dual <strong>de</strong> P 1 , po<strong>de</strong>mos dizer que P 1 é o problema primal.Também, x são as variáveis primais e w as variáveis duais. A mesma terminologia se aplica àsrestrições e FO’s.Observe que há exatamente uma variável dual para cada restrição primal e exatamente umarestrição dual para cada variável dual. Ou seja, w ∈ R m .Agora consi<strong>de</strong>ramos o problema primal na forma padrãoP 2 : min cxs.a. Ax = bx ≥ 0.Vamos estabelecer o dual <strong>de</strong> P 2 colocando-o na forma canônica, ou seja, escrevendoP 2 : min cxs.a. Ax ≥ b(−A)x ≥ (−b)x ≥ 0.98


CAPÍTULO 10. DUALIDADE 99Equivalentemente,P 2 : min cx[ As.a.−A] [ bx ≥−b]x ≥ 0.Assim, o dual <strong>de</strong> P 2 éD 2 : max [ w + w ] [ ]− b−b[s.a. w + w ] [ ]− A≤ c−Aw + ≥ 0w − ≥ 0,ou seja,D 2 : max (w + − w − )bs.a. (w + − w − )A ≤ cw + ≥ 0w − ≥ 0.Fazendo w = w + − w − ∈ R m , as restrições w + , w − ≥ 0 são equivalentes a afirmar que w éirrestrito. Assim, o dual <strong>de</strong> P 2 éLema 10.1. O dual do dual é o primal.D 2 : max wbs.a. wA ≤ cw irrestrito.Demonstração. Dado qualquer PL, colocamos-o na forma canônica P 1 . Seu dual é portanto oproblema D 1 , que é equivalente ao PLO dual <strong>de</strong> D 1 éD 1 : − min (−b) t w ts.a. (−A) t w t ≥ (−c) t− max x t (−c t )w t ≥ 0.s.a. x t (−A) t ≤ (−b) tx t ≥ 0,on<strong>de</strong> x t são as variáveis duais <strong>de</strong> D 1 . Ora, este problema é equivalente aIsso conclui a <strong>de</strong>monstração.P 1 : min cxs.a. Ax ≥ bx ≥ 0.


CAPÍTULO 10. DUALIDADE 100Como sabemos, qualquer problema po<strong>de</strong> ser posto nas formas canônica ou padrão. Comisso, estabelecemos o dual <strong>de</strong> qualquer problema. Na prática proce<strong>de</strong>mos da seguinte forma:cada restrição primal tem uma única variável dual associada, e cada variável primal tem umaúnica restrição dual associada. A relação entre variáveis/restrições primais e restrições/variáveisduais é dada na tabela abaixo.Minimização Maximização≥ 0 ↔ ≤variáveis ≤ 0 ↔ ≥ restriçõesirrestrito ↔ =≥ ↔ ≥ 0restrições ≤ ↔ ≤ 0 variáveis= ↔ irrestritoTabela 10.1: Dual <strong>de</strong> um PL genérico.Exemplo 10.1.1. [1] Consi<strong>de</strong>re o PLmax 8x 1 +3x 2 −2x 3s.a. x 1 −6x 2 +x 3 ≥ 25x 1 +7x 2 −2x 3 = −4x 1 ≤ 0x 2 ≥ 0x 3 ∈ RFaçamos correspon<strong>de</strong>r as variáveis duais w 1 e w 2 às duas primeiras restrições primais. Astrês restrições duais são relativas às variáveis primais x 1 , x 2 e x 3 . Pela Tabela 10.1 o dual émin 2w 1 −4w 2s.a. w 1 +5w 2 ≤ 8−6w 1 +7w 2 ≥ 3w 1 −2w 2 = −2w 1 ≤ 0w 2 ∈ RAtivida<strong>de</strong> 26. Mostre que a Tabela 10.1 é correta.Dica: Faça o dual do PL genéricocolocando-o na forma canônica.min c 1 x 1 +c 2 x 2 +c 3 x 3s.a. A 11 x 1 +A 12 x 2 +A 13 x 3 ≥ b 1A 21 x 1 +A 22 x 2 +A 23 x 3 ≤ b 2A 31 x 1 +A 32 x 2 +A 33 x 3 = b 3x 1 ≥ 0x 2 ≤ 0x 3 ∈ R k


CAPÍTULO 10. DUALIDADE 10110.2 Relações entre os problemas primal e dualNesta seção daremos relações importantes entre os problemas primal e dual.Teorema 10.2 (da Dualida<strong>de</strong> Fraca). Seja dado um problema primal na forma canônica P 1 eseu dual D 1 . Se x 0 e w 0 são pontos viáveis <strong>de</strong> P 1 e D 1 , respectivamente, entãocx 0 ≥ w 0 b.Ou seja, a FO do dual fornece um limitante inferior para a FO do problema primal <strong>de</strong> minimizaçãona forma canônica.Demonstração. Temos Ax 0 ≥ b, x 0 ≥ 0, w 0 A ≤ c e w 0 ≥ 0. Multiplicando Ax 0 ≥ b aesquerda por w 0 ≥ 0 e w 0 A ≤ c a direita por x 0 ≥ 0, obtemoscx 0 ≥ w 0 Ax 0 ≥ w 0 b.Corolário 10.3. Consi<strong>de</strong>re x 0 e w 0 como no Teorema 10.2. Se cx 0 = w 0 b então x 0 e w 0 sãosoluções ótimas <strong>de</strong> P 1 e D 1 , respectivamente.Corolário 10.4. Se um dos problemas P 1 ou D 1 é ilimitado, o outro é inviável.Ativida<strong>de</strong> 27. Mostre os dois Corolários anteriores.Ativida<strong>de</strong> 28. Enuncie e <strong>de</strong>monstre o Teorema 10.2 para a forma padrão (problemas P 2 eD 2 ). Conclua que os dois Corolários anteriores valem também para a forma padrão.Contrariando as expectativas, se um dos problemas P 1 ou D 1 for inviável então não hágarantia <strong>de</strong> que o outro seja ilimitado, como mostra o próximo exemplo.Exemplo 10.2.1. [1] Consi<strong>de</strong>re o PL primale seu dualmin −x 1 −x 2s.a. x 1 −x 2 ≥ 1−x 1 +x 2 ≥ 1x 1 , x 2 ≥ 0max w 1 +w 2s.a. w 1 −w 2 ≤ −1−w 1 +w 2 ≤ −1w 1 , w 2 ≥ 0O PL primal é inviável pois x 1 − x 2 ≥ 1 e x 1 − x 2 ≤ −1. Mas note que pelo mesmo motivoo dual é também inviável.Teorema 10.5 (da Dualida<strong>de</strong> Forte). Se um dos problemas P 1 ou D 1 admitir solução ótima,então o outro também admite. Neste caso os valores ótimos das FO’s do primal e do dual sãoiguais.


CAPÍTULO 10. DUALIDADE 102Demonstração. Suponha que P 1 tenha solução ótima x. Inserimos variáveis <strong>de</strong> folga no problemaprimal, obtendo o sistema Ax − I m x f = b, x ≥ 0, x f ≥ 0. Po<strong>de</strong>mos supor neste casoque x seja solução básica viável associada a uma base B. Tomemos w = c B B −1 ∈ R m . Como xé ótimo, wN−c N ≤ 0, on<strong>de</strong> N é a submatriz <strong>de</strong> [ ]A −I m das colunas não básicas. TambémwB − c B = c B B −1 B − c B = 0, e logow [ A −I m]−[c 0]= w[B N]−[cB c N]≤ 0 ⇒ w[A −Im]≤[c 0].Com isso wA ≤ c e w ≥ 0, ou seja, w é viável para o dual D 1 . Por outro lado cx = c B B −1 b =wb, e do Corolário 10.3 segue que w é solução ótima <strong>de</strong> D 1 .O caso em que D 1 admite solução ótima recai no anterior transformando D 1 na forma <strong>de</strong>P 1 .Ativida<strong>de</strong> 29. Enuncie e <strong>de</strong>monstre <strong>de</strong> forma análoga o Teorema da Dualida<strong>de</strong> Forte para aforma padrão.Os resultados enunciados até aqui são resumidos no Teorema a seguir, conhecido por Teoremada Dualida<strong>de</strong> ou Teorema Fundamental da Dualida<strong>de</strong>. Como qualquer PL po<strong>de</strong> sertransformado nas formas padrão ou canônica, ele será enunciado <strong>de</strong> forma geral.Teorema 10.6 (Teorema Fundamental da Dualida<strong>de</strong>). Sejam P um problema primal e D seudual. Exatamente uma das afirmações ocorre:(i) Ambos possuem solução ótima x ∗ e w ∗ com cx ∗ = w ∗ b.(ii) Um dos problemas é ilimitado. Neste caso o outro é inviável.(iii) Ambos os problemas são inviáveis.Teorema 10.7 (das Folgas Complementares). Se x ∗ e w ∗ são soluções ótimas <strong>de</strong> um problemaprimal P e seu dual D, respectivamente, então (c − w ∗ A)x ∗ = 0 e w ∗ (Ax ∗ − b) = 0.Demonstração. Pelo Teorema da Dualida<strong>de</strong> Forte, cx ∗ = w ∗ b. Da <strong>de</strong>monstração do Teoremada Dualida<strong>de</strong> Fraca, temos cx ∗ ≥ w ∗ Ax ∗ ≥ w ∗ b e logo cx ∗ = w ∗ Ax ∗ = w ∗ b, don<strong>de</strong> segue oresultado.As condições (c − w ∗ A)x ∗ = 0 e w ∗ (Ax ∗ − b) = 0 do Teorema 10.7 são chamadas folgascomplementares. Elas asseguram que quando x ∗ é não ativo em uma restrição primal, digamosa i x ∗ < b i , então a variável dual correspon<strong>de</strong>nte w ∗ i é zero. Da mesma forma, quando w ∗ é nãoativo em uma restrição dual, digamos w ∗ a j < c j , a variável primal correspon<strong>de</strong>nte x ∗ j é zero.Exemplo 10.2.2. [1] Consi<strong>de</strong>re o PLe seu dualmin 2x 1 +3x 2 +5x 3 +2x 4 +3x 5s.a. x 1 +x 2 +2x 3 +x 4 +3x 5 ≥ 42x 1 −2x 2 +3x 3 +x 4 +x 5 ≥ 3x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0max 4w 1 +3w 2s.a. w 1 +2w 2 ≤ 2w 1 −2w 2 ≤ 32w 1 +3w 2 ≤ 5w 1 +w 2 ≤ 23w 1 +w 2 ≤ 3w 1 , w 2 ≥ 0


CAPÍTULO 10. DUALIDADE 103Como o dual tem duas variáveis, po<strong>de</strong>mos resolvê-lo graficamente. Sua solução ótima éw ∗ = (4/5, 3/5), com FO igual a 5 (verifique!). Assim, a FO primal ótima é igual a z ∗ = 5. PeloTeorema das Folgas Complementares, x ∗ 2 = x ∗ 3 = x ∗ 4 = 0 pois as restrições duais correspon<strong>de</strong>ntessão não ativas em w ∗ . Como w1, ∗ w2 ∗ > 0, as restrições primais correspon<strong>de</strong>ntes são ativas emx ∗ , ou seja, x ∗ 1 + 3x ∗ 5 = 4 e 2x ∗ 1 + x ∗ 5 = 3. Dessas equações obtemos x ∗ 1 = x ∗ 5 = 1. Assim,resolvemos o problema primal.10.3 Condições <strong>de</strong> otimalida<strong>de</strong> <strong>de</strong> Karush-Kuhn-Tucker(KKT)Nesta seção vamos discutir condições necessárias e suficientes para um ponto x ser soluçãoótima <strong>de</strong> um PL nas formas canônica e padrão.10.3.1 Condições KKT para restrições <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong>Consi<strong>de</strong>re o PL na forma canônicaP 1 : min cxs.a. Ax ≥ bx ≥ 0.Seja x uma solução ótima <strong>de</strong> P 1 . Do Teorema da Dualida<strong>de</strong> Forte, seu dual D 1 admite umasolução ótima w. Do Teorema das Folgas Complementares segue quevx = 0 e w(Ax − b) = 0.on<strong>de</strong> v = c − wA. Ora, x e w são viáveis para P 1 e D 1 , ou seja,ou equivalentementeAx ≥ b, x ≥ 0 e wA ≤ c, w ≥ 0.Ax ≥ b, x ≥ 0 e wA + v = c, v ≥ 0, w ≥ 0.Estabelecemos então as condições <strong>de</strong> Karush-Kuhn-Tucker (KKT):Ax ≥ b, x ≥ 0 (10.1)wA + v = c, w ≥ 0, v ≥ 0 (10.2)w(Ax − b) = 0, vx = 0. (10.3)As condições (10.1) dizem que x <strong>de</strong>vem ser solução primal, e por isso são chamadas condições<strong>de</strong> viabilida<strong>de</strong> primal. Analogamente, as condições (10.2) são as condições <strong>de</strong> viabilida<strong>de</strong> dual.As condições (10.3) são as condições <strong>de</strong> folga complementar. Aqui, w e v são chamados multiplicadores<strong>de</strong> Lagrange (ou variáveis duais) associados às restrições Ax ≥ b e x ≥ 0, respectivamente.Veremos agora que as condições KKT são necessárias e suficientes para otimalida<strong>de</strong> na formacanônica.Teorema 10.8. Sejam P 1 um PL na forma canônica. Se x é solução ótima <strong>de</strong> P 1 então existemw e v tais que (x, w, v) satisfaz as condições KKT. Reciprocamente, se (x, w, v) satisfaz ascondições KKT então x é solução ótima <strong>de</strong> P 1 .


CAPÍTULO 10. DUALIDADE 104Demonstração. Suponha que x seja solução ótima <strong>de</strong> P 1 . A condição (10.1) vale pois x é primalviável. Pelo Teorema da Dualida<strong>de</strong> Forte existe w solução ótima do dual D 1 <strong>de</strong> P 1 . Temosentão wA ≤ c, w ≥ 0, e fazendo v = c − wA vem (10.2). A condição (10.3) segue do Teoremadas Folgas Complementares.Reciprocamente, seja (x, w, v) satisfazendo as condições KKT. De (10.1), x é viável parao primal P 1 e <strong>de</strong> (10.2), w é viável para o dual D 1 (v = c − wA são as folgas das restriçõesduais). Da condição (10.3) segue quecx = wAx = wb.Do Corolário 10.3 concluímos que x é solução ótima <strong>de</strong> P 1 .10.3.2 Condições KKT para restrições <strong>de</strong> igualda<strong>de</strong>Consi<strong>de</strong>re o PL na forma padrãoP 2 : min cxs.a. Ax = bx ≥ 0.Como vimos, neste caso w é viável para o dual D 2 <strong>de</strong> P 2 se wA ≤ c e w irrestrito. Note quew(Ax−b) = 0 para pois Ax−b = 0. As condições KKT para o problema P 2 na forma padrãosãoAx = b, x ≥ 0wA + v = c, w irrestrito, v ≥ 0vx = 0.Ativida<strong>de</strong> 30. Mostre que as condições KKT são necessárias e suficientes para otimalida<strong>de</strong>na forma padrão. Imite a <strong>de</strong>monstração do Teorema 10.8.10.3.3 Interpretação geométrica das condições KKTVamos dar uma interpretação geométrica das condições KKT para a forma canônica, on<strong>de</strong>as restrições são <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong>.Seja x um ponto viável <strong>de</strong> P 1 . As condições <strong>de</strong> folga complementar (10.3) dizem que• se a i-ésima restrição primal não for ativa em x, isto é, se a i x > b i então o multiplicador<strong>de</strong> Lagrange correspon<strong>de</strong>nte é zero, ou seja, w i = 0;• se x j > 0 então v j = 0.Sejam os conjuntos I e J dos índices das restrições ativas em x relativas à Ax ≥ b e x ≥ 0,respectivamente:I = {i; a i x = b i } e J = {j; x j = 0}.Assim w i = 0, ∀i /∈ I, e v j = 0, ∀j /∈ J. Portanto as condições (10.2) se resumem a∑w i a i + ∑ v j e j = c,i∈Ij∈Jw i ≥ 0, i ∈ I,v j ≥ 0, j ∈ J,


CAPÍTULO 10. DUALIDADE 105on<strong>de</strong> a i é linha i <strong>de</strong> A e e j o j-ésimo canônico <strong>de</strong> R n . Isso quer dizer precisamente que c estáno cone gerado pelos gradientes das restrições ativas em x, on<strong>de</strong> a i é o gradiente <strong>de</strong> a i x ≥ b i ee j e gradiente <strong>de</strong> x j ≥ 0.Somos levados à seguinte interpretação geométrica: x é solução ótima <strong>de</strong> P 1 se, e somentese, c está no cone gerado pelos gradientes das restrições ativas em x.Exemplo 10.3.1. [1] Consi<strong>de</strong>re o PL na forma canônicaOs gradientes da FO e restrições sãomin −x 1 −3x 2s.a. x 1 −2x 2 ≥ −4−x 1 −x 2 ≥ −4x 1 , x 2 ≥ 0c = (−1, −3)a 1 = (1, −2)a 2 = (−1, −1)e 1 = (1, 0)e 2 = (0, 1).Consi<strong>de</strong>remos os quatro pontos extremos da região viável (veja Figura 10.1):1. (0, 0): as restrições ativas são x 1 , x 2 ≥ 0. Da figura, vemos que c /∈ cone {e 1 , e 2 } e logo(0, 0) não é ótimo;2. (0, 2): as restrições ativas são x 1 − 2x 2 ≥ −4 e x 1 ≥ 0. Da figura, c /∈ cone {a 1 , e 1 } e logo(0, 2) não é ótimo;3. (4/3, 8/3): as restrições ativas são x 1 − 2x 2 ≥ −4 e −x 1 − x 2 ≥ −4. Da figura, temosc ∈ cone {a 1 , a 2 } e logo (4/3, 8/3) é ótimo;4. (4, 0): as restrições ativas são −x 1 − x 2 ≥ −4 e x 2 ≥ 0. Da figura, vemos que c /∈cone {a 2 , e 2 } e logo (4, 0) não é ótimo;Seja x = (4/3, 8/3). Vamos verificar que existem w, v tais que (x, w, v) satisfazem ascondições KKT. Como x 1 , x 2 > 0, das condições <strong>de</strong> folga complementar <strong>de</strong>vemos ter v 1 = v 2 = 0.Assim w <strong>de</strong>ve ser tal que c−wA = v = 0, ou seja, w 1 −w 2 = −1 e −2w 1 −w 2 = −3. Resolvendoobtemos w 1 = 2/3 e w 2 = 5/3. Note que w ≥ 0 e Ax = b, e logo w(Ax − b) = 0. Assim, ascondições (10.1), (10.2) e (10.3) são satisfeitas por (x, w, v), e x é ótimo.Você po<strong>de</strong> ainda verificar geometricamente que (4/3, 8/3) é ótimo pela Figura 10.1.


CAPÍTULO 10. DUALIDADE 106Figura 10.1: Geometria do exemploAtivida<strong>de</strong> 31. Mostre que para o PLmin cxs.a. Ax ≤ bx ≥ 0.temos o seguinte: x é solução ótima se, e somente se, −c pertence ao cone gerado pelos gradientesdas restrições ativas em x. Reescreva o Exemplo anterior na forma acima multiplicandoas duas primeiras restrições por −1. Refaça a figura do Exemplo. Qual a mudança nos conesda figura?10.4 O Simplex DualNesta seção introduziremos o método Simplex Dual, que resolve o problema dual diretamentedo quadro simplex primal que temos trabalhado. Passamos, a cada iteração, <strong>de</strong> umasolução básica dual viável para outra, até que o dual esteja resolvido ou até que concluamosque o dual seja ilimitado. Pelo Teorema Fundamental da Dualida<strong>de</strong> (Teorema 10.6, página 102)isto implica, respectivamente, que o primal foi resolvido ou que o primal é inviável.10.4.1 Interpretação da viabilida<strong>de</strong> dual no quadro simplex primalConsi<strong>de</strong>re o PL na forma canônicamin cxs.a. Ax ≥ bx ≥ 0on<strong>de</strong> A é m × n com posto m. Inserimos variáveis <strong>de</strong> folga x n+1 , . . . , x n+m , uma para cadauma das m primeiras restrições. Tome B uma base que não é necessariamente primal viável econsi<strong>de</strong>re o quadro


CAPÍTULO 10. DUALIDADE 107Variáveis <strong>de</strong> folgaz x 1 x 2 · · · x n x n+1 · · · x n+m RHSz 1 z 1 − c 1 z 2 − c 2 · · · z n − c n z n+1 − c n+1 · · · z n+m − c n+m c B bx B1 0 y 11 y 12 · · · y 1n y 1(n+1) · · · y 1(n+m) b 1x B2 0 y 21 y 22 · · · y 2n y 2(n+1) · · · y 2(n+m) b 2. . . .. .. .x Bm 0 y m1 y m2 · · · y mn y m(n+1) · · · y m(n+m) b mDefinindo w = c B B −1 como anteriormente temosz j − c j = c B B −1 a j − c j = wa j − c j .Assim, o critério <strong>de</strong> otimalida<strong>de</strong> primal implica wa j −c j ≤ 0 para j = 1, . . . , n, ou seja, wa j ≤ c jpara j = 1, . . . , n. Isto equivale a wA ≤ c, como na <strong>de</strong>monstração do Teorema 10.5. Maisainda, note que ao inserir variáveis <strong>de</strong> folga para cada restrição ganhamos um bloco −I m , eportanto a n+i = −e i para i = 1, . . . , m. Como c n+i = 0 para i = 1, . . . , m temosz n+i − c n+i = wa n+i − c n+i = −we i − 0 = −w i , i = 1, . . . , m.Daí z n+i − c n+i ≤ 0 para i = 1, . . . , m equivale a w ≥ 0. Mostramos portanto que z j − c j ≤ 0para j = 1, . . . , n + m se, e somente se, wA ≤ c e w ≥ 0, on<strong>de</strong> w = c B B −1 . Em outraspalavras, temos oLema 10.9. Num PL na forma canônica, a viabilida<strong>de</strong> dual é exatamente o critério <strong>de</strong> otimalida<strong>de</strong>primal (ou seja, z j − c j ≤ 0 para todo j).O Lema acima garante que, se além <strong>de</strong> dual viável, o quadro for primal viável (b ≥ 0)então é primal ótimo. Pelo Teorema da Dualida<strong>de</strong> Forte (Teorema 10.5), também é dual ótimo.Neste caso, os valores ótimos primal z ∗ = c B b e dual w ∗ b são iguais (verifique!).Cabe notar que o Lema vale para problemas na forma padrão, com restrições <strong>de</strong> igualda<strong>de</strong>.10.4.2 O método Simplex DualConsi<strong>de</strong>re o PL na forma padrãomin cxs.a. Ax = bx ≥ 0.Suponha que seja dada uma base B que seja dual viável, isto é, z j − c j ≤ 0 para todo j (Lema10.9). Consi<strong>de</strong>re o QS primal associado a Bz x 1 · · · x j · · · x k · · · x n RHSz 1 z 1 − c 1 · · · z j − c j · · · z k − c k · · · z n − c n c B bx B1 0 y 11 · · · y 1j · · · y 1k · · · y 1n b 1x B2 0 y 21 · · · y 2j · · · y 2k · · · y 2n b 2. . .... .x Br 0 y r1 · · · y rj · · · y rk · · · y rn b r. . .... .x Bm 0 y m1 · · · y mj · · · y mk · · · y mn b m


CAPÍTULO 10. DUALIDADE 108Como já dito, estamos supondo z j − c j ≤ 0 para todo j. Se também o QS é primal viável,ou seja, se b ≥ 0 então estamos <strong>de</strong> posse <strong>de</strong> um QS primal ótimo e o problema está resolvido.Por outro lado, consi<strong>de</strong>re b r < 0. Queremos mudar da base atual dual viável para outra dualviável, <strong>de</strong> modo a resolver o problema dual. Com isso, resolveremos o problema primal. Vamos<strong>de</strong>terminar então um pivô que após pivoteamento tradicional a viabilida<strong>de</strong> dual se mantenha.Se y rk ≠ 0 é o pivô, a linha <strong>de</strong> z terá como novos termose o novo termo na coluna RHS e linha r será(z j − c j ) ′ = (z j − c j ) − y rjy rk(z k − c k ) (10.4)b ′ r = b ry rk.Como nosso interesse é obter um QS primal viável, escolhemos pivôs negativos. Assim, sendoy rk < 0 teremos b ′ r > 0. Neste caso se y rj ≥ 0, como z k − c k ≤ 0, da equação (10.4) obtemos(z j − c j ) ′ ≤ (z j − c j ) ≤ 0e a viabilida<strong>de</strong> dual é mantida, como queremos. Agora, se y rj < 0 exigindo que (z j − c j ) ′ ≤ 0na equação (10.4) obtemosz k − c k≤ z j − c j.y rk y rjComo essa inequação <strong>de</strong>ve valer para todo j, escolhemos a coluna k do pivô segundo a regraz k − c ky rk= min{zj − c jy rj; y rj < 0}.Resumindo, o pivô y rk < 0 é escolhido da seguinte forma, em or<strong>de</strong>m:• Critério <strong>de</strong> saída: escolha para sair da base x Brb r = min {b i }.<strong>de</strong> forma que• Critério <strong>de</strong> entrada: escolha para entrar na base x k <strong>de</strong> forma que{ }z k − c k zj − c j= min ; y rj < 0 .y rky rjNote que variáveis básicas nunca serão escolhidas pelo critério <strong>de</strong> entrada, pois suas colunasno quadro não tem componentes negativas (são colunas da i<strong>de</strong>ntida<strong>de</strong>).Consi<strong>de</strong>re agora o caso em que há candidatos para sair mas não para entrar, ou seja, b r < 0e y rj ≥ 0 para todo j. A linha r do QS diz quen∑y rj x j = b r .j=1Desta forma para qualquer ponto x viável para o problema primal, a relação acima não ésatisfeita pois como x ≥ 0 teríamosn∑0 ≤ y rj x j = b r < 0.j=1Isso mostra que neste caso o problema primal é inviável, e o dual é ilimitado (pelo TeoremaFundamental da Dualida<strong>de</strong>).Este processo <strong>de</strong> pivoteamento entre bases duais viáveis é o que conhecemos como o métodoSimplex Dual. Em resumo, o método se estabelece como a seguir:


CAPÍTULO 10. DUALIDADE 1091.(INICIALIZAÇÃO) Encontre uma base B do problema primal que seja dual viável, ouseja, tal que z j − c j ≤ 0 para todo j.2. (PASSO PRINCIPAL)(a) Calcule b r = min {b i }. Se b r ≥ 0 então pare com a solução primal ótima (neste casotemos b = B −1 b ≥ 0). Caso contrário vá para o próximo passo.(b) Se y rj ≥ 0 para todo j então pare com a conclusão <strong>de</strong> que o dual é ilimitado e oprimal inviável. Caso contrário vá para o próximo passo.(c) x Br sai da base. x k entra na base sendo k <strong>de</strong> modo que{ }z k − c k zj − c j= min ; y rj < 0 .y rky rjAtualize o QS realizando pivoteamento no pivô y rk e repita o passo 2.Exemplo 10.4.1. Consi<strong>de</strong>re o PLmin 2x 1 +3x 2 +4x 3s.a. x 1 +2x 2 +x 3 ≥ 32x 1 −x 2 +3x 3 ≥ 4x 1 , x 2 , x 3 ≥ 0Inserindo variáveis <strong>de</strong> folga x 4 e x 5 e multiplicando as duas primeiras restrições por −1 obtemoso PLmin 2x 1 +3x 2 +4x 3s.a. −x 1 −2x 2 −x 3 +x 4 = −3−2x 1 +x 2 −3x 3 +x 5 = −4x 1 , x 2 , x 3 , x 4 , x 5 ≥ 0A base I = [ a 4a 5]é dual viável pois para j = 1, 2, 3 temosApliquemos então o Simplex Dual.z j − c j = c I Ia j − c j = −c j < 0.z x 1 x 2 x 3 x 4 x 5 RHSz 1 −2 −3 −4 0 0 0x 4 0 −1 −2 −1 1 0 −3x 5 0 −2 1 −3 0 1 −4z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 −4 −1 0 −1 4x 4 0 0 −5/2 1/2 1 −1/2 −1x 1 0 1 −1/2 3/2 0 −1/2 2z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 0 −9/5 −8/5 −1/5 28/5x 2 0 0 1 −1/5 −2/5 1/5 2/5x 1 0 1 0 7/5 −1/5 −2/5 11/5No último QS temos b ≥ 0 e z j − c j ≤ 0 para todo j, e portanto é primal ótimo. A soluçãoótima encontrada do problema original é x = (11/5, 2/5, 0) com FO 28/5.


CAPÍTULO 10. DUALIDADE 110Observamos que a fim <strong>de</strong> evitar ciclagem do Simplex Dual, po<strong>de</strong>mos modificar os critérios<strong>de</strong> saída e entrada <strong>de</strong> acordo com a Regra <strong>de</strong> Bland da seguinte forma:• Critério <strong>de</strong> saída: <strong>de</strong>ntre todas as variáveis básicas com b i < 0 escolha para sair aquela<strong>de</strong> menor índice, digamos x Br .• Critério <strong>de</strong> entrada: <strong>de</strong>ntre todas as variáveis não básicas x i tais que{ }z i − c i zj − c j= min ; y rj < 0 ,y riy rjescolha para entrar aquela <strong>de</strong> menor índice.Encerramos esta seção dizendo que, assim como o Método <strong>de</strong> Duas Fases, existem métodospara conseguir uma base dual viável inicial. Não os veremos aqui. O Simplex Dual tem aplicaçãona análise <strong>de</strong> sensibilida<strong>de</strong>, que veremos adiante, e em particular na resolução <strong>de</strong> problemas<strong>de</strong> programação inteira pelo método dos planos <strong>de</strong> corte. Essa aplicação não requer encontrarbase dual viável alguma.10.5 Exercícios1. Fazer os seguintes exercícios do livro do Bazaraa [1]: 6.2, 6.3, 6.5, 6.6, 6.8, 6.13, 6.15,6.17, 6.30, 6.31, 6.71.2. Use dualida<strong>de</strong> para mostrar oLema <strong>de</strong> Farkas: Um e somente um dos sistemas admite solução. Sistema 1: Ax ≥ 0,cx < 0; ou Sistema 2: wA = c, w ≥ 0.Dica: Use o PLe seu dual.10.6 <strong>Notas</strong>min 0x s.a. Ax = b, x ≥ 0O método Primal-Dual não apresentado é uma outra alternativa na resolução <strong>de</strong> problemas<strong>de</strong> PL. É semelhante ao dual simplex, mas não exige que a solução inicial seja básica. Paramaiores <strong>de</strong>talhes, consulte [1].


Capítulo 11Análise <strong>de</strong> Sensibilida<strong>de</strong>Em problemas da prática os dados <strong>de</strong> entrada (c, A e b) não são <strong>de</strong>terminados <strong>de</strong> maneiraexata, e sim estimados. Po<strong>de</strong> ocorrer portanto que esses dados sofram alterações apósa resolução do PL. Outra situação é quando a realida<strong>de</strong> mu<strong>de</strong> após a resolução do PL. Paraexemplificar, suponha que num dado PL uma restrição <strong>de</strong>penda da quantida<strong>de</strong> máxima <strong>de</strong>matéria-prima disponível para fabricação <strong>de</strong> um produto. Se após resolver o PL a quantida<strong>de</strong><strong>de</strong> matéria-prima é aumentada, a restrição é alterada e temos um novo PL. É interessanteportanto que resolvamos o PL modificado sem iniciar todo o processo <strong>de</strong> resolução do zero. Énisso que consiste o estudo <strong>de</strong>ste capítulo.Consi<strong>de</strong>rando um PL resolvido com base ótima B, duas perguntas são colocadas:1. se algum dado do problema for alterado (c, A ou b), como reotimizar o PL a partir dabase B?2. quão “estável” a base B é, no sentido <strong>de</strong> medir o quanto po<strong>de</strong>mos alterar os dados doproblema <strong>de</strong> forma a manter a otimalida<strong>de</strong> da base B?Nos referimos ao primeiro enfoque como análise <strong>de</strong> sensibilida<strong>de</strong> e ao segundo como análiseparamétrica.11.1 Análise <strong>de</strong> sensibilida<strong>de</strong>Dado um PL resolvido com base ótima B, estamos interessados em estudar as seguintesmudanças nos dados do problema:• Alterar o vetor <strong>de</strong> custos c;• Alterar o vetor do lado direito b;• Alterar a matriz A das restrições;• Adicionar uma nova variável <strong>de</strong> <strong>de</strong>cisão;• Adicionar uma nova restrição.É <strong>de</strong> particular interesse em programação inteira saber reotimizar o PL quando se adicionauma nova restrição ao problema.111


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 11211.1.1 Alterando o vetor <strong>de</strong> custos cDada uma solução básica viável ótima x, suponha que a componente k <strong>de</strong> c seja alterada <strong>de</strong>c k para c ′ k . O efeito <strong>de</strong>ssa mudança no quadro simplex ótimo ocorre na linha <strong>de</strong> z, a única que<strong>de</strong>pen<strong>de</strong> dos custos. Assim, <strong>de</strong>pen<strong>de</strong>ndo do novo valor dos z j − c j ’s, a viabilida<strong>de</strong> dual po<strong>de</strong>ser perdida. Separamos a análise em dois casos:CASO I: x k é VNB. Neste caso c B não é alterado e portanto, para todo j, z j = c B B −1 a jtambém não é. Assim z j − c j não é alterado para todo j ≠ k, e z k − c k passa a ser z k − c ′ k . Sez k − c ′ k = (z k − c k ) + (c k − c ′ k)for positivo então o QS não é mais primal ótimo, e portanto o Simplex Primal é aplicadoentrando com x k na base. Caso contrário, se z k − c ′ k ≤ 0, o QS ainda é primal ótimo e nada háa fazer, ou seja, a solução antiga x é ótima para o problema modificado.Cabe observar que neste caso o valor da FO c B B −1 b não é alterado.CASO II: x k é VB. Digamos que x k = x Bt e assim c Bt muda para c ′ B t. Neste caso c B éalterado, e logo z j = c B B −1 a j é alterado ∀j. Digamos que z ′ j seja o novo valor <strong>de</strong> z j . TemosAssimz ′ j = c ′ BB −1 a j ==m∑i=1,i≠tc Bi y ij + c ′ B ty tjm∑c Bi y ij + c ′ B ty tj − c Bt y tji=1= z j + (c ′ B t− c Bt )y tj .• z j − c j é alterado paraquando j ∈ R;z ′ j − c j = (z j − c j ) + (c ′ B t− c Bt )y tj• Para j = k = B t temos z ′ k = z k + (c ′ k − c k)y tk . Mas y tk = 1 pois y t é a coluna e k dai<strong>de</strong>ntida<strong>de</strong>, e logoz ′ k − c ′ k = z k − c k = 0.• Para todo índice <strong>de</strong> VB j ≠ k temos y tj = 0, e logo z j − c j passa a serz ′ j − c j = z j − c j = 0.Ou seja, z j − c j permanecem nulos quando j for índice <strong>de</strong> VB. Isso é o esperado pois asVB’s antigas continuam sendo VB’s após a mudança <strong>de</strong> c.Também, o valor da FO c B B −1 b é alterado visto que c B o é. É possível mostrar que o novovalor da FO serác ′ BB −1 b = c B B −1 b + (c ′ B t− c Bt )b t .Exemplo 11.1.1. [1] Consi<strong>de</strong>re o PLmin −2x 1 +x 2 −x 3s.a. x 1 +x 2 +x 3 ≤ 6−x 1 +2x 2 ≤ 4x 1 , x 2 , x 3 ≥ 0


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 113Seu QS ótimo éQS 0:z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 −3 −1 −2 0 −12x 1 0 1 1 1 1 0 6x 5 0 0 3 1 1 1 10Suponha que c 2 = 1 seja alterado para c 2 = −3. Como x 2 é VNB então z 2 − c ′ 2 = (z 2 −c 2 ) + (c 2 − c ′ 2) = −3 + 4 = 1 > 0 e todos os outros z j − c j permanecem inalterados. Portanto onovo quadroz x 1 x 2 x 3 x 4 x 5 RHSz 1 0 1 −1 −2 0 −12x 1 0 1 1 1 1 0 6x 5 0 0 3 1 1 1 10e x 2 entra na base. O QS após pivoteamento não é mostrado.Suponha agora que c 1 = −2 seja alterado para c ′ 1 = 0, e voltemos ao QS 0. Como x 1 é VB,a nova linha <strong>de</strong> z terá termosz ′ j − c j = (z j − c j ) + (0 + 2)y 1j ,∀j ∈ Re os outros z j − c j permanecem em zero. Também o valor da FO passa a serO QS alterado é portantoc ′ BB −1 b = −12 + (0 + 2)6 = 0.Assim, x 3 entra na base.z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 −1 1 0 0 0x 1 0 1 1 1 1 0 6x 5 0 0 3 1 1 1 1011.1.2 Alterando bSe o vetor b é alterado para b ′ então B −1 b é alterado para B −1 b ′ . Note que z j − c j =c B B −1 a j − c j permanece inalterado para todo j. Logo a base B permanece dual viável. SeB −1 b ′ ≥ 0 então a base corrente B é primal ótima e a nova solução básica viável ótima éx B = B −1 b ′ , x N = 0, com FO igual a c B B −1 b ′ . Caso contrário, se algum b r < 0, a viabilida<strong>de</strong>primal é perdida. Assim aplicamos o Simplex Dual para reotimizar o PL.Se no processo <strong>de</strong> resolução do PL a primeira base for a i<strong>de</strong>ntida<strong>de</strong>, po<strong>de</strong>mos obter B −1 b ′sem calcular explicitamente. De fato, neste caso a última base B é um produto <strong>de</strong> matrizesinversíveis E i , i = 1, . . . , t, como no Teorema 8.1 (página 87). Assim,B −1 = E −1t · · · E −11 .Pelo Teorema 8.1, passamos então do QS inicial


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 114z x I x N RHSz 1 . . . . . . . . .x I 0 I N bpara o QSz x I x N RHSz 1 . . . . . . . . .x B 0 E −1t · · · E −11 = B −1 B −1 N B −1 bPelos quadros acima, vemos que as colunas relativas às VB’s do primeiro QS guardam noúltimo QS a inversa B −1 da base atual. Assim neste caso não precisamos inverter a matriz B,uma tarefa computacionalmente impraticável. Esta conta se torna interessante pois na práticasempre iniciamos com a base i<strong>de</strong>ntida<strong>de</strong> (Método <strong>de</strong> Duas Fases).Exemplo 11.1.2. No QS 0 do Exemplo 11.1.1, alteremos o vetor b para b ′ = (3, 4). Aoanalisar o PL, vemos que o QS inicial usado para sua resolução tem como base associada ai<strong>de</strong>ntida<strong>de</strong> I = [ ]a 4 a 5 , relativa às variáveis <strong>de</strong> folga x4 e x 5 . As colunas <strong>de</strong>ssas variáveis noQS 0 guardam portanto a inversa da base corrente, isto é,[ ] 1 0B −1 = .1 1AssimB −1 b ′ =[ 1 01 1] [ ] [ ]3 3= ≥ 0,4 7e logo a base B é ainda primal ótima. A nova solução é x = (3, 0, 0, 0, 7) com FO c B B −1 b ′ = −6.11.1.3 Alterando a matriz A das restriçõesSuponha que a coluna a k da matriz A seja alterada para a ′ k . Dois casos po<strong>de</strong>m ocorrer:CASO I: a k é coluna não básica. Neste caso a coluna <strong>de</strong> x k no QS ótimo[ ] [ ]zk − c k cB B=−1 a k − c ky k B −1 a ké alterada para[ z′k − c ky ′ k] [cB B=−1 a ′ k − c kB −1 a ′ k].


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 115O restante do QS não se altera pois B −1 não muda. Assim a solução corrente ainda é primalviável. Se z ′ k − c k ≤ 0 então o QS atual ainda é primal ótimo, e a antiga solução básica viávelótima continua sendo ótima. Se por outro lado z ′ k − c k > 0 então o Simplex primal é aplicadocom a entrada da VNB x k na base.CASO II: a k é coluna básica. Como a k é uma das colunas da base B, após sua mudançapara a ′ k , é possível que a nova matriz B′ não seja mais invertível. Mesmo que isso não ocorra,ou seja, que B ′ seja base, po<strong>de</strong> ocorrer que toda coluna do QS mu<strong>de</strong>, pois todas elas <strong>de</strong>pen<strong>de</strong>m<strong>de</strong> B ′−1 . Vejamos como essa mudança em a k , apesar <strong>de</strong> parecer <strong>de</strong>sastrosa, po<strong>de</strong> ser tratada.Inserimos uma nova variável x ′ k no problema, com coluna a′ k e coeficiente na FO igual a c k.Isso equivale à inserção no QS da coluna[ ] [ z′k − c k cB B=−1 a ′ k − c ]kB −1 a ′ ,ky ′ krelativa à nova variável x ′ k (po<strong>de</strong>mos usar o que foi discutido na subseção anterior para obterB −1 do QS corrente). Se o elemento y kk ′ da linha da VB x k e da coluna <strong>de</strong> x ′ k for não nulo,pivoteamos sobre y kk ′ para retirar x k da base e inserir x ′ k . É claro que obteremos uma novabase pois o pivoteamento garante isso. Com isso, a variável antiga x k po<strong>de</strong> ser eliminada doQS pois ela inexiste no PL alterado. Mas note que tanto viabilida<strong>de</strong> primal quanto dual po<strong>de</strong>mser perdidas. Po<strong>de</strong>mos no entanto restabelecer viabilida<strong>de</strong> primal ou dual inserindo variáveisartificiais e reotimizando. Por outro lado, se o pivoteamento sobre y kk ′ não for possível, isto é,se y kk ′ = 0 então a matriz das colunas básicas com a nova coluna <strong>de</strong> x k não forma uma base.Neste caso, eliminamos a variável x k do problema tratando-a como VB artificial e aplicando oMétodo <strong>de</strong> Duas Fases.Ativida<strong>de</strong> 32. Complete o argumento acima mostrando que se y kk ′ = 0 a matriz das colunasbásicas com a nova coluna <strong>de</strong> x k não forma base.Dica: Volte à seção 7.4 e analise o argumento lá exposto para justificar que o pivoteamentopassa <strong>de</strong> uma base para outra. Escreva então a nova coluna a ′ k como combinação das outrascolunas a Bi , i ≠ k <strong>de</strong> B.Exemplo 11.1.3. [1] Consi<strong>de</strong>re o PL do Exemplo 11.1.1cujo QS ótimo émin −2x 1 +x 2 −x 3s.a. x 1 +x 2 +x 3 ≤ 6−x 1 +2x 2 ≤ 4x 1 , x 2 , x 3 ≥ 0QS 0:z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 −3 −1 −2 0 −12x 1 0 1 1 1 1 0 6x 5 0 0 3 1 1 1 10Como já discutido em Exemplo anterior, associado ao QS 0 está a base B cuja inversa é[ ] 1 0B −1 = .1 1Alteremos a coluna não básica a 2 = [ 1 2 ] tpara a′2 = [ 2 5 ] t. Temos y′2 = B −1 a ′ 2 =[2 7] te z′2 − c 2 = c B B −1 a ′ 2 − c 2 = −5. Como z ′ 2 − c 2 ≤ 0, QS 0 permanece primal ótimo enada há a fazer.


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 116Suponha agora que a coluna básica a 1 = [ 1 −1 ] tmu<strong>de</strong> para a′1 = [ 0 −1 ] t. Temosy 1 ′ = B −1 a ′ 1 = [ 0 −1 ] te z′1 − c 1 = c B B −1 a ′ 1 − c 1 = 2. Observe que a entrada y 11 ′ é zero,e logo a matriz das colunas básicas com a nova coluna <strong>de</strong> x 1 não forma base. Adicionamos acoluna relativa à x ′ 1 no QS 0:z x 1 x 2 x 3 x 4 x 5 x ′ 1 RHSz 1 0 −3 −1 −2 0 2 −12x 1 0 1 1 1 1 0 0 6x 5 0 0 3 1 1 1 −1 10Tratamos x 1 como VB artificial e aplicamos o Método <strong>de</strong> Duas Fases. Isso nos leva aconsi<strong>de</strong>rar a FO da Fase 1 como sendo simplesmente x 0 = x 1 . Relativo ao PL da Fase 1, temosz j − c j = c B B −1 a j = [ 1 0 ] [ ]1 0a1 1 j = [ 1 0 ] a j , ∀j ∈ R,o que resulta no QS (note que x 0 = x 1 = 6)z x 0 x ′ 1 x 2 x 3 x 4 x 5 x 1 RHSz 1 0 2 −3 −1 −2 0 0 −12x 0 0 1 0 1 1 1 0 0 6x 1 0 0 0 1 1 1 0 1 6x 5 0 0 −1 3 1 1 1 0 10z x 0 x ′ 1 x 2 x 3 x 4 x 5 x 1 RHSz 1 0 2 −2 −1 −1 0 1 −6x 0 0 1 0 0 0 0 0 −1 0x 3 0 0 0 1 1 1 0 1 6x 5 0 0 −1 2 0 0 1 −1 4z x ′ 1 x 2 x 3 x 4 x 5 RHSz 1 2 −2 −1 −1 0 −6x 3 0 0 1 1 1 0 6x 5 0 −1 2 1 0 1 4O último QS diz que o PL alterado é ilimitado pois x ′ 1 é candidata a entrar, mas não hácandidatos a sair da base. Você po<strong>de</strong> observar que após a mudança <strong>de</strong> a 1 obtemos o PLmin −2x 1 +x 2 −x 3s.a. x 2 +x 3 ≤ 6−x 1 +2x 2 ≤ 4x 1 , x 2 , x 3 ≥ 0Veja que x 1 po<strong>de</strong> crescer in<strong>de</strong>finidamente, e como c 1 < 0, o PL é ilimitado.Finalmente, suponha que a coluna básica a 1 = [ 1 −1 ] tmu<strong>de</strong> para a′1 = [ 3 6 ] t. Temosy 1 ′ = B −1 a ′ 1 = [ 3 9 ] te z′1 − c 1 = c B B −1 a ′ 1 − c 1 = −4. Observe que a entrada y 11 ′ é nãonula, e logo a matriz das colunas básicas com a nova coluna <strong>de</strong> x 1 forma uma base. Inserimosa coluna <strong>de</strong> x ′ 1 no QS 0 e pivoteamos sobre y 11:′z x 1 x 2 x 3 x 4 x 5 x ′ 1 RHSz 1 0 −3 −1 −2 0 −4 −12x 1 0 1 1 1 1 0 3 6x 5 0 0 3 1 1 1 9 10


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 117z x 1 x 2 x 3 x 4 x 5 x ′ 1 RHSz 1 4/3 −5/3 1/3 −2/3 0 0 −4x ′ 1 0 1/3 1/3 1/3 1/3 0 1 2x 5 0 −3 0 −2 −2 1 0 −8Descartamos a variável antiga x 1 obtendo o QSz x ′ 1 x 2 x 3 x 4 x 5 RHSz 1 0 −5/3 1/3 −2/3 0 −4x ′ 1 0 1 1/3 1/3 1/3 0 2x 5 0 0 0 −2 −2 1 −8O QS acima não é primal nem dual viável. Aqui não é necessária a adição <strong>de</strong> variáveisartificiais. Basta pivotearmos sobre y 53 = −2 e a viabilida<strong>de</strong> primal é restabelecida:z x ′ 1 x 2 x 3 x 4 x 5 RHSz 1 0 −5/3 0 −1 1/6 −16/3x ′ 1 0 1 1/3 0 −1/6 1/6 2/3x 3 0 0 0 1 1 −1/2 4Prosseguimos então com o Simplex Primal.11.1.4 Adicionando uma nova variável <strong>de</strong> <strong>de</strong>cisãoSuponha que uma nova variável x n+1 ≥ 0 seja adicionada ao PL, com custo c n+1 e colunaa n+1 . Desta forma, a nova coluna[ ] [ ]zn+1 − c n+1 cB B=−1 a n+1 − c n+1y n+1 B −1 ,a n+1relativa à x n+1 , é adicionada no QS. Observe que assim x n+1 é introduzida no problema comoVNB e o QS permanece primal viável. Se z n+1 − c n+1 ≤ 0 então o QS alterado é primal ótimo,e a nova solução será x B = B −1 b, x N = 0, x n+1 = 0. Caso z n+1 − c n+1 > 0 aplicamos o SimplexPrimal com x n+1 entrando na base.Exemplo 11.1.4. [1] Consi<strong>de</strong>re o PL do Exemplo 11.1.1 cujo QS ótimo éQS 0:z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 −3 −1 −2 0 −12x 1 0 1 1 1 1 0 6x 5 0 0 3 1 1 1 10Adicionemos a variável x 6 ≥ 0 com c 6 = 1 e a 6 = [ −1B −1 =[ 1 01 1].2 ] t. A inversa da base corrente éNeste casoz 6 − c 6 = c B B −1 a 6 − c 6 = 1 > 0e assim o QS alterado não será ótimo. Temos[ −1y 6 = B −1 a 6 =1].


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 118O QS alterado será portantoz x 1 x 2 x 3 x 4 x 5 x 6 RHSz 1 0 −3 −1 −2 0 1 −12x 1 0 1 1 1 1 0 −1 6x 5 0 0 3 1 1 1 1 10O Simplex Primal é aplicado então ao pivô y 26 = 1. O processo não será mostrado.11.1.5 Adicionando uma nova restriçãoSuponha que B seja base ótima do PL original e consi<strong>de</strong>re que a adição[ da restrição ] a m+1 x ≤Ab m+1 . Aqui, a m+1 é a linha <strong>de</strong> índice m + 1 da nova matriz das restriçõesa m+1 . Em termosda base B, temosReescrevemos a restrição a m+1 x ≤ b m+1 comoz + (c B B −1 N − c N )x N = c B B −1 bon<strong>de</strong> a m+1 é <strong>de</strong>composto <strong>de</strong> acordo com B em (a m+1BMultiplicando a equação (11.1) a direita por a m+1Bx B + B −1 Nx N = B −1 b. (11.1)a m+1B x B + a m+1N x N + x n+1 = b m+1 , (11.2)z + (c B B −1 N − c N )x N = c B B −1 b, am+1 N) e x n+1 ≥ 0 é variável <strong>de</strong> folga.e subtraindo da nova restrição (11.2) obtemosx B + B −1 Nx N = B −1 b (11.3)(am+1N− a m+1B B−1 N ) x N + x n+1 = b m+1 − a m+1B B−1 b.O sistema das restrições do PL consi<strong>de</strong>rando a nova restrição a m+1 x + x n+1 = b m+1 com a folgax n+1 é [ ] [ ] [ ]A 0 x ba m+1 = . (11.4)1 x n+1 b m+1Uma base <strong>de</strong>sse sistema tem dimensão m + 1. As equações (11.3) sugerem que x n+1 é variávelbásica. Mais ainda, elas <strong>de</strong>terminam uma solução básica do sistema acima com base B ′ formadapelas novas colunas <strong>de</strong> índices B 1 , . . . , B m , m + 1, isto éAtivida<strong>de</strong> 33. Mostre que[B ′ =[B ′−1 =B 0a m+1B1Mostre também que [ B ′−1 b ′].B −1 0−a m+1B B−1 10[ ]on<strong>de</strong> b ′ b= é solução básica do sistema (11.4).b m+1Dica: Para mostrar ser solução básica o vetor acima, a matriz do sistema (11.4) é particionada<strong>de</strong> acordo com B ′ , ou seja, sua forma é[]B 0 Na m+1B1 a m+1N].].


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 119Diante do exposto, quando adicionamos a linha relativa à terceira equação em (11.3) e acoluna correspon<strong>de</strong>nte à VB x n+1 ao QS, obtemos o quadro simplex associado à base B ′ . O QSalterado é entãoz x B x N x n+1 RHSz 1 0 c B B −1 N − c N 0 c B B −1 bx B 0 I B −1 N 0 B −1 bx n+1 0 0 a m+1N− a m+1B B−1 N 1 b m+1 − a m+1BB−1 bNote que z j − c j ≤ 0 para todo j e logo a viabilida<strong>de</strong> dual é mantida. Po<strong>de</strong>mos no entantoper<strong>de</strong>r viabilida<strong>de</strong> primal se b m+1 − a m+1BB−1 b < 0. Neste caso, o Simplex Dual é aplicado comx n+1 saindo da base.Agora, se a restrição adicionada for <strong>de</strong> igualda<strong>de</strong>, digamos a m+1 x = b m+1 , então consi<strong>de</strong>ramosa variável artificial x n+1 ≥ 0 e adicionamos a restrição a m+1 x + x n+1 = b m+1 comoanteriormente. Daí aplicamos o Método <strong>de</strong> Duas Fases para eliminar x n+1 do problema.Exemplo 11.1.5. [1] Consi<strong>de</strong>re o PL do Exemplo 11.1.1cujo QS ótimo éQS 0:min −2x 1 +x 2 −x 3s.a. x 1 +x 2 +x 3 ≤ 6−x 1 +2x 2 ≤ 4x 1 , x 2 , x 3 ≥ 0z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 −3 −1 −2 0 −12x 1 0 1 1 1 1 0 6x 5 0 0 3 1 1 1 10Adicionemos a restrição x 1 − 2x 3 ≤ −2. A solução ótima antiga (x 1 , x 2 , x 3 ) = (6, 0, 0) nãosatisfaz essa inequação. Teremos portanto um QS primal inviável após a inserção.Reescrevemos a restrição como x 1 − 2x 3 + x 6 = −2, on<strong>de</strong> x 6 ≥ 0 é variável <strong>de</strong> folga. Asvariáveis básicas do problema original são x 1 e x 5 . Particionamos então a 3 = (1, 0, −2, 0, 0) ema 3 B = (a3 1, a 3 5) = (1, 0) e a 3 N = (a3 2, a 3 3, a 3 4) = (0, −2, 0). Como[ ] 1 0B −1 =1 1temosa 3 N − a 3 BB −1 N = [ 0 −2 0 ] − [ 1 0 ] [ 1 01 1] [ 1 1 12 0 0]= [ −1 −3 −1 ] .Tambémb 3 − a 3 BB −1 b = −2 − [ 1 0 ] [ 610]= −8.


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 120O QS alterado será entãoz x 1 x 2 x 3 x 4 x 5 x 6 RHSz 1 0 −3 −1 −2 0 0 −12x 1 0 1 1 1 1 0 0 6x 5 0 0 3 1 1 1 0 10x 6 0 0 −1 −3 −1 0 1 −8O QS não é primal viável. Prosseguimos com o Simplex Dual pivoteando sobre y 33 = −3.Geometricamente, ao adicionarmos uma restrição <strong>de</strong> <strong>de</strong>sigualda<strong>de</strong> estamos intersectando oconjunto viável com um semi-espaço. Desta forma, se a solução ótima do PL antes da adiçãoda restrição não satisfazer a nova restrição, ela será <strong>de</strong>scartada no novo PL. Exatamente nestecaso é que temos inviabilida<strong>de</strong> primal, ou seja, b m+1 − a m+1BB−1 b < 0. Note que o conjuntoviável efetivamente será “cortado”. A Figura a seguir ilustra os casos em que a solução ótimasatisfaz e não satisfaz a nova restrição.Figura 11.1: Adição <strong>de</strong> nova restrição [1]A adição <strong>de</strong> restrições aplica-se à resolução <strong>de</strong> problemas <strong>de</strong> programação inteira, problemas<strong>de</strong> programação linear a variáveis inteiras. Não discutiremos em <strong>de</strong>talhes, mas a i<strong>de</strong>ia do métododos planos <strong>de</strong> corte é exemplificada a seguir.Exemplo 11.1.6. [1](CORTES DE GOMORY, MÉTODO DOS PLANOS DE CORTE)Consi<strong>de</strong>re o problema <strong>de</strong> programação inteiraPI: min cxs.a. Ax = bx ≥ 0x ∈ Z n .Descartando as restrições <strong>de</strong> integralida<strong>de</strong> (x ∈ Z n ), obtemos o PLPL: min cxs.a. Ax = bx ≥ 0.Os seguintes fatos são claros:


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 121• Como {x ∈ R n ; Ax = b, x ≥ 0, x ∈ Z n } ⊂ {x ∈ R n ; Ax = b, x ≥ 0}, o valor ótimo <strong>de</strong>PL é um limitante inferior para o valor ótimo <strong>de</strong> PI. Dizemos que PL é a relaxação linear<strong>de</strong> PI;• Se x é uma solução ótima <strong>de</strong> PL e x ∈ Z n então x é também uma solução ótima <strong>de</strong> PIpois, para todo y viável para PI, o item anterior garante que cx ≤ cy.Com isso, nossa estratégia para resolução <strong>de</strong> PI será a seguinte: resolvemos a relaxaçãolinear <strong>de</strong> PI. Se a solução ótima for toda inteira, então PI estará também resolvido. Casocontrário, inserimos uma restrição no PL <strong>de</strong> modo a <strong>de</strong>scartar a solução ótima não inteiracorrente, mas não uma solução inteira. Repetimos esse processo até que uma solução ótimainteira do problema relaxado seja encontrada. Tal procedimento é conhecido como método dosplanos <strong>de</strong> corte. Vejamos então como gerar tais restrições.Suponha que tenhamos resolvido a relaxação linear <strong>de</strong> PI, on<strong>de</strong> a solução encontrada não étoda inteira. Como x N ∈ Z n−m então b = x B /∈ Z m , digamos, b r = x Br /∈ Z. A linha da VBx Br do QS ótimo fornecex Br + ∑ y rj x j = b r . (11.5)j∈RPara um dado z ∈ R, <strong>de</strong>finimos sua parte inteira ⌊z⌋ como o maior inteiro menor do que ouigual a z. Por sua vez, a parte fracionária <strong>de</strong> z é <strong>de</strong>finida como z − [z]. Você po<strong>de</strong> ver que0 ≤ z − ⌊z⌋ < 1. Pois bem, consi<strong>de</strong>remos as partes fracionárias <strong>de</strong> y rj e <strong>de</strong> b r :f rj = y rj − ⌊y rj ⌋ e f r = b r − ⌊b r ⌋.Temos 0 ≤ f rj < 1 e, como b r /∈ Z, 0 < f r < 1. Da equação (11.5) segue portanto quex Br + ∑ j∈R⇒x Br + ∑ j∈R(f rj + ⌊y rj ⌋) x j = f r + ⌊b r ⌋⌊y rj ⌋x j − ⌊b r ⌋ = f r − ∑ j∈Rf rj x j .Nosso intuito é obter soluções inteiras. Observe que o membro esquerdo da última equação éinteiro se a solução é inteira. Obrigamos-o então a ser inteiro, e portanto queremos quef r − ∑ j∈Rf rj x j ∈ Z.Agora, afirmamos que f r − ∑ j∈R f rjx j < 1. De fato, se fosse o contrário teríamosf r ≥ 1 + ∑ j∈Rf rj x j ≥ 1pois f rj , x j ≥ 0 para todo j ∈ R. Isso contraria o fato <strong>de</strong> f r < 1. Assim, juntamente com aimposição <strong>de</strong> integralida<strong>de</strong> que fizemos, <strong>de</strong>vemos satisfazer a restriçãof r − ∑ j∈Rf rj x j ≤ 0.Essa restrição é chamada Corte <strong>de</strong> Gomory. É ela que iremos adicionar ao PL. Observe que nasolução corrente, x j = 0 para todo j ∈ R e f r > 0, o que viola o Corte <strong>de</strong> Gomory. Portanto<strong>de</strong> fato <strong>de</strong>scartamos a solução corrente não inteira.Para exemplificar, consi<strong>de</strong>remos o problema


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 122e sua relaxação linearO QS ótimo da relaxação émin 3x 1 +4x 2s.a. −3x 1 −x 2 ≤ −4−x 1 −2x 2 ≤ −4x 1 , x 2 ≥ 0x 1 , x 2 ∈ Zmin 3x 1 +4x 2s.a. −3x 1 −x 2 ≤ −4−x 1 −2x 2 ≤ −4x 1 , x 2 ≥ 0z x 1 x 2 x 3 x 4 RHSz 1 0 0 −2/5 −9/5 44/5x 1 0 1 0 −2/5 1/5 4/5x 2 0 0 1 1/5 −3/5 8/5A solução ótima não é toda inteira. Geramos então um Corte <strong>de</strong> Gomory. Como x 2 =b 2 = 8/5 /∈ Z, escolhemos-o para gerar a restrição (po<strong>de</strong>ríamos escolher x 1 = b 1 , o que po<strong>de</strong>riaacarretar uma restrição diferente). A equação da VB x 2 éTemos R = {3, 4} e• f 23 = y 23 − ⌊y 23 ⌋ = 1 − ⌊ ⌋15 5 =1, 5x 2 + 1/5x 3 − 3/5x 4 = 8/5.• f 24 = y 24 − ⌊y 24 ⌋ = − 3 − ⌊ − 3 5 5⌋= −3− (−1) = 2,5 5• f 2 = b 2 − ⌊b 2 ⌋ = 8 − ⌊ ⌋85 5 =8− 1 = 3.5 5O corte gerado é portanto3/5 − 1/5x 3 − 2/5x 4 ≤ 0ou ainda−1/5x 3 − 2/5x 4 + x 5 = −3/5.Note que essa restrição não possui variáveis básicas originais, o que correspon<strong>de</strong> a a m+1BQS da página 119. Logo o QS após adição da restrição éz x 1 x 2 x 3 x 4 x 5 RHSz 1 0 0 −2/5 −9/5 0 44/5x 1 0 1 0 −2/5 1/5 0 4/5x 2 0 0 1 1/5 −3/5 0 8/5x 5 0 0 0 −1/5 −2/5 1 −3/5= 0 noComo já sabíamos, este QS é dual viável, mas não primal viável. Aplicamos o Simplex Dualno pivô y 53 (verifique que este é o pivô!), obtendo o QS (ótimo)z x 1 x 2 x 3 x 4 x 5 RHSz 1 0 0 0 −1 −2 10x 1 0 1 0 0 1 −2 2x 2 0 0 1 0 −1 1 1x 3 0 0 0 1 2 −5 3


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 123Como a solução é toda inteira, o problema original está resolvido.É possível mostrar que esse procedimento é finito, ou seja, que obtemos uma solução ótimainteira após adição <strong>de</strong> um número finito <strong>de</strong>sses cortes. Isso não quer dizer no entanto que sejasempre possível usá-lo na prática: observe que a cada corte o QS aumenta, po<strong>de</strong>ndo inviabilizaro processo se muitos cortes forem necessários.11.2 Análise paramétricaConsi<strong>de</strong>re o PL na forma padrãomin cxs.a. Ax = bx ≥ 0.on<strong>de</strong> A é m × n com posto m, e uma base ótima B sua. Estamos interessados em saber paraquais λ ≥ 0 a base B permanece ótima nos seguintes casos:• perturbamos o vetor <strong>de</strong> custos c na direção <strong>de</strong> c ′ , isto é, trocamos c por c + λc ′ ;• trocamos b por b + λb ′ , ou seja, perturbamos b na direção <strong>de</strong> b ′ .Vajamos cada caso separadamente.11.2.1 Perturbando o vetor <strong>de</strong> custos cSuponha que c seja alterado para c + λc ′ , on<strong>de</strong> λ ≥ 0. Decompondo c ′ em (c ′ B , c′ N ), asequações relativas à base B serãoou seja,z + [ (c B + λc ′ B)B −1 N − (c N + λc ′ N) ] x N = (c B + λc ′ B)B −1 bx B + B −1 Nx N = B −1 b,z + [ (c B B −1 N − c N ) + λ(c ′ BB −1 N − c ′ N) ] x N = c B b + λc ′ Bbx B + B −1 Nx N = bon<strong>de</strong> b = B −1 b. Escrevendo z ′ j − c ′ j = c ′ B B−1 a j − c ′ j e sendo R o conjunto dos índices dasVNB’s, o sistema anterior é escrito comoz + ∑ j∈R[(zj − c j ) + λ(z ′ j − c ′ j) ] x j = c B b + λc ′ Bb (11.6)x B + ∑ j∈Ry j x j = b.Observe que o problema original correspon<strong>de</strong> a λ = 0. Vamos <strong>de</strong>terminar o quanto po<strong>de</strong>mosaumentar λ sem que a otimalida<strong>de</strong> <strong>de</strong> B seja perdida. A fim <strong>de</strong> B permanecer ótima é necessárioe suficiente que (z j − c j ) + λ(z j ′ − c ′ j) ≤ 0 para todo j. Seja S = {j; z j ′ − c ′ j > 0}. Se S = ∅ entãopara qualquer valor λ ≥ 0 a base B permanecerá ótima. Suponha agora que S ≠ ∅. Neste caso<strong>de</strong>vemos terλ ≤ − z j − c jz j ′ − , ∀j ∈ S.c′ j


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 124Assim, o valor máximo <strong>de</strong> λ para B permanecer ótima éˆλ = − z {k − c kzk ′ − = minc′ k− z j − c jz j ′ − ; j ∈ Sc′ j}. (11.7)Observe que ˆλ ≥ 0 pois z j − c j ≤ 0 para todo j.Essa análise po<strong>de</strong> ser usada <strong>de</strong> forma sequencial, como segue. Suponha que B 1 seja baseótima. Perturbemos o vetor c na direção <strong>de</strong> c ′ e seja λ 1 = ˆλ. Para λ ∈ [0, λ 1 ], a linha <strong>de</strong> z doQS terá coeficientes atualizados para (z j − c j ) + λ(z j ′ − c ′ j). Assim, em λ = λ 1 o termo <strong>de</strong> x k nalinha <strong>de</strong> z será 0. Introduzimos na base então a VNB x k . Como as novas VNB’s valem zero,da equação (11.6) o novo valor <strong>de</strong> z é c B b + λc ′ Bb. Após atualizar o QS, o processo é repetidorecalculando S e ˆλ, e tomando λ 2 = ˆλ. Daí a base corrente (após atualização do QS) é ótimapara λ ∈ [λ 1 , λ 2 ]. O processo é repetido até que S seja conjunto vazio.Exemplo 11.2.1. [1] Consi<strong>de</strong>re o PLmin −x 1 −3x 2s.a. x 1 +x 2 ≤ 6−x 1 +2x 2 ≤ 6x 1 , x 2 ≥ 0Suponha que o vetor <strong>de</strong> custos c = (−1, −3) seja alterado para (−1, −3) + λ(2, 1), comλ ≥ 0. Nosso interesse é resolver essa classe <strong>de</strong> problemas parametrizados por λ ≥ 0. Primeiroresolvemos o PL original (com λ = 0). Sendo x 3 e x 4 variáveis <strong>de</strong> folga, o QS ótimo éz x 1 x 2 x 3 x 4 RHSz 1 0 0 −5/3 −2/3 −14x 1 0 1 0 2/3 −1/3 2x 2 0 0 1 1/3 1/3 4A fim <strong>de</strong> encontrar o intervalo para λ em que a base do QS acima permanece ótima, calculamos[ ] [ ]c ′ BB −1 N − c ′ N = c ′ B y3 y 4 − c′3 c ′ 4= [ 2 1 ] [ ]2/3 −1/3− [ 0 0 ] = [ 5/3 −1/3 ] .1/3 1/3Assim, S = {3} e da equação (11.7) temosˆλ = − z 3 − c 3z ′ 3 − c ′ 3= − −5/35/3 = 1.Portanto λ 1 = 1 e para λ ∈ [0, 1] a base [ ]a 1 a 2 permanece ótima. A FO em termos <strong>de</strong> λ édada porz(λ) = c B b + λc ′ Bb = −14 + λ [ 2 1 ] [ ]2= −14 + 8λ.4Os coeficientes <strong>de</strong> x 3 e x 4 da linha <strong>de</strong> z serão, respectivamente,Logo o QS ótimo para λ ∈ [0, 1] é(z 3 − c 3 ) + λ(z ′ 3 − c ′ 3) = −5/3 + 5/3λ,(z 4 − c 4 ) + λ(z ′ 4 − c ′ 4) = −2/3 − 1/3λ.


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 125Para λ = 1 o QS ficaz x 1 x 2 x 3 x 4 RHSz 1 0 0 −5/3 + 5/3λ −2/3 − 1/3λ −14 + 8λx 1 0 1 0 2/3 −1/3 2x 2 0 0 1 1/3 1/3 4z x 1 x 2 x 3 x 4 RHSz 1 0 0 0 −1 −6x 1 0 1 0 2/3 −1/3 2x 2 0 0 1 1/3 1/3 4e x 3 entra na base. Observe que x 1 sai, e o novo QS éz x 1 x 2 x 3 x 4 RHSz 1 0 0 0 −1 −6x 3 0 3/2 0 0 −1/2 3x 2 0 −1/2 1 1 1/2 3Queremos agora encontrar o intervalo [1, λ 2 ] no qual a base corrente [ ]a 3 a 2 permaneçaótima. Lembrando que o vetor <strong>de</strong> custos original é c = (−1, −3, 0, 0) e a perturbação na direçãoc ′ = (2, 1, 0, 0), temosz ′ 1 − c ′ 1 = c ′ By 1 − c ′ 1 = [ 0 1 ] [ 3/2−1/2z ′ 4 − c ′ 4 = c ′ By 4 − c ′ 4 = [ 0 1 ] [ −1/21/2z 4 − c 4 = c B y 4 − c 4 = [ 0 −3 ] [ −1/21/2Logo S = {4} e ˆλ = 3. Para λ ∈ [1, 3] temos aindaz(λ) = c B b + λc ′ Bb = [ 0 −3 ] [ ]3+ λ [ 0 1 ] [ 333]− 2 = −5/2]− 0 = 1/2]+ 4 = −3/2.]= −9 + 3λ,(z 1 − c 1 ) + λ(z ′ 1 − c ′ 1) = 5/2 − 5/2λ,(z 4 − c 4 ) + λ(z ′ 4 − c ′ 4) = −3/2 + 1/2λ,e o QS ótimo éz x 1 x 2 x 3 x 4 RHSz 1 5/2 − 5/2λ 0 0 −3/2 + 1/2λ −9 + 3λx 3 0 3/2 0 0 −1/2 3x 2 0 −1/2 1 1 1/2 3Para λ = 3, a VNB x 4 entra na base e temos o QSz x 1 x 2 x 3 x 4 RHSz 1 −5 0 0 0 0x 3 0 1 1 1 0 6x 4 0 −1 2 0 1 6


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 126Novamente, vamos <strong>de</strong>terminar o intervalo para o qual o QS acima permanece ótimo. Temosz 1 ′ −c ′ 1 = −2 e z 2 ′ −c ′ 2 = −1, e logo S = ∅. Assim, a base [ ]a 3 a 4 é ótima no intervalo [3, ∞).11.2.2 Perturbando bSuponha que o vetor b seja alterado para b + λb ′ , on<strong>de</strong> λ ≥ 0. Consi<strong>de</strong>remos B uma baseótima do problema original, quando λ = 0. Temosz + (c B B −1 N − c N ) ≤ 0x B + B −1 Nx N = B −1 b,on<strong>de</strong> c B B −1 N − c N ≤ 0. Ao substituir b por b + λb ′ , o vetor c B B −1 N − c N não é afetado, elogo a viabilida<strong>de</strong> dual é mantida. Agora, o vetor B −1 b é alterado para B −1 (b+λb ′ ). A funçãoobjetivo passa a ser então c B B −1 (b + λb ′ ). A fim <strong>de</strong> manter otimalida<strong>de</strong> primal, <strong>de</strong>vemos terB −1 (b + λb ′ ) ≥ 0, ou seja,B −1 b + λB −1 b ′ ≥ 0 ⇔ b + λb ′ ≥ 0 ⇔ λ(−b ′ i) ≤ b i , ∀i, (11.8)on<strong>de</strong> b ′ = B −1 b ′ . Seja S = {i; b ′ i < 0}. Vemos que se S = ∅ então B permanece ótima paratodo λ ≥ 0 pois neste caso λ(−b ′ i) ≤ 0 ≤ b i para todo i. Caso contrário, segue <strong>de</strong> (11.8) que Bcontinua ótima para todo λ ∈ [0, ˆλ] on<strong>de</strong>{ }ˆλ = minb i−b ′ i; i ∈ SExemplo 11.2.2. [1] Consi<strong>de</strong>re o PL do Exemplo anteriormin −x 1 −3x 2s.a. x 1 +x 2 ≤ 6−x 1 +2x 2 ≤ 6x 1 , x 2 ≥ 0Suponha que o vetor b = (6, 6) seja alterado para (6, 6) + λ(−1, 1), com λ ≥ 0. O PLoriginal (com λ = 0) tem QS ótimoz x 1 x 2 x 3 x 4 RHSz 1 0 0 −5/3 −2/3 −14x 1 0 1 0 2/3 −1/3 2x 2 0 0 1 1/3 1/3 4on<strong>de</strong> x 3 e x 4 são variáveis <strong>de</strong> folga. A fim <strong>de</strong> obter o intervalo [0, ˆλ] no qual a base correntepermanece ótima, calculamos[ ] [ ] [ ]b ′ 2/3 −1/3 −1 −1= B −1 b ′ == .1/3 1/3 1 0Temos S = {1} eˆλ = b 1−b ′ 1=.2−(−1) = 2.Assim, B = [ a 1 a 2]permanece ótima no intervalo [0, 2].


CAPÍTULO 11. ANÁLISE DE SENSIBILIDADE 127Por fim, cabe notar que a mesma análise sequencial discutida na seção anterior, e ilustradano Exemplo 11.2.1, po<strong>de</strong> ser feita aqui. Desta forma, no exemplo anterior os valores das variáveisbásicas no QS seriam x 1 = 2 − λ e x 2 = 4. Fazendo λ = 2, temos x 1 = 0 e um pivoteamentodual seria feito, obtendo um novo QS. Daí repetiríamos a análise feita, perguntando em qualintervalo a nova base permanece ótima quando perturbamos o novo b ao longo <strong>de</strong> b ′ = (−1, 1).11.3 Exercícios1. Fazer os seguintes exercícios do livro do Bazaraa [1]: 6.52, 6.53, 6.67, 6.69.


Capítulo 12O Problema do TransporteNeste Capítulo vamos retomar o Problema <strong>de</strong> Transporte apresentado no Exemplo 5.2.4,página 41, <strong>de</strong> uma maneira mais geral. Veremos que esse problema tem uma estrutura simplese com boas proprieda<strong>de</strong>s, que nos permitirá especializar o método Simplex. Não daremos<strong>de</strong>monstrações <strong>de</strong> vários fatos. Para uma <strong>de</strong>scrição <strong>de</strong>talhada e rigorosa, consulte os capítulos9 e 10 <strong>de</strong> [1].Consi<strong>de</strong>re m pontos <strong>de</strong> origem, on<strong>de</strong> cada origem i <strong>de</strong>stas po<strong>de</strong>m oferecer s i > 0 unida<strong>de</strong>s <strong>de</strong>um certo produto. Adicionalmente, consi<strong>de</strong>re n pontos <strong>de</strong> <strong>de</strong>stino, on<strong>de</strong> cada <strong>de</strong>stino j requerd j > 0 unida<strong>de</strong>s do produto. Associamos a cada link (i, j) da origem i ao <strong>de</strong>stino j um custo<strong>de</strong> transporte c ij . O Problema <strong>de</strong> Transporte consiste em encontrar uma programação <strong>de</strong> rotasque atenda todas as <strong>de</strong>mandas, <strong>de</strong> modo a minimizar o custo total <strong>de</strong> transporte.Mais precisamente, seja x ij a quantida<strong>de</strong> <strong>de</strong> produto transportado ao longo do link (i, j), daorigem i ao <strong>de</strong>stino j. Vamos assumir que o problema é balanceado, isto é, que a oferta total éigual a <strong>de</strong>manda total:m∑ n∑s i = d j .i=1Com isso, o mo<strong>de</strong>lo do problema <strong>de</strong> transporte é dado por (veja Exemplo 5.2.4)j=1mins.a.m∑ n∑c ij x iji=1j=1n∑x ij = s i ,j=1m∑x ij = d j ,i=1x ij ≥ 0,i = 1, . . . , mj = 1, . . . , n∀i, jPara obter uma melhor <strong>de</strong>scrição da matriz das restrições, multiplicamos o segundo bloco<strong>de</strong> restrições por −1 obtendo o PL128


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 129m∑ n∑min c ij x iji=1j=1n∑s.a. x ij = s i , i = 1, . . . , mj=1m∑(−x ij ) = −d j , j = 1, . . . , ni=1x ij ≥ 0, ∀i, j.Afim <strong>de</strong> <strong>de</strong>screver o PL acima na forma matricial, sejamx = (x 11 , x 12 , . . . , x 1n , x 21 , . . . , x 2n , . . . , x mn ) tc = (c 11 , c 12 , . . . , c 1n , c 21 , . . . , c 2n , . . . , c mn )b = (s 1 , s 2 , . . . , s m , −d 1 , −d 2 , . . . , −d n ) tA = (a 11 , a 12 , . . . , a 1n , a 21 , . . . , a 2n , . . . , a mn ).Não é difícil ver que as colunas a ij são dadas pora ij = e j − e m+j ,on<strong>de</strong> e j e e m+j são canônicos <strong>de</strong> R m+n . O mo<strong>de</strong>lo <strong>de</strong> transporte é escrito então comocom matriz A, <strong>de</strong> dimensão (m + n) × mn,⎡A =⎢⎣min cxs.a. Ax = bx ≥ 01 · · · 1 0 · · · 0 · · · 0 · · · 00 · · · 0 1 · · · 1 · · · 0 · · · 0. . . . . .0 · · · 0 0 · · · 0 · · · 1 · · · 1−1 · · · 0 −1 · · · 0 · · · −1 · · · 0.. .. . . . .. . . . .. .0 · · · −1 0 · · · −1 · · · 0 · · · −1⎤⎡=⎢⎣⎥⎦1 0 · · · 00 1 · · · 0. . .0 0 · · · 1−I −I · · · −Ion<strong>de</strong> 1 é vetor linha <strong>de</strong> 1’s e I a i<strong>de</strong>ntida<strong>de</strong> <strong>de</strong> or<strong>de</strong>m n. Essa matriz goza <strong>de</strong> boas proprieda<strong>de</strong>s,que fazem a resolução do problema <strong>de</strong> transporte via simplex muito eficiente. Vejamos taisproprieda<strong>de</strong>s.12.1 Proprieda<strong>de</strong>s da matriz <strong>de</strong> restrições12.1.1 PostoObservamos que A tem m + n linhas, mas seu posto é menor que m + n. De fato, sesomarmos todas as linhas obteremos uma linha nula (toda coluna tem exatamente um 1 e um−1). Mais ainda, é possível mostrar que o posto <strong>de</strong> A é m + n − 1.⎤,⎥⎦


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 130Assim, não po<strong>de</strong>mos aplicar diretamente o método Simplex ao PL. Adotaremos a seguinteestratégia: inserimos uma nova variável artificial x a com coluna e m+n e custo zero. A matrizdas restrições torna-se portantoA 0 = [ A e m+n].É possível mostrar que A 0 tem posto m + n. Po<strong>de</strong>mos assim aplicar o Simplex, on<strong>de</strong> matrizesbásicas têm or<strong>de</strong>m m + n.12.1.2 A 0 é totalmente unimodularDizemos que uma matriz C é totalmente unimodular se toda submatriz quadrada (<strong>de</strong> qualqueror<strong>de</strong>m) tem <strong>de</strong>terminante −1, 0 ou +1. A matriz A 0 é totalmente unimodular, o quesignifica que toda base B tem <strong>de</strong>terminante ±1. Como <strong>de</strong>t B −1 = (<strong>de</strong>t B) −1 , segue que <strong>de</strong>t B −1é ±1. Assim, os vetores y ij = B −1 a ij tem coor<strong>de</strong>nadas ±1 ou 0.Ativida<strong>de</strong> 34. Use a Regra <strong>de</strong> Crammer para <strong>de</strong>monstrar que as soluções y ijBy ij = a ij tem coor<strong>de</strong>nadas ±1 ou 0.do sistema12.2 Resolução do problema do transporte via SimplexNesta seção, estudaremos como aplicar o Simplex a problemas <strong>de</strong> transporte. Basicamenteveremos como obter um Quadro Simplex inicial. Feito isso, prosseguimos normalmente. Umfato interessante vem do fato <strong>de</strong> A 0 ser totalmente unimodular: como vimos, as entradas doQS em y ij são ±1 ou 0. Isso claramente nos levará a pivoteamentos simples pois os pivôs serãoiguais a 1.Embora o Simplex possa ser inicializado utilizando-se o Método <strong>de</strong> Duas Fases, <strong>de</strong>screveremosno que segue uma maneira direta para obtenção <strong>de</strong> um QS inicial.12.2.1 Obtendo uma base inicialOrganizamos o problema <strong>de</strong> transporte no seguinte quadro, <strong>de</strong>nominado quadro <strong>de</strong> transporte:1 2 · · · j · · · n1 s 12 s 2..i (i, j) s i.md 1 d 2 · · · d j · · · d nNa vertical, colocamos as origens e suas capacida<strong>de</strong>s <strong>de</strong> oferta e na horizontal, os <strong>de</strong>stinos esuas <strong>de</strong>mandas. Cada célula (i, j) representa um vetor a ij . O procedimento para obtenção <strong>de</strong>uma base viável é o seguinte:1. Tome ŝ i = s i e ˆd j = d j para todos i, j;2. Marque a célula (1, 1) como básica. Tome x 11 = min{ŝ 1 , ˆd 1 } e atualize ŝ 1 e ˆd 1 para ŝ 1 −x 11e ˆd 1 − x 11 , respectivamente;.s m


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 1313. Se ŝ 1 > 0 marque a célula (1, 2) como básica, tome x 12 = min{ŝ 1 , ˆd 2 } e atualize ŝ 1 , ˆd2para ŝ 1 − x 12 , ˆd 2 − x 12 .Se ŝ 1 = 0 marque a célula (2, 1) como básica, tome x 21 = min{ŝ 2 , ˆd 1 } e atualize ŝ 2 , ˆd1para ŝ 2 − x 21 , ˆd 1 − x 21 .4. Repita esse processo. Em geral, fazemos x kl = min{ŝ k , ˆd l } e atualizamos ŝ k , ˆdl paraŝ k − x kl , ˆd l − x kl . O processo termina quando (k, l) = (m, n).O processo acima, que não provaremos ser correto, sempre termina na última célula (m, n).São marcadas m + n − 1 células como básicas, digamosIsso correspon<strong>de</strong> às colunas(1, 1), (i 2 , j 2 ), . . . , (i m+n−2 , j m+n−2 ), (m, n).a 11 , a i2 ,j 2, . . . a im+n−2 ,j m+n−2, a mn .É possível mostrar que a submatriz <strong>de</strong> A 0 formada por essas colunas mais a coluna e m+n davariável artificial x 0 é uma base viável. O procedimento apresentado é conhecido, em inglês,como northwest corner rule, pois inicia no canto mais à noroeste (a célula (1, 1)) e move-se aolongo do quadro <strong>de</strong> transporte sempre para direita ou para baixo.Outro fator diz respeito à VB artificial. Ela entrará na base com valor zero, e nunca sairá.Ou seja, todas as bases terão a coluna e m+n . De fato, qualquer matriz <strong>de</strong> or<strong>de</strong>m m+n formadapor colunas <strong>de</strong> A 0 que não conter a coluna e m+n é não inversível pois terá somente colunas <strong>de</strong>A, que possui posto m + n − 1.Exemplo 12.2.1. [1] Consi<strong>de</strong>re o problema <strong>de</strong> transporte com 4 origens e 4 <strong>de</strong>stinos, cujasofertas e <strong>de</strong>mandas estão <strong>de</strong>scritas no quadro <strong>de</strong> transporte1 2 3 41 302 453 504 2515 20 31 84Iniciamos marcando a célula (1, 1) como básica. Assim x 11 = min{15, 30} = 15. Parafacilitar, colocaremos os ŝ i e ˆd j atualizados ao lado dos valores antigos, e os valores <strong>de</strong> x ij emsua célula (i, j), como no quadro1 2 3 41 15 ✚30 152 453 504 25✚15 20 31 840Movemos para direita pois ŝ 1 = 30 − 15 = 15 > 0:


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 1321 2 3 41 15 15 ✚30 ✚ ✚15 02 453 504 25✚15 ✚ ✚20 31 840 5Agora, movemos para baixo pois ŝ 1 = 15 − 15 = 15 = 0:Prosseguindo,1 2 3 41 15 15 ✚30 ✚ ✚15 02 5 ✚45 403 504 25✚15 ✚ ✚20 31 840 ✁501 2 3 41 15 15 ✚30 ✚ ✚15 02 5 31 ✚45 ✚ ✚40 93 504 25✚15 ✚ ✚20 ✚ ✚31 840 ✁5 001 2 3 41 15 15 ✚30 ✚ ✚15 02 5 31 9 ✚45 ✚ ✚40 ✁9 03 504 25✚15 ✚ ✚20 ✚ ✚31 ✚ ✚840 ✁5 0 7501 2 3 41 15 15 ✚30 ✚ ✚15 02 5 31 9 ✚45 ✚ ✚40 ✁9 03 50 ✚ ✚50 04 25✚15 ✚ ✚20 ✚ ✚31 ✚ ✚840 ✁5 0 ✚750 25


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 1331 2 3 41 15 15 ✚30 ✚ ✚15 02 5 31 9 ✚45 ✚ ✚40 ✁9 03 50 ✚ ✚50 04 25 ✚ ✚25 0✚15 ✚ ✚20 ✚ ✚31 ✚ ✚840 ✁5 0 ✚750 ✚250A base é portanto formada pelas colunas a 11 , a 12 , a 22 , a 23 , a 24 , a 34 , a 44 , e 8 .Será importante dizer quem são os vetores y kl relativos às VB’s encontradas. Pois bem,pelo quadro simplex, esses vetores são colunas da i<strong>de</strong>ntida<strong>de</strong>. Mais ainda, a or<strong>de</strong>m das VB’sno quadro simplex <strong>de</strong>terminam y kl . De fato, a j-ésima VB, digamos x kl , tem colunaAssim, no exemplo temos[ ]zkl − c kl=y kl[ ]zkl − c kl.e jy 11 = e 1 , y 12 = e 2 , y 22 = e 3 , y 23 = e 4 , y 24 = e 5 , y 34 = e 6 , y 44 = e 7 .12.2.2 Obtendo o Quadro Simplex a partir <strong>de</strong> uma baseNesta subseção queremos <strong>de</strong>screver as entradas z ij − c ij e os vetores y ij = B −1 a ij a partirda base inicial B encontrada pelo método da subseção anterior. Apresentaremos uma maneiraprática, sem <strong>de</strong>monstrar que é correto, via exemplos.Exemplo 12.2.2. Consi<strong>de</strong>ramos o quadro do Exemplo anterior com a base encontrada, on<strong>de</strong>no lugar dos valores das VB’s colocamos simplesmente uma marcação B nas células básicas1 2 3 41 B B2 B B B3 B4 BRetiramos as ofertas e <strong>de</strong>mandas pois não são necessárias. Digamos que queiramos calculary 41 relativo à VNB x 41 . É possível mostrar que y 41 é igual a somas e subtrações <strong>de</strong> algunsvetores y kl da base. Pois bem, vamos obter através do quadro <strong>de</strong> transporte essa escrita.1. Primeiro marque a célula (4, 1) no quadro:1 2 3 41 B B2 B B B3 B4 × B


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 1342. Sempre num sentido (que convencionaremos o anti-horário), percorra o quadro <strong>de</strong> modoa fechar um ciclo com início e fim em (4, 1). O ciclo <strong>de</strong>ve ter suas “quinas” em célulasbásicas, ou seja, ele só muda <strong>de</strong> direção em uma célula básica. É possível mostrar quesempre haverá um ciclo <strong>de</strong>stes. O primeiro movimento será para a célula básica (4, 4):1 2 3 41 B B2 B B B3 B4 × − − BO segundo movimento é para a célula (2, 4):O terceiro para a célula (2, 2):Movemos para a célula (1, 2):Depois para (1, 1):1 2 3 41 B B2 B B B3 B4 × − − B1 2 3 41 B B2 B B B3 B4 × − − B1 2 3 41 B B2 B B B3 B4 × − − B1 2 3 41 B B2 B B B3 B4 × − − BE voltamos para a célula (4, 1), fechando o ciclo:1 2 3 41 B B2 | B B B3 | B4 × − − B


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 135O ciclo das células básicas obtido é(4, 4) → (2, 4) → (2, 2) → (1, 2) → (1, 1).A escrita do vetor y 41 segue o ciclo acima, alternando os sinais dos vetores:y 41 = y 44 − y 24 + y 22 − y 12 + y 11 .Observe que esta expressão é simples pois os vetores y kl <strong>de</strong> variáveis básicas são colunasda i<strong>de</strong>ntida<strong>de</strong>, como vimos.Finalmente, o cálculo z ij − c ij = c B y ij − c ij é fácil. Isso porque as entradas <strong>de</strong> y 41 são±1 ou 0 (Ativida<strong>de</strong> 34).O processo do Exemplo anterior é sempre possível, pois em toda linha e coluna há sempreuma célula básica.Ativida<strong>de</strong> 35. Mostre que, assim como acontece com o vetor y 41 no Exemplo anterior, temosa 41 = a 44 − a 24 + a 22 − a 12 + a 11 .1. Obtenha daí a expressão com os y ′ s, multiplicando ambos os membros por B −1 ;2. A partir do item anterior, da igualda<strong>de</strong> z ij − c ij = c B y ij − c ij e do fato dos y kl ′ s básicosserem colunas da i<strong>de</strong>ntida<strong>de</strong>, conclua quez 41 − c 41 = (c 44 − c 24 + c 22 − c 12 + c 11 ) − c 41 .Ou seja, o ciclo obtido no quadro <strong>de</strong> transporte fornece as expressões <strong>de</strong> a ij , y ij e z ij − c ij .Exemplo 12.2.3. Consi<strong>de</strong>re o problema <strong>de</strong> transporte, representado via quadro <strong>de</strong> transporteon<strong>de</strong> aproveitamos para inserir os custos c ij nas células:1 2 31 10 11 20 202 6 9 8 2015 15 10Observe que o problema é balanceado pois ∑ s i = ∑ d j = 40. Vamos encontrar uma baseinicial e o QS associado.BASE INICIAL1 2 31 202 2015 15 101 2 31 15 ✚20 52 20✚15 15 100


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 1361 2 31 15 5 ✚20 ✁5 02 20✚15 ✚ ✚15 100 101 2 31 15 5 ✚20 ✁5 02 10 ✚20 10✚15 ✚ ✚15 100 ✚1001 2 31 15 5 ✚20 ✁5 02 10 10 ✚ ✚20 ✚ ✚10 0✚15 ✚ ✚15 ✚ ✚100 ✚10 00A base inicial é portantoB = [ a 11 a 12 a 22 a 23 e 5].Os valores das VB’s estão representados no último quadro <strong>de</strong> transporte.artificial x a será zero. O QS parcial éO valor da VBVamos calcular as colunas das VNB’s.z x 11 x 12 x 13 x 21 x 22 x 23 x a RHSz 1 0 0 0 0 0x 11 0 1 0 0 0 0 15x 12 0 0 1 0 0 0 5x 22 0 0 0 1 0 0 10x 23 0 0 0 0 1 0 10x a 0 0 0 0 0 1 0COLUNA DE x 131 2 31 B B ×2 B BeÉ fácil ver que o ciclo será1 2 31 B B ×2 B By 13 = y 12 − y 22 + y 23 = e 2 − e 3 + e 4 =⎢⎣Lembre-se que y 13 ∈ R m+n = R 5 . A última entrada é da linha da VB x a . Com y 13 em mãos,⎡01−110⎤⎥⎦ .


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 137calculamos z 13 − c 13 :⎡z 13 − c 13 = c B y 13 − c 13 = [ 10 11 9 8 0 ] ⎢⎣01−110⎤⎥ − 20 = (11 − 9 + 8) − 20 = −10.⎦Deixamos para você encontrar a coluna da VNB x 21 e o valor <strong>de</strong> z = c B b. O QS seráz x 11 x 12 x 13 x 21 x 22 x 23 x a RHSz 1 0 0 −10 2 0 0 0 375x 11 0 1 0 0 1 0 0 0 15x 12 0 0 1 1 −1 0 0 0 5x 22 0 0 0 −1 1 1 0 0 10x 23 0 0 0 1 0 0 1 0 10x a 0 0 0 0 0 0 0 1 0Prosseguimos normalmente com o Simplex Primal.Exemplo 12.2.4. Consi<strong>de</strong>re o problema <strong>de</strong> transporte, representado via quadro <strong>de</strong> transporteon<strong>de</strong> aproveitamos para inserir os custos c ij nas células:1 2 3 4 5 61 10 12 13 8 14 19 182 15 18 12 16 19 20 223 17 16 13 14 10 18 394 19 18 20 21 12 13 1410 11 13 20 24 15Observe que o problema é balanceado pois ∑ s i = ∑ d j = 93. Vamos encontrar uma baseinicial.1 2 3 4 5 61 10 ✚18 82 223 394 14✚10 11 13 20 24 1501 2 3 4 5 61 10 8 ✚18 ✁8 02 223 394 14✚10 ✚ ✚11 13 20 24 150 3


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 138Prosseguindo, o quadro final seráA base encontrada é portanto1 2 3 4 5 61 10 8 ✚18 ✁8 02 3 ✚22 193 394 14✚10 ✚ ✚11 13 20 24 150 ✁301 2 3 4 5 61 10 8 ✚18 ✁8 02 3 13 6 ✚22 ✚ ✚19 ✁6 03 14 24 1 ✚39 ✚ ✚25 ✁1 04 14 ✚ ✚14 0✚10 ✚ ✚11 ✚ ✚13 ✚ ✚20 ✚ ✚24 ✚ ✚150 ✁3 0 ✚14 0 ✚140 0 0B = [ a 11 a 12 a 22 a 23 a 24 a 34 a 35 a 36 a 46 e 10].O QS inicial está parcialmente feito. Temos em mãos as VB’s, seus valores (a coluna RHS),e obviamente suas colunas y kl . Não exibiremos o QS pois é gran<strong>de</strong>, são 25 variáveis. Paraexemplificar como obter o resto do QS calculamos a seguir a coluna da VNB x 15 .1 2 3 4 5 61 B B ×2 B B B3 B B B4 B1 2 3 4 5 61 B B − − ×2 B B B3 B B B4 B1 2 3 4 5 61 B B − − ×2 B B B3 B B B4 B1 2 3 4 5 61 B B − − ×2 B B B3 B B B4 B1 2 3 4 5 61 B B − − ×2 B B B3 B B B4 B1 2 3 4 5 61 B B − − ×2 B B B |3 B B B4 B


CAPÍTULO 12. O PROBLEMA DO TRANSPORTE 139Portantoy 15 = y 12 − y 22 + y 24 − y 34 + y 35 = e 2 − e 3 + e 5 − e 6 + e 7 =⎢⎣⎡01−101−11000⎤.⎥⎦Lembre-se que y 15 ∈ R m+n = R 10 , e que a última entrada é da linha da VB x a .Por fim, temos z 15 − c 15 = c B y 15 − c 15 = (12 − 18 + 16 − 14 + 10) − 14 = −8.Ativida<strong>de</strong> 36. No exemplo anterior, obtenha as colunas <strong>de</strong> x 43 e x 21 .12.3 <strong>Notas</strong>Você po<strong>de</strong> verificar que o dual do problema <strong>de</strong> transporte é muito simples, e <strong>de</strong> fácil resolução.Po<strong>de</strong> ser usado portanto para resolver o problema <strong>de</strong> transporte. Para <strong>de</strong>talhes, consulte[1].Os problemas <strong>de</strong> transporte são um caso particular dos problemas <strong>de</strong> fluxo mínimo em re<strong>de</strong>s.Esses problemas possuem matriz das restrições totalmente unimodulares. Essa proprieda<strong>de</strong> permite,assim como o problema <strong>de</strong> transporte, a resolução eficiente em computador. Novamente,consulte o capítulo 9 <strong>de</strong> [1] para <strong>de</strong>talhes.


Referências Bibliográficas[1] Mokhtar S. Bazaraa, John J. Jarvis, and Hanif D. Sherali. <strong>Linear</strong> Programming and NetworkFlows. John Wiley & Sons, 3 edition, 2005.[2] Dimitri P. Bertsekas. Convex Analysis and Optimization. Athena Scientific, 2003.[3] George B. Dantizig and Mukund N. Thapa. <strong>Linear</strong> Programming II: thoery and extensions.Springer, 2003.[4] Eduardo J. P. F. dos Passos. Programação <strong>Linear</strong> como Instrumento da Pesquisa Operacional.Atlas, São Paulo, 2008.[5] Marco Cesar Goldbarg and Henrique Pacca L. Luna. Otimização Combinatória e Programação<strong>Linear</strong>: Mo<strong>de</strong>los e Algoritmos. Elsevier, 2 edition, 2005.[6] Alexey Izmailov and Mikhail Solodov. Otimização volume 1: Condições <strong>de</strong> otimalida<strong>de</strong>,elementos <strong>de</strong> análise convexa e <strong>de</strong> dualida<strong>de</strong>. IMPA, 2005.[7] Marcos P. E. Lins and Guilherme M. Calôba. Programação <strong>Linear</strong>: com aplicações emteoria dos jogos e avaliação <strong>de</strong> <strong>de</strong>sempenho. Interciência, Rio <strong>de</strong> Janeiro, 2006.140

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!