PROGRAMAÇÃO LINEAR 14 de setembro de 2014. SUMÁRIO.

Post on 07-Apr-2016

215 views 1 download

Transcript of PROGRAMAÇÃO LINEAR 14 de setembro de 2014. SUMÁRIO.

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