You are on page 1of 15

# DEVELOPMENT OF A HEURISTIC TYPE "GENERATE AND TEST", PARALLEL AND RANDOM, TO OPTIMIZE FUNCTIONS IN GPU Henrique Fagundes Gasparoto

Luiz Otávio Saraiva Ferreira henrique.gasparoto@gmail.com lotavio@fem.unicamp.br Department of Computational Mechanics, Faculty of Mechanical Engineering, University of Campinas-UNICAMP, 13083970, Campinas, SP, Brazil. Abstract. In solution of several problems it is often necessary optimize functions fetching its minimum or maximum. When these objective functions are continuous, differentiable, without the existence of a large amount of local maximums and local minimums (unimodal), unrestricted, the resolution of the problem is more common, where you can use the analytical methods, and numeric efficient methods to find local critical points. However, in problems which objective function is too irregular, highly discontinuous, restricted and combinatorial, heuristics techniques can be properly applied. In these heuristics techniques, there are methods of brute force, rarely used by the high cost computing, since it required an enormous amount of evaluations about the objective function, to achieve results trustworthy and accurate. In line with recent advances in graphics processing unit (GPU) that enable parallel processing in programming interfaces of general purpose, this present paper presents the implementation of an algorithm capable of evaluating, simultaneously, a huge amount of points of a function, chosen randomly, in order to find the minimum and maximum. To choose points randomly of function domain, an array of number is generated based on Farey series. The characteristic of the process that makes the appropriate method to parallel processing is the possibility of independent evaluation of the domain points. Keywords: Optimization, GPGPU, Parallel programming, Computational heuristic, Pseudorandom number

cujos denominadores não excedam ao termo N.A seguir cada passo do método será descrito com maiores detalhes.1]. A série FN de Farey é o conjunto de todas as frações cujos resultados estão compreendidos entre 0 e 1. criada por Lester R.. 1996).1 A geração de números pseudo-aleatórios Os números pseudo-aleatórios serão obtidos a partir da construção de uma série de Farey (Conway et al. 3. no intervalo [0. temos a série de Farey F6 na Fig. em ordem crescente. 4 ilustra uma belíssima correspondência geométrica para a série F7 de Farey. apresentado na Fig. 1996)..“Árvore” de Stern-Brocot No lado esquerdo da Fig. Figura 3 . 1994). 2. Para termos uma idéia da distribuição dos números da série de Farey. denominado a ordem da série.. sem repetição de valores. 3 encontramos as frações da árvore que compõem as séries de Farey. Ford (Conway et al. buscando esclarecer as principais idéias que nortearão a construção do algoritmo.Série de Farey F6 As séries de Farey também podem ser compreendidas e geradas com base num formato conhecido como a “árvore” de Stern-Brocot (Graham et al. Figura 2 . a Fig. 2. . Como exemplo.

gerando assim um subconjunto do domínio . para os propósitos do método gerar-e-testar a ordem N da série de Farey deverá ser suficientemente grande para que a quantidade de números tomados do domínio possibilite o encontro de um ponto ótimo satisfatório. n projeções da mesma série de Farey podem ser realizadas sobre os n domínios. deve ser encontrada. A Fig. . Como visto no tópico anterior.Círculos de Ford Nesta figura podemos observar os chamados círculos de Ford. estão compreendidos entre 0 e 1. são pontos da série F7 de Farey. 5 mostra a projeção de n elementos compreendidos entre 0 e 1 sobre um domínio compreendido entre 0 e 100. Figura 5 . gerando um subconjunto imagem.2 A escolha aleatória dos pontos no domínio De posse da série de Farey é possível escolher os n elementos do domínio dado . Os pontos do eixo horizontal. Obviamente. 2.Projeção da Série de Farey sobre o domínio Sendo a função-objetivo dependente de n variáveis. o conjunto de números pertencentes à série de Farey. uma proporcionalidade entre a série de Farey e o domínio dado.para que nestes elementos se avalie a função. Para a geração do subconjunto domínio. que tangencia os círculos de Ford.Figura 4 .