OTIMIZAÇÃO FUNÇÕES UTILIZANDO ALGORITMOS GENÉTICOS NO APLICATIVO MS EXCEL RESUMO INTRODUÇÃO

Documentos relacionados
O USO DE ALGORITMOS GENÉTICOS NA RESOLUÇÃO DE PROBLEMAS DE PROGRAMAÇÃO LINEAR RESUMO INTRODUÇÃO

Algoritmo Genético. Inteligência Artificial. Professor: Rosalvo Ferreira de Oliveira Neto

Algoritmos Genéticos. Estéfane G. M. de Lacerda DCA/UFRN Outubro/2008

3. Resolução de problemas por meio de busca

Inteligência Artificial. Algoritmos Genéticos. Aula I Introdução

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Algoritmos Genéticos. Princípio de Seleção Natural. Sub-áreas da Computação Evolutiva. Idéias básicas da CE. Computação Evolutiva

Técnicas de Inteligência Artificial

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

Técnicas de Inteligência Artificial

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Introdução aos Algoritmos Genéticos

Inteligência Artificial

3 Algoritmos Genéticos

Tópicos Especiais em Informática Fatec Indaiatuba

Computação Evolutiva Eduardo do Valle Simões Renato Tinós ICMC - USP

Computação Evolutiva. Computação Evolutiva. Principais Tópicos. Evolução natural. Introdução. Evolução natural

Max Pereira. Inteligência Artificial

Algoritmos Genéticos

Codificação das variáveis: binária Iniciação da população: aleatória Avaliação: função aptidão Operadores. Critério de parada: número de gerações

Algoritmos Genéticos. Texto base: Stuart Russel e Peter Norving - Inteligência Artificial

Inteligência Artificial

3 Algoritmos Genéticos

Modelos Evolucionários e Tratamento de Incertezas

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

Métodos de Busca. Inteligência Artificial. Algoritmos Genéticos. Algoritmos Evolucionários. Prof. Ms. Luiz Alberto Contato:

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

INSTITUTO DE PÓS GRADUAÇÃO ICPG GESTÃO DA TECNOLOGIA DA INFORMAÇÃO

11/1/2012. Agenda. Classe de problemas de interesse. Busca Local. Busca Local. Exemplo de Espaço de Estados

INF 1771 Inteligência Artificial

Aprendizado Evolutivo: Introdução aos Algoritmos Genéticos

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

Computação Evolutiva. Prof. Eduardo R. Hruschka (Slides baseados nos originais do Prof. André C. P. L. F. de Carvalho)

Algoritmos Genéticos. 1 Semestre de Cleber Zanchettin UFPE - Universidade Federal de Pernambuco CIn - Centro de Informática

Algoritmos Genéticos como Ferramenta de Suporte à Decisão no Planejamento de Produção de um Lacticínio

1. Computação Evolutiva

Otimização. Unidade 6: Algoritmo Genético. Jaime Arturo Ramírez. 7. Teoria do processo evolutivo num GA. 8. Aspectos avançados

Inteligência Artificial

Algoritmos Genéticos. Pontos fracos dos métodos tradicionais. Características de alguns problemas. Tamanho do espaço de busca- Ex. caixeiro viajante:

Estratégias Evolutivas EEs. Prof. Juan Moisés Mauricio Villanueva

Algoritmos Genéticos

4 Métodos Existentes. 4.1 Algoritmo Genético

UNIVERSIDADE TECNOLÓGICA FEDERAL DO PARANÁ ALGORITMOS GENÉTICOS. Metaheurísticas de Buscas

Prof. Marco Aurélio C. Pacheco. 1. Problema 2. Representação 3. Decodificação 4. Avaliação 5. Operadores 6. Técnicas 7. Parâmetros

GAs são indicados em problemas complexos de otimização- onde se busca uma solução melhor:

INTRODUÇÃO À INTELIGÊNCIA COMPUTACIONAL. Aula 06 Prof. Vitor Hugo Ferreira

CTC-17 Inteligência Artificial Busca Competitiva e Busca Iterativa. Prof. Paulo André Castro

ALGORITMOS GENÉTICOS. Adair Santa Catarina Curso de Ciência da Computação Unioeste Campus de Cascavel PR

4 Metáforas de Optimização

GA Conceitos Básicos. Capítulo 3 Prof. Ricardo Linden

APLICAÇÃO DE ALGORITMOS BIO-INSPIRADOS EM CONTROLE ÓTIMO

Problema do vendedor: uma abordagem via algoritmos genéticos

4 Implementação Computacional

Algoritmos Genéticos

Algoritmos Genéticos. Luis Martí LIRA/DEE/PUC-Rio. Algoritmos Genéticos

3 Computação Evolucionária

Figura 3.1: Fluxograma do algoritmo da Programação Genética.

Agentes Adaptativos. Introdução

INF 1771 Inteligência Artificial

3 Otimização Evolucionária de Problemas com Restrição

Metahuerísticas: Algoritmos Genéticos. Sistemas de Informação/Ciências da Computação UNISUL Aran Bey Tcholakian Morales, Dr. Eng.

Problema de Satisfação de Restrições

Problema de Satisfação de Restrições. Problema de Satisfação de Restrições. Grafo de restrições. Exemplo: 4 Rainhas como um PSR

Estrutura comum dos AEs Seleção

3 Métodos de Otimização

IF-705 Automação Inteligente Algoritmos Evolucionários

Implementação De Um Algoritmo Genético Codificado Para A Solução do Problema do Caixeiro Viajante

Inteligência Computacional Aplicada. O que é Inteligência Computacional? Áreas de Aplicação Algoritmos Genéticos

Pesquisa Operacional Aplicada à Mineração

IMPLEMENTAÇÃO E RESOLUÇÃO DE MODELOS MATEMÁTICOS UTILIZANDO A PLANILHA EXCEL

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Introdução a Algoritmos Genéticos

COMPOSIÇÃO DE UMA CARTEIRA DE AÇÕES COM RISCO MÍNIMO E RETORNO ESPECIFICADO: UM ESTUDO UTILIZANDO ALGORITMO GENÉTICO E A FUNÇÃO SOLVER

CAP 254 CAP 254. Otimização Combinatória. Professor: Dr. L.A.N. Lorena. Assunto: Metaheurísticas Antonio Augusto Chaves

Algoritmos Evolutivos para Otimização

3 Otimização Aplicada a Reconstituição de Acidentes

Otimização. Algoritmos Genéticos. Teoria da Evolução. Otimização

ESTUDO DO EFEITO DOS PARÂMETROS GENÉTICOS DE UM ALGORITMO GENÉTICO NA SOLUÇÃO OTIMIZADA E NO TEMPO DE CONVERGÊNCIA EM UMA FUNÇÃO DE DUAS VARIÁVEIS

Algoritmos genéticos Abordagem unificada de algoritmos evolutivos simples

Aplicação de algoritmos genéticos. Problema da Mochila (knapsack problem)

5 Modelo Kernel PCA Genético para Ajuste de Histórico

Computação Evolutiva Parte 2

Otimização com Algoritmos Genéticos no MATLAB. Prof. Rafael Saraiva Campos CEFET-RJ

OTIMIZAÇÃO DA LIMPEZA DE REDES DE TROCADORES DE CALOR EMPREGANDO OS ALGORITMOS GENÉTICOS

Computação Evolutiva. Aula 4 Usando AEs Prof. Tiago A. E. Ferreira

SOLUÇÕES HEURÍSTICAS PARA O JOGO DE DAMAS

Sistemas Inteligentes if684. Germano Vasconcelos Página da Disciplina:

Créditos. Introdução a Sistemas Inteligentes. Agenda Introdução Breve Histórico. Introdução. Introdução aos Algoritmos Evolutivos

Algoritmos Evolutivos Canônicos

1. Computação Evolutiva

3. ALGORITMOS GENÉTICOS

INF 1771 Inteligência Artificial

Planejamento Hidrotérmico Utilizando Algoritmos Genéticos

Estrutura comum dos AEs

Optimização Não-linear

Algoritmos Genéticos 1

Breve Avaliação de Parâmetros básicos de Algoritmos Genéticos

3. ALGORITMOS GENÉTICOS

FORECASTING OF EUCALYPTUS WOOD PRICES FOR CELLULOSE AND SAWMILL USING RADIAL BASIS FUNCTION NEURAL NETWORK AND CLUSTERING METHOD

Transcrição:

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.