Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados

Detalhes bibliográficos
Autor(a) principal: Lucca, Natiele
Data de Publicação: 2019
Tipo de documento: Trabalho de conclusão de curso
Idioma: por
Título da fonte: Repositório Institucional da UNIPAMPA
Texto Completo: http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4789
Resumo: Algoritmos de otimização buscam resolver problemas complexos. Uma estratégia para modelar algoritmicamente um problema é utilizar conceitos de computação natural, também conhecida como computação bio-inspirada. Os algoritmos bio-inspirados simulam a capacidade de aprendizado ou adaptação de um grupo de indivíduos inteligentes submetidos a um ambiente complexo e assim otimizam uma solução inicial com o objetivo de encontrar soluções ótimas. Dessa forma, neste trabalho é proposto uma biblioteca open source bio-inspirada e paralela. Constituem essa biblioteca os algoritmos Artificial Bee Colony (Colônia Artificial de Abelhas - ABC), Ant Colony Optimization (Otimização por Colônia de Formigas - ACO) e Particle Swarm Optimization (Otimização por Enxame de Partículas - PSO), desenvolvidos na linguagem de programação C++. O trabalho testa diretivas de execução paralela e vetorial, comparando o desempenho das diretivas individualmente e combinadas. A diretiva de execução vetorial obteve o maior número de testes com ganho de desempenho, sendo essa diretiva aplicada nos algoritmos selecionados para a biblioteca. Após a implementação paralela, os algoritmos foram submetidos às funções clássicas de teste Alpine, Booth, Easom, Griewank, Rastrigin, Rosenbrock e Sphere, sendo aplicados a uma população de 10 até 100 agentes. Os resultados obtidos mostraram que as versões sequencial e paralela obtiveram a mesma solução média e que para pelo menos um teste de população todas as funções obtiveram ganho de desempenho. Com isso, comprovou-se que a versão paralela dos algoritmos desenvolvidos mantém a qualidade da solução e reduz o tempo de execução.
id UNIP_205180f70ecf28fe65826645beaa05f5
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/4789
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Schepke, ClaudioLucca, Natiele2020-02-26T17:35:08Z2020-02-26T17:35:08Z2019-11-25LUCCA, Natiele. Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados. Orientador: Claudio Schepke. 2019. 85 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4789Algoritmos de otimização buscam resolver problemas complexos. Uma estratégia para modelar algoritmicamente um problema é utilizar conceitos de computação natural, também conhecida como computação bio-inspirada. Os algoritmos bio-inspirados simulam a capacidade de aprendizado ou adaptação de um grupo de indivíduos inteligentes submetidos a um ambiente complexo e assim otimizam uma solução inicial com o objetivo de encontrar soluções ótimas. Dessa forma, neste trabalho é proposto uma biblioteca open source bio-inspirada e paralela. Constituem essa biblioteca os algoritmos Artificial Bee Colony (Colônia Artificial de Abelhas - ABC), Ant Colony Optimization (Otimização por Colônia de Formigas - ACO) e Particle Swarm Optimization (Otimização por Enxame de Partículas - PSO), desenvolvidos na linguagem de programação C++. O trabalho testa diretivas de execução paralela e vetorial, comparando o desempenho das diretivas individualmente e combinadas. A diretiva de execução vetorial obteve o maior número de testes com ganho de desempenho, sendo essa diretiva aplicada nos algoritmos selecionados para a biblioteca. Após a implementação paralela, os algoritmos foram submetidos às funções clássicas de teste Alpine, Booth, Easom, Griewank, Rastrigin, Rosenbrock e Sphere, sendo aplicados a uma população de 10 até 100 agentes. Os resultados obtidos mostraram que as versões sequencial e paralela obtiveram a mesma solução média e que para pelo menos um teste de população todas as funções obtiveram ganho de desempenho. Com isso, comprovou-se que a versão paralela dos algoritmos desenvolvidos mantém a qualidade da solução e reduz o tempo de execução.Optimization algorithms seeks to resolve complex problems. A strategy to algorithmically model a problem is to use concepts of Natural Computing, also known as Bio-inspired Computing. Bio-inspired algorithms simulate the ability of learn or adapt a smart group of individuals subjected to a complex environment and thus optimize initial solution in order to find optimal solutions in a polynomial time. In this way, this work proposes an open source, bio-inspired, and parallel library. This library is composed by Artificial Bee Colony (ABC), Ant Colony Optimization (ACO) and Particle Swarm Optimization (PSO) algorithms developed in C++ programming language. The OpenMP API was used for the parallelization of algorithms. The work tests parallel and vectorization directives execution by comparing the performance of individual and combined directives. The vectorization directive execution obtained the highest number of tests with performance gain. This directive was applied to the selected algorithms of the library. After the parallel implementation, the algorithms were submitted to the classic test functions Alpine, Booth, Easom, Griewank, Rastrigin, Rosenbrock and Sphere, being applied to a population of 10 to 100 agents. The results showed that the sequential and parallel versions obtained the same average solution and that, for at least one population test, all functions obtained performance gains. With this, we prove that the parallel version of the developed algorithms maintains the quality of the solution and reduces the execution time.porUniversidade Federal do PampaUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRACiência da computaçãoAlgoritmosBibliotecaOpenMPOtimizaçãoArtificial Bee ColonyAnt Colony OptimizationParticle Swarm OptimizationComputer scienceAlgorithmsLibraryUso de operações SIMD em uma biblioteca de algoritmos bio-inspiradosinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALNatiele Lucca - 2019.pdfNatiele Lucca - 2019.pdfapplication/pdf1597876https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4789/1/Natiele%20Lucca%20-%202019.pdf51077d78edd9eb892583b227e549c0aaMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81866https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4789/2/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD52TEXTNatiele Lucca - 2019.pdf.txtNatiele Lucca - 2019.pdf.txtExtracted texttext/plain122479https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4789/3/Natiele%20Lucca%20-%202019.pdf.txtc693cd34d28e478994848cd3343c7f69MD53riu/47892020-02-27 03:03:53.488oai:repositorio.unipampa.edu.br:riu/4789TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2020-02-27T06:03:53Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)false
dc.title.pt_BR.fl_str_mv Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
title Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
spellingShingle Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
Lucca, Natiele
CNPQ::CIENCIAS EXATAS E DA TERRA
Ciência da computação
Algoritmos
Biblioteca
OpenMP
Otimização
Artificial Bee Colony
Ant Colony Optimization
Particle Swarm Optimization
Computer science
Algorithms
Library
title_short Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
title_full Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
title_fullStr Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
title_full_unstemmed Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
title_sort Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados
author Lucca, Natiele
author_facet Lucca, Natiele
author_role author
dc.contributor.advisor1.fl_str_mv Schepke, Claudio
dc.contributor.author.fl_str_mv Lucca, Natiele
contributor_str_mv Schepke, Claudio
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA
topic CNPQ::CIENCIAS EXATAS E DA TERRA
Ciência da computação
Algoritmos
Biblioteca
OpenMP
Otimização
Artificial Bee Colony
Ant Colony Optimization
Particle Swarm Optimization
Computer science
Algorithms
Library
dc.subject.por.fl_str_mv Ciência da computação
Algoritmos
Biblioteca
OpenMP
Otimização
Artificial Bee Colony
Ant Colony Optimization
Particle Swarm Optimization
Computer science
Algorithms
Library
description Algoritmos de otimização buscam resolver problemas complexos. Uma estratégia para modelar algoritmicamente um problema é utilizar conceitos de computação natural, também conhecida como computação bio-inspirada. Os algoritmos bio-inspirados simulam a capacidade de aprendizado ou adaptação de um grupo de indivíduos inteligentes submetidos a um ambiente complexo e assim otimizam uma solução inicial com o objetivo de encontrar soluções ótimas. Dessa forma, neste trabalho é proposto uma biblioteca open source bio-inspirada e paralela. Constituem essa biblioteca os algoritmos Artificial Bee Colony (Colônia Artificial de Abelhas - ABC), Ant Colony Optimization (Otimização por Colônia de Formigas - ACO) e Particle Swarm Optimization (Otimização por Enxame de Partículas - PSO), desenvolvidos na linguagem de programação C++. O trabalho testa diretivas de execução paralela e vetorial, comparando o desempenho das diretivas individualmente e combinadas. A diretiva de execução vetorial obteve o maior número de testes com ganho de desempenho, sendo essa diretiva aplicada nos algoritmos selecionados para a biblioteca. Após a implementação paralela, os algoritmos foram submetidos às funções clássicas de teste Alpine, Booth, Easom, Griewank, Rastrigin, Rosenbrock e Sphere, sendo aplicados a uma população de 10 até 100 agentes. Os resultados obtidos mostraram que as versões sequencial e paralela obtiveram a mesma solução média e que para pelo menos um teste de população todas as funções obtiveram ganho de desempenho. Com isso, comprovou-se que a versão paralela dos algoritmos desenvolvidos mantém a qualidade da solução e reduz o tempo de execução.
publishDate 2019
dc.date.issued.fl_str_mv 2019-11-25
dc.date.accessioned.fl_str_mv 2020-02-26T17:35:08Z
dc.date.available.fl_str_mv 2020-02-26T17:35:08Z
dc.type.status.fl_str_mv info:eu-repo/semantics/publishedVersion
dc.type.driver.fl_str_mv info:eu-repo/semantics/bachelorThesis
format bachelorThesis
status_str publishedVersion
dc.identifier.citation.fl_str_mv LUCCA, Natiele. Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados. Orientador: Claudio Schepke. 2019. 85 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.
dc.identifier.uri.fl_str_mv http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4789
identifier_str_mv LUCCA, Natiele. Uso de operações SIMD em uma biblioteca de algoritmos bio-inspirados. Orientador: Claudio Schepke. 2019. 85 p. Trabalho de Conclusão de Curso (Bacharel em Ciência da Computação) - Universidade Federal do Pampa, Curso de Ciência da Computação, Alegrete, 2019.
url http://dspace.unipampa.edu.br:8080/jspui/handle/riu/4789
dc.language.iso.fl_str_mv por
language por
dc.rights.driver.fl_str_mv info:eu-repo/semantics/openAccess
eu_rights_str_mv openAccess
dc.publisher.none.fl_str_mv Universidade Federal do Pampa
dc.publisher.initials.fl_str_mv UNIPAMPA
dc.publisher.country.fl_str_mv Brasil
dc.publisher.department.fl_str_mv Campus Alegrete
publisher.none.fl_str_mv Universidade Federal do Pampa
dc.source.none.fl_str_mv reponame:Repositório Institucional da UNIPAMPA
instname:Universidade Federal do Pampa (UNIPAMPA)
instacron:UNIPAMPA
instname_str Universidade Federal do Pampa (UNIPAMPA)
instacron_str UNIPAMPA
institution UNIPAMPA
reponame_str Repositório Institucional da UNIPAMPA
collection Repositório Institucional da UNIPAMPA
bitstream.url.fl_str_mv https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4789/1/Natiele%20Lucca%20-%202019.pdf
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4789/2/license.txt
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/4789/3/Natiele%20Lucca%20-%202019.pdf.txt
bitstream.checksum.fl_str_mv 51077d78edd9eb892583b227e549c0aa
43cd690d6a359e86c1fe3d5b7cba0c9b
c693cd34d28e478994848cd3343c7f69
bitstream.checksumAlgorithm.fl_str_mv MD5
MD5
MD5
repository.name.fl_str_mv Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)
repository.mail.fl_str_mv sisbi@unipampa.edu.br
_version_ 1797224992618840064