Universidade Federal do Rio de Janeiro

Apresentações semelhantes


Apresentação em tema: "Universidade Federal do Rio de Janeiro"— Transcrição da apresentação:

1 Universidade Federal do Rio de Janeiro
COPPE – Programa de Engenharia Química OTIMIZAÇÃO DE PROCESSOS  Prof. Argimiro R. Secchi  AULA 5: - Programação Inteira Mista e Multi-objetivo 2019

2 Programação Inteira Mista (MIP)
min S(x,y) sujeito a: hj(x,y) = 0 , j = 1, 2, ..., m gj(x,y)  0 , j = 1, 2, ..., p x  X  n e y  Y  q Frequentemente as variáveis inteiras y  Y = {0, 1}q  binárias, seja por definição ou por conversão de base: z  Z   e zl  z  zu pode ser descrita por y  Y = {0, 1}q z = zl + y1 + 2 y2 + 4 y q-1 yq

3 Programação Inteira Mista
Síntese de redes (trocadores de calor, água, hidrogênio, sistemas de utilidades, etc.)

4 Programação Inteira Mista
Localização de prato de alimentação e/ou de refluxo

5 Programação Inteira Mista
Sequenciamento de colunas de destilação

6 Programação Inteira Mista
Síntese de processos com superestruturas Exemplo: hidrodealquilação do tolueno

7 Programação Inteira (IP)
min S(y) sujeito a: hj(y) = 0 , j = 1, 2, ..., m gj(y)  0 , j = 1, 2, ..., p y  Y  q Relaxação das variáveis inteiras com posterior arredondamento nem sempre conduz à solução ótima

8 Programação Inteira Binária (BIP)
min S(y) sujeito a: hj(y) = 0 , j = 1, 2, ..., m gj(y)  0 , j = 1, 2, ..., p y  Y = {0,1}q Problema da mochila: colocar até q artigos (yi) valiosos, com peso (ou volume) wi e valor ci, dentro de uma mochila, não ultrapassando o peso (ou volume) máximo W, de modo a maximizar o valor total dos artigos. max S(y) = cT y sujeito a: wT y  W , y  Y = {0,1}q Problema do caixeiro viajante: vendedor visita n cidades somente uma vez, retornando para a cidade de origem, percorrendo o menor caminho possível. max sujeito a: , , yii = 0, i, j = 1, 2, ..., n y  Y = {0,1}q=nn (cij: distância entre as cidades i e j)

9 Programação Linear Inteira Mista (MILP)
min S(x,y) = cT x + dT y sujeito a: A x + B y  b x  0 x  X  n e y  Y = {0,1}q P Solução por enumeração (busca exaustiva): 2q LPs y1 y2 y3 1 y  Y = {0,1}3

10 Método dos Planos de Cortes
Programação Linear Inteira Mista (MILP) Método dos Planos de Cortes Resolve-se o MILP com as variáveis inteiras relaxadas  LP. Se a solução do LP possuir todas as variáveis relaxadas inteiras, então a solução ótima do problema original foi encontrada; Caso contrário, elimina-se a solução obtida pela adição de restrições extras ao problema (planos de corte), sem eliminar qualquer solução inteira, ir para (1). Exemplo 5.1: min S(y) = 10 y1  11 y2 sujeito a: 10 y y2  59 y  0, y  Y  2 MILP relaxado (LP): y = [5,9 0]T

11 Método dos Planos de Cortes
Programação Linear Inteira Mista (MILP) Método dos Planos de Cortes Plano de corte: y1  5 LP: y = [5 0,75]T Plano de corte: y1 + y2  5 LP: y = [0,5 4,5]T Planos de cortes: y1 + y2  5 y2  4 LP: y = [1 4]T (solução ótima)

12 Programação Linear Inteira Mista (MILP)
Método Branch & Bound separação relaxação sondagem FS(P): conjunto de soluções viáveis de P FS(P) = FS(P1)  FS(P2) FS(P1)  FS(P2) =  zP: solução ótima de P RP: relaxação de P FS(P)  FS(RP) FS(RP) =   FS(P) =  zRP  zP (limite inferior) z*: melhor solução atual de P ou  CS: subproblema candidato de P CS está sondado se: FS(RCS) =  ou zRCS  z* ou yRCS  Y = {0,1}q P P2 P1 y1 = 1 y1 = 0 MILP y  Y = {0,1}q LP 0  y  1  Y  q RP zRCS < z*  z* = zRCS (limite superior)

13 Programação Linear Inteira Mista (MILP)
Método Branch & Bound 1) Inicializar a lista de subproblemas (CS) = (P), ou árvore binária, z* = ; 2) Se a lista de subproblemas (CS) estiver vazia, então FIM (se z* = , então não existe solução viável); 3) Selecionar um candidato da lista, tornando-o candidato (CS) corrente; 4) Selecionar e resolver a relaxação (RCS) do (CS) corrente, obtendo a solução zRCS; 5) Aplicar os três critérios de sondagem: (i) Se (RCS) é inviável, então o (CS) corrente não tem solução viável e (ir para 2); (ii) Se zRCS  z*, então o (CS) corrente não tem solução viável melhor que z* e (ir para 2); (iii) Se a solução ótima de (RCS) é viável para (CS) e zRCS < z*, então z*  zRCS (limite superior) e (ir para 2); 6) Separar o (CS) corrente e adicionar os seus subproblemas filhos na lista de subproblemas (CS) e (ir para 2).

14 Programação Linear Inteira Mista (MILP)
Método Branch & Bound Exemplo 5.2: min S(x,y) = 2 x1  3 y1  2 y2  3 y3 sujeito a: x1 + y1 + y2 + y3  2 10 x1 + 5 y1 + 3 y2 + 4 y3  10 x1  0 e y  Y = {0,1}3 GAMS: milp1.gms MATLAB e OCTAVE: milp.m Busca em primeira profundidade Busca em primeira largura

15 Método Branch & Bound Não Linear
Programação Não Linear Inteira Mista (MINLP) min S(x,y) sujeito a: hj(x,y) = 0 , j = 1, 2, ..., m gj(x,y)  0 , j = 1, 2, ..., p x  X  n e y  Y = {0,1}q Método Branch & Bound Não Linear MINLP y  Y = {0,1}q NLP 0  y  1  Y  q RP

16 Método Branch & Bound Linearizado
Programação Não Linear Inteira Mista (MINLP) min S(x,y) = f(x) + cT y sujeito a: g(x) + B y  0 x  X  n e y  Y = {0,1}q Método Branch & Bound Linearizado MINLP Linearização em {xk, yk} k = 0, 1, 2, ..., NNLP MILP y  Y = {0,1}q RP LP 0  y  1  Y  q Se y  Y = {0,1}q NLP (yk = y)  xk

17 Programação Não Linear Inteira Mista (MINLP)
Exemplo 5.3: Kocis e Grossmann (1997) Processo 2 Processo 1 Processo 3 A2 B2 A3 B3 B1 C min S(x,y) = 2,9 x3  8,9 log(1+x1)  10,44 log(1+x2) + 1,8 x1 + 1,8 x2 + 3,5 y1 + y2 + 1,5 y3 sujeito a: y1 + 0,9 log(1+x1) + 1,08 log(1+x2) + 0,9 x3  0 10 y2 + log(1+x1)  0 10 y3 + 1,2 log(1+x2)  0 y2 + y3  1  0 x  0  3 e y  Y = {0,1}3

18 Programação Não Linear Inteira Mista (MINLP)
Exemplo 5.3: Kocis e Grossmann (1997) GAMS: minlp4.gms MATLAB: [wo,St,x0,y0] = minlp('minlp4','gminlp4',3,3,0,0,[0,0,1],[0,1,0],[0,0,0]) [wo, nIter] = minlpn('minlp4','gminlp4',3,3,0,0,0, [0,0,1],[0,1,0],[0,0,0]) solução ótima z = 1.92 x = [0, 1,52, 0]T e y = [1, 0, 1]T Processo 2 Processo 1 Processo 3 A2 B2 A3 B3 B1 C

19 Otimização Multi-objetivo
min F(x) = [F1(x) F2(x) Fq(x)]T sujeito a: hj(x) = 0 , j = 1, 2, ..., m gj(x)  0 , j = 1, 2, ..., p x  X  n = {x  X  n | h(x) = 0, g(x)  0}  = {y = F(x)  q | x  }

20 Otimização Multi-objetivo
Um ponto x*  , é uma solução não inferior (pertence ao conjunto de Pareto) se para alguma vizinhança de x* não existe um x tal que (x* + x)   e: Fi(x* + x)  Fi(x*) , i = 1, 2, ..., q Fj(x* + x) < Fj(x*) , para algum j

21 Otimização Multi-objetivo
Exemplo 5.4: min F(x) = [F1(x) F2(x)]T sujeito a: F1(x) = 1 + ½ x2 F2(x) = 4 (x  ½)2 + ½ x  0

22 Método da Soma Ponderada
Otimização Multi-objetivo Método da Soma Ponderada min S(x) = wT F(x) sujeito a: hj(x) = 0 , j = 1, 2, ..., m gj(x)  0 , j = 1, 2, ..., p x  X  n w  0 Para o Exemplo 5.3: min S(x) = wT F(x) = w1 F1(x) + (1  w1) F2(x) sujeito a: x  0 MATLAB e OCTAVE: pareto19.m Conjunto de Pareto: P = {x*(w1) | 0  w1  1} = {0  x  ½}

23 Método das Restrições 
Otimização Multi-objetivo Método das Restrições  min Fr(x) sujeito a: hj(x) = 0 , j = 1, 2, ..., m gj(x)  0 , j = 1, 2, ..., p Fi(x)  i , i = 1, 2, ..., q , i  r x  X  n Para o Exemplo 5.3: min S(x) = F2(x) sujeito a: F1(x)   x  0 MATLAB e OCTAVE: pareto20.m Conjunto de Pareto: P = {x*() | 1    1,125} = {0  x  ½}

24 Método da Perseguição dos Objetivos
Otimização Multi-objetivo Método da Perseguição dos Objetivos min  sujeito a: hj(x) = 0 , j = 1, 2, ..., m gj(x)  0 , j = 1, 2, ..., p Fi(x)  wi   , i = 1, 2, ..., q x  X  n e    Para o Exemplo 5.3: min S(x,) =  sujeito a: F1(x)  w1   1 F2(x)  (1  w1)   ½ x  0 MATLAB e OCTAVE: pareto18.m Conjunto de Pareto: P = {x*(w1) | 0  w1  1} = {0  x  ½}

25 Otimização Multi-objetivo
Conjunto de Pareto não convexo não é obtido pela Soma Ponderada

26 Otimização Multi-objetivo
Exemplo 5.5: min F(x) = [F1(x) F2(x)]T sujeito a: F1(x) = atan(x+2)2 F2(x) = atan(x2)2 x  

27 Otimização Multi-objetivo
Soma Ponderada Restrição  e Perseguição de Objetivos MATLAB e OCTAVE: pareto25.m MATLAB e OCTAVE: pareto25e.m pareto26.m

28 Métodos Sugeridos de Otimização
sim Métodos Sugeridos de Otimização SQP hess ? sim grad ? não não GRG não Penaliz. 1 quad? não sim QP-IP n>103 ? sim Lin. ? sim sim não QP-AS n>103 ? LP-IP sim Newton sim LP-AS conv ? sim Problema Formulado restr ? não 2 hess ? sim não LM grad ? sim não FTF ? GN não 1 não Complex Powell, Ros. glob ? não GC não 2 sim MStart cpu ? Direct sim sim n<20 ? não não PSO 2

29 Hierarquia da Otimização de Processos
Formulações típicas LP, MILP NLP QP, NLP Edgar & Himmelblau (1988)

30 Edgar, T. F. ; Himmelblau, D. M. Optimization of Chemical Processes
Edgar, T.F.; Himmelblau, D.M. Optimization of Chemical Processes. McGraw-Hill, 1988.


Carregar ppt "Universidade Federal do Rio de Janeiro"
Anúncios Google