AULA COMPUTACIONAL - Otimização Paramétrica (Cap. 5) 15 DE SETEMBRO DE 2008 5. OTIMIZAÇÃO PARAMÉTRICA 5.1 Conceito de Otimização 5.2 Elementos Comuns em Problemas de Otimização 5.2.1 Variáveis de Decisão (Manipuladas) 5.2.2 Critério 5.2.3 Função Objetivo 5.2.4 Restrições 5.2.5 Região Viável 5.3 Localização da Solução Ótima 5.4 Problemas e Métodos de Otimização 5.5 Método Analítico: problemas univariáveis e multivariáveis. 5.6 Métodos Numéricos: problemas univariáveis e multivariáveis 5.6. MÉTODOS NUMÉRICOS São métodos de busca por tentativas. Os métodos podem ser: - Diretos: utilizam apenas o valor da Função Objetivo. - Indiretos: utilizam também o valor da(s) derivada(s) da Função Objetivo (menor números de tentativas mas o esforço computacional é maior). Os pesquisadores buscam desenvolver métodos que atendam às seguintes propriedades: - Eficiência: resolver o mesmo problema com menor esforço. - Robustez: resolver uma variedade maior de problemas. 5.6. MÉTODOS NUMÉRICOS 5.6.1 Problemas Univariáveis Método da Seção Áurea Utiliza dois pontos posicionados de forma a manter: (a) simetria em relação aos limites do intervalo (b) fração eliminada constante Método da Seção Áurea Base: Retângulo Áureo (esteticamente perfeito, segundo os gregos) Propriedade: removendo um quadrado de lado igual ao lado menor, 1- e e 1 resulta um outro retângulo com as mesmas proporções do retângulo original Razão Áurea 1 e e 2 e 1 0 e 0,618 e 1 e Algoritmo da Seção Áurea ÁUREA Iniciar Repetir Eliminar Região Atualizar Delta Se Convergiu Então Finalizar Colocar Novo Ponto Convergiu Delta Tolerância Iniciar Repetir Eliminar Região Atualizar Delta Se Convergiu Então Finalizar Colocar Novo Ponto Eliminação de Região Problema de Mínimo Fs Eliminação de Região Problema de Máximo Fi Li xs xi Li Ls xs Fs Atualiza Tolerância ? Novo Ponto xi Atualiza Tolerância ? Novo Ponto Fi Fi Fi Li Fs Li xs 0,618 xs xi Ls Fs Inicialização xi Ls = L - L s i xi = Li + 0,618 xs = Ls - 0,618 Li xs xi 0,618 Ls Ls 5.5 MÉTODO ANALÍTICO 5.5.1 Problemas univariáveis Exemplo: dimensionamento do extrator W kg B/h Q = 10.000 kgA/h x kgB/kgA rafinado xo= 0,02 kg AB/kg A y kg AB/kg B extrato Modelo Matemático: Balanço de Informação: 1. Q (xo - x) - W y = 0 V = 5, N = 2, C = 2, M = 0 2. y - k x = 0 (k = 4) G = 1 (otimização) Avaliação Econômica: L=R-C R = pAB W y C = pB W pAB = 0,4 $/kgAB : pB = 0,01 $/kgB Seqüência de Cálculo x y W 1 * * * 2 * * x y W 1 x x o 2 x o 2. y = k x 1. W = Q (xo - x)/y Restrições de Igualdade !!! Função Objetivo: L = R - C = pAB W y - pB W Incorporando a L às Restrições de Igualdade ordenadas : 2. y = k x 1. W = Q (xo - x)/y L = a - b x - c/x a = Q ( p AB x o + pB k ) = 105 b = p AB Q = 4000 c = p B Qx o = 0 ,5 k L = a - b x - c/x 60 Busca do ponto estacionário: dL 50 = - b+ dx R 40 c b Solução completa do problema: o d2L dx 2 L = 15,6 L 10 = 0 , 01118 yo = 0,04472 kg AB/kg B; Wo = 1.972,3 kgB/h; Ro = 35,3 $/h; Co = 19,7 $/h; Lo = 15,6 $/h C L,R,C 30 $/a 20 c = 0 || x o = x2 = -2 xo c <0 o 3 (x ) Máximo! o x =0, 01118 0 0,006 0,008 0,010 0,012 0,014 0,016 x kgAB/kg A 0,018 0,020 0,022 5.6. MÉTODOS NUMÉRICOS 5.6.2 Problemas Multivariáveis Alguns métodos diretos: - Busca Aleatória - Busca por Malhas - Busca Secionada - Simplex (Poliedros Flexíveis) - Hooke & Jeeves Procedimento Geral: (a) seleção de um ponto inicial (base). (b) exploração da vizinhança da base para inferir uma direção de busca. (c) progressão na direção de busca até decisão em contrário. (d) finalização Os métodos diferem quanto à forma de executar a exploração e a progressão. Método de Hooke & Jeeves ALGORITMO Estabelecer um incremento e uma tolerância para cada variável Escolher uma Base Repetir Explorar a vizinhança da Base (em busca da direção provável do ótimo) Se houve Sucesso em alguma direção Então: Progredir (na direção provável) até haver um Insucesso Senão (proximidade do ótimo): Se Chegou ao Ótimo Então: Finalizar Senão: reduzir os incrementos Exploração Testar a Função Objetivo em cada sentido (incrementos + i e - i) de cada direção (xi) ao redor da Base. Do resultado, depreender a direção provável do ? ótimo + 2 ? - 1 Base + 1 ? - 2 ? A Exploração não pode ser interrompida sem que todas as direções tenham sido testadas. Exploração Funções unimodais: o sucesso num sentido dispensa o teste no outro. S: Sucesso I: Insucesso S + 2 0,5 0,4 Sucesso S 0,3 y Base desnecessário 0,2 - 2 buscando máximo 0,1 0,0 0,0 - 1 0,2 0,4 x 0,6 0,8 1,0 I Exploração O Sucesso numa tentativa justifica a mudança da Base para a nova posição. A Exploração continua a partir desta melhor posição. S + 2 S - 2 I - 1 Base Método de Hooke & Jeeves : Fase de Progressão 22 Progredir com duplo incremento até ocorrer um Insucesso x2 Insucesso! Permanecer na Base (25) + 2 2 Sucesso! Mover a Base. Continuar a Progressão 25 + 2 1 + 2 2 Exploração a partir da Base (25) com 1 e 2 . 18 + 2 1 + 2 +1 10 Base 15 Resultado da Exploração x1 Se Chegou ao Ótimo Então: Finalizar Senão: reduzir os incrementos A Base estará suficientemente próxima para ser declarada como o ótimo? Se todos os incrementos estiverem menores do que as tolerâncias, SIM!: Finalizar Se algum deles estiver maior, então este deve ser reduzido à metade. Inicia-se uma nova Exploração à volta da Base com os novos incrementos x2 Se Chegou ao Ótimo Então: Finalizar Senão: reduzir os incrementos 5 - e1 + e1 + 2 + e2 - 1 +1 7 - e2 10 8 Base - 2 9 1 > e1 e 2 > e2 : ainda não chegou ao ótimo : 1 = 1 /2 , 2 = 2 /2 x1 x2 - e2 Se Chegou ao Ótimo Então: Finalizar + e1 5 + e2 + 2 7 - 1 10 +1 8 Base - e2 - 2 9 1 < e1 e 2 < e2 : a Base pode ser considerada o Ponto Ótimo x1 Exemplo: dimensionamento de 2 extratores em série W kgB/h 1 Q = 10.000 kgA/h xo = 0,02 kgAB/kgA x kgAB/kgA 1 1 x kgAB/kgA 2 2 y Modelo Matemático 1. Q(xo - x1) - W1 y1 = 0 2. y1 - k x1 = 0 3. Q(x1 -x2) - W2 y2 = 0 4. y2 - k x2 = 0 W kgB/h 2 1 kgAB/kgB y 2 kgAB/kgB Avaliação Econômica L=R-C R = pAB (W1 y1 + W2 y2 ) C = pB (W1 + W2) pAB = 0,4 $/kgAB : pB = 0,01 $/kgB Balanço de Informação: V = 8; N = 4; C = 2; G = 2 (otimização) Exemplo: dimensionamento de 2 extratores em série Modelo Matemático 1. Q (xo - x1) - W1 y1 = 0 2. y1 - k x1 = 0 3. Q(x1 -x2) - W2 y2 = 0 4. y2 - k x2 = 0 Modelo Matemático 2. y1 = k x1 4. y2 = k x2 3. W2 = Q (x1 – x2)/ y2 1. W1 = Q (xo - x1)/ y1 1 2 3 4 W1 x1 y1 W2 x2 y2 * * * * * * * * * * * 1 2 3 4 W1 x1 y1 W2 x2 y2 o x x x o x o x x x o Incorporando as Restrições de Igualdade à Função Objetivo L L=R–C R = pAB (W1 y1 + W2 y2 ) C = pB (W1 + W2) 2. y1 = k x1 4. y2 = k x2 3. W2 = Q (x1 – x2)/ y2 1. W1 = Q (xo - x1)/ y1 L = a – b/x1– cx2 – d x1/x2 a = pAB Q xo + 2 pB Q / k = 130; b = pB Q xo/ k = 0,5; c = pAB Q = 4000; d = pB Q / k = 25 Buscando o ponto estacionário: L/x1 = b/x12 – d/x2 = 0 x1o = (b2/cd)1/3 = 0,01357 L/x2 = - c + dx1/x22 = 0 x2o = (d/b) x12 = 0,00921 Solução completa: y1o = 0,05428 kgAB/kgB; W1o = 1.184 kgB/h y2o = 0,03684 kgAB/kgB; W2o = 1.184 kgB/h Co = 23,68 $/h; Ro = 43,15 $/h; Lo = 19,47 $/h Analisando o ponto estacionário: L/x1 = b/x12 – d/x2 = 0 x1o = (b2/cd)1/3 = 0,01357 L/x2 = - c + dx1/x22 = 0 x2o = (d/b) x12 = 0,00921 2L 2 x 1 H(x1o ,x o2 ) 2 L x1x 2 det(H - I) = 0 b 2L 2 (x o )3 x 2x1 1 = d 2L o 2 2 x 2 xo (x 2 ) d (xo2 )2 4 105 o d x1 2,95 105 2 o 3 (x 2 ) 1 = -0,258106 Máximo! e 2,95 105 8,69 105 2 = -1,011106 W1 = 1.184 kgB/h x1 = 0,01357 kgAB/kgA Q = 10.000 kgA/h xo = 0,02 kgAB/kgA W2 = 1.184 kgB/h 1 2 y1 = 0,05428 kgAB/kgA Estágio Soluto Recup. kg/h Solv. Consum. kg/h Lucro $/a x2 = 0,00921 kgAB/kgA y2 = 0,03824 kgAB/kgA 1 2 64,28 1.184 13,87 43,62 1.184 5,61 Total 107,90 2.368 19,48 0,020 0,018 8,0 0,016 10 0,014 16 0,012 X2 0,010 0 4,0 2,0 6,0 19,5 0,00921 14 18 0,008 0,006 12 0,004 0,01357 0,002 0,005 0,010 0,015 0,020 X1 0,025 0,030 0,035 Seguem-se todos os resultados possíveis da Exploração em 2 dimensões x2 Direção x1 Unimodalidade: dispensa + 1 Direção x2 Unimodalidade: dispensa + 2 Sucesso: deslocar a Base - 1 15 10 Base - 2 18 Sucesso: deslocar a Base Direção provável do ótimo x1 x2 Direção provável do ótimo Direção x1 Unimodalidade: dispensa + 1 18 Sucesso: deslocar a Base Direção x2 + 2 Sucesso: deslocar a Base - 1 15 10 Base - 2 12 Insucesso: permanece na Base x1 x2 Direção x1 Unimodalidade: dispensa + 1 Direção x2 13 Insucesso: permanecer na Base Direção + 2 provável Sucesso: deslocar a Base do ótimo - 1 15 10 Base - 2 12 Insucesso: permanecer na Base x1 x2 Direção x1 Direção x2 Unimodalidade: dispensa + 2 Sucesso: deslocar a Base 7 - 1 Insucesso: permanecer na Base 10 Base +1 15 - 2 18 Sucesso: deslocar a Base Direção provável do ótimo x1 Direção provável do ótimo x2 Direção x1 18 Direção x2 Sucesso: deslocar a Base + 2 7 - 1 Insucesso: permanecer na Base 10 Base +1 15 Sucesso: deslocar a Base - 2 12 Insucesso: permanecer na Base x1 x2 Direção x1 Insucesso: 11 permanecer na Base Direção x2 + 2 7 - 1 Insucesso: permanecer na Base 10 Base +1 - 2 Sucesso: deslocar a Base 15 Direção provável do ótimo Insucesso: 12 permanecer na Base x1 x2 Direção x1 Direção x2 Unimodalidade: dispensa + 2 7 - 1 Base 10 Insucesso: permanecer na Base - +1 8 Insucesso: permanecer na Base 2 15 Direção provável do ótimo Sucesso: deslocar a Base x1 x2 Direção provável do ótimo Direção x1 15 Direção x2 Sucesso: deslocar a Base + 2 - 1 Insucesso: 7 permanecer na Base 10 +1 Base 8 Insucesso: permanecer na Base - 2 9 Insucesso: permanecer na Base x1 x2 Direção x1 5 Direção x2 Insucesso: permanecer na Base + 2 - 1 Insucesso: 7 permanecer na Base 10 +1 Base 8 Insucesso: permanecer na Base - 2 9 Insucesso: permanecer na Base A Base deve estar próxima do ótimo ! x1 Método de Hooke & Jeeves ALGORITMO Estabelecer um incremento e uma tolerância para cada variável Escolher uma Base Repetir Explorar a vizinhança da Base (em busca da direção provável do ótimo) Se houve Sucesso em alguma direção Então: Progredir (na direção provável) até haver um Insucesso Senão: (proximidade do ótimo) Se Chegou ao Ótimo Então: Finalizar Senão: reduzir os incrementos Funções Unimodais O método converge sempre para o único extremo independentemente da base inicial. Os incrementos iniciais afetam apenas o número de tentativas. Funções Multimodais O método pode convergir para extremos locais diferentes dependendo da base inicial e dos incrementos iniciais selecionados. (a) partindo de bases iniciais diferentes pode-se alcançar extremos locais diferentes com os mesmos incrementos iniciais. (b) partindo de uma mesma base inicial pode-se alcançar extremos locais diferentes com incrementos iniciais diferentes f (x) = (x12 + x2 – 11)2 + (x22 + x1 – 7)2 Método dos poliedros flexíveis É um método de busca multivariável (J.A. Nelder e R. Mead, 1964, também chamado de Simplex), onde o pior vértice de um poliedro com n + 1 vértices é substituído por um novo vértice colinear com o vértice antigo e o centróide. X2 10 9 7 8 5 12 11 13 6 1 3 4 2 X1 Centróide: x 0, j 1 n 1 xi , j x h , j n i 1 j 1,2, n onde xh,j é o pior vértice. Método dos poliedros flexíveis O algoritmo envolve quatro operações de busca, que para o caso da minimização da função objetivo têm as seguintes formas: Expansão Reflexão k k k k xR x0 ( x0 xh ) , 0 k k k onde f ( x ) max f ( x ), , f ( x h 1 n 1 ) Se f ( xRk ) f ( x k ) min f ( x1k ), , f ( xnk1 ) , então xEk x0k ( xRk x0k ) , 1 Se f ( xEk ) f ( xRk ), então xhk 1 xEk k 1 k sen ão x x h R k k 1 (ir para 1) onde Contração Se f ( xRk ) f ( xik ) i h, então xCk x0k ( xhk x0k ) xhk 1 xCk , 0 1 k k 1 (ir para 1) x k é o melhor vértice. Redução 1 k k k k 1 k Se f ( x ) f ( x ), então x x ( xi x k ) R h i 2 i 1, 2, , n 1 k k 1 (ir para 1) Método dos poliedros flexíveis O critério usado por Nelder e Mead para terminar a busca é o seguinte: 1 2 2 1 k k f ( xi ) f ( x0 ) e n 1 i 1 n 1 DIMENSIONAMENTO POR SIMULAÇÕES SUCESSIVAS EMPREGADO POR “SOFTWARES” COMERCIAIS Empregam, para dimensionamento, os módulos ordenados para simulação. Mas exige um procedimento de otimização: - função objetivo (a ser minimizada): diferença, em valor absoluto, entre os valores obtidos para as variáveis de saída e os valores estipulados como metas - variáveis de projeto: as dimensões dos equipamentos Exemplo: Extrator W = 3.750 kgB/h Normal Q* = 10.000 kgA/h o xo*= 0,02 kg AB/kg A Ts C Q* = 10.000 kgA/h solvente x* = 0,008 kgAB/kg A To oC T oC o T C rafinado alimentação extrato T oC W = 3.750 kgB/h y = 0,032kg AB/kg B r = 0,60 Simulações Sucessivas W = ??? kgB/h Q* = 10.000 kgA/h oC T s xo*= 0,02 kg AB/kg A Q* = 10.000 kgA/h solvente x = ??? kgAB/kg A To oC T oC o T C rafinado alimentação extrato T oC W = kgB/h y = kg AB/kg B FO = |x – 0,008| Exemplo: Extrator Simulações Sucessivas W = ??? kgB/h Q* = 10.000 kgA/h oC T s xo*= 0,02 kg AB/kg A Q* = 10.000 kgA/h solvente x = ??? kgAB/kg A To oC T oC o T C rafinado alimentação extrato T oC W = kgB/h FO = |x – 0,008| y = kg AB/kg B 1. Q(xo – x) – W y = 0 2. y – k x = 0 x = Q xo / (Q + k W ) Por Seção Áurea, 0 < W < 1.000 W = 3.750 Exemplo: Trocador de Calor T4* = 30 oC A = 265,6 T m2 2 * 1. Q W1Cp1 (T1 T2 ) 0 = 25 oC W1* = 30.000 kg/h T1* = 80 oC Normal W3 = 44.000 kg/h 2. Q W3 Cp 3 (T4 T3 ) 0 3. Q UA 0 (T T4 ) (T2 T3 ) 4. 1 0 T T4 ln 1 T2 T3 T3* = 15 oC T4* = ??? A T 2* ??? W1* = 30.000 kg/h T1* = 80 oC W3 T3* = 15 oC Simulações Sucessivas T2 = T1 – Q/W1Cp1 T4 = T3 + Q/W3Cp3 FO = (T2 – 25)2 + (T4 – 30)2 Por Hooke&Jeeves ... 0 < A < 1.000 0 < W3 < 100.000