PROGRAMAÇÃO LINEAR 14 de setembro de 2014
SUMÁRIO
1. Definição 2. Aplicações 3. Problema Ilustrativo 3.1 Enunciado 3.2 Dados Físicos e Econômicos 3.3 Modelo Matemático 3.4 Balanço de Informação e Variáveis de Projeto 3.5 Critério e Função Objetivo 3.6 Restrições 3.7 Região Viável 3.8 Resolução. Algoritmo SIMPLEX
OBSERVAÇÃO PRELIMINAR
OTIMIZAÇÃO: 2 EXTRATORES L = a - b x - c/x Modelo Matemático Restrições 1. Q (xo - x) - W y = 0 2. y - k x = 0 (k = 4) Avaliação Econômica Função Objetivo R = pAB W y C = pB W L = R – C = pAB W y - pB W OTIMIZAÇÃO: 2 EXTRATORES Modelo Matemático Restrições 1. Q(xo - x1) - W1 y1 = 0 2. y1 - k x1 = 0 3. Q(x1 -x2) - W2 y2 = 0 4. y2 - k x2 = 0 Avaliação Econômica Função Objetivo R = pAB (W1 y1 + W2 y2 ) C = pB (W1 + W2) L = pAB (W1 y1 + W2 y2 ) - pB (W1 + W2) L = a – b /x1– cx2 – d x1/x2 Observação: Restrições e Função Objetivo Não-Lineares
OTIMIZAÇÃO: TROCADOR DE CALOR CT = Ccap + Cutil Cutil = (8.500)(5x10-5)W3 Modelo Matemático Restrições Avaliação Econômica Função Objetivo Observação: Restrições e Função Objetivo Não-Lineares
OTIMIZAÇÃO: PROCESSO ILUSTRATIVO Modelo Restrições 01. f11 - f12 - f13 = 0 02. W15 - f23 = 0 03. f31 - f32 = 0 04. k – (3 + 0,04 Td) = 0 05. k – x13 / x12 = 0 06. (f11 Cp1 + f31 Cp3) (T1 - Td) + W15 Cp2l (T15 - Td) = 0 07. Vd - (f11 /1 + W15/2 + f31/3) = 0 08. r - f13/f11 = 0 09. T2 – Td = 0 10. T3 – Td = 0 11. f13 - f14 = 0 12. f23 - f24 - W5 = 0 13. W6 - W7 = 0 14. W6 [3 + Cpv (T6 – T7)] - Qe = 0 15. Qe – [(f13Cp1 + f23Cp2l)(Te - T3) + W5 2] = 0 16. Qe - Ue Ae e = 0 17. e - (T6- Te) = 0 18. T4 – Te = 0 19. T5 – Te = 0 20. W8 - W9 = 0 21. W5 - W10 = 0 22. Qc - W8 Cp3 (T9 - T8) = 0 23. W5 [2 + Cp2g (T5 – T10)] - Qc = 0 24. Qc - Uc Ac c = 0 25. c - [(T5 - T9) - (T10 - T8)]/ln[(T5 - T9)/(T10 - T8)] = 0 26. W11 - W12 = 0 27. W10 - W13 = 0 28. Qr - W11 Cp3 (T12 - T11) = 0 29. Qr - W10 Cp2l (T10 - T13) = 0 30. Qr - Ur Ar r = 0 31. r - [(T10 - T12) - (T13 - T11)]/ln[(T10 - T12)/(T13 - T11)] = 0 32. W13 + W14 - W15 = 0 33. W13 (T15 - T13) + W14 (T15 - T14) = 0 34. f11 + f31 - W1 = 0 35. x11 - f11 / W1 = 0 36. f12 + f22 – W2 = 0 37. x12 - f12/ W2 = 0 38. f13 + f23 – W3 = 0 39. x13 - f13 / W3 = 0 40. f14 + f24 - W4 = 0 41. x14 - f14/ W4 = 0
Observação: Restrições e Função Objetivo Não-Lineares PROCESSO ILUSTRATIVO R = pAB f14 Fop $/a Investimento: Ib = Ibb (20/Pbb) Mb $ Id = Idb (Vd/Vdb) Md $ Ie = Ieb (Ae/Aeb) Me $ Ic = Icb (Ac/Acb) Mc $ Ir = Irb (Ar/Arb) Mr $ ISBL = fT fD fL (Ib + Id + Ie + Ic + Ir) $ Custos: Cagua = pa (W8 + W11) $/h Cvapor = pv W6 $/h Csolvente = ps W14 $/h Cbomba = 0,15 $/h C = Fop (Cagua + Cvapor + Csolvente + Cbomba) $/a Avaliação Econômica Função Objetivo LE = 0,7 R – 0,8 C – 0,4 ISBL $/a Observação: Restrições e Função Objetivo Não-Lineares
1. DEFINIÇÃO
Problema de Programação Linear É uma área da Otimização que trata exclusivamente de um tipo especial de problema: Min f(x) = a1 x1 + a2 x2 + ...+ an xn x s.a.: g(x) = b1 x1 + b2 x2 + ...+ bn xn 0 O que se observa ??? A Função Objetivo e todas as Restrições são lineares Problema de Programação Linear
2. APLICAÇÕES
Por ser muito peculiar parece não encontrar aplicações... Pelo contrário: ele aparece no planejamento nas áreas de transportes: rodoviário, ferroviário, fluvial, marítimo, aéreo. comércio: distribuição de mercadorias por entrepostos; estoques. energia: produção e distribuição militar: logística produção industrial nosso interesse Outros...
3. PROBLEMA ILUSTRATIVO Planejamento da Produção de uma Refinaria (adaptado de Edgar & Himmelblau, “Optimization of Chemical Processes”, 1988)
3.1 ENUNCIADO
Uma refinaria pode receber dois tipos de óleo cru: O1 e O2. A partir de cada um deles, ela pode produzir: - gasolina (G) - querosene (Q) - óleo combustível (C) - óleo residual (R) Determinar - quantos barris/dia a refinaria deve adquirir de cada óleo cru (x1, x2)(b/d) [disponibilidade ilimitada] - quanto a refinaria deve produzir, a partir de cada óleo, de - gasolina (x31, x32)(b/d) - querosene (x41, x42)(b/d) - óleo combustível (x51, x52)(b/d) - óleo residual (x61, x62)(b/d)
Fluxograma com Informações Necessárias C1 = $/b x31 b3/b1 O1 x41 b4/b1 p1 = ($/b) x51 x1 (b/d) b5/b1 x61 b6/b1 PRODUTOS p3 = ($/b); x3max= (b/d) p4 = ($/b); x4max= (b/d) p5 = ($/b); x5max= (b/d) p6=10 ($/b) CRÚS C2 = $/b x32 G x3(b/d) O2 b3/b2 x42 Q x4(b/d) p2 = ($/b) b4/b2 x52 C x5(b/d) x2 (b/d) b5/b2 x62 R x6(b/d) b6/b2
3.2 DADOS FÍSICOS E ECONÔMICOS
Dados resumidos no Fluxograma seguinte. Processamento do Óleo O1: - preço do óleo : p1 = 24 $/b - custo de processamento: c1 = 0,50 $/b - perfil de produção : gasolina 80%, querosene 5%, óleo combustível 10% e óleo residual 5%. Processamento do Óleo O2: - preço do óleo : p2 = 15 $/b - custo de processamento: c2 = 1,0 $/b - perfil de produção : gasolina 44%, querosene 10%, óleo combustível 35% e óleo residual 10%. Preços de venda gasolina : p3 = 36 $/b querosene : p4 = 24 $/b óleo comb. : p5 = 21 $/b óleo resid. : p6 = 10 $/b Produção máxima de cada produto x3max = 24.000 b/d (x3 = x31 + x32) (G) x4max = 2.000 b/d (x4 = x41 + x42) (Q) x5max = 6.000 b/d (x5 = x51 + x52) (C) Dados resumidos no Fluxograma seguinte.
Fluxograma PRODUTOS p3 = 36 ($/b); x3max= 24.000(b/d) C1 = 0,50 $/b x31 0,80 b3/b1 O1 x41 0,05 b4/b1 p1 = 24 ($/b) x51 x1 (b/d) 0,10 b5/b1 x61 0,05 b6/b1 PRODUTOS p3 = 36 ($/b); x3max= 24.000(b/d) p4 = 24 ($/b); x4max= 2.000(b/d) p5 = 21 ($/b); x5max= 6.000(b/d) p6=10 ($/b) CRÚS C2 = 1 $/b x32 G x3(b/d) O2 0,44 b3/b2 x42 Q x4(b/d) p2 = 15 ($/b) 0,10 b4/b2 x52 C x5(b/d) x2 (b/d) 0,36 b5/b2 x62 R x6(b/d) 0,10 b6/b2
Dimensionar uma dada estrutura No enfoque da Engenharia de Processos trata-se de um problema de Análise de Processos. Dimensionar uma dada estrutura Trata-se de um problema de otimização
5.2 ELEMENTOS COMUNS EM PROBLEMAS DE OTIMIZAÇÃO Todo problema de otimização exibe os seguintes elementos, qualquer que seja a sua área de aplicação. O conhecimento esses elementos e das suas características é de fundamental importância para a solução do problema 5.2.1 Variáveis de Decisão 5.2.2 Critério 5.2.3 Função Objetivo 5.2.4 Restrições 5.2.5 Região Viável
3.3 MODELO
Modelo: Balanços Materiais 0,80 b3 / b1 0,05 b4 / b1 0,10 b5 / b1 0,05 b6 / b1 C1 = 0,50 $/b C2 = 1 $/b 0,44 b3 / b2 0,10 b4 / b2 0,36 b5 / b2 0,10 b6 / b2 x32 x42 x52 x62 x31 x41 x51 x61 G Q C R p2 = 15 ($/b) p1 = 24 ($/b) x1 (b/d) x2 (b/d) CRÚS x3(b/d) x4(b/d) x5(b/d) x6(b/d) O1 O2 PRODUTOS p3 = 36 ($/b); x3max= 24.000(b/d) p4 = 24 ($/b); x4max= 2.000(b/d) p5 = 21 ($/b); x5max= 6.000(b/d) p6 = 10 ($/b) Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6 Modelo: Balanços Materiais
3.4 BALANÇO DE INFORMAÇÃO E VARIÁVEIS DE PROJETO
Balanço de Informação G = V – N = 6 – 4 G = 2 0,80 b3/b1 0,05 b4/b1 0,10 b5/b1 0,05 b6/b1 C1 = 0,50 $/b C2 = 1 $/b 0,44 b3/b2 0,10 b4/b2 0,36 b5/b2 0,10 b6/b2 x32 x42 x52 x62 x31 x41 x51 x61 G Q C R p2 = 15 ($/b) p1 = 24 ($/b) x1 (b/d) x2 (b/d) CRÚS x3(b/d) x4(b/d) x5(b/d) x6(b/d) O1 O2 Modelo Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6 Balanço de Informação G = V – N = 6 – 4 G = 2
Ordenação das Equações Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6 x1 x2 x3 x4 x5 x6 * Variáveis de Projeto: x1 e x2
3.5 CRITÉRIO E FUNÇÃO OBJETIVO
0,80 b3/b1 0,05 b4/b1 0,10 b5/b1 0,05 b6/b1 C1 = 0,50 $/b C2 = 1 $/b 0,44 b3/b2 0,10 b4/b2 0,36 b5/b2 0,10 b6/b2 x32 x42 x52 x62 x31 x41 x51 x61 G Q C R p2 = 15 ($/b) p1 = 24 ($/b) x1 (b/d) x2 (b/d) CRÚS x3(b/d) x4(b/d) x5(b/d) x6(b/d) O1 O2 p3 = 36 ($/b) p4 = 24 ($/b) p5 = 21 ($/b) p6 = 10 ($/b) Receita (R): 36 x3 + 24 x4 + 21 x5 + 10 x6 Custos de MatPrim (CMP) : 24 x1 + 15 x2 Custos Processamento (CP).: 0,50 x1 + x2 Função Objetivo L = R – CMP - CP L = 36 x3 + 24 x4 + 21 x5 + 10 x6 - 24 x1 - 15 x2 - 0,50 x1 - x2
3.6 RESTRIÇÕES
Relembrando ...
A presença de restrições pode alterar a solução de um problema São os limites impostos pelas leis naturais às variáveis do processo. Há dois tipos de restrições: (a) restrições de igualdade : h(x) = 0 São as equações do próprio modelo matemático. (b) restrições de desigualdade: g (x) 0 São os limites impostos às Variáveis de Projeto A presença de restrições pode alterar a solução de um problema
PRODUTOS p3 = 36($/b); x3max= 24.000(b/d) p4 = 24($/b); x4max= 2.000(b/d) p5 = 21($/b); x5max= 6.000(b/d) p6 = 10($/b) 0,80 b3/b1 0,05 b4/b1 0,10 b5/b1 0,05 b6/b1 C1 = 0,50 $/b C2 = 1 $/b 0,44 b3/b2 0,10 b4/b2 0,36 b5/b2 0,10 b6/b2 x32 x42 x52 x62 x31 x41 x51 x61 G Q C R p2 = 15 ($/b) p1 = 24 ($/b) x1 (b/d) x2 (b/d) CRÚS x3(b/d) x4(b/d) x5(b/d) x6(b/d) O1 O2 Restrições de Desigualdade Gasolina : x3 24.000 Querosene : x4 2.000 Combustível : x5 6.000 Óleos crus : x1 0 e x2 0 Restrições de Igualdade Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6
Incorporando as Restrições à Função Objetivo
Exemplo: dimensionamento de um extrator W kg B/h Q = 10.000 kgA/h rafinado y kg AB/kg B xo= 0,02 kg AB/kg A extrato x kgB/kgA Modelo Matemático: 1. Q (xo - x) - W y = 0 2. y - k x = 0 (k = 4) Balanço de Informação: V = 5, N = 2, C = 2, M = 0 G = 1 (otimização) Avaliação Econômica: L = R - C R = pAB W y C = pB W pAB = 0,4 $/kgAB : pB = 0,01 $/kgB
Função Objetivo: L = R - C = pAB W y - pB W Incorporando as Restrições de Igualdade ordenadas à Função Objetivo (viável em problemas simples) x 2. y = k x 1. W = Q (xo - x)/y L = pAB W y - pB W y, W L L = a - b x - c/x x L
De modo semelhante, no problema ilustrativo... Incorporando as Restrições Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6 ao Lucro L = 36 x3 + 24 x4 + 21 x5 + 10 x6 - 24 x1 - 15 x2 - 0,50 x1 - x2 Resulta L(x) = 8,1 x1 + 10,8 x2
Enunciado Formal do Problema Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.: 0,80 x1 + 0,44 x2 24.000 0,05 x1 + 0,10 x2 2.000 0,10 x1 + 0,36 x2 6.000 x1 0 x2 0
Examinando a Função Objetivo L(x) = 8,1 x1 + 10,8 x2 (linear) x2 = L / 10,8 – (8,1 / 10,8) x1 (família de retas) 10 20 30 40 x1 (1.000 b/d) x2 648.000 324.000 243.000 162.000 81.000
3.7 REGIÃO VIÁVEL
É a região do espaço delimitada pelas restrições 0,80 x1 + 0,44 x2 24.000 (gasolina) 0,05 x1 + 0,10 x2 2.000 (querosene) 0,10 x1 + 0,36 x2 6.000 (óleo) x1 0 x2 0 Forma geral: a x1 + bx2 c Re-escrevendo: x2 - (a/b) x1 + (c/b) São retas de inclinação negativa (a/b) com interseção no eixo x1 = 0: x2 = (c/b) interseção no eixo x2 = 0: x1 = (c/a)
Colocando as restrições 0,80 x1 + 0,44 x2 24.000 (gasolina) 0,05 x1 + 0,10 x2 2.000 (querosene) 0,10 x1 + 0,36 x2 6.000 (óleo) x1 0 x2 0 Na forma x2 - (a/b) x1 + (c/b) resultam x2 - 1,818 x1 + 54.545 (gasolina) (c/a) = 30.000) x2 - 0,50 x1 + 20.000 (querosene) (c/a) = 40.000) x2 - 0,28x1 + 16.667 (óleo) (c/a) = 60.000)
Os pontos A, B, C, D e E são vértices da Região Viável Desempenham um papel fundamental na resolução do problema. região viável convexa ! (1.000 b/d) B 10 20 30 40 x1 x2 A C D E gasolina querosene óleo c/b c/a
x2 - (a/b) x1 + (c/b) c/b x2 - 1,818 x1 + 54.545 (gasolina) (c/a) = 30.000) x2 - 0,50 x1 + 20.000 (querosene) (c/a) = 40.000) x2 - 0,28x1 + 16.667 (óleo) (c/a) = 60.000) (1.000 b/d) B 10 20 30 40 x1 x2 A C D E gasolina querosene óleo O menor c/b é vértice ! c/b região viável convexa ! c/a
3.8 RESOLUÇÃO
É a solução viável com o Lucro máximo Solução Ótima É a solução viável com o Lucro máximo Em duas dimensões, a identificação visual da Solução Ótima é imediata. 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina 81.000 162.000 243.000 324.000 Solução (D): (26.207, 6.897) (L=286.764) 26.207 6.897
Com outros valores dos parâmetros físicos e econômicos, a inclinação da Função Objetivo seria outra e a solução seria outra. 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina Solução (C): (14.000, 13.000) (L = 637.000)
A Solução Ótima se localiza sempre num dos Vértices da Região Viável Pode-se provar que A Solução Ótima se localiza sempre num dos Vértices da Região Viável 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina Solução (C): (14.000, 13.000) (L = 637.000)
Como localizar a solução em problemas complexos sem o recurso visual? Criando um procedimento numérico que simule o exame dos vértices No exemplo, apenas 5 pontos 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina 243.000 324.000 Solução: (26.207, 6.897) (L=286.764) 162.000 81.000 Origem: solução trivial (como???)
Primeiro, há que se caracterizar numericamente os vértices Se encontram na fronteira da região viável São interseções de duas restrições Correspondem à produção máxima de dois produtos 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina 243.000 324.000 Solução: (26.207, 6.897) (L=286.764) 162.000 81.000 Origem: solução trivial
Uma vez caracterizados os vértices, o procedimento numérico de busca deve se restringir: (a) à fronteira da Região Viável (b) uma vez na fronteira, à interseção de duas restrições
Como restringir a busca à fronteira da região viável ? Transformando as restrições de desigualdade em restrições de igualdade. Relembrando...
Restrições de Desigualdade 0,0 0,5 1,0 1,5 2,0 x2 1.0 0,8 0,6 0,4 B A Solução irrestrita: A Solução restrita : B g x 1 2 25 ( ) , = + - g2(x) = x1 0 g3(x) = x2 0 São válidos apenas os pontos localizados sobre a fronteira ou no interior da região.
Restrições de Igualdade (solução sobre a curva) h x ( ) , = + - 1 2 25 Solução Irrestrita: A Solução Restrita : B g2(x) = x1 0 g3(x) = x2 0 São válidos apenas os pontos localizados sobre a fronteira da região.
Ou seja Transformando as restrições de desigualdade em restrições de igualdade, o interior da região é eliminado da busca, que fica restrita à sua fronteira (periferia). 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina Solução: (26.207, 6.897) (L=286.764) 81.000 162.000 243.000 324.000
Folga Esta transformação pode ser operada com o auxílio do conceito É a diferença entre a produção de um produto e a sua produção máxima Serve para medir a “distância” para produção máxima
Exemplo: ponto I (folgas na produção de gasolina, querosene e óleo). A todo ponto (x1, x2) no interior da Região Viável corresponde uma folga, fi pois a produção de cada produto é inferior à máxima. Exemplo: ponto I (folgas na produção de gasolina, querosene e óleo). Gasolina : 0,80 x1 + 0,44 x2 = x3 = 12.400 (24.000) Querosene : 0,05 x1 + 0,10 x2 = x4 = 1.500 (2.000) Óleo : 0,10 x1 + 0,36 x2 = x5 = 4.600 (6.000) 10 20 30 40 x1 (1.000 b/d) x2 A B C D E F G H gasolina querosene óleo I x1 = x2 = 10 f1 = 11.600 b/d f2 = 500 b/d f3 = 1.400 b/d
Exemplo: ponto J (produção máxima de óleo = 6.000 b/d: f3 = 0). A todo ponto (x1, x2) localizado sobre um restrição corresponde uma folga zero, pois a produção do produto correspondente é a máxima. Exemplo: ponto J (produção máxima de óleo = 6.000 b/d: f3 = 0). Gasolina : 0,80 x1 + 0,44 x2 = x3= 14.116 (24.000) Querosene : 0,05 x1 + 0,10 x2 = x4 = 1.809 (2.000) Óleo : 0,10 x1 + 0,36 x2 = x5 = 6.000 (6.000) F 20 B J óleo C 13,89 x1 = 10 x2 = 13,89 G x2 10 querosene D f1 = 9.884 b/d f2 = 110 b/d f3 = 0 b/d (1.000 b/d) gasolina E H A 10 20 30 40 x1 (1.000 b/d)
Exemplo: ponto C (produção máxima de óleo e de querosene) A todo ponto (x1, x2) localizado sobre um vértice correspondem 2 folgas zero pois a produção dos dois produtos é a máxima Exemplo: ponto C (produção máxima de óleo e de querosene) Gasolina : 0,80 x1 + 0,44 x2 = x3= 16.600 (24.000) Querosene : 0,05 x1 + 0,10 x2 = x4 = 2.000 (2.000) Óleo : 0,10 x1 + 0,36 x2 = x5 = 6.000 (6.000) F 20 B óleo C 15,0 G x1 = 12,5 x2 = 15,0 x2 10 querosene D f1 = 7.400 b/d f2 = 0 b/d f3 = 0 b/d (1.000 b/d) gasolina E H A 12,5 10 20 30 40 x1 (1.000 b/d)
Então, nos vértices, duas folgas são iguais a zero 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina 243.000 324.000 162.000 81.000 Origem: solução trivial A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
Caracterizados os vértices em função das folgas, resta: (a) incorporar as folgas ao problema (b) examinar os pontos em que duas folgas são zero (vértice) As folgas são incorporadas ao problema transformando restrições de desigualdade em restrições de igualdade
Incorporando as folgas fi ao problema Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.: 0,80 x1 + 0,44 x2 24.000 (gasolina) 0,05 x1 + 0,10 x2 2.000 (querosene) 0,10 x1 + 0,36 x2 6.000 (óleo) x1 0 x2 0 Incorporando as folgas fi ao problema Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.: 0,80 x1 + 0,44 x2 + 0,05 x1 + 0,10 x2 + 0,10 x1 + 0,36 x2 + x1 0 x2 0 f1 = 24.000 (gasolina) = 2.000 (querosene) = 6.000(óleo) f2 f3
Comparando o Problema Original com o Problema Modificado
Busca na periferia e no interior da RV Problema original (2 variáveis) 3 restrições de desigualdade e 2 de não negatividade Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.: 0,80 x1 + 0,44 x2 24.000 (gasolina) 0,05 x1 + 0,10 x2 2.000 (querosene) 0,10 x1 + 0,36 x2 6.000 (óleo) x1 0 x2 0 Busca na periferia e no interior da RV Problema modificado (5 variáveis: 2 de projeto, 3 calculadas) 3 restrições de igualdade e 2 de não negatividade Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.:0,80 x1 + 0,44 x2 + f1 = 24.000 (gasolina) 0,05 x1 + 0,10 x2 + f2 = 2.000 (querosene) 0,10 x1 + 0,36 x2 + f3 = 6.000 (óleo) x1 0 x2 0 Busca restrita à periferia da RV
As restrições de igualdade formam agora um sistema de equações lineares. 0,80 x1 + 0,44 x2 + 0,05 x1 + 0,10 x2 + 0,10 x1 + 0,36 x2 + f1 f2 f3 = 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo) V = 5 : N = 3 : G = 2 !!! Trata-se de um problema de otimização em que só interessam soluções com duas folgas iguais a zero (vértices). x1 e x2 podem ser consideradas folgas em relação à produção máxima dos 3 produtos. x1 = x2 = 0 correspondem a um vértice, que é a origem, onde as folgas são: f1 = 24.000, f2 = 2.000, f3 = 6.000. É a Solução Trivial do problema, em que nada se compra e nada se produz L = 0
Origem: solução trivial 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina 243.000 324.000 162.000 81.000 Origem: solução trivial A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
Falta, agora, manipular as folgas simulando a visita aos vértices... A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
Para isso, é necessário reescrever o sistema de equações em função dos pares (x1,f3), (f2,f3), (f1,f2) e (x2, f1). A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
Uma das formas equivalentes Exemplo Forma Original 0,80 x1 + 0,44 x2 + 0,05 x1 + 0,10 x2 + 0,10 x1 + 0,36 x2 + f1 f2 f3 = 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo) Uma das formas equivalentes 0,68 x1 – 1,22 f3 + 0,02 x1 - 0,78 f3 + 0,28 x1 + 2,78 f3 + f1 f2 x2 = 16.667 (gasolina) = 333 (querosene) = 16.667 (óleo) Na primeira, com x1 = 0 e x2 = 0 vértice A (origem) Na segunda, com x1 = 0 e f3 = 0 vértice B
Sob cada forma, atribuindo-se o valor zero e essas variáveis, obtém-se a solução no vértice correspondente. A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
x1 = 0 f2 = 333 f3 = 0 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina Solução: (26.207, 6.897) (L=286.759) 81.000 162.000 243.000 324.000 x1 = 0 f2 = 333 f3 = 0 A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
3.9 Algoritmo SIMPLEX
Para cada inversão, calcula a Função Objetivo ALGORITMO SIMPLEX Simula, numericamente, o exame de cada vértice em busca da solução ótima. O SIMPLEX parte da origem e visita os demais vértices invertendo sucessivamente o papel de 2 variáveis: uma de projeto e outra calculada. Para cada inversão, calcula a Função Objetivo A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
O SIMPLEX parte da origem e visita os demais vértices invertendo sucessivamente o papel de 2 variáveis: uma de projeto e outra calculada. ALGORITMO SIMPLEX Simula, numericamente, o exame de cada vértice em busca da solução ótima. O Algoritmo Inverte os papéis das variáveis, re-escrevendo sistema de equações com uma outra base (variáveis de projeto). A x1 = 0 x2 = 0 f1 = 24.000 f2 = 2.000 f3 = 6.000 B x1 = 0 x2 = 16.667 f1 = 16.667 f2 = 333 f3 = 0 C x1 = 15.000 x2 = 12.500 f1 = 6.500 f2 = 0 f3 = 0 D x1 = 26.207 x2 = 6.897 f1 = 0 f2 = 0 f3 = 897 E x1 = 30.000 x2 = 0 f1 = 0 f2 = 500 f3 = 3.000
ALGORITMO SIMPLEX Private Sub EXECUTAR_Click() ' LerTableau Do ColunaQueSai If Convergir = True Then Exit Sub LinhaQueEntra Pivotear Loop End Sub
= 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo) A inversão é executada aplicando o Algoritmo de Gauss-Jordan à Matriz Aumentada (Tableau) do sistema 0,80 x1 + 0,44 x2 + 0,05 x1 + 0,10 x2 + 0,10 x1 + 0,36 x2 + L(x) = 8,1 x1 + 10,8 x2 f1 f2 f3 = 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo) x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L O Lucro é incluído na matriz para que os seus coeficientes sofram as mesmas transformações e fique expresso automaticamente na nova base.
Exemplo de resultado da aplicação do Algoritmo de Gauss-Jordan trocando x2 por f3.
0,80 x1 + 0,44 x2 + 0,05 x1 + 0,10 x2 + 0,10 x1 + 0,36 x2 + L(x) = 8,1 x1 + 10,8 x2 f1 f2 f3 = 24.000 = 2.000 = 6.000 0,68 x1 + f1 – 1,22 f3 = 16.667 0,022 x1 + f2 – 0,278 f3 = 2.000 0,278 x1 + x2 – 2,78 f3 = 6.000 L(x) = 5,1 x1 – 30 f3 = 180.000 x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L x1 x2 f1 f2 f3 0,678 1 -1,222 16.667 0,022 - 0,278 333,33 0,278 2,778 5,10 -30 L - 180.000
O Algoritmo de Gauss-Jordan encontra-se explicado no arquivo Sistemas de Equações Encontrado no site logo abaixo deste de Programação Linear
Critério para a troca de papéis De variável de projeto para variável calculada Observe-se o Lucro: L(x) = 8,1 x1 + 10,8 x2 Para x1 = x2 = 0 L = 0 Para x1 > 0 e/ou x2 > 0 L > 0 Seleciona-se a variável de projeto de maior coeficiente positivo na expressão do Lucro (a que mais contribui, naquela iteração, para o aumento do Lucro). Então, x2 é a escolhida e passa a ser variável calculada: x2 x2
x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L x2 x2 Coluna pivot
De variável calculada para variável de projeto Para cada linha, identifica-se o menor valor de c/b, sendo b o valor do coeficiente constante (coluna da direita) e c o valor na coluna da variável de projeto escolhida acima (no caso, x2). O menor valor de c/b corresponde à interseção mais próxima da origem e, consequentemente, pertencente à Região Viável 0,80 x1 + 0,44 x2 24.000 (gasolina) 0,05 x1 + 0,10 x2 2.000 (querosene) 0,10 x1 + 0,36 x2 6.000 (óleo) c/b=24.000 / 0,44 = 54.545 c/b = 2.000 / 0,10 = 20.000 c/b = 6.000 / 0,36 = 6.000 Então, f3 passa a ser variável de projeto: f3 f3
Região Viável 10 20 30 40 x1 (1.000 b/d) x2 A C D E B (1.000 b/d) 0,80 x1 + 0,44 x2 24.000 (gasolina) (c/a) = 30.000 : (c/b) = 54.545 0,05 x1 + 0,10 x2 2.000 (querosene) (c/a) = 40.000 : (c/b) = 20.000 0,10 x1 + 0,36 x2 6.000 (óleo) (c/a) = 60.000 : (c/b) = 16.667 Das 3 interseções com x1 = 0, B é o vértice porque é o de menor (c/b) Das 3 interseções com x2 = 0, E é o vértice porque é o de menor (c/a) região convexa ! 10 20 30 40 x1 (1.000 b/d) x2 A C D E gasolina querosene óleo Qualquer ponto no interior ou sobre a fronteira da Região Viável é uma Solução Viável menor (c/b) B (1.000 b/d)
x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L f3 f3 Linha pivot x2 x2 Coluna pivot A mudança de base é executada pela operação de pivoteamento utilizada pelo Algoritmo de Gauss-Jordan para a solução de sistemas de equações lineares.
A linha do menor c/b é denominada “linha pivot” x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L f3 f3 Linha pivot x2 x2 Coluna pivot A linha do menor c/b é denominada “linha pivot” A coluna da variável que passa a calculada é denominada “coluna pivot”. O elemento da interseção é denominado “pivot”
x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L f3 f3 x2 x2 Primeiro passo: divide-se a linha pivot pelo pivot. A eq. 3 era: f3 =6.000 – 0,10 x1 – 0,36 x12 A eq. 3 já fica: x2 = 16.667 – 0,28 x1 – 2,78 f3 x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 8,10 10,80 L 0,278 1 2,778 16.667
Em seguida, o pivoteamento: aij = aij – aip a3pj x1 x2 f1 f2 f3 0,80 0,44 1 24.000 0,05 0,10 2.000 0,278 2,778 16.667 8,10 10,80 L Em seguida, o pivoteamento: aij = aij – aip a3pj Ex.: a11= 0,80 – 0,278 x 0,44 = 0,678 x1 x2 f1 f2 f3 0,44 1 0,10 10,80 0,678 - 1,222 16.667 0,022 - 0,278 333,33 0,278 1 2,778 16.667 5,10 - 30 L - 180.000
Chega-se, assim, ao Ponto B x1 x2 f1 f2 f3 0,678 1 -1,227 16.667 0,022 - 0,278 333,33 0,278 2,778 5,10 -30 L - 180.000 5,10 x1 – 30 x2 = L – 180.000 Com x1 = f3 = 0 L = 180.000
x1 x2 f1 f2 f3 0,678 1 -1,227 16.667 0,022 - 0,278 333,33 0,278 2,778 5,10 -30 L - 180.000 Ponto B Com x1 = f3 = 0 L = 180.000 10 20 30 40 x1 (1.000 b/d) x2 A B C D E óleo querosene gasolina 81.000 162.000 243.000 324.000
O pivoteamento corresponde à migração de um vértice a outro sobre a restrição. 20 B 243.000 C 324.000 óleo 10 x2 querosene 162.000 D (1.000 b/d) 81.000 gasolina E A 10 20 30 40 x1 (1.000 b/d)
Pivoteamento: aij = aij – aip apj x1 x2 f1 f2 f3 0,678 1 -1,227 16.667 0,022 - 0,278 333,33 0,278 2,778 5,10 -30 L - 180.000 c/b = 24.510 f2 f2 c/b = 16.667 c/b = 59.525 x1 x1 Divide-se a linha do pivot pelo pivot. Pivoteamento: aij = aij – aip apj x1 x2 f1 f2 f3 1 -30,5 7,25 6.500 45 -12,5 15.000 6,25 12.500 - 229,5 3,75 L – 256.500 Com f2 = f3 = 0 L = 256.500
x1 x2 f1 f2 f3 1 -30,5 7,25 6.500 45 -12,5 15.000 6,25 12.500 - 229,5 3,75 L – 256.500 Ponto C Com f2 = f3 = 0 L = 256.500 20 B 243.000 C 324.000 óleo 10 x2 querosene 162.000 D (1.000 b/d) 81.000 gasolina E A 10 20 30 40 x1 (1.000 b/d)
Pivoteamento: aij = aij – aip apj x1 x2 f1 f2 f3 1 -30,5 7,25 6.500 45 -12,5 15.000 6,25 12.500 - 229,5 3,75 L – 256.500 c/b = 867 f1 f1 c/b = - 1.202 c/b = 1.983 f3 f3 Divide-se a linha do pivot pelo pivot. Pivoteamento: aij = aij – aip apj x1 x2 f1 f2 f3 0,138 4,207 1 867 1,724 -7,586 26.207 - 0,862 13,793 6.897 - 4,655 -86,517 L – 286.759 Com f1 = f2 = 0 L = 286.759
Todos os coeficientes de L negativos Nenhuma variável para entrar FIM x1 x2 f1 f2 f3 0,138 4,207 1 867 1,724 -7,586 26.207 - 0,862 13,793 6.897 - 4,655 -86,517 L – 286.759
SOLUÇÃO
x1 x2 f1 f2 f3 0,138 4,207 1 867 1,724 -7,586 26.207 - 0,862 13,793 6.897 - 4,655 -86,517 L – 286.759 Ponto D Com f1 = f2 = 0 L = 286.759 20 Solução: x1= 26.207 x2 = 6.897 gasolina = 24.000 (f1 = 0) querosene = 2.000 (f2 = 0) óleo = 5.133 (f3 = 867) L = 286.759 B 243.000 C 324.000 óleo 10 x2 querosene 162.000 D (1.000 b/d) 81.000 gasolina E A 10 20 30 40 x1 (1.000 b/d)
Fluxograma com a Solução PRODUTOS p3 = 36 ($/b); x3max= 24.000(b/d) p4 = 24 ($/b); x4max= 2.000(b/d) p5 = 21 ($/b); x5max= 6.000(b/d) p6=10 ($/b) C1 = 0,50 $/b x32= 20.965 b/d 0,80 b3/b1 O1 x41 = 1.310 b/d 0,05 b4/b1 p1 = 24 ($/b) x51 = 2.620 b/d x1 = 26.207(b/d) 0,10 b5/b1 x61 = 1.310 b/d 0,05 b6/b1 CRÚS C2 = 1 $/b x32 = 3.035 b/d G x3 = 24.000 ( b/d) O2 0,44 b3/b2 Q x42= 690 b/d X4 = 2.000 (b/d) p2 = 15 ($/b) 0,10 b4/b2 C x5= 5.103 (b/d) folga = 897 b/d x52= 2.843 b/d x2 = 6.897(b/d) 0,36 b5/b2 R x6= 2.000 (b/d) x62= 690 b/d 0,10 b6/b2 L = 286.764 $/a
PROBLEMA COM RESTRIÇÕES DO TIPO Exemplo Min C = x2 – 6 x1 s.a. : 4 x1 + x2 21 - x1 + x2 1 2 x1 + 3 x2 13 !!!
PROBLEMA REGIÃO VIÁVEL Min C = x2 – 6 x1 s.a.: 4 x1 + x2 21 - x1 + x2 1 2 x1 + 3 x2 13 REGIÃO VIÁVEL 0 1 2 3 4 5 6 6 5 4 3 2 1 A B C D A B C Convexa
Matriz Aumentada (Tableau) PROBLEMA Min C = x2 – 6 x1 s.a.: 4 x1 + x2 21 - x1 + x2 1 2 x1 + 3 x2 13 (!!!) Matriz Aumentada (Tableau) Restrições : folgas positivas Restrições = : folgas zero Restrições : folgas negativas x1 x2 f1 f2 f3 C 4 1 21 -1 2 3 13 -6 C - 0 -1
A origem não pertence à Região Viável Como iniciar o SIMPLEX? 6 5 4 3 2 1 B A C 0 1 2 3 4 5 6 Há que se selecionar um vértice para servir de ponto de partida para o SIMPLEX.
Fase 1: Cria-se e resolve-se um Problema Artificial. PROCEDIMENTO Método das Duas fases Fase 1: Cria-se e resolve-se um Problema Artificial. 6 5 4 3 2 1 B A solução do Problema Artificial é o vértice da Região Viável que servirá de ponto de partida para a solução do Problema Original. A C D 0 1 2 3 4 5 6 Fase 2: resolve-se o Problema Original a partir da solução do Problema Artificial
PROBLEMA ARTIFICIAL x1 x2 f1 f2 f3 C 4 1 21 -1 2 3 13 -6 C - 0 (a) para cada folga negativa fj, cria-se uma variável artificial xja que é incorporada ao Tableau x1 x2 f1 f2 f3 x1a C 4 1 21 -1 2 3 13 -6 C - 0
Da linha 3: Ca = x1a = 13 – 2x1 – 3x2 + f3 4 1 21 -1 2 3 13 -6 C - 0 (b) cria-se, também, uma Função Objetivo Artificial: Ca = xja Da linha 3: Ca = x1a = 13 – 2x1 – 3x2 + f3
que também é inserida no Tableau x1 x2 f1 f2 f3 x1a C 4 1 21 -1 2 3 13 -6 C - 0 Ca = x1a = 13 – 2 x1 – 3 x2 + f3 que também é inserida no Tableau x1 x2 f1 f2 f3 x1a C 4 1 21 -1 2 3 13 -6 C - 0 - 2 - 3 Ca -13
Minimizando Ca chegando a Ca = x1a = 0 f1 f2 f3 x1a C 4 1 21 -1 2 3 13 -6 C - 0 - 2 - 3 Ca - 13 Ca = x1a = 13 – 2x1 – 3x2 + f3 (d) aplica-se o SIMPLEX ao Tableau partindo de x1 = x2 = f3 = 0, que é a base natural para o Problema Artificial, onde Ca = 13. Minimizando Ca chegando a Ca = x1a = 0 Ao final da Fase 1 as variáveis e a Função Objetivo artificiais terão desaparecido, ficando o Tableau original com um ponto de partida para o SIMPLEX.
Assim, aplicando o SIMPLEX, resulta ... f1 f2 f3 x1a C 4 1 21 -1 2 3 13 -6 C - 0 - 2 - 3 Ca -13 Assim, aplicando o SIMPLEX, resulta ... x1 x2 f1 f2 f3 x1a C 1 2 - 1 10 0,4 - 0,2 0,2 3 - 0,6 -2 - 4 -1 C - 9 Ca - 0
x1 x2 f1 f2 f3 x1a 1 Solução Fase 1 f2 = f3 = x1a = 0 C 1 2 - 1 10 0,4 - 0,2 0,2 3 - 0,6 - 4 -1 9 Ca - 0 0 1 2 3 4 5 6 6 5 4 3 2 1 A B C D Solução Fase 1 f2 = f3 = x1a = 0 x1 = 2 x2 = 3 f1 = 10 Ca = 0 C = 9
Removem-se x1a e Ca, regenerando o Tableau original f1 f2 f3 x1a C 1 2 -1 10 0,4 - 0,2 0,2 3 - 0,6 - 4 C - 9 Removem-se x1a e Ca, regenerando o Tableau original x1 x2 f1 f2 f3 C 1 2 10 0,4 - 0,2 3 - 0,6 - 4 -1 C - 9
x1 x2 f1 f2 f3 C 1 2 10 0,4 - 0,2 3 - 0,6 - 4 -1 C - 9 Aplicando o SIMPLEX... x1 x2 f1 f2 f3 C 0,5 1 5 - 0,2 - 0,4 0,3 0,1 2 C - 29
Solução f1 = f3 = 0 x1 = 5 x2 = 1 f2 = 5 f3 = 0 C = 29 x1 x2 f1 f2 f3 0,5 1 5 - 0,2 - 0,4 0,3 0,1 2 C - 29 0 1 2 3 4 5 6 6 5 4 3 2 1 A B C D
ANÁLISE DE SENSIBILIDADE
Análise de Sensibilidade 3.5 INCERTEZA E ANÁLISE DE SENSIBILIDADE A análise de processos é executada em ambiente de muita incerteza. Fontes de incerteza: modelos matemáticos: aproximações lineares, coeficientes constantes... (b) parâmetros físicos e econômicos: valores incertos (aproximados e variáveis). A avaliação dos efeitos da incerteza é efetuada através da Análise de Sensibilidade
Fazem parte da Análise: as variáveis características do dimensionamento: dimensões. - as variáveis características do desempenho do processo: variáveis de saída (metas de projeto). - os parâmetros cujos valores são considerados incertos (variáveis conhecidas são aqui incorporadas ao conjunto dos parâmetros Controle !!!).
Fundamento da Análise de Sensibilidade Exemplo: Trocador de Calor T1* = 80 oC W1* = 30.000 kg/h A = 265,6 m2 T 2* = 25 oC W3 = 44.000 kg/h T3* = 15 oC T4* = 30 oC : vetor dos parâmetros (físicos e econômicos) e das variáveis especificadas cujos valores são incertos. Exemplo: Cp1, Cp3, U, W1, T1, T3. F: variável do processo cujo valor é incerto devido à incerteza nos parâmetros . Exemplo: W3, A.
Fundamento da Análise de Sensibilidade : vetor dos parâmetros (físicos e econômicos) e das variáveis especificadas cujos valores são incertos. Exemplo: Cp1, Cp3, U, W1, T1, T3. F: variável do processo cujo valor é incerto devido à incerteza nos parâmetros . Exemplo: W3, A. S (F; i): Sensibilidade de F à incerteza no parâmetro i. Exemplo: i * F i
ANÁLISE DE SENSIBILIDADE EM PROBLEMAS DE PROGRAMAÇÃO LINEAR
ANÁLISE DE SENSIBILIDADE EM PROBLEMAS DE PROGRAMAÇÃO LINEAR
PRODUTOS p3 = 36($/b); x3max= 24.000(b/d) p4 = 24($/b); x4max= 2.000(b/d) p5 = 21($/b); x5max= 6.000(b/d) p6 = 10($/b) 0,80 b3/b1 0,05 b4/b1 0,10 b5/b1 0,05 b6/b1 C1 = 0,50 $/b C2 = 1 $/b 0,44 b3/b2 0,10 b4/b2 0,36 b5/b2 0,10 b6/b2 x32 x42 x52 x62 x31 x41 x51 x61 G Q C R p2 = 15 ($/b) p1 = 24 ($/b) x1 (b/d) x2 (b/d) CRÚS x3(b/d) x4(b/d) x5(b/d) x6(b/d) O1 O2 Restrições de Desigualdade Gasolina : x3 24.000 Querosene : x4 2.000 Combustível: x5 6.000 Óleos crus : x1 0 e x2 0 Restrições de Igualdade Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6
Incorporando as Restrições Gasolina : 0,80 x1 + 0,44 x2 = x3 Querosene : 0,05 x1 + 0,10 x2 = x4 Óleo : 0,10 x1 + 0,36 x2 = x5 Residual : 0,05 x1 + 0,10 x2 = x6 ao Lucro L = 36 x3 + 24 x4 + 21 x5 + 10 x6 - 24 x1 - 15 x2 - 0,50 x1 - x2 Resulta L(x) = 8,1 x1 + 10,8 x2
Na Função Objetivo do Problema Ilustrativo L = 8,1 x1 + 10,80 x2 $/d $/b1 b1/ d $/b2 b2/d 24 $/b1 e 15 $/b2 são os preços pagos pela refinaria no mercado externo O que significam os valores 8,10 $/b1 e 10,80 $/b2 ? É o quanto vale cada barril da cada Cru para a Refinaria levando em conta os preços externos, os custos de produção e a receita pela venda dos produtos: são os Preços Internos ou "Shadow Prices“ das matérias primas
Esses coeficientes aparecem no Tableau Inicial do SIMPLEX 0,80 0,44 1 24.000 0,05 0,10 2.000 0,1 0,36 6.000 8,10 10,80 L Eles correspondem à Sensibilidade do Lucro em relação ao consumo de cada Óleo: 1 b/d a mais comprado do Óleo 1 acarreta um aumento de 8,10 $ no Lucro. 1 b/d a mais comprado do Óleo 2 acarreta um aumento de 10,80 $ no Lucro.
De maneira análoga, no Tableau Final x1 x2 f1 f2 f3 0,138 4,207 1 867 1,724 -7,586 26.207 - 0,862 13,793 6.897 - 4,655 - 86,517 L – 286.759 f1o = 0 f2o = 0 São os “shadow prices” dos produtos 1 b/d de folga (1 b/d a menos produzido) de gasolina acarreta uma redução de 4,66 $ no Lucro, embora p1 = 36 $/b 1 b/d de folga (1 b/d a menos produzido) de querosene acarreta uma redução de 86,5 $ do Lucro, embora p2 = 24 $/b.
DUALIDADE
Considere o Problema Ilustrativo Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.: 0,80 x1 + 0,44 x2 24.000 0,05 x1 + 0,10 x2 2.000 0,10 x1 + 0,36 x2 6.000 x1 0 x2 0 x1 x2 0,80 0,44 24.000 0,05 0,10 2.000 0,36 6.000 8,10 10,80 L
Transpondo o Tableau Inicial s3 ($/b3) s4 s5 0,80(b3/b1) 0,05 (b4/b1) x1(b1/d) x2 (b2/d) 0,80(b3/b1) 0,44(b3/b2) 24.000(b3/d) 0,05(b4/b1) 0,10(b4b2) 2.000(b4/d) 0,10(b5/b1) 0,36(b5/b2) 6.000(b5/d) 8,10 ($/b1) 10,80 ($/b2) L ($/d) Transpondo o Tableau Inicial s3 ($/b3) s4 s5 0,80(b3/b1) 0,05 (b4/b1) 0,10 (b5/b1) 8,10 ($/b1) 0,44 (b3/b2) 0,10 (b4/b2) 0,36 (b5/b2) 10,80 ($/b2) 24.000 (b3/d) 2.000 (b4/d) 6.000 (b5/d) G ($/d) Invertendo as desigualdades de para Transformando o problema de Max para Min
Passamos a ter o Problema Min G(x) = 24.000 s3 + 2.000 s4 + 6.000 s5 {s3, s4, s3} s.a.: 0,80 s3 + 0,05 s4 + 0,10 s5 8,10 0,44 s3 + 0,10 s4 + 0,36 s5 10,80 s3 0 s4 0 s5 0 s3 ($/b3) s4 s5 0,80(b3/b1) 0,05 (b4/b1) 0,10 (b5/b1) 8,10 ($/b1) 0,44 (b3/b2) 0,10 (b4/b2) 0,36 (b5/b2) 10,80 ($/b2) 24.000 (b3/d) 2.000 (b4/d) 6.000 (b5/d) G ($/d) Este novo Problema pode ser resolvido pelo SIMPLEX incluindo as folgas negativas (-1)
Tableau Final do novo Problema: s3 s4 s5 f1 f2 1 - 0,138 - 1,72 0,862 - 0,138 - 1,72 0,862 4,66 4,207 7,586 - 13,8 87,52 897 26.207 6.897 G - 286.759 Comparando com o Tableau Final do Problema Ilustrativo x1 x2 f3 f4 f5 0,138 4,207 1 897 1,724 -7,586 26.207 - 0,862 13,793 6.897 - 4,66 - 87,52 L – 286.759 Os índices das folgas foram trocados de propósito
Tableau Final do Problema Ilustrativo x1 x2 f3 f4 f5 0,138 4,207 1 897 1,724 -7,586 26.207 - 0,862 13,793 6.897 - 4,66 - 87,52 L – 286.759 Na horizontal, dá os valores ótimos de x1, x2 e f5. Na vertical, dá os valores ótimos dos "shadow prices" da gasolina e do querozene. O "shadow price" do óleo é zero porque sua folga é zero (não está no limite)
Tableau Final do novo Problema: s3 s4 s5 f1 f2 1 - 0,13 - 1,72 0,86 4,66 4,20 7,59 - 13,8 87,52 897 26.207 6.897 G - 286.759 Na horizontal, dá os valores ótimos dos "shadow prices" da gasolina e do querozene. Na vertical, dá os valores ótimos de f5, x1 e x2.
Portando, um problema se encontra subjacente no outro. Então, ao se resolver um deles, Max L(x) = 8,1 x1 + 10,8 x2 {x1, x2} s.a.: 0,80 x1 + 0,44 x2 24.000 0,05 x1 + 0,10 x2 2.000 0,10 x1 + 0,36 x2 6.000 x1 0 x2 0 o outro também está sendo resolvido. Min G(x) = 24.000 s3 + 2.000 s4 + 6.0 {s3, s4, s3} s.a.: 0,80 s3 + 0,05 s4 + 0,10 s5 8,10 0,44 s3 + 0,10 s4 + 0,36 s5 10,80 s3 0 s4 0 s5 0
São denominados problemas duais. Um é denominado Problema Primal O outro é denominado Problema Dual.
x1(b1/d) x2 (b2/d) 0,80(b3/b1) 0,44(b3/b2) 24.000(b3/d) 0,05(b4/b1) 0,10(b4b2) 2.000(b4/d) 0,10(b5/b1) 0,36(b5/b2) 6.000(b5/d) 8,10 ($/b1) 10,80 ($/b2) L ($/d) Problema Primal s3 ($/b3) s4 s5 0,80(b3/b1) 0,05 (b4/b1) 0,10 (b5/b1) 8,10 ($/b1) 0,44 (b3/b2) 0,10 (b4/b2) 0,36 (b5/b2) 10,80 ($/b2) 24.000 (b3/d) 2.000 (b4/d) 6.000 (b5/d) G ($/d) E o seu Dual