150 likes | 232 Views
UNIVERSIDADE DO SUL DE SANTA CATARINA-UNISUL Curso de Graduação em Engenharia Química Engenharias e Computação. V Jornada Unisul de Iniciação Científica - JUNIC. Iniciação Científica: Samara Silva de Souza. Orientador: Dr. Marcos Marcelino Mazzucco
E N D
UNIVERSIDADE DO SUL DE SANTA CATARINA-UNISUL Curso de Graduação em Engenharia Química Engenharias e Computação V Jornada Unisul de Iniciação Científica - JUNIC Iniciação Científica: Samara Silva de Souza Orientador: Dr. Marcos Marcelino Mazzucco Tubarão, Setembro/2010.
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências • Os algoritmos genéticos, conhecidos como GA’s (Genetic Algorithms), são algoritmos de otimização baseados em mecanismos simplificados de adaptação e evolução das espécies (teoria de Darwin), ou seja, são técnicas de buscas que combinam a sobrevivência dos mais aptos com a troca de informações de uma forma estruturada. • Os GA’s são particularmente aplicados em problemas complexos de otimização: problemas com diversos parâmetros ou características que precisam ser combinadas em busca da melhor solução, problemas com muitas restrições ou condições que não podem ser representadas matematicamente. • Os operadores de seleção, crossover e mutação, são considerados operadores fundamentais, pois estão presentes em qualquer algoritmo genético. A partir das iterações espera-se o melhor “indivíduo” (cromossomo com maior fitness), uma vez que o programa converge para isso. 2
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências Desta forma existem vários parâmetros em um algoritmo genético: Tamanho da População: número de pontos do espaço de busca sendo considerados em paralelo a cada ciclo. Taxa de Crossover: probabilidade de um indivíduo ser recombinado com outro. Taxa de Mutação: probabilidade do conteúdo de uma posição/gene do cromossoma ser alterado. Número de Gerações: cada uma das interações feitas pelo algoritmo genético ao obter uma nova população. Total de Indivíduos: total de tentativas em um experimento (tamanho da população x número de gerações). A partir das iterações espera-se o melhor “indivíduo” (cromossomo com maior fitness), uma vez que o programa converge para isso. 3
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências • Estes algoritmos operam com um conjunto de possíveis soluções, denominado “população”, para determinação do melhor indivíduo. Os elementos da população são combinados através de uma troca de informações de modo a encontrar melhores soluções que as da população original. A troca de informações para determinação da nova população depende do valor da função objetivo, de tal forma que melhores soluções possuem maior possibilidade de serem combinadas. Desse processo obtêm-se, em geral, soluções melhores que as originais e toda a população desloca-se em direção ao “ótimo”. 4
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências Objetivo Geral Aplicar algoritmos genéticos para a determinação dos parâmetros cinéticos de uma reação química homogênea com mais de um reagente. Objetivos Específicos • Avaliar a capacidade e flexibilidade das sub-rotinas disponíveis no GNU Octave para resolver problemas envolvendo algoritmos genéticos; • determinar o tempo de processamento computacional requerido no GNU Octave para resolver o problema proposto; • comparar os resultados com os métodos tradicionais; • determinar a compatibilidade dos resultados com os parâmetros cinéticos originais; • analisar, estatisticamente, os resultados. 5
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências A utilização desses algoritmos oferece uma solução com implementação mais simples que outros métodos, pois utiliza uma função objetivo mais flexível. A função objetivo será: onde: ti = tempo obtido a partir da simulação com VLAB; t'i= tempo calculado a partir dos parâmetros cinéticos determinados pelo GA. Os dados de concentração ao longo do tempo a serem utilizados no programa, o qual foi executado no software GNU Octave1, foram obtidos através do simulador VLAB2. Estes dados referem-se a população inicial. • Para o experimento analisou-se a estequiometria e aplicou-se o excesso em um dos reagentes (CB0) fazendo com que sua concentração permaneça constante com o tempo. Foram então obtidos os dados de concentração de CA (gmol/L) por unidade de tempo t(min). 6
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC • Após serem gerados, os indivíduos passam através de um operador de mutação. Esse operador é responsável por alterar determinadas partes aleatórias do gene do indivíduo de forma a buscar uma melhoria do indivíduo gerado. • Para definir quem são os indivíduos mais apropriados para resolver o problema deve-se definir uma função de avaliação (fitness) do algoritmo genético. • Tendo sido determinado um indivíduo que possua um valor de erro segundo a função de fitness obtém-se um cromossomo que gera um indivíduo próximo ao indivíduo representativo. • A partir de então, os indivíduos que formam a população trocam as informações dos seus genes segundo o operador de recombinação (crossover), que possibilita formar novos indivíduos que podem possuir tanto as melhores como as piores características dos indivíduos iniciais. • Nas execuções do algoritmo o operador da mutação é fundamental para uma melhor convergência para o mínimo global (que é a melhor solução possível). Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências 7
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências • O algoritmo genético desenvolvido atendeu ao objetivo do trabalho que foi de determinar os parâmetros cinéticos de uma reação química homogênea. • A função objetivo para o problema proposto foi: Onde: nA = ordem da reação e kA = constante de velocidade Testou-se determinar as duas variáveis, ordem da reação (nA) e constante de velocidade (kA) a partir do algoritmo. 8
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências Parâmetros do Algoritmo Genético Nas otimizações efetuadas, os seguintes parâmetros do algoritmo genético foram empregados: • População = 100 indivíduos; • Geração = 100 • Taxa de crossover= 0,95. Valores pequenos não resultaram em aumento do desempenho do algoritmo genético e tornaram a convergência mais lenta. • Mutação = 0,01 Taxas de mutação elevadas tendem a transformar os algoritmos genéticos tradicionais em pura pesquisa enumerativa e taxas de mutação muito pequenas tendem a diminuir a diversidade da população. 9
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências Os dados obtidos no software VLAB foram referentes a uma reação do tipo: 1A + 2B Produtos Testes preliminares estabeleceram que a reação possui estequiometria de 1:2. Fazendo os excessos na proporção de 0,2:4 foram coletadas amostras da concentração de A ao longo de tempo. Estes dados foram adicionados ao algoritmo genético, e a partir disto executado o programa para determinar os parâmetros cinéticos. Durante a execução do algoritmo, o programa gera os valores de fitness máximo e médio para cada geração e os gráficos das Figuras 1 e 2 são gerados. 10
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências A partir do gráfico do tempo calculado em função do tempo real, conforme Figura 1, percebe-se a linearidade dos dados, demonstrando a compatibilidade dos resultados com os parâmetros originais. O valor da correlação foi de 0,991087. Figura 1 – Gráfico tempo calculado por tempo real. Os valores obtidos da ordem e velocidade específica foram respectivamente, 2,58852 e 0,12826, próximos aos valores de 2,5 e 0,1 que correspondem aos parâmetros cinéticos originais. Os valores de fitness foram de: fitness médio = -8,624 e fitness máximo = -1,004. 11
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Os gráficos fitness médio e máximo em função do número de gerações, disposto conforme Figura 2. Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências Figura 2– Gráficos do fitness em função do número de gerações gerados pelo algoritmo de solução. Na Figura 2 percebe-se um ponto de uma das gerações que apresenta um fitness médio inferior aos demais, com isto o gráfico gerado não fica bem visível, devido a discrepância deste valor aos demais. O fitness máximo ficou em torno de -1,0035. 12
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC • O algoritmo foi alterado para suportar otimização múltipla, pois estava preparado para apenas um parâmetro. A partir disto, pode-se aplicar a estratégia de otimização com diversos grupos de dados de tempo e concentração de A e B obtidos no software VLAB. • Testaram-se alternativas de implementação no programa como integração e método das diferenças finitas para possibilitar a determinação dos parâmetros cinéticos sem excesso de nenhum dos reagentes, contudo a abordagem da integração numérica acaba deixando a solução muito lenta. • Não obteve-se resultados satisfatórios quando não há excesso de um dos reagentes. O programa passa a calcular três variáveis: nA , nB e kA . Os parâmetros de ordem interferem-se entre si e não convergem para o resultado esperado. • A função objetivo adotada se propõe a resolver o problema proposto. • Obteve-se uma compatibilidade dos resultados com os parâmetros cinéticos obtidos por métodos tradicionais. • O tempo de processamento computacional requerido no GNU Octave para resolver o problema proposto foi de 21,369s. Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências 13
Universidade do Sul de Santa Catarina V Jornada Unisul de Iniciação Científica - JUNIC Introdução Objetivos Metodologia Resultados e Discussões Conclusões Referências CLAUMANN, C. A. Modelagem dinâmica e controle de processos não lineares: uma aplicação de algoritmos genéticos para treinamento de redes neurais recorrentes, Dissertação de Mestrado. Florianópolis, 1999, 181 p. GOLDBERG, D. E., Genetic Algorithms in Search Optimization & Machine Learning, Addison-Wesley, USA, 1989 LUYBEN, William L. Process modeling, simulation, and control for chemical engineers. 2. ed. New York: McGraw-Hill, 1990. 725 p. MAZZUCCO, M.M., Introd. às Técnicas de Programação com Gnu Octave e Matlab. 2004. MAZZUCCO, M. M., LIMA, M. C., ROSA, M. R. VLAB-Um Software para Apoio ao Ensino de Cinética Química, XIII Enc. de Química da Região Sul, p. QE026, 2005. 14
UNIVERSIDADE DO SUL DE SANTA CATARINA-UNISUL Curso de Graduação em Engenharia Química V Jornada Unisul de Iniciação Científica - JUNIC Iniciação Científica: Samara Silva de Souza Orientador: Dr. Marcos Marcelino Mazzucco Tubarão, Setembro/2010.