Carregar apresentação
A apresentação está carregando. Por favor, espere
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=nn (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(x2)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.
Apresentações semelhantes
© 2025 SlidePlayer.com.br Inc.
All rights reserved.