PROGRAMAÇÃO LINEAR 14 de setembro de 2014.

Slides:



Advertisements
Apresentações semelhantes
Métodos Iterativos.
Advertisements

Fluxo em Redes Prof. Ricardo R. Santos.
Análise de Sensibilidade
Controle de Processos por Computador
ETAPAS DE ESTUDO EM P.O. Definição e Formulação do Problema
Métodos para representação de estruturas hierárquicas
CONTEÚDO PROGRAMÁTICO
Capítulo 3 - Aplicações das Derivadas
Prof. M.Sc. Fábio Francisco da Costa Fontes Outubro
CÁLCULO DA INVERSA DA BASE
Problemas de Forma Não-padrão
Programação Linear Método Simplex
Método SIMPLEX Marcone Jamilson Freitas Souza
SIMPLEX ANÁLISE COMPLETA ANDERSON BESTETTI 1, EDUARDO RIGHES 1, EVERTON FONTOURA 2, GUILHERME LAZZARI 3, RODRIGO SCHRAMM 3, ROGERIO MARTINS 4 1 {anderson.bestetti,
Mudança de Variáveis em Integrais Duplas e Triplas
Programação Linear.
Prof. Wellington D. Previero
Programação Linear Universidade Federal de Itajubá – UNIFEI
Cálculo Numérico Aula 8 – Sistemas de Equações Lineares / Parte 1
PROGRAMAÇÃO INTEIRA 27 de maio de 2014.
Matemática para Economia III
Prof. Guilherme Amorim 14/11/2013
Resolução de sistemas lineares Métodos Numéricos para Engenharia I
Programação Linear Rosa Canelas Janeiro 2008.
Solução Básica Factível e Método Simplex Introdução ao Método Simplex Fase I e Fase II.
Pesquisa Operacional: Método Simplex – Duas Fases
MÉTODOS NUMÉRICOS APLICAÇÃO NO MATLAB
Sistema de equações lineares
PROGRAMAÇÃO MATEMÁTICA MÉTODO SIMPLEX
Otimização Linear Definições e Solução Gráfica
Programação Linear Universidade Federal de Itajubá – UNIFEI
Espaços e Subespaços Vetoriais
CAPÍTULO 4 AVALIAÇÃO ECONÔMICA PRELIMINAR
Método Simplex Tópicos em Otimização
Otimização Paramétrica (Cap. 5)
O Problema de Corte de Estoque
Introdução Prof. Antonio Carlos Coelho
Otimização Numérica de Processos
OTIMIZAÇÃO PARAMÉTRICA
Capitulo 5: Simplex Voltando ao exemplo da confecção da D. Maria, e modificando um pouco os valores apenas para facilitar nossos cálculos e o entendimento,
Capitulo 5: Simplex Voltando ao exemplo da confecção da D. Maria, e modificando um pouco os valores apenas para facilitar nossos cálculos e o entendimento,
Pesquisa Operacional MUROLO ENGENHARIA DE PRODUÇÃO
Capitulo 8: Dualidade O que é um modelo Dual?
Campus de Caraguatatuba Aula 16: Sistemas de Equações Lineares (4)
PROGRAMAÇÃO LINEAR 17 DE SETEMBRO DE Definição 2. Aplicações 3. Problema Ilustrativo 3.1 Enunciado 3.2 Dados Físicos e Econômicos 3.3 Modelo.
CAPÍTULO 5 OTIMIZAÇÃO PARAMÉTRICA
Problemas de Forma Não-Padrão
Geometria Computacional Fecho Convexo
Análise e Síntese de Algoritmos
Exercícios de Fluxo em Redes
Sistemas de Equações Lineares (SEL ) – Parte II
Prof. Geraldo Nunes Silva
Potenciação an = a . a . a a (a ≠ 0) n fatores onde: a: base
- Análise de Processos (Cap. 2) Estratégias de Cálculo (Cap. 3)
FEAMIG – Faculdade de Engenharia de Minas Gerais
CÁLCULO NUMÉRICO Aula 5 – Sistema de Equações lineares.
2 - Portfólio de Investimentos
EQE 489 ENGENHARIA DE PROCESSOS Prof. Perlingeiro
Pesquisa Operacional Profa. Leila Jane Brum Lage Sena Guimarães
Algoritmo de Transportes Objecto de Aprendizagem Manuel Pina MarquesDEIG
              Investigação Operacional Métodos de Programação Linear: Gráfica, Simplex (Mestrado) Engenharia Industrial
Pesquisa Operacional:
Como ir do tableau da base (j 1,...j s-1,j s, j s+1....j m ) para o da base (j 1,...j s-1,k, j s+1....j m ) lembrando que : na coluna associada à x ji.
PROGRAMAÇÃO LINEAR EQE de março de SUMÁRIO.
Problema de Transporte e Alocação
Disciplina: Otimização Econômica
Professor: Cezar Augusto Pereira dos Santos
PROFESSOR: CÉZAR AUGUSTO PEREIRA DOS SANTOS 1.
MATEMÁTICA E SUAS TECNOLOGIAS
O Método Simplex Prof. Gustavo Peixoto Silva Departamento de Computação Univ. Federal de Ouro Preto.
Transcrição da apresentação:

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