ALGORITMOS NA ENGENHARIA DE PROCESSOS (EQE 489) MÉTODO DA BISSEÇÃO x f BISS f(x) ALGORITMO f (x) Estabelecer xi, xs, (tolerância) Calcular fi em xi Calcular fs em xs REPETIR x = (xi + xs)/2 xi fs x xs f Calcular f em x x fi Se Sinal (f) = Sinal (fi): Então atualizar : xi = x : fi = f Senão atualizar : xs = x : fs = f ATÉ xs - xi SE ABS(fi) < ABS(fs) ENTÃO Solução = xi SENÃO Solução = xs f(x) fs f xi fi x xs x Estabelecer xi, xs, (tolerância) Calcular fi em xi Calcular fs em xs Exemplo: x1 x2* + ln x1 = 0 f = x1 x2* + ln x1 REPETIR x = (xi + xs)/2 Calcular f em x Se Sinal (f) = Sinal (fi): Então atualizar : xi = x : fi = f Senão atualizar : xs = x : fs = f x2* = 2 : xi = 0 : xs = 1: = 0,1 ATÉ xs - xi x f xs fs 0,00005 -11,51 0,5 0,307 1 2 1 0,00005 -11,51 0,25 0,5 0,307 0,5 -0,231 0,5 0,307 0,25 0,048 0,307 0,125 xi fi 0,25 -0,88 0,375 0,375 -0,231 0,4375 0,375 -0,231 -0,88 0,5 0,4375 0,048 0,0625 Solução para = 0,1 : x = 0,4375 f = 0,048 EFICIÊNCIA DO MÉTODO Nm : número de cálculos da função, no meio do intervalo, necessário para alcançar o intervalo Nt : número total de cálculos da função para alcançar o intervalo Como o método se inicia com o cálculo da função nos limites inferior e superior, então: Nt = Nm + 2 = 0,5Nm ln = Nm ln 0,5 Nt = 2 + ln / ln 0,5 Nt = 2 – 1,4 ln 10% : = 0,1 N = 5,3 Nt = 6 1% : = 0,01 N = 8,6 Nt = 9 x f xs fs 0,00005 -11,51 0,5 0,307 1 2 1 0,00005 -11,51 0,25 0,5 0,307 0,5 -0,231 0,5 0,307 0,25 0,048 0,307 0,125 xi fi 0,25 -0,88 0,375 0,375 -0,231 0,4375 0,375 -0,231 -0,88 0,5 0,4375 0,048 0,0625 Solução para = 0,1 : x = 0,4375 f = 0,048 MÉTODO DA SUBSTITUIÇÃO DIRETA Um método típico Método da Substituição Direta Se a incógnita aparecer em mais de termo da equação, ela é explicitada parcialmente: f(xi ) = 0 xi = F(xi) Exemplo F(x1) x1 = - (1/ x2*) ln x1 f(x1) x1 x2* + ln x1 = 0 F(x1) x1 = e - x1 x2* f(xi ) = 0 xi = F(xi) A solução é o valor de xi em que F(xi) = xi . F(x) 0,2 0,2 x F(x1) = e - x1 x2* (x2* = 2 : x1 inicial = 0,5) x 0,5 0,367 0,479 0,383 0,464 F 0,367 0,479 0,383 0,464 0,395 0,264 0,302 0,199 0,210 0,149 F(x) x 2 x 3 x 1 x Solução: x = 0,4263 ALGORITMO Estabelecer xinicial, (tolerância) F = xinicial REPETIR x=F Calcular a Função F em x ATÉ Convergir xsolução = F Convergir = |(F-x)/x| < (erro relativo) Como dar a partida ? ALGORITMO DE ORDENAÇÃO DE EQUAÇÕES Algoritmo de Ordenação de Equações Enquanto houver equações com incógnita única (a) atribuir (vincular) essa incógnita à respectiva equação. (b) colocar a equação no primeira posição disponível na Sequencia de Cálculo. (c) remover a variável (X na vertical). Enquanto houver equações Enquanto houver variáveis de frequência unitária (a) atribuir (vincular) essa variável à respectiva equação. (b) colocar a equação no última posição disponível na Seqüência de Cálculo. (c) remover a equação (X na horizontal). Se ainda houver equações (ciclo!) (a) selecionar uma equação que contenha pelo menos uma variável de freqüência igual à menor freqüência dentre todas as variáveis (Final). (b) colocar essa equação na última posição disponível na Seqüência de Cálculo. (c ) remover equação (X na horizontal). SIMULAÇÃO DE PROCESSOS COMPLEXOS Processos Complexos Corrente 1: única conhecida 7 4 1* Abrir C3 1 REPETIR Simular E3 (C4,C5) Simular E1 (C2) Abrir C8 REPETIR Simular E6 (C10,C11) Simular E4 (C6,C7 ) Simular E7 (C9, C12) Simular E5 (C8) ATÉ Convergir C8 Simular E8 (C13, C14) Simular E2 (C3) ATÉ Convergir C3 9 3 2 2 5 3 8 6 4 5 10 13 12 6 7 11 14 8 ALGORITMO DA SEÇÃO ÁUREA 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 ALGORITMO 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 MÉTODO HEURÍSTICO PARA SÍNTESE DE REDES DE TROCADORES DE CALOR CRITÉRIO RPS PARA A SELAÇÃO DAS CORRENTES ALGORITMO Enquanto houver trocas viáveis, ou seja: To(Q) > To(F) Selecionar um par de correntes (QMTO x FMTO ou QmTO x FmTO) Fixar TEQ* = To(Q) e TEF* = To(F); Metas provisórias (temperaturas de destino) : TSQ = Td(Q) e TSF = Td(F) TEQ* = ToQ TEF*=ToF TSF = TdF ? TSQ = TdQ? Se TEQ* - TSF < Tmin então limitar TSF = TEQ* - Tmin Se TSQ - TEF* < Tmin então limitar TSQ = TEF* + Tmin TEQ* TEF* TSF = TEQ* - 10 TSQ? TEQ* TEF* TSF TSQ = TEF* + 10 Com as metas ajustadas TEQ* TEF* TEQ* TSF = TEQ* - 10 TEF* TSQ? TSF TSQ = TEF* + 10 Calcular Oferta e Demanda Adotar a troca máxima: Q = Min (Oferta, Demanda). Se Q = Oferta então confirmar TSQ e calcular TSF. Se Q = Demanda, então confirmar TSF e calcular TSQ. TEQ* TEQ* TEF* TEF* TSF TSF calcular TSQ calcular TSQ Atualizar a Tabela