Documente Academic
Documente Profesional
Documente Cultură
INTRODUO 1. Programao Matemtica 2. Reviso de lgebra Linear 3. Uso de pacotes computacionais na soluo de problemas PROGRAMAO LINEAR 1. Introduo Programao Linear 2. O algoritmo Simplex
Prof. Fogliatto
Pesquisa Operacional
Ementa
MODELOS DE REDES 1. O problema do transporte 2. O problema da designao 3. O problema do transbordo 4. Modelos de Redes TPICOS AVANADOS 1. Programao Inteira
Referncias Bibliogrficas
LIVRO-TEXTO: Operations Research, Applications and Algorithms, de Wayne L. Winston, 3a. Ed., Duxburry Press. Adicionais (no mesmo nvel): 1. Pesquisa Operacional, de Harvey Wagner, 2a. Ed., Prentice-Hall do Brasil. 2. Pesquisa Operacional, de Pierre J. Ehrlich, Ed. Atlas.
Prof. Fogliatto
Pesquisa Operacional
Prof. Fogliatto
Pesquisa Operacional
Pesquisa Operacional
Prof. Fogliatto
Pesquisa Operacional
Prof. Fogliatto
Pesquisa Operacional
FUNO OBJETIVO Em qualquer problema de PL, o analista sempre vai desejar maximizar (ex., lucro) ou minimizar (ex., custo) alguma funo das variveis de deciso. A funo a ser maximizada (ou minimizada) a funo objetivo. A Politoy deseja maximizar seus ganhos semanais. Ou seja: ganho semanal = ganho semanal oriundo da venda de soldados + ganho semanal oriundo da venda de trens. = ($/soldado).(soldados/sem) + ($/trem).(trem/sem) = 27x1 + 21x2 Tambm devemos considerar: custo semanal com matria-prima: 10x1 + 9x2 custo semanal com mo-de-obra: 14x1 + 10x2
FUNO OBJETIVO O que a Politoy deseja maximizar : (27x1 + 21x2) - (10x1 + 9x2) - (14x1 + 10x2) = 3x1 + 2x2 Usaremos a varivel z para designar o valor assumido pela funo objetivo. Assim: Max z = 3x1 + 2x2 Os nmeros 3 e 2 so chamados coeficientes da funo objetivo. Eles indicam a contribuio de cada varivel nos ganhos da empresa.
Prof. Fogliatto
Pesquisa Operacional
Prof. Fogliatto
Pesquisa Operacional
10
RESTRIES A medida que x1 e x2 crescem, o valor da funo objetivo aumenta. Mas x1 e x2 no podem crescer indefinidamente. Trs restries limitam seu crescimento: Restrio 1 - 100 h de acabamento / semana. Restrio 2 - 80 h de carpintaria / semana Restrio 3 - no mais que 40 soldados / semana, devido a limitaes na prpria demanda. Restries 1 3 devem ser expressas em termos das variveis de deciso x1 e x2.
RESTRIES Restrio 1: (total hs acabamento/sem.) = (hs.acab./sold.).(sold. produzidos/sem.) + (hs.acab./trem).(trens produzidos/sem.) (total hs acabamento/sem.) = 2(x1) + 1(x2) = 2x1 + x2 A restrio 1 ser dada por: 2x1 + x2
100
Observe que todos os termos de uma restrio devem ter a mesma unidade de medida. Os valores 2 e 1 na restrio so denominados coeficientes tecnolgicos.
Prof. Fogliatto
Pesquisa Operacional
11
Prof. Fogliatto
Pesquisa Operacional
12
Restrio 2 (determinada de maneira similar): (total hs carpintaria/sem.) = (hs.carp./sold.).(sold. produzidos/sem.) + (hs.carp./trem).(trens produzidos/sem.) (total hs carpintaria/sem.) = 1(x1) + 1(x2) = x1 + x2 A restrio 2 ser dada por: x1 + x2 Restrio 3: A restrio 3 definida pela limitao do nmero de soldados produzidos por semana (devido a limitaes na demanda): x1
Prof. Fogliatto
RESTRIES DE SINAL Identificam os tipos de valores que as variveis podem assumir. Podem ser de trs tipos: 0 0 irrestrita
80
Combinando a funo objetivo e as restries, chega-se a formulao matemtica do problema da Politoy: max z = 3x1 + 2x2 Sujeito a: 2x1 + x2 x1 + x2
40
13 Prof. Fogliatto
100 80 40 x1 x1, x2 0
Pesquisa Operacional
PRTICA 1:
Um fazendeiro deseja determinar quantos acres de milho e trigo ele deve plantar esse ano. Um acre de trigo rende 25 sacas e requer 10 horas de trabalho/semana. A saca vale $4 no mercado. Um acre de milho rende 10 sacas e requer 4 horas de trabalho/semana. A saca vale $3 no mercado. O governo garante a compra de pelo menos 30 sacas de milho/ano. O fazendeiro dispe de 7 acres de terra e pode trabalhar 40 horas/semana. Formule o problema tal que os ganhos do fazendeiro sejam maximizados.
Soluo - Prtica 1
Variveis de Deciso: x1 = no de acres de milho a serem plantados x2 = no de acres de trigo a serem plantados
Prof. Fogliatto
Pesquisa Operacional
15
Prof. Fogliatto
Pesquisa Operacional
16
Representao grfica
Representao da restrio 2x1 + 3x2 = 6:
x2
4 3 2
2x1 + 3x2 6
(0,0)
x1
2 3 4
2x1 + 3x2 6
Prof. Fogliatto Pesquisa Operacional 17 Prof. Fogliatto Pesquisa Operacional
2x1 + 3x2 = 6
18
Soluo tima: (1) Desenhe o vetor z. (2) Desenhe linhas ortogonais ao vetor z. Essas so as linhas de isocusto. (3) Calcule o valor de z no ponto timo.
40
Todas as demais restries so consideradas no-crticas. Ex.: restrio (4) e restries de sinal no grfico anterior.
20
(3)
Prof. Fogliatto
20
40
Pesquisa Operacional
60
80
100
x1
19 Prof. Fogliatto Pesquisa Operacional 20
Outro exemplo:
Solucione graficamente o problema e identifique o tipo de conjunto de solues resultante. Um empresa de eletrodomsticos planeja veicular seus produtos em comerciais de TV durante a novela das 8 e os jogos da seleo na Copa. Comerciais na novela so vistos por 7 milhes de mulheres e 2 milhes de homens e custam $50000. Comerciais nos jogos so vistos por 2 milhes de mulheres e 12 milhes de homens, e custam $100000. Qual a distribuio ideal de comerciais se a empresa deseja que eles sejam vistos por 28 milhes de mulheres e 24 milhes de homens a um menor custo possvel? Variveis de deciso: x1 = num. de comerciais veiculados durante a novela. x2 = num. de comerciais veiculados durante os jogos Funo objetivo: Min z = 50x1 + 100x2 A soluo grfica ... Restries: Pblico feminino: 7x1 + 2x2 28 Pblico masculino: 2x1 + 12x2 24 x 1, x 2 0 Soluo tima: (3.6, 1.4) com z = $320. A soluo nica.
Prof. Fogliatto Pesquisa Operacional 21 Prof. Fogliatto Pesquisa Operacional 22
x2 10
Ponto timo no inteiro: Testar pontos (4,1), (3,2), (4,2), checando restries e z. Usar programao inteira.
CASOS ESPECIAIS:
(1) Problemas com solues alternativas (vrias solues so simultaneamente timas). Nestes casos, a linha de isocusto, ao abandonar o espao de solues viveis, intersecciona com uma linha inteira (e no somente um ponto) desse conjunto.
z
Prof. Fogliatto
10
x1
23 Prof. Fogliatto Pesquisa Operacional 24
Pesquisa Operacional
CASOS ESPECIAIS:
(2) Problemas com soluo tendendo ao infinito.
CASOS ESPECIAIS:
(3) Problemas sem soluo
Nestes casos, as restries formam um espao aberto de solues viveis. Se a funo objetivo for do tipo max, z e a formulao do problema pode estar incorreta. Se for do tipo Min, uma ou mais solues sero encontradas.
Prof. Fogliatto
Pesquisa Operacional
25
Prof. Fogliatto
Pesquisa Operacional
26
Outro exerccio
Resolva graficamente o problema formulado na Prtica 1
Um fabricante deseja maximizar a receita. A tabela mostra as composies das ligas, seus preos e as limitaes na disponibilidade de matria-prima:
Prof. Fogliatto
Pesquisa Operacional
27
Prof. Fogliatto
Pesquisa Operacional
28
Escolha da dieta
Variveis de deciso: x1 = pores de biscoitos; x2 = pores de sorvete; x3 = pores de refrigerante; x4 = pores de torta de queijo;
Restries: (1) Ingesto mnima de 500 calorias; (2) Ingesto mnima de 6 g de chocolate; (3) Ingesto mnima de 10 g de acar; (4) Ingesto mnima de 8 g de gordura. (1) 400 x1 + 200 x2 + 150 x3 + 500 x4 500
Funo objetivo: (custo total) = (custo dos biscoitos) + (custo do sorvete) + (custo do refrigerante) + (custo da torta de queijo) Min z = 50 x1 + 20 x2 + 30 x3 + 80 x4
Prof. Fogliatto
Pesquisa Operacional
31
Prof. Fogliatto
Pesquisa Operacional
32
Por exigncia sindical, cada trabalhador trabalha cinco dias consecutivos e descansa dois. Formule o problema tal que o nmero de empregados contratados seja o mnimo necessrio para atender s necessidades de mo-deobra.
Prof. Fogliatto
Pesquisa Operacional
33
Prof. Fogliatto
Pesquisa Operacional
34
PROBLEMAS
(1) A funo-objetivo no o nmero de funcionrios, como se imagina. Cada funcionrio est sendo computado 5 vezes. Por ex.: um funcionrio que comea a trabalhar na segunda, trabalha de segunda a sexta e est includo nas variveis x1, x2, x3, x4, x5. (2) A inter-relao entre as variveis x1, x2, ..., x5 no est capturada na formulao. Por ex.: alguns funcionrios que trabalham na segunda estaro trabalhando na tera. Ou seja x1 e x2 esto inter-relacionadas mas isso no aparece na formulao.
Prof. Fogliatto Pesquisa Operacional 35
FORMULAO CORRETA
Variveis de deciso: xi = nm. de empregados comeando a trabalhar no dia i; Cada empregado comea a trabalhar em um nico dia, no sendo assim contados mais de uma vez.
Prof. Fogliatto
Pesquisa Operacional
36
17 funcionrios devem estar trabalhando na segunda. Quem estar trabalhando segunda? xi = trabalham nos dias i, i+1, i+2, i+3, i+4; i = 1 (segunda). Assim, estaro trabalhando na segunda os empregados x1 + x4 + x5 + x6 + x7. Assim, a restrio referente ao nmero de empregados trabalhando na segunda ser: x1 + x4 + x5 + x6 + x7 17 Os demais dias sero formulados de maneira similar.
Restries: x1 x1 x1 x1 x1 x2 x3 + + + + + + + x4 x2 x2 x2 x2 x3 x4 + + + + + + + x5 x5 x3 x3 x3 x4 x5 + + + + + + + x6 x6 x6 x4 x4 x5 x6 + + + + + + + x7 x7 x7 x7 x5 x6 x7 xi 17 13 15 19 14 16 11 0
A soluo tima x1 = 4/3; x2 = 10/3; x3 = 2; x4 = 22/3 x5 = 0; x6 = 10/3; x7 = 5. xi fracionrio no faz sentido. Arredondando-se chegamos a uma soluo que, quando checada via otimizao inteira, resulta completamente sub-tima. Para esses problemas precisamos de programao inteira.
37 Prof. Fogliatto Pesquisa Operacional 38
Prof. Fogliatto
Pesquisa Operacional
EXEMPLO:
Investim. 1 = requer um investimento de $10,000 no tempo 0 e de $14,000 em 2 anos e tem um retorno de $24,000 em 1 ano. Investim. 2 = requer um investimento de $6,000 no tempo 0 e de $1,000 em 2 anos e tem um retorno de $8,000 em 1 ano. Qual o melhor investimento (r = 0.2)? VLP (Inv. 1) = = VLP (Inv. 2) = = -10,000 + (24,000/1+0.2) - [14,000/(1+0.2)2] $277.78 -6,000 + (8,000/1+0.2) - [1,000/(1+0.2)2] - $27.78 O investimento 1 bem melhor!
Prof. Fogliatto Pesquisa Operacional 40
EXEMPLO DE FORMULAO: Formulao 3 Uma empresa est considerando 5 oportunidades de investimento, com caractersticas dadas a seguir:
Varivel de deciso: A empresa deseja determinar qual frao de cada investimento deve ser comprada: xi = frao do investimento i comprada pela empresa.
A empresa tem $40 disponveis para investimento no tempo t = 0 e estima dispor de $20 no tempo t = 1. Capital no investido em t=0 no estar disponvel em t = 1. Fraes de cada investimento podem ser compradas. Formule o problema tal que o VLP da companhia seja maximizado.
Funo objetivo: Consiste em maximizar os VLP dados na tabela: Max z = 13x1 + 16x2 + 16x3 + 14x4 + 39x5
Prof. Fogliatto
Pesquisa Operacional
41
Prof. Fogliatto
Pesquisa Operacional
42
Restries: (1) A empresa no pode investir mais de $40 no tempo 0: 11x1 + 53x2 + 5x3 + 5x4 + 29x5 40 (2) A empresa no pode investir mais de $20 no tempo 1: 3x1 + 6x2 + 5x3 + x4 + 34x5 20 Falta alguma restrio? (3) A empresa no pode comprar mais que 100% de nenhum investimento: xi 1 (4) Todas as variveis devem ser positivas.
Prof. Fogliatto Pesquisa Operacional 43
PRTICA 2:
A empresa X deseja determinar quanto dinheiro investir e quanto dinheiro tomar emprestado no prximo ano. Cada real investido pela empresa reduz o VLP em 10 centavos e cada real tomado em emprstimo aumenta o VLP em 50 centavos (vale mais a pena tomar emprestado do que investir). X pode investir no mximo $1000000. O dbito pode somar at 40% do que for investido. X dispe de $800000 em caixa. Todo o investimento deve ser pago com o dinheiro em caixa ou com dinheiro emprestado. Formule o problema tal que o VLP de X seja maximizado. Resolva o problema graficamente.
Prof. Fogliatto
Pesquisa Operacional
44
Prof. Fogliatto
Pesquisa Operacional
45
Prof. Fogliatto
Pesquisa Operacional
46
Variveis de deciso: A Texaco deve decidir sobre (i) quanto dinheiro gastar na publicidade de cada tipo de gasolina e (ii) qual a mistura apropriada de leos. ai = $/dia gasto na publicidade da gasolina i. xij = barris de leo i gastos/dia para produzir gasolina j.
Funo objetivo: Cada $/dia gasto em publicidade c/ qualquer tipo de gasolina, aumenta em 10 barris a venda daquele tipo de gasolina. Formule este problema tal que a Texaco maximize seus lucros dirios (= receita-despesa). Primeiro, note que: x11 +x12 + x13 = bar.leo 1 consum./dia. x21 +x22 + x23 = bar.leo 2 consum./dia. x31 +x32 + x33 = bar.leo 3 consum./dia.
x11 +x21 + x31 = bar.gas.1 prod./dia. x12 +x22 + x32 = bar.gas.2 prod./dia. x13 +x23 + x33 = bar.gas.3 prod./dia.
48
Prof. Fogliatto
Pesquisa Operacional
47
Prof. Fogliatto
Pesquisa Operacional
Funo objetivo: (1) Ganhos/dia com vendas de gasolina: 70(x11 +x21 + x31) + 60(x12 +x22 + x32) + 50(x13 +x23 + x33) (2) Custo/dia da compra de leo: 45(x11 +x12 + x13) + 35(x21 +x22 + x23) + 25(x31 +x32 + x33) (3) Custo/dia com propaganda: a1 + a2 + a3 (4) Custo/dia produo: 4(x11 +x12 + x13 + x21 +x22 + x23+ x31 +x32 + x33) Lucro dirio: (1) - (2) - (3) - (4)
Prof. Fogliatto Pesquisa Operacional 49
Funo objetivo: Max z = 21x11 +11x12 + x13 + 31x21 + 21x22 + 11x23 + 41x31 + 31x32 + 21x33 - a1 - a2 - a3 Restries: (1-3) Gas 1-3 produzida diariamente deve ser igual a demanda (no queremos estocar gasolina). Demanda diria gas 1: 3000 + demanda gas 1 gerada por publicidade = 3000 + 10a1 Demanda gas 2: 2000 + 10a2 Demanda gas 3: 1000 + 10a3 Assim: x11 + x21 + x31 - 10a1 = 3000 x12 + x22 + x32 - 10a2 = 2000 x13 + x23 + x33 - 10a3 = 1000
Prof. Fogliatto Pesquisa Operacional 50
Restries: (4-6) Compra diria de leo 1-3 no deve exceder 5000 barris. x11 + x12 + x13 5000 x21 + x22 + x23 5000 x31 + x32 + x33 5000 (7) Produo/dia de gas no deve exceder 14000 barris. x11 +x12 + x13 + x21 +x22 + x23+ x31 +x32 + x33 14000 (8) Mistura de leos p/produzir gas 1 deve ter uma octanagem mdia de pelo menos 10 graus.
(9) Mistura de leos p/produzir gas 2 deve ter uma octanagem mdia de pelo menos 8 graus. 4x12 - 2x22 0 (10) Mistura de leos p/produzir gas 3 deve ter uma octanagem mdia de pelo menos 6 graus. 6x13 + 2x33 0 A restrio (10) redundante e no precisa ser includa no modelo. Por qu?
Para linealizar essa inequao, multiplica-se os dois lados pelo denominador: 2x11 - 4x21 - 2x31 0
Prof. Fogliatto Pesquisa Operacional 51
Porque x13 e x33 0 por definio. Verifique a octanagem dos leos crus para entender o porqu desta redundncia.
Prof. Fogliatto Pesquisa Operacional 52
(11) Mistura de leos p/produzir gas 1 deve ter um teor de enxofre menor ou igual a 1%. -0.005x11 + 0.01x21 + 0.02x13 0 (12) Mistura de leos p/produzir gas 2 deve ter um teor de enxofre menor ou igual a 2%. -0.015x12 + 0.01x32 0 (13) Mistura de leos p/produzir gas 3 deve ter um teor de enxofre menor ou igual a 1%. -0.005x13 + 0.01x23 + 0.02x33 0
Prof. Fogliatto Pesquisa Operacional 53
Prof. Fogliatto
Pesquisa Operacional
54
Variveis de deciso: A Regata deve determinar quantos barcos produzir usando mo-de-obra normal e horas-extra a cada trimestre: xt = barcos produzidos por m.o. normal durante trim. t. yt = barcos produzidos por horas-extra durante trim. t. Variveis de estoque tambm devem ser definidas: it = barcos em estoque no final do trimestre t. Assim: Custo total = custo produo normal + custo produo hora-extra + custo estocagem = 400 (x1 + x2 + x3 + x4) + 450(y1 + y2 + y3 + y4) + 20 (i1 + i2 + i3 + i4)
Prof. Fogliatto Pesquisa Operacional 56
1o
Funo objetivo: Min z = 400x1 + 400x2 + 400x3 + 400x4 + 450y1 + 450y2 + 450y3 + 450y4 + 20i1 + 20i2 + 20i3 + 20i4 Estoque no final de cada trimestre: it = it-1 + (xt + yt) - dt , t = 1,,4 onde dt = demanda no trimestre t. Para satisfazer a demanda ao final de cada trimestre: it-1 + (xt + yt) dt ou it = it-1 + (xt + yt) dt 0
Prof. Fogliatto Pesquisa Operacional 57
No mximo $75000 podem ser investidos num mesmo plano. A empresa pode ganhar 8% de juros se investir no mercado financeiro ao invs dos planos. Lucros gerados em qualquer perodo podem ser imediatamente reinvestidos (no mesmo perodo). A empresa no pode tomar dinheiro emprestado. Formule o problema tal que $ no ltimo priodo seja mximo.
Prof. Fogliatto Pesquisa Operacional 59
implementado na planilha Excel; vrias funes algbricas do Excel so aceitas na formulao do problema:
ABS, ACOS, AND, ASIN, ATAN, ATAN2, AVERAGE, COS, EXP, FALSE, IF, INT, LN, LOG, MAX, MIN, MOD, NOT, NPV, OR, PI, SIN, SQRT, SUM, SUMPRODUCT, TAN, TRUE, TRUNC, NORMINV, TRIAINV, EXPOINV, UNIFINV, MULTINV.
Prof. Fogliatto Pesquisa Operacional 60
Este o arquivo.
Prof. Fogliatto
Pesquisa Operacional
62
Prof. Fogliatto
Pesquisa Operacional
63
Prof. Fogliatto
Pesquisa Operacional
64
Prof. Fogliatto
Pesquisa Operacional
66
Tela resultante Valor inicial das variveis de deciso (pode ser qualquer valor). Na busca pelo timo, o programa permitir que essas clulas assumam qualquer valor nonegativo.
Prof. Fogliatto Pesquisa Operacional 67
Caso as variveis de deciso sejam no-negativas, clique OK. Opo caso as variveis de deciso sejam irrestritas no sinal.
Identificao das clulas selecionadas como ajustveis. Nomeie as variveis irrestritas no sinal (qualquer nome serve).
Existe um cone de atalho p/ identificao de variveis de deciso no-negativas, conforme apresentado abaixo. Selecione as variveis de deciso. Clique no cone . Clulas passam a ser apresentadas em azul.
Clique em OK.
Clique em Add.
Prof. Fogliatto
Pesquisa Operacional
69
Prof. Fogliatto
Pesquisa Operacional
70
Funo objetivo:
Lucro Total = (Lucro por unidade do Modelo Padro) (Qtdd de Modelos Padro produzidos) + (Lucro por unidade do Modelo Luxo) (Qtdd de Modelos Luxo produzidos) Lucro Total = 300 Padro + 500 Luxo
Prof. Fogliatto Pesquisa Operacional 71 Prof. Fogliatto Pesquisa Operacional 72
Selecione WB! no menu e a opo Best. Este a tela correspondente opo Best.
Prof. Fogliatto Pesquisa Operacional 73 Prof. Fogliatto Pesquisa Operacional
Clula contendo funo objetivo passar a ser identificada como clula a ser maximizada (WBMAX).
74
Clique no cone
Prof. Fogliatto
Pesquisa Operacional
75
Prof. Fogliatto
Pesquisa Operacional
76
Prof. Fogliatto
Pesquisa Operacional
77
Prof. Fogliatto
Pesquisa Operacional
Identifique restries
Tela resultante
Prof. Fogliatto
Pesquisa Operacional
Pesquisa Operacional
80
Clique em
Confira se clula passou a ser identificada como restrio.
Valor da funo objetivo no ponto timo. Clique no cone apropriado. Situao das restries no ponto timo.
Prof. Fogliatto Pesquisa Operacional 83 Prof. Fogliatto Pesquisa Operacional 84
Clique em OK p/ confirmar. Identificao das clulas selecionadas como ajustveis e inteiras. Identifique se variveis de deciso so inteiras binrias (0 ou 1) ou qualquer nmero inteiro no-negativo (opo General). Ateno: default do programa binrio
Tela resultante
Pesquisa Operacional
86
Lindo
Vantagem: executa anlise de sensibilidade e pode ser baixado gratuitamente da rede. Desvantagem: formulao deve ser escrita como texto.
Tutorial do Lindo disponvel na apostila
Prof. Fogliatto Pesquisa Operacional 87 Prof. Fogliatto
Pesquisa Operacional
88
no definido.
Prof. Fogliatto
Pesquisa Operacional
89
Prof. Fogliatto
Pesquisa Operacional
90
x1, x2,, xn = variveis desconhecidas (incgnitas). aij , bi = constantes Soluo para um sistema de equaes lineares com m equaes e n incgnitas = conjunto de valores para x1, x2,, xn que satisfaa as m equaes do sistema.
Prof. Fogliatto
Pesquisa Operacional
91
Prof. Fogliatto
Pesquisa Operacional
92
(m x n)
(n x 1)
Ax = b
Prof. Fogliatto
Pesquisa Operacional
93
Prof. Fogliatto
Pesquisa Operacional
94
EXEMPLO 1:
Procedimento: Transformar A em I atravs de operaes elementares com linhas. As mesmas operaes transformaro I em A-1.
Prof. Fogliatto
Pesquisa Operacional
95
Prof. Fogliatto
Pesquisa Operacional
96
EXEMPLO 2:
Prtica 4
Resolva o seguinte sistema de equaes lineares usando a matriz inversa de A:
A soluo do sistema ser dada por x = A-1.b B-1 no existe! Note que a segunda linha uma combinao linear da primeira. Prticas adicionais: inverta as matrizes abaixo (utilize a funo matriz.inv do Excel para checar o resultado)
Prof. Fogliatto
Pesquisa Operacional
97
Prof. Fogliatto
Pesquisa Operacional
98
Para resolver o problema pelo Simplex, temos que adicionar variveis de folga
Max z = 60x1 + 30x2 + 20x3 s.a: 8x1 + 6x2 + x3 + f 1 + f2 4x1 + 2x2 + 1.5 x3 + f3 2x1 + 1.5x2 + 0.5 x3 x1, x2, x3, f1, f2, f3 = = = 48 20 8 0
Uma vez adicionadas variveis de folga e excesso, o problema dito no formato padro, pronto para ser resolvido atravs do mtodo Simplex!
Prof. Fogliatto Pesquisa Operacional 101
No-bsicas = var. zeradas para que o sistema de equaes apresente uma soluo (equaes=variveis).
Prof. Fogliatto Pesquisa Operacional 102
Prof. Fogliatto
Pesquisa Operacional
103
Prof. Fogliatto
Pesquisa Operacional
104
Prof. Fogliatto
Pesquisa Operacional
106
Linhas do tableau
O tableau do simplex constitudo de m + 1 linhas (m = no de restries do problema):
A primeira linha denominada linha z:
Analisando a linha z se verifica se o tableau timo ou se h melhorias possveis na funo obj.
Linha z
No tabelau inicial, a linha z dada pelos coeficientes de cada varivel na funo objetivo, com o sinal invertido:
Variveis de folga e de escesso tm coeficientes zero, pois nunca esto na f.o. original Embaixo das variveis bsicas, na linha z do tableau, s pode-se ter o valor 0!
Prof. Fogliatto Pesquisa Operacional 110
As demais linhas esto associadas s variveis que esto na base, uma por varivel
Prof. Fogliatto Pesquisa Operacional 109
Prof. Fogliatto
Pesquisa Operacional
111
Prof. Fogliatto
Pesquisa Operacional
112
Prtica 5
Considere o problema abaixo: Min z = 3x1 - x2 + 5x3 s.a
Transforme as inequaes em equaes introduzindo var. de folga. Monte o tableau inicial do problema.
O algoritmo encerra aqui!
Prof. Fogliatto Pesquisa Operacional 113 Prof. Fogliatto Pesquisa Operacional 114
Passo 2
Identifique a varivel a entrar na base:
Em problema de Minimizao, o valor mais positivo abaixo das variveis na linha z do tableau denota a varivel entrante Em problema de Maximizao, o valor mais negativo na linha z denota a varivel entrante
Passo 3
Identifique a varivel que sai da base atravs do teste da mnima razo:
Divida os nos (abaixo da linha z) no lado direito do tableau pelos nos positivos em posies correspondentes na coluna da varivel entrante (abaixo da linha z) A menor razo indica a varivel que sai da base
Prof. Fogliatto Pesquisa Operacional 117
Elemento de pivot Razes: 4/2=2 8/1=8 Menor razo! Varivel x1 sai da base para que x2 possa entrar No 2 na coluna do x2 o elemento de pivot!
Pesquisa Operacional 118
Prof. Fogliatto
Elemento de pivot
nica razo (menor por definio!) Varivel f2 sai da base para que f1 possa entrar No 2 na coluna do f1 o elemento de pivot!
Pesquisa Operacional 119 Prof. Fogliatto Pesquisa Operacional 120
Prof. Fogliatto
Passo 4
Realize o pivot para a troca de base:
Atravs de operaes elementares com linhas do tableau, faa com que a coluna da varivel entrante fique igual a coluna da varivel que est saindo da base Inicie as operaes pelo elemento de pivot
Passo 4 Exemplo
varivel entrante
Elemento de pivot
Prof. Fogliatto
Pesquisa Operacional
121
Prof. Fogliatto
Pesquisa Operacional
122
Passo 4 Exemplo
Inicie pelo elemento de pivot: ele deve virar 1
Passo 4 Exemplo
A linha de trabalho ser usada nas operaes que transformaro os demais nos da coluna da varivel entrante em zero
Prof. Fogliatto Pesquisa Operacional 123
Como o problema de minimizao e no h mais valores negativos na linha z do tableau abaixo das variveis, esta a base tima do problema! Prof. Fogliatto Pesquisa Operacional 124
Passo 5
Volte ao passo 1
Alguns comentrios
Cada tableau do simplex corresponde a uma base diferente do problema. Assim:
O valor da funo objetivo nunca deve piorar a medida que a troca de bases ocorre As variveis bsicas no podem assumir valores negativos (ou houve erro no teste da mnima razo!)
Prof. Fogliatto
Pesquisa Operacional
125
Prof. Fogliatto
Pesquisa Operacional
126
Alguns comentrios
Problemas de maximizao podem apresentar valores negativos de funo objetivo (depende da funo) e vice-versa Atualize as variveis na base: aps cada pivot, certifique-se de que o cabealho das linhas est correto
Alguns comentrios
As colunas das variveis bsicas no tableau abaixo da linha z devem sempre corresponder a colunas de uma matriz identidade
Prof. Fogliatto
Pesquisa Operacional
127
Prof. Fogliatto
Pesquisa Operacional
128
Situaes especiais:
1. Solues timas alternativas; 2. Soluo infinita (tendendo ao infinito). 3. Base inicial no disponvel (problema c/ variveis de excesso ou restries do tipo =).
4 B3 2 B2 B1
z
Prof. Fogliatto Pesquisa Operacional 129 Prof. Fogliatto
6
130
Pesquisa Operacional
Tableau
Soluo tima
z
Prof. Fogliatto Pesquisa Operacional 131 Prof. Fogliatto
B1
6
132
Pesquisa Operacional
Tableau
2 B2 B1
z
134
Pesquisa Operacional
Tableau
Prof. Fogliatto
Pesquisa Operacional
135
Prof. Fogliatto
Pesquisa Operacional
136
Prtica 6B Soluo
Max z = 36x1 + 30x2 - 3x3 - 4x4 s.a: x1 + x2 - x3 5 - x4 10 6x1 + 5x2 x2, x 3, x4 0 x 1,
Prof. Fogliatto
Pesquisa Operacional
137
Prof. Fogliatto
Pesquisa Operacional
138
x2 x2 1 x2 1 x2 0
Este problema no possui solues viveis (confira graficamente). Verifique como o mtodo do M-Grande vai sinalizar a ausncia de solues viveis.
Prof. Fogliatto Pesquisa Operacional 139 Prof. Fogliatto Pesquisa Operacional 140
Prticas Adicionais
Max z = 2x1 + x2 - x3 s.a x1 + x2 + 2 x3 6 x1 + 4x2 - x3 4 x1, x2, x3 0 Min z = 3x1 - 3x2 + x1 + 2x2 -3x1 - x2 + x1, x2, x3 x3 5 x3 4 x3 0
O PROBLEMA DUAL
Todo o problema de programao linear possui um problema dual correspondente. Chamaremos o problema original de primal e o problema dual de dual.
s.a
s.a
Variveis do problema primal z, x1, x2,,xn. Variveis do problema dual w, y1, y2,,ym.
Prof. Fogliatto
Prof. Fogliatto
Pesquisa Operacional
142
EXEMPLO
Max z = 60x1 + 30x2 + 20x3 s.a: 8x1 + 6x2 + 1x3 48 4x1 + 2x2 + 1.5x3 20 2x1 + 1.5x2 + 0.5x3 8 x2, x3 0 x1, P r i m a l
Min w = b1y1 + b2y2 + + bmym s.a: a11y1 + a21y2 + + am1ym c1 a12y1 + a22x2 + + am2ym c2 a1ny1 + a2ny2 + + amnym cn
Min w = 48y1 + 20y2 + 8y3 s.a: 8y1 + 4y2 + 2y3 60 6y1 + 2y2 + 1.5y3 30 1y1 + 1.5y2 + 0.5y3 20 y1, y2, y3 0
D u a l
Prof. Fogliatto
Pesquisa Operacional
143
Prof. Fogliatto
Pesquisa Operacional
144
OUTRO EXEMPLO
Max z = 2x1 + x2 s.a: 2x1 + x2 = 2 2x1 - x2 3 x1 - x2 1 x1 0, x2 irrestr. P r i m a l
Variveis
Restries
Restries
Variveis
D u a l
Prof. Fogliatto
Pesquisa Operacional
145
Prof. Fogliatto
Pesquisa Operacional
146
Restries associadas com escrivaninhas, mesas e cadeiras, respectiv. y1 associado com tbuas; y2 com acabamto; y3 com carpintaria. Suponha uma situao onde exista escassez de insumos. Um outro fabricante de mveis deseja comprar os insumos disponveis na fbrica de escrivaninhas, mesas e cadeiras. A pergunta-chave : qual o gio mximo a ser cobrado pelos insumos?
Prof. Fogliatto
Pesquisa Operacional
147
Prof. Fogliatto
Pesquisa Operacional
148
O comprador deseja o menor preo, mas o preo deve ser atraente o suficiente para induzir o fabricante de escrivaninhas a vender seus insumos
Assim: 8y1 + 4y2 + 2y3 60
Restrio das escrivaninhas
Ou seja, se comprarmos todos os insumos nas quantidades necessrias para produzir uma escrivaninha, o gio a ser pago deve ser, no mnimo, o que o fabricante lucraria com a venda daquele produto. O mesmo ocorre com as outros produtos: 6y1 + 2y2 + 1.5y3 30 1y1 + 1.5y2 + 0.5y3 20
Restr. das mesas
Note que a funo objetivo busca minimizar o custo de compra: este o ponto de vista do comprador.
Prof. Fogliatto
Pesquisa Operacional
149
Prof. Fogliatto
Pesquisa Operacional
Para determinarmos o menor gio de compra dos insumos que mantenha a venda desses insumos interessantes para o fabricante, devemos resolver o problema dual
Exerccio
Determine o dual do seguinte problema de programao linear: Max z = x1 + s.t.: 3x1 + 2x1 + x 1,
151 Prof. Fogliatto
restrio corresponde Por definio, o preo-sombra da melhoria no valor z da funo objetivo ocasionada pelo incremento de uma unidade no lado direito da restrio [ou seja, de bi para (bi + 1)].
Prof. Fogliatto Pesquisa Operacional
isima
2x2 x2 6 x2 = 5 x2 0
Pesquisa Operacional 152
Como ler a soluo tima do dual a partir da linha 0 (ou linha z) do tableau timo do primal Caso 1 - Primal = Max
Para resolver o problema abaixo: Max z = 3x1 + s.a: 1x1 + 2x2 + 5x3 3x2 + 2x3 15 x3 5 2x2 2x1 + x2 - 5x3 = 10 x2, x3 0 x 1,
Tableau timo
Adicionar var. folga f1 Adicionar var. excesso e2 e art. a2 Adicionar var. artificial a3
A base inicial ser formada por B = { f1, a2, a3}. Usaremos o Mtodo do M-Grande para solucionar este problema. O tableau timo vem dado a seguir...
Prof. Fogliatto Pesquisa Operacional 153 Prof. Fogliatto Pesquisa Operacional 154
Regras para identificao da soluo tima dual na linha 0 (ou z) do tableau timo do primal (Max)
Valor timo da var. dual yi qdo restrio i do tipo
y2 = -58/23; y3 = 9/23
Pesquisa Operacional 156
Prof. Fogliatto
Pesquisa Operacional
155
Prof. Fogliatto
Regras para identificao da soluo tima dual na linha 0 (ou z) do tableau timo do primal (Min)
Valor timo da var. dual yi qdo restrio i do tipo
y2 = -58/23; y3 = 9/23
w = 565/23 Valor timo da var. dual yi qdo restrio i do tipo = (Coeficiente de ai na linha 0 do tableau timo) + M
Prof. Fogliatto
Pesquisa Operacional
157
Prof. Fogliatto
Pesquisa Operacional
158
Exerccio
Prof. Fogliatto
Pesquisa Operacional
159