OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL Miquéias Augusto Ferreira Nantes 1, Douglas Peixoto de Carvalho 1 (Alunos do Curso de Matemática da Universidade Anhanguera - Uniderp) Celso Correia de Souza e José Francisco dos Reis Neto 2 (Orientadores: Professores da Universidade Anhanguera - Uniderp) RESUMO Problemas de otimização de funções (máximo/mínimo), são bastante conhecidos e estudados intensivamente em cursos de graduação, na disciplina de Cálculo Diferencial. Para a aplicação do Cálculo Diferencial na otimização de uma função, é necessário que a mesma seja derivável no espaço de busca, o que nem sempre é possível assegurar. Existem vários métodos iterativos na literatura para a resolução desse problema, mas a maioria deles está atrelado à derivada da função. A técnica dos Algoritmos Genéticos, modelo matemático pertencente às metas-heurísticas, é eficiente na busca de soluções otimizadas, ou aproximadamente ótimas, numa grande variedade de problemas, dado que não possuem as diversas das limitações encontradas nos métodos tradicionais de busca, como essa exigência da derivada da função. O objetivo desse trabalho foi o de otimizar uma função de duas variáveis utilizando Algoritmos Genéticos na sua implementação. Os resultados foram considerados bons visto que se conseguiu o ótimo da função sem passar pela derivabilidade da mesma. INTRODUÇÃO A otimização visa determinar a melhor configuração de projeto de um dado sistema sem ter que testar todas as possibilidades. Em síntese, pode-se dizer que otimização é o processo de ajuste de características de um dado processo, matemático ou experimental, para se encontrar o valor máximo ou mínimo da função associada ao referido processo, que represente seu desempenho, obedecendo a todas as restrições impostas. Otimização liga-se à matemática através da investigação dos máximos e mínimos locais de funções. Isto é, dos "valores estacionários da função" (que ocorrem quando a derivada se anula) se quisermos utilizar a linguagem apropriada do Cálculo Diferencial (GUIDORIZZI, 2001; LEITHOLD, 1994). Acontece que nem sempre o "ótimo" sai de pronto, num único cálculo. É necessário um processo sistemático de busca. Um procedimento iterativo de cálculos que, passo a passo, de candidato a candidato, permita-nos ir melhorando a seleção. Até que o ótimo seja encontrado, ou até que estejamos satisfeitos. Estamos, portanto, falando de algoritmos. A construção de bons algoritmos é a principal vocação da otimização. Algoritmos Genéticos são algoritmos de busca estocásticos que têm desenvolvimento e funcionamento vinculados à genética, em que todas as novas espécies são produzidas por meio de uma seleção natural em que os mais aptos sobrevivem, gerando descendentes. Cada individuo na população representa uma possível solução para um dado problema, o que o Algoritmo Genético faz é buscar aquela solução que seja muito boa ou a melhor do problema, analisado através da criação de população de indivíduos cada vez mais aptos, levando à otimização da função (GOLDBARG.e PACCA, 2000). Otimizar funções sujeitas a restrições em seu conjunto de busca, com o auxílio dos Algoritmos Genéticos na forma binária, com a utilização do aplicativo MS Excel.
MATERIAL E MÉTODOS Na forma analógica, a implementação dos Algoritmos Genéticos parte de uma população indivíduos gerados aleatoriamente (configurações iniciais de um problema), realiza-se a avaliação de cada um (em relação a função objetiva), seleciona os mais aptos e promove os manipuladores ou operadores genéticos como cruzamento e mutação, originando novas gerações de indivíduos. Cada individuo na população representa uma possível solução para um dado problema, o que o AG faz é buscar aquela solução que seja muito boa ou a melhor do problema analisado através da criação de população de indivíduos cada vez mais aptos levando à otimização da função objetiva. A aplicação dos Algoritmos Genéticos consta dos seguintes passos (LINDEN, 2008; VIANNA, 1998): a) Escolha da População - a inicialização da população é feita da forma mais simples possível, fazendo-se uma escolha aleatória independente para cada individuo da população inicial ou por processo heurístico, isto é, simplesmente escolher n indivíduos dentro do espaço de busca. Essa técnica permite gerar uma boa distribuição, cobrindo um espaço maior no espaço de busca, sem interessar se são boas soluções ou não, assim como na natureza, para haver evolução é necessário diversidade. b) Avaliação - a função de avaliação, ou função objetiva, é utilizada para determinar a qualidade de um individuo como solução do problema, ou seja, é uma forma de mensurar quão aptos estão os indivíduos da população. A função de avaliação deve refletir os objetivos a serem alcançados na resolução de um problema e é derivada diretamente das condições impostas pelo problema; c) Seleção - a seleção dos indivíduos da população deve simular o mecanismo de seleção natural, sobrevivência dos mais fortes, em que os pais mais aptos geram mais filhos. O algoritmo permite, também, que alguns indivíduos menos aptos gerem filhos, garantindo a diversidade entre os indivíduos melhores e os piores. Se apenas os melhores indivíduos se reproduzirem a população tenderá a ser cada vez mais semelhante, não ocorrendo à evolução. Há diversas formas de seleção dos indivíduos reprodutores, entre elas foi usada neste trabalho o método da Roleta Viciada que emprega o principio da probabilidade de sobrevivência do mais apto, ou seja, que possui a melhor função objetiva associada. Assim, os indivíduos com alta aptidão recebem uma proporção maior na roleta e os indivíduos com baixa aptidão uma porção relativamente menor na roleta. O ato de rodar a roleta deve ser completamente aleatório, podendo ser simulado escolhendo-se um número aleatório r no intervalo [0, 1] e comparar seu valor com a probabilidade acumulada q, considerando q 0 0. Assim, se qi 1 r qi deve-se selecionar o individuo x i. d) Elitismo - visa preservar os melhores cromossomos de uma geração para outra sem alterações, garantindo sempre melhor solução encontrada em qualquer uma das gerações será mantida até o final do processo. Geralmente usa-se nos Algoritmos Genéticos uma taxa de elitismo de 30% do total de indivíduos gerados. A principal vantagem deste método é que a convergência é garantida, isto é, se o máximo global for descoberto, o Algoritmo Genético converge para esse máximo, entretanto, da mesma forma existe o risco da estagnação em um máximo local. e) Cruzamento - o cruzamento ou crossover é em processo de recombinação de partes das seqüências de caracteres entre pares de cromossomos, com o objetivo de gerar nova descendência. Esta troca de material genético garante a recombinação da população, possibilitando, assim, uma probabilidade maior de produzir indivíduos mais evoluídos que seus pais. No cruzamento é usual atribuir um percentual PX de indivíduos para i
cruzamentos, na faixa de 25% a 75% da população. Existem muitos tipos de cruzamento, serão apresentados os mais comuns: f) Mutação - este operador é responsável pela introdução e manutenção da diversidade genética na população. O operador de mutação inverte os valores de bits, ou seja, muda o valor de dado bit de 1 para 0 ou de 0 para 1, com o objetivo de tentar regenerar algum individuo que possa ter sido eliminado de forma inesperada. Para que uma determinada população não sofra muitas alterações, esta operação é processada para um pequeno percentual PM de seus elementos, em torno de 1% de todos os genes. Após as operações de cruzamento e mutação, com a obtenção de uma nova população, que deve ser avaliada nos novos pontos do espaço de busca. Espera-se que os novos valores da função sejam melhores do que o anterior, atingindo umas precisão desejada. Se a solução atual não satisfizer a precisão adotada, repetem-se os passos anteriores para a nova população gerada. RESULTADOS E DISCUSSÃO O problema a ser minimizado foi uma função não-linear de duas variáveis no domínio de busca considerado (Eq. 1). 2 2 2 Min F( x, y) x y (3x 4y 26) (Eq. 1) s / a 0 0 x y 10 20 A entrada de dados (população inicial) constou de 20 indivíduos dispostos em uma planilha Excel (Quadro 1). Quadro 1: População inicial em x e y, os seus correspondentes binários e os valores das aptidões. Nas duas primeiras colunas foram geradas duas populações aleatórias para x e para y, em seguida, na terceira e na quarta colunas, os números decimais foram transformados
em códigos binários, depois se obteve os valores das populações de x e de y dentro de intervalo de busca, (Eq.1), para serem substituídas na função. Como o problema é de mínimo calculou-se, na última coluna do Quadro 1, os valores de 1/F(x,y), para que se pudesse aplicar o algoritmo de maximização desenvolvido no referencial teórico.. Após dezoito iterações, feitas em planilhas MS Excel, o algoritmo convergiu para o ótimo da função (Eq. 1), obtendo-se os valores x= 3 e y = 4 e 1/F(3,4) = 26, o valor mínimo. No Quadro 2 estão representados somente 4 elementos após a convergência, mesmo porque todas as 20 linhas são perfeitamente iguais (convergência). Quadro 2: População final x e y ótima após a convergência em 18 iteraçãoes. CONCLUSÕES Os Algoritmos Genéticos podem ser aplicados em uma série de problemas de difíceis otimizações, quando não existe nenhuma outra técnica especifica para resolver o problema, pois o seu custo computacional é alto, principalmente quando implementado no MS Excel. Assim, pode-se citar: otimização de funções numéricas em geral (de uma ou mais variáveis); otimização combinatória tais como o problema do caixeiro viajante, o problema clássico da mochila e o problema de empacotamento; alocação de recursos; e aprendizado de máquina. REFERÊNCIAS BIBLIOGRÁFICAS GOLDBARG, M. C. e PACCA, H. L. L. Otimização Combinatória e Programação Linear: Modelos e Algoritmos. Rio de Janeiro: Editora Campus, 2000. GUIDORIZZI, H.: Um Curso de Cálculo (4 volumes). LTC, 2001. LEITHOLD, L.: O Cálculo com Geometria Analítica (2 volumes). Harbra, 1994 LINDEN, R. Algoritmos genéticos. Rio de Janeiro: Brasport, 2008. VIANA, G. V. R,. Metas-heuristicas e programação paralela em otimização combinatória, Fortaleza: EUFC, 1998.
This document was created with Win2PDF available at http://www.win2pdf.com. The unregistered version of Win2PDF is for evaluation or non-commercial use only.