Busca Harmonica

Download Busca Harmonica

Post on 15-Sep-2015

218 views

Category:

Documents

1 download

Embed Size (px)

DESCRIPTION

BH

TRANSCRIPT

<ul><li><p>UNIVERSIDADE TECNOLOGICA FEDERAL DO PARANA UTFPRPROGRAMA DE POS-GRADUACAO EM ENGENHARIA ELETRICA</p><p>E INFORMATICA INDUSTRIAL</p><p>MARLON HENRIQUE SCALABRIN</p><p>MEGA BUSCA HARMONICA: ALGORITMO DE BUSCAHARMONICA BASEADO EM POPULACAO E IMPLEMENTADO EM</p><p>UNIDADES DE PROCESSAMENTO GRAFICO</p><p>DISSERTACAO</p><p>CURITIBA</p><p>2012</p></li><li><p>MARLON HENRIQUE SCALABRIN</p><p>MEGA BUSCA HARMONICA: ALGORITMO DE BUSCAHARMONICA BASEADO EM POPULACAO E IMPLEMENTADO EM</p><p>UNIDADES DE PROCESSAMENTO GRAFICO</p><p>Dissertacao apresentada como requisito parcial paraobtencao do grau de Mestre em Ciencias, do Pro-grama de Pos-graduacao em Engenharia Eletricae Informatica Industrial, Universidade TecnologicaFederal do Parana UTFPR. Area de Concentracao:Engenharia de Computacao.</p><p>Orientador: Prof. Dr. Heitor Silverio Lopes</p><p>CURITIBA</p><p>2012</p></li><li><p>Dados Internacionais de Catalogao na Publicao</p><p>S281 Scalabrin, Marlon Henrique Mega busca harmnica: algoritmo de busca harmnica baseado em populao e implementado </p><p>em unidades de processamento grfico / Marlon Henrique Scalabrin. 2012. 132 f. : il. ; 30 cm</p><p>Orientador: Heitor Silvrio Lopes.Dissertao (Mestrado) Universidade Tecnolgica Federal do Paran. Programa de Ps- </p><p>graduao em Engenharia Eltrica e Informtica Industrial. Curitiba, 2012.Bibliografia: f. 83-89.</p><p>1. Anlise harmnica. 2. Heurstica. 3. Algoritmos. 4. Otimizao combinatria. 5. Computao grfica. 6. Arquitetura de computador. 7. Programao paralela (Computao). 8. Engenharia eltrica Dissertaes. I. Lopes, Heitor Silvrio, orient. II. Universidade Tecnolgica Federal do Paran. Programa de Ps-graduao em Engenharia Eltrica e Informtica Industrial. III. Ttulo.</p><p>CDD (22. ed.) 621.3</p><p>Biblioteca Central da UTFPR, Campus Curitiba</p></li><li><p> UNIVERSIDADE TECNOLGICA FEDERAL DO PARAN Cmpus Curitiba </p><p>PROGRAMA DE POS-GRADUAO EM ENGENHARIA ELTRICA E INFORMTICA INDUSTRIAL </p><p>rtn </p><p>11NIVENSIDKJE lECX01041C A F.EXAl D.PNA </p><p>CAMPUS CURITIBA </p><p>Programa de Ps-Graduao em Engenharia Eltrica e Informtica Industrial </p><p>Ttulo da Dissertao N: 590 </p><p>"Mega Harmony Search: Algoritmo de Busca Harmnica Baseado em Populao e Implementado </p><p>em Unidades de Processamento Grfico- por </p><p>Marlon Henrique Scalabrin </p><p>Esta dissertao foi apresentada como requisito parcial obteno do grau de MESTRE EM CINCIAS rea de Concentrao: Engenharia de Computao, pelo Programa de Ps-Graduao em Engenharia Eltrica e Informtica Industrial CPGEI da Universidade Tecnolgica Federal do Paran UTFPR Cmpus Curitiba, s 09h do dia 31 de maro de 2012. O trabalho foi aprovado pela Banca Examinadora, composta pelos professores: </p><p>rof. Heitor SilVrio Lopes, Dr. </p><p>Prof. Wagner Rodrigo Weinert, Dr. (Presidente) (IFPR Cmpus. Paranagu) </p><p>&amp;i </p><p>Prof. Luiz Carlos de Abreu Rodrigues, Dr. (UTFPR) </p><p>Visto da coordenao: ;?. </p><p>Prof. Fbio Kurt Schneider, Dr. (Coordenador do CPGEI) </p><p>Av. Sete de Setembro, 3165 - 80230-901 - Curitiba PR. Tel. +55 (41) 3310 4680 / e-mail: cogei-ct@utfpredu.br/ http://www.cogei.ctutfpredu.br </p></li><li><p>Aos meus pais, Adivoncir e Mairi e aos meus irmaos por toda forca,incentivo e compreensao.</p><p>Ao professor Heitor Silverio Lopes pela atencao e por acreditar em mi-nha capacidade, me ensinando muito alem dos limites deste trabalho.</p><p>Em especial, a` minha noiva Ediane, pelo auxlio no desenvolvimentodo trabalho e por sua atencao e amor, que me motivaram a prosseguir econcluir este trabalho.</p></li><li><p>AGRADECIMENTOS</p><p>A Deus, por me pegar no colo quando minhas pernas nao possuam mais forcas paracontinuar.</p><p>Aos meus pais, pelo amor ilimitado em um mundo em que tudo e quantificavel e limi-tado.</p><p>Aos meus irmaos, que me entendem, me consolam, me dao a direcao, sao minha basee minha melhor cumplicidade.</p><p>Aos meus familiares pelo apoio e palavras de incentivo.</p><p>A` CAPES pela concessao de bolsa de mestrado, indispensavel para a realizacao destadissertacao.</p><p>Ao professor Heitor pela atencao e dedicacao prestadas no decorrer do trabalho e pelaamizade conquistada.</p><p>Aos professores do Programa de Pos-graduacao em Engenharia Eletrica e InformaticaIndustrial e demais funcionarios da Universidade Tecnologica Federal do Parana.</p><p>Aos meus colegas de mestrado, pela amizade conquistada e auxlio despendido sempreque necessario.</p><p>Para meus amigos, pela convivencia, amizade e forca para eu enfrentar quaisquerobstaculos.</p><p>A minha noiva, por me apoiar sempre, consolar, compreender e me aturar nos momen-tos mais difceis, mesmo quando estava com humor pessimo...</p></li><li><p>Tudo acontece na hora certa.Tudo acontece, exatamente quando deve acontecer.(Albert Einstein)</p><p>O que sabemos e uma gota, o que ignoramos e um oceano.(Isaac Newton)</p></li><li><p>RESUMO</p><p>SCALABRIN, Marlon H.. Mega Busca Harmonica: Algoritmo de Busca Harmonica Baseadoem Populacao e Implementado em Unidades de Processamento Grafico. 132 f. Dissertacao Programa de Pos-graduacao em Engenharia Eletrica e Informatica Industrial, UniversidadeTecnologica Federal do Parana UTFPR. Curitiba, 2012.</p><p>Este trabalho propoe uma modificacao da meta-heurstica Busca Harmonica (HS) a partir deuma nova abordagem baseada em populacao, empregando, tambem, algumas estrategias inspi-radas em outras meta-heursticas. Este novo modelo foi implementado utilizando a arquiteturade programacao paralela CUDA em uma GPU. O uso de placas de processamento graficas(GPU) para processamento de proposito geral esta crescendo, e estas tem sido utilizadas pormuitos pesquisadores para processamento cientfico. Seu uso se mostra interessante para meta-heursticas populacionais, podendo realizar muitas operacoes simultaneamente. A HS e umameta-heurstica inspirada no objetivo de um musico em buscar uma harmonia perfeita. Nomodelo proposto incluiu-se uma populacao de harmonias temporarias que sao geradas a cadanova iteracao, permitindo a realizacao simultanea de diversas avaliacoes de funcao. Assimaumenta-se o grau de paralelismo da HS, possibilitando maiores ganhos de velocidade com ouso de arquiteturas paralelas. O novo modelo proposto executado em GPU foi denominadoMega Harmony Search (MHS). Na implementacao em GPU cada passo do algoritmo e tratadoindividualmente em forma de kernels com configuracoes particulares para cada um. Para de-monstrar a eficacia do modelo proposto foram selecionados alguns problemas de benchmark,como a otimizacao de estruturas de protenas, a otimizacao de trelicas e problemas matematicos.Atraves de experimentos fatoriais foi identificado um conjunto de parametros padrao, o qualfoi utilizado nos outros experimentos. As analises realizadas sobre resultados experimentaismostram que o MHS apresentou solucao de qualidade equivalente a` HS e ganhos de veloci-dade, com a sua execucao em GPU, superiores a 60x quando comparado a implementacao emCPU. Em trabalhos futuros poderao ser estudadas novas modificacoes ao algoritmo, como aimplementacao de nichos e estudos de estrategias de interacao entre eles.</p><p>Palavras-chave: Busca Harmonica, Meta-heurstica baseada em Populacao, GPU, CUDA.</p></li><li><p>ABSTRACT</p><p>SCALABRIN, Marlon H.. Mega Harmony Search: Population-Based Harmony Search Al-gorithm Implemented on Graphic Processing Units. 132 p. Dissertacao Programa de Pos-graduacao em Engenharia Eletrica e Informatica Industrial, Universidade Tecnologica Federaldo Parana UTFPR. Curitiba, 2012.</p><p>This work propose a new approach for the metaheuristic Harmonic Search (HS), by using apopulation of solutiona and other strategies inspired in another metaheuristics. This new modelwas implemented using a parallel architecture of a graphical processing unity (GPU). The useof GPU for general-purpose processing is growing, specially for scientific processing. Its use isparticularly interesting for populational metaheuristics, where multiple operations are executedsimultaneously. The HS is a metaheuristic inspired by the way jazz musicians search for a per-fect harmony. In the proposed model a population of temporary harmonies was included. Suchpopulation was generated at each iteration, enabling simultaneous evaluation of the objectivefunction being optimized, and thus, increasing the level of parallelism of HS. The new approachimplemented in GPU was named Mega Harmony Search (MHS), and each step of the algorithmis handled in the form of kernels with particular configurations for each one. To show the ef-ficiency of MHS some benchmark problems were selected for testing, including mathematicaloptimization problems, protein structure prediction, and truss structure optimization. Factorialexperiments were done so as to find the best set of parameters for the MHS. The analyzes car-ried out on the experimental results show that the solutions provided by MHS have comparablequality to those of the simple Harmony Search. However, by using GPU, MHS achieved a spe-edup of 60x, compared with the implementation in regular CPU. Future work will focus otherimprovements in the algorithm, such as the use of niches and species, as well a study of theinteractions between them.</p><p>Keywords: Harmony Search, Population-based meta-heuristic, GPU, CUDA.</p></li><li><p>LISTA DE FIGURAS</p><p>FIGURA 1 Comparativo de desempenho de CPUs e GPUs . . . . . . . . . . . . . . . . . . . . . . . . . 20FIGURA 2 Distribuicao de threads e blocos em uma grade computacional de uma GPU. 22FIGURA 3 Permissoes e escopo de memorias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23FIGURA 4 Analogia entre improviso e otimizacao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27FIGURA 5 Fluxograma da Busca Harmonica. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28FIGURA 6 Trastes no braco de um violao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31FIGURA 7 Estrutura de um aminoacido. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32FIGURA 8 Representacao generica a estrutura de uma protena hipotetica. . . . . . . . . . . . 35FIGURA 9 Geometria inicial da trelica de 10 barras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40FIGURA 10 Geometria inicial da trelica de 200 barras. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41FIGURA 11 Funcao de Griewank. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43FIGURA 12 Funcao de Rosenbrock. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44FIGURA 13 Funcao de Schaffer. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44FIGURA 14 Curva normal. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46FIGURA 15 Distribuicao de threads (T) e blocos (B) no primeiro kernel do processo de</p><p>inicializacao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53FIGURA 16 Distribuicao de threads (T) e blocos (B) no segundo kernel do processo de</p><p>inicializacao. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53FIGURA 17 Distribuicao de threads (T) e blocos (B) no processo de improviso. . . . . . . . 54FIGURA 18 Distribuicao de threads (T) e blocos (B) no processo de atualizacao. . . . . . . 55FIGURA 19 Torneio Estocastico de tamanho 5. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56FIGURA 20 Exemplo do uso de blocos construtivos maiores na HS. . . . . . . . . . . . . . . . . . . 58FIGURA 21 Exemplo do uso harmonia base na HS. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59FIGURA 22 Histograma da qualidade de solucao dos experimentos realizados para o</p><p>dobramento de protenas com 21 aminoacidos. . . . . . . . . . . . . . . . . . . . . . . . . . 65FIGURA 23 Grafico boxplot dos experimentos selecionados para o problema de otimi-</p><p>zacao de trelicas para a instancia de 200 barras. . . . . . . . . . . . . . . . . . . . . . . . . 66FIGURA 24 Curvas de convergencia do problema de dobramento de protenas, 13 ami-</p><p>noacidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68FIGURA 25 Curvas de convergencia do problema de dobramento de protenas, 21 ami-</p><p>noacidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68FIGURA 26 Curvas de convergencia do problema de dobramento de protenas, 34 ami-</p><p>noacidos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69FIGURA 27 Curvas de convergencia do problema de otimizacao estrutural de trelicas,</p><p>10 barras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69FIGURA 28 Curvas de convergencia do problema de otimizacao estrutural de trelicas,</p><p>200 barras . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70FIGURA 29 Curvas de convergencia da funcao de Griewank com 30 dimensoes . . . . . . . 70FIGURA 30 Curvas de convergencia da funcao de Griewank com 50 dimensoes . . . . . . . 71FIGURA 31 Curvas de convergencia da funcao de Rosenbrock com 30 dimensoes . . . . . 71FIGURA 32 Curvas de convergencia da funcao de Rosenbrock com 50 dimensoes . . . . . 72FIGURA 33 Curvas de convergencia da funcao de Schaffer com 30 dimensoes . . . . . . . . 72</p></li><li><p>FIGURA 34 Curvas de convergencia da funcao de Schaffer com 50 dimensoes . . . . . . . . 73FIGURA 35 Speed-ups para diferentes instancias o dobramento de protenas. . . . . . . . . . 74FIGURA 36 Curvas de convergencia para diferentes valores de T S . . . . . . . . . . . . . . . . . . . 75FIGURA 37 Curvas de convergencia para diferentes valores de MBL . . . . . . . . . . . . . . . . . 76FIGURA 38 Curvas de convergencia para diferentes valores de UBHR . . . . . . . . . . . . . . . 77FIGURA 39 Curvas de convergencia para diferentes valores de EXP . . . . . . . . . . . . . . . . . 77FIGURA 40 Curvas de convergencia para diferentes estrategias de autoadaptacao . . . . . . 78</p></li><li><p>LISTA DE TABELAS</p><p>TABELA 1 Instancias do problema de dobramento de protenas AB-2D . . . . . . . . . . . . . . 36TABELA 2 Alguns resultados encontrados na literatura para o problema de dobramento</p><p>de protenas AB-2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37TABELA 3 Grupos de elementos para a trelica de 200 barras . . . . . . . . . . . . . . . . . . . . . . . 42TABELA 4 Parametros utilizados para os experimentos fatoriais com o problema de</p><p>dobramento AB-2D na sequencia de 21 aminoacidos . . . . . . . . . . . . . . . . . . . . 64TABELA 5 Qualidade de solucao dos problemas com o uso das meta-heurstica HS e</p><p>MHS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67TABELA 6 Resumo dos tempos de processamento para cada problema . . . . . . . . . . . . . . 73TABELA 7 Qualidade de solucao e tempo de processamento para diferentes valores de</p><p>T S . . . . ....</p></li></ul>