O Impacto do Processamento Paralelo na Otimização de Projeto
Transcrição
O Impacto do Processamento Paralelo na Otimização de Projeto
Index O IMPACTO DO PROCESSAMENTO PARALELO NA OTIMIZAÇÃO DE PROJETO NEUTRÔNICO DE REATOR ATRAVÉS DE ALGORITMO GENÉTICO 1,2 Cláudio M. N. A. Pereira, 1 Celso M. F. Lapa e 1 Antônio C. A. Mol 1 Comissão Nacional de Energia Nuclear - IEN/DIRE e DICH Caixa Postal 68550, Ilha do Fundão s/n, 21945-970, Rio de Janeiro, Brasil [email protected], [email protected] e [email protected] 2 Universidade Federal do Rio de Janeiro - COPPE/PEN Caixa Postal 68509, 21945-970, Rio de Janeiro, Brasil [email protected] RESUMO Atualmente, diversos problemas de otimização encontrados na engenharia nuclear vêm sendo solucionados através de algoritmos genéticos (AGs). A robustez de tais algoritmos, no entanto, está fortemente ligada à natureza de seu processo de busca que baseia-se "populações" de candidatos à solução do problema, fato este que implica em elevado custo computacional no processo de otimização. A utilização de AG torna-se ainda mais crítica quando o processo de avaliação de um candidato à solução é computacionalmente custoso. Problemas desta natureza são comuns na engenharia nuclear, e como exemplo, pode-se citar a otimização de projetos de reatores, onde códigos neutrônicos que consomem elevado tempo de CPU precisam ser executados. Com o objetivo de investigar o impacto da utilização da computação paralela na solução, através de AG, de um problema de otimização em projeto neutrônico, desenvolveu-se um algoritmo genético paralelo (AGP) sob o paradigma do Modelo de Ilhas. Exaustivos experimentos, envolvendo mais de 1500 horas de processamento em computadores pessoais de 550 MHz, foram feitos para que se pudesse comparar o AG convencional com o AGP. Tais experimentos demonstram a superioridade do AGP, não só no que se refere ao tempo de execução, mas também ao resultado da otimização. Keywords: neutronic design, parallel computation, genetic algorithms. I. INTRODUÇÃO Com o surgimento de computadores com maior capacidade processamento e memória, diversas técnicas computacionais de software puderam sair de um escopo puramente acadêmico para o mundo real, proporcionando aplicações práticas de grande valor, nas diversas áreas do conhecimento. A exemplo disto, pode-se citar a Computação Evolucionária (CE), que engloba poderosas técnicas de otimização, aplicáveis à problemas de difícil solução através de métodos tradicionais, mas que, em contrapartida, demanda alto custo computacional. Atualmente, já são observadas diversas aplicações práticas bem sucedidas da CE na área nuclear [1-6]. Existem, entretanto, problemas, cujo custo computacional associado à avaliação de um único candidato a solução, por si só, já é elevado. Nestes casos, a utilização da CE ainda esbarra no limite da capacidade de processamento dos computadores comuns geralmente disponíveis. Muitas vezes, devido à não aplicabilidade de outras técnicas, ainda assim, a CE é utilizada. Mesmo que com certo prejuízo com relação aos resultados da otimização, há ganhos que justifiquem tal aplicação. Uma das formas de sobrepor tal restrição com relação a aplicação de técnicas de CE, é a utilização de computação paralela. Neste trabalho, é investigado o impacto da aplicação da computação evolucionária paralela a um problema clássico da engenharia nuclear, envolvendo alto custo computacional – a otimização do projeto neutrônico de um reator. Para isto, desenvolveu-se um Algoritmo Genético [7] (uma técnicas popular da CE) Paralelo (AGP) sob o paradigma do Modelo de Ilhas [8], para execução distribuída em rede local de computadores. Exaustivos experimentos, envolvendo mais de 1500 horas de processamento em computadores pessoais de 550 MHz da rede local do Instituto de Engenharia Nuclear (CNEN), foram feitos com objetivo de comparar a performance do AGP proposto com a do algoritmo genético tradicional nãoparalelo (AGT). Os resultados obtidos apontam para uma evidente superioridade do AGP sobre AGT, não apenas em termos do tempo despendido no processo de otimização, mas também na qualidade dos resultados obtidos. Index II. ALGORITMO GENÉTICO: MODELO DE ILHAS III. O PROBLEMA PROPOSTO Algoritmos genéticos (AGs) são técnicas de otimização inspiradas nos mecanismos de seleção natural e evolução das espécies. Baseiam-se na evolução de populações de candidatos à solução do problema a ser otimizado. Tal evolução se dá de tal forma que os candidatos mais adaptados se mantenham e se recombinem entre si, gerando populações mais adaptadas a cada geração. A avaliação do nível de adaptação do candidato é função dos objetivos e restrições do problema de otimização considerado. A cada geração o AG precisa calcular o nível de adaptação de toda a população, o que torna o processo de otimização bem mais demorado, quando comparado com a otimização via técnicas tradicionais. Os AGs destacam-se, entretanto, por sua robustez na otimização em escopo global e aplicabilidade a problemas onde não se tem conhecimento a priori do espaço de busca. Em problemas onde a avaliação de um candidato à solução já implica em elevado custo computacional, os AGs podem ter sua aplicação comprometida, em parte, ou totalmente. Uma forma de sobrepor essa dificuldade é a paralelização do AG. Como a avaliação de cada candidato de uma população é independente, estas poderiam ser feitas ao mesmo tempo. Os modelos de AGs paralelos (AGPs), no entanto, vão além da simples paralelização do processo de avaliação dos candidatos (modelo Mestre-Escravo). Usufrui-se também do paralelismo para se obter modelos mais robustos e eficazes, destacando-se dois deles: o modelo Celular e o Modelo de Ilhas. Por necessitar de pouca comunicação entre processadores, este último é o que melhor se adapta em arquiteturas computacionais distribuídas, como uma rede de computadores. No Modelo de Ilhas, AGs independentes são alocados, cada um em um processador (ilha). Os AGs evoluem paralelamente, trocando informação através do processo (operador) de migração, onde indivíduos de uma ilha migram para outra, com intuito de promover uma evolução global com maior diversidade do espaço de busca. Tal aumento de diversidade, devido à colaboração entre as ilhas, possibilita ganhos nos resultados da otimização. Neste trabalho, utilizou-se a topologia em anel, onde o melhor indivíduo migra para a ilha subseqüente, conforme esquematizado na Fig. 1. Como o principal objetivo deste trabalho é analisar os ganhos referentes à utilização de computação paralela, escolheu-se um problema anteriormente abordado [1], na ocasião, submetido à aplicação de um algoritmo genético tradicional (AGT). O problema abordado é um projeto simplificado do núcleo de um reator hipotético com 3 zonas de enriquecimento e cuja célula característica é composta apenas de moderador, revestimento e combustível, conforme Figura 2. Ilha 1 Ilha N Ilha 2 Ilha 4 Ilha 3 Figura 1. O Modelo de Ilhas. R2 R1 R3 Fuel Cladding h Re ∆c Rf Moderator (a) (b) Figura 2. (a) O Reator, (b) Célula Típica. Objetivando-se projetar um reator para operar com um dado fluxo de nêutrons, crítico, submoderado e com fator de pico mínimo, permite-se que sejam variados os valores dos enriquecimentos das 3 zonas, o passo da rede, o diâmetro do combustível, a espessura do revestimento e os materiais do combustível e do revestimento, nas faixas dadas na Tabela 1. TABELA 1. Faixas dos Parâmetros da Otimização Parâmetro Rf (cm) ∆r (cm) ∆m (cm) E1 (%) E2 (%) E3 (%) Combustível Revestimento Mínimo Máximo 0,508 1,27 0,0254 0,254 0,0254 0,762 2,0 5.0 2,0 5.0 2,0 5.0 {UO2, Urânio metal} {Zircaloy, Al, Aço-304 Bits 7 7 7 7 7 7 1 2 Onde Rf é o raio do combustível, ∆r é a espessura do revestimento, ∆m é a espessura da camada de moderador, ou seja, é o raio equivalente (que é função do passo) menos o raio externo do revestimento; E1, E2 e E3, os enriquecimentos das três diferentes zonas. Matematicamente, o problema de otimização acima descrito pode ser escrito como: Index Minimizar: fm (Rf,∆r,∆m,E1,E2,E3,mf,mc) (1) Sujeito a : φ(Rf,∆r,∆m,E1,E2,E3,mf,mc) = φ0; (2) 0.99 ≤ keff (Rf,∆r,∆m,E1,E2,E3,mf,mc) ≤ 1.01; (3) dk eff >0; dVm (4) Rfmin ≤ Rf ≤ Rfmax; (5) ∆rmin ≤ ∆r ≤ ∆rmax; (6) ∆mmin ≤ ∆m ≤ ∆mmax; (7) E1min ≤ E1 ≤ E1max; (8) E2min ≤ E2 ≤ E2max; (9) E3min ≤ E3 ≤ E3max; (10) Combustível = {UO2, U-metal}; (11) Revestimento = {Zircaloy, Al, Stainless-304}; (12) Onde fm é o fator de pico médio no reator; φ e φ0 são os fluxos térmicos médios, obtidos e esperados, respectivamente e Vm é o volume do moderador. Os subíndices min e max referem-se aos limites inferiores e superiores da faixa de variação das respectivas variáveis. IV. MODELAGEM GENÉTICA DO PROBLEMA A modelagem genética aqui utilizada, ou seja, a codificação do genótipo e concepção da função de avaliação (objetivo), é a mesma apresentada por Pereira [1], portanto, esta seção não se estenderá em detalhes. Genótipo. O genótipo concatena a codificação binária direta de cada um dos parâmetros da otimização, cujas faixas e número de bits associados são apresentados na Tabela. Função de avaliação. A função de avaliação, f, utilizada é dada pelo fator de pico médio, deduzido de penalizações aplicadas quando alguma restrição deixa de ser satisfeita. A importância de cada restrição está relacionada a um fator r, que pondera a penalização de acordo com os interesses da otimização. Assim sendo, função de penalização pode ser escrita conforme Eq. 13. f m , f m + r1.ÄÄeff , f m + r2 .ÄÄö Ä'k eff , f m + r3 . ÄVm f = f m + r1.ÄÄeff + r2 .ÄÄö Ä'k eff f m + r1.ÄÄeff + r3 . ÄVm , Ä'k eff , f m + r2 .ÄÄ+ r3 . ÄVm f + r .ÄÄ + r .ÄÄ+ r . Ä'k eff , 3 m 1 eff 2 ÄVm Äkeff ≤ 0.01; Äö ≤ 0.01ö 0 ; Ä'k eff >0 ÄVm Äkeff > 0.01; Äö ≤ 0.01ö 0 ; Ä'k eff >0 ÄVm Äkeff ≤ 0.01; Äö > 0.01ö 0 ; Ä'k eff >0 ÄVm Äkeff ≤ 0.01; Äö ≤ 0.01ö 0 ; Ä'k eff <0 ÄVm Äkeff > 0.01; Äö > 0.01ö 0 ; Ä'k eff >0 ÄVm Äkeff > 0.01; Äö ≤ 0.01ö 0 ; Ä'k eff <0 ÄVm Äkeff ≤ 0.01; Äö > 0.01ö 0 ; Ä'k eff <0 ÄVm Äkeff > 0.01; Äö > 0.01ö 0 ; Ä'k eff <0 ÄVm (13) Onde r1, r2 e r3 são constantes de penalização para as restrições de keff,, φ e submoderação, respectivamente. V. APLICAÇÃO E RESULTADOS Os cálculos neutrônicos envolvidos no processo de otimização foram realizados com auxílio do código Hammer [9], onde o reator é modelado conforme descrição anterior. Na plataforma computacional utilizada – computadores pessoais de 550MHz – a avaliação de um candidato à solução leva cerca de 1,25 segundos, impondo limitações no processo de otimização, levando à fixação do número de gerações dos experimentos em 500. Para efeito de ilustração, a execução de um AG, com uma população de 400 indivíduos (que não é muito grande) levaria mais do que 69 horas. Nos experimentos realizados, utilizou-se o sistema ProGenIS ("Programmable Genetic Island System") [10], desenvolvido no próprio Instituto de Engenharia Nuclear. Este sistema é uma ferramenta para a implementação de AGPs segundo o modelo de ilhas [8], e permite, ao usuário, a definição de topologias e estratégias de migração, além da escolha dos parâmetros genéticos tradicionais. Utilizando-se a topologia em anel e migração do melhor indivíduo de 10 em 10 gerações, foram realizados vários experimentos, alterando-se parâmetros genéticos como taxa de cruzamento, taxa de mutação e semente de randomização. Em todas as ilhas foi utilizada estratégia de elitismo para preservação da melhor solução. Aqui são apresentados resultados comparativos AGP x AGT, onde fixou-se o número total de avaliações a cada geração (população total), ou seja, são comparados os resultados obtidos pelo AGT com população de N indivíduos, com os obtidos pelo AGP com N/50 ilhas de 50 indivíduos. As ilhas são executadas de forma distribuída em 4 computadores (Pentium 550MHz) da rede local do Index Instituto. No caso do AGT, este foi implementado, também, utilizando-se o ProGenIS, no entanto, com uma única ilha (cada ilha é exatamente um AG tradicional). A Tabela 1 apresenta os resultados obtidos em 70 experimentos (10 para cada valor fixo de população, P), onde variou-se as sementes de randomização e as taxas de cruzamento e mutação. 1 .3400 AGT 1 .3200 f TABELA 1. Valores de f para 500 Gerações Exper. 1 2 3 4 5 6 7 8 9 10 Média Tempo (h) P=50 AGT 1,2895 1,3596 1,4138 1,3432 1,3662 1,2879 1,3164 1,3404 1,3541 1,3256 1,3397 8,7 P=100 AGT AGP 1,3612 1,3565 1,3057 1,3249 1,3737 1,3249 1,3737 1,2847 1,3308 1,3666 1,3097 1,2795 1,3149 1,2825 1,3090 1,3523 1,3002 1,3066 1,3032 1,3627 1,3282 1,3241 17,4 8,7 P=200 AGT AGP 1,3578 1,3322 1,3065 1,2799 1,3057 1,3378 1,3287 1,2835 1,2889 1,2810 1,3020 1,2796 1,3082 1,2784 1,3367 1,3034 1,3214 1,2989 1,3328 1,3170 1,3189 1,2992 34,7 8,7 P=400 AGT AGP 1,2849 1,2993 1,2791 1,2793 1,3169 1,2776 1,3235 1,2996 1,3204 1,2824 1,3102 1,2804 1,3352 1,2788 1,3084 1,2808 1,2993 1,2990 1,.3463 1,2839 1,3124 1,2861 69,4 17,4 No caso do AGP, note que, enquanto o número de ilhas é igual ou inferior ao número de computadores disponíveis, o tempo médio aproximado de execução do AGP não se altera com o aumento do quantidade de ilhas. Isto deve-se à pouquíssima comunicação de dados necessária entre os computadores no modelo de ilhas, implicando, neste caso de estudo, em um aumento desprezível no tempo total da otimização. No caso do experimento com 8 ilhas, foram executadas 2 ilhas em cada computador, portanto o tempo de execução é aproximadamente o dobro. No entanto, se houvessem 8 computadores disponíveis, provavelmente o tempo de execução seria na faixa de 8,7h. Ao contrário disso, no AGT o tempo despendido no processo de otimização, aumenta proporcionalmente com o aumento da população, impossibilitando a utilização de populações maiores, fato este que, em determinados casos, poderia vir a prejudicar a solução do problema. Além do ganho óbvio com relação ao tempo do processo de otimização, observam-se ganhos nos resultados da otimização. Isso ocorre devido ao aumento da diversidade no processo de busca, promovida pelo Modelo de Ilhas, conforme mencionado por Cantú-Paz [8]. A Figura 3 ilustra esses ganhos através de um gráfico comparativo entre o AGT e o AGP, onde o valor médio (em 10 experimentos) de f obtido para diferentes populações é plotado. São comparados os resultados obtidos pelo AGT com populações de N indivíduos, onde N={50, 100, 200 e 400} contra os obtidos pelo AGP com M (M=N/50) ilhas de 50 indivíduos cada, onde M={1, 2, 4 e 8}. AGP 1 .3300 1 .3100 1 .3000 1 .2900 1 .2800 50 100 150 200 250 300 350 400 População Figura 3. Comparação dos Resultados Médios Obtidos. Embora não seja o objetivo principal deste artigo, apenas para efeito de ilustração, a melhor configuração de parâmetros encontrada é exibida na Tabela 2. TABELA 2. Parâmetros Ótimos Propostos pelo AGP Objetivos Fator de pico Fluxo keff Parâmetros Rf (cm) ∆r (cm) ∆m (cm) E1 (%) E2 (%) E3 (%) Combustível Revestimento * Fluxo é normalizado na fonte Valor 1,290 8,7 x 10-5 * 1,001 Valor 0,730 0,186 0,756 2,685 2,826 4,882 U-metal Aço-304 VI. CONCLUSÕES Primeiramente, este trabalho mostra que, através de computação paralela de baixo custo (utilizando-se de redes comuns de computadores pessoais), pode-se resolver eficazmente, através da CE, problemas de otimização cuja solução não-paralela (também por meio da CE) é impraticável. Além disso, observou-se no caso estudado, ratificando conclusões anteriormente publicadas [11-12], que, para um número de gerações limitado, o modelo de ilhas promove maior diversidade no processo de busca, proporcionando um melhor aproveitamento de populações Index maiores e, consequentemente, levando a resultados melhores. Como futuros trabalhos, pretende-se aplicar AGP a outros importantes problemas da engenharia nuclear, como, por exemplo, a otimização de recarga de combustível nuclear e a otimização de políticas de manutenção e testes em sistemas de centrais nucleares, entre outros, de forma que se possa obter soluções de problemas mais complexos e reais. REFERÊNCIAS [1] Pereira, C. M. N. A., Schirru, R. E Martinez, A. S. Basic Investigations Related to Genetic Algorithms in Core Designs, Annals of Nuclear Energy, 26 (3), pp. 173193, 1999. [2] Lapa, C. M. F., Pereira, C. M. N. A., Mol, A. C. A. Maximization of a Nuclear System Availability through Maintenance Scheduling Optimization Using Genetic Algorithm. Nuclear Engineering and Design 196, pp. 219231, 2000. [3] Schirru, R., Martinez, A. S., Pereira C. M. N. A., Domingos, R. P., Machado, M. D. e Machado, L. Intelligent Soft Computing in Nuclear Engineering in Brazil, Progress in Nuclear Energy,35 (3-4), pp. 367-391, 1999. [4] Schirru, R., Pereira, C. M. N. A. e Martinez, A. S. Genetic Algorithms Applied to Nuclear Power Plant Operation, In: Da Ruan (ed), Fuzzy Systems and Soft Computing in Nuclear Engineering, Springer-Verlag, pp. 335-350, 1999. [5] Pereira, C. M. N. A. e Schirru, R. E Martinez, A. S. Otimização em Projetos de Reatores Nucleares Baseada em Rede Neural e Algoritmo Genético, XI Encontro Nacional de Física de Reatores, pp. 334-339, 1997. [6] Schirru, R., Pereira, C. M. N. A., Chapot, L. E Carvalho, F. A Genetic Algorithm Solution for Combinatorial Problems – The Nuclear Core Reload Problem Example, XI Encontro Nacional de Física de Reatores, pp. 357-360, 1997. [7] Goldberg, D. E., Genetic Algorithms in Search, Optimization and Machine Learning, Addison-Wesley, 1989. [8] Cantú-Paz, E. Efficient and Accurate Parallel Genetic Algorithms. Kluwer Academic Publishers, 2000. [9] Suich, J. E. and Honec, H. C., The HAMMER System Heterogeneous Analysis by Multigroup Methods of Exponentials and Reactors, Savannah River Laboratory, Aiken South Carolina, 1967. [10] Pereira C. M. N. A. ProGenIS: Programable Genetic Island System - Uma ferramenta genérica para desenvolvimento de Algoritmos Genéticos Paralelos utilizando o Modelo de Ilhas: Apresentação do Sistema e Estado de Desenvolvimento Atual. SETER-07/01, IEN, 2001. [11] Lin, S.-C, Investigating Parallel Genetic Algoritms on Job Shop Scheduling Problems. In Angeline et al. (Eds.), Evolutionary Programming VI (pp. 383-393), Berlin, Springer, 1997. [12] Sampaio, P. A. B., Pereira, C. M. N. A., Lapa, C. M. F., Lapa, N. S., Mol, A. C. A., Jospin, R. J., e Nery D. E. S., Computação de alto desempenho no Instituto de Engenharia Nuclear, XII Encontro Nacional de Física de Reatores, 2000. ABSTRACT Nowadays, many optimization problems found in nuclear engineering has been solved through genetic algorithms (GA). The robustness of such methods is strongly related to the nature of search process which is based on populations of solution candidates, and this fact implies high computational cost in the optimization process. The use of GA become more critical when the evaluation process of a solution candidate is highly times consuming. Problems of this nature are common in the nuclear engineering, and an example is the reactor design optimization, where neutronic codes, which consume high CPU time, must be run. Aiming to investigate the impact of the use of parallel computation in the solution, through GA, of a reactor design optimization problem, a parallel genetic algorithm (PGA), using the Island Model, was developed. Exhaustive experiments, involving more then 1500 processing hours in 550 MHz personal computers, have been done, in order to compare the conventional GA with the PGA. Such experiments have demonstrating the superiority of the PGA not only in terms of execution time, but also, in the optimization results.