Você está na página 1de 146

Programao Linear

Mauricio Pereira dos Santos Departamento de Matemtica Aplicada Instituto de Matemtica e Estatstica

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

ii Copyright c 2.000 por Mauricio Pereira dos Santos Editorao: O autor, criando arquivo texto no format LaTex. Fluxos e figuras: Visio e Corel Paint, includos no texto como EPS (Encapsulated Postscript File).

30072007

Contedo

1 Introduo 1.1 Exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.2 Soluo grfica . . . . . . . . . . . . . . . . . . . . . . . . 1.3 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.4 Respostas dos exerccios da seo 1.3 . . . . . . . . . . . . 1.5 O modelo geral da Programao Linear . . . . . . . . . . . 1.6 Variaes do Modelo Geral . . . . . . . . . . . . . . . . . . 1.7 O que est implcito em qualquer modelo de P.Linear . . . 1.8 Exemplos de formulao de modelos de Programao Linear 1.9 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . 1.10 Respostas dos exerccios da seo 1.9 . . . . . . . . . . . . 2 O Mtodo Simplex 2.1 Definies bsicas . . . . . . . . . . . . . . . . . 2.2 Um mtodo no muito eficiente . . . . . . . . . . 2.3 Situaes que podem acontecer no Mtodo Simplex 2.3.1 Empate na escolha da varivel entrante . . 2.3.2 Empate na escolha da varivel sainte . . . 2.3.3 No existncia de varivel sainte . . . . . 2.3.4 Mltiplas (infinitas) solues timas . . . . 2.3.5 Modelos de Minimizao . . . . . . . . . . 2.3.6 Modelos com variveis irrestritas em sinal 2.4 Outras formas de modelos - O Simplex de 2 fases . 2.5 Novos algortimos . . . . . . . . . . . . . . . . . 2.6 Exerccios . . . . . . . . . . . . . . . . . . . . . . 2.7 Respostas dos exerccios da seo 2.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

1 1 4 10 12 16 16 16 18 24 29 33 33 34 43 43 44 46 46 49 50 51 55 56 60 61 63 64 64 65 67 69 69 69 71 72 74 75 76 77 77 77

3 Anlise depois do timo 3.1 Anlise de Sensibilidade . . . . . . . . . . . . . . . . . . . . . . . . . 3.2 Anlise de Sensibilidade dos Coeficientes da Funo Objetivo . . . . . 3.2.1 De variveis no bsicas na soluo tima . . . . . . . . . . . . 3.2.2 De variveis bsicas na soluo tima . . . . . . . . . . . . . . 3.3 Anlise de Sensibilidade das constantes do lado direito . . . . . . . . 3.4 Dualidade . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.1 Modelos Primal e Dual . . . . . . . . . . . . . . . . . . . . . . 3.4.2 Teorema Dual . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.4.3 Relao entre o Primal e o Dual . . . . . . . . . . . . . . . . . 3.5 Valor timo das variveis do Modelo Dual . . . . . . . . . . . . . . . . 3.6 Significado econmico dos valores timos das variveis do Modelo Dual 3.7 Anlise de Sensibilidade usando o Modelo Dual . . . . . . . . . . . . 3.7.1 Incluso de uma nova varivel . . . . . . . . . . . . . . . . . . 3.8 Anlise de Sensibilidade dos coeficientes das restries . . . . . . . . 3.8.1 De varivel no bsica na soluo tima . . . . . . . . . . . . . 3.8.2 De varivel bsica na soluo tima . . . . . . . . . . . . . . .

iv

CONTEDO 3.9 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3.10 Respostas dos exerccios da seo 3.9 . . . . . . . . . . . . . . . . . . . . . . . . . . 78 88 93 93 94 94 95 95 96 96 96 103 105 113 115 115 116 118 118 123 123 125 132 137

4 Algortimo dos Transportes 4.1 Um exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.2 Formulao como um modelo clssico de P.Linear . . . . . . . 4.3 Quadro (tableau) usado no algortimo dos transportes . . . . . 4.4 Fonte ou destino artificial . . . . . . . . . . . . . . . . . . . . 4.5 Impossibilidade de transporte . . . . . . . . . . . . . . . . . . 4.6 Etapas do algortimo dos transportes . . . . . . . . . . . . . . 4.7 Nmero de variveis bsicas nas solues bsicas . . . . . . . 4.8 Mtodos para achar a soluo bsica inicial . . . . . . . . . . . 4.9 Esgotamento simultneo de linha e coluna . . . . . . . . . . . 4.10 Teste para saber se uma soluo bsica tima . . . . . . . . . 4.11 Solues bsicas degeneradas . . . . . . . . . . . . . . . . . . 4.12 O Modelo da Baldeao . . . . . . . . . . . . . . . . . . . . . 4.13 Diferena entre Transporte e Baldeao . . . . . . . . . . . . 4.14 Adaptao do modelo da baldeao ao algortimo do transporte 4.15 O Modelo da Atribuio ou da Designao . . . . . . . . . . . 4.16 Passos do Algortimo . . . . . . . . . . . . . . . . . . . . . . . 4.17 Impossibilidade de atribuio . . . . . . . . . . . . . . . . . . 4.18 Fontes ou destinos artificiais . . . . . . . . . . . . . . . . . . 4.19 Exerccios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4.20 Respostas dos exerccios da seo 4.19 . . . . . . . . . . . . . 5 Bibliografia de Pesquisa Operacional

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

. . . . . . . . . . . . . . . . . . . .

Captulo 1
Introduo

Muitos colocam o desenvolvimento da Programao Linear (PL) como um dos avanos cientficos mais importantes do sculo XX. Seu impacto desde 1950 tem sido extraordinrio. Hoje em dia uma ferramenta padro que tem possibilitado grandes ganhos para a maioria das companhias nos pases industrializados, sendo que seu uso em outros setores da sociedade vem crescendo rapidamente. Qual a natureza desta ferramenta e que tipo de problemas ela resolve ? Neste captulo aprenderemos as respostas para estas 2 perguntas. Resumidamente, o tipo mais comum de aplicao envolve o problema de distribuir recursos limitados entre atividades que esto competindo por aquele recursos, da melhor maneira possvel (isto , da maneira tima). Programao Linear usa um modelo matemtico para descrever o problema . O termo linear significa que todas as funes matemticas do modelo so, obrigatoriamente, funes lineares. A palavra programao no se refere a programao de computadores e deve ser vista como um sinnimo de planejamento. Assim, podemos definir a programao linear como sendo o planejamento de atividades para obter um resultado timo, isto , um resultado que atenda, da melhor forma possvel, a um determinado objetivo. Embora alocao de recursos para atividades seja o tipo mais comum, programao linear tem numerosos outros tipos de aplicao. De fato, qualquer problema cujo modelo matemtico se enquadre na forma geral de um modelo de PL, um problema de programao linear. Um procedimento extremamente eficiente, chamado mtodo simplex, est disponvel para resolver problemas de PL, mesmo aqueles com milhares de variveis.

1.1 Exemplo
Para entender melhor os conceitos da Programao Linear, vamos trabalhar com um exemplo que servir de base para apresentarmos alguns dos aspectos relacionados com os modelos de Programao Linear. Uma empresa produz 2 produtos em uma de suas fbricas. Na fabricao dos 2 produtos, 3 insumos so crticos em termos de restringir o nmero de unidades dos 2 produtos que podem ser produzidas: as quantidades de matria prima (tipos A e B) disponveis e a mo de obra disponvel para a produo dos 2 produtos. Assim, o Departamento de Produo j sabe que, para o prximo ms, a fbrica ter disponvel, para a fabricao dos 2 produtos, 4900 kilos da matria prima A e 4500 kilos da matria prima B.

Introduo

Cada unidade do produto tipo I, para ser produzida consome 70 kilos da matria prima A e 90 kilos da matria prima B. Por sua vez, cada unidade do produto tipo II para ser produzida, utiliza 70 kilos da matria prima tipo A e 50 kilos da matria prima tipo B. Como a produo dos 2 produtos utiliza processos diferentes, a mo de obra especializada e diferente para cada tipo de produto, ou seja no se pode utilizar a mo de obra disponvel para a fabricao de um dos produtos para produzir o outro. Assim, para a produo do produto tipo I a empresa ter disponvel, no prximo ms, 80 homens-hora. J para o produto tipo II ter 180 homens-hora. Cada unidade do produto tipo I, para ser produzida, utiliza 2 homens-hora enquanto que cada unidade do produto tipo II utiliza 3 homens-hora. Reduzindo do preo unitrio de venda todos os custos, chega-se a concluso de que cada unidade do produto tipo I d um lucro de $20 e cada unidade do produto tipo II d um lucro de $60. Dada a grande procura, estima-se que todas as unidades a serem produzidas, dos 2 produtos, podero ser vendidas. O objetivo da empresa obter o maior lucro possvel com a produo e a venda das unidades dos produtos tipo I e II. Queremos resolver este problema com um modelo de Programao Linear. Mas antes de fazer isto temos que conhecer o problema. Qual o problema desta empresa ? O problema que eles no sabem quantas unidades de cada tipo de produto (I e II) devem ser produzidas, de maneira que o lucro seja o maior possvel. Para construir um modelo de P.Linear temos que comear identificando o que se deseja saber ou conhecer no problema. A isto d-se o nome de varivel de deciso. No nosso problema temos 2 variveis de deciso que so: x1 no de unidades do produto tipo I a serem produzidas no prximo ms. x2 no de unidades do produto tipo II a serem produzidas no prximo ms 1 . Temos que identificar o objetivo que se deseja alcanar e traduz-lo por uma funo matemtica linear contendo as variveis de deciso. Assim, no nosso exemplo, o objetivo maximizar o lucro total obtido com a produo dos 2 produtos. Cada unidade, a ser produzida, do produto tipo I d um lucro de $20. Como vamos produzir x1 unidades, teremos um lucro de 20x1 . Da mesma forma, cada unidade do produto tipo II d um lucro de $60, ou seja, pelo produto tipo II teremos um lucro de 60x2 . Desta forma a funo de lucro total, que queremos maximizar, ser uma funo da forma: 20x1 + 60x2 . Esta funo chamada de funo objetivo e representada, pela maioria dos autores, como uma funo de uma varivel Z representando o sentido da otimizao que, no nosso caso, de maximizao. Assim, podemos escrever: (MAX)Z = 20x1 + 60x2 funo objetivo.
1

Chamamos de x1 e x2 mas poderamos usar qualquer nome para rotular as variveis de deciso

1.1 Exemplo

Evidentemente que o nosso modelo no se restringe a funo objetivo pois se assim fosse, a soluo seria simplesmente x1 = x2 = , o que, sem muita anlise, percebemos que impossvel bastando observar a quantidade disponvel de qualquer uma das matrias primas. Desta forma os valores que x1 e x2 podem assumir esto condicionados pelas restries do modelo que, no nosso exemplo, so as as quantidades das 2 matrias primas e a quantidade de mo de obra disponvel. Temos que representar cada restrio fsica por uma funo matemtica linear contendo as variveis de deciso do modelo. A 1a restrio que temos diz que a quantidade disponvel de matria prima tipo A, no prximo ms de 4900 kilos. Cada unidade a ser produzida do produto I vai consumir 70 kilos desta matria prima. Por sua vez, cada unidade a ser produzida do produto II tambm vai consumir 70 kilos desta mesma matria prima. Logo 70x1 + 70x2 vai nos dar toda a matria prima tipo A a ser utilizada. Esta quantidade no pode ser maior do que a empresa vai ter disponvel, ou seja 4900 kilos. Podemos escrever ento: 70x1 + 70x2 4900 Fazendo-se o mesmo tipo de raciocnio para a matria prima tipo B, podemos escrever: 90x1 + 50x2 4500. Temos ainda que representar a restrio relativa a mo de obra. Para a produo do produto tipo I, temos 80 homens-hora disponveis. Cada unidade, para ser produzida, utiliza 2 homens-hora. Logo, 2x1 indica todo o consumo de mo de obra, apta para produzir o produto I, no prximo ms. Como temos disponveis 80 homens-hora, a restrio fica: 2x1 80. Podemos escrever uma restrio semelhante para o produto tipo II, ou seja: 3x2 180. A primeira vista poder parecer que formulamos todas as restries. No entanto, h um tipo de restrio no to evidente. Como visto anteriormente, x1 e x2 representam as unidades dos 2 tipos de produto a serem fabricadas. Ora no podemos produzir, por exemplo, 10 unidades do produto tipo I ou do produto tipo II, ou seja, x1 e x2 no podem ser negativos. Matematicamente temos: x1 ,x2 0 Podemos agora escrever todo o modelo de programao linear para o nosso exemplo: (MAX) Z = 20x1 + 60x2 Funo Objetivo s.a 70x1 + 70x2 4900 90x1 + 50x2 4500 Restries do modelo 2x1 80 3x2 180 x1 ,x2 0 Restrio de no negatividade

Introduo

1.2 Soluo grfica


Modelos de P.Linear de at 3 variveis podem ser resolvidos graficamente. Este tipo de soluo no tem aplicao prtica pois os problemas do mundo real tem sempre muito mais variveis (dezenas, centenas e at milhares). No entanto a soluo grfica nos ajudar a entender os princpios bsicos do mtodo analtico, chamado de mtodo Simplex, usado para resolver os modelos de P.Linear. Vamos resolver o nosso exemplo graficamente: Como x1 e x2 tem que ser >= 0, o ponto timo, ou seja o ponto que maximiza o valor de Z, obedecidas todas as restries, s pode estar no 1o quadrante. Assim podemos traar: x2

(0,0)

x1

Vamos considerar a 1a restrio na igualdade, ou seja 70x1 + 70x2 = 4900. Ela uma equao de uma reta passando pelos pontos (70,0) e (0,70). Podemos ento tra-la em nosso grfico:

1.2 Soluo grfica

x2

70

(0,0) 70 R1

x1

Como o ponto (0,0) est abaixo da reta e como (0,0) satisfaz a restrio, todos os pontos da reta para baixo so pontos que satisfazem a restrio. Vamos fazer o mesmo com a 2a restrio que na igualdade, 90x1 + 50x2 = 4500 uma reta que passa pelos pontos (50,0) e (0,90). Traando-a temos: x2 R2 90 70

(0,0)

50 70 R1

x1

Como o ponto (0,0) est abaixo da reta e como (0,0) satisfaz a restrio, todos os pontos da reta para baixo so pontos que satisfazem a restrio.

Introduo

A 3a restrio, na igualdade (2x1 = 80), uma reta paralela ao eixo x2 passando pelo ponto 40 em x1 . Temos ento: x2 R2 90 70

R3

(0,0)

40

50 70 R1

x1

Como o ponto (0,0) est a esquerda da reta e obedece a restrio, todos os pontos da reta para a esquerda so pontos que satisfazem a 3a restrio. A 4a restrio na igualdade, 3x2 = 180, uma reta paralela ao eixo x1 , passando pelo ponto 60 no eixo x2 . Traando-a, temos: x2 R2 90 70 60 R4

R3

(0,0)

40

50 70 R1

x1

Como o ponto (0,0) est abaixo da reta e obedece a restrio, todos os pontos da reta para baixo so pontos que satisfazem a 4a restrio.

1.2 Soluo grfica

Como todas as restries foram traadas temos o chamado Espao Soluo que o conjunto de todos os pontos candidatos a serem o ponto timo, ou seja, todos os pontos que obedecem a todas as restries do modelo. No grfico o Espao Soluo o polgono hachurado, como podemos ver a seguir: x2 R2

R3

R4

x1 R1 O ponto timo um ponto do espao soluo, ou seja pertencente ao polgono hachurado. Como encontr-lo graficamente ? Vamos observar a funo objetivo: Z = 20x1 + 60x2 . Graficamente esta equao representa uma famlia de retas paralelas, ou seja, para cada valor de Z temos uma reta que ser paralela a qualquer outra para outro valor de Z , inclusive para aquela com o valor timo de Z . Vamos, arbritariamente, escolher um valor para Z , por exemplo Z = 1200. Temos ento uma reta passando pelos pontos (60,0) e (0,20). No grfico temos:

Introduo

x2 R2

R3

R4

x1 R1 Z = 1200

Como queremos maximizar o valor de Z , vamos escolher agora um valor maior, por exemplo Z = 2400, ou seja uma reta passando pelos pontos (120,0) e (0,40). Vamos ver como fica graficamente: x2 R2

R3

R4

x1 R1 Z = 2400 Z = 1200

Como esperado, a nova reta Z = 2400 uma reta paralela a reta anterior Z = 1200. Descobrimos tambm que traando-se paralelas a Z = 1200, acima dela, obtemos valores maiores para Z . Como obter o ponto timo ?

1.2 Soluo grfica

Simplesmente traando a paralela, mais alta possvel, que toque, pelo menos, um ponto do espao soluo. Graficamente temos: x2 R2

R3 Ponto timo R4

x 2 Z x1 R1 Z = 2400 Z = 1200

x 1

O * indica, em programao matemtica o valor timo. Assim, x 1 quer dizer o valor timo de x1 . O ponto timo ter sido um dos vrtices do espao soluo no uma mera coincidncia. Na verdade o ponto timo sempre um dos vrtices do espao soluo a no ser quando temos mltiplas (infinitas) solues timas, pois neste caso, os pontos timos so todos os pertencentes a um dos lados do espao soluo. Para ilustrar este ltimo caso, mude a funo objetivo para (MAX) Z = 90x1 + 50x2 . Resolva graficamente e observe que todos os pontos de um dos lados do espao soluo so pontos timos! Isto acontece porque a funo objetivo a uma funo paralela a 2a restrio.

10

Introduo

1.3 Exerccios
A) Resolva graficamente o modelo abaixo: (MAX) Z = 3x1 + 5x2 s.a (1) x1 4 (2) 2x2 12 (3) 3x1 + 2x2 18 (4) x1 0 (5) x2 0 Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero). B) Resolva graficamente o modelo abaixo: (MAX) Z = 2x1 + x2 s.a (1) x2 10 (2) 2x1 + 5x2 60 (3) x1 + x2 18 (4) 3x1 + x2 44 (5) x1 0 (6) x2 0 Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero). C) Resolva graficamente o modelo abaixo: (MAX) Z = 2x1 2x2 s.a (1) 3x1 4x2 18 (2) 8x1 3x2 24 (3) 6x1 + 8x2 24 (4) 3x1 + 5x2 21 (5) x1 3 (6) x2 0 Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero).

1.3 Exerccios

11

D) Resolva graficamente o modelo abaixo: (MAX) Z = 2x1 8x2 s.a (1) 4x1 + 2x2 8 (2) 3x1 + 6x2 6 (3) 6x1 + 6x2 18 (4) x2 2 (5) x1 2 (6) 5x1 + 3x2 15 (7) x1 0 Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero). E) Resolva graficamente o modelo abaixo: (MAX) Z = 4x1 2x2 s.a (1) x1 + x2 8 (2) 8x1 + 3x2 24 (3) 6x1 + 8x2 48 (4) 3x1 + 5x2 15 (5) x1 4 (6) x2 0 Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero). F) Resolva graficamente o modelo abaixo: (MAX) Z = 2x1 5x2 s.a (1) 2x1 2x2 10 (2) 7x1 + 3x2 21 (3) 2x1 + 3x2 6 (4) 3x1 + 9x2 27 (5) x1 1 (6) x2 4 Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero).

12 G) Resolva graficamente o modelo abaixo: (MIN) Z = 4x1 2x2 s.a (1) x1 + x2 8 (2) 8x1 + 3x2 24 (3) 6x1 + 8x2 48 (4) 3x1 + 5x2 15 (5) x1 3 (6) x2 0

Introduo

Indique o espao soluo (hachurando), o ponto timo (apontando) e as restries redundantes (pelo nmero).

1.4 Respostas dos exerccios da seo 1.3


Exerccio A x2

Ponto timo

(0,0)

x1 Z Z = 15 Z = 25

1.4 Respostas dos exerccios da seo 1.3

13

Exerccio B

x2

Ponto timo

x1 Z = 6 Z = 16 Exerccio C Z x2

Z =

x1

Redundantes: (1) e (5)

Z=4 Z=6

14 x2 Exerccio D

Introduo

Ponto timo Z = 34 Z Z = 28 x1

Redundantes: (1),(2),(4) e (7) Exerccio E

x2

Ponto timo

x1

Z = 8 Z = 18

Redundantes: (2), (6)

1.4 Respostas dos exerccios da seo 1.3

15

Exerccio F x2

x1 Ponto timo Z = 8 Z=2 Z Redundantes: (1),(2) e (6) x2 Exerccio G

Ponto timo x1 Z

Redundante: (1)

Z=6 Z = 4

16

Introduo

1.5 O modelo geral da Programao Linear


O modelo geral da programao linear pode ser escrito como: (MAX) Z = c1 x1 + c2 x2 + . . . +cnxn sujeito a a11 x1 + a12 x2 + . . . +a1nxn b1 a21 x1 + a22 x2 +. . . +a2nxn b2 . . . am1 x1 + am2 x2 + . . . +amnxn bm xi 0 aij , bi e cj so chamados de parmetros do modelo e particularmente so chamados de: cj coeficientes da funo objetivo bi constantes do lado direito aij coeficientes das restries ou coeficientes tecnolgicos

1.6 Variaes do Modelo Geral


a) A funo objetivo pode ser de minimizao: (MIN) Z = c1 x1 + c2 x2 + . . . +cnxn b) Algumas restries podem ser do tipo : ai1 x1 + ai2 x2 + . . . +ainxn bi c) Algumas restries podem ter sinal =: ai1 x1 + ai2 x2 +. . . +ainxn = bi d) Algumas variveis de deciso podem assumir qualquer valor, entre e +, e so chamadas de irrestritas em sinal.

1.7 O que est implcito em qualquer modelo de P.Linear


a) Proporcionalidade Esta considerao implica em que o nvel da contribuio de uma varivel qualquer sempre proporcional ao seu valor. Para exemplificar vejamos no nosso exemplo o caso da varivel x1 . O seu lucro unitrio igual a 20. Esta propriedade diz que a contribuio de x1 para o lucro total 20x1 independentemente se x1 igual a 10 ou igual a 100.000.000. Em um esquema produtivo este fato nem sempre verdade pois existe, quase sempre, um fator de economia de escala. Os modelos de programao linear no levam isto em conta e ou se usa, se for o caso, uma aproximao ou se tem que usar programao no linear. Normalmente, a soluo de modelos de programao no linear muito mais complexa.

1.7 O que est implcito em qualquer modelo de P .Linear

17

b) Aditividade Esta considerao implica em que no h interao entre as diversas variveis do modelo, ou seja, a contribuio do total de variveis a soma das contribuies individuais de cada uma das variveis. Para exemplificar vamos considerar o nosso exemplo prottipo. A contribuio para o lucro total da varivel x1 20x1 independentemente se x2 igual a 1 ou 10.000. Por sua vez a contribuio de x2 para o lucro total 60x2 seja qual for o valor assumido por x1 . No mundo real isto, normalmente, tambm no acontece assim, ou seja, a quantidade de um produto pode inuir na produo de outro independentemente das restries tecnolgicas. Se em um modelo a considerao da aditividade modifica a essncia do problema, deve-se usar programao no linear. c) Divisibilidade A partir da construo de um modelo de P.Linear ns transformamos um problema do mundo real para o mundo matemtico. Para encontrarmos a soluo que procuramos, temos que resolver o problema matematicamente. A soluo grfica, por exemplo, um procedimento matemtico. Assim sendo, perfeitamente normal que a soluo de um modelo de P.Linear d, como soluo tima, valores fracionrios. Assim sendo poderia ter acontecido que a resposta para o nosso exemplo fosse x 1 = 17, 96 e x2 = 14, 88. Mas x1 e x2 representam unidades de produtos. Como fabricar pedaos de produtos ? Ser que a soluo seria cortar a parte fracionria ? Isto poderia nos tirar do timo pois nem sempre o timo inteiro o timo fracionrio com a parte fracionria cortada. Como se resolve na prtica este tipo de problema ? Se as variveis de deciso representam bens cujo valor de mercado reduzido (uma mesa, por exemplo) trabalhamos com programao linear e simplesmente cortamos a parte fracionria dos valores timos. Se no entanto as variveis representam bens de alto valor (um avio, por exemplo), temos que trabalhar com Programao Linear Inteira acrescentando as restries de que as variveis tem de ser inteiras. Porque, para este tipo de modelo, no trabalhar sempre com P.Linear inteira ? Porque o processo de obteno da soluo tima muito mais lento que a P.Linear simples. d) Certeza Esta considerao implica em que todos parmetros do sistema so constantes conhecidas no se aceitando nenhuma incerteza de qualquer tipo. Se alguns dos parmetros tem qualquer nvel de incerteza a formulao como um modelo de P.Linear poder levar a resultados incorretos.

18

Introduo

1.8 Exemplos de formulao de modelos de Programao Linear


A) Em uma fazenda deseja-se fazer 10.000 Kilos de rao com o menor custo possvel. De acordo com as recomendaes do veterinrio dos animais da fazenda, a mesma deve conter: # 15% de protena. # Um mnimo de 8% de fibra. # No mnimo 1100 calorias por kilo de rao e no mximo 2250 calorias por kilo. Para se fazer a rao, esto disponveis 4 ingredientes cujas caractersticas tcnico-econmicas esto mostradas abaixo: (Dados em %, exceto calorias e custo) Protena Fibra Calorias/kg Custo/kg Cevada Aveia Soja Milho 6,9 8,5 9 27,1 6 11 11 14 1.760 1.700 1.056 1.400 30 48 44 56

A rao deve ser feita contendo no mnimo 20% de milho e no mximo 12% de soja. Formule um modelo de P.Linear para o problema. Soluo Variveis de deciso xi Kilos do ingrediente i a serem usados na rao (i=1 (Cevada), i=2 (Aveia), i=3 (Soja), i=4 (Milho)). (Min) Z = 30x1 + 48x2 + 44x3 + 56x4 s.a. x1 + x2 + x3 + x4 = 10000 (Quantidade de rao) 0, 069x1 + 0, 085x2 + 0, 09x3 + 0, 271x4 = 0, 15 10000 (Protena) 0, 06x1 + 0, 11x2 + 0, 11x3 + 0, 14x4 0, 08 10000 (Fibra) 1760x1 + 1700x2 + 1056x3 + 1400x4 1100 10000 (calorias) 1760x1 + 1700x2 + 1056x3 + 1400x4 2250 10000 (calorias) x4 0, 20 10000 (Milho) x3 0, 12 10000 (Soja) xi 0 B) Uma fbrica de papel recebeu 3 pedidos de rolos de papel com as larguras e comprimentos mostrados abaixo: Pedido Largura (cms) Comprimento (cms) 1 2 3 50 70 90 10.000 30000 20.000

1.8 Exemplos de formulao de modelos de Programao Linear

19

A fbrica tem que produzir os pedidos a partir de 2 rolos de tamanho padro que tem 100 e 200 centmetros de largura e comprimento muito grande (para efeitos prticos pode-se considerar infinito). Os rolos dos pedidos no podem ser emendados na largura embora possam ser emendados no comprimento. Deseja-se determinar como devem ser cortados os 2 rolos de tamanho padro para atender os pedidos, com o objetivo de que a perda de papel seja a mnima possvel. Formule um modelo de P.Linear para o problema. Soluo Para um melhor entendimento do problema, vamos mostrar uma soluo possvel para o problema: Rolo de 200 70 90 40 Rolo de 100 50 50

20.000

5.000

30.000

Esta soluo consistiria em cortar o 1o rolo padro (largura 100) em 2 tiras de 5.000 cms. Emendados no comprimento, atenderiam ao 1o pedido. Para atender o 2o e o 3o pedidos, o 2o rolo seria cortado conforme mostra o desenho. Dois tens importantes devem ser observados neste exemplo: A perda (a parte hachurada: 40 30000+90 10000 = 2100000 cm2 ) e que possvel ter perda com largura de pedido, ou seja, os 10000 cms cortados com largura 90 cms. Podemos construir uma tabela com os possveis padres de corte, lembrando que podemos desprezar os padres de corte em que a perda na largura ser igual ou maior que a menor largura de pedido (50 cms). Largura 50 70 90 Perda na largura Rolo de 100 cms 1 2 3 2 0 1 30 1 10 4 4 0 Rolo de 200 cms 5 6 7 8 9 2 1 30 2 1 10 1 2 10 1 1 40 2 20

Podemos agora definir as variveis de deciso: xi cms, cortados no comprimento, no padro i (i=1,2,. . . ,9) Si Sobra em cms, no comprimento, com largura de pedido (i=1 (50),i=2 (70), i=3 (90))

20

Introduo

O modelo fica como: (MIN) Z = 30x2 +10x3 +30x5 +10x6 +10x7 +40x8 +20x9 +50S1 +70S2 +90S3 s.a. 2x1 + 4x4 + 2x5 + 2x6 + x7 = 10000 + S1 (largura 50cms) x2 + x5 + 2x7 + x8 = 30000 + S2 (largura 70cms) x3 + x6 + x8 + 2x9 = 20000 + S3 (largura 90cms) Si, xi 0 C) O gerente de um restaurante que est encarregado de servir o almoo, em uma conveno, nos prximos 5 dias tem que decidir como resolver o problema do suprimento de guardanapos. As necessidades para os 5 dias so 110, 210, 190, 120 e 100 unidades respectivamente. Como o guardanapo de um tipo especial, o gerente no tem nenhum em estoque e suas alternativas durante os 5 dias so: Comprar guardanapos novos ao preo de $10 cada um. Mandar guardanapos j usados para a lavanderia onde eles podem receber 2 tratamentos: (a) Devoluo em 48 horas ao preo de $3 a pea. (b) Devoluo em 24 horas ao preo de $5 a pea. Considerando que o objetivo do gerente minimizar o custo total com os guardanapos formule um modelo de P.Linear para o problema. As seguintes observaes devem ser levadas em conta: O tempo da lavanderia considerado ser exato, ou seja, o guardanapo enviado as 15 horas de um dia volta as 15 horas do dia seguinte (servio de 24 horas) ou seja aps o almoo. Idem para o servio de 48 horas. Aps a conveno os guardanapos sero jogados no lixo. Soluo Variveis de deciso xi no de guardanapos a serem comprados no isimo dia yi no de guardanapos usados enviados, no isimo dia, para a lavanderia servio de 24 horas ti no de guardanapos usados enviados, no isimo dia, para a lavanderia servio de 48 horas Visando auxiliar a formulao do modelo vamos construir uma tabela mostrando as vrias fontes para se obter, a cada dia, guardanapos limpos : Origem Novo Lav. 24 horas Lav. 48 horas Total Necessrio 1 x1 2 x2 DIA 3 x3 y1 190 4 x4 y2 t1 120 5 x5 y3 t2 100

110

210

1.8 Exemplos de formulao de modelos de Programao Linear

21

As restries para a necessidade de guardanapos limpos so: x1 = 110 no precisa entrar no modelo x2 = 210 no precisa entrar no modelo x3 + y1 = 190 x4 + y2 + t1 = 120 x5 + y3 + t2 = 100 Para se definir as restries correspondentes as quantidades de guardanapos usados temos que definir uma outra varivel deciso: vi no de guardanapos usados que, no isimo dia, no so enviados para a lavanderia. Devemos nos lembrar que o timo no implica, necessriamente, em que todos os guardanapos usados sejam lavados. As restries ficam : v1 + y1 + t1 = 110 y2 + t2 + v2 = 210 + v1 y3 + v3 = 190 + v2 v4 = 120 + v3 v5 = 100 + v4 O modelo fica como: (MIN) Z = 10(x3 + x4 + x5 ) + 5(y1 + y2 + y3 ) + 3(t1 + t2 ) s.a. x3 + y1 = 190 x4 + y2 + t1 = 120 x5 + y3 + t2 = 100 v1 + y1 + t1 = 110 y2 + t2 + v2 = 210 + v1 y3 + v3 = 190 + v2 v4 = 120 + v3 v5 = 100 + v4 xi,yi,ti,vi 0

22

Introduo

D) A Motorauto S/A fabrica 3 modelos de automveis nas suas fbricas: Modelo de 1.100 cilindradas (c.c.), modelo de 1.400 c.c. e modelo de 1.800 c.c. Um conito trabalhista faz prever uma greve prolongada na fbrica 1 num futuro muito prximo. Para fazer face a esta situao, a direo da empresa decidiu preparar um plano excepcional de produo e vendas para o prximo perodo, pressupondo que no haver produo na fbrica 1 durante este perodo. Neste mesmo perodo, a capacidade de produo da fbrica 2 ser de 4.000 unidades de 1.100 c.c., ou 3.000 unidades de 1.400 c.c. ou 2.000 unidades de 1.800 c.c. ou qualquer combinao apropriada destes 3 modelos. Uma combinao apropriada pode ser, por exemplo, 2.000 unidades de 1.100 c.c. (50% da capacidade), 900 unidades de 1.400 c.c. (30% da capacidade) e 400 modelos de 1.800 c.c. (20% da capacidade). Analogamente a fbrica 3 tem capacidade para 3.000 modelos de 1.100 c.c. ou 8.000 modelos de 1.400 c.c. ou qualquer combinao apropriada destes 2 modelos, no sendo o modelo de 1.800 c.c. produzido nesta fbrica. Cada automvel de 1.100 c.c. vendido por $1.150, cada modelo de 1.400 c.c. vendido por $1.450 e cada modelo de 1.800 c.c. vendido por $1.800. O custo de produo na fbrica 2 de $875, $1.200 e $1.450 para cada unidade produzida dos modelos de 1.100 c.c., 1.400 c.c. e 1.800 c.c. respectivamente. Por sua vez o custo de produo na fbrica 3 de $900 para cada unidade produzida do modelo de 1.100 c.c. e de $1.100 para cada unidade do modelo de 1.400 c.c. A empresa assumiu compromissos que a obrigam a fornecer 1.000 unidades do modelo de 1.800 c.c. para exportao. Por outro lado, dada a queda na procura pelos modelos de 1.100 c.c. e 1.800 c.c., o departamento comercial estima em 1.000 e 2.500 unidades as vendas mximas destes 2 modelos, respectivamente. Como o modelo de 1.400 c.c. atualmente um grande sucesso comercial, no existe limitao para suas vendas. No incio do perodo, os estoques dos 3 modelos so de 200 unidades do modelo de 1.100 c.c., 600 unidades do modelo de 1.400 c.c. e 200 unidades do modelo de 1.800 c.c. possvel, dados os ltimos acordos assinados, importar da Argentina at 500 unidades do modelo de 1.100 c.c. Cada modelo importado custar $1.000. Considerando que o objetivo da Motorauto maximizar seus lucros, formule um modelo de P.Linear para o problema. Soluo Variveis de deciso x1 no de unidades do modelo de 1.100 c.c. a serem produzidas na fbrica 2. x2 no de unidades do modelo de 1.400 c.c. a serem produzidas na fbrica 2. x3 no de unidades do modelo de 1.800 c.c. a serem produzidas na fbrica 2. x4 no de unidades do modelo de 1.100 c.c. a serem produzidas na fbrica 3. x5 no de unidades do modelo de 1.400 c.c. a serem produzidas na fbrica 3. x6 no de unidades do modelo de 1.100 c.c. a serem importadas da Argentina. A funo objetivo uma funo de lucro sendo cada lucro individual calculado como a diferena entre o preo de venda e o custo de produo.

1.8 Exemplos de formulao de modelos de Programao Linear

23

O modelo do problema fica como: (MAX) Z = 275x1 + 250x2 + 350x3 + 250x4 + 350x5 + 150x6 s.a. x1 + x4 + x6 (1000 200) (modelo de 1.100 c.c.) x6 500 (modelo de 1.100 c.c.) x3 (1000 200) (modelo de 1.800 c.c.) x3 (2500 200) (modelo de 1.800 c.c.) x2 x3 x1 + + 1 (capacidade de produoFbrica 2) 4000 3000 2000 x4 x5 + 1 (capacidade de produoFbrica 3) 3000 8000 xi 0 E) Uma empresa responsvel pelo abastecimento semanal de um certo produto ao Rio de Janeiro e a So Paulo, pretende estabelecer um plano de distribuio do produto a partir dos centros produtores situados em Belo Horizonte, Ribeiro Preto e Campos. As quantidades semanalmente disponveis em B.Horizonte, R.Preto e Campos so 70, 130 e 120 toneladas respectivamente. O consumo semanal previsto deste produto de 180 toneladas no Rio e 140 toneladas em S.Paulo. Os custos de transporte, em $/ton, de cada centro produtor para cada centro consumidor est dado abaixo: Rio B.Horizonte R.Preto Campos 13 25 15 So Paulo 25 16 40

Considerando que o objetivo da empresa minimizar seu custo total de transporte, formule um modelo de P.Linear para o problema. Soluo Variveis de deciso xij Toneladas a serem transportadas da origem i (i=1 (B.Horizonte), i=2 (R.Preto), i=3 (Campos)) para o destino j (j=1 (Rio), j=2 (So Paulo)). O modelo fica como: (MIN) Z = 13x11 + 25x12 + 25x21 + 16x22 + 15x31 + 40x32 s.a. x11 + x12 = 70 (B.Horizonte) x21 + x22 = 130 (R.Preto) x31 + x32 = 120 (Campos) x11 + x21 + x31 = 180 (Rio) x12 + x22 + x32 = 140 (S.Paulo) xij 0

24

Introduo

1.9 Exerccios
A) Na produo de unidades de 4 tipos de produtos, so utilizadas 2 mquinas. O tempo utilizado na fabricao de cada unidade, de cada tipo de produto, em cada uma das 4 mquinas est dado na tabela abaixo: Tempo por unidade produzida (horas) Mquina Produto 1 Produto 2 Produto 3 Produto 4 1 2 2 3 3 2 4 1 2 2

O custo total de produo de uma unidade de cada produto diretamente proporcional ao tempo de uso da mquina. Considere que o custo por hora para as mquinas 1 e 2 so $10 e $15 respectivamente. O total de horas disponveis para todos os produtos nas mquinas 1 e 2 so 500 e 380 respectivamente. Se o preo de venda, por unidade, dos produtos 1, 2, 3 e 4 de $65, $70, $55 e $45, formule o problema como um modelo de P.Linear com o objetivo de maximizar o lucro lquido total. B) Uma companhia de aviao est considerando a compra de avies de passageiros de 3 tipos: de pequeno curso, de curso mdio e de longo curso. O preo de compra seria de $6,7M para cada avio de longo curso, $5M para avies de mdio curso e $3,5M para avies de pequeno curso. A diretoria autorizou um gasto mximo de $150M para estas compras, independentemente de quais avies sero comprados. As viagens areas em todos os tipos de avies, fazem prever que os avies andaro sempre lotados. Estima-se que o lucro anual lquido seria de $0,42M para cada avio de longo curso, $0,30M para avio de mdio curso e $0,23M para avio de pequeno curso. A companhia ter pilotos treinados para pilotar 30 novos avies. Se somente avies de pequeno curso forem comprados, a diviso de manuteno estaria apta a manter 40 novos avies. Cada avio de mdio curso gasta 1/3 a mais de manuteno do que o dispendido por um avio de pequeno curso e o de longo curso 2/3 a mais. As informaes acima foram obtidas por uma anlise preliminar do problema. Uma anlise mais detalhada ser feita posteriormente. No entanto, usando os dados acima como uma primeira aproximao, a diretoria da empresa deseja conhecer quantos avies de cada tipo deveriam ser comprados se o objetivo maximizar o lucro. Formule um modelo de P.Linear para este problema. (M = 1.000.000) C) Uma empresa tem 3 fbricas com ociosidade na produo. Todas as 3 fbricas tem capacidade de produzir um certo produto e a gerncia decidiu usar uma parte da ociosidade na produo deste produto. O produto pode ser feito em 3 tamanhos: grande, mdio e pequeno, que do um lucro lquido de $12, $10 e $9 respectivamente. As fbricas 1, 2 e 3 tem capacidade de fabricar 500, 600 e 300 unidades do produto respectivamente, independentemente do tamanho a ser produzido. H, no entanto, limitao do espao para estocagem. As fbricas 1, 2 e 3 tem 9000, 8000 e 3500 m2 de rea para estocagem respectivamente. Cada unidade de tamanho grande, mdio e pequeno necessita de 20, 15 e 12

1.9 Exerccios

25

m2 respectivamente. O Departamento de Vendas indicou que 600, 800 e 500 unidades dos tamanhos grande, mdio e pequeno, respectivamente, podem ser vendidas por dia. De maneira a manter uma certa uniformidade, a gerencia decidiu que a percentagem do uso das capacidades ociosas das 3 fbricas devem ser iguais. A gerncia deseja saber quanto de cada tamanho deve ser produzido em cada fbrica de maneira que o lucro seja mximo. Formule um modelo de P.Linear para este problema. D) Um investidor pode investir dinheiro em duas atividades A e B disponveis no incio dos prximos 5 anos. Cada $1 investido em A no comeo de um ano retorna $1,40 (um lucro de $0,40) dois anos mais tarde (a tempo de imediato reinvestimento). Cada $1 investido em B no incio de um ano retorna $1,70, trs anos mais tarde. Existem ainda 2 atividades C e D que estaro disponveis no futuro. Cada $1 investido em C no incio do segundo ano retorna $2,00, quatro anos mais tarde. Cada $1 investido em D no comeo do quinto ano, retorna $1,30 um ano mais tarde. O investidor tem $10.000. Ele deseja conhecer como investir de maneira a maximizar a quantidade de dinheiro acumulado no incio do sexto ano. Formule um modelo de P.Linear para este problema. Considere que no h inao. E) Com seus conhecimentos do curso, um aluno calcula que poderia se preparar com perfeio para o exame de uma certa disciplina D1 em 20 horas de estudo intensivo. Para uma outra disciplina D2 ele precisa de 25 horas. Para passar, ele precisa obter no mnimo 50 pontos (num mximo de 100) em cada uma delas. Alm disso, ele deseja alcanar a maior mdia ponderada possvel, sendo 3 e 5 os pesos de D1 e D2 respectivamente. Ele dispe de apenas 30 horas para estudar. Formule o problema como um modelo de P.Linear, a fim de obter a distribuio das horas de estudo, considerando proporcionalidade entre o esforo e o rendimento de seus estudos. F) O Governo decidiu instalar em uma certa rea 3 indstrias: U1 , U2 e U3 . Trs localidades diferentes L1 , L2 e L3 foram selecionadas. As condies geoeconmicas (energia, comunicaes, etc...) variam de local para local. As indstrias tambm possuem caractersticas tcnicas distintas (custos operacionais, capacidade, tipo de produo, etc...). Um estudo preliminar levou a concluso que as eficincias relativas das diversas indstrias nas diferentes localidades so: L1 L2 L3 U1 U2 U3 1,5 0,8 2 1 0,6 0,7 2 2,5 1

Assim em L3 , por exemplo, U1 funcionaria 2 vezes mais eficientemente, do ponto de vista econmico, do que em L2 . O problema distribuir as 3 indstrias pelas 3 localidades (no mximo 1 indstria em cada localidade) da ma-

26 neira mais eficiente. Formule o problema como um modelo de P.Linear.

Introduo

G) Uma companhia deseja obter uma nova liga metlica com 30% de chumbo, 20% de zinco e 50% de estanho a partir de alguns minrios tendo as seguintes propriedades: MINRIOS Propriedades 1 2 3 4 5 % Chumbo % Zinco % Estanho Custo ($/kg) 30 60 10 8,5 10 20 70 6 50 20 30 8,9 10 10 80 5,7 50 10 40 8,8

O objetivo determinar as propores destes minrios que deveriam ser misturados para produzir a nova liga com o menor custo possvel. Formule este problema como um modelo de P.Linear. H) Uma famlia de fazendeiros possui 100 acres de terra e tem $30.000 em fundos disponveis para investimento. Seus membros podem produzir um total de 3.500 homens-hora de trabalho durante os meses de inverno e 4.000 homenshoras durante o vero. Se todos estes homens-horas no so necessrios, os membros mais jovens da famlia podem ir trabalhar em uma fazenda da vizinhana por $4,00 por hora durante o inverno e $4,50 por hora durante o vero. A famlia obtm renda com 3 colheitas e 2 tipos de criao de animais: vacas leiteiras e galinhas (para obter ovos). Nenhum investimento necessrio para as colheitas mas no entanto cada vaca necessita de um investimento de $900 e cada galinha de $7. Cada vaca necessita de 1,5 acre de terra, 100 homens-hora de trabalho no inverno e outros 50 homens-hora no vero. Cada vaca produzir uma renda lquida anual de $800 para a famlia. Por sua vez cada galinha no necessita de rea, requer 0,6 homens-hora durante o inverno e 0,3 homens-hora no vero. Cada galinha produzir uma renda lquida de $5 (anual). O galinheiro pode acomodar um mximo de 3.000 galinhas e o tamanho dos currais limita o rebanho para um mximo de 32 vacas. As necessidades em homens-hora e a renda lquida anual, por acre plantado, em cada uma das 3 colheitas esto mostradas abaixo: Soja Milho Feijo Homenshora no inverno Homenshora no vero Renda anual lquida ($) 20 50 375 35 75 550 10 40 250

A famlia deseja maximizar sua renda anual. Formule este problema como um modelo de P.Linear.

1.9 Exerccios

27

I) Um avio de carga tem 3 compartimentos para armazenar carga: frente, centro e traseira. Estes compartimentos tem limite de capacidade em termos de peso e espao, como mostrado abaixo: Compartimento Frente Centro Traseira Capacidade peso (ton) 8 12 7 Capacidade espao (m3 ) 140 200 85

Alm disto, os pesos das cargas em cada compartimento devem manter a mesma proporo em relao a capacidade de cada compartimento, a fim de manter o equilbrio do avio. As 4 cargas abaixo esto disponveis para carregar um determinado vo: Carga 1 2 3 4 Peso (ton) 14 11 18 9 Volume (m3 /ton) 14 20 17 11 Lucro ($/ton) 100 130 115 90

As cargas podem ser divididas em pedaos de qualquer peso e tamanho. O objetivo determinar quanto de cada carga deveria ser aceita e como distribula entre os compartimentos do avio de maneira a maximizar o lucro total do vo. Formule este problema como um modelo de P.Linear. J) Para um bar que funciona 24 horas por dia, a seguinte quantidade de empregados necessria: Hora do dia 26 6 10 10 14 14 18 18 22 22 2 No mnimo de empregados 4 8 10 7 12 4

Cada empregado trabalha 8 horas consecutivas por dia. O objetivo achar o menor nmero necessrio de empregados de modo que a necessidade mnima acima seja obedecida. Formule o problema como um modelo de P.Linear.

28

Introduo

K) Uma fbrica descontinuou a produo de um produto que no estava dando lucro. Isto criou uma considervel capacidade de produo ociosa. A gerncia est considerando em usar esta capacidade ociosa em um ou mais, de 3 produtos, os quais chamaremos de produtos 1, 2 e 3. A capacidade disponvel das mquinas que poderiam limitar a sada est dada na tabela abaixo: Tipo de Mquina A B C Tempo disponvel (em mquinashora por semana) 500 350 150

O nmero de mquinas-hora necessrias para cada produto : Tipo de Mquina A B C Produto 1 9 5 3 Produto 2 3 4 0 Produto 3 5 0 2

O Departamento de Vendas indicou que o potencial de vendas para os produtos 1 e 2 excedem a taxa mxima de produo e que o potencial de vendas para o produto 3 de 20 unidades por semana. O lucro unitrio seria de $30, $12 e $15 respectivamente para os produtos 1, 2 e 3. Quanto se deve fabricar dos produtos 1, 2 e 3 de maneira que o lucro seja mximo. Formule o problema como um modelo de P.Linear.

1.10 Respostas dos exerccios da seo 1.9

29

1.10 Respostas dos exerccios da seo 1.9


Exerccio A xi Unidades do produto i a serem produzidas (MAX) Z = 10x2 5x4 s.a 2x1 + 3x2 + 4x3 + 2x4 500 3x1 + 2x2 + x3 + 2x4 380 xi 0 Exerccio B x1 no de avies de longo curso a serem comprados x2 no de avies de mdio curso a serem comprados x3 no de avies de pequeno curso a serem comprados (MAX) Z = 0, 42x1 + 0, 30x2 + 0, 23x3 s.a 6, 7x1 + 5x2 + 3, 5x3 150 x1 + x2 + x3 30 4 5 x +3 x2 + x3 40 3 1 xi 0 Exerccio C xij quantidade a ser produzida do tamanho j (j=g,m,p) na fbrica i (i=1,2,3) (MAX) Z = 12x1g + 10x1m + 9x1p + 12x2g + 10x2m + 9x2p + 12x3g + 10x3m + 9x3g s.a. x1g + x1m + x1p 500 x2g + x2m + x2p 600 x3g + x3m + x3p 300 20x1g + 15x1m + 12x1p 9000 20x2g + 15x2m + 12x2p 8000 20x3g + 15x3m + 12x3p 3500 x1g + x2g + x3g 600 x1m + x2m + x3m 800 x1p + x2p + x3p 500 x1g +x1m +x1p 2m +x2p 3m +x3p = x2g +x = x3g +x 500 600 300 xij 0 Exerccio D Xt $ investido na atividade X(X=A,B,C e D) no perodo t(t=1,2,3,4,5) Rt $ no investido no perodo t(t=1,2,3,4,5) (MAX) Z = 2C2 + 1, 7B3 + 1, 4A4 + 1, 3D5 + R5 s.a. A1 + B1 + R1 = 10000 R1 + A2 + B2 + C2 + R2 = 0 1, 4A1 R2 + A3 + B3 + R3 = 0 1, 7B1 1, 4A2 R3 + A4 + R4 = 0 1, 7B2 1, 4A3 R4 + D5 + R5 = 0 Xt, Rt 0

30

Introduo

Exerccio E Cada hora de estudo na disciplina D1 garante ao aluno 5 pontos. Para a disciplina D2 o rendimento de 4 pontos por hora. X no de horas que o aluno estudar D1 . Y no de horas que o aluno estudar D2 . 3X + 5Y (MAX) Z = 8 s.a. X + Y = 30 5X 50 4Y 50 X, Y 0 Exerccio F xij indstria Ui instalada na cidade Lj . (MAX) Z = 1, 5x11 + x12 + 2x13 + 0, 8x21 + 0, 6x22 + 2, 5x23 + 2x31 + 0, 7x32 + x33 s.a. x11 + x12 + x13 = 1 x21 + x22 + x23 = 1 x31 + x32 + x33 = 1 x11 + x21 + x31 = 1 x12 + x22 + x32 = 1 x13 + x23 + x33 = 1 Xij = 0 ou 1 Exerccio G xi frao de 1 kilo do minrio i usada na produo de 1 kilo da nova liga. (MIN) Z = 8, 5x1 + 6x2 + 8, 9x3 + 5, 7x4 + 8, 8x5 s.a. x1 + x2 + x3 + x4 + x5 = 1 0, 3x1 + 0, 1x2 + 0, 5x3 + 0, 1x4 + 0, 5x5 = 0, 3 0, 6x1 + 0, 2x2 + 0, 2x3 + 0, 1x4 + 0, 1x5 = 0, 2 0, 1x1 + 0, 7x2 + 0, 3x3 + 0, 8x4 + 0, 4x5 = 0, 5 xi 0 Observe que a 1a restrio redundante pois a soma das outras 3. Exerccio H xi (i = 1, 2, 3) acres plantados com soja, milho e feijo, respectivamente. xi (i = 4, 5) no de vacas e galinhas, respectivamente. xi (i = 6, 7) excesso de homens-hora no inverno e vero, respectivamente. (MAX) Z = 375x1 + 550x2 + 250x3 + 800x4 + 5x5 + 4x6 + 4, 5x7 s.a. x1 + x2 + x3 + 1, 5x4 100 900x4 + 7x5 30000 20x1 + 35x2 + 10x3 + 100x4 + 0, 6x5 + x6 = 3500 50x1 + 75x2 + 40x3 + 50x4 + 0, 3x5 + x7 = 4000 x4 32 x5 3000 xi 0

1.10 Respostas dos exerccios da seo 1.9

31

Exerccio I xij toneladas de carga i (i = 1, 2, 3, 4) armazenadas no compartimento j (j = 1, 2, 3) onde 1(frente), 2(centro) e 3(traseira). (MAX) Z = 100(x11 + x12 + x13 ) + 130(x21 + x22 + x23 ) + 115(x31 + x32 + x33 ) + 90(x41 + x42 + x43 ) s.a. x11 + x12 + x13 14 x21 + x22 + x23 11 x31 + x32 + x33 18 x41 + x42 + x43 9 x11 + x21 + x31 + x41 8 x12 + x22 + x32 + x42 12 x13 + x23 + x33 + x43 3 14x11 + 20x21 + 17x31 + 11x41 140 14x12 + 20x22 + 17x32 + 11x42 200 14x13 + 20x23 + 17x33 + 11x43 85 x11 + x21 + x31 + x41 x12 + x22 + x32 + x42 x13 + x23 + x33 + x43 = = 8 12 7 xij 0 Exerccio J xj no de empregados comeando no incio do perodo j (j = 1, 2, ..., 6). (MIN) Z = x1 + x2 + x3 + x4 + x5 + x6 s.a. x1 + x6 4 x1 + x2 8 x2 + x3 10 x3 + x4 7 x4 + x5 12 x5 + x6 4 xj 0 Exerccio K (MAX) Z = 30x1 + 12x2 + 15x3 s.a 9x1 + 3x2 + 5x3 500 5x1 + 4x2 350 3x1 + 2x3 150 x3 20 xi 0

32

Introduo

Captulo 2
O Mtodo Simplex

O chamado Mtodo Simplex foi apresentado por George B. Dantzig, um matemtico americano, em 1947. Nos anos seguintes o prprio Dantzig e outros matemticos foram aperfeioando-o, principalmente visando torn-lo mais eficiente do ponto de vista computacional. Estas melhorias no entanto no mudaram a sua essncia e, embora novos mtodos tenham surgido no final da dcada de 80, o Simplex ainda o algortimo mais usado para resolver modelos de P.Linear e, provavelmente, o mais usado de todos os algortimos matemticos.

2.1 Definies bsicas


Soluo qualquer atribuio de valores para as variveis de deciso do modelo. Soluo Praticvel qualquer soluo em que nenhuma das restries do modelo violada. Soluo Impraticvel qualquer soluo em que pelo menos uma das restries do modelo violada. Soluo Bsica Dado um conjunto de m equaes linearmente independentes e n incgnitas, onde n > m, se define como soluo bsica a soluo para o conjunto de equaes em que (n m) variveis so feitas iguais a 0 e as restantes so obtidas da resoluo do sistema de equaes. Exemplo: Seja o sistema abaixo: x1 + x2 + 3x3 x4 + x5 = 6 x1 + 2x2 + 2x3 x4 + 2x5 = 2 temos m = 2 e n = 5. Cada soluo bsica ter (52) = 3 variveis iguais a 0, por exemplo x3 ,x4 e x5 e (5 3) = 2 obtidas da resoluo do sistema, ou seja, x1 = 10 e x2 = 4. bvio que variando-se as variveis feitas iguais a zero teremos novas solues bsicas. O nmero de solues bsicas que podem ser obtidas vem da frmula : n m = n! m!(n m)!

34

O Mtodo Simplex

As variveis diferentes de 0 so chamadas de variveis bsicas e as iguais a 0 so chamadas de variveis no bsicas. Soluo bsica degenerada: uma soluo bsica em que pelo menos uma das variveis bsicas igual a 0. Esta varivel chamada de varivel bsica degenerada. Variveis de Folga: So variveis que so acrescentadas as inequaes para transform-las em equaes. Denominaremos as variveis de folga de Fi, onde i o ndice da varivel. Exemplo: 2x1 80 2x1 + F1 = 80

2.2 Um mtodo no muito eficiente


Vamos voltar ao nosso exemplo: (MAX) Z = 20x1 + 60x2 s.a. 70x1 + 70x2 4900 90x1 + 50x2 4500 2x1 80 3x2 180 x1 ,x2 0 Vamos acrescentar variveis de folga as 4 restries do modelo: (1) 70x1 + 70x2 + F1 = 4900 (2) 90x1 + 50x2 + F2 = 4500 (3) 2x1 + F3 = 80 (4) 3x2 + F4 = 180 Temos um sistema de equaes lineares com 4 (m) equaes e 6 (n) variveis. Deste sistema podemos obter: 6! = 15 solues bsicas. 4!2! importante observar que as variveis de folga, includas no exemplo, tem um significado fsico relacionado com o modelo apresentado. Assim F1, por exemplo, representa o nmero de kilos da matria prima tipo A que no sero utilizadas na fabricao dos produtos tipos I e II. Em resumo, embora tenham sido usadas para transformar inequaes em equaes, as variveis de folga tem um significado fsico relacionado com o problema sendo modelado. Outro ponto a ser mencionado que, como x1 e x2 so >= 0, as variveis de folga tambm s podem ser >= 0. Logo todas as variveis so >= 0. Voltando ao exemplo prottipo podemos encontrar as 15 solues bsicas do sistema de equaes lineares formado pelas restries, acrescidas das suas respectivas variveis de folga. Cada soluo bsica ser obtida escolhendo-se 2 variveis e fazendo-as iguais a 0 e resolvendo-se o sistema para as 4 variveis restantes. Aplicando-se esta regra, obtemos as 15 solues bsicas:

2.2 Um mtodo no muito eficiente

35 Z 0 3600 800 3200 3800 1880

no No bsicas Bsicas Condio 1 x1 = 0 x2 = 0 F1 = 4900 F2 = 4500 F3 = 80 F4 = 180 Praticvel 2 x1 = 0F1 = 0 x2 = 70 F2 = 1000 F3 = 80 F4 = 30 Impraticvel 3 x1 = 0 F2 = 0 x2 = 90 F3 = 80 F4 = 90 F1 = 1400 Impraticvel 4 x1 = 0 F3 = 0 0 = 80 Impossvel 5 x1 = 0 F4 = 0 F3 = 80 x2 = 60 F1 = 700 F2 = 1500 Praticvel 6 x2 = 0 F1 = 0 F3 = 60 F2 = 1800 F4 = 180 x1 = 70 Impraticvel 7 x2 = 0 F2 = 0 F3 = 20 F1 = 1400 x1 = 50 F4 = 180 Impraticvel 8 x2 = 0 F3 = 0 F1 = 2100 F2 = 900 x1 = 40 F4 = 180 Praticvel 9 x2 = 0 F4 = 0 0 = 180 Impossvel 10 F1 = 0 F2 = 0 x1 = 25 x2 = 45 F3 = 30 F4 = 45 Praticvel 11 F1 = 0 F3 = 0 x1 = 40 x2 = 30 F2 = 600 F4 = 90 Impraticvel 12 F1 = 0 F4 = 0 x1 = 10 x2 = 60 F3 = 60 F2 = 600 Praticvel 13 F2 = 0 F3 = 0 x1 = 40 x2 = 18 F1 = 840 F4 = 126 Praticvel 14 F2 = 0 F4 = 0 x1 = 16.7 x2 = 60 F3 = 46.7 F1 = 466.6 Impraticvel 15 F3 = 0 F4 = 0 x1 = 40 x2 = 60 F1 = 2100 F2 = 2100 Impraticvel Podemos observar na soluo grfica cada uma das 15 solues bsicas. Como o modelo de 2 variveis de deciso (x1 , x2 ), cada soluo bsica a interseco de 2 restries. Podemos inclusive observar que 2 das solues (4 e 9) so a interseco de 2 paralelas que se interceptam no infinito. x2 R (x1 > 0) R2 3 2 14 5 12 4 R3 15 10 11 13 1 8 7 6 R1 Como podemos observar, a soluo bsica no 12 a soluo tima (como vimos na soluo grfica). Ter sido simples coincidncia o fato da soluo tima ser uma das solues bsicas ? No simples coincidncia pois pode-se provar que: R (x2 > 0) x1 9 R4

36

O Mtodo Simplex

Se um modelo de Programao linear possui uma nica soluo tima, ento ela uma soluo bsica do sistema de equaes lineares formado pelas restries do modelo acrescidas das suas respectivas variveis de folga. No grfico podemos observar que a soluo tima s pode ser um dos vrtices (pontos extremos) do espao soluo pois eles so justamente as solues bsicas praticveis. Isto vem do fato de que o espao soluo sempre um conjunto convexo onde cada soluo bsica a interseco de tantas restries quantas forem as variveis de deciso do modelo (duas, x1 e x2 no nosso caso). No caso de termos mais de uma soluo tima, teremos sempre um no infinito de solues timas pois sero timos todos os pontos que unem 2 vrtices (pontos extremos) adjacentes, ou seja, todos os pontos de um dos lados do espao soluo. Os 2 postulados acima nos levam a concluso de que um modelo de programao linear s pode ter 2 tipos de solues timas: ou ela nica, ou seja, um nico ponto, ou tem um nmero infinito de pontos timos. Assim, impossvel existir um modelo de programao linear que tenha, por exemplo, 5 solues timas. Com o que j vimos, parece que para achar a soluo tima de um modelo de Programao Linear basta encontrar as solues bsicas do sistema de equaes lineares formado pelas suas restries, e escolher a melhor, em funo do objetivo, dentre as praticveis. Um exemplo, no entanto, nos mostra que este mtodo totalmente impraticvel. Vamos supor que temos um modelo com 50 restries e 100 variveis. importante ressaltar que um modelo deste tamanho apenas um modelo de programao linear de tamanho de pequeno para mdio. Quantas solues bsicas teramos que encontrar ? 100! = 1029 , levaria-se anos mesmo usando-se os computadores mais velozes. 50!50! Veremos a seguir que o mtodo simplex examina apenas um no muito pequeno destas solues bsicas para encontrar a soluo tima. Vamos ver mais uma definio: Soluo bsica praticvel adjacente: Duas solues bsicas praticveis so adjacentes se elas diferem por apenas uma varivel no bsica (bviamente, como o total de varveis a soma das no bsicas com as bsicas, elas diferem tambm por uma varivel bsica). Assim, bsicas a seguir, so adjacentes: as solues F = 4900 F = 2100 1 1 F2 = 4500 x1 = 0 F2 = 900 F3 = 0 VB VNB e VNB F3 = 80 x2 = 0 x1 = 40 x2 = 0 F4 = 180 F4 = 180 O no de solues bsicas praticveis adjacentes cada soluo bsica igual ao nmero de variveis de deciso do modelo (duas, x1 e x2 no nosso caso). Assim, como pode ser visto no grfico onde so mostradas as solues bsicas, a soluo no 1 tem duas adjacentes: a no 5 e a no 8.

2.2 Um mtodo no muito eficiente

37

O Simplex est baseado na seguinte propriedade, cuja prova no mostraremos aqui mas que pode ser encontrada em diversos textos: Se uma soluo bsica melhor que as suas adjacentes, ento ela a soluo tima. Com base nesta propriedade podemos definir as etapas bsicas do mtodo Simplex: 1. Obter uma soluo bsica praticvel inicial. Esta soluo obtida fazendo-se as variveis de deciso como variveis no bsicas, ou seja, iguais a 0. As variveis bsicas sero as variveis de folga. 2. Dada uma soluo bsica testar se ela melhor que suas adjacentes. Se for, a soluo tima. 3. Se no for ir para a melhor soluo bsica adjacente e voltar a etapa 2. Vamos aplicar ento o simplex ao nosso exemplo: (MAX) Z = 20x1 + 60x2 s.a. 70x1 + 70x2 4900 90x1 + 50x2 4500 2x1 80 3x2 180 x1 ,x2 0 Vamos introduzir as variveis de folga e numerar as equaes: (0) Z 20x1 60x2 = 0 (1) 70x1 + 70x2 + F1 = 4900 (2) 90x1 + 50x2 + F2 = 4500 (3) 2x1 + F3 = 80 (4) 3x2 + F4 = 180 Esta forma de um modelo de P.Linear (na verdade um sistema de equaes lineares) chamada de forma padro (standard). Todas as equaes so de igualdade e todas as constantes do lado direito so 0. Como vemos temos um sistema de equaes lineares com 5 equaes e 7 variveis. Cada soluo bsica ter 7 5 = 2 variveis no bsicas iguais a 0. O valor das 5 restantes obtido da resoluo do sistema de equaes lineares depois de se zerar as variveis no bsicas. No simplex a soluo bsica inicial obtida fazendo-se como variveis no bsicas (iguais a 0) as variveis de deciso (x1 e x2 no nosso caso). bsica inicial : Assim, a soluo F = 4900 1 x1 = 0 F2 = 4500 VNB VB x2 = 0 F3 = 80 F4 = 180 Z=0 Embora Z seja uma varivel bsica, ela colocada fora do colchete de variveis bsicas. Veremos mais adiante porque.

38

O Mtodo Simplex

Olhando agora com mais ateno podemos reparar em mais uma caracterstica da forma padro: varivel bsica s aparece uma nica vez, ou seja, em uma nica equao com coeficiente igual a 1. Qual a vantagem disto ? A vantagem que ao se eliminar as variveis no bsicas (porque so iguais a zero), obtemos, diretamente, o valor numrico das variveis bsicas. Durante o simplex, nas sucessivas solues bsicas que sero obtidas, trabalharemos sempre usando esta forma padro para aproveitar esta propriedade. Como temos uma soluo bsica, temos que testar se ela a soluo tima. Para ser a tima ela tem que ser melhor que as suas adjacentes. Estudando a soluo bsica em questo, vemos que ela tem 2 adjacentes: uma em que x1 sairia do time de no bsicas (bviamente uma bsica teria que sair do time de bsicas) e outra em que x2 sairia do time de no bsicas. importante entender que, por exemplo, x1 sair do time de no bsicas, ou seja das iguais a zero, implica em ela se tornar bsica, ou seja, maior que 0 (vamos ignorar aqui o fato de que, excepcionalmente, ela pode ser degenerada). Vamos escrever a funo objetivo em funo das variveis de deciso: (0) Z = 20x1 + 60x2 O que observamos que se x1 se tornar bsica o valor de Z vai aumentar (20 unidades por unidade de x1 ), ou seja vai melhorar a funo objetivo. Isto mostra que a adjacente atual soluo bsica, ou seja aquela em que x1 bsica melhor que a soluo atual. Podemos afirmar ento, que a atual soluo no tima pois pelo menos uma adjacente melhor. Vamos examinar se a outra adjacente, ou seja aquela em x2 vai se tornar bsica tambm melhora o valor da funo objetivo. Como podemos ver acima, para cada unidade que x2 assuma, a funo objetivo aumenta de 60 unidades. Esta adjacente tambm melhor que a soluo atual! A etapa 2 do mtodo simplex diz que se a atual soluo bsica no tima, deve-se ir para a melhor adjacente. Matemticamente impossvel saber, a no ser em problemas pequenos, qual a melhor adjacente. O que na verdade ns fazemos, ir para aquela adjacente que aparenta dar o maior ganho para o valor de Z . No nosso caso a melhor adjacente aparente aquela em que x2 passaria a ser bsica pois para cada unidade de x2 , temos um aumento de 60 em Z contra um aumento de 20 no caso de x1 . importante deixar claro que o mtodo simplex funciona, ou seja vai levar-nos a soluo tima, independente da escolha a ser feita. A razo de termos escolhido a que aparenta dar maior ganho prende-se unicamente ao desejo de se fazer, principalmente quando se trabalha manualmente, o mnimo de iteraes. Via de regra, embora no obrigatoriamente, quando se escolhe a que d maior ganho este desejo atendido. Escolhemos ento x2 como a varivel que vai se tornar bsica ou, em outras palavras, a varivel que vai entrar na base. Ela chamada de varivel entrante. Resumindo temos: Candidatas varivel entrante (so sempre as no bsicas): x1 e x2 . Varivel entrante: x2

2.2 Um mtodo no muito eficiente

39

Como x2 vai entrar na base, ou seja se tornar bsica, uma das atuais variveis bsicas vai ter que deixar de ser bsica ou em outras palavras, sair da base. Esta varivel chamada de varivel sainte. As candidatas varivel sainte (sempre as variveis bsicas) so: F1 , F2 , F3 e F4 . Neste ponto fica claro porque no colocamos Z no colchete das variveis bsicas. Mesmo sendo uma varivel bsica, Z nunca levada em conta como candidata varivel sainte pois ela o objetivo. No teria sentido tir-la da base, transformandoa em varivel no bsica igual a 0. Como escolher a varivel sainte ? Vamos escrever as restries em funo das candidatas a varivel sainte: (1) F1 = 4900 70x1 70x2 (2) F2 = 4500 90x1 50x2 (3) F3 = 80 2x1 (4) F4 = 180 3x2 Na anlise que vamos fazer podemos eliminar x1 . Porque ? porque x1 varivel no bsica e no a entrante, ou seja vai permanecer como no bsica, igual a 0. Temos ento: (1) F1 = 4900 70x2 (2) F2 = 4500 50x2 (3) F3 = 80 (4) F4 = 180 3x2 Neste momento, temos que ter ateno em 2 pontos: o 1o que estamos trabalhando em um sistema de equaes lineares e, obviamente, o valor de cada varivel est relacionado ao valor das demais variveis. O 2o que, como vimos anteriormente, todas as variveis (exceto Z ) s podem ser 0. Em outras palavras a nica varivel que pode assumir valores negativos Z . Como x2 a varivel entrante e cada unidade que ela assumir vai aumentar o Z em 60, queremos que x2 assuma o maior valor possvel. No entanto este valor est condicionado a que nenhuma outra varivel se torne negativa. Na equao (1) acima, vemos que x2 pode ir at 70 antes que F1 se torne negativa. J na equao (2), x2 s pode ir at 90 pois, acima disto, F2 se tornaria negativa. Pela equao (3) poderamos levar x2 at o . Finalmente na (4) observamos que x2 poderia ir at 60. A equao (4) que limita o valor mximo de x2 , ou seja x2 no pode passar de 60 pois quando ela atinge este valor, F4 chega a zero. Como F4 foi a varivel que chegou a zero primeiro quando tentvamos atribuir o maior valor possvel para x2 (a entrante), ela ser a varivel sainte. J temos ento o time de variveis bsicas e no bsicas da soluo bsica adjacente do que a que acabamos de testar. Teremos: melhor F 1 x1 = 0 F2 VNB VB F4 = 0 F 3 x2 Em um modelo pequeno como o que estamos aplicando o simplex, poder ser tentador se obter o valor numrico das variveis bsicas por simples substituio. Em

40

O Mtodo Simplex

modelos maiores este procedimento tornaria invivel a obteno da soluo tima. Por esta razo o simplex passa de uma soluo bsica para outra mantendo a estrutura padro que vimos anteriormente ou seja, varivel bsica aparecendo uma nica vez, no sistema de equaes lineares, com coeficiente igual a 1. Como x2 , a entrante, vai substituir F4 , a sainte, como varivel bsica, temos que construir um sistema linear equivalente em que x2 aparea em uma nica equao com coeficiente igual a 1 e no aparea nas demais equaes, ou seja tenha coeficiente igual a zero. Em que equao x2 vai aparecer com coeficiente igual 1 ? Naquela em que F4 , a sainte, aparecia com coeficiente igual a 1, ou seja a equao (4). Como fazer com que o coeficiente de x2 seja igual a 1 ? Basta dividir ambos os lados da equao por 3, obtendo: 1 (4) x2 + F4 = 60 3 Como eliminar x2 , ou seja fazer seu coeficiente igual a 0, da equao (0) ? Podemos usar 2 procedimentos: o 1o tirar o valor de x2 da nova equao (4) e substituir na equao (0); o 2o, mais elegante, aplicar a propriedade dos sistemas de equaes lineares que diz que um sistema no se altera quando somamos (ou subtramos) uma equao uma outra multiplicada por uma constante. Podemos ento multiplicar a nova equao (4) por 60 e somar a equao (0), obtendo: Z 20x1 60x2 = 0 60x2 + 20F4 = 3600 Z 20x1 + 20F4 = 3600 Para eliminar x2 da equao (1) usamos o mesmo procedimento, ou seja multiplicamos a nova equao (4) por 70 e somamos a equao (1), obtendo: 70x1 + 70x2 + F1 = 4900 70 70x2 F4 = 4200 3 70x1 + F1 70 3 F4 = 700 +

Processo semelhante para eliminarmos x2 da equao (2). Multiplicamos a nova (4) por 50 e somamos a equao (2), obtendo: 90x1 + 50x2 + F2 = 4500 50 50x2 F4 = 3000 3 90x1 + F2 50 3 F4 = 1500

2.2 Um mtodo no muito eficiente

41

Como na equao (3) o coeficiente de x2 j zero, no precisamos fazer qualquer transformao. A nova soluo bsica : (0) (1) (2) (3) (4) Z 20x1 + 20F4 = 3600 F4 = 700 3 50 F4 = 1500 90x1 + F2 3 2x1 + F3 = 80 x2 + 70x1 + F1 70

1 F4 = 60 3 F1 = 700 F2 = 1500 x1 = 0 VB VNB F3 = 80 F4 = 0 x2 = 60 Z = 3600 Mais uma vez podemos observar que, eliminadas as variveis no bsicas (= 0), obtemos, diretamente, o valor numrico das variveis bsicas. Temos que testar se esta nova soluo bsica melhor que as suas adjacentes, ou seja se ela a tima. Como antes, temos 2 solues adjacentes a esta: uma em que x1 passaria a varivel bsica e outra em que F4 voltaria ao time das bsicas. Vamos analisar a equao de Z : Z = 3600 + 20x1 20F4 Se x1 passar a bsica, o valor de Z , para cada unidade de x1 , aumentar de 20. Logo a atual soluo no tima: j descobrimos uma adjacente melhor. Vamos examinar a outra adjacente possvel, ou seja aquela em que F4 passaria a ser varivel bsica. Como todas as variveis, exceto Z , tem que ser 0, qualquer valor atribudo a F4 iria diminuir o valor de Z , logo esta alternativa pior que a atual soluo. Assim x1 a varivel entrante. Para escolher a sainte, vamos escrever as restries em funo das candidatas a varivel sainte, ou seja as atuais variveis bsicas: (1) (2) (3) (4) F1 = 700 70x1 + F4 3 50 F4 F2 = 1500 90x1 + 3 70

F3 = 80 2x1 x2 = 60 1 3 F4

42

O Mtodo Simplex

F4 no precisa ser levada em considerao pois no bsica, no a entrante e, portanto, vai continuar sendo igual a 0. Na equao (1) x1 pode ir at 10 antes de F1 se tornar negativa. Pela equao (2), x1 pode ir at 16,67. Na (3), x1 pode ser levado at 40 e pela equao (4), x1 poderia ir at o . O limite para o valor de x1 est na equao (1), logo F1 a que chega a zero primeiro e ser a varivel sainte. Temos que construir a nova soluo bsica em que x1 vai substituir F1 como varivel bsica. Assim, na equao (1), que era onde aparecia a sainte (F1 ), vamos fazer com que x1 aparea com coeficiente igual a 1, eliminando x1 das demais equaes. Para fazer com que x1 fique com coeficiente 1, vamos dividir, ambos os lados, a equao (1) por 70, obtendo: 1 1 (1) x1 + 70 F1 3 F4 = 10 Para eliminar x1 da equao (0) podemos tirar o valor de x1 da nova equao (1) e substituir na equao (0) ou podemos multiplicar a nova equao (1) por 20 e somar equao (0), obtendo: Z 20x1 + 20F4 = 3600 20 20 F1 F4 = 200 + 20x1 + 70 3 Z+ 20 40 F1 + F4 = 3800 70 3

Para eliminar x1 da equao (2), podemos multiplicar a nova equao (1) por 90 e somar a eq.(2), obtendo: 90x1 + F2 90x1 90 70 90 70 50 3 F4 = 1500 +

F1 + 30F4 = 900 40 3

F1 + F2 +

F4 = 600

Para eliminar x1 da equao (3), multiplicamos a nova equao (1) por 2 e somamos a equao (3), obtendo: 2x1 + F3 = 80 2 2 F1 + F4 = 20 2x1 70 3 2 70 F1 + F3 + 2 3 F4 = 60

2.3 Situaes que podem acontecer no Mtodo Simplex

43

A nova soluo bsica fica ento como: 20 40 F1 + F4 = 3800 70 3 1 1 F1 F4 = 10 (1) x1 + 70 3 90 40 (2) F1 + F2 + F4 = 600 70 3 2 2 (3) F1 + F3 + F4 = 60 70 3 1 (4) x2 + F4 = 60 3 x = 10 1 F2 = 600 F1 = 0 VB VNB F3 = 60 F4 = 0 x2 = 60 Z = 3800 Temos que testar se esta soluo a tima. Como antes, ela tem 2 adjacentes: uma em que F1 passaria a ser varivel bsica e outra em que F4 que seria a nova bsica. Vamos examinar a equao de Z : 40 20 F1 F4 Z = 3800 70 3 Como F1 e F4 s podem assumir valores 0, tanto uma opo quanto outra iriam diminuir o valor de Z se virassem variveis bsicas. Logo, a ltima soluo a soluo ser representada como: tima e pode x1 = 10 F1 =0 F2 = 600 VNB VB F4 = 0 F3 = 60 x2 = 60 Z = 3800 O * representa o valor timo da varivel. (0) Z+

2.3 Situaes que podem acontecer no Mtodo Simplex 2.3.1 Empate na escolha da varivel entrante
Suponha que em um modelo cujo objetivo seja maximizar Z , tenhamos, em determinada iterao, a seguinte equao (0): (0) Z 60x1 60x2 = 0 As variveis x1 e x2 so as candidatas a varivel entrante e para escolher uma delas escrevemos a equao como: Z = 60x1 + 60x2 .

44

O Mtodo Simplex

Tanto x1 quanto x2 do, por unidade, o mesmo ganho (60) para Z . Em resumo h um empate na escolha da varivel entrante e a escolha deve ser arbritria. No h como prever a escolha que minimizaria o nmero de iteraes a serem realizadas at se chegar a soluo tima.

2.3.2 Empate na escolha da varivel sainte


Seja a seguinte soluo bsica (em um modelo de maximizao): (0) (1) (2) (3) (4) Z 20x1 + 20F4 = 3600 70 F4 = 700 3 50 F4 = 900 90x1 + F2 3 70x1 + F1 2x1 + F3 = 80 x2 +

1 F4 = 60 3 F = 700 1 F2 = 1500 x1 = 0 VB VNB F3 = 80 F4 = 0 x2 = 60 Z = 3600 Reescrevendo a equao (0), Z = 3600 + 20x1 20F4 , podemos ver que x1 a varivel entrante. Para escolher a sainte, vamos explicitar as equaes em funo das candidatas, que so as variveis bsicas: (1) (2) (3) (4) F1 = 700 70x1 + F2 = 900 90x1 + F3 = 80 2x1 x2 = 60 1 70 3 50 3 F4 F4

F4 3 F4 pode ser desconsiderada por ser no bsica (= 0) e no a entrante. Na 1a podemos levar x1 at 10, na 2a tambm podemos lev-lo at 10. Na 3a at 40 e na 4a at . Temos ento um empate na escolha da varivel sainte: tanto F1 quanto F2 chegam a zero quando x1 chega a 10. Aqui tambm a escolha arbritria, mas vamos ver o que acontece na prxima soluo bsica. Escolhendo, arbritariamente, F1 como a sainte a prxima soluo fica como:

2.3 Situaes que podem acontecer no Mtodo Simplex

45

F4 = 3800 70 3 1 1 (1) x1 + F1 F4 = 10 70 3 40 90 F4 = 0 (2) F1 + F2 + 70 3 2 2 (3) F1 + F3 + F4 = 60 70 3 1 (4) x2 + F4 = 60 3 x = 10 1 F2 = 0 F1 = 0 VB VNB F3 = 60 F4 = 0 x2 = 60 Z = 3800 Observando o conjunto de variveis bsicas notamos que uma delas, F2 ou seja a no escolhida no empate, uma varivel bsica degenerada, ou seja, igual a zero. Sempre que houver empate entre n candidatas varivel sainte, aparecero, na prxima soluo bsica, n 1 variveis bsicas degeneradas. Este fato no afeta o mtodo e, caso a soluo no seja a tima, o simplex deve ser continuado normalmente, devendo as variveis degeneradas serem tratadas como variveis bsicas normais. Z+ Est provado (existem vrios modelos publicados) que o empate na escolha da varivel sainte, pode levar o simplex a entrar em loop, ou seja voltar a uma soluo por onde ele tenha passado. Como este fato rarssimo, os pacotes de computador que implementam o simplex, em seu processo default, simplesmente ignoram a possibilidade de que a soluo do modelo pode levar a um loop infinito. A incluso de rotinas (existem vrias) para contornar este problema onera muito, em termos de tempo, a obteno da soluo tima.

(0)

20

F1 +

40

46

O Mtodo Simplex

2.3.3 No existncia de varivel sainte


Suponha que na escolha da varivel sainte temos a seguinte situao: x1 a varivel entrante e F1 , F2 e F3 so as candidatas a varivel sainte. As restries, em funo das candidatas a sainte so: (1) F1 = 5 + x1 + 3x2 (2) F2 = 29 2x2 (3) F3 = 12 + 2x1 . At onde podemos levar x1 sem tornar negativa qualquer outra varivel ? Observe que x2 varivel no bsica, no entrante ou seja vai continuar como no bsica (= 0). Na 1a equao o valor de x1 , que s pode ser 0, pode ir at o que F1 no chegar a zero. Na equao (2) no aparece x1 . Logo qualquer valor que ele assumir (at o ) no vai inuenciar o valor de F2 . Pela 3a equao, tambm x1 pode ir at o que F3 no chegar a zero. Como vimos, o valor de x1 poder ir at o que nenhuma das candidatas a varivel sainte chegar a zero. Em outras palavras, no existe varivel sainte. Quando temos este caso, temos um modelo com soluo ilimitada ou seja Z = se o problema de maximizao ou Z = se o modelo de minimizao. No mundo real quando isto acontece porque o modelo tem algum erro na sua formulao pois no existe objetivo igual a na vida real.

2.3.4 Mltiplas (infinitas) solues timas


Seja o seguinte modelo de Programao Linear: (MAX) Z = 8x1 + 8x2 s.a. 2x1 + 2x2 12 2x1 + x2 9 x1 + 3x2 16 x1 ,x2 0 Resolvendo graficamente, temos: x2

Z = 24 Z = 16

B A

x1

2.3 Situaes que podem acontecer no Mtodo Simplex

47

Como as retas Z so paralelas a um dos lados do espao soluo, a reta de Z tima se confunde com o prprio lado do espao soluo e todos os pontos do segmento de reta (A B) so pontos timos. Como em um segmento de reta temos um no infinito de pontos temos um no infinito de solues timas. Como o simplex vai nos mostrar que temos infinitas solues timas ? Aplicando-se o simplex ao modelo temos: (0) Z 8x1 8x2 = 0 (1) 2x1 + 2x2 + F1 = 12 (2) 2x1 + x2 + F2 = 9 (3) x1 + 3x2 + F3 = 16 F = 12 1 x1 = 0 VB VNB F2 = 9 x2 = 0 F3 = 16 Z=0 Varivel entrante: x1 Varivel sainte: F2 Nova soluo bsica: (0) Z 4x2 + 4F2 = 36 (1) x2 + F1 F2 = 3 1 9 1 (2) x1 + x2 + F2 = 2 2 2 1 23 5 x2 F2 + F3 = (3) 2 2 2 F = 3 1 9 x2 = 0 x1 = VB VNB 2 F2 = 0 F3 = 23 2 Z = 36 Varivel entrante: x2 Varivel sainte: F1 Nova soluo bsica: (0) (1) (2) (3) Z + 4F1 = 48 x2 + F1 F2 = 3 x1 1 F1 + F2 = 3 2

5 F1 + 2F2 + F3 = 4 2 x = 3 2 F1 =0 VB VNB x1 = 3 F2 =0 F3 = 4 Z = 48 A soluo tima e o ponto A do grfico, ou seja um dos extremos do segmento de reta timo.

48

O Mtodo Simplex

Como o simplex nos indica que o modelo tem infinitas solues timas ? Se observarmos a equao de Z tima, Z + 4F1 = 48, podemos observar que ela tem uma caracterstica incomum: uma varivel no bsica, F2 , no aparece, ou seja tem coeficiente igual a 0, na equao. O fato de uma, ou mais, variveis no bsicas no aparecerem (coeficiente igual a 0) na equao (0) da soluo tima, indica que o modelo tem infinita solues timas. Como obt-las ? Podemos fazer com que F2 , a varivel no bsica que no aparece na equao de Z , seja varivel entrante. Como o seu coeficiente igual a 0, ela no vai alterar o valor timo de Z . Escolhemos a varivel sainte pelo processo normal e obtemos: Varivel entrante: F2 Varivel sainte: F3 Nova soluo bsica: (0) (1) (2) (3) Z + 4F1 = 48 x2 x1 + 1 4 3 4 F1 + F1 1 2 1 2 F3 = 5 F3 = 1

1 5 F1 + F2 + F3 = 2 2 4 x2 = 5 F1 =0 VB VNB x = 1 1 F3 = 0 F2 = 2 Z = 48 A nova soluo, que tambm tima, o ponto B do grfico, ou seja o outro extremo do segmento de reta. Como o nosso modelo um modelo de 2 variveis de deciso (x1 e x2 ), o lado do espao soluo um segmento de reta. Para se definir qualquer ponto de um segmento de reta precisamos de 2 pontos do segmento. O simplex nos deu os 2 pontos: A:(3,3) e B:(1,5). Como definir genericamente um ponto (a,b) do segmento de reta limitado pelos pontos (3,3) e (1,5) ? Cada ponto timo (a, b) deve obedecer a: (a, b) = 1 (3, 3) + 2 (1, 5) 1 + 2 = 1 1 , 2 0 Generalizando, se temos n pontos timos (p1 , p2 , . . . , pn), devemos ter: (a, b, . . . , n) = 1 p1 + 2 p2 + . . . + npn 1 + 2 + . . . + n = 1 i 0 Resumindo, em um modelo de P.Linear com n variveis de deciso e mltiplas (infinitas) solues timas temos que encontrar pelo Simplex n pontos timos. Qualquer combinao linear destes n pontos ser tambm um ponto timo pois ser um dos pontos do lado timo do espao soluo.

2.3 Situaes que podem acontecer no Mtodo Simplex

49

2.3.5 Modelos de Minimizao


Seja o seguinte modelo de programao linear: (MIN) Z = 3x1 + 6x2 2x3 + 4x4 s.a. x1 + 7x2 + 3x3 + 7x4 46 3x1 x2 + x3 + 2x4 8 2x1 + 3x2 x3 + x4 10 x1 , x2 , x3 , x4 0 Este um modelo de minimizao. O que muda no simplex quando o modelo de minimizao ? Muda o critrio de escolha da varivel entrante: Ser aquela que causar, por unidade, a maior diminuio no valor da funo objetivo (Z ). Muda o critrio de parada: A soluo ser tima quando nenhuma das candidatas varivel entrante diminuir o valor da funo objetivo (Z ) se ela passar a ser bsica (entrante). No muda o critrio da escolha da varivel sainte: Continua sendo o mesmo. Se for desejvel, possvel trabalhar somente com maximizao no Simplex. Para tanto, basta observar o grfico a seguir: F (x)

f (x) MIN f (x) x0 MAX f (x) f (x) x

O que podemos inferir deste grfico, considerando que f (x) e f (x) so recprocas ? O valor do mnimo de f (x) igual, em valor absoluto, ao valor do mximo de f (x). Tambm podemos observar que o valor, x0 , que minimiza f (x) e que maximiza f (x) o mesmo. Assim sendo, se quisermos achar o mnimo de f (x), podemos multiplicar por 1 e achar o mximo de f (x). No simplex podemos fazer a mesma coisa, qual seja multiplicar a funo objetivo por 1 e resolver por maximizao. Quando tivermos a soluo tima do problema de maximizao basta multiplicar o valor timo de Z por 1 para ter a soluo do modelo de minimizao. Os valores das variveis o mesmo para os 2 problemas. Exerccio: Resolver o modelo acima por minimizao e por maximizao. Resposta: Z = 16

50

O Mtodo Simplex

2.3.6 Modelos com variveis irrestritas em sinal


Como definido anteriormente, variveis irrestritas em sinal so variveis que podem assumir qualquer valor entre e +. Seja o modelo a seguir: (MIN) Z = 3x1 + 6x2 2x3 + 4x4 s.a. x1 + 7x2 + 3x3 + 7x4 46 3x1 x2 + x3 + 2x4 8 2x1 + 3x2 x3 + x4 10 x1 , x3 , x4 0 x2 irrestrita em sinal O Mtodo Simplex no admite variveis negativas, por esta razo impossvel trabalhar com o modelo acima sem transform-lo. Como resolver o problema ? Simplesmente lembrando que qualquer quantidade negativa pode ser representada como a diferena de 2 quantidades positivas. Assim, por exemplo, 4 pode ser a diferena entre +6 e +10. Aplicando esta deduo ao nosso modelo, substitumos x2 pela diferena de 2 variveis 0 em todo lugar onde x2 aparea. Vamos fazer x2 = x5 x6 . Nosso modelo fica ento como: (MIN) Z = 3x1 + 6x5 6x6 2x3 + 4x4 s.a. x1 + 7x5 7x6 + 3x3 + 7x4 46 3x1 x5 + x6 + x3 + 2x4 8 2x1 + 3x5 3x6 x3 + x4 10 x1 , x3 , x4 , x5 , x6 0 Na soluo tima para se obter o valor timo de x2 fazemos: x 2 = x5 x6 Exerccio:Resolver o modelo acima. Resposta: Z = 48 x 2 = 8 No devemos confundir uma varivel irrestrita em sinal com uma varivel, por exemplo x3 , para a qual exista uma restrio do tipo x3 4. Como esta varivel pode assumir alguns valores negativos, o que no permitido no simplex, temos que fazer uma substituio. Para isto criamos uma varivel no existente no modelo, por exemplo x5 , e fazemos com que x5 seja igual a x3 + 4. Temos ento x3 = x5 4. Substitumos, no modelo, cada x3 por x5 4, considerando x5 0. Resolvemos o simplex e o valor timo de x 3 ser igual x5 4

2.4 Outras formas de modelos - O Simplex de 2 fases

51

2.4 Outras formas de modelos - O Simplex de 2 fases


Seja o seguinte modelo de programao linear: (MAX) Z = 4x1 + 3x2 s.a. x1 + 2x2 = 10 6x1 + 6x2 40 x1 2 x2 0 Vamos resolver este modelo pelo simplex. Podemos escrever a equao de Z como: (0) Z 4x1 3x2 = 0 A 1a restrio tem uma particularidade: ela uma igualdade ! Sendo uma igualdade, ela no tem folga. Do ponto de vista do problema fsico, este fato lgico pois a restrio tem que ser satisfeita na igualdade. No entanto, para fazer o simplex, este fato causa um problema pois as variveis de folga so as variveis bsicas da soluo bsica inicial do simplex. Como precisamos de uma varivel para ser a bsica inicial, vamos criar uma varivel. Estas variveis, por no terem qualquer significado com o problema em si, so na verdade um artifcio matemtico, recebem o nome de Variveis Artificiais. Vamos rotular as variveis artificiais como Ai onde, por exemplo, A3 vai representar a varivel artificial colocada na restrio 3. Podemos ento introduzir a varivel artificial na nossa restrio, obtendo: (1) x1 + 2x2 + A1 = 10 Na 2a restrio, que tem o sinal , podemos colocar a varivel de folga: (2) 6x1 + 6x2 + F2 = 40 Na 3a restrio o sinal do tipo . Aqui no temos folga e sim uma eventual sobra se a restrio no for atendida na igualdade. Como todas as variveis, exceto Z tem que ser 0, temos que colocar uma varivel de folga com sinal para transformar a inequao em equao. Temos ento: (3) x1 F3 = 2 Aqui temos outro problema para o simplex: F3 no pode ser usada como varivel bsica inicial pois o seu valor seria igual a 2, o que o simplex no permite. Assim, para ser uma varivel bsica inicial, vamos introduzir tambm uma outra varivel artificial, obtendo: (3) x1 F3 + A3 = 2 O nosso sistema de equaes lineares tem ento a seguinte aparncia: (0) Z 4x1 3x2 = 0 (1) x1 + 2x2 + A1 = 10 (2) 6x1 + 6x2 + F2 = 40 (3) x1 F3 + A3 = 2 Temos no sistema 2 variveis artificiais: A1 e A3 . Como so artificiais, qual o valor que se espera que estas variveis tenham na soluo tima ? ZERO ! Se aplicarmos diretamente o simplex sobre o sistema acima, no teremos nenhuma garantia de que as variveis artificiais sero iguais a 0 na soluo tima.

52

O Mtodo Simplex

Na verdade um valor diferente de zero para qualquer destas variveis indicaria que o modelo no tem soluo praticvel pois qualquer valor (= 0) para uma varivel artificial indicaria uma soluo impraticvel. Para resolver isto vamos dividir o simplex em 2 fases: Na primeira vamos abandonar, provisoriamente, a funo objetivo original e criar uma outra funo objetivo, que chamaremos de W , visando minimizar o somatrio das variveis artificiais. Se a funo objetivo tima desta primeira fase for igual a zero, o modelo tem soluo pois as variveis artificiais foram zeradas e podemos ento partir para a 2a fase que objetivar otimizar a funo objetivo original. Voltando ao nosso exemplo, podemos criar a funo objetivo da fase I que ser: (MIN) W = A1 + A3 que, como j vimos, equivalente a (MAX) W = A1 A3 . Esta transformao de minimizao em maximizao no obrigatria e, obviamente, poderamos trabalhar com minimizao. O sistema de equaes lineares fica como: (0) W + A1 + A3 = 0 (1) x1 + 2x2 + A1 = 10 (2) 6x1 + 6x2 + F2 = 40 (3) x1 F3 + A3 = 2 Neste ponto devemos observar que as variveis A1 e A2 foram criadas para serem as variveis bsicas iniciais. Pela estrutura utilizada no simplex, variveis bsicas s devem aparecer uma nica vez com coeficiente igual a 1. Como podemos ver acima, A1 e A3 esto aparecendo, indevidamente, na equao (0). Assim, antes de comear o simplex temos que elimin-las de l. Mais uma vez, temos 2 formas de fazer isto: obter os valores de A1 e A3 das equaes (1) e (3) e substituir na equao (0) ou multiplicar as equaes (1) e (3) por 1 e som-las equao (0), obtendo: W + A1 + A3 = 0 x1 2x2 A1 = 10 x1 + F3 A3 = 2 W 2x1 2x2 + F3 = 12 A soluo bsica inicial fica ento como: (0) W 2x1 2x2 + F3 = 12 (1) x1 + 2x2 + A1 = 10 (2) 6x1 + 6x2 + F2 = 40 (3) x1 F3 + A3 = 2 A1 = 10 x1 = 0 VNB VB F2 = 40 x2 = 0 A3 = 2 F3 = 0 W = 12 Lembrando que o objetivo maximizar o valor de W , encontramos: Varivel entrante: x1 Varivel sainte: A3 +

2.4 Outras formas de modelos - O Simplex de 2 fases

53

Nova soluo bsica: (0) W 2x2 F3 + 2A3 = 8 (1) 2x2 + F3 + A1 A3 = 8 (2) 6x2 + F2 + 6F3 6A3 = 28 (3) x1 F3 + A3 = 2 A = 8 A = 0 1 3 VB VNB F2 = 28 x2 = 0 x1 = 2 F3 = 0 W = 8 Varivel entrante: x2 Varivel sainte: A1 Nova soluo bsica: (0) (1) (2) (3) W + A1 + A3 = 0 x2 + 1 2 F3 + 1 2 A1 1 2 A3 = 4

F2 + 3F3 3A1 3A3 = 4

x F3 + A3 = 2 1 x2 = 4 A3 = 0 VB VNB F2 = 4 A1 = 0 x1 = 2 F3 = 0 W =0 Chegamos ao timo da fase I e o valor de W zero ou seja conseguimos levar a zero as variveis artificiais. Se no timo da fase I o valor timo de W diferente de zero, ou seja o valor timo de uma ou mais variveis artificiais diferente de 0, significa que o modelo no tem soluo praticvel. Quando isto acontece porque no existe nenhum ponto que satisfaa a todas as restries ou, em outras palavras, o espao soluo o conjunto vazio. Como este no foi o caso do nosso exemplo, podemos passar para a fase II. Para fazer isto, eliminamos a equao de W e todas as variveis artificiais. Trazemos de volta a funo objetivo original, ficando nosso sistema como: (0) (1) (2) Z 4x1 3x2 = 0 x2 + 1 F3 = 4 2

F2 + 3F3 = 4

(3) x1 F3 = 2 Como x1 e x2 so variveis bsicas, elas tem que ser eliminadas da equao de Z .

54

O Mtodo Simplex

Podemos tirar o valor de x1 da equao (3) e de x2 da equao (1) e substituir na equao (0). Podemos tambm multiplicar as equaes (1) e (3) por 3 e 4 e somar a equao de Z . Temos ento: Z 4x1 3x2 = 0 3 3x2 + F3 = 12 2 4x1 4F3 = 8 5 2

F3 = 20

A soluo bsica inicial da fase II fica como: (0) (1) (2) (3) F3 = 20 2 1 x2 + F3 = 4 2 F2 + 3F3 = 4 Z 5

x F3 = 2 1 x = 4 2 VNB F3 = 0 VB F2 = 4 x1 = 2 Z = 20 Lembrando que o objetivo maximizar o valor de Z , temos: Varivel entrante: F3 Varivel sainte: F2 A nova soluo bsica fica como: 6 1 (1) x2 F2 6 1 (2) F2 + F3 3 1 (3) x1 + F2 3 10 x = 2 3 4 VB F3 = 3 10 x 1 = 3 70 Z = 3 (0) Z+ 5 F2 = 70 3 10 = 3 4 = 3 10 = 3 VNB

F2 =0

A soluo tima !

2.5 Novos algortimos

55

2.5 Novos algortimos


O mtodo Simplex foi desde 1947 (ano em que Dantzig o apresentou) at o final da dcada de 1970 o nico algortimo prtico para a resoluo de modelos de P.Linear. Todos os programas-pacotes, profissionais, para a resoluo de modelos de P.Linear o utilizam apenas incorporando rotinas e artifcios visando diminuir o tempo de processamento e reduzir os erros de arredondamento inerentes aos clculos efetuados em computador. Em 1979, no entanto, o matemtico russo L.G. Khachian publicou um artigo (Khachian, L. G. 1979. A Polynomial Algorithm in Linear Programming. Soviet Mathematics Doklady, Vol. 20: 191-194) apresentando um algortimo alternativo para o Simplex. Embora tenha tido grande repercusso (a notcia, na poca, saiu nos principais jornais do mundo, inclusive no Brasil) o algortimo, de grande significado terico, no teve nenhuma repercusso prtica pois as solues timas demoram muito mais tempo para serem encontradas do que usando-se o Simplex. O Trabalho de Khachian levou, no entanto, a que numerosos pesquisadores tentassem caminhos alternativos ao mtodo daquele matemtico. Em 1984 Karmarkar, um pesquisador da AT&T Bell Laboratories, publicou um artigo (Karmakar, N. 1984. A New Polynomial-Time Algorithm for Linear Programming. Combinatorica, Vol. 4: 45-68) apresentando um novo algortimo que, para determinados tipos de modelos (milhares de variveis e matrizes esparsas), tem apresentado resultados superiores (mais rpidos) que o Simplex. J existem vrios programas comerciais utilizando o algortimo de Karmakar. Este algortimo, diferentemente do Simplex que pula de um ponto extremo para outro (vrtices do espao soluo), um algortimo de ponto-interior, ou seja, ele caminha por pontos dentro do espao soluo at chegar ao vrtice timo. Um dos problemas desta nova abordagem encontrar o ponto inicial do algortimo. Este ponto tem que ser um ponto do interior do espao soluo e em modelos com milhares de variveis e restries, no tarefa simples encontr-lo. Como no poderia deixar de ser, existe muita pesquisa em relao ao assunto (h muito dinheiro envolvido) e certo que esta nova variante de resoluo de modelos de P.Linear ser aperfeioada.

56

O Mtodo Simplex

2.6 Exerccios
A) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 3x1 + 2x2 s.a. 2x1 + 4x2 22 x1 + 4x2 10 2x1 x2 7 x1 3x2 1 x1 , x2 0 B) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 4x1 + 3x2 + 6x3 s.a. 3x1 + x2 + 3x3 30 2x1 + 2x2 + 3x3 40 xi 0 C) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 2x1 x2 + x3 s.a. 3x1 + x2 + x3 60 x1 x2 + 2x3 10 x1 + x2 x3 20 xi 0

2.6 Exerccios

57

D) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 6x1 + 2x2 + 10x3 + 8x4 s.a. 3x1 3x2 + 2x3 + 8x4 25 5x1 + 6x2 4x3 4x4 20 4x1 2x2 + x3 + 3x4 = 10 xi 0 E) Resolva o modelo a seguir pelo Simplex: (MAX) Z = x1 + x2 + x3 + x4 s.a. x1 + x2 2 x3 + x4 5 xi 0 F) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 2x1 + 3x2 s.a. x1 + 2x2 4 x1 + x2 = 3 xi 0

58 G) Resolva o modelo a seguir pelo Simplex: (MIN) Z = 4x1 + 3x2 s.a. 2x1 + x2 10 3x1 + 2x2 6 x1 + x2 6 xi 0 H) Resolva o modelo a seguir pelo Simplex: (MAX) Z = x1 + 4x2 s.a. 3x1 + x2 6 x1 + 2x2 10 x2 3 x1 Irrestrita em sinal I) Resolva o modelo a seguir pelo Simplex: (MAX) Z = x1 + 2x2 x3 s.a. 2x1 x2 + 3x3 5 4x1 x2 + x3 4 x1 + 3x2 6 x1 , x2 Irrestritas em sinal x3 0

O Mtodo Simplex

2.6 Exerccios

59

J) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 5x1 + 3x2 + 2x3 + 4x4 s.a. 5x1 + x2 + x3 + 8x4 = 10 2x1 + 4x2 + 3x3 + 2x4 = 10 xi 0 K) Resolva o modelo a seguir pelo Simplex: (MIN) Z = 2x1 + 3x2 + x3 s.a. x1 4x2 2x3 8 3x1 + 2x2 6 xi 0 L) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 10x1 + 15x2 + 12x3 s.a. 5x1 + 3x2 + x3 9 5x1 + 6x2 + 15x3 15 2x1 + x2 + x3 5 xi 0

60 M) Resolva o modelo a seguir pelo Simplex: (MAX) Z = 2x1 2x2 + 2x3 s.a. x1 + 2x2 + 4x3 = 20 2x1 x2 + 12x3 60 xi 0

O Mtodo Simplex

2.7 Respostas dos exerccios da seo 2.6


A) x 1 = 5 x2 = 3 Z = 21 B) x 1 = 0 x2 = 10 x3 =

20 3

Z = 70

C) x 1 = 15 x2 = 5 x3 = 0 Z = 25

D) Soluo Ilimitada (Z = ) E) Pontos timos obtidos pelo simplex: (2,0,5,0) (0,2,5,0) (0,2,0,5) (2,0,0,5) Z = 7 (a, b, c, d) = 1 (2, 0, 5, 0) + 2 (0, 2, 5, 0) + 3 (0, 2, 0, 5) + 4 (2, 0, 0, 5) i 0 i = 1
F) x 1 = 2 x2 = 1 Z = 7 G) x 1 = 4 x2 = 2 Z = 22

H) Substitua x1 por (x3 x4 ). Substitua x2 por (x5 3). Aplique o simplex e substitua de volta. x 1 =

2 7

x 2 =

36 7

Z =

146 7

I) Substitua x1 e x2 pela diferena de 2 variveis 0. Aplique o simplex e substitua de volta. 9 7 23 x x2 = x3 = 0 Z = 1 = 5 5 5 5 5 40 J) x x2 = x3 = 0 x 1 = 4 = 0 Z = 3 3 3 9 4 x2 = x = 0 Z = 7 (Infinitas solues) K) x 1 = 5 5 3 L) Sem soluo praticvel
M) x 1 = 0 x2 = 0 x3 = 5 Z = 10

Captulo 3
Anlise depois do timo

Vimos nos captulos anteriores como obter uma soluo tima para um modelo de P.Linear. Normalmente, em aplicaes reais, somente a soluo tima no suficiente para se ter todo tipo de informaes que queremos. Assim, comum se desejar saber o que aconteceria com a soluo do modelo se um dos parmetros sofresse algum tipo de variao. Uma alternativa bvia seria resolver o modelo modificado e obter a nova soluo tima. Este processo no entanto demorado e caro pois implicaria no uso, repetida vezes, do computador. Veremos neste captulo que, sem resolver o modelo novamente, possvel obter quase todas as informaes necessrias em conseqncia de variaes nos parmetros do modelo. Para uma melhor compreenso das tcnicas usadas vamos trabalhar com o seguinte exemplo: Uma empresa produz 3 produtos em uma de suas fbricas. Na fabricao dos 3 produtos, 3 insumos so crticos em termos de restringir a capacidade de produo possvel: a mo de obra disponvel, a quantidade de matria prima e o espao para a armazenagem das unidades produzidas. Assim, o Depto de Produo j sabe que, para o prximo ms, a fbrica ter disponvel 100 kilos de matria prima, 360 m2 de rea para estocar as unidades produzidas e 400 homenshora de mo de obra. Cada unidade produzida do produto 1 consome 1 kilo de matria prima, precisa de 6 m2 para ser armazenada e necessita de 8 homenshora em termos de mo de obra. J cada unidade do produto 2 consome 2 kilos de matria prima, necessita tambm de 6 m2 para ser armazenada e envolve o uso de 4 homenshora de mo de obra. Por sua vez, cada unidade produzida do produto 3 precisa de 2 kilos de matria prima, 4 m2 para ser armazenada e o trabalho equivalente a 4 homens hora. Reduzindo do preo de venda todos os custos diretos e indiretos, foi determinado que o lucro unitrio igual a $4 para o produto 1, $5 para o produto 2 e $3 para cada unidade produzida do produto 3. Levando em conta que o objetivo da empresa maximizar o lucro com a produo e a venda dos 3 produtos foi formulado o seguinte modelo de P.Linear visando determinar as quantidades que deveriam ser fabricadas de cada produto no prximo ms. Variveis de deciso: xi no de unidades a serem produzidas, no prximo ms, do produto i(i = 1, 2, 3).

62 O modelo fica como: (MAX) Z = 4x1 + 5x2 + 3x3 s.a x1 + 2x2 + 2x3 100 6x1 + 6x2 + 4x3 360 8x1 + 4x2 + 4x3 400 (matria prima kilos) (espao m2 ) (mo de obra HH)

Anlise depois do timo

xi 0 Submetido ao Simplex, a soluo apresentou as seguintes solues bsicas onde (I) a soluo inicial e (F) a soluo final ou seja, a tima: Soluo (I) (0) (1) (2) Z 4x1 5x2 3x3 = 0 x1 + 2x2 + 2x3 + F1 = 100 6x1 + 6x2 + 4x3 + F2 = 360

(3) 8x1 + 4x2 + 4x3 + F 3 = 400 F = 100 x = 0 1 1 VB VNB F2 = 360 x2 = 0 F3 = 400 x3 = 0 Z=0 Varivel entrante: x2 Varivel Sainte: F1 Nova soluo bsica: (0) (1) (2) Z F1 = 250 2 1 1 x1 + x2 + x3 + F1 = 50 2 2 2 3 x1 + 2x3 + 5

3x1 2x3 3F1 + F2 = 60

(3) 6x1 F1 + F3 = 200 x2 = 50 x1 = 0 VB VNB F2 = 60 F1 = 0 F3 = 200 x3 = 0 Z = 250 Varivel entrante: x1 Varivel Sainte: F2

3.1 Anlise de Sensibilidade

63

Soluo (F) (0) (1) (2) (3) Z + x3 + F1 + x2 + 4 1 2 F2 = 280 1

F2 = 40 3 6 2 1 x1 x3 F1 + F2 = 20 3 3

x3 + F1

4x3 + 4F1 2F2 + F3 = 80 x2 = 40 F1 = 0 VB VNB x F2 =0 1 = 20 x3 = 0 F3 = 80 Z = 280

3.1 Anlise de Sensibilidade


Na prtica, muito raro que se consiga determinar os parmetros (cj , aij e bi) de determinado modelo com certeza absoluta. Na realidade normalmente os parmetros do modelo so simples estimativas sujeitas a certo grau de incerteza. Em consequncia deste fato normal que se queira avaliar os efeitos de mudanas na soluo tima encontrada, se alteramos um ou mais parmetros do modelo, logicamente sem precisar resolver o modelo novamente. Assim a Anlise de Sensibilidade, tambm chamada de Anlise de Ps-Optimalidade, o estudo do efeito na soluo tima de alteraes efetuadas nos parmetros de determinado modelo. Por ser demorada e cara, a anlise feita resolvendo-se novamente o modelo s adotada em ltimo caso. As diferentes categorias de alteraes que podemos analisar so: a) Alteraes nos coeficientes da funo objetivo (cj ). b) Alteraes nas constantes do lado direito (bi). c) Alteraes nos coeficientes das restries (aij ). d) Incluso de uma nova varivel.

64

Anlise depois do timo

3.2 Anlise de Sensibilidade dos Coeficientes da Funo Objetivo 3.2.1 De variveis no bsicas na soluo tima
Vamos examinar, por exemplo, a varivel x3 que representa o no de unidades a serem produzidas do produto 3. Vamos responder a seguinte questo: Se o coeficiente de x3 na funo objetivo (lucro unitrio) for menor que 3, a soluo (F) continua sendo a tima ? Por intuio, podemos ver que a resposta para esta pergunta sim, pois se um lucro igual a 3 no foi suficiente para tirar x3 de zero, um lucro menor, menos ainda. Mas se o coeficiente de x3 for maior que 3, a soluo (F) continua sendo a tima ? Para responder a esta pergunta podemos imaginar um coeficiente, para x3 , maior que 3 na soluo inicial e, baseando-nos nas propriedades dos sistemas de equaes lineares, calcular como ficaria a equao de Z (equao 0) no sistema timo (F). Lembre-se que para saber se uma soluo tima ou no, temos que examinar a equao de Z (equao 0). Seja ento 3 + o coeficiente de x3 , onde 0. Temos ento: (0)I Z 4x1 5x2 (3 + )x3 = 0 Podemos escrever: (0)I Z 4x1 5x2 3x3 x3 = 0 Se chamarmos x3 de k, podemos escrever: (0)I Z 4x1 5x2 3x3 + k = 0 Se com esta equao (0) no sistema inicial (I) aplicssemos o Simplex, como ela chegaria no sistema (F) ? Considerando que a varivel k s aparece na equao (0) e como durante o simplex somamos e subtramos equao (0) mltiplos das outras equaes (restries) nas quais k no aparece, teramos: 1 (0)F Z + x3 + k + F1 + F2 = 280 2 Substituindo pelo valor de k, temos: 1 (0)F Z + x3 x3 + F1 + F2 = 280 2 1 (0)F Z + (1 )x3 + F1 + F2 = 280 2 A equao acima seria a equao (0) da soluo (F) se o coeficiente original de x3 fosse 3 + . Para esta soluo continuar sendo a tima, lembrando-nos que o modelo de maximizao, temos que garantir que: 10 Logo temos que ter: 1 Se > 1 a soluo (F) deixa de ser tima pois x3 ser varivel entrante porque seu coeficiente seria menor que zero. Antes de prosseguirmos com a anlise, vamos definir 2 valores que balizam os resultados que so obtidos na Anlise de Sensibilidade:

3.2 Anlise de Sensibilidade dos Coeficientes da Funo Objetivo

65

Upper Limit (limite superior) o maior valor que um coeficiente pode assumir sem alterar a soluo tima. Lower Limit (limite inferior) o menor valor que um coeficiente pode assumir sem alterar a soluo tima. O Upper e o Lower limit so representados como [LL; U L], ou seja entre colchetes e separados por ponto e vgula. importante observar uma premissa bsica na determinao do Lower e do Upper Limit para os parmetros de um modelo de P.Linear. Quando se diz na definio de ambos os valores sem alterar a soluo tima, queremos dizer sem alterar o time de variveis bsicas e conseqentemente o de variveis no bsicas. Em outras palavras se o [LL; U L] , por exemplo, [2; 12], isto significa que neste intervalo fechado, o time de variveis bsicas (e no bsicas) no se altera podendo, no entanto, se alterar o valor numrico delas. Assim, o lower e o upper limit para o coeficiente de x3 na funo objetivo : [0; 3 + ] ou seja [0; 4]. importante observar a diferena entre o lower limit matemtico e o lower limit prtico. Matemticamente, o lower limit , mas como o coeficiente de x3 representa lucro unitrio, o lower limit 0 pois o lucro unitrio no deve ser menor que zero. Outro ponto a ser observado que o valor de igual ao coeficiente de x3 na equao (0) do sistema timo (F). Na verdade, para variveis no bsicas, ser sempre igual quele valor.

3.2.2 De variveis bsicas na soluo tima


Conhecendo agora o que significam o lower e o upper limit podemos fazer a seguinte pergunta: Qual o lower e o upper limit do coeficiente de x1 na funo objetivo ? Vamos supor que o coeficiente de x1 original seja 4 + . Logo a equao (0) seria: (0)I Z (4 + )x1 5x2 3x3 = 0 Separando, temos: (0)I Z 4x1 x1 5x2 3x3 = 0 Chamando x1 de k, temos: (0)I Z 4x1 + k 5x2 3x3 = 0 Como a varivel k s aparece na equao (0) original, na soluo (F) teramos: 1 (0)F Z + k + x3 + F1 + F2 = 280 2 Substituindo k por x1 temos: 1 (0)F Z x1 + x3 + F1 + F2 = 280 2

66

Anlise depois do timo

Como x1 varivel bsica, temos que elimin-la da equao (0). Para isto multiplicamos a equao (2), que onde x1 aparece como bsica na soluo (F), por e somamos equao (0), obtendo: 1 1 2 + F2 = 280 + 20 (0)F Z + 1 x3 + [1 ] F1 + 3 2 3 Para garantir que a soluo (F) continua sendo a tima, temos que ter todos os coeficientes 0, ou seja: 3 2 1 0 3 2 10 1 1 1 3 + 0 2 3 2 Como h superposio temos:

2 3

2 3

Assim, os valores vlidos para so: 3 1 2 Logo para o coeficiente de x1 na funo objetivo temos: 3 4 ; 4 + 1 ou [2, 5; 5] 2 Se o lucro unitrio do produto 1 estiver neste intervalo a soluo (F) continua sendo a tima. Exerccio: Achar o lower e o upper limit para o coeficiente de x2 na funo objetivo. 17 Resp: ;8 4

3.3 Anlise de Sensibilidade das constantes do lado direito

67

3.3 Anlise de Sensibilidade das constantes do lado direito


Neste tipo de anlise queremos a responder a perguntas do tipo: Qual o lower e o upper limit da constante do lado direito da 3a restrio, ou seja qual a faixa de variao da mo de obra (homenshora) que mantm a soluo (F) como sendo a soluo tima ? Vamos supor que a constante do lado direito, original, da 3a restrio seja 400 + ; onde um valor qualquer. Temos ento: (3)I 8x1 + 4x2 + 4x3 + F3 = 400 + Podemos observar que e a varivel F3 possuem, no sistema (I), as mesmas condies, ou seja, ambas s aparecem uma nica vez, com coeficiente 1, na 3a restrio. Em resumo tudo que acontecer, durante o simplex, com F3 , acontecer com . Como no sistema (F) a varivel F3 aparece exatamente da mesma forma, ou seja, somente na 3a restrio, teremos: (3)F 4x3 + 4F1 2F2 + F 3 = 80 + Para uma soluo ser tima ela antes tem que ser praticvel. Logo como os valores do lado direito representam os valores das variveis bsicas, eles tem que ser 0 pois, exceto Z , todas as variveis tem que ser 0 para (F) continuar sendo praticvel e conseqentemente tima. Assim, para que a soluo (F) continue sendo a tima, basta que: 80 + 0 80 Ento para temos que ter: 80 Logo para a constante do lado direito da 3a restrio temos: [400 80; 400 + ] ou [320; ] Na verdade j sabamos que o Upper Limit era pois na soluo tima o valor timo de F3 era 80. Como F3 representa a folga na mo de obra, o seu valor timo maior que zero indica que na soluo tima j no se est usando toda a mo de obra disponvel. Desta forma o aumento da mo de obra disponvel, de qualquer quantidade, no vai provocar qualquer alterao na soluo tima. Vamos responder agora a mesma pergunta anterior para a constante do lado direito da 1a restrio. Temos ento: (1)I x1 + 2x2 + 2x3 + F1 = 100 + Usando o raciocnio anterior, tudo que acontecer com F1 acontecer com . Assim no sistema (F), teremos: 1 (0) Z + x3 + F1 + F2 = 280 + 2 (1) x2 + 4 x3 + F1 1 F2 = 40 + 3 6 (F) 1 2 x F + F2 = 20 (2) x 3 1 1 3 3 (3) 4x3 + 4F1 2F2 + F3 = 80 + 4

68

Anlise depois do timo

Para a soluo (F) continuar sendo a tima, todas as constantes do lado direito, exceto a da equao 0 (valor de Z ), devem ser 0. Logo deveremos ter: 40 + 0 40 20 0 20 80 + 4 0 20 Como h superposio temos:

40

20

20

Logo o valor de deve ser: 20 20 Para a constante do lado direito da 1a restrio podemos escrever ento: [100 20; 100 + 20] ou [80; 120] Assim, se quantidade de matria prima estiver entre 80 e 120 kilos o time de variveis bsicas timas e conseqentemente o de variveis no bsicas, ser o mesmo do encontrado na soluo (F). Mas se, por exemplo, o valor de for igual a 10, ou seja se tivermos 110 kilos de matria prima o valor numrico timo das variveis bsicas vai ser diferente pois teremos: Z = 290 x 2 = 50 x 1 = 10 F3 = 120 Aqui fica evidente o conceito de upper e lower limit. Como o time de variveis bsicas (e no bsicas) no se alterou, dizemos que a soluo tima permaneceu a mesma, mesmo tendo mudado o seu valor numrico. Exerccio: Achar o lower e o upper limit para a constante do lado direito da 2a restrio. Resp: [300; 400]

3.4 Dualidade

69

3.4 Dualidade
O termo dualidade refere-se ao fato de que cada modelo de P.Linear consiste de 2 formas. A primeira, ou original, chamada de primal e a segunda forma do modelo chamada de dual. Como seria esperado, as propriedades de uma das formas do modelo esto relacionadas com as propriedades da outra. Como resultado disto possvel, dada a soluo tima de uma das formas do modelo, encontrar a soluo tima da outra forma do modelo. A soluo do chamado modelo dual fornece informaes significativas sobre as questes econmicas existentes em qualquer modelo de P.Linear.

3.4.1 Modelos Primal e Dual


Consideremos o seguinte par de modelos de P.Linear: (MAX) Z = 4x1 + 5x2 + 9x3 (MIN) Y = 16y1 + 25y2 s.a s.a x1 + x2 + 2x3 16 y1 + 7y2 4 e 7x1 + 5x2 + 3x3 25 y1 + 5y2 5 x1 , x2 , x3 0 2y1 + 3y2 9 y1 , y2 0 Chamaremos o 1o modelo de modelo Primal e o 2o modelo de modelo Dual. Poderamos ter chamado o 2o de primal e a o 1o, seria o dual. Observando os 2 modelos, reparamos que eles so relacionados. Assim as constantes do lado direito do 1o modelo so os coeficientes da funo objetivo do 2o. Os coeficientes da funo objetivo do 1o modelo so as constantes do lado direito do 2o. Os coeficientes da 1a linha do primeiro (1, 1 e 2) so os coeficientes da 1a coluna do 2o e assim por diante. Em resumo, fica claro que, dado um dos modelos, podemos construir o outro. Veremos mais adiante em detalhes como fazer isto, ou seja, dado um dos modelos como construir o outro.

3.4.2 Teorema Dual


Suponha que no exemplo acima x1 , x2 e x3 sejam valores praticveis para o modelo primal e y1 e y2 sejam valores praticveis para o modelo dual. Se multiplicamos a 1a restrio do primal por y1 e a 2a por y2 e somamos as duas, vamos ter: y1 x1 + y1 x2 + 2y1 x3 + 7y2 x1 + 5y2 x2 + 3y2 x3 16y1 + 25y2 Se, da mesma forma, multiplicarmos a isima restrio do dual por xi e somarmos as 3, teremos: x1 y1 + 7y2 x1 + y1 x2 + 5y2 x2 + 2y1 x3 + 3y2 x3 4x1 + 5x2 + 9x3

70

Anlise depois do timo

Como podemos observar, os lados esquerdos das 2 inequaes so iguais e pode-se escrever ento: 16y1 + 25y2 4x1 + 5x2 + 9x3 ou Y Z Este resultado implica em que o valor da funo objetivo de uma soluo praticvel de um dos modelos um limite para qualquer outra soluo praticvel do outro modelo. Assim, por exemplo, se considerarmos a soluo praticvel, para o modelo primal, em que x1 = 1, x2 = 2 e x3 = 2, dando um valor igual a 32 para Z e a soluo praticvel y1 = 0 e y2 = 3 para o dual, dando um valor igual a 75 para Y , que concluso podemos tirar ? Qualquer soluo praticvel, inclusive a tima, para o primal ser menor ou igual a 75 e qualquer soluo praticvel, inclusive a tima, para o dual ser maior ou igual a 32. A concluso bvia que a soluo tima ser aquela em que Z = Y . Podemos ento formular o enunciado do chamado Teorema Dual: No evento em que tanto o modelo dual quanto o primal possuam solues praticveis, temos que: Z = Y , ou seja, o valor timo dos 2 modelos o mesmo. Um corolrio deste teorema que se um dos modelos tem soluo ilimitada, ento o outro modelo no tem soluo praticvel pois caso tivesse, seria uma contradio ao exposto anteriormente. Logo podemos enunciar o corolrio como: Se um dos modelos tem soluo tima ilimitada (Z ou Y = ), ento o outro modelo no tem soluo praticvel.

3.4 Dualidade

71

3.4.3 Relao entre o Primal e o Dual


Como vimos anteriormente, dado um modelo de P.Linear pode-se, atravs de regras conhecidas, construir o outro modelo. A tabela abaixo d as relaes existentes entre os 2 modelos: Modelo Primal (MAX) com todas as restries ou = (MIN) com todas as restries ou = restrio varivel Coeficientes da funo objetivo Constantes do lado direito j-sima coluna de coeficientes j-sima linha de coeficientes j-sima varivel 0 j-sima varivel irrestrita em sinal j-sima restrio com sinal ou j-sima restrio com sinal de = Modelo Dual (MIN) com todas as restries ou = (MAX) com todas as restries ou = varivel restrio Constantes do lado direito Coeficientes da funo objetivo j-sima linha de coeficientes j-sima coluna de coeficientes j-sima restrio (MIN) ou (MAX) j-sima restrio com sinal de = j-sima varivel 0 j-sima varivel irrestrita em sinal

Exemplo: Construir o Dual do modelo a seguir: (MIN) Z = 3x1 4x2 + x3 2x4 s.a 2x1 + x2 + 2x3 + x4 = 10 x3 + 2x4 10 x1 + x2 x4 5 2x1 + 3x2 + x3 + x4 5 2x1 + 3x2 + x3 + x4 20 x1 , x2 , x3 0 x4 Irrestrita em sinal Antes de se aplicar a tabela devemos colocar o modelo primal dentro das regras que permitem o uso da tabela. Assim, como o primal um modelo de minimizao, devemos fazer com que todas as restries sejam do tipo ou =. necessrio ento que todas as restries do tipo sejam multiplicadas (ambos os lados) por 1, invertendo seu sinal. Devemos lembrar tambm que cada restrio do primal teremos uma varivel correspondente no Dual.

72 Transformando o Primal temos: (MIN) Z = 3x1 4x2 + x3 2x4 s.a 2x1 + x2 + 2x3 + x4 = 10 y1 x3 2x4 10 y2 x1 x2 + x4 5 y3 2x1 + 3x2 + x3 + x4 5 y4 2x1 3x2 x3 x4 20 y5 x1 , x2 , x3 0 x4 Irrestrita em sinal Podemos agora aplicar a tabela e construir o modelo Dual: (MAX) Y = 10y1 10y2 5y3 + 5y4 20y5 s.a 2y1 + y3 + 2y4 2y5 3 x1 y1 y3 + 3y4 3y5 4 x2 2y1 y2 + y4 y5 1 x3 y1 2y2 + y3 + y4 y5 = 2 x4 y2 , y3 , y4 , y5 0 y1 Irrestrita em sinal

Anlise depois do timo

3.5 Valor timo das variveis do Modelo Dual


Assumindo que o primal foi resolvido por maximizao temos: a) Y = Z (teorema dual) b) O valor timo da varivel yj igual ao coeficiente da varivel de folga da j-sima restrio na equao (0) do sistema timo primal. Propriedade Adicional O coeficiente da varivel xj na equao (0) do sistema timo primal igual a diferena entre os lados esquerdo e direito da j-sima restrio dual associada. Vamos voltar ao modelo que vimos no incio da Anlise de Sensibilidade: (MAX) Z = 4x1 + 5x2 + 3x3 (Lucro total) s.a x1 + 2x2 + 2x3 100 (matria prima kilos) 6x1 + 6x2 + 4x3 360 (espao m2 ) 8x1 + 4x2 + 4x3 400 (mo de obra HH) xi 0 O modelo dual fica como:

3.5 Valor timo das variveis do Modelo Dual

73

(MIN) Y = 100y1 + 360y2 + 400y3 s.a y1 + 6y2 + 8y3 4 2y1 + 6y2 + 4y3 5 2y1 + 4y2 + 4y3 3 yi 0 Da soluo (F), tima, podemos tirar os valores timos do Dual: Y = Z = 280 y1 = coeficiente de F1 em (0)F = 1 1 y2 = coeficiente de F2 em (0)F = 2 y3 = coeficiente de F3 em (0)F = 0 Vamos usar estes resultados para verificar a propriedade adicional enunciada anteriormente. O coeficiente de x1 na equao (0)F 0. Se a propriedade vlida, a diferena entre os lados esquerdo e direito da 1a restrio do modelo dual tem que ser igual a 0. Restrio Dual y1 + 6y2 + 8y3 4 Lado Esquerdo y1 + 6y2 + 8y3 Lado Direito 4 Pela propriedade: Lesq Ldir = 0 Temos, usando os valores timos dos yi s: 1 Lesq = 1 + 6 + 8 0 = 4 2 Lesq Ldir = 4 4 = 0 Exerccio: Verificar a propriedade para os coeficientes de x2 e x3 .

74

Anlise depois do timo

3.6 Significado econmico dos valores timos das variveis do Modelo Dual
Vamos, mais uma vez, voltar ao nosso exemplo: (MAX) Z = 4x1 + 5x2 + 3x3 (Lucro total) s.a x1 + 2x2 + 2x3 100 (matria prima kilos) 6x1 + 6x2 + 4x3 360 (espao m2 ) 8x1 + 4x2 + 4x3 400 (mo de obra HH) xi 0 Z = 280 x x x 1 = 20 2 = 40 3 = 0 Modelo Dual: (MIN) Y = 100y1 + 360y2 + 400y3 s.a y1 + 6y2 + 8y3 4 2y1 + 6y2 + 4y3 5 2y1 + 4y2 + 4y3 3 yi 0 1 Y = 280 y1 =1 y2 = y3 =0 2 Devemos recordar que a equao de Y representa:
3 3 yi i=1

= Z =

constantes do lado direito =


i=1

yi disponibilidade de in-

sumos ou seja o somatrio do produto dos insumos (matria prima, rea para estocagem e mo de obra) pelo valor das variveis do modelo dual. No timo temos ento: Y = 100y1 + 360y2 + 400y3 = 280 Vamos supor que est sendo oferecida 1 unidade adicional de matria prima (1 Kilo). Devo ou no adquir-la ? Em vez de 100 kilos passaramos a ter 101 kilos, ou seja, na equao de Y teramos: Y = 101y1 + 360y2 + 400y3 Como y1 igual a 1 o lucro, em tese, aumentaria de $1 o que poderia justificar a compra de mais 1 kilo de matria prima. Mas se o custo de compra deste kilo adicional fosse, por exemplo, de $3. Estaramos na verdade tendo prejuzo (de $2) ao invs de aumentar o lucro. Logo a resposta a pergunta sim, desde que o preo de compra deste kilo adicional seja menor que 1. Qual ento o significado do valor timo de uma varivel do modelo dual ? o limite que devo pagar por uma unidade adicional do recurso associado varivel. Obs: Por terem este significado, os valores timos das variveis do modelo dual so chamadas de valores implcitos (shadow prices, em ingls).

3.7 Anlise de Sensibilidade usando o Modelo Dual

75

O valor implcito de aquisio de 1 m2 de rea para estocagem $0,50; que o valor timo de y2 (varivel dual associada restrio do espao para estocagem, ou seja na 2a restrio). J o valor implcito para a mo de obra (homens-hora) zero (valor timo de y3 ). Este valor bate com a anlise que j tnhamos feito anteriormente pois como existe folga nesta restrio, ou seja, no estamos utilizando toda a mo de obra disponvel, no teremos nenhum ganho em adquirir mais mo de obra, mesmo sem custo, pois iria apenas sobrar mais.

3.7 Anlise de Sensibilidade usando o Modelo Dual


Do que vimos anteriormente, a anlise dos coeficientes da funo objetivo, para variveis no bsicas na soluo tima, pode ser feita, at de forma mais simples, utilizando-se o dual. Para exemplificar e comparar com o que j fizemos, vamos responder a seguinte pergunta: Qual o intervalo para o coeficiente de x3 na funo objetivo que mantm a soluo (F) como a soluo tima ? O coeficiente de x3 3. Vamos supor que seja 3 + . Anteriormente analisamos e conclumos que deveria ser 1. Vamos analisar usando o dual: A mudana no coeficiente de x3 implica que, no dual, a 3a restrio fique como: 2y1 + 4y2 + 4y3 3 + Substituindo pelos valores timos do dual temos: 1 21+4 +403+ 2 1 Se > 1, a 3a restrio do dual violada, ou seja, deixa de ser praticvel. Como uma soluo antes de ser tima tem que ser praticvel, o timo dual deixa de ser timo e conseqentemente o timo primal tambm deixa de ser timo pois, como vimos, as 2 solues timas so iguais. O uso do modelo dual permite que outras anlises sejam realizadas e o que veremos a seguir.

76

Anlise depois do timo

3.7.1 Incluso de uma nova varivel


Vamos supor que no nosso exemplo seja adicionada uma nova varivel (xn) cujos coeficientes so 3 na 1a restrio, 6 na 2a e 4 na 3a restrio. O lucro unitrio deste novo produto de 8, ou seja, o coeficiente de xn na funo objetivo. A soluo (F) continuaria sendo a tima ? O modelo passaria a ser : (MAX) Z = 4x1 + 5x2 + 3x3 + 8xn s.a x1 + 2x2 + 2x3 + 3xn 100 6x1 + 6x2 + 4x3 + 6xn 360 8x1 + 4x2 + 4x3 + 4xn 400 xi 0 No modelo dual teramos uma nova restrio: 3y1 + 6y2 + 4y3 8 A soluo (F) continuar tima se a nova restrio dual continuar praticvel. Substituindo pelos valores timos do modelo dual temos: 1 31+6 +408 2 6 8 (no verdadeiro) Como a restrio dual violada, o timo dual deixa de ser timo pois deixa de ser praticvel. Como conseqncia o timo primal (F) tambm deixa de ser timo. Como encontrar a nova soluo tima ? Podemos continuar o simplex a partir da soluo (F), ou seja, sem precisar recomear do incio (Todos os programas pacotes de computador, profissionais, permitem isto). Para isto necessrio calcular os coeficientes de xn nas equaes da soluo (F). Inicialmente temos que calcular o coeficiente de xn na equao (0)F . Ele ser igual a diferena entre os lados esquerdo e direito da restrio dual associada, ou seja usando-se os antigos valores timos do dual: 1 Lesq = 3y1 + 6y2 + 4y3 = 3 1 + 6 + 4 0 = 6 2 Ldir = 8 Coeficiente de xn em (0)F = Lesq Ldir = 6 8 = 2 Para encontrar os coeficientes de xn nas restries do sistema (F) vamos usar um artifcio, baseado nas propriedades dos sistemas de equaes lineares, que construir uma funo que resolvida, d os coeficientes de xn tanto no sistema inicial como em qualquer outro. Observando que os coeficientes das variveis de folga formam uma matriz identidade no sistema inicial, podemos escrever: Coef. de xn na restrio j = 3 coef. de F1 na rest. j + 6 coef. de F2 na rest. j + 4 coef. de F3 na rest. j Vamos verificar se a funo funciona no sistema (I): Coef. de xn em (1)I = 3 1 + 6 0 + 4 0 = 3 Coef. de xn em (2)I = 3 0 + 6 1 + 4 0 = 6 Coef. de xn em (3)I = 3 0 + 6 0 + 4 1 = 4

3.8 Anlise de Sensibilidade dos coeficientes das restries

77

Para achar os coeficientes de xn no sistema (F) basta aplicar a mesma funo: 1 Coef. de xn em (1)F = 3 1 + 6 + 4 0 = 2 6 1 Coef. de xn em (2)F = 3 1 + 6 + 4 0 = 1 3 Coef. de xn em (3)F = 3 4 + 6 2 + 4 1 = 4 Podemos ento escrever o novo sistema (F): 1 (0) Z + x3 + F1 + F2 2xn = 280 2 4 (1) x2 + x3 + F1 1 F2 + 2xn = 40 3 6 (F) 1 2 (2) x1 x3 F1 + F2 xn = 20 3 3 (3) 4x3 + 4F1 2F2 + F3 + 4xn = 80 F = 0 1 x2 = 40 F2 = 0 VB VNB x1 = 20 x3 = 0 F3 = 80 xn = 0 Z = 280 Exerccio: Prosseguir com o simplex e achar a nova soluo tima. Resp: Z = 320 x x 1 = 40 n = 20

3.8 Anlise de Sensibilidade dos coeficientes das restries 3.8.1 De varivel no bsica na soluo tima
Vamos supor que o coeficiente da varivel x3 na 1a restrio seja 2 + em vez de 2. Para que valores de a soluo (F) continua sendo a tima? No dual, a 3a restrio passa a ser: (2 + )y1 + 4y2 + 4y3 3 A soluo (F) continuar sendo a tima se a restrio dual continuar praticvel. Substituindo pelos valores timos, temos: 1 (2 + ) 1 + 4 + 4 0 3 2 1 Logo se < 1, ou seja se o coeficiente de x3 na 1a restrio for menor que 1, a restrio dual violada. Logo a soluo dual deixa de ser tima pois deixa de ser praticvel. Pelo teorema dual o timo primal tambm deixa de ser timo.

3.8.2 De varivel bsica na soluo tima


Para se analisar as conseqncias de uma alterao em um dos coeficientes de uma das restries do modelo, de uma varivel bsica na soluo tima, necessrio muito trabalho com razovel complexidade. Assim prefervel executar o simplex novamente e verificar as conseqncias da alterao proposta.

78

Anlise depois do timo

3.9 Exerccios
A) Seja o seguinte modelo de P.Linear: (MAX) Z = 4x1 + 5x2 + 9x3 + 11x4 s.a. x1 + x2 + x3 + x4 15 7x1 + 5x2 + 3x3 + 2x4 120 3x1 + 5x2 + 10x3 + 15x4 100 xi 0 Aplicando-se o Simplex, temos as seguintes solues bsicas onde (I) a soluo inicial e (F) a soluo final (tima): (0) Z 4x1 5x2 9x3 11x4 = 0 (1) x1 + x2 + x3 + x4 + F1 = 15 (I) (2) 7x1 + 5x2 + 3x3 + 2x4 + F2 = 120 (3) 3x1 + 5x2 + 10x3 + 15x4 + F3 = 100 x = 0 1 F1 = 15 x2 = 0 VNB VB F2 = 120 x3 = 0 F3 = 100 x4 = 0 Z=0 Varivel entrante: x4 Varivel Sainte: F3 4 5 11 220 9 F3 = (0) Z x1 x2 x3 + 5 3 3 15 3 2 1 1 25 4 (1) x1 + x2 + x3 + F1 F3 = 5 3 3 15 3 (1) 13 5 2 320 33 x1 + x2 + x3 + F2 F3 = (2) 5 3 3 15 3 1 1 2 1 20 (3) x1 + x2 + x3 + x4 + F3 = 5 3 3 15 3 25 x1 = 0 F = 1 3 x = 0 2 320 VNB VB F2 = 3 x = 0 3 20 x4 = 3 F3 = 0 220 Z= 3 Varivel entrante: x1 Varivel Sainte: F1

3.9 Exerccios

79

11 9 7 1105 1 x3 + F1 + F3 = (0) Z + x2 6 12 4 12 12 5 5 5 1 125 (1) x1 + x2 + x3 + F1 F3 = 6 12 4 12 12 (2) 13 33 5 455 7 x3 F1 + F2 + F3 = (2) x2 6 12 4 12 12 1 7 1 1 55 (3) x2 + x3 + x4 F1 + F3 = 6 12 12 12 4 125 x2 = 0 x = 1 12 x = 0 3 455 VNB VB F2 = 12 F = 0 1 55 x4 = 12 F3 = 0 1105 Z= 12 Varivel entrante: x3 Varivel Sainte: x4 3 11 13 5 695 (0) Z + x2 + x4 + F1 + F3 = 7 7 7 7 7 5 10 1 50 5 (1) x1 + x3 x4 + F1 F3 = 7 7 7 7 7 (F) 7 13 61 4 325 (2) x + x F + F + F = 2 4 1 2 3 6 7 7 7 7 2 12 3 1 55 (3) x2 + x3 + x4 F1 + F3 = 7 7 7 7 7 50 x =0 2 x = 1 7 = 0 x 325 4 VNB VB F2 = 7 F = 0 1 55 x = 3 7 F3 = 0 695 Z = 7 Responda as seguintes perguntas relativas ao modelo acima: 1. Considere que o coeficiente original de x2 na funo objetivo 34/7 em vez de 5. Calcule os coeficientes de x2 na equao (0) em cada uma das iteraes do Simplex. 2. Responda ao exerccio anterior para um coeficiente de 37/7 em vez de 5.

80

Anlise depois do timo

3. Considere que o coeficiente de x4 na funo objetivo original 10, em vez de 11. Qual o coeficiente de x4 na equao (0) do sistema (F) ? 4. Responda ao exerccio anterior para um coeficiente igual a 12 em vez de 11. 5. Considere que a constante do lado direito (CLD) na eq. (2) de (I) 100 em vez de 120. Calcule a CLD em todas as equaes em cada iterao do Simplex. 6. Considere que a CLD na eq.(1) de (I) 11 em vez de 15. Calcule as CLD em todas as equaes da soluo (F). Ela continua tima ? 7. Em cada um dos itens abaixo, modifique o modelo como indicado, e escreva o modelo dual: a) b) c) d) A funo objetivo (MAX) Z = 7x1 + 8x2 + 7x3 + 13x4 AS CLD nas eq. (1), (2) e (3) so 30, 80 e 115 respectivamente. Os coeficientes de x3 nas eq. (1), (2) e (3) so 1, 4 e 9 respectivamente. Os coeficientes de x2 nas eq. (0), (1), (2) e (3) so 3, 1, 6 e 9 respectivamente. e) H uma varivel adicional, x5 , tendo coeficientes iguais a 13, 1, 1 e 18 nas eq. (0), (1), (2) e (3) respectivamente.

8. Ache o valor timo da funo objetivo se as CLD nas eq. (1), (2) e (3) so respectivamente: a) 16,120 e 100 b) 15,120 e 101 9. Suponha que o coeficiente de x2 na eq.(3) (5 + ). Qual o menor valor que pode assumir de modo que a soluo (F) permanea tima ? 10. Suponha que o coeficiente de x2 na eq.(1) (1 + ). Qual o menor valor que pode assumir de modo que a soluo (F) permanea tima ? 11. Suponha que adicionamos a varivel x5 tendo coeficientes 1, 2 e 3 nas equaes (1), (2) e (3) respectivamente. Qual o maior valor possvel para o coeficiente de x5 na funo objetivo de maneira que a soluo (F) permanea tima ? 12. Responda ao exerccio anterior considerando que o coeficiente da varivel x5 na eq.(3) 16 em vez de 3. B) Considere o seguinte modelo: (0) (MAX) Z = 2x1 x2 + 3x3 2x4 s.a (1) x1 + 3x2 x3 + 2x4 7 (2) x1 2x2 + 4x3 12 (3) x1 4x2 + 3x3 + 8x4 10 xi 0 Se acrescentarmos F1 , F2 e F3 como variveis de folga obtemos, aps aplicar o Simplex, o seguinte sistema (F) final:

3.9 Exerccios

81 7 12 1 4

(0) (1) (2) (3)

F2 = 11 5 5 5 3 4 2 1 x1 + x2 + x4 + F1 + F2 = 4 10 5 5 10 2 1 3 1 F2 = 5 x1 + x3 + x4 + F1 + 10 5 5 10 1 1 x1 + 10x4 + F1 F2 + F3 = 11 2 2 Z+ 5

x1 +

x4 +

F1 +

1. Qual a soluo tima ? nica ? 2. Qual o Lower e o Upper Limit para o coeficiente de x1 na funo objetivo ? 3. Idem para x4 . 4. Idem para cada CLD. 5. Escreva o modelo DUAL. 6. Qual a soluo tima dual ? Responda os tens 2 e 3 usando o modelo dual. 7. Suponha que novas variveis, x5 e x6 so adicionadas ao modelo. Os coeficientes de x5 so 2, 5, 3 e 1 nas eq. (0), (1), (2) e (3) respectivamente, e os de x6 so 4, 2, 10 e 12. A soluo (F) continua tima? 8. Suponha que o coeficiente de x1 na eq. (1) (1 + ). Qual o menor valor para que mantm a soluo (F) tima ? Qual o maior ? 9. Suponha que o coeficiente de x1 na eq. (2) (1 + ). Qual o menor valor para que mantm a soluo (F) tima ? Qual o maior ? C) Considere o seguinte modelo:
T

(MIN) Z =
t=1

Yi

Yt1

s.a Y1 + YT R1 + Yt Rt t = 2, . . . , T Yt 0

1. Monte o modelo para T = 5, onde R1 = 8, R2 = 7, R3 = 10, R4 = 10 e R5 = 2 2. Chamando o modelo acima de dual, monte o primal 3. Resolva o primal pelo Simplex e d a soluo tima dual 4. Ache os valores timos primal e dual quando R1 = 9 em vez de 8

82

Anlise depois do timo

D) A Companhia Mveis Finos S/A fabrica vrios tipos de mveis, inclusive mveis rsticos para casas de campo. Atualmente eles fabricam 3 produtos na linha de produo de mveis rsticos: uma cadeira de balano, um banco de jardim e uma mesa de jantar. Estes produtos so fabricados em 2 etapas envolvendo a seo de corte de madeira e a seo de montagem dos mveis. O tempo, em horas, necessrio para cada item em cada seo mostrado abaixo: Produto Cadeira Seo de Corte Seo de Montagem 1,2 0,8 Banco 1,7 0 Mesa 1,2 2,3 Capacidade (horas) 1.000 1.200

O lucro que a Mveis Finos S/A recebe pela fabricao e venda de cada unidade $3 para a cadeira, $3 para o banco e $5 para a mesa. A Companhia est tentando planejar a sua produo para o prximo ms. Como a procura muito grande por este tipo de mveis, qualquer quantidade que venha a ser produzida ser vendida. A produo est limitada, no entanto, pelas horas disponveis nas sees de corte e montagem, alm da quantidade de madeira disponvel para este tipo de mveis. No prximo ms a Companhia dispor de somente 2.000 m3 de madeira para fazer os mveis da linha rstica, sendo que cada cadeira gasta 2 m3 , cada banco 3 m3 e cada mesa 4,5 m3 . De maneira a determinar a produo tima do prximo ms foi formulado o seguinte modelo de P.linear: (MAX) Z = 3x1 + 3x2 + 5x3 s.a 1, 2x1 + 1, 7x2 + 1, 2x3 1000 0, 8x1 + 2, 3x3 1200 2x1 + 3x2 + 4, 5x3 2000 xi 0 onde: x1 No de cadeiras a serem fabricadas no prximo ms x2 Idem, bancos x3 Idem, mesas O modelo foi submetido ao Simplex, obtendo-se o seguinte sistema final:

3.9 Exerccios

83 83 7 4 8300

60 6 5 3 27 3 2 (1) x1 + x2 + F1 F3 = 700 20 2 5 1 3 1000 37 (2) x2 + F1 + F 2 F3 = 30 3 5 3 1 2 2 400 (3) x2 + x3 F1 + F3 = 15 3 5 3 Responda as seguintes questes: 1. Qual a produo tima para o prximo ms ? 2. Um distribuidor local est oferecendo a Mveis Finos S/A, madeira adicional a 0,60 o m3 . Deve a Companhia comprar ? (justifique) 3. O Departamento de Vendas sugeriu que um novo modelo de banco fosse produzido. Cada unidade deste novo modelo de banco necessita de 1,8 horas da seo de corte e 0,5 horas na seo de montagem, alm de consumir 1,3 m3 . Que lucro deveria ter este novo produto para que seja atrativo produz-lo ? 4. Se o lucro da cadeira diminusse para $2,50 qual deveria ser o plano de produo e o lucro para o prximo ms ? E) Uma fbrica de aparelhos de TV produz 4 modelos: Um modelo preto e branco, porttil, chamado Sport; um modelo preto e branco, no porttil, chamado Standard; um modelo a cores, porttil, chamado Viajante e um modelo a cores, no porttil, chamado Super. Cada modelo consome tempo para a sua montagem e testes. As necessidades de tempo para montagens e testes, assim como o tempo disponvel so mostrados abaixo: Modelo Modelo Modelo Modelo Totalhrs Sport Standard Viajante Super Disponvel Tempo de Montagem (hr) Tempo de Testes (hr) Lucro unitrio ($) 6 2 40 10 2 60 12 4 80 15 5 100 2.000 500

(0)

Z+

x2 +

F1 +

F3 =

Devido a uma greve h falta de tubos de imagem. O fornecedor de tubos de imagem disse que sua produo est desorganizada e que no poder fornecer mais do que 180 tubos de imagem no prximo ms, sendo que destes 180, no mnimo 100 tero que ser a cores. Fazendo: x1 No de televisores modelo Sport a serem fabricados no prximo ms x2 Idem, para modelos Standard x3 Idem, para modelos Viajante x4 Idem,para modelos Super Podemos construir um modelo de P.Linear para resolver o problema:

84

Anlise depois do timo

(MAX) Z = 40x1 + 60x2 + 80x3 + 100x4 s.a 6x1 + 10x2 + 12x3 + 15x4 2000 2x1 + 2x2 + 4x3 + 5x4 500 x1 + x2 + x3 + x4 180 x3 + x4 100 xi 0 Introduzindo as variveis de folga e aplicando o Simplex de 2 fases chegamos ao seguinte sistema: (0) (1) (2) (3) (4) Z + 20x1 + 10x4 + 30F2 + 40F4 = 11000 4x1 2x4 + F1 5F2 8F4 = 300 x1 + x2 + 1 2 1 x4 + 1 2 F2 + 2F4 = 50

1 x4 F2 + F3 F4 = 30 2 2 x3 + x4 F4 = 100

1. Que modelos de televisores devem ser fabricados no prximo ms ? Em que quantidade ? 2. Se por qualquer problema s for possvel ter 1.800 horas para montagem, a resposta do item 1 continua vlida ? 3. Suponha que 80 horas adicionais de teste possam ser obtidas externamente por $4/hora. Isto deve ser feito ? Porque ? 4. Suponha que o lucro do modelo Sport seja alterado de $40 para $45. Qual deveria ser o novo esquema de produo ? 5. A gerncia est considerando a introduo de um novo modelo colorido chamado Matador. Cada unidade deste novo modelo necessita de 10 horas de montagem e 3 horas de teste. O lucro unitrio deste novo modelo ser de $70. Deve-se ou no produzir o novo modelo ? Porque ? Obs: Como a procura muito grande, qualquer modelo produzido, preto e branco ou colorido, ser vendido.

3.9 Exerccios

85

F) Uma marcenaria produz 4 modelos de armrios embutidos. Para fazer cada armrio, 3 operaes bsicas so realizadas: Corte da Madeira, Montagem do Armrio e Acabamento. A capacidade de produo da marcenaria est limitada em 900 horas para corte, 800 horas para montagem e 480 horas para acabamento. O objetivo da firma maximizar seu lucro. Fazendo-se xi ser o nmero de armrios a serem produzidos do modelo i, temos: (MAX) Z = 90x1 + 160x2 + 40x3 + 100x4 s.a 2x1 + 8x2 + 4x3 + 2x4 480 (acabamento) 5x1 + 4x2 + 8x3 + 5x4 800 (montagem) 7x1 + 8x2 + 3x3 + 5x4 900 (corte) xi 0 Usando o Simplex chegamos ao seguinte sistema timo: (0) (1) (2) (3) Z + 10x1 + 130x3 + x2 + 25 2 F1 + 15F2 = 18000

1 5 1 x3 + F1 F2 = 25 8 32 16 1 1 3 x1 + x3 + x4 F1 + F2 = 140 2 8 4 11 5 3 2x1 x3 F1 F2 + F 3 = 0 2 8 4

1. Qual o modelo dual e a soluo tima dual ? 2. Qual deveria ser o lucro de x3 para que ele deixasse de ser igual a zero na soluo tima ? 3. Para que intervalo na capacidade da seo de montagem, a soluo tima permanece tima ? 4. Deve ser fabricado ou no, um novo modelo de armrio que necessita de 20 horas de corte, 3 horas de montagem e 2 horas de acabamento por cada unidade produzida, dando um lucro unitrio de $120 ? (justifique) G) Formular o Dual para o modelo abaixo: (MIN) Z = 3x1 5x2 + 4x3 5x4 s.a x1 + x2 x4 11 3x1 x3 + x4 12 x1 + x2 + x3 + x4 = 18 4x1 5x2 x3 19 x1 , x2 , x4 0 x3 Irrestrita em sinal

86

Anlise depois do timo

H) Considere o seguinte modelo de P.Linear: (MAX) Z = 10x1 + 15x2 + 5x3 s.a 2x1 + x2 6000 3x1 + 3x2 + x3 9000 x1 + 2x2 + 2x3 4000 x1 , x2 , x3 0 Submetido ao Simplex foi encontrada a seguinte soluo final: (0) (1) (2) (3) Z+ 5 20 x3 + F2 + 5F3 = 35000 3 3

x3 + F1 F2 + F3 = 1000 x1 F2 F 3 = 2000 3 3 1 5 x2 + x3 F2 + F3 = 1000 3 3 4 x3 + 2

1. Qual o Lower e o Upper Limit para os coeficientes de x1 , x2 e x3 na funo objetivo ? 2. Idem para as CLD das 3 restries. I) Considere o seguinte modelo de P.Linear: (MAX) Z = 2x1 3x2 + 6x3 s.a 3x1 4x2 6x3 2 2x1 + x2 + 2x3 11 x1 + 3x2 2x3 5 xi 0 Submetido ao Simplex foi encontrado o seguinte sistema final: (0) (1) (2) Z + 4x1 + 6x2 + 3F2 = 33 9x1 x2 + F1 + 3F2 = 35 x1 + 1 2 x2 + x3 + 1 2 F2 = 11 2

(3) 3x1 + 4x2 + F2 + F3 = 16 onde Fi a varivel de folga da restrio i. Responda as perguntas abaixo: 1. Qual o valor mnimo para o coeficiente de x1 na funo objetivo que altera a soluo tima ?

3.9 Exerccios

87

2. Qual o intervalo de variao para a constante do lado direito da 3a restrio que mantm a atual soluo tima como tima ? 3. Suponha que uma nova varivel x4 seja adicionada ao modelo original com coeficientes 4, 2, 3 e 1 respectivamente na funo objetivo e restries. A soluo tima continua a mesma ? (justifique) 4. Como ficaria o sistema final acima se esta varivel x4 estivesse no modelo ?

88

Anlise depois do timo

3.10 Respostas dos exerccios da seo 3.9


Exerccio A 1) 25/21; 3/42; 4/7 2) 34/21; 5/42; 1/7 3) 18/7 4) 4/7 5) Somente a CLD da equao (2) alterada. 260/3; 215/12; 185/7 6) 643/7; 10/7; 569/7; 67/7; sim 7) O Dual do problema original : (MIN) Y = 15y1 + 120y2 + 100y3 s.a y1 + 7y2 + 3y3 4 y1 + 5y2 + 5y3 5 y1 + 3y2 + 10y3 9 y1 + 2y2 + 15y3 11 yi 0 (a) Troque as CLD para 7,8,7 e 13. (b) Troque a funo objetivo para: (MIN) Y = 30y1 + 80y2 + 155y3 (c) Troque a equao (3) para: y1 + 4y2 + 9y3 9 (d) Troque a equao (2) para: y1 + 6y2 9y3 3 (e) Adicione: y1 + y2 + 18y3 13 8) (a) 708/7 (b) 100 9) 3 5 3 10) 13 11) 4 12) 93/7 Exerccio B 1) Z = 11 x2 = 4 x3 = 5 F3 = 11 nica. 3 2) [, 5 3) [, 2 ] 5 4) (a) [3; ] (b) [ 14 ; 34] 3 (c) [1; ]

3.10 Respostas dos exerccios da seo 3.9

89

5) (MIN) Y = 7y1 + 12y2 + 10y3 s.a y1 y2 y3 2 3y1 2y2 4y3 1 y1 + 4y2 + 3y3 3 2y1 + 8y3 2 yi 0 4 1 y3 = 0 Y = 11 6) y1 = 5 y2 = 5 7) Sim 8) 7 9) 7/14; Exerccio C 1) (MIN) Y = y1 + y2 + y3 + y4 + y5 s.a y1 + y5 8 y1 + y2 7 y1 + y3 10 y3 + y4 10 y4 + y5 2 yi 0 2) (MAX) Z = 8x1 + 7x2 + 10x3 + 10x4 + 2x5 s.a x1 + x2 1 x2 + x3 1 x3 + x4 1 x4 + x5 1 x1 + x5 1 3) Z = 37/2 x2 = 1/2 x3 = 1/2 x1 = 1/2 x4 = 1/2 x5 = 1/2 Y = 37/2 y1 = 13/2 y2 = 1/2 y3 = 19/2 y4 = 1/2 y5 = 3/2 4) Y = 19 y1 = 7 y2 = 0 y3 = 10 y4 = 0 y5 = 2 Exerccio D 1) x1 = cadeiras = 700 x2 = bancos = 0 400 x3 = mesas = 3 8300 Z= 3

90

Anlise depois do timo

2) Sim 3) Isto equivale a ter uma nova restrio no Dual: 1, 8y1 + 0, 5y2 + 13y3 L 4 1, 8 1, 166 + 0, 5 0 + 13 L 5 L > 3, 14 20 4) [ ; 5] Com 2,5 a soluo tima no se altera. 9 8300 (3 Logo a soluo atual continua tima e o lucro passa a ser: Z = 3 7250 2.5) 700 = 3 Exerccio E 1) x2 = Standard = 50 x3 = Viajante = 100 Z = 11000 2) [1700; ], Sim 3) Sim, pois o valor implcito $30. 4) O mesmo pois a restrio dual no violada. 5) Sim, pois a nova restrio dual violada. Exerccio F 1) (MIN) Y = 480y1 + 800y2 + 900y3 s.a 2y1 + 5y2 + 7y3 90 8y1 + 4y2 + 8y3 160 4y1 + 8y2 + 3y3 40 2y1 + 5y2 + 5y3 100 y1 = 12, 5 y2 = 15 y3 = 0 2) [40; 170] 170,01 3) [240; 800] 4) Sim, a restrio dual violada. Exerccio G (MAX) Y = 11y1 + 12y2 + 18y3 19y4 s.a y1 + 3y2 + y3 4y4 3 y1 + y3 + 5y4 5 y2 + y3 + y4 = 4 y1 + y2 + y3 5 y1 , y2 , y4 0 y3 Irrestrita em sinal

3.10 Respostas dos exerccios da seo 3.9

91

Exerccio H 1) x1 [7, 5; 15] x2 [11; 20] x3 [; 11, 667] 2) (a) [5000; ] (b) [6000; 10000] (c) [3000; 6000] Exerccio I 1) [2; 6] 6,01 2) [11; ] 3)No, a restrio dual violada. 4) (0) . . . 13x4 = 33 (1) . . . 7x4 = 35 3 (2) . . . x4 = 5, 5 2 (3) . . . 2x4 = 16

92

Anlise depois do timo

Captulo 4
Algortimo dos Transportes

Veremos neste captulo o chamado Algortimo dos Transportes. Este algortimo resolve, de maneira muito mais rpida, modelos de programao linear cuja formulao apresenta certas caractersticas que permitem o uso do algortimo. Veremos tambm que o Algortimo dos Transportes nada mais do que uma forma diferente de se fazer o simplex.

4.1 Um exemplo
Uma empresa tem 3 fbricas que produzem um determinado produto. A capacidade de produo mensal das 3 fbricas de 6, 1 e 10 unidades respectivamente. A empresa tem 4 armazns de vendas que vendem mensalmente 7, 5, 3 e 2 unidades do produto respectivamente. O custo de transportar 1 unidade de cada fbrica para cada armazm est dado na tabela abaixo: Armazm 1 2 3 4 2 1 5 3 0 8 11 6 15 7 1 9

Fbrica 1 2 3

O objetivo da Empresa atender as necessidades dos armazns com a produo das fbricas, com o menor custo total.

94

Algortimo dos Transportes

4.2 Formulao como um modelo clssico de P.Linear


Podemos construir o seguinte modelo para o exemplo: xij unidades a serem transportadas da fbrica i para o armazm j . (MIN) Z = 2x11 + 3x12 + 11x13 + 7x14 + x21 + 6x23 + x24 + 5x31 + +8x32 + 15x33 + 9x34 s.a x11 + x12 + x13 + x14 = 6 (fbrica 1) x21 + x22 + x23 + x24 = 1 (fbrica 2) x31 + x32 + x33 + x34 = 10 (fbrica 3) x11 + x21 + x31 = 7 (armazm 1) x12 + x22 + x32 = 5 (armazm 2) x13 + x23 + x33 = 3 (armazm 3) x14 + x24 + x34 = 2 (armazm 4) xij 0 O sinal de igual das restries deve-se ao fato de que o somatrio da produo das fbricas igual ao somatrio das necessidades dos armazns. Para problemas com esta estrutura particular, qual seja, coeficientes das restries iguais a 0 ou 1, que podemos utilizar o chamado Algortimo dos Transportes. Ele tem este nome porque os exemplos so, como acima, normalmente de modelos de transporte mas na verdade, qualquer modelo de P.Linear que tenha este tipo de estrutura, pode ser resolvido pelo algortimo.

4.3 Quadro (tableau) usado no algortimo dos transportes


Fontes (Fbricas)
2

Destinos (Armazns) 1 2 3 4
3 11 7

Disp. 6 1 10

1
1

x11
0

x12
6

x13
1

x14 x24
9

2
5

x21
8

x22 x32 5

x23
15

3 Nec.

x31 7

x33 3

x34 2

Podemos observar que todo o modelo, ou seja a funo objetivo e as restries esto escritas no quadro.

4.4 Fonte ou destino artificial

95

4.4 Fonte ou destino artificial


O algortimo dos transportes obriga que o somatrio das disponibilidades seja igual ao somatrio das necessidades, o que nem sempre ocorre na prtica. Para exemplificar, vamos supor que a capacidade de produo da fbrica 3 seja de 20 unidades, em vez de 10. 1
2 3 0 8

2
11 6 15

3
7

Disp. 6

1
1 1

2
5 9

1 20 7 5 3 2

3 Nec.

Ser necessrio criar ento um destino ARTIFICIAL (destino 5), com custos de transporte iguais a ZERO (o destino no existe fisicamente): 1
2 3 0 8

2
11 6 15

3
7 1 9

4
0

Disp. 6

1
1 0

2
5 0

1 20 7 5 3 2 10

3 Nec.

Se o somatrio das necessidades for maior que o somatrio das disponibilidades, temos que criar uma fonte artificial.

4.5 Impossibilidade de transporte


Vamos supor que no nosso exemplo exista uma impossibilidade de transporte entre a fbrica 2 e o armazm 4. Se esta condio est presente no modelo, precisamos garantir que na soluo final teremos x 24 = 0, ou seja, que o valor timo de x24 seja igual a 0. O objetivo do modelo de transportes minimizar o custo total. Assim, se atribuirmos um custo unitrio muito alto para a cela (2,4) estaremos criando uma penalidade ou multa para o valor de Z se a varivel x24 for diferente de zero, lembrando que ela no pode ser negativa. Este fato far com que, naturalmente, o valor de x24 seja levado para zero na soluo tima.

96

Algortimo dos Transportes

Em programao matemtica, esta multa chamada de Big M e representada por um M maisclo. Quando resolvemos modelos a mo, podemos trabalhar com o prprio M mas nos computadores, o M substitudo por um nmero muito grande (100.000.000, por exemplo).

4.6 Etapas do algortimo dos transportes


As etapas bsicas do Algortimo dos Transportes so: 1. Obter uma soluo bsica inicial. 2. Dada uma soluo bsica testar se ela a tima. 3. Se no for a tima, obter a melhor sol. bsica adjacente e voltar a etapa 2. Como dissemos anteriormente, o Algortimo dos Transportes nada mais do que um simplex feito de uma maneira diferente. Logo, nada mais natural que os seus passos sejam exatamente os do Simplex.

4.7 Nmero de variveis bsicas nas solues bsicas


O nmero de variveis bsicas em uma soluo bsica igual ao nmero de equaes linearmente independentes. Em nosso exemplo, a primeira vista, cada soluo bsica teria 7 variveis bsicas , ou seja, o nmero de equaes (restries) do problema. Ocorre no entanto que, como o somatrio das disponibilidades igual ao somatrio das necessidades, dadas 6 das equaes, a stima no mais independente. Logo temos na verdade 6 equaes independentes. Genericamente se temos m fontes e n destinos, cada soluo bsica ter (m + n 1) variveis bsicas e (m n) (m + n 1) variveis no bsicas.

4.8 Mtodos para achar a soluo bsica inicial


Existem vrios mtodos para se achar a soluo bsica inicial no mtodo dos transportes. Usaremos o chamado Mtodo de Aproximao de Vogel que reconhecidamente o melhor deles, ou seja, aquele cuja soluo bsica inicial, geralmente, est mais prxima da soluo tima. Etapas do Mtodo 1. Calcule para cada linha e cada coluna a diferena entre os 2 menores custos. No caso dos 2 menores custos serem iguais a diferena zero. 2. Identifique a linha ou coluna com a maior diferena. No caso de empate a escolha arbitrria.

4.8 Mtodos para achar a soluo bsica inicial

97

3. Coloque a maior quantidade possvel na cela de menor custo da linha ou coluna identificada na etapa 2. 4. Elimine a linha ou coluna esgotada. No caso em que uma linha e uma coluna so esgotadas ao mesmo tempo, s podemos esgotar uma delas ficando a outra com zero, mas no esgotada. 5. Voltar a etapa 1. Exemplo: Achar a soluo bsica inicial do nosso exemplo Comeamos achando a diferena entre os 2 menores custos de cada linha e de cada coluna, obtendo: Armazm 2 3
3 0 8 11 6 15 7

Fbrica
2

Disp. 6

Diferenas 1 1 3

1
1 1

2
5 9

1 10 7 1 5 3 3 5 2 6

3 Nec. Diferenas

Na 4a coluna temos a maior diferena (6). Nesta coluna, escolhemos a cela com o menor custo. a cela correspondente a x24 que tem custo igual a 1. Agora temos que atribuir a maior quantidade possvel para x24 , lembrando que a soma da linha 2 tem que dar 1 e a soma da coluna 4 tem que dar 2. Assim, o maior valor que pode ser atribudo a x24 o MIN(1,2), ou seja 1. Ao se atribuir 1 a x24 , a linha 2 fica esgotada, ou seja nada pode ser atribudo as outras variveis da linha (sero variveis no bsicas = 0) pois a soma j deu 1. Por sua vez, na coluna 4, cuja soma tem que dar 2, fica faltando 1 pois 2 1 = 1. Temos que recalcular as diferenas entre os 2 menores custos de cada linha e coluna, sem considerar a linha 2 que est eliminada. Como a ltima eliminao foi de uma linha, a diferena nas linhas, obviamente, no se alteraram. Basta ento calcular as diferenas das colunas, obtendo-se:

98 Armazm 2 3
3 11 7

Algortimo dos Transportes

Fbrica
2

Disp. 6

Diferenas 1

1 2
5 8 15 9

1 10 3

3 Nec. Diferenas 7 3 5 5 3 4 1 2

A maior diferena est agora na 2a coluna (5). A cela de menor custo (=3) nesta coluna a correspondente a varivel x12 . Como a soma da linha tem que dar 6 e a soma da coluna tem que dar 5, a maior quantidade que pode ser atribuda a x12 o MIN(5,6), ou seja 5. Com 5 em x12 , a coluna fica esgotada e na linha ainda fica faltando 1 (6 5). Temos quer voltar a calcular a diferena entre os 2 menores custos, sem considerar a coluna 2 que est eliminada. Como acabamos de eliminar uma coluna, as diferenas s podem ter se alterado nas linhas. Temos ento: Armazm 2 3
11 7

Fbrica
2

Disp. 1

Diferenas 5

1 2
5

5 1
15 9

1 10 4

3 Nec. Diferenas 7 3 5
.

3 4

1 2

A maior diferena est agora na 1a linha (5). A cela de menor custo desta linha a correspondente a x11 que tem custo igual a 2. O mximo que conseguimos atribuir a x11 o MIN(1,7) ou seja 1. Ao fazer isto, a linha 1 fica esgotada e na coluna 1 ficam ainda faltando 6 (7 1). Eliminando-se a linha 1, temos a seguinte matriz:

4.8 Mtodos para achar a soluo bsica inicial

99

Fbrica 1 2
5

1 1

Armazm 2 3 5

Disp. 6

1
15 9

1 10

3 Nec. 6 5 3 1

Neste ponto no mais necessrio seguir com o algortimo pois como na coluna 1 s resta, com possibilidade de receber valor, a cela correspondente a varivel x31 e restam 6 para serem atribudos, fazemos x31 = 6. Aplicando-se o mesmo raciocnio, temos x33 = 3 e x34 = 1. Temos ento a soluo bsica inicial: Armazm 2 3
3 11 7

Fbrica
2

1 1
1

Disp. 6

1 2
5

5
0 8 6 15 1

1
9

1 10

3 Nec.

6 7 5

3 3

1 2

x11 = 1 x13 = 0 x = 5 x = 0 12 14 x24 = 1 x21 = 0 VB VNB x31 = 6 x22 = 0 x = 3 x = 0 33 23 x34 = 1 x32 = 0 Z = 1 2 + 5 3 + 1 1 + 6 5 + 3 15 + 1 9 = 102

100

Algortimo dos Transportes

Exerccio: Achar a soluo bsica inicial, pelo mtodo de Vogel, para o modelo abaixo: Fbrica
5

1
8 5 2

Armazm 2 3
3 7 4 6

Disp. 30

1
4 M

2
6 5

50 40 30 20 40 30

3 Nec.

Calculando as diferenas entre os menores custos, temos: Armazm 2 3


8 5 2 3 7 4 6

Fbrica
5

Disp. 30

Diferenas 2 1 2

1
4 M

2
6 5

50 40 30 1 20 3 40 1 30 1

3 Nec. Diferenas

A maior diferena est na 2a coluna. A cela de menor custo desta coluna a correspondente a x32 . O mximo possvel de atribuir a x32 igual ao MIN(40,20), ou seja 20. Esgota-se a 2a coluna e ficam faltando 20 (= 40 20) na 3a linha. Recalculando-se as diferenas (s das linhas) temos:

4.8 Mtodos para achar a soluo bsica inicial

101

Fbrica
5

Armazm 2 3
3 7 4 6

Disp. 30

Diferenas 2 3 1

1
4 M

2
6 5

50 20 30 1 20
.

3 Nec. Diferenas

20 40 1 30 1

A maior diferena est na 2a linha. A cela de menor custo a de x21 . O mximo possvel de se colocar o MIN(50,30), ou seja 30. Com isto esgota-se a 1a coluna e ficam restando 20 na 2a linha. Recalculando-se as diferenas (s das linhas), temos: Armazm 2 3
3 6

Fbrica 1

Disp. 30

Diferenas 3 M7 1

2 3 Nec. Diferenas

30
4 5

20 20 20 40 1 30 1

30
.

20
.

A maior diferena est na 2a linha (M 7). A cela de menor custo a que corresponde a x23 . Pode-se colocar nela o MIN(20,40), ou seja 20. Esgota-se a 2a linha e na 3a coluna ainda restam 20. Recalculando-se as diferenas (s das colunas), temos:

102 Armazm 2 3
3 6

Algortimo dos Transportes

Fbrica 1 2 3 Nec. Diferenas

Disp. 30

Diferenas 3

30
4

20
5

50 20 1

20 30
.

20
.

20 1

30 1

A maior diferena est na 1a linha. A cela de menor custo corresponde a x13 e podemos colocar o MIN(30,20), ou seja 20. Esgota-se a 3a coluna e na 1a linha restam 10 (= 30 20). Temos ento: Armazm Fbrica 1 2 3 Nec. 30 30 20 20 40 30 1 2 3
6

Disp. 10 50

20 20
5

20

Como na 4a coluna s restam as celas (1,4) e (3,4) temos x14 = 10 e x34 = 20. A soluo bsica inicial : Fbrica
5

Armazm 2 3
8 5 3 6

4 10
M

Disp. 30 50

1
4 7

20 30
6 2 4

2 3 Nec.

20
5

20 30 20 40

20 30

40

4.9 Esgotamento simultneo de linha e coluna

103

x = 20 13 x = 10 14 x21 = 30 VB VNB as demais = 0 x = 20 23 x = 20 32 x34 = 20 Z = 3 20 + 6 10 + 4 30 + 7 20 + 2 20 + 5 20 = 520

4.9 Esgotamento simultneo de linha e coluna


Vamos supor que em determinado ponto do mtodo de Vogel temos o seguinte: Armazm 2 3
8 5 2 3 7 4 6

Fbrica
5

Disp. 30

Diferenas 2 1 2

1
4 M

2
9 8

50 30 30 1 30 3 40 1 10 2

3 Nec. Diferenas

A maior diferena est na 2a coluna. A cela de menor custo a que corresponde a x32 . O mximo que podemos atribuir a varivel igual ao MIN(30,30), ou seja 30. Tanto a linha como a coluna so esgotadas mas s podemos esgotar uma delas. A escolha arbritria. Escolhendo-se a coluna para esgotar, na linha vai ficar faltando 0 (= 30 30). Temos ento, recalculando-se a diferena entre os menores custos:

104 Armazm 2 3
3 7 4 6

Algortimo dos Transportes

Fbrica
5

Disp. 30

Diferenas 2 3 4

1
4 M

2
9 8

50 30 30 1 30
.

3 Nec. Diferenas

0 40 1 10 2

A maior diferena est agora na 3a linha. A cela de menor custo (3,3) e o maior valor que podemos atribuir a x33 igual ao MIN(0,40), ou seja 0. Logo x33 vai ser uma varivel bsica degenerada na soluo bsica inicial. Recalculando-se a diferena entre os 2 menores custos temos: Armazm 2 3
3 7 6

Fbrica
5

Disp. 30

Diferenas 2 3

1
4 M

2 3 Nec. Diferenas 30 1 30 30
.

50 0 40 4 10 M6 30

Pode-se prosseguir normalmente com o algortimo.

4.10 Teste para saber se uma soluo bsica tima

105

4.10 Teste para saber se uma soluo bsica tima


Vamos voltar a formulao do nosso exemplo do incio do captulo: (MIN) Z = 2x11 + 3x12 + 11x13 + 7x14 + x21 + 6x23 + x24 + 5x31 + +8x32 + 15x33 + 9x34 s.a x11 + x12 + x13 + x14 = 6 v1 x21 + x22 + x23 + x24 = 1 v2 x31 + x32 + x33 + x34 = 10 v3 x11 + x21 + x31 = 7 w1 x12 + x22 + x32 = 5 w2 x13 + x23 + x33 = 3 w3 x14 + x24 + x34 = 2 w4 xij 0 Vamos construir o modelo Dual: (MAX) Y = 6v1 + v2 + 10v3 + 7w1 + 5w2 + 3w3 + 2w4 s.a v1 + w1 2 x11 v1 + w2 3 x12 v1 + w3 11 x13 . . .

vi + wj cij xij
vi, wj Irrestritas em sinal Vamos supor que temos a seguinte soluo bsica: 1
2 3

2
11 6

3
7

Disp. 6

1
1

6
0 1

2
5 8

1
15 9

1 3 3 2 2 10

3 Nec.

1 7

4 5

106

Algortimo dos Transportes

x = 6 11 x = 1 22 x31 = 1 VB VNB as demais = 0 x = 4 32 x = 3 33 x34 = 2 Z = 112 Vamos escrever as restries do modelo dual associadas s variveis bsicas: x11 v1 + w1 2 x22 v2 + w2 0 x31 v3 + w1 5 x32 v3 + w2 8 x33 v3 + w3 15 x34 v3 + w4 9 Como o coeficiente de varivel bsica na equao (0) igual a zero temos: vi + wj cij = 0 pois o Lesq Ldir da restrio dual associada igual ao coeficiente da varivel na eq.(0), ou seja igual a zero no caso de variveis bsicas. Assim, por causa desta propriedade podemos escrever: v1 + w1 2 = 0 v2 + w2 0 = 0 v3 + w1 5 = 0 v3 + w2 8 = 0 v3 + w3 15 = 0 v3 + w4 9 = 0 Como temos 6 equaes e 7 incgnitas, escolhemos uma das variveis (preferencialmente a que aparece mais) e atribumos um valor qualquer (normalmente zero). Assim fazendo v3 = 0 temos como soluo do sistema: w4 = 9, w3 = 15, w2 = 8, w1 = 5, v2 = 8, v1 = 3 Para saber se uma soluo bsica tima temos que olhar a equao de Z (eq. 0), ou seja, os coeficientes das variveis no bsicas que so os que aparecem na equao (0). Para obter estes coeficientes basta aplicar a propriedade que diz que o Lesq Ldir da restrio dual associada igual ao coeficiente da varivel na eq. (0). Assim temos: x12 v1 + w2 c12 = 2 x13 v1 + w3 c13 = 1 x14 v1 + w4 c14 = 1 x21 v2 + w1 c21 = 4 x23 v2 + w3 c23 = 1 x24 v2 + w4 c24 = 0 Logo a equao (0) : (0) Z + 2x12 + x13 x14 4x21 + x23 = 112 Como o problema de minimizao, a soluo no tima e as candidatas varivel entrante so x12 , x13 e x23 . Como x12 tem o maior coeficiente ela a varivel entrante.

4.10 Teste para saber se uma soluo bsica tima

107

Escolha da varivel sainte: 1 1 2 3 Nec. 1 7 6 2 + 1 4 5 3 3 2 2 3 4 Disp. 6 1 10

O + na cela (1,2) indica que a varivel x12 (entrante) vai sair de no bsica (=0) para bsica onde ela vai ser maior que zero (vamos esquecer, por ora, que ela pode ser bsica degenerada, ou seja tambm igual a zero). Considerando ento que ela vai ser maior que zero, para que a soma da 1a linha continue dando 6, temos que diminuir em uma das 3 outras celas da linha. No entanto, impossvel se diminuir qualquer valor das celas (1,3) e (1,4) pois isto faria com que as variveis x13 e x14 se tornassem negativas. Logo a nica varivel que pode ser diminuda x11 . Temos ento: 1 1 2 3 Nec. 1 7 6 2 + 1 4 5 3 3 2 2 3 4 Disp. 6 1 10

No entanto se x11 vai diminuir de valor, para a soma da 1a coluna continuar dando 7 temos que aumentar x21 ou x31 . No podemos aumentar x21 pois teramos uma 2a varivel entrante. Logo teremos que aumentar x31 . Temos ento: 1 1 2 3 Nec. 1+ 7 6 2 + 1 4 5 3 3 2 2 3 4 Disp. 6 1 10

Como vamos aumentar x31 , para a 3a linha continuar somando 10, teremos que diminuir uma das outras celas da 3a linha. Se diminuirmos x34 , teramos que aumentar uma das celas da 4a coluna e isto faria com que tivssemos uma 2a varivel entrante. O mesmo raciocnio se aplica para x33 . Logo a diminuio s pode acontecer em x32 . Temos ento:

108 1 1 2 3 Nec. 1+ 7 6 2 + 1 4 5 3 3 2 2 3 4

Algortimo dos Transportes

Disp. 6 1 10

Pode-se observar que se formou um lao fechado de + e . Sempre se forma um lao fechado e se no possvel fech-lo, porque a resoluo contm algum erro. Neste ponto o objetivo atribuir o maior valor possvel para a varivel entrante sem que, obviamente, nenhuma outra varivel se torne negativa. Assim, as candidatas a varivel sainte so x11 e x32 pois elas esto sendo diminudas quando se aumenta a entrante. Quando a entrante (x12 ) chega a 4, x32 chega a zero, logo ela a varivel sainte. A nova soluo bsica passa a ser (4 somado e subtrado no lao): 1 1 2 3 Nec. 5 7 5 2 2 4 1 3 3 2 2 3 4 Disp. 6 1 10

x = 2 11 x = 4 12 x22 = 1 VNB as demais = 0 VB x = 5 31 x = 3 33 x34 = 2 Z = 104 Para saber se esta soluo tima no precisamos escrever todas as equaes do modelo dual pois podemos usar o prprio quadro para fazer o teste. 1
2 3

2
11

3
7 1 9

vi

1
1

2
5 8

15

3 wj

4.10 Teste para saber se uma soluo bsica tima

109

Atribumos um valor (zero de preferncia) a um dos vi ou wj . Para facilitar podemos escolher a linha com mais variveis bsicas (marcadas com ). Como a 3a linha que tem mais variveis bsicas, vamos fazer v3 igual a zero. Assim para a varivel bsica x31 temos v3 + w1 C31 = 0. Como C31 = 5, temos W1 = 5. Para a varivel bsica x33 temos v3 + w3 C33 = 0. Como C33 = 15, temos que W3 = 15. Para x34 , onde v3 + w4 C34 = 0, e C34 = 9, temos W4 = 9. Temos at aqui: 1
2 3

2
11

3
7 1 9

vi

1
1

2
5 8

15

3 wj

15

Para a varivel bsica x11 temos v1 + w1 C11 = 0. Como w1 = 5 e C11 = 2, temos v1 = 3. Para a varivel x12 temos v1 + w2 C12 = 0. Como v1 = 3 e C12 = 3, temos w2 = 6. Finalmente para x22 temos v2 + w2 C22 = 0. Como w2 = 6 e C22 = 0, temos v2 = 6. Temos ento: 1
2 3

2
11

3
7

vi -3

1
1

6 1

2
5 8

15 9

-6 9 0

3 wj

5 6

15

Tendo encontrado os valores dos vi e wj podemos usar a relao vi + wj cij para achar os coeficientes das variveis no bsicas (as no marcadas com ) na equao de Z . Assim, por exemplo, para x13 temos v1 + w3 C13 ou 3 + 15 11 = 1. Fazendo de forma semelhante para as demais variveis no bsicas, temos:

110 1
2 3

Algortimo dos Transportes

2
11

3
7

4 -1
1

vi -3 -6 0

1
1

1 3
15 9

2
5

-2
8

-2 6

2 9

3 wj

15

As candidatas a varivel entrante (coeficientes > 0) so x13 , x23 e x24 . Como x23 tem o maior coeficiente ela a escolhida. Escolha da varivel sainte: 1 1 2 3 Nec. 5 7 5 2 2 4 1 + 3 3 2 2 3 4 Disp. 6 1 10

Formando-se o lao fechado, chegamos a: 1 1 2 3 Nec. 5+ 7 5 2 2 4+ 1 + 3 3 2 2 3 4 Disp. 6 1 10

As candidatas a varivel sainte so x33 , x11 e x22 . Como x22 chega a zero primeiro (quando a entrante chega a 1) ela a varivel sainte. A nova soluo bsica (somando-se e subtraindo-se 1 no lao) fica: 1 1 2 3 Nec. 6 7 5 1 2 5 1 2 3 2 2 3 4 Disp. 6 1 10

4.10 Teste para saber se uma soluo bsica tima

111

x = 1 11 x = 5 12 x23 = 1 VB VNB as demais = 0 x = 6 31 x = 2 33 x34 = 2 Z = 101 No teste para saber se esta soluo a tima, vamos fazer v3 = 0. Usando-se vi + wj Cij = 0 para as variveis bsicas, chegamos a: 1
2 3

2
11

3
7

vi -3

1
1

0 8

6 1

2
5 15

-9 9 0

3 wj

5 6

15

Calculando-se vi + wj Cij para as variveis no bsicas, temos: 1


2 3

2
11

3
7

4 -1
1

vi -3 -9 0

1
1

1
15 9

2
5

-5
8

-3 -2 6

-1 9

3 wj

15

Como a nica que tem coeficiente maior que zero, x13 a varivel entrante. Escolha da varivel sainte: 1 1 2 3 Nec. 6+ 7 5 1 2 5 3 + 1 2 3 2 2 4 Disp. 6 1 10

112

Algortimo dos Transportes

Como x11 chega a zero quando a entrante chega a 1, ela a varivel sainte. A nova soluo bsica (somando-se e subtraindo-se 1 no lao) : 1 1 2 3 Nec. x12 = 5 x13 = 1 x23 = 1 VB x31 = 7 x33 = 1 x34 = 2 Z = 100 7 7 5 2 5 3 1 1 1 3 2 2 4 Disp. 6 1 10

VNB

as demais = 0

No teste para saber se a soluo bsica tima, vamos fazer v3 = 0. Usando-se vi + wj Cij = 0 para as variveis bsicas, calculamos os demais vi e wj : 1
2 3

2
11

3
7

vi -4

1
1 0 8

2
5 15

-9 9 0

3 wj

5 7

15

Calculando os coeficientes das variveis no bsicas na equao de Z (usando vi + wj Cij ) chegamos a:

4.11 Solues bsicas degeneradas

113 2
3 11

1
2

3
7

4 -2
1

vi -4 -9 0

1
1

-1
0


15 9

2
5

-5
8

-2 -1 7

-1 9

3 wj

15

Como coeficientes maior que zero, a soluo atual tima. Logo: nenhum dos x12 = 5 x13 = 1 x23 = 1 VNB as demais = 0 VB x = 7 31 = 1 x 33 x34 = 2 Z = 100 Caso algum dos coeficientes fosse igual a zero teramos solues timas alternativas (como obt-las ?).

4.11 Solues bsicas degeneradas


Sendo na soluo abaixo x24 a varivel entrante, vamos escolher a varivel sainte: 1 1 2 3 Nec. 7 7 5 2 5 3 1 1 1+ 3 + 1 2 4 Disp. 6 1 9

As candidatas a varivel sainte so x23 e x34 . H no entanto um empate, ou seja, as duas chegam a zero no momento que a entrante chega a 1. Neste caso a escolha arbitrria e a no escolhida como sainte ser uma varivel bsica degenerada. Escolhendo x34 como a sainte temos a seguinte soluo bsica:

114 1 1 2 3 Nec. 7 7 5 2 5 3 1 0 2 3 1 1 4 Disp. 6 1 9

Algortimo dos Transportes

Como regra geral se temos um empate entre n candidatas a varivel sainte, teremos n 1 variveis bsicas degeneradas. Vamos supor agora que nesta soluo bsica, x22 seja a varivel entrante. Temos o seguinte lao: 1 1 2 3 Nec. 7 7 5 2 5 + 3 1+ 0 2 3 1 1 4 Disp. 6 1 9

Como x23 uma varivel bsica degenerada e j igual a zero, ela no pode ser diminuda pois ficaria negativa. Assim, ela ser a varivel sainte e a entrante ser uma bsica degenerada. A nova soluo ser: 1 1 2 3 Nec. 7 7 5 2 5 0 2 3 1 3 1 1 4 Disp. 6 1 9

O algortimo deve prosseguir normalmente sendo a varivel bsica degenerada tratada como uma varivel bsica qualquer.

4.12 O Modelo da Baldeao

115

4.12 O Modelo da Baldeao


Exemplo: Um determinado produto produzido em 2 fbricas e remetido para 3 armazns. A capacidade de produo mensal das fbricas de 100 e 200 unidades do produto respectivamente. Cada um dos armazns necessita 100 unidades do produto por ms. O produto pode ser transportado de uma fbrica para um armazm passando por qualquer outra fbrica ou armazm intermedirio. O custo de transportar cada unidade entre armazns e fbricas est dado na tabela abaixo: Fbricas 1 2 Fbricas 1 2 I Armazns II III 10 20 40 60 80 80 20 70 Armazns I II III 10 20 10 80 20 50 40 20 30 40 10 20

O objetivo atender as necessidades dos armazns com a produo das fbricas com o menor custo total de transporte.

4.13 Diferena entre Transporte e Baldeao


No modelo de transporte qualquer quantidade sai diretamente de uma fonte para um destino no podendo passar por nenhum ponto intermedirio. No modelo de baldeao o transporte de uma determinada quantidade pode, eventualmente, passar por vrios pontos intermedirios no caminho entre uma fonte e um destino. Estes pontos intermedirios podem ser outras fontes ou mesmo outros destinos. bvio que o objetivo continua sendo minimizar o custo total de transporte. Sendo assim, s vai ocorrer baldeao se isto for mais barato do que transportar diretamente.

116

Algortimo dos Transportes

4.14 Adaptao do modelo da baldeao ao algortimo do transporte


1
0 80 0 30 20 70

2
10 20 0 10 80

I
20 50 40 0 20

II

III
30

Disp. 100+300

1
10 40

2
20 10

200+300 +300
40 20

I II
60 0

+300 +300 +300 +300 100+300 100+300 100+300

III Nec.

Como a soluo tima implica em que uma quantidade no passe 2 vezes pelo mesmo ponto, se somarmos a quantidade total envolvida (300 no exemplo) a cada fonte e a cada destino estaremos garantindo a praticabilidade da quantidade que sofre baldeao. Antes de somar esta quantidade se a produo das fbricas for maior que a necessidade dos armazns, temos que criar um armazm articial com a diferena entre o ( disponibilidades necessidades). Se for o inverso, criamos uma fbrica articial. Aplicando o algortimo dos transportes no problema modificado chegaremos a seguinte soluo tima: 1 1 2 I II III 300 300 2 I 0 200 200 300 300 100 II 100 III

Eliminando os termos da diagonal pois no tem sentido fsico, obtemos a soluo tima para o problema de baldeao:

4.14 Adaptao do modelo da baldeao ao algortimo do transporte

117

100

200 2 II

100

III Z = 100 20 + 200 20 + 100 10 = 7.000

118

Algortimo dos Transportes

4.15 O Modelo da Atribuio ou da Designao


O chamado modelo da atribuio consiste na formulao e soluo de problemas do tipo: Atribuir m tarefas m mquinas de maneira que cada tarefa seja feita por apenas 1 mquina e uma mquina faa apenas uma tarefa, com o menor custo total. Exemplo: Quatro tarefas tem que ser atribudas 4 mquinas. O custo de atribuir cada tarefa cada mquina est dado na tabela abaixo: Mquinas I II III IV 10 3 2 4 9 4 1 3 8 5 1 5 7 6 2 6

Tarefas 1 2 3 4

Deseja-se escolher que mquina deve fazer que tarefa de maneira que o custo total seja mnimo. Este problema pode ser resolvido como um modelo de transportes em que todas as disponibilidades e todas as necessidades so iguais a 1. Tarefas 1 2 3 4 Nec. Mquinas I II III IV 10 3 2 4 1 9 4 1 3 1 8 5 1 5 1 7 6 2 6 1 Disp. 1 1 1 1

Cada soluo bsica ter 7 variveis bsicas e como qualquer varivel xij (tarefa i atribuda mquina j ) s pode ser 0 ou 1, teremos sempre 3 variveis bsicas degeneradas. Para resolver este tipo de problema foi desenvolvido um algortimo bem mais rpido que o de transportes. Este algortimo conhecido como Algortimo Hngaro.

4.16 Passos do Algortimo


a) Subtraia o menor custo de cada linha de cada um dos custos da linha, obtendo uma nova matriz de custos. b) Tente fazer a atribuio nos custos iguais a zero.

4.16 Passos do Algortimo

119

c) Se no foi possvel fazer todas as atribuies, subtraia o menor custo de cada coluna de cada custo da coluna, obtendo uma nova matriz de custos. d) Tente fazer a atribuio nos custos iguais a zero. e) Se no foi possvel fazer todas as atribuies, risque todos os zeros com o menor nmero possvel de linhas verticais e horizontais. O nmero de linhas deve ser igual ao nmero mximo de atribuies que se conseguiu fazer no passo anterior. f) Subtraia de cada custo no riscado pelas linhas, o menor dos custos no riscados. g) Some este menor custo dos no riscados s interseces das linhas traadas no passo e. h) Voltar ao passo d. Vejamos ento a aplicao do algortimo ao nosso problema: Mquinas I II III IV 10 3 2 4 9 4 1 3 8 5 1 5 7 6 2 6

Tarefas 1 2 3 4

Passo a: Subtrair, em cada linha, o menor custo da linha de todos os outros custos da linha. Temos ento: I 1 2 3 4 3 0 1 1 II 2 1 0 0 III 1 2 0 2 IV 0 3 1 3

Passo b: Tentar fazer a atribuio nos custos iguais a 0. I 1 2 3 4 3 0 1 1 II 2 1 0 0 III 1 2 0 2 IV 0 3 1 3

120

Algortimo dos Transportes

Como foi possvel fazer a atribuio (um para um) nos custos iguais a zero, encontramos a soluo tima: Tarefa Mquina Custo 1 IV 7 2 I 3 3 III 1 4 II 3 Z = 14 Exemplo 2: Quatro tarefas tem que ser atribudas a 4 mquinas. O custo de atribuir cada tarefa a cada mquina est dado abaixo: Mquinas I II III IV 10 5 5 2 9 8 4 3 7 7 6 4 8 7 5 5

Tarefas 1 2 3 4

Vamos aplicar o algortimo: Passo a: Subtrair, em cada linha, o menor custo da linha de todos os outros custos da linha. Temos ento: I 1 2 3 4 3 0 1 0 II 2 3 0 1 III 0 2 2 2 IV 1 2 1 3

Passo b: Tentar fazer a atribuio nos custos iguais a 0. Temos ento: I 1 2 3 4 3 0 1 0 II 2 3 0 1 III 0 2 2 2 IV 1 2 1 3

Como no conseguimos fazer as 4 atribuies, vamos para o passo seguinte. Passo c: Subtrair, em cada coluna, de cada custo da coluna o menor custo da

4.16 Passos do Algortimo

121

coluna. Temos ento: I 1 2 3 4 3 0 1 0 II 2 3 0 1 III 0 2 2 2 IV 0 1 0 2

Passo d: Tentar fazer a atribuio nos custos iguais a zero. Temos: I 1 2 3 4 3 0 1 0 II 2 3 0 1 III 0 2 2 2 IV 0 1 0 2

No mximo, s conseguimos fazer 3 atribuies. Passo e: Riscar todos os zeros, com linhas verticais e horizontais. O nmero de linhas tem que ser igual ao nmero mximo de atribuies que se fez no passo d (3 no nosso caso). Temos ento: I 1 2 3 4 3 0 1 0 II 2 3 0 1 III 0 2 2 2 IV 0 1 0 2

A matriz possui agora 2 tipos de custos: riscados pelas linhas e no riscados. Passos f e g: Subtrair o menor dos custos no riscados de todos os no riscados e somar este menor no riscado as interseces das linhas traadas. Obs. Os custos riscados que no esto nas interseces, se mantm inalterados. Temos ento:

122 I 1 2 3 4 4 0 2 0 II 2 2 0 0 III 0 1 2 1 IV 0 0 0 1

Algortimo dos Transportes

Voltamos ao Passo d: Tentar fazer a atribuio nos custos iguais a zero. Temos ento: I 1 2 3 4 Achamos uma Soluo tima: Tarefa Mquina Custo 1 III 7 2 IV 7 3 II 4 4 I 2 Z = 20 Temos outra soluo tima: I 1 2 3 4 Tarefa Mquina 1 III 2 I 3 IV 4 II Custo 7 5 5 3 Z = 20 4 0 2 0 II 2 2 0 0 III 0 1 2 1 IV 0 0 0 1 4 0 2 0 II 2 2 0 0 III 0 1 2 1 IV 0 0 0 1

4.17 Impossibilidade de atribuio

123

4.17 Impossibilidade de atribuio


Temos 4 mquinas para serem atribudas para 4 tarefas. O custo de atribuir cada tarefa a cada mquina est dado na tabela a seguir: Mquinas I II III IV 10 5 5 9 8 4 3 7 6 4 8 7 5 5

Tarefas 1 2 3 4

Por razes tcnicas, a tarefa 1 no pode ser feita pela mquina III e a mquina I no pode fazer a tarefa 4. Este o caso em que temos que garantir que, na soluo tima, tanto x1,III quanto x4,I sejam iguais a zero. Para forar esta situao vamos atribuir, da mesma forma que fizemos no algortimo dos transportes, um custo muito alto a estas variveis. Este custo, que chamamos de M, representa um valor to grande quanto se queira imaginar. Assim teramos: Mquinas I II III IV 10 5 5 M 9 8 4 3 M 7 6 4 8 7 5 5

Tarefas 1 2 3 4

Na resoluo manual do algortimo, o M tem que ser considerado como um nmero muito grande.

4.18 Fontes ou destinos artificiais


A aplicao do algortimo hngaro deve ser feita sempre em uma matriz quadrada. Assim se o no de tarefas maior que o no de mquinas devemos criar tantas mquinas artificiais quantas sejam necessrias para tornar a matriz quadrada. O custo de atribuir uma tarefa uma mquina artificial zero. Se o nmero de mquinas que for maior, criamos tarefas artificiais. Como exemplo, vamos supor que temos 4 tarefas para serem atribudas a 6 mquinas. O custo de atribuir cada tarefa a cada mquina est dado na tabela a seguir:

124 Mquinas II III IV V 9 8 4 3 6 7 6 4 8 7 5 5 9 4 11 7

Algortimo dos Transportes

Tarefas 1 2 3 4

I 10 5 5 10

VI 10 8 8 9

Para aplicarmos o algortimo, temos que criar 2 tarefas artificiais, com custos iguais a zero: Mquinas II III IV V 9 8 4 3 0 0 6 7 6 4 0 0 8 7 5 5 0 0 9 4 11 7 0 0

Tarefas 1 2 3 4 5 6

I 10 5 5 10 0 0

VI 10 8 8 9 0 0

Aplica-se ento normalmente o algortimo hngaro (deixado como exerccio). Na soluo tima, as tarefas 5 e 6 (artificiais) so atribudas s mquinas IV e VI. Logo estas 2 mquinas ficaro sem tarefa para fazer. No exemplo acima, se tivssemos mais tarefas do que mquinas, criaramos mquinas artificiais.

4.19 Exerccios

125

4.19 Exerccios
A) Uma empresa tem 3 fbricas produzindo um certo produto que deve ser remetido para 4 centros de distribuio. As fbricas 1, 2 e 3 produzem 12, 17 e 11 unidades do produto, por ms, respectivamente. Cada centro de distribuio necessita receber 10 unidades por ms. A distancia de cada fbrica para cada um dos centros de distribuio mostrado abaixo (em kms) : Centro de Distribuio Fbricas 1 2 3 1 800 1100 600 2 1300 1400 1200 3 400 600 800 4 700 1000 900

O custo de transporte igual a $0.50/km por unidade transportada. Quanto deveria ser enviado de cada fbrica para cada armazm de maneira que o custo total seja mnimo ? Formule e resolva este problema como um modelo de Transportes. B) Uma empresa decidiu produzir 3 novos produtos em 5 de suas fbricas. O custo unitrio de produo do produto 1 $31, $29, $32, $28 e $29 nas fbricas 1, 2, 3, 4 e 5 respectivamente. Para o produto 2 $45, $41, $46, $42 e $43 nas fbricas 1, 2, 3, 4 e 5 respectivamente. Para o produto 3 $38, $35, $40 nas fbricas 1, 2 e 3 respectivamente, enquanto que as fbricas 4 e 5 no tem capacidade de produzir este produto. As previses de vendas indicam que 1500, 2500 e 2000 unidades dos produtos 1, 2 e 3 respectivamente devem ser produzidas. As fbricas 1,2,3,4 e 5 tem capacidade de produzir 2000, 1000, 2000, 1500 e 2500 unidades dirias respectivamente, sejam quais forem os produtos ou combinaes deles envolvidos. A empresa deseja minimizar o custo total de produo. Resolva este problema como um modelo de Transportes. C) Suponha que a Inglaterra, Frana e Espanha produzam todo o trigo, cevada e aveia do mundo. A demanda mundial de trigo requer 125 milhes de acres plantados com trigo. Da mesma forma 60 milhes de acres so necessrios para a cevada e 75 milhes de acres para a aveia. A quantidade total de terra disponvel para este propsito na Inglaterra, Frana e Espanha so 70 milhes, 110 milhes e 80 milhes de acres, respectivamente. O nmero de horas de trabalho necessrias na Inglaterra, Frana e Espanha para plantar 1 acre de trigo so 18, 13 e 16 horas respectivamente. O nmero de horas de trabalho necessrias na Inglaterra, Frana e Espanha para plantar 1 acre de cevada so 15, 12 e 12 horas respectivamente. Para a aveia o nmero de horas necessrias so 12, 10 e 16 respectivamente. O custo do trabalho por hora para cada tipo de cultura mostrado a seguir:

126 Inglaterra Trigo Cevada Aveia 3 3 2 Frana 2 3 3

Algortimo dos Transportes

Espanha 3 3 2

Qual deve ser o uso da terra em cada pas de maneira que a demanda mundial por estes 3 alimentos seja satisfeita e que o custo seja mnimo ? Resolva este problema como um modelo de Transportes. D) Uma firma que produz um nico produto tem 3 fbricas e 4 fregueses. As 3 fbricas produziro 3000, 5000 e 4000 unidades, respectivamente, durante o prximo ms. A firma tem uma obrigao contratual de vender 4000 unidades ao fregus 1, 3000 unidades ao fregus 2 e no mnimo 1000 unidades ao fregus 3. Os fregueses 3 e 4 esto dispostos a comprarem o mximo que puderem. O lucro lquido associado com a venda de 1 unidade da fbrica i para o fregus j mostrado abaixo: Fregus Fbrica 1 2 3 1 65 68 63 2 63 67 60 3 62 65 59 4 64 62 60

A diretoria deseja saber quantas unidades deve vender aos fregueses 3 e 4 e quantas unidades devem ir de cada fbrica para cada fregus de maneira a maximizar o lucro. Resolva este problema como um modelo de Transportes. E) Considere o problema de transportes tendo a seguinte matriz de custos: Destinos Fontes 1 2 3 Necessidades Qual a soluo tima ? 1 3 2 4 3 2 7 4 3 3 3 6 3 8 2 4 4 2 5 2 Disponibilidades 5 2 3

4.19 Exerccios

127

F) Considere o problema de transportes tendo a seguinte matriz de custos: Destinos Fontes 1 2 3 4 Necessidades Qual a soluo tima ? G) Considere o problema de transportes tendo a seguinte matriz de custos: Destinos Fontes 1 2 3 4 5 Necessidades 1 10 13 0 9 24 100 2 18 M 6 11 28 120 3 29 21 11 23 36 100 4 13 14 3 18 30 60 5 22 16 M 19 34 80 6 0 0 0 0 0 40 Disponibilidades 100 120 140 80 60 1 8 5 6 0 25 2 6 M 3 0 25 3 3 8 9 0 20 4 7 4 6 0 10 5 5 7 8 0 20 Disponibilidades 20 30 30 20

Qual a soluo tima ? H) O custo ($) de carga area, por tonelada, entre 7 cidades dado pela tabela abaixo ( significa que no existe servio direto de carga area): 1 1 2 3 4 5 6 7 0 21 50 62 93 77 2 21 0 17 54 67 48 3 50 17 0 60 98 67 25 4 62 54 60 0 27 38 5 93 67 98 27 0 47 42 6 77 67 47 0 35 7 48 25 38 42 35 0

128

Algortimo dos Transportes

Uma empresa deseja enviar carga das cidades 1, 2 e 3 para as cidades 4, 5, 6 e 7. Das cidades 1, 2 e 3 sairo 70, 80 e 50 toneladas respectivamente. As cidades 4, 5, 6 e 7 devero receber 30, 60, 50 e 60 toneladas respectivamente. O transporte pode passar por qualquer cidade intermediria a um custo igual a soma dos custos de cada trecho percorrido. O objetivo minimizar o custo de transporte da carga. Resolva este problema como um modelo de Baldeao I) Uma estudante tendo entrado para a universidade, resolveu comprar um carro para us-lo nos prximos 4 anos. Como o dinheiro disponvel bastante limitado, ela deseja minimizar os seus gastos com o carro. Levando em conta o preo inicial de compra e o custo de manuteno, no est claro para ela se deve comprar um carro muito velho ou semi-novo. Tambm no est claro se ela deve trocar de carro pelo menos uma vez nos prximos 4 anos, antes que os custos de manuteno se tornem demasiados caros.

Preo de Compra Carro muito velho Carro semi-novo 250 950

Custo de Manuteno/ano 1 475 250 2 550 325 3 625 425 4 700 575

Preo de venda no final do ano 1 150 550 2 100 400 3 50 300 4 0 250

Se a estudante trocar de carro nos prximos 4 anos, ela poder faz-lo no fim de um dos anos por outro carro idntico a um dos 2 tipos acima. certo que no fim dos 4 anos ela comprar um carro novo. A estudante deseja minimizar os seus gastos nos prximos 4 anos. Resolva este problema como um modelo de baldeao. J) Considere o problema de transporte onde 2 fbricas fornecem um determinado produto para 3 armazns. O nmero de unidades disponveis em cada fbrica so 200 e 300 unidades respectivamente. As necessidades de cada armazm so 100, 200 e 50 unidades respectivamente. Em vez de se enviar o produto diretamente est se estudando a possibilidade de fazer baldeao. Os custos de transporte so:

4.19 Exerccios

129 Fbrica 1 2 Fbrica 1 2 I Armazm II III 0 6 7 1 8 6 0 2 5 9 Armazm I II III 7 5 0 1 7 8 4 5 0 6 9 3 1 4 0

Qual a soluo tima ? K) Resolva o seguinte problema de atribuio: 1 I II III IV V 3 8 6 8 9 2 8 7 4 4 10 3 2 2 2 2 6 4 10 9 7 3 9 5 3 7 5 5 10

L) Resolva o seguinte problema de atribuio: 1 I II III IV V 3 6 9 2 9 2 9 1 4 5 6 3 2 5 7 4 2 4 3 6 10 2 4 5 7 6 3 1 6

M) Considere o problema de atribuir 4 operadores para 4 mquinas. Os custos de atribuio esto dados abaixo: Mquina 1 2 3 4 5 7 9 7 5 4 3 2 2 5 6 2 3 7

Operador 1 2 3 4

130

Algortimo dos Transportes

O operador 1 no pode operar a mquina 3 e o 3 no pode operar a mquina 4. Qual a atribuio tima ? N) Suponha que no exemplo anterior uma 5a mquina est disponvel. Seus custos de atribuio para os 4 operadores so 2, 1, 2 e 8 respectivamente. A nova mquina substituir uma das existentes se isto puder ser justificado economicamente. Reformule o problema e resolva. O) Um treinador de uma equipe de natao tem que formar um time para nadar no revezamento 4x100 (4 estilos) na prxima etapa do campeonato. Os 5 melhores nadadores da equipe e os seus respectivos tempos (em segundos) em cada um dos estilos mostrado abaixo: Nadador Celso Artur Antonio 32.9 33.1 28.5 26.4 33.8 42.2 38.9 29.6 37.0 34.7 30.4 28.5

Estilo I II III IV

Carlos 37.7 43.4 33.3 29.2

Flvio 35.4 41.8 33.6 31.1

Como deve ser formado o time ? P) Um certo produto transportado de 3 fbricas para 4 armazns. A matriz de custos assim como a disponibilidade de cada fbrica e a necessidade de cada armazm esto mostrados abaixo: Armazm Fbrica I II III Necessidades Qual a soluo tima ? 1 1.0 7.5 10.0 35000 2 7.5 4.5 6.5 20000 3 8.5 3.0 1.0 25000 4 11.0 7.5 6.0 45000 Disp. 40000 50000 35000

4.19 Exerccios

131

Q) Temos 5 mquinas para serem atribudas a 6 operadores. Os custos de atribuir cada mquina cada operador esto dados abaixo: Operadores 2 3 4 5 14 13 15 12 10 9 15 9 11 15 13 17 14 13 10 10 13 12 14 16

Mquinas I II III IV V

1 12 11 9 10 13

6 16 11 13 14 15

Qual deve ser a atribuio de maneira que o custo seja mnimo ?

132

Algortimo dos Transportes

4.20 Respostas dos exerccios da seo 4.19


Exerccio A Fb. 1 para Centro 3 = 2 Fb. 1 para Centro 4 = 10 Fb. 2 para Centro 2 = 9 Z = 16.200 Fb. 2 para Centro 3 = 8 Fb. 3 para Centro 1 = 10 Fb. 3 para Centro 2 = 1 Exerccio B Fb. 1 1.000 do Prod.3 Fb. 2 1.000 do Prod.3 Z = 222.500 Fb. 4 1.500 do Prod.1 Fb. 5 2.500 do Prod.2 Exerccio C Inglaterra 70 de aveia Frana 110 de trigo Espanha 15 de trigo, 60 de cevada e 5 de aveia Z = 7480 Exerccio D Introduza o fregus 3# que receber as unidades extras enviadas para o fregus 3, alm do nvel mnimo de 1.000. Introduza a fbrica D, que vender as unidades extras para os fregueses 3 e 4. Fregus 3 -62 -65 -59 0 1000

Fbrica 1 2 3 D

1 -65 -68 -63 M 4000

2 -63 -67 -60 M 3000

4 -64 -62 -60 0 4000

3# -62 -65 -59 0 4000 3000 5000 4000 4000

Soluo tima: Fbrica Fregus 1 4 2 1 2 2 2 3 3 4 3 1

3.000 1.000 3.000 1.000 1.000 3.000

Z = 775000

4.20 Respostas dos exerccios da seo 4.19

133

Exerccio E Fonte Destino 1 4 2 1 1 3 Z = 32 2 3 2 3 2 3 Exerccio F Fonte Destino 1 3 20 2 1 20 2 4 10 Z = 305 3 1 5 3 2 25 4 5 20 Exerccio G Fonte Destino 1 1 100 7 2 3 40 2 5 80 3 2 20 Z = 5520 3 3 60 3 4 60 4 2 80 5 2 20 5 6 40 Exerccio H Fonte Destino 1 4 20 1 6 50 2 4 10 2 5 60 2 3 10 3 7 60 Exerccio I k Faamos Cij ser o custo de comprar um carro velho (k = 1) ou um carro semi-novo (k = 2) no inicio do ano i revendendo no final do ano j . Cij = Preo de Compra + Custos de Operao e manuteno para os anos 1, 2, . . . , j i + 1 Valor de Revenda aps j i + 1 anos. 1 2 Cij = MIN (Cij + Cij )

134 Faamos o ano 1 ser a fonte com disponibilidade de 1. Faamos o ano 5 ser o destino com necessidade de 1. Faamos os anos 2, 3 e 4 serem os pontos de baldeao. 1 1 2 3 4 5 Necessidade 0 M M M M 0 2 575 0 M M M 0 3 1125 55 0 M M 0 4 1650 1125 575 0 M 0 5

Algortimo dos Transportes

Disp. 1 0 0 0 0

2275 1650 1125 575 0 1

Resolvendo-se verifica-se que o timo comprar um carro velho inicialmente. Aps 1 ano de uso, comprar um carro semi-novo e us-lo durante os 3 anos seguintes. Exerccio J 1 1 50 2 1 50 2 2 200 2 3 50 Z = 1550 Exerccio K 15 23 32 44 51 Z = 21 Exerccio L 11 22 35 44 53 Z = 11 Exerccio M 14 23 32 41 Z = 14 Exerccio N A mquina 5 substitui a mquina 1. Z=8

4.20 Respostas dos exerccios da seo 4.19

135

Exerccio O Estilo 1: Artur Estilo 2: Antonio Estilo 3: Celso Estilo 4: Carlos Exerccio P Fbrica Armazm I 1 III 3 I 2 II 2 II 4 III 4 Exerccio Q I5 III 3 V2 II 6 IV 1

35.000 25.000 5.000 15.000 35.000 10.000

Z = 487500

136

Algortimo dos Transportes

5
Bibliografia de Pesquisa Operacional

A bibliografia a seguir apresentada, uma relao de livros de P.Operacional e/ou de tpicos especficos de P.Operacional, existentes no mercado nacional e internacional. As seguintes observaes devem ser levadas em conta: a) Muitos dos livros estrangeiros desta relao no so encontrados nas livrarias do Brasil e, se desejados, tem que ser encomendados. Alguns so encontrados em bibliotecas. b) Como o mercado internacional bastante ativo, possvel que um livro seja encontrado no Brasil na sua 3a edio, por exemplo, e ele j tenha uma ou mais edies no exterior. Normalmente uma nova edio maior e melhor que a anterior. c) Alguns livros, tanto estrangeiros como nacionais, constantes da relao esto esgotados e s so encontrados em bibliotecas. d) Os livros em portugus que so traduo de livros estrangeiros esto, quase sempre, defasados em relao a ltima edio da obra. Assim, por exemplo, o livro do Hillier/Lieberman (1o da lista abaixo), que , provavelmente, o livro de P.Operacional mais vendido no mundo, tem uma traduo em portugus, vendida nas livrarias. Esta verso, no entanto, da 3a edio americana mas, nos E.Unidos, este livro j se encontra na 8a edio, sendo o contedo esta 8a edio bem maior e muito diferente do contedo da 3a edio.

1. Introduo Pesquisa Operacional Hillier & Lieberman Campus 2. Pesquisa Operacional Wagner, Harvey M. Prentice Hall do Brasil

138 3. Pesquisa Operacional Vol. I,II e III Victor Mirshawka Nobel

Bibliografia de Pesquisa Operacional

4. Pesquisa Operacional Uma abordagem bsica Shamblin e Stevens Atlas 5. Pesquisa Operacional Ackoff e Sasieni Livros Tcnicos e Cientficos 6. Pesquisa Operacional Ellenrieder Almeida Neves 7. Pesquisa Operacional Richard Bronson McGraw-Hill Coleo Schaum 8. Introduo Pesquisa Operacional Eduardo Leopoldino de Andrade Livros Tcnicos e Cientficos 9. Pesquisa Operacional Ermes Medeiros, Elio Medeiros, Valter Gonalves, Afrnio Murolo Atlas 10. Programao Linear Puccini & Pizolato Livros Tcnicos e Cientficos 11. Programao Linear Fritzsche Edgar Bucher 12. Mtodos de Otimizao Aplicao aos Transportes Novaes Edgar Blucher 13. Metodos y Modelos de Investigacion de Operaciones Vol. I e II Prawda Limusa 14. Metodos y Modelos de Investigacion de Operaciones Vol. I,II e III Kaufmann CECSA

139 15. Operations Research An Introduction Hamdy A. Taha MacMillan 16. Principles of Operations Research for Management Budnick, Mojena, Volmann Irwin 17. Introduction to Quantitative Methods Verma, Gross Wiley Hamilton 18. Operations Research Principles and Practice Phillips, Ravindran, Solberg Wiley 19. Introduction to Operations Research Gillett McGraw Hill 20. System Analysis for Managerial Decisions Ramalingam Wiley 21. Quantitative Methods for Managerial Decisions Brown, Revelle Addison Wesley 22. Quantitative Methods for Business Decisions Lappin Harcourt Brace Jovanovich 23. Industrial Operations Research Fabrick, Ghare, Torgensen Prentice Hall 24. Management A Quantitative Perspective Lomba MacMillan 25. Quantitative Techniques for Business Decisions Johnson, Siskin Prentice Hall 26. Quantitative Analysis for Managerial Decisions Kim Addison Wesley

140 27. Applied Operations Research Whitehouse, Wechsler Wiley

Bibliografia de Pesquisa Operacional

28. Decision Making Through Operations Research Thierauf, Klekamp Wiley 29. Operations Research A Managerial Emphasis Hartley Goodyear 30. Topics in Management Science Markland Wiley 31. Operations Research Tecnhiques for Management Moskowitz, Wright Prentice Hall 32. Quantitative Decision Making for Business Gordon, Pressman Prentice Hall 33. Essentials of Management Science Operations Research Buffa, Dyer - Wiley 34. Operations Research Applications and Algorithms Winston, Wayne L. Duxbury Press 35. Management Science Camm, Jeffrey D. & Evans, James R. SouthWestern College Publishing 36. Practical Management Science Winston, Wayne L. & Albright, S. Christian Duxbury Press 37. Linear Programming Lomba MacMillan 38. Mathematical Programming Mcmillan Wiley

141 39. Applied Mathematical Programming Bradley, Hax, Magnanti Addison Wesley 40. Linear Programming Hadley Addison Wesley 41. Introduction to Linear and Nonlinear Programming Luenberger Addison Wesley 42. Linear Programming and Network Flows Bazaraa, Jarvis Wiley 43. Matrices and Linear Programming Munakata Holden Day 44. Applied Nonlinear Programming Himmeblau McGraw Hill 45. Nonlinear Programming Bazaraa, Shetty Wiley 46. Linear Programming and Extensions Dantzig Princeton 47. Linear Programming Gass McGraw Hill 48. Basic Linear Programming Brian D. Bunday Edward Arnold Ltd. 49. Basic Optimisation Methods Brian D. Bunday Edward Arnold Ltd. 50. An Introduction to Linear Programming and Game Theory Paul R. Thie John Wiley & Sons

142 51. Linear Programming Ignizio & Cavalier Prentice Hall 52. Linear Programming Chvtal, Vasek W.H.Freeman and Company

Bibliografia de Pesquisa Operacional

53. Elementary Linear Programming With Applications Kolman Bernard & Beck, Robert E. Academic Press 54. Optimization Modeling Programming Schrage, Linus Duxbury Press 55. Optimization in Operations Research Rardin, Ronald L. Prentice Hall 56. Linear Programming Dantzig, George B. & Thapa, Mukund N. W.H.Freeman and Company