Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP

Detalhes bibliográficos
Autor(a) principal: Rosa, Mateus Fontoura Gomes da
Data de Publicação: 2016
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/1871
Resumo: Este trabalho propôs a implementação de duas versões de um Algoritmo Genético (AG) utilizando o Modelo de Ilhas. A diferença entre essas duas versões consiste no número de evoluções que cada ilha desempenhou. Cada versão foi então aplicada ao Problema de Roteamento de Veículos (PRV) e paralelizado com OpenMP. O PRV consiste de um problema combinatório, onde um veículo com capacidade limitada precisa atender um número de bairros ou cidades, necessitando retornar a um depósito para reabastecer quando esgotar sua capacidade. A solução do problema consiste em uma trajetória que atenda todas as cidades ou bairros e possua a menor distância total possível. Para solucionar este problema, é utilizado um AG, que consiste em um tipo de Meta-heurística que simula o comportamento evolutivo das espécies. O Modelo de Ilhas consiste de uma variação de AG que utiliza múltiplas populações (ilhas), onde em cada uma dessas populações foi simulado o comportamento evolutivo das espécies. Este AG foi paralelizado utilizando a API (Application Programming Interface) OpenMP. Para analisar o desempenho do AG aplicado ao modelo de ilhas, foram feitas execuções do AG, onde estes testes foram divididos em três momentos. O primeiro verifica o desempenho geral do AG e compara a nova versão, que utiliza a abordagem de ilhas, com a versão convencional do AG. O segundo momento compara a eficiência das execuções realizadas na arquitetura utilizada, verificando quais das duas versões do AG aplicado ao Modelo de Ilhas obteve melhor eficiência computacional. O terceiro momento realiza uma comparação entre as soluções obtidas com o AG com o objetivo de verificar qual das duas versões possui uma melhor qualidade de solução. Após os testes, realizados com as instâncias c50, c100, c120 e c150, obteve-se um ganho de speedup acima de 5 utilizando-se 6 threads em uma arquitetura com 6 núcleos de processamento (cores), obtendo assim um desempenho melhor que os observados nos trabalhos passados, comprovando assim a eficácia do Modelo de Ilhas como uma alternativa para melhorar o desempenho de AG. Também foi verificado que o Modelo de Ilhas permite que o AG encontre soluções de boa qualidade quando comparado as soluções encontradas em trabalhos prévios. Ao comparar as duas Versões da implementação com o Modelo de Ilhas foi possível observar que embora a Versão 2 possua maiores speedups em média e melhores soluções, ela sofre de um aumento significativo em seu tempo de execução, favorecendo assim o uso da Versão 1 da implementação com o Modelo de Ilhas em função da diferença entre ambos em speedup e qualidade de solução não ser tão significativa.
id UNIP_2c02154ff2e93566f789429a87f657e0
oai_identifier_str oai:repositorio.unipampa.edu.br:riu/1871
network_acronym_str UNIP
network_name_str Repositório Institucional da UNIPAMPA
repository_id_str
spelling Cera, Márcia CristinaRosa, Mateus Fontoura Gomes da2017-09-12T20:17:07Z2017-09-12T20:17:07Z2016-11-28ROSA, Mateus Fontoura Gomes da. Melhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP. 61p. 2016. Trabalho de Conclusão do Curso (Graduação em Ciência da Computação) - Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2016.http://dspace.unipampa.edu.br:8080/jspui/handle/riu/1871Este trabalho propôs a implementação de duas versões de um Algoritmo Genético (AG) utilizando o Modelo de Ilhas. A diferença entre essas duas versões consiste no número de evoluções que cada ilha desempenhou. Cada versão foi então aplicada ao Problema de Roteamento de Veículos (PRV) e paralelizado com OpenMP. O PRV consiste de um problema combinatório, onde um veículo com capacidade limitada precisa atender um número de bairros ou cidades, necessitando retornar a um depósito para reabastecer quando esgotar sua capacidade. A solução do problema consiste em uma trajetória que atenda todas as cidades ou bairros e possua a menor distância total possível. Para solucionar este problema, é utilizado um AG, que consiste em um tipo de Meta-heurística que simula o comportamento evolutivo das espécies. O Modelo de Ilhas consiste de uma variação de AG que utiliza múltiplas populações (ilhas), onde em cada uma dessas populações foi simulado o comportamento evolutivo das espécies. Este AG foi paralelizado utilizando a API (Application Programming Interface) OpenMP. Para analisar o desempenho do AG aplicado ao modelo de ilhas, foram feitas execuções do AG, onde estes testes foram divididos em três momentos. O primeiro verifica o desempenho geral do AG e compara a nova versão, que utiliza a abordagem de ilhas, com a versão convencional do AG. O segundo momento compara a eficiência das execuções realizadas na arquitetura utilizada, verificando quais das duas versões do AG aplicado ao Modelo de Ilhas obteve melhor eficiência computacional. O terceiro momento realiza uma comparação entre as soluções obtidas com o AG com o objetivo de verificar qual das duas versões possui uma melhor qualidade de solução. Após os testes, realizados com as instâncias c50, c100, c120 e c150, obteve-se um ganho de speedup acima de 5 utilizando-se 6 threads em uma arquitetura com 6 núcleos de processamento (cores), obtendo assim um desempenho melhor que os observados nos trabalhos passados, comprovando assim a eficácia do Modelo de Ilhas como uma alternativa para melhorar o desempenho de AG. Também foi verificado que o Modelo de Ilhas permite que o AG encontre soluções de boa qualidade quando comparado as soluções encontradas em trabalhos prévios. Ao comparar as duas Versões da implementação com o Modelo de Ilhas foi possível observar que embora a Versão 2 possua maiores speedups em média e melhores soluções, ela sofre de um aumento significativo em seu tempo de execução, favorecendo assim o uso da Versão 1 da implementação com o Modelo de Ilhas em função da diferença entre ambos em speedup e qualidade de solução não ser tão significativa.This work proposes two versions of a implementation using the Island Model of a Genetic Algorithm(GA). The difference between these two versions consist on the number of evolutions each island will perform. Each version is then applied to the Vehicle Routing Problem (VRP) and parallelized with OpenMP. The VRP is a combinatorial problem, where a vehicle with limited capacity must supply a number of neighborhoods or cities, requiring a return to the deposit to replenish when its capacity is exhausted. The solution of the problem is a path that meets all cities or neighborhoods and has the smallest total distance possible. To solve this problem, a GA is used, which consists on a type of metaheuristic that simulates the evolutionary behavior that each species go through. The Island Model is a variation of GA that utilizes multiple populations (islands), where on each one of these populations the species evolutionary behavior will be simulated. This GA is parallelized using the API (Application Interface) OpenMP. To the performance of the GA executions of the GA will be tested, where these tests will be divided in three moments. The first moment tests the overall performance of the GA and compares the new versions, one that uses the Island Model, and the conventional version of the GA. The second moment compares the efficiency of the executions realized on the architecture that is utilized, verifying which of the two versions of the GA applied to the Island Model obtained the best computational efficiency. The third moment realizes a comparison between the solutions obtained with the GA to better observe which of the two versions obtained a better quality of solution. After the tests, realized with the instances c50, c100, c120 and c150 a gain on speedup higher than 5 was obtained when 6 threads were used on an architecture with 6 processing cores , resulting on a higher performance when compared to past works, thus proving the efficiency of the Island Model as an alternative to increae the performance of the GA. Additionally, it was possible to verify that the Island Model allows the GA to reach solutions of good quality when compared to solutions obtained on previous works. Also, when comparing both versions of the Island Model it was possible to observe that while the Version 2 has better speedups on average and reaches better solutions, it suffers from a significant increase on the execution times, thus favoring the use of the Version 1, since their differences on speedup and quality of solution are not significant.porUniversidade Federal do PampaUNIPAMPABrasilCampus AlegreteCNPQ::CIENCIAS EXATAS E DA TERRAAlgoritmos genéticosProblema de roteamento de veículosParalelizaçãoOpenMPGenetic algorithmsVehicle routing problemParallelizationMelhorando o desempenho de um algoritmo genético paralelizado com OpenMPinfo:eu-repo/semantics/publishedVersioninfo:eu-repo/semantics/bachelorThesisinfo:eu-repo/semantics/openAccessreponame:Repositório Institucional da UNIPAMPAinstname:Universidade Federal do Pampa (UNIPAMPA)instacron:UNIPAMPAORIGINALMelhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP.pdfMelhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP.pdfapplication/pdf1451356https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1871/1/Melhorando%20o%20Desempenho%20de%20um%20Algoritmo%20Gen%c3%a9tico%20Paralelizado%20com%20OpenMP.pdf621dc2e8e1fad3b43ea94f83cd1f3debMD51LICENSElicense.txtlicense.txttext/plain; charset=utf-81866https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1871/2/license.txt43cd690d6a359e86c1fe3d5b7cba0c9bMD52TEXTMelhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP.pdf.txtMelhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP.pdf.txtExtracted texttext/plain80569https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1871/3/Melhorando%20o%20Desempenho%20de%20um%20Algoritmo%20Gen%c3%a9tico%20Paralelizado%20com%20OpenMP.pdf.txt0465ab7ec4175b9a9c7cbdae541c7b0fMD53riu/18712018-10-17 14:32:57.537oai:repositorio.unipampa.edu.br:riu/1871TElDRU7Dh0EgREUgRElTVFJJQlVJw4fDg08gTsODTy1FWENMVVNJVkEKCkNvbSBhIGFwcmVzZW50YcOnw6NvIGRlc3RhIGxpY2Vuw6dhLCB2b2PDqiAobyBhdXRvciAoZXMpIG91IG8gdGl0dWxhciBkb3MgZGlyZWl0b3MgZGUgYXV0b3IpIGNvbmNlZGUgYW8gUmVwb3NpdMOzcmlvIApJbnN0aXR1Y2lvbmFsIG8gZGlyZWl0byBuw6NvLWV4Y2x1c2l2byBkZSByZXByb2R1emlyLCAgdHJhZHV6aXIgKGNvbmZvcm1lIGRlZmluaWRvIGFiYWl4byksIGUvb3UgZGlzdHJpYnVpciBhIApzdWEgcHVibGljYcOnw6NvIChpbmNsdWluZG8gbyByZXN1bW8pIHBvciB0b2RvIG8gbXVuZG8gbm8gZm9ybWF0byBpbXByZXNzbyBlIGVsZXRyw7RuaWNvIGUgZW0gcXVhbHF1ZXIgbWVpbywgaW5jbHVpbmRvIG9zIApmb3JtYXRvcyDDoXVkaW8gb3UgdsOtZGVvLgoKVm9jw6ogY29uY29yZGEgcXVlIG8gRGVwb3NpdGEgcG9kZSwgc2VtIGFsdGVyYXIgbyBjb250ZcO6ZG8sIHRyYW5zcG9yIGEgc3VhIHB1YmxpY2HDp8OjbyBwYXJhIHF1YWxxdWVyIG1laW8gb3UgZm9ybWF0byAKcGFyYSBmaW5zIGRlIHByZXNlcnZhw6fDo28uCgpWb2PDqiB0YW1iw6ltIGNvbmNvcmRhIHF1ZSBvIERlcG9zaXRhIHBvZGUgbWFudGVyIG1haXMgZGUgdW1hIGPDs3BpYSBkZSBzdWEgcHVibGljYcOnw6NvIHBhcmEgZmlucyBkZSBzZWd1cmFuw6dhLCBiYWNrLXVwIAplIHByZXNlcnZhw6fDo28uCgpWb2PDqiBkZWNsYXJhIHF1ZSBhIHN1YSBwdWJsaWNhw6fDo28gw6kgb3JpZ2luYWwgZSBxdWUgdm9jw6ogdGVtIG8gcG9kZXIgZGUgY29uY2VkZXIgb3MgZGlyZWl0b3MgY29udGlkb3MgbmVzdGEgbGljZW7Dp2EuIApWb2PDqiB0YW1iw6ltIGRlY2xhcmEgcXVlIG8gZGVww7NzaXRvIGRhIHN1YSBwdWJsaWNhw6fDo28gbsOjbywgcXVlIHNlamEgZGUgc2V1IGNvbmhlY2ltZW50bywgaW5mcmluZ2UgZGlyZWl0b3MgYXV0b3JhaXMgCmRlIG5pbmd1w6ltLgoKQ2FzbyBhIHN1YSBwdWJsaWNhw6fDo28gY29udGVuaGEgbWF0ZXJpYWwgcXVlIHZvY8OqIG7Do28gcG9zc3VpIGEgdGl0dWxhcmlkYWRlIGRvcyBkaXJlaXRvcyBhdXRvcmFpcywgdm9jw6ogZGVjbGFyYSBxdWUgCm9idGV2ZSBhIHBlcm1pc3PDo28gaXJyZXN0cml0YSBkbyBkZXRlbnRvciBkb3MgZGlyZWl0b3MgYXV0b3JhaXMgcGFyYSBjb25jZWRlciBhbyBEZXBvc2l0YSBvcyBkaXJlaXRvcyBhcHJlc2VudGFkb3MgCm5lc3RhIGxpY2Vuw6dhLCBlIHF1ZSBlc3NlIG1hdGVyaWFsIGRlIHByb3ByaWVkYWRlIGRlIHRlcmNlaXJvcyBlc3TDoSBjbGFyYW1lbnRlIGlkZW50aWZpY2FkbyBlIHJlY29uaGVjaWRvIG5vIHRleHRvIApvdSBubyBjb250ZcO6ZG8gZGEgcHVibGljYcOnw6NvIG9yYSBkZXBvc2l0YWRhLgoKQ0FTTyBBIFBVQkxJQ0HDh8ODTyBPUkEgREVQT1NJVEFEQSBURU5IQSBTSURPIFJFU1VMVEFETyBERSBVTSBQQVRST0PDjU5JTyBPVSBBUE9JTyBERSBVTUEgQUfDik5DSUEgREUgRk9NRU5UTyBPVSBPVVRSTyAKT1JHQU5JU01PLCBWT0PDiiBERUNMQVJBIFFVRSBSRVNQRUlUT1UgVE9ET1MgRSBRVUFJU1FVRVIgRElSRUlUT1MgREUgUkVWSVPDg08gQ09NTyBUQU1Cw4lNIEFTIERFTUFJUyBPQlJJR0HDh8OVRVMgCkVYSUdJREFTIFBPUiBDT05UUkFUTyBPVSBBQ09SRE8uCgpPIERlcG9zaXRhIHNlIGNvbXByb21ldGUgYSBpZGVudGlmaWNhciBjbGFyYW1lbnRlIG8gc2V1IG5vbWUgKHMpIG91IG8ocykgbm9tZShzKSBkbyhzKSBkZXRlbnRvcihlcykgZG9zIGRpcmVpdG9zIAphdXRvcmFpcyBkYSBwdWJsaWNhw6fDo28sIGUgbsOjbyBmYXLDoSBxdWFscXVlciBhbHRlcmHDp8OjbywgYWzDqW0gZGFxdWVsYXMgY29uY2VkaWRhcyBwb3IgZXN0YSBsaWNlbsOnYS4KRepositório InstitucionalPUBhttp://dspace.unipampa.edu.br:8080/oai/requestsisbi@unipampa.edu.bropendoar:2018-10-17T17:32:57Repositório Institucional da UNIPAMPA - Universidade Federal do Pampa (UNIPAMPA)false
dc.title.pt_BR.fl_str_mv Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
title Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
spellingShingle Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
Rosa, Mateus Fontoura Gomes da
CNPQ::CIENCIAS EXATAS E DA TERRA
Algoritmos genéticos
Problema de roteamento de veículos
Paralelização
OpenMP
Genetic algorithms
Vehicle routing problem
Parallelization
title_short Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
title_full Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
title_fullStr Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
title_full_unstemmed Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
title_sort Melhorando o desempenho de um algoritmo genético paralelizado com OpenMP
author Rosa, Mateus Fontoura Gomes da
author_facet Rosa, Mateus Fontoura Gomes da
author_role author
dc.contributor.advisor1.fl_str_mv Cera, Márcia Cristina
dc.contributor.author.fl_str_mv Rosa, Mateus Fontoura Gomes da
contributor_str_mv Cera, Márcia Cristina
dc.subject.cnpq.fl_str_mv CNPQ::CIENCIAS EXATAS E DA TERRA
topic CNPQ::CIENCIAS EXATAS E DA TERRA
Algoritmos genéticos
Problema de roteamento de veículos
Paralelização
OpenMP
Genetic algorithms
Vehicle routing problem
Parallelization
dc.subject.por.fl_str_mv Algoritmos genéticos
Problema de roteamento de veículos
Paralelização
OpenMP
Genetic algorithms
Vehicle routing problem
Parallelization
description Este trabalho propôs a implementação de duas versões de um Algoritmo Genético (AG) utilizando o Modelo de Ilhas. A diferença entre essas duas versões consiste no número de evoluções que cada ilha desempenhou. Cada versão foi então aplicada ao Problema de Roteamento de Veículos (PRV) e paralelizado com OpenMP. O PRV consiste de um problema combinatório, onde um veículo com capacidade limitada precisa atender um número de bairros ou cidades, necessitando retornar a um depósito para reabastecer quando esgotar sua capacidade. A solução do problema consiste em uma trajetória que atenda todas as cidades ou bairros e possua a menor distância total possível. Para solucionar este problema, é utilizado um AG, que consiste em um tipo de Meta-heurística que simula o comportamento evolutivo das espécies. O Modelo de Ilhas consiste de uma variação de AG que utiliza múltiplas populações (ilhas), onde em cada uma dessas populações foi simulado o comportamento evolutivo das espécies. Este AG foi paralelizado utilizando a API (Application Programming Interface) OpenMP. Para analisar o desempenho do AG aplicado ao modelo de ilhas, foram feitas execuções do AG, onde estes testes foram divididos em três momentos. O primeiro verifica o desempenho geral do AG e compara a nova versão, que utiliza a abordagem de ilhas, com a versão convencional do AG. O segundo momento compara a eficiência das execuções realizadas na arquitetura utilizada, verificando quais das duas versões do AG aplicado ao Modelo de Ilhas obteve melhor eficiência computacional. O terceiro momento realiza uma comparação entre as soluções obtidas com o AG com o objetivo de verificar qual das duas versões possui uma melhor qualidade de solução. Após os testes, realizados com as instâncias c50, c100, c120 e c150, obteve-se um ganho de speedup acima de 5 utilizando-se 6 threads em uma arquitetura com 6 núcleos de processamento (cores), obtendo assim um desempenho melhor que os observados nos trabalhos passados, comprovando assim a eficácia do Modelo de Ilhas como uma alternativa para melhorar o desempenho de AG. Também foi verificado que o Modelo de Ilhas permite que o AG encontre soluções de boa qualidade quando comparado as soluções encontradas em trabalhos prévios. Ao comparar as duas Versões da implementação com o Modelo de Ilhas foi possível observar que embora a Versão 2 possua maiores speedups em média e melhores soluções, ela sofre de um aumento significativo em seu tempo de execução, favorecendo assim o uso da Versão 1 da implementação com o Modelo de Ilhas em função da diferença entre ambos em speedup e qualidade de solução não ser tão significativa.
publishDate 2016
dc.date.issued.fl_str_mv 2016-11-28
dc.date.accessioned.fl_str_mv 2017-09-12T20:17:07Z
dc.date.available.fl_str_mv 2017-09-12T20:17:07Z
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 ROSA, Mateus Fontoura Gomes da. Melhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP. 61p. 2016. Trabalho de Conclusão do Curso (Graduação em Ciência da Computação) - Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2016.
dc.identifier.uri.fl_str_mv http://dspace.unipampa.edu.br:8080/jspui/handle/riu/1871
identifier_str_mv ROSA, Mateus Fontoura Gomes da. Melhorando o Desempenho de um Algoritmo Genético Paralelizado com OpenMP. 61p. 2016. Trabalho de Conclusão do Curso (Graduação em Ciência da Computação) - Universidade Federal do Pampa, Campus Alegrete, Alegrete, 2016.
url http://dspace.unipampa.edu.br:8080/jspui/handle/riu/1871
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/1871/1/Melhorando%20o%20Desempenho%20de%20um%20Algoritmo%20Gen%c3%a9tico%20Paralelizado%20com%20OpenMP.pdf
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1871/2/license.txt
https://repositorio.unipampa.edu.br/jspui/bitstream/riu/1871/3/Melhorando%20o%20Desempenho%20de%20um%20Algoritmo%20Gen%c3%a9tico%20Paralelizado%20com%20OpenMP.pdf.txt
bitstream.checksum.fl_str_mv 621dc2e8e1fad3b43ea94f83cd1f3deb
43cd690d6a359e86c1fe3d5b7cba0c9b
0465ab7ec4175b9a9c7cbdae541c7b0f
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_ 1801849072797089792