Otimização de funções utilizando algoritmos genéticos no aplicativo MS
Excel
Miquéias Augusto Ferreira Nantes
Aluno do curso de Matemática – Licenciatura da Universidade Anhanguera – Uniderp CEP: 79003-010 –
Campo Grande, MS
[email protected] m
Celso Correia de Souza1 , José Francisco dos Reis Neto2
1
Professor dos Programas de Mestrados em Meio A mb iente e Desenvolvimento Regional e em Produção e
Gestão Agroindustrial da Universidade Anhanguera – Uniderp. 2 Professor do Curso de Admin istração da
Universidade Anhanguera - Un iderp.
csouza939@g mail.co m; [email protected]
RESUMO
Problemas de otimização de funções 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 definida e 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 [2].
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 a exigência da derivada da função [3].
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 o 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 [2].
Cada iteração dos Algoritmos Genéticos corresponde à aplicação de um conjunto de quatro
operações básicas: cálculo de aptidão (avaliar população); seleção; cruzamento e mutação. Ao fim
destas operações cria-se uma nova população, chamada de geração que, espera-se, representa uma
melhor aproximação da solução do problema que a população anterior [1].
Os critérios para a parada podem ser vários, desde o número de gerações já criadas até o grau
de convergência da população (por convergência entende-se o grau de proximidade da avaliação de
cada indivíduo da população). O grau de convergência é característica das populações dos
Algoritmos Genéticos, e diz respeito à diferença entre a média de adaptação da geração atual e
suas anteriores [3].
Este trabalho de pesquisa teve como objetivo 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.
O problema minimizado foi uma função não-linear de duas variáveis x e y no domínio de
busca considerado (Eq. 1).
2
(Eq. 1)
Min F ( y, x)  x 2  y 2  3x  4 y  26
 0  x  10
.
0  y  20
Sujeita a: 
1103
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 correspondentes valores
aptidões
das
.
Nas duas primeiras colunas foram geradas duas populações aleatórias para x e para y, em
seguida, na terceira e na quarta coluna, os números decimais foram transformados em códigos
binários, depois os valores das populações de x e de y foram colocados dentro de intervalo para
serem substituídas na função. Como o problema é de mínimo ( Fmin ), calculou-se na última coluna
do Quadro 1 os valores de 1 / F , para a aplicação do algoritmo de maximização, para que fossem
usadas as planilhas já formatadas. Após dezoito iterações, feitas em planilhas MS Excel, o algoritmo
convergiu para o ótimo da função (Eq. 1), obtendo-se x *  3, y *  4 e Fmax  0,0385 . No Quadro 2
estão representados somente 4 elementos após a convergência, mesmo porque todas as 20 linhas são
perfeitamente iguais, caracterizando a convergência.
Legenda: População( X, Y): são as melhores encontradas num espaço de busca entre 0 à 500; Código Binário: as populações foram
transformadas em números binários para aplicação do algoritmo genético; Intervalo: os intervalos de x e de y são os que nos interessa
para serem substituídos na função F( x, y): é o resultado mínimo com os valores do intervalo substituídos na função
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. 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
.
Palavra chave: Otimização não linear, Algoritmo Genético, MS Excel
REFERÊNCIAS
[1] 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.
[2] R, Linden. “Algoritmos genéticos” Rio de Janeiro: Brasport, 2008.
[3] G. V. R, Viana. “Metas-heuristicas e programação paralela em otimização combinatória”,
Fortaleza: EUFC, 1998.
1104
1105
Download

Otimização de uma função não linear com duas variáveis utilizando