programaÇÃo linear 14 de setembro de 2014. sumÁrio
TRANSCRIPT
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
L = a - b x - c/x
Modelo MatemáticoRestrições1. Q (xo - x) - W y = 02. y - k x = 0 (k = 4)
Avaliação EconômicaFunção ObjetivoR = pAB W yC = pB WL = R – C = pAB W y - pB W
Modelo MatemáticoRestrições1. Q(xo - x1) - W1 y1 = 02. y1 - k x1 = 03. Q(x1 -x2) - W2 y2 = 04. y2 - k x2 = 0
Avaliação EconômicaFunção ObjetivoR = 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
OTIMIZAÇÃO: 1 EXTRATOR
OTIMIZAÇÃO: 2 EXTRATORES
Observação: Restrições e Função Objetivo Não-Lineares
OTIMIZAÇÃO: TROCADOR DE CALOR
02111 )TT(CWQ1. p
03433 )TT(CWQ2. p
0 UAQ3.0
32
41
3241
TTTTln
)TT()TT(4.
CT = Ccap + Cutil480,
cap 4,6A50)(0,10)(1.3C
Cutil = (8.500)(5x10-5)W3
154T286.875
,
4T6535
4T-100ln4.469TC
480
Modelo MatemáticoRestrições
Avaliação EconômicaFunção Objetivo
Observação: Restrições e Função Objetivo Não-Lineares
01. f11 - f12 - f13 = 002. W15 - f23 = 003. f31 - f32 = 004. k – (3 + 0,04 Td) = 005. k – x13 / x12 = 006. (f11 Cp1 + f31 Cp3) (T1 - Td) + W15 Cp2l (T15 - Td) = 007. Vd - (f11 /1 + W15/2 + f31/3) = 008. r - f13/f11 = 009. T2 – Td = 010. T3 – Td = 011. f13 - f14 = 012. f23 - f24 - W5 = 013. W6 - W7 = 014. W6 [3 + Cpv (T6 – T7)] - Qe = 015. Qe – [(f13Cp1 + f23Cp2l)(Te - T3) + W5 2] = 016. Qe - Ue Ae e = 017. e - (T6- Te) = 018. T4 – Te = 019. T5 – Te = 0
20. W8 - W9 = 021. W5 - W10 = 022. Qc - W8 Cp3 (T9 - T8) = 023. W5 [2 + Cp2g (T5 – T10)] - Qc = 024. Qc - Uc Ac c = 025. c - [(T5 - T9) - (T10 - T8)]/ln[(T5 - T9)/(T10 - T8)] = 026. W11 - W12 = 027. W10 - W13 = 028. Qr - W11 Cp3 (T12 - T11) = 029. Qr - W10 Cp2l (T10 - T13) = 030. Qr - Ur Ar r = 031. r - [(T10 - T12) - (T13 - T11)]/ln[(T10 - T12)/(T13 - T11)] = 032. W13 + W14 - W15 = 033. W13 (T15 - T13) + W14 (T15 - T14) = 034. f11 + f31 - W1 = 035. x11 - f11 / W1 = 036. f12 + f22 – W2 = 037. x12 - f12/ W2 = 038. f13 + f23 – W3 = 039. x13 - f13 / W3 = 040. f14 + f24 - W4 = 041. x14 - f14/ W4 = 0
OTIMIZAÇÃO: PROCESSO ILUSTRATIVO
ModeloRestrições
LE = 0,7 R – 0,8 C – 0,4 ISBL $/a
PROCESSO ILUSTRATIVO
Observação: Restrições e Função Objetivo Não-Lineares
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) $/hCvapor = pv W6 $/hCsolvente = ps W14 $/hCbomba = 0,15 $/hC = Fop (Cagua + Cvapor + Csolvente + Cbomba) $/a
Avaliação EconômicaFunção Objetivo
1. DEFINIÇÃO
PROGRAMAÇÃO LINEAR
Problema de Programação Linear
É uma área da Otimização que trata exclusivamente deum 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
A Função Objetivo e todas as Restrições são lineares
O que se observa ???
2. APLICAÇÕES
Outros...
Por ser muito peculiar parece não encontrar aplicações...
produção industrial
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
Pelo contrário: ele aparece no planejamento nas áreas de
nosso interesse
3. PROBLEMA ILUSTRATIVO
Planejamento da Produção de uma Refinaria(adaptado de Edgar & Himmelblau, “Optimization of Chemical Processes”, 1988)
3.1 ENUNCIADO
A partir de cada um deles, ela pode produzir:
- gasolina (G)- querosene (Q)- óleo combustível (C)- óleo residual (R)
Uma refinaria pode receber dois tipos de óleo cru: O1 e O2.
- 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)
Determinar- quantos barris/dia a refinaria deve adquirir de cada óleo cru (x1, x2)(b/d) [disponibilidade ilimitada]
b3/b1
b4/b1
b5/b1
b6/b1
C1 = $/b
C2 = $/b
b3/b2
b4/b2
b5/b2
b6/b2
x32
x42
x52
x62
x31
x41
x51
x61
G
Q
C
R
p2 = ($/b)
p1 = ($/b)
x1 (b/d)
x2 (b/d)
CRÚS
x3(b/d)
x4(b/d)
x5(b/d)
x6(b/d)
PRODUTOS
p3 = ($/b); x3max= (b/d)
p4 = ($/b); x4max= (b/d)
p5 = ($/b); x5max= (b/d)
p6=10 ($/b)
Fluxograma com Informações Necessárias
O1
O2
3.2 DADOS FÍSICOS E ECONÔMICOS
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 $/bquerosene : p4 = 24 $/bóleo comb. : p5 = 21 $/bóleo resid. : p6 = 10 $/b
Produção máxima de cada produtox3max = 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.
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)
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)
Fluxograma
O1
O2
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.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
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
3.3 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
Modelo: Balanços Materiais
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
3.4 BALANÇO DE INFORMAÇÃO E VARIÁVEIS DE PROJETO
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
ModeloBalanç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
x1 x2 x3 x4 x5 x6
* * ** * ** * ** * *
Variáveis de Projeto: x1 e x2
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
3.5 CRITÉRIO E FUNÇÃO OBJETIVO
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 ObjetivoL = R – CMP - CP
L = 36 x3 + 24 x4 + 21 x5 + 10 x6 - 24 x1 - 15 x2 - 0,50 x1 - x2
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
O2p3 = 36 ($/b)
p4 = 24 ($/b)
p5 = 21 ($/b)
p6 = 10 ($/b)
3.6 RESTRIÇÕES
Relembrando ...
5.2.3 Restrições
São os limites impostos pelas leis naturais às variáveis do processo.
(b) restrições de desigualdade: g (x) 0 São os limites impostos às Variáveis de Projeto
(a) restrições de igualdade : h(x) = 0 São as equações do próprio modelo matemático.
Há dois tipos de restrições:
A presença de restrições pode alterar a solução de um problema
Restrições de IgualdadeGasolina : 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
Restrições de DesigualdadeGasolina : x3 24.000Querosene : x4 2.000 Combustível : x5 6.000Óleos crus : x1 0 e x2 0
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
Incorporando as Restrições à Função Objetivo
Modelo Matemático:1. Q (xo - x) - W y = 02. 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 - CR = pAB W yC = pB WpAB = 0,4 $/kgAB : pB = 0,01 $/kgB
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
Incorporando as Restrições de Igualdade ordenadasà Função Objetivo
(viável em problemas simples)
Função Objetivo: L = R - C = pAB W y - pB W
x 2. y = k x1. W = Q (xo - x)/y
L = pAB W y - pB Wy, W
LL = a - b x - c/x
x L
Incorporando as Restrições
Resulta
L(x) = 8,1 x1 + 10,8 x2
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
De modo semelhante, no 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
Enunciado Formal do Problema
x2 = L / 10,8 – (8,1 / 10,8) x1 (família de retas)
Examinando a Função ObjetivoL(x) = 8,1 x1 + 10,8 x2 (linear)
10 20 30 400
10
20
0
x1(1.000 b/d)
x2
(1.000 b/d)81.000
162.000
243.000324.000
648.000
3.7 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)x1 0x2 0
É a região do espaço delimitada pelas restrições
Re-escrevendo: x2 - (a/b) x1 + (c/b)
Forma geral:a x1 + bx2 c
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)
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)
Na formax2 - (a/b) x1 + (c/b)
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 0x2 0
Colocando as restrições
resultam
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 400
10
20
0
x1 (1.000 b/d)
x2
A
C
D
Egasolina
querosene
óleo
c/b
c/a
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)
região viável convexa !(1.000 b/d)
B
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
A
C
D
Egasolina
querosene
óleo
x2 - (a/b) x1 + (c/b)
c/b
c/a
c/b
O menor c/b é vértice !
3.8 RESOLUÇÃO
Solução Ótima
Solução (D):(26.207, 6.897)
(L=286.764)
É a solução viável com o Lucro máximo
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina
81.000
162.000
243.000 324.000
Em duas dimensões, a identificação visual da Solução Ótima é imediata.
26.207
6.897
Solução (C):(14.000, 13.000)
(L = 637.000)
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina
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.
Solução (C):(14.000, 13.000)
(L = 637.000)
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina
A Solução Ótima se localiza sempre num dos Vértices da Região Viável
Pode-se provar que
Como localizar a solução em problemas complexos sem o recurso visual?
Criando um procedimento numérico quesimule o exame dos vérticesNo exemplo, apenas 5 pontos
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
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
0
(como???)Origem: solução trivial
Se encontram na fronteira da região viável
Correspondem à produção máxima de dois produtos
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
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
0
Origem: solução trivial
São interseções de duas restrições
Primeiro, há que se caracterizar numericamente os vértices
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
Relembrando...
Como restringir a busca à fronteira da região viável ?
Transformando as restrições de desigualdade em
restrições de igualdade.
f x x x x( ) ( ) ( ) ( ) ( )x 1 1 1 1 112
1 2 22
g x x1 12
22 0 25 0( ) ,x = + -
g2(x) = x1 0g3(x) = x2 0
Solução irrestrita: ASolução restrita : B
0,0 0,5 1,0 1,5 2,00,0
0,5
1,0
1,5
2,0
x21.0
0,80,6
0,4
B
A
x1
São válidos apenas os pontos localizados sobre a fronteira ou no interior da região.
Restrições de Desigualdade
0,0 0,5 1,0 1,5 2,00,0
0,5
1,0
1,5
2,0
1.0
0,80,6
0,4
B
A
h(x) = 0
x1
x2
f x x x x( ) ( ) ( ) ( ) ( )x 1 1 1 1 112
1 2 22
Restrições de Igualdade (solução sobre a curva)
Solução Irrestrita: ASolução Restrita : Bg2(x) = x1 0
g3(x) = x2 0
h x x( ) ,x = + - =12
22 0 25 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 400
10
20
0
x1
(1.000 b/d)
x2
(1.000 b/d)
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
0
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
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
F
G
Hgasolina
querosene
ó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.
f1 = 11.600 b/df2 = 500 b/df3 = 1.400 b/d
I
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)
x1 = x2 = 10
Exemplo: ponto I (folgas na produção de gasolina, querosene e óleo).
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
F
G
Hgasolina
querosene
óleo
A todo ponto (x1, x2) localizado sobre um restrição corresponde uma folga zero, pois a produção do produto correspondente é a máxima.
f1 = 9.884 b/df2 = 110 b/df3 = 0 b/d
J13,89
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)
x1 = 10
x2 = 13,89
Exemplo: ponto J (produção máxima de óleo = 6.000 b/d: f3 = 0).
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
F
G
Hgasolina
querosene
óleo
A todo ponto (x1, x2) localizado sobre um vértice correspondem 2 folgas zero pois a produção dos dois produtos é a máxima
f1 = 7.400 b/df2 = 0 b/df3 = 0 b/d
15,0
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)
12,5
x1 = 12,5
x2 = 15,0
Exemplo: ponto C (produção máxima de óleo e de querosene)
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
Então, nos vértices, duas folgas são iguais a zero
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina81.000
162.000
243.000
324.000
0
Origem: solução trivial
As folgas são incorporadas ao problema transformando restrições de desigualdade em restrições de igualdade
(a) incorporar as folgas ao problema
(b) examinar os pontos em que duas folgas são zero (vértice)
Caracterizados os vértices em função das folgas, resta:
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
f1f2f3
= 24.000 (gasolina) = 2.000 (querosene) = 6.000(óleo)
Comparando o Problema Original com o Problema Modificado
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
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
Problema original (2 variáveis)3 restrições de desigualdade e 2 de não negatividade
Busca na periferia e no interior da RV
Busca restrita à periferia da RV
V = 5 : N = 3 : G = 2 !!!
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 +
f1f2f3
= 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo)
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
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina81.000
162.000
243.000
324.000
0
Origem: solução trivial
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
Falta, agora, manipular as folgas simulando a visita aos vértices...
Para isso, é necessário reescrever o sistema de equações em função dos pares (x1,f3), (f2,f3), (f1,f2) e (x2, f1).
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
0,80 x1 + 0,44 x2 + 0,05 x1 + 0,10 x2 + 0,10 x1 + 0,36 x2 +
f1f2f3
= 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo)
0,68 x1 – 1,22 f3 + 0,02 x1 - 0,78 f3 + 0,28 x1 + 2,78 f3 +
f1f2x2
= 16.667 (gasolina) = 333 (querosene) = 16.667 (óleo)
Exemplo
Forma Original
Uma das formas equivalentes
Na primeira, com x1 = 0 e x2 = 0 vértice A (origem)
Na segunda, com x1 = 0 e f3 = 0 vértice B
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
Sob cada forma, atribuindo-se o valor zero e essas variáveis, obtém-se a solução no vértice correspondente.
10 20 30 400
10
20
0
x1
(1.000 b/d)
x2
(1.000 b/d)
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
0
x1 = 0f2 = 333f3 = 0
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
3.9 Algoritmo SIMPLEX
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 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.
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.
Ax1 = 0x2 = 0f1 = 24.000f2 = 2.000f3 = 6.000
Bx1 = 0x2 = 16.667f1 = 16.667f2 = 333f3 = 0
Cx1 = 15.000x2 = 12.500f1 = 6.500f2 = 0f3 = 0
Dx1 = 26.207x2 = 6.897f1 = 0f2 = 0f3 = 897
Ex1 = 30.000x2 = 0f1 = 0f2 = 500f3 = 3.000
O Algoritmo Inverte os papéis das variáveis, re-escrevendo sistema de equações com uma outra base (variáveis de projeto).
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.
Private Sub EXECUTAR_Click() '
LerTableau
Do ColunaQueSai If Convergir = True Then Exit Sub LinhaQueEntra PivotearLoop
End Sub
ALGORITMO SIMPLEX
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.000
0,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 L
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
f1f2f3
= 24.000 (gasolina) = 2.000 (querosene) = 6.000 (óleo)
A inversão é executada aplicando o Algoritmo de Gauss-Jordan à Matriz Aumentada (Tableau) do sistema
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.
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.000
0,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 L
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
x1 x2 f1 f2 f3
0,678 0 1 0 -1,222 16.667
0,022 0 0 1 - 0,278 333,33
0,278 1 0 0 2,778 16.667
5,10 0 0 0 -30 L - 180.000
0,68 x1 + f1 – 1,22 f3 = 16.6670,022 x1 + f2 – 0,278 f3 = 2.0000,278 x1 + x2 – 2,78 f3 = 6.000L(x) = 5,1 x1 – 30 f3 = 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
De variável de projeto para variável calculada
Critério para a troca de papéis
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 0 0 24.0000,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 Lx2 x2
Coluna pivot
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).
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.545c/b = 2.000 / 0,10 = 20.000c/b = 6.000 / 0,36 = 6.000
De variável calculada para variável de projeto
Então, f3 passa a ser variável de projeto: f3 f3
O menor valor de c/b corresponde à interseção mais próxima da origem e, consequentemente, pertencente à Região Viável
Região Viável
(1.000 b/d)
B
região convexa !
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
A
C
D
Egasolina
querosene
óleo
Qualquer ponto no interior ou sobre a fronteira da Região Viável é uma Solução Viável
0,80 x1 + 0,44 x2 24.000 (gasolina) (c/a) = 30.000 : (c/b) = 54.5450,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)
menor (c/b)
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.0000,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 Lx2 x2
f3 f3
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.
Coluna pivot
Linha pivot
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.0000,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 Lx2 x2
f3 f3
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”
Coluna pivot
Linha pivot
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.000
0,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 L
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.000
0,05 0,10 0 1 0 2.000
8,10 10,80 0 0 0 L
x2 x2
f3 f3
Primeiro passo: divide-se a linha pivot pelo pivot.
0,278 2,778 16.6671 0 0
A eq. 3 já fica: x2 = 16.667 – 0,28 x1 – 2,78 f3
A eq. 3 era: f3 =6.000 – 0,10 x1 – 0,36 x12
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.000
0,05 0,10 0 1 0 2.000
0,278 1 0 0 2,778 16.667
8,10 10,80 0 0 0 L
x1 x2 f1 f2 f3
0,44 1 0
0,10 0 1
10,80 0 0
Em seguida, o pivoteamento: aij = aij – aip a3pj
0,678
0,022
5,10
0,278 2,778 16.6671 0 0
Ex.: a11= 0,80 – 0,278 x 0,44 = 0,678
- 1,222
- 0,278
- 30
16.667
333,33
L - 180.000
x1 x2 f1 f2 f3
0,678 0 1 0 -1,227 16.667
0,022 0 0 1 - 0,278 333,33
0,278 1 0 0 2,778 16.667
5,10 0 0 0 -30 L - 180.000
Com x1 = f3 = 0 L = 180.000
Chega-se, assim, ao Ponto B
5,10 x1 – 30 x2 = L – 180.000
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina81.000
162.000
243.000
324.000
0
x1 x2 f1 f2 f3
0,678 0 1 0 -1,227 16.667
0,022 0 0 1 - 0,278 333,33
0,278 1 0 0 2,778 16.667
5,10 0 0 0 -30 L - 180.000
Ponto B
Com x1 = f3 = 0 L = 180.000
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina81.000
162.000
243.000
324.000
0
O pivoteamento corresponde à migração de um vértice a outro sobre a restrição.
x1 x2 f1 f2 f3
0,678 0 1 0 -1,227 16.667
0,022 0 0 1 - 0,278 333,33
0,278 1 0 0 2,778 16.667
5,10 0 0 0 -30 L - 180.000
x1 x2 f1 f2 f3
0 0 1 -30,5 7,25 6.500
1 0 0 45 -12,5 15.000
0 1 0 -12,5 6,25 12.500
0 0 0 - 229,5 3,75 L – 256.500
Com f2 = f3 = 0 L = 256.500
x1 x1 Divide-se a linha do pivot pelo pivot. Pivoteamento: aij = aij – aip apj
f2 f2
c/b = 24.510
c/b = 16.667
c/b = 59.525
x1 x2 f1 f2 f3
0 0 1 -30,5 7,25 6.500
1 0 0 45 -12,5 15.000
0 1 0 -12,5 6,25 12.500
0 0 0 - 229,5 3,75 L – 256.500
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina81.000
162.000
243.000
324.000
0
Ponto C
Com f2 = f3 = 0 L = 256.500
x1 x2 f1 f2 f3
0 0 1 -30,5 7,25 6.500
1 0 0 45 -12,5 15.000
0 1 0 -12,5 6,25 12.500
0 0 0 - 229,5 3,75 L – 256.500
x1 x2 f1 f2 f3
0 0 0,138 4,207 1 867
1 0 1,724 -7,586 0 26.207
0 1 - 0,862 13,793 0 6.897
0 0 - 4,655 -86,517 0 L – 286.759
Com f1 = f2 = 0 L = 286.759
f3 f3
f1 f1
Divide-se a linha do pivot pelo pivot.
c/b = 867
c/b = - 1.202
c/b = 1.983
Pivoteamento: aij = aij – aip apj
x1 x2 f1 f2 f3
0 0 0,138 4,207 1 867
1 0 1,724 -7,586 0 26.207
0 1 - 0,862 13,793 0 6.897
0 0 - 4,655 -86,517 0 L – 286.759
Todos os coeficientes de L negativos
Nenhuma variável para entrar FIM
SOLUÇÃO
x1 x2 f1 f2 f3
0 0 0,138 4,207 1 867
1 0 1,724 -7,586 0 26.207
0 1 - 0,862 13,793 0 6.897
0 0 - 4,655 -86,517 0 L – 286.759
10 20 30 400
10
20
0
x1 (1.000 b/d)
x2
(1.000 b/d)
A
B
C
D
E
óleo
querosene
gasolina81.000
162.000
243.000
324.000
0
Ponto D
Com f1 = f2 = 0 L = 286.759
Solução:x1= 26.207x2 = 6.897
gasolina = 24.000 (f1 = 0)querosene = 2.000 (f2 = 0)
óleo = 5.133 (f3 = 867)
L = 286.759
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
x61 = 1.310 b/d
G
Q
C
R
p2 = 15 ($/b)
p1 = 24 ($/b)
x1 = 26.207(b/d)
x2 = 6.897(b/d)
CRÚS
x3 = 24.000 ( b/d)
X4 = 2.000 (b/d)
x5= 5.103 (b/d) folga = 897 b/d
x6= 2.000 (b/d)
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)
Fluxograma com a Solução
O1
O2
x41 = 1.310 b/d
x51 = 2.620 b/d
x42= 690 b/d
x32 = 3.035 b/d
x52= 2.843 b/d
x62= 690 b/d
x32= 20.965 b/d
L = 286.764 $/a
PROBLEMA COM RESTRIÇÕES DO TIPO
Min C = x2 – 6 x1
s.a. : 4 x1 + x2 21 - x1 + x2 1 2 x1 + 3 x2 13 !!!
Exemplo
PROBLEMA
REGIÃO VIÁVEL
A B C
Convexa
Min C = x2 – 6 x1
s.a.: 4 x1 + x2 21 - x1 + x2 1 2 x1 + 3 x2 13
0 1 2 3 4 5 6
6
5
4
3
2
1
0
A
B
C
D
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
x1 x2 f1 f2 f3 C4 1 1 0 0 21-1 1 0 1 0 12 3 0 0 13-6 1 0 0 0 C - 0
-1
Restrições : folgas negativasRestrições = : folgas zero
A origem não pertence à Região Viável
Como iniciar o SIMPLEX?
Há que se selecionar um vértice para servir de ponto de partida para o SIMPLEX.
0 1 2 3 4 5 6
6
5
4
3
2
1
0
A
B
C
PROCEDIMENTO
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.
Fase 1: Cria-se e resolve-se um Problema Artificial.
0 1 2 3 4 5 6
6
5
4
3
2
1
0
A
B
C
D
Método das Duas fases
Fase 2: resolve-se o Problema Original a partir da solução do Problema Artificial
PROBLEMA ARTIFICIAL
(a) para cada folga negativa fj, cria-se uma variável artificial xja que é incorporada ao Tableau
x1 x2 f1 f2 f3 C4 1 1 0 0 21-1 1 0 1 0 12 3 0 0 -1 13-6 1 0 0 0 C - 0
x1 x2 f1 f2 f3 x1a C
4 1 1 0 0 0 21-1 1 0 1 0 0 12 3 0 0 -1 1 13-6 1 0 0 0 0 C - 0
(b) cria-se, também, uma Função Objetivo Artificial: Ca = xja
Da linha 3: Ca = x1a = 13 – 2x1 – 3x2 + f3
x1 x2 f1 f2 f3 x1a C
4 1 1 0 0 0 21-1 1 0 1 0 0 12 3 0 0 -1 1 13-6 1 0 0 0 0 C - 0
Ca = x1a = 13 – 2 x1 – 3 x2 + f3
x1 x2 f1 f2 f3 x1a C
4 1 1 0 0 0 21-1 1 0 1 0 0 12 3 0 0 -1 1 13-6 1 0 0 0 0 C - 0- 2 - 3 0 0 1 0 Ca -13
que também é inserida no Tableau
x1 x2 f1 f2 f3 x1a C
4 1 1 0 0 0 21-1 1 0 1 0 0 12 3 0 0 -1 1 13-6 1 0 0 0 0 C - 0
(d) aplica-se o SIMPLEX ao Tableau partindo de x1 = x2 = f3 = 0, que é a base natural para o Problema Artificial, onde Ca = 13.
Ca = x1a = 13 – 2x1 – 3x2 + f3
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.
Minimizando Ca chegando a Ca = x1a = 0
x1 x2 f1 f2 f3 x1a C
4 1 1 0 0 0 21-1 1 0 1 0 0 12 3 0 0 -1 1 13-6 1 0 0 0 0 C - 0- 2 - 3 0 0 1 0 Ca - 13
x1 x2 f1 f2 f3 x1a C
0 0 1 2 1 - 1 100 1 0 0,4 - 0,2 0,2 31 0 0 - 0,6 - 0,2 0,2 -20 0 0 - 4 -1 1 C - 90 0 0 0 1 2 Ca - 0
Assim, aplicando o SIMPLEX, resulta ...
x1 x2 f1 f2 f3 x1a C
4 1 1 0 0 0 21-1 1 0 1 0 0 12 3 0 0 -1 1 13-6 1 0 0 0 0 C - 0- 2 - 3 0 0 1 0 Ca -13
Solução Fase 1
f2 = f3 = x1a = 0
x1 = 2x2 = 3f1 = 10Ca = 0C = 9
0 1 2 3 4 5 6
6
5
4
3
2
1
0
A
B
C
D
x1 x2 f1 f2 f3 x1a C
0 0 1 2 1 - 1 100 1 0 0,4 - 0,2 0,2 31 0 0 - 0,6 - 0,2 0,2 20 0 0 - 4 -1 1 90 0 0 0 1 2 Ca - 0
x1 x2 f1 f2 f3 x1a C
0 0 1 2 1 -1 100 1 0 0,4 - 0,2 0,2 31 0 0 - 0,6 - 0,2 0,2 20 0 0 - 4 -1 1 C - 90 0 0 0 1 2 0
x1 x2 f1 f2 f3 C
0 0 1 2 1 100 1 0 0,4 - 0,2 31 0 0 - 0,6 - 0,2 20 0 0 - 4 -1 C - 9
Removem-se x1a e Ca, regenerando o Tableau original
x1 x2 f1 f2 f3 C
0 0 1 2 1 100 1 0 0,4 - 0,2 31 0 0 - 0,6 - 0,2 20 0 0 - 4 -1 C - 9
Aplicando o SIMPLEX...
x1 x2 f1 f2 f3 C
0 0 0,5 1 0,5 50 1 - 0,2 0 - 0,4 11 0 0,3 0 0,1 50 0 2 0 1 C - 29
Solução
f1 = f3 = 0
x1 = 5x2 = 1f2 = 5 f3 = 0C = 29
0 1 2 3 4 5 6
6
5
4
3
2
1
0
A
B
C
D
x1 x2 f1 f2 f3 C
0 0 0,5 1 0,5 50 1 - 0,2 0 - 0,4 11 0 0,3 0 0,1 50 0 2 0 1 C - 29
ANÁLISE DE SENSIBILIDADE
3.5 INCERTEZA E ANÁLISE DE SENSIBILIDADE
Fontes de incerteza:
(a) modelos matemáticos: aproximações lineares, coeficientes constantes...
A análise de processos é executada em ambiente de muita incerteza.
A avaliação dos efeitos da incerteza é efetuada através daAnálise de Sensibilidade
(b) parâmetros físicos e econômicos: valores incertos (aproximados e variáveis).
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 !!!).
F: variável do processo cujo valor é incerto devido à incerteza nos parâmetros . Exemplo: W3, A.
: 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.
Fundamento da Análise de SensibilidadeExemplo: 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
0
TTTTln
)TT()TT(.4
0UAQ.30)TT(CpWQ.2
0)TT(CpWQ.1
32
41
3241
3433
2111
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.
: 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.
Fundamento da Análise de Sensibilidade
i *
F
i
*ii
ii
)(F);F(S
Exemplo:
100
U
i
U)(A
)U;A(S
ANÁLISE DE SENSIBILIDADE
EM PROBLEMAS DE PROGRAMAÇÃO LINEAR
ANÁLISE DE SENSIBILIDADE
EM PROBLEMAS DE PROGRAMAÇÃO LINEAR
Restrições de IgualdadeGasolina : 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
Restrições de DesigualdadeGasolina : x3 24.000Querosene : x4 2.000 Combustível: x5 6.000Óleos crus : x1 0 e x2 0
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
Incorporando as Restrições
Resulta
L(x) = 8,1 x1 + 10,8 x2
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
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
x1 x2 f1 f2 f3
0,80 0,44 1 0 0 24.000
0,05 0,10 0 1 0 2.000
0,1 0,36 0 0 1 6.000
8,10 10,80 0 0 0 L
Esses coeficientes aparecem no Tableau Inicial do SIMPLEX
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
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.
x1 x2 f1 f2 f3
0 0 0,138 4,207 1 867
1 0 1,724 -7,586 0 26.207
0 1 - 0,862 13,793 0 6.897
0 0 - 4,655 - 86,517 0 L – 286.759
f1o = 0 f2
o = 0
DUALIDADE
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.0000,05 0,10 2.0000,10 0,36 6.0008,10 10,80 L
Considere o Problema Ilustrativo
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)
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)
Transpondo o Tableau Inicial
Invertendo as desigualdades de para
Transformando o problema de Max para Min
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
Passamos a ter o Problema
Este novo Problema pode ser resolvido pelo SIMPLEX incluindo as folgas negativas (-1)
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)
Tableau Final do novo Problema:
s3 s4 s5 f1 f2
1 0 - 0,138 - 1,72 0,862 4,660 1 4,207 7,586 - 13,8 87,520 0 897 26.207 6.897 G - 286.759
Comparando com o Tableau Final do Problema Ilustrativo
x1 x2 f3 f4 f5
0 0 0,138 4,207 1 8971 0 1,724 -7,586 0 26.2070 1 - 0,862 13,793 0 6.8970 0 - 4,66 - 87,52 0 L – 286.759
Os índices das folgas foram trocados de propósito
x1 x2 f3 f4 f5
0 0 0,138 4,207 1 8971 0 1,724 -7,586 0 26.2070 1 - 0,862 13,793 0 6.8970 0 - 4,66 - 87,52 0 L – 286.759
Tableau Final do Problema Ilustrativo
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)
s3 s4 s5 f1 f2
1 0 - 0,13 - 1,72 0,86 4,660 1 4,20 7,59 - 13,8 87,520 0 897 26.207 6.897 G - 286.759
Tableau Final do novo Problema:
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.
Então, ao se resolver um deles,
Portando, um problema se encontra subjacente no outro.
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
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
o outro também está sendo resolvido.
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)
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)
Problema Primal
E o seu Dual