You are on page 1of 145

Programa de Ps-Graduao em Engenharia Eltrica

Centro de Pesquisa e Desenvolvimento em Engenharia Eltrica

Escola de Engenharia da Universidade Federal de Minas Gerais

Algoritmos Genticos: Estudo,


Novas Tcnicas e Aplicaes

Autor: Gustavo Lus Soares

Orientador: Professor Joo Antnio de Vasconcelos

Belo Horizonte, 11 de junho de 1997


Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

A meus pais (Geraldo e Elani) e

minha noiva (Cristiana),

pelo carinho, incentivo e compreenso

nos momentos mais difceis.

II
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Agradecimentos

Ao longo deste trabalho, vrias pessoas cruzaram o meu caminho e, muitas


delas, de formas diferentes, contriburam para a realizao de minha dissertao.
Infelizmente, nenhum tipo de agradecimento suficientemente expressivo para
demonstrar meu real reconhecimento. todas as pessoas que me ajudaram, fica
aqui o meu muito obrigado. No entanto, algumas merecem um pouco mais de
destaque.

Aos familiares que sempre me apoiaram. De modo especial: ao meu irmo


Gilberto Soares, pelas muitas vezes priorizou meu trabalho com relao s suas
atividades; prima Juliana Vieira, pelas tarefas em casa e; prima Roslia Campos
pela correo do texto da dissertao (verso um pouco anterior a que foi entregue
banca examinadora).

Aos amigos do CPDEE, pelo convvio e por compartilharem de meus problemas.


De modo especial: aos colegas Carsten Ritter e Marcelo Barros, por correes e
sugestes na dissertao; ao aluno Marcus Miranda, pelo auxlio na confeco de
textos em ingls; ao aluno de iniciao Adriano Vilela e aluna de mestrado Simone
Viana, pela ajuda na verificao das aplicaes; ao grande amigo Andr Lomnaco
que, nos mais diversos momentos, contribuiu significafivamente.

Ao professor Renato Mesquita, por sua prontido no esclarecimento das mais


distintas dvidas.

Ao meu orientador professor Joo Antnio de Vasconcelos, pela ajuda na escolha


do tema de dissertao e tambm pelo auxlio tcnico oferecido durante a execuo
deste trabalho.

Ao CNPq, pelo financiamento.

III
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Resumo

Esta dissertao tem, como tema principal, estudar os Algoritmos Genticos


(GAs), analisando numericamente seu desempenho perante algumas tcnicas j
existentes e outras novas. Como parte secundria, os GAs foram utilizados na
resoluo de problemas reais. A dissertao foi dividida em seis captulos e trs
apndices, os quais tero, a seguir, uma breve descrio.

O Captulo 1 descreve os algoritmos de otimizao em geral, a estrutura bsica


de um GA e como est dividida a pesquisa em relao aos GAs. Tambm, neste
captulo, so introduzidas algumas definies de termos tcnicos pertinentes ao
algoritmo. O Captulo 2 tem como objetivo demonstrar como o GA trabalha, ou seja,
como ele guiado por regras de probabilidade para a regio onde se encontra a
soluo. O Captulo 3 trata teoricamente de tcnicas que influem na melhoria da
performance dos Algoritmos Genticos. Vrios mtodos so descritos e outros
novos so introduzidos. Em relao aos mtodos introduzidos, prope-se uma nova
forma de executar o cruzamento para o cdigo binrio (seo 3.7), um novo critrio
de adaptao das probabilidades de operadores genticos (seo 3.11) e o
mecanismo de reduo de intervalo (seo 3.17). J no Captulo 4, feita a anlise
numrica de algumas tcnicas e procedimentos descritos no Captulo 3. No Captulo
5, ilustra-se a ao dos GAs atravs da aplicao a problemas de otimizao de
corrente induzidas. Finalmente, o Captulo 6 traz as concluses.

Os apndices vieram para complementar o texto. O Apndice A mostra exemplos


de trs reas de aplicao dos GAs. O Apndice B descreve o tempo de
processamento durante as fases experimentais (Captulos 4 e 5). O Apndice C lista
softwares de GAs que so distribudos gratuitamente na Internet.

IV
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Abstract

This master thesis has, as its main topic, the study of Genetic Algorithm (GA),
verifying its performance in comparison to other established and new techniques. As
a secondary theme, the optimization algorithm was used for solving real problems.
The work was divided into six chapters and three appendixes, which are briefly
described bellow.

Chapter One describes generally the existent optimization algorithms, the basic
structure of the GA and the state of art on this method. In this chapter are also
introduced some technical definitions related to the algorithm. Chapter Two aims at
demonstrating how the GA works, i.e. how it is probabilisticaly guided into the region
where the solution is. Chapter Three approaches theoreticaly some techniques that
act on the improvement of Genetic Algorithm performance. Many methods are
described and some new others are introduced. In relation of introduced methods, it
is showed a new procedure to carry out the crossover to binary code (section 3.7), a
new type of the adaptation of genetic operators probabilities (section 3.11) and the
mecanism of reduction of domain (section 3.17). In Chapter Four, an experimental
analysis of some procedures and techniques described in Chapter Three is carried
out. In Chapter Five, the GA is effectivelly employed in eddy currents problem
optimization. Finally, conclusions are made in Chapter Six.

The appendixes complement the text. The Appendix A shows examples of three
areas of application of GAs. The Appendix B describes the processing time during
the experimental stages (Chapters Four and Five). The Appendix C lists the GA
freeware softwares available in the Internet.

V
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Simbologia

a Coeficiente angular da reta (utilizado no escalonamento Linear), parmetro


geomtrico (utilizado nas aplicaes 1, 2 e 3)
b Coeficiente linear da reta (utilizado no escalonamento Linear), parmetro
geomtrico (utilizado nas aplicaes 1, 2 e 3)
b[i] Vetor que contm o indivduo binariamente codificado
ES Execues com sucesso
CEVI Cruzamento Entre Vrios Indivduos
C, c Indica valor constante
Cmax Constante utilizada na transformao de problemas de minimizao em
maximizao
Cmin Constante utilizada para evitar a negatividade da funo objetivo
Cn Expresso matemtica (utilizada nas aplicaes 2 e 3)
CPV Cruzamento Por Varivel
CX Cycle Crossover
d Espessura da placa condutora (utilizada na aplicao 1)
di j Funo que mede a distncia entre dois indivduos (utilizada na funo de
partilha)
DF Adaptao dinmica Dentro da Faixa
DS Deterministic Sampling
ERO Edge Recombination Operator
f Desempenho ou aptido, freqncia
FF Adaptao dinmica Fora da Faixa
ff(X) Funo objetivo
f(H) Desempenho mdio das instncias de um esquema H
fi Desempenho ou aptido do indivduo i
f max Melhor valor de desempenho numa dada gerao
f med Mdia dos valores de desempenho numa dada gerao
Fn Expresso matemtica (utilizada nas aplicaes 2 e 3)
f s, i Desempenho aparente medido a partir da funo de partilha (sharing function)
em relao ao indivduo i
f Maior valor de desempenho entre os dois indivduos participantes de um
cruzamento (utilizado na formulao da adaptao PI), valor do desempenho f
depois do escalonamento
fmax Valor mximo dos desempenhos aps o escalonamento Linear
fmed Valor mdio dos desempenhos aps o escalonamento Linear
f(x) Funo desempenho
G Valor do intervalo do SSGA
GA Genetic Algorithm
G[i] Vetor que contm indivduo codificado no cdigo Gray
gj(x) Denota o conjunto de funes de restrio de desigualdade
H Um dado esquema
hk(x) Denota o conjunto de funes de restrio de igualdade
I Corrente, valor rms da corrente
i Indicador de indivduo, varivel, outros
Io Intervalo inicial
In Intervalo na n-sima reduo, uma das funes de Bessel Modificada
J Densidade de corrente
j Taxa de reduo de intervalo, notao complexa, indicador de indivduo

VI
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

J1 Funo de Bessel do tipo 1


k Nmero de alelos de um cdigo, nmero de indivduos, varivel de integrao
kc Parmetro usado na adaptao FF relativo a pc quando mdgVmim ou mdg Vmax
km Parmetro usado na adaptao FF relativo a pm quando mdgVmim ou mdg Vmax
Kn Uma das funes de Bessel Modificada
k1 Parmetro usado na adaptao PI acoplada formulao de pc quando ff med
k2 Parmetro usado na adaptao PI acoplada formulao de pm quando ff med
k3 Parmetro usado na adaptao PI acoplada formulao de pc quando f<fmed
k4 Parmetro usado na adaptao PI acoplada formulao de pm quando f<fmed
L Comprimento total da cadeia de caracteres de um indivduo
Comprimento do cromossomo
s Comprimento de definio de dado esquema
m Nmero de representantes um esquema
MES Mdia de Execues com Sucesso
MCF Mdia de Clculos de Funo
m(H,t) Nmero de representantes de um esquema H na t-sima gerao
mdg Medidor de diversidade gentica, corresponde a fmed/fmax
n Indica quantidade ou iterao como: nmero de certa gerao, nmero de
variveis, nmero da reduo de intervalo, nmero de pontos de corte num
cruzamento
NCF Nmero de Clculos de Funo
npop, n_pop Nmero de indivduos da populao
ns Nmero estimado de esquemas processados durante a gerao inicial
n-pontos Cruzamento com n pontos de corte
n_calcs Nmero de clculos de funo
o(H) Ordem de um esquema H
OX Order Crossover
pc Probabilidade de cruzamento
pcmax Probabilidade de cruzamento mxima utilizada no critrio de adaptao DF
pcmin Probabilidade de cruzamento mnima utilizada no critrio de adaptao DF
pd Probabilidade de destruio
PI Adaptao dinmica Por Indivduo
pinv Probabilidade de inverso
pm Probabilidade de mutao
pmmax Probabilidade de mutao mxima utilizada no critrio de adaptao DF
pmmin Probabilidade de mutao mnima utilizada no critrio de adaptao DF
PMX Partially Matched Crossover
pr Preciso ou resoluo do espao de procura (por varivel)
ps Probabilidade de sobrevivncia com valor constante
ps Probabilidade de sobrevivncia
psel Probabilidade de seleo
pswap Probabilidade de mutao (utilizada em problemas de arranjos e permutao)
P(X) Funo de penalidade
qn Constante utilizada nas aplicaes 2 e 3
r Parmetro usado nos mtodos de penalidade
RGA Replacement Genetic Algorithm
s(d) Funo de partilha (sharing function) na formao de nichos calculada a partir
da funo de distncia di j
SGA Simple Genetic Algorithm
SRS Stochastic Remainder Sampling
SSGA Steady State Genetic Algorithm
SSS1 Simple Subpopulation Schemes - tipo 1
SSS2 Simple Subpopulation Schemes - tipo 2
SUS Stochastic Universal Sampling
T Indica o nmero da gerao corrente (utilizada para calcular as on-line e off-line
performances)
t Nmero de certa gerao, tempo
TSP Travelling Salesman Problem
ui Corresponde ao valor mdio da funo de partilha (sharing function) relativa ao

VII
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

indivduo i
Videal Valor ideal de diversidade (utilizado na adaptao DF)
Vmax Valor mximo de diversidade (utilizado nas adaptaes DF e FF)
Vmin Valor mnimo de diversidade (utilizado nas adaptaes DF e FF)
X Expressa o vetor indivduo
x Valor da on-line performance numa dada gerao
x* Valor da off-line performance numa dada gerao
xi Varivel i de um dado indivduo
xmin Limite inferior do intervalo de procura de uma varivel xi
xmax Limite superior do intervalo de procura de uma varivel xi
z Parmetro geomtrico utilizado na aplicao 1
1ponto Cruzamento com 1 ponto de corte
2pontos Cruzamento com dois pontos de corte
Constante de exponenciao das power law functions
Largura de faixa (utilizada para encontrar a melhor faixa de escalonamentos
Sigma e Linear)
(H) Comprimento de definio de um esquema H
Erro da norma euclidiana (utilizado para verificar se a soluo est na regio do
ponto global), constante positiva (utilizada para transformao de um problema
de minimizao em outro de maximizao pelo mtodo da inverso da funo
objetivo)
ngulo (utilizado nas aplicaes)
(X,r) Funo pseudo-objetivo (avaliada para o vetor soluo X e o parmetro de
penalidade r)
Permeabilidade de um dado material
o Permeabilidade do vcuo
Freqncia angular
Condutividade, desvio padro
Resistividade de um dado material
* Representa os valores 0 ou 1 num esquema
% Representa os valores 0, 1 ou * num esquema
f Soma de todos os desempenhos de populao para uma dada gerao

VIII
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

ndice

1. Introduo aos Algoritmos Genticos.............................................................................. 4


1.1 Introduo ............................................................................................................... 4
1.2 Tcnicas de Procura................................................................................................ 5
1.3 Analogia de Mecanismos de Seleo Natural com Sistemas Artificiais..................... 8
1.4 Um Algoritmo Gentico Simples............................................................................. 10
1.5 Avaliando o SGA ................................................................................................... 16
1.6 Pesquisa sobre GAs .............................................................................................. 17
1.7 Concluso ............................................................................................................. 18
2. Teoria do Processo Evolutivo num GA.......................................................................... 20
2.1 Introduo ............................................................................................................. 20
2.2 Hiptese dos Blocos de Construo....................................................................... 21
2.3 Teorema Fundamental dos Algoritmos Genticos .................................................. 22
2.4 Validao do Teorema Fundamental dos GAs ....................................................... 25
2.5 Paralelismo Implcito.............................................................................................. 27
2.6 Esquemas - Viso Geomtrica............................................................................... 29
2.7 Concluso ............................................................................................................. 30
3. Tcnicas, Mecanismos e Parmetros Utilizados pelos GAs........................................... 31
3.1 Introduo ............................................................................................................. 31
3.2 Transformao do Problema de Otimizao na Forma Adequada a Ao dos GAs 31
3.2.1 Introduzindo Restries .................................................................................. 32
3.2.2 Evitando a Negatividade da Funo Desempenho .......................................... 33
3.2.3 Transformando um Problema de Minimizao em Maximizao...................... 35
3.3 Sistemas de Representao .................................................................................. 37
3.4 Mapeando Variveis .............................................................................................. 40
3.5 Parmetros dos GAs ............................................................................................. 41
3.6 A Mutao ............................................................................................................. 43
3.7 Mtodos de Cruzamento........................................................................................ 45
3.8 A Inverso ............................................................................................................. 50
3.9 Mtodos de Seleo .............................................................................................. 51
3.10 Escalonando a Populao ..................................................................................... 52
3.11 Variao Dinmica das Probabilidades dos Operadores Cruzamento e Mutao ... 55
3.12 Critrios de Convergncia...................................................................................... 59
3.13 Medindo o Desempenho dos GAs.......................................................................... 61
3.14 Tipos Diferentes de GAs........................................................................................ 62
3.15 Tcnicas Hbridas .................................................................................................. 64
3.16 Formao de Nichos e de Subpopulaes ............................................................. 66
3.17 Reduo do Espao de Procura ............................................................................ 71
3.18 Concluso ............................................................................................................. 74
4. Anlise Numrica de Algumas Tcnicas Genticas....................................................... 75
4.1 Introduo ............................................................................................................. 75
4.2 Melhorando o Desempenho dos GAs..................................................................... 76
4.2.1 Funes Teste................................................................................................ 76
4.2.2 Testando Mtodos Bsicos............................................................................. 80
4.2.3 Outras Tcnicas.............................................................................................. 93
4.3 Resultados de Alguns Pesquisadores .................................................................. 100
4.3.1 Resultados de Spears quanto Formao de Nicho..................................... 101
4.3.2 Resultados de Oliver & Outros quanto aos Cruzamentos de Permutao...... 104

2
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

4.3.3 Anlise de De Jong & Spears sobre a Interao entre Tipo de Cruzamento e
Tamanho da Populao.............................................................................................. 105
4.4 Concluso ........................................................................................................... 108
5. Aplicaes .................................................................................................................. 110
5.1 Introduo ........................................................................................................... 110
5.2 Aplicaes a Problemas de Correntes Induzidas.................................................. 110
5.2.1 Correntes Induzidas numa Superfcie Plana Devido a uma Corrente numa
Espira Paralela Superfcie........................................................................................ 111
5.2.2 Correntes Induzidas numa Casca Cilndrica Devido a uma Corrente num
Filamento Paralelo Interno ao Cilindro ........................................................................ 113
5.2.3 Correntes Induzidas numa Casca Cilndrica Devido a uma Corrente num
Filamento Paralelo Externo ao Cilindro ....................................................................... 116
5.3 Validao dos Resultados Obtidos....................................................................... 119
5.4 Concluso ........................................................................................................... 122
6. Concluso .................................................................................................................. 124
7. Apndice A: Algumas Aplicaes que Utilizam GAs .................................................... 129
8. Apndice B: Tempo Computacional ............................................................................ 131
9. Apndice C: Softwares de GAs................................................................................... 133
10. Bibliografia .............................................................................................................. 135

3
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

1. Introduo aos Algoritmos


Genticos

1.1 Introduo

Este sculo foi marcado por muitas transformaes, sejam elas culturais,
polticas, econmicas ou tecnolgicas. A economia dominada atualmente pelas
multinacionais. Esse domnio se deve ao fato de elas conseguirem que seus
produtos sejam competitivos em qualquer parte do planeta. A concorrncia
empresarial trouxe consigo a preocupao em encontrar solues que conduzam a
um melhor aproveitamento dos recursos, menores custos, e alto desempenho, entre
outros. Muitas vezes, o fator experincia suficiente na resoluo destes problemas.
No entanto, solucionar problemas mais complicados pode no ser tarefa fcil. Neste
contexto, surge a otimizao.

O conceito de otimizao est bem identificado como um mecanismo de anlise


de decises complexas, envolvendo seleo de valores para variveis, com o
simples objetivo de quantificar performance e medir a qualidade das decises. A
inteno encontrar a melhor soluo, respeitando, se necessrio, restries de
viabilidade imposta aos parmetros do problema.

Devido dificuldade em se descobrir todas as interaes entre variveis e entre


variveis e restries, somente em poucas situaes se consegue representar
completamente um problema real. Desta forma, a formulao para um problema real
de otimizao geralmente no passa de uma boa aproximao. Para que se possa
construir uma aproximao razovel, itens como conhecimento terico e experincia
em modelamento so requeridos para capturar os elementos essenciais do
problema. Outro item importante o bom julgamento na interpretao dos
resultados, o qual indispensvel para obter concluses significativas. Satisfeitos
esses quesitos, a otimizao considerada como ferramenta fundamental para
anlise de problemas reais.

4
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Em se tratando de problemas complexos, nem sempre os mtodos de procura


encontram realmente a melhor soluo. Existem mtodos variados, e cada um deles
mais adequado a uma determinada classe de problemas. Um procedimento para
escolha do mtodo consiste em realizar um amplo estudo sobre algoritmos de
otimizao, verificando-se, principalmente, a caracterstica de atingir mais vezes a
soluo global por nmero de execues. Esse um fator de medida da
potencialidade dos algoritmos e, entre os mtodos mais eficazes, encontram-se os
Algoritmos Genticos.

Os Algoritmos Genticos so aplicados como uma tcnica de procura e vem


ganhando popularidade com inmeros trabalhos de pesquisadores em aplicaes
diversas. Em [25] so mostradas vrios trabalhos, de reas diferentes, em que os
GAs tm sido empregados com eficcia. O Apndice A mostra algumas aplicaes
recentes.

1.2 Tcnicas de Procura

Uma das maiores preocupaes num projeto de um algoritmo de otimizao a


robustez, que o balano entre eficincia (rapidez), eficcia (convergncia para
soluo global) e a fcil adaptao a problemas em geral. Se um mtodo
considerado robusto, sua soluo mais confivel e, provavelmente, o custo de
reprojeto para adaptar o mtodo a novas situaes reduzido ou at mesmo nulo.

Apesar da individualidade de cada algoritmo, existem algumas semelhanas que


motivam a formao de grupos. Na literatura, os trs conjuntos principais de
mtodos de procura so os Determinsticos, Enumerativos e Estocsticos. A Figura
1-1 mostra como se subdividem os algoritmos.

Sem Clculo de Coordenadas Cclicas [1], Rosenbrock [1] e


Derivadas [41], outros.
Mtodos Com Clculo de Newton, Steepest Descent [1], [9], [24] e [41]
Derivadas
Determinsticos Direes Conjugadas BFGS [1] e [41], DFP, Fletcher & Reeves [1]
[9], [24], [41]
Mtodos de Exterior, Interior, Interior Extendida [1], [24] e
Penalidade [41]
Tcnicas de Outros Elipside [3]
Procura
Mtodos Programao Dinmica [2]
Enumerativos
Algoritmos Estratgias Evolucionrias [23]
Mtodos Evolucionrios Algoritmos Genticos [7], [11], [18] e [38]
Estocsticos Outros Tabu [19]
Simulated Annealing [21]
Figura 1-1: Algoritmos de Otimizao.

5
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

O primeiro grupo, tambm chamado de Mtodos Baseados em Clculo,


constitudo por algoritmos que geralmente fazem uso do clculo de derivadas e
necessitam de algum tipo de informao do gradiente, seja procurando o ponto em
que ele se anula, ou usando a direo para qual aponta, ou ainda fazendo
aproximao de derivadas. Enfim, h diversos tipos de mtodos determinsticos.
Para ilustrar as iteraes de algoritmos determinsticos, observe o exemplo de
minimizao de uma funo ff(x) mostrado na Figura 1-2. Nesta figura, cada marca
ou o representa o ponto timo daquela iterao para os mtodos de Newton e
Steepest Descent, respectivamente.

Figura 1-2: Mtodos Steepest Descent e Newton aplicados funo ff(x)=(x1 -2)4 + (x1 -2x2)2.

A procura pelo ponto timo, atravs de derivadas, usa o ponto corrente como
ponto de partida para a prxima iterao. Logo, a procura local, porque ocorre na
vizinhana do ponto corrente. Assim, quando esses algoritmos encontram solues,
h grande chance de ser um timo local, se a funo objetivo for multimodal. Alm
desse problema, um outro aparece quando a funo a ser tratada no contnua ou
de derivao complicada. Para contornar esta ltima situao, obtm-se os valores
das derivadas por aproximaes numricas. Verifica-se, portanto, possveis fontes
de erros no item eficcia. Por outro lado, estes mtodos possuem grande rapidez e
funcionam excepcionalmente bem para problemas unimodais contnuos, como o da
Figura 1-3.

6
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 1-3: Grfico da funo ff(x)=1/(0.3+x12+x22), ideal para mtodos determinsticos.

Quanto aos Mtodos Enumerativos, a idia de procura muito simples. Dentro de


um espao finito de procura, ou um espao contnuo discretizado, o algoritmo
verifica todas as combinaes possveis de solues. Embora a implementao no
seja complicada, o algoritmo torna-se invivel para regies muito grandes e,
conseqentemente, a eficincia fica prejudicada.

J os Mtodos Estocsticos tm ganhado popularidade nos ltimos anos, devido


a sua robustez caracterizada principalmente pela eficcia. Eles buscam a soluo a
partir de regras de probabilidade. Dessa forma, a busca no feita somente na
vizinhana e, com isso, a chance de se encontrar um timo global aumenta. Neste
grupo no h necessidade de calcular derivadas, pois os algoritmos usam apenas as
informaes contidas na funo de otimizao. Dois algoritmos estocsticos muito
usados atualmente so o Simulated Annealing e TABU. Neles, a procura do timo
feita a partir da melhoria do melhor ponto. Enquanto esses mtodos trabalham com
apenas um ponto e, conseqentemente, encontram apenas uma soluo, os GAs
trabalham com uma populao de pontos simultaneamente, selecionando entre eles
os melhores, podendo, assim, formar subpopulaes que se distribuem no s em
torno da soluo global, como tambm em outros picos, como pode ser visto na
Figura 1-4.

7
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 1-4: Usando subpopulaes, a populao fica distribuda ao longo dos picos.

Comparando os trs conjuntos de algoritmos de otimizao, observa-se que, se


tempo computacional no for problema, os mtodos enumerativos so a melhor
opo, pois eles asseguram encontrar a soluo global. No entanto, se a soluo do
problema puder ser qualquer soluo factvel, e ainda, rapidez de convergncia e
preciso da resposta forem itens importantes, ento o mtodo adequado deve
pertencer ao grupo determinstico. Agora, sendo o problema complexo (por exemplo,
com muitas variveis, descontnuo ou de difcil derivao) e necessitando-se da
soluo global em um tempo computacional razovel, as tcnicas estocsticas so
as mais indicadas.

1.3 Analogia de Mecanismos de Seleo Natural com Sistemas


Artificiais

Na natureza, existe um processo de seleo dos seres vivos. Numa determinada


populao, quando h escassez de recursos, sejam eles comida, espao, ou outro
recurso essencial, os indivduos mais preparados para a competio dominam os
mais fracos e sobrevivem. Isso acontece porque, dentre todas caractersticas
imprescindveis competio, esses seres possuem algumas mais acentuadamente
presentes que os outros. Por herana, essas caractersticas provavelmente
passaro para seus descendentes, e, assim, eles tero grande chance de se sarem
tambm vencedores. Por outro lado, fortes indivduos podem surgir da explorao
de uma outra caracterstica ainda no desenvolvida na populao. Se a natureza
tentasse descobrir essas novas caractersticas atravs da seleo dos mais aptos e
do cruzamento dentro de um mesmo grupo, certamente no teria sucesso, visto que

8
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

depois de muitas geraes, todos os membros compartilhariam praticamente do


mesmo cdigo gentico. Para contornar o problema, a natureza insere material
gentico diferente atravs do processo conhecido como mutao. Se este ser que
sofreu mutao, estiver to capacitado sobrevivncia quanto os atuais, suas
chances so grandes no futuro processo de seleo.

Se esse processo funciona to bem em sistemas naturais, porque no funcionaria


em sistemas artificiais? Partindo deste pressuposto, Holland [18] procurou
implementar algo semelhante para sistemas artificiais. Nessa comparao,
descreve-se o problema (ambiente de sobrevivncia) sob forma de uma funo
matemtica, em que as estruturas (indivduos) mais fortes obtero valores mais
altos de funo. Assim cada indivduo corresponde a uma possvel soluo. Ento,
trabalhando com um grupo de indivduos simultaneamente, verifica-se a
potencialidade de cada um em relao ao grupo, tentando selecionar os mais aptos
para o cruzamento. Depois de se efetuar o cruzamento, cada gene de cada
indivduo estar sujeito a uma eventual ao da mutao. Logo, os GAs baseiam-se
nos processos naturais de seleo, cruzamento e mutao. Esses processos so
conhecidos como operadores genticos.

Para manter a analogia, so usados nos sistemas artificiais, os termos


pertinentes gentica natural nos sistemas artificiais. Dessa forma, um indivduo ou
estrutura corresponde a uma concatenao de variveis ou cadeias de caracteres
(cromossomos), onde cada caractere (gene), encontra-se numa dada posio
(locus) e com seu valor determinado (alelo). Um sinnimo de indivduo em gentica
natural o gentipo e a sua estrutura decodificada o fentipo. Em outras palavras,
o fentipo, em sistemas artificiais, significa um conjunto de parmetros, ou um ponto
soluo no espao de procura. A partir do fentipo, o potencial de sobrevivncia
pode ser obtido atravs da avaliao da funo desempenho. Termos como
reproduo, cruzamento, mutao, populao, esto diretamente ligados a
indivduos. Em gentica, outro conceito importante o da epistasia. Epistasia
significa a dominncia um gene sobre outro gene de par diferente. Em sistemas
artificiais, o termo epistasia utilizado para definir algum tipo de no linearidade do
problema tratado.

Para um contato inicial com essa analogia descrita acima, acompanhe as


ilustraes a seguir.

Gene:

9
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Alelos:

Possvel cromossomo de quatro genes:

Para um problema de trs variveis, o indivduo a concatenao de trs


cromossomos, assim um possvel indivduo seria:

Os GAs trabalham com grupos de indivduos. Ento uma tpica populao com
cinco membros poderia ser:

Finalizando, a Tabela 1-1 mostra a relao existente entre as entidades de


sistemas naturais e artificiais.
Tabela 1-1
Analogia entre sistemas naturais e artificiais.
Gentica Natural Gentica Artificial
gene caractere
alelo valor do caractere
cromossomo cadeia de caracteres
locus posio do gene na cadeia de caracteres
gentipo estrutura, indivduo
fentipo conjunto de parmetros, ponto soluo,
estrutura decodificada
epistasia no linearidade

1.4 Um Algoritmo Gentico Simples

Na literatura, o Algoritmo Gentico descrito por Goldberg em [11] conhecido


como Simple Genetic Algorithm ou SGA. Nele, trabalha-se com uma populao fixa,
cujas cadeias de caracteres esto binariamente codificadas. Aps estudar o
problema a ser otimizado, deve-se definir qual a quantidade de indivduos que ter a
populao, a formao cromossmica do indivduo e as probabilidades de aplicao
dos operadores genticos.

10
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Aps essa etapa de definies, o desempenho de cada indivduo avaliado pela


funo desempenho. A partir do valor do desempenho associado a cada indivduo, o
processo de seleo entra em ao e determina quem poder reproduzir. Sobre os
selecionados, atuam os operadores genticos, cruzamento e mutao. Os novos
indivduos substituem os anteriores, terminando, assim, uma gerao. O algoritmo
prossegue ciclicamente a partir dessa nova populao e s termina quando algum
critrio de convergncia alcanado. O algoritmo a seguir mostra o mecanismo
completo.

Algoritmo Gentico Simples {


Definindo {
funo desempenho
formao do indivduo e tamanho da populao
probabilidade dos operadores
}
Inicializar populao aleatria
Enquanto no alcanar critrio de convergncia faa {
avaliar os indivduos da populao
executar seleo
executar cruzamento e mutao
}
}

Utilizando a mesma metodologia de Goldberg [11] para entender melhor o


funcionamento do SGA, uma resoluo de um exemplo foi realizada. O problema
encontra-se descrito pela equao 1-1 e tem a forma mostrada na Figura 1-5.

maximize ff(x)=2x onde 0 x 31 (1-1)

Figura 1-5: ff(x)=2x.

Pela Figura 1-5, sabe-se que ff(x) ter o seu maior valor quando x=31.
Juntamente com a resoluo do exemplo, cada item do algoritmo, anteriormente
descrito, ser explicado.

11
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Funo Desempenho: A funo a ser otimizada ff(x) recebe o nome de funo


objetivo. Mas esta, muitas vezes, no nossa funo desempenho f(x). Por
exemplo, os GAs so definidos somente em termos de maximizao e, muitas
vezes, o objetivo minimizar. Para resolver um problema como este, toma-se por
exemplo, a funo desempenho como o inverso da funo objetivo. Dessa forma,
quanto menor a funo objetivo, maior o valor de retorno da funo desempenho.
Adaptao da funo objetivo de maneira que a avaliao das variveis facilite a
ao dos GAs um assunto que ser tratado posteriormente (seo 3.2). Mas,
nesse exemplo, no existe nenhum empecilho quanto funo objetivo, assim:

max f(x)=2x funo desempenho f(x) = funo objetivo ff(x)

Formao do indivduo e populao: Nos GAs, para que seja possvel efetuar
operaes como cruzamento e mutao, o indivduo deve estar codificado numa
estrutura tipo cromossmica, onde cada cromossomo representa uma varivel.
Nesse exemplo, f(x) tem apenas uma varivel, e portanto, indivduo e cromossomo
possuem o mesmo significado. Em sistemas artificiais, cada cromossomo
codificado como uma cadeia de caracteres de comprimento l. O cdigo mais usado
o binrio (em que o gene possui apenas os alelos 1 ou 0), pois h facilidade na
implementao do algoritmo, e a busca por semelhanas entre indivduos torna-se
eficiente. Escolhido o cdigo, resta definir o comprimento do indivduo e o tamanho
da populao. Nesse exemplo, considere que cada cadeia de caracteres tenha
comprimento l=5 e a populao formada por quatro indivduos.

Na literatura, as cadeias de caracteres possuem comprimentos diversificados. Em


[37], por exemplo, sete funes cujas variveis estavam binariamente codificadas,
foram usadas como teste. O comprimento das cadeias de caracteres (cada varivel)
variou de 3 a 34 bits. O comprimento depende do tipo de funo que se quer
otimizar e tambm da preciso que se quer oferecer. Quanto ao tamanho da
populao, tambm no h consenso. Nota-se que h variaes na quantificao
desses parmetros. Ento, a ttulo de ilustrao, uma cadeia de caracteres curta e
uma populao pequena so usadas para facilitar o entendimento.

Probabilidade dos operadores Cruzamento e Mutao: Na natureza nem todos os


seres cruzam e, quando o fazem, h geralmente envolvimento de um parceiro.
Portanto, mantendo a analogia com sistemas naturais, deve ser feita a seleo de
dois indivduos para o cruzamento. Escolhido o par, o cruzamento s se efetivar
com uma probabilidade pc. Em relao mutao, acontece algo semelhante. H
uma probabilidade de ocorrncia sobre cada um dos genes de cada indivduo. Como

12
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

ilustrao, suponha um indivduo composto por 10 caracteres, se a chance de


ocorrer mutao for 1/100 para cada gene, cada indivduo ter 10/100 ou 10% de
probabilidade de que um gene seu sofra mutao.

Continuando o exemplo, considerando a probabilidade de cruzamento pc=1,


100% dos indivduos selecionados cruzaro. Com a probabilidade de mutao
pm=0.01, esse indivduo de comprimento 5 ter 5% de chances de sofrer mutao.

Populao Inicial: A primeira populao aleatria, podendo-se form-la atirando


uma moeda e anotando cara=1 ou coroa=0 para cada locus de cada indivduo.
Assim, a primeira populao poderia ser formada pelos membros:

01101, 11000, 10010 e 00101

Seleo: O SGA trabalha com um nmero fixo de indivduos na populao ao


longo das geraes. Ento, a cada nova gerao, deve-se selecionar quais
indivduos tero cpias e quais desaparecero. Este processo de duplicar indivduos
denominado de reproduo. Aps o mecanismo seleo/reproduo, todos os
indivduos esto sujeitos ao dos operadores cruzamento e mutao. No SGA de
Goldberg, o esquema de seleo, denominado Roleta, do tipo roleta de cassinos
como pode ser visto na Figura 1-6. Nesse mtodo, cada indivduo i tem uma
probabilidade de seleo psel, de acordo com a sua aptido fi. Esse processo se
inicia com a soma de todas as aptides f dos indivduos da atual populao e, em
seguida, calcula-se a porcentagem fi/f para cada indivduo i. A Tabela 1-2 mostra
estes resultados.
Tabela 1-2
Estatstica usada pelo mtodo da roleta.
nmero indivduo x fi=f(x) fi/f(%)
1 01101 13 26 21.67
2 11000 24 48 40.00
3 10010 18 36 30.00
4 00101 5 10 08.33
Soma - - 120 100.00
Mdia - - 30 25.00
Mximo - - 48 40.00

13
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 1-6: Exemplificao da roleta com as probabilidades de seleo dos 4 indivduos.

Girando a roleta quatro vezes, poder-se-ia ter a seguinte escolha:

1 - giro: indivduo 2

2 - giro: indivduo 3

3 - giro: indivduo 2

4 - giro: indivduo 1

Assim, o indivduo 2 teria duas cpias, os indivduos 3 e 1 uma cpia enquanto


que o indivduo 4 desapareceria. Uma outra forma de verificar a potencialidade da
roleta calculando fi/fmed, onde fmed a mdia de todas aptides da populao. O
resultado o nmero provvel de cpias no processo de seleo. Veja a Tabela 1-3.
Tabela 1-3
Atualizao da Tabela 1-2.
nmero indivduo x fi=f(x) fi/f(%) fi/fmed inteiro(fi/fmed)
1 01101 13 26 21.67 0.87 1
2 11000 24 48 40.00 1.60 2
3 10010 18 36 30.00 1.20 1
4 00101 5 10 08.33 0.33 0
Soma - - 120 100.00 4.00 4
Mdia - - 30 25.00 1.00 1
Mximo - - 48 40.00 1.60 2

A stima coluna mostra os valores de fi/fmed arredondados. O indivduo 4 no foi


selecionado, ento ele foi substitudo pelo indivduo 2, que teve mais de uma cpia.
Assim:

nmero indivduo
1 01101
2 11000
3 10010
4 11000

Cruzamento: O cruzamento nada mais do que um processo que possibilita a


troca de material gentico entre os indivduos participantes e, dessa forma, fica fcil
entender que ele um poderoso mecanismo de recombinao de solues. No
SGA, o cruzamento efetivado cortando-se, num mesmo ponto, a cadeia de

14
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

caracteres de cada um dos dois indivduos participantes e trocando-se as partes


posteriores ao corte, como mostrado na coluna indivduo da Tabela 1-4.

Como nesse exemplo a probabilidade pc 100%, resta saber quem formam os


pares de indivduos, e entre quais locus ocorrer o corte. A escolha do casal, assim
como a posio de corte, aleatria.

Aps o sorteio, considere que os indivduos 1 e 4 foram escolhidos para


formarem o primeiro casal, enquanto que os indivduos 2 e 3 o segundo. Para as
duas duplas, considere ainda a posio de corte situada entre os locus 2 e 3. A
Tabela 1-4 mostra os resultados. Depois do cruzamento, todos os novos membros
da populao foram submetidos mutao.

Tabela 1-4
Populao Inicial aps o cruzamento.
casal corte entre os locus indivduo novos indivduos
1 2e3 01101 01000
11000 11101
2 2e3 11000 11010
10010 10000

Mutao: O papel desenvolvido pela mutao bem diferente do descrito para o


cruzamento. As principais funes da mutao sobre a populao so a insero de
novas caractersticas e a restaurao de material gentico perdido nos processos de
seleo, cruzamento e at mesmo na prpria mutao. A implementao da
mutao, quando se usa o cdigo binrio, consiste apenas na mudana do valor do
bit escolhido.

Como a probabilidade de mutao escolhida foi pm=0.01 e cada indivduo possui


somente 5 bits, ento h poucas chances de ocorrer mutao nessa gerao.

Critrio de Convergncia: O prximo passo observar se algum critrio de


convergncia foi satisfeito. Nos GAs, o critrio de trmino mais simples o critrio
por nmero mximo de geraes, o qual foi adotado para este exemplo, com valor
igual a 10. O algoritmo se encontra iniciando a segunda gerao conforme mostrado
pela Tabela 1-5, que atualiza a Tabela 1-2. Observe que o desempenho mdio dos
novos indivduos que surgiram depois da ao dos operadores genticos superior
quele apresentado pela populao inicial.

15
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 1-5
Fim da gerao inicial.
nmero indivduo x fi=f(x) fi/f(%) fi/fmed inteiro(fi/fmed)
1 01000 8 16 10.13 0.41 0
2 11101 29 58 36.71 1.47 1
3 11010 26 52 32.91 1.32 1
4 10000 16 32 20.25 0.81 1
Soma - - 158 100.00 4.01 3
Mdia - - 39.5 25.00 1.00 0.75
Mximo - - 58 36.71 1.47 1

1.5 Avaliando o SGA

O SGA comea com uma populao inicial aleatria. Atravs da seleo, ele
tenta extrair quais indivduos podero contribuir mais significativamente. Este
processo executado tomando-se como base a mdia de aptido de todos os
componentes da populao. Durante a seleo, os indivduos com desempenho
acima da mdia podero ter mais cpias enquanto que aqueles com fraco
desempenho podem desaparecer completamente. Entre os indivduos selecionados
da populao corrente, sorteiam-se os pares para o cruzamento. O cruzamento
proporcionar troca de material gentico entre os pais, o que pode possibilitar a
pesquisa de novos pontos no espao de otimizao. O efeito destas operaes
fcil de ser observado, analisando-se o exemplo anterior, onde a mdia dos valores
dos desempenhos da populao passou de 30 para 39.5 e o valor mximo de
desempenho de 48 para 58 em apenas uma gerao. No decorrer das geraes, o
valor do desempenho mdio aproxima-se do valor mximo. A Figura 1-7 mostra um
comportamento tpico do desenvolvimento dos valores de desempenhos mdio e
mximo ao longo das geraes.
70

60

50
Desempenho

40
Mdia
30
Mximo
20

10

0
0 1 2 3 4 5 6 7 8 9 10
Nmero de geraes
.
Figura 1-7: Grfico da evoluo dos valores de desempenhos mdio
e mximo durante dez geraes.

16
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Aps o cruzamento, cada gene de cada membro tem probabilidade pm=0.01 de


sofrer mutao. Como a cada gerao tm-se 20 genes, e so ao todo 10 geraes
(200 genes), teoricamente podem ocorrer apenas duas mutaes.

1.6 Pesquisa sobre GAs

Um trabalho realizado por Goldberg & Outros [13] em 1992, consistiu em tentar
coletar todas as referncias bibliogrficas sobre GAs. Eles conseguiram relacionar
aproximadamente 1200 referncias e observaram um crescimento do nmero de
trabalhos sobre os GAs na faixa de 37% ao ano, desde 1986. O trabalho est
apresentado por ordem alfabtica de autores. Uma outra referncia importante a
de Davis [4] em 91, onde ele divide em trs, as linhas de pesquisa sobre GAs:

1.Sistemas Classificadores: Os Sistemas Classificadores so mecanismos


que produzem como sada, algum tipo de informao. Essa informao ser
escolhida de acordo com algum critrio de classificao dos dados de entrada.
Os critrios de classificao nada mais so do que regras booleanas simples
e, a busca pela melhor informao de sada baseada em gentica (Genetics-
Based Machine Learning - GBML). Uma referncia inicial Goldberg [11].

2.Anlise de Performance: Este tem sido o tema principal da maioria dos


pesquisadores de GAs. O objetivo desenvolver mecanismos que auxiliem um
GA durante seu processo evolutivo. Portanto, o assunto Anlise de
Performance busca mtodos de interao e manuseio de indivduos (como
tipos alternativos de cruzamento e seleo) e, entre outros aspectos, a anlise
compreende tambm a procura por uma boa relao entre parmetros (como
tamanho da populao e probabilidade dos operadores genticos). Como so
muitos os mecanismos e parmetros associados aos GAs, ainda existem
muitas questes e aspectos que necessitam de maiores pesquisas.

3.Algoritmo Gentico Paralelo: Devido independncia das operaes de


seleo, cruzamento, mutao e principalmente de avaliao da funo
desempenho para cada possvel soluo (indivduo), pode-se implementar
GAs utilizando-se as vantagens da programao paralela. Segundo
Ribeiro & Outros em [29], existem duas classes de GA Paralelo: centralizada e
distribuda. Observando essas duas classes sob o ponto de vista do mtodo de
seleo, a classe centralizada possui um nico mecanismo de seleo que
trabalha de forma sncrona sobre a populao global, a qual se encontra

17
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

dividida para melhor ao dos processadores. Portanto, esta classe utiliza o


paralelismo apenas para diminuir o tempo computacional. Por outro lado, a
classe distribuda utiliza cada processador para desenvolver suas
subpopulaes independentemente. A comunicao dos melhores indivduos
entre as subpopulaes feita de maneira assncrona. Veja por exemplo [27].

O desempenho dos itens 1 e 3 claramente dependente do conhecimento e


estudo do item 2.

Muitos trabalhos tm surgido da aplicao de GAs como tcnica de otimizao


(veja Apndice A) a problemas reais. Esses trabalhos contribuem apenas na
divulgao e solidificao dos GAs como algoritmo de otimizao robusto e verstil.
Esta dissertao se concentra no tpico Anlise de Performance.

1.7 Concluso

A otimizao uma ferramenta imprescindvel para ajudar na resoluo de


problemas complexos. Vrios mtodos foram desenvolvidos para buscar a melhor
soluo. Eles se agrupam em trs conjuntos: Determinsticos, Enumerativos e
Estocsticos.

Dentre os trs conjuntos de mtodos de otimizao, os estocsticos se destacam


por sua caracterstica de buscar sempre a soluo global (eficcia) sem fazer uso de
todo o domnio de solues candidatas. Isso possvel por causa do uso de
tcnicas probabilsticas para guiar a amostragem por todo espao vivel. Dessa
forma, a pesquisa pela soluo global feita em mais regies. Dentre os mtodos
estocsticos, os GAs vem ganhando espao devido sua robustez.

Vrias diferenas podem ser notadas entre os GAs e os mtodos de procura


convencionais. De acordo com Goldberg [11], elas so:

1. Manipulao de cdigo: Os GAs exploram a semelhana entre boas


solues atravs da sua codificao, enquanto que outros mtodos
controlam as variveis diretamente.

2. A procura pelo timo feita a partir de uma populao de pontos e no de


um nico ponto: Com mais pontos para basear a pesquisa, a probabilidade
de cair numa soluo local se reduz.

3. A procura cega e feita por amostragem: A nica informao necessria


a da funo de otimizao, no precisando, portanto, do uso de derivadas

18
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

de qualquer ordem. A busca guiada por solues parciais, com a pesquisa


sendo feita por amostragem e no por todo o espectro possvel.

4. Os GAs usam operadores estocsticos e no regras determinsticas: Os


operadores genticos agem com certa probabilidade (podem ocorrer ou
no), e no com regras bem definidas. Isso difere os GAs dos mecanismos
de busca aleatria.

Como foi visto no decorrer do captulo, os Algoritmos Genticos so mecanismos


de busca estocstica, direcionado pelas melhores solues parciais, baseado nos
processos de gentica e seleo natural. Nessa analogia as possveis solues so
indivduos, e a funo de otimizao simula um ambiente de sobrevivncia. Uma
funo de seleo escolhe quem vive para interagir com os operadores genticos,
resultando em novas solues parciais.

19
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

2. Teoria do Processo
Evolutivo num GA

2.1 Introduo

Atravs da procura por semelhanas na codificao dos indivduos de bom


desempenho, os GAs caminham na direo do ponto timo. Para entender o
mecanismo de procura, necessrio analisar (anlise feita por Goldberg [11] e
Holland [18]) o indivduo de um ponto de vista mais amplo e, para isso, insere-se na
codificao binria um caractere coringa (dont care), o * , que pode ser tanto 0 ou
1. Descrito dessa forma, a estrutura formada por {0,1,*} denominada de esquema.
Com uma estrutura de comprimento l pode-se obter, no cdigo binrio, 2l cadeias
de caracteres e (2+1)l esquemas distintos.

Um esquema H descreve um conjunto de cadeias de caracteres que possuem


semelhanas em certas posies. Por exemplo, suponha que uma cadeia de
caracteres binria tenha comprimento l=4. Dessa forma, um esquema H1 poderia
ser **11. Esse esquema representaria as cadeias de caracteres 0011, 0111, 1011 e
1111. Cada cadeia de caracteres possvel significa uma instncia do esquema.

Algumas caractersticas relativas s posies fixas so muito importantes na


anlise da performance desses esquemas. A primeira caracterstica em relao aos
esquemas a ordem o(H), que denota simplesmente a quantidade de posies
fixas. Dessa forma, em relao ao exemplo anterior, o esquema **11 possui ordem
2. A outra caracterstica o comprimento de definio (H), que a distncia entre
as posies fixas extremas. Assim, o esquema H2=**11* tem (H2)=4-3=1, o
esquema H3=****1 tem (H3)=0, enquanto que H4=1**00 tem (H4)=4. Um outro
fator relevante ao esquema o seu desempenho f(H), sendo que este medido pela
mdia aritmtica da aptido entre todas as suas instncias, para uma dada
populao e gerao.

Definido o que esquema, duas consideraes tericas so importantes para


analisar o mecanismo de pesquisa dos GAs: A Hiptese dos Blocos de Construo e

20
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

o Teorema Fundamental dos GAs, os quais so descritos por Goldberg [11] e


Holland [18]. Esses dois temas abordam a viabilidade futura de um esquema (e, por
conseguinte, um conjunto de cadeias de caracteres), quando sujeito ao da
reproduo, do cruzamento, e da mutao. Estes assuntos sero tratados nas
sees a seguir.

2.2 Hiptese dos Blocos de Construo

A descrio sobre a performance dos GAs fica mais clara quando a anlise da
populao feita pela perspectiva de esquemas. Esquemas de pequeno
comprimento de definio, de baixa ordem e com alto desempenho so amostrados
e recombinados, formando cadeias de caracteres de mais alto valor de aptido.
Neste sentido, reduz-se a complexidade do problema. A inteno construir
indivduos fortes a partir dos melhores existentes, ao invs de se tentar combinar
quaisquer cadeias de caracteres. Esquemas curtos, de baixa ordem e desempenho
acima da mdia, se juntam como blocos de construo (building blocks, termo usado
de agora em diante), formando uma estrutura maior.

Os esquemas vasculham regies ao invs de um nico ponto. Assim,


interessante entender a representatividade de determinado esquema no mbito do
espao de procura. Sabendo que o nmero mximo de cadeias de caracteres
diferentes no cdigo binrio 2l, considere ento um esquema qualquer com uma
posio fixa, ou seja, o(H)=1. O espao atingido 2l-1/ 2l, ou seja, 50%. Com o
aumento da ordem para 2, a regio abrangida se reduz a 25% e assim por diante.
Generalizando, um esquema varre 2l-o(H)/2l do espao total de procura. A Figura 2-1
e a Figura 2-2, que aparecem a seguir, exemplificam a amostragem obtida por dois
esquemas em relao funo exemplo do Captulo1 (veja a equao 1-1 e a
Figura 1-5).

Figura 2-1: Croqui do esquema **0*, o(H)=1, representatividade de 50%

21
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 2-2: Croqui do esquema 1***0, o(H)=2, representatividade de 25%

Os building blocks so muito importantes na fase inicial dos GAs, cujo objetivo
encontrar a regio onde se encontra a soluo global. Numa outra fase, a de
convergncia final, as cadeias de caracteres compartilham praticamente o mesmo
cdigo gentico e, conseqentemente, os mesmos esquemas de alto desempenho.
Nesse ponto, a contribuio dos esquemas nos building blocks bem menos
significativa.

2.3 Teorema Fundamental dos Algoritmos Genticos

O Teorema Fundamental dos Algoritmos Genticos ser desenvolvido apenas


para o SGA, em que o mtodo de seleo o da Roleta, o cruzamento feito com
um ponto de corte e a mutao feita verificando-se a probabilidade para cada alelo
de cada indivduo. Quando se tratar de outros mtodos de seleo, cruzamento e
mutao, a formulao do teorema pode ser conseguida de forma anloga.

Seguindo o algoritmo descrito no captulo anterior, no princpio do algoritmo gera-


se uma populao aleatria, a seguir os membros desta populao so submetidos
reproduo e ao dos operadores cruzamento e mutao. Em relao aos
indivduos avaliados para participarem da prxima gerao, quais so as chances
destes sobreviverem ou desaparecerem? A resposta pode ser dada considerando-
se um esquema H, conforme apresentado por Goldberg [11] e Holland [18]. As
propriedades dos esquemas proporcionam mecanismos interessantes para discutir e
classificar as semelhanas entre as cadeias de caracteres. Conceitos como
comprimento de definio e ordem de um esquema facilitam a anlise da rede de
efeitos da reproduo e dos operadores genticos sobre os building blocks, dentro
da populao.

Para comear, suponha inicialmente que, numa dada gerao t, um esquema


particular H, possua m representantes, essa situao ser denotada por m=m(H,t).
Quantos representantes este esquema provavelmente existiro na gerao t+1?

22
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Durante a reproduo, uma cadeia de caracteres copiada de acordo com a


probabilidade de seleo psel proporcionada pelo seu desempenho fi, perante todos
os desempenhos encontrados na populao f, ou seja, psel=fi/f. De maneira
anloga, para esquemas, psel=f(H)/f, em que f(H) o desempenho mdio das
instncias do esquema. Como na gerao t+1, npop (nmero total de indivduos da
populao) indivduos so selecionados, espera-se ter m(H,t+1)=m(H,t)*npop*f(H)/f
representantes de H. Sabendo que a mdia de desempenhos da populao fmed
definida como fmed=f/npop, o valor m(H,t+1) pode ser obtido da equao 2-1.

f (H)
m(H, t + 1) = m(H, t) (2-1)
fmed

Analisando a equao 2-1, pode-se perguntar se possvel estimar o


crescimento ou decaimento de um esquema particular aps um certo nmero de
geraes. Para responder a essa questo, considere, por exemplo, que um
esquema H possua desempenho f(H)=fmed+c*fmed, onde c uma constante durante t
geraes. Assim, a equao pode ser rescrita como:

fmed + c * fmed
m(H, t + 1) = m(H, t) = m(H, t) * (1 + c) (2-2)
fmed

Comeando de t=0 e observando o que acontece com a equao 2-2 na gerao


t, a ao da reproduo sobre os esquemas tem forma exponencial, como est
mostrado na equao 2-3.

m(H, t) = m(H,0) * (1 + c) t (2-3)

Da equao 2-1 nota-se que o nmero de esquemas aumentar dependendo da


razo entre os desempenhos mdios de suas instncias e da populao. Lembre-se
de que somente o efeito da reproduo foi levado em considerao.

A reproduo simplesmente determina quem vive ( e com quantas cpias) e


quem desaparece. Somente com a reproduo no h explorao de novas regies,
j que nenhum indivduo novo apareceu. Tambm no h troca de informao entre
os indivduos, visto que a reproduo no proporciona interao entre os mesmos. O
operador que promove interao entre os membros da populao o cruzamento.
Para entender como afetado um esquema pelo cruzamento, suponha uma cadeia
de caracteres S, com l=10, e dois esquemas H1 e H2, ambos com ordem igual a
dois, mas com comprimentos de definio (H1)=7 e (H2)=1, como mostrado a
seguir:

23
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

S = 1 0 1 1 0 1 1 1 1 0
H1 = * * 1 * * * * * * 0
H2 = * 0 1 * * * * * * *

O ponto de corte no cruzamento simplesmente uma escolha aleatria entre 1 e


l-1. claro que, se a cadeia de caracteres S for escolhida para o cruzamento, o
esquema H2 tem maiores chances de sobreviver ao cruzamento, pois esse
esquema s ser desfeito se o corte acontecer entre as posies 2 e 3, enquanto
que H1 pode ser destruda se o corte ocorrer entre as posies 3 e 10. Logo, a
probabilidade de destruio pd de H2 1/9, enquanto que H1 tem pd=7/9.
Generalizando, pd=(H)/(l-1). interessante trabalhar com a probabilidade de
sobrevivncia ps ao invs de pd, assim ps=1-pd ou ps=1-(H)/(l-1). Mas, na realidade,
o cruzamento s ocorre a uma dada probabilidade pc (com valores entre 0 e 1), que
deve ser levada em conta. Se o cruzamento feito entre duas cadeias de caracteres
representantes do mesmo esquema H, esse esquema ser jamais destrudo.
Matematicamente, pd=pc*(H)/(l-1) e, como o cruzamento pode ser realizado entre
representantes de mesmo esquema, pdpc*(H)/(l-1), o que conduz a ps1-
pc*(H)/(l-1).

Como a reproduo e cruzamento so eventos independentes, a ao conjunta


dos dois processos obtida simplesmente multiplicando-se os dois eventos, desta
forma:

f (H) (H)
m(H, t + 1) m(H, t) 1 pc (2-4)
fmed ( 1)

Essa equao mostra claramente que, se um esquema tem desempenho acima


do desempenho mdio da populao e pequeno comprimento de definio,
provavelmente ele proliferar. Na reproduo, os indivduos mais aptos tm maior
probabilidade de serem selecionados, enquanto que no cruzamento realiza-se a
troca de material gentico entre os membros da populao. Com o passar da
geraes, os indivduos podero conter o mesmo cdigo gentico, o que
impossibilitaria a explorao de novas regies ou mesmo restaurar material gentico
perdido em alguma operao. A mutao surge para cobrir essa lacuna e ser
tratada a seguir.

O ltimo operador a ser considerado a mutao. Do captulo anterior, viu-se que


cada bit da cadeia de caracteres de cada indivduo da populao est sujeito
mutao de acordo com uma probabilidade pm. Cada alelo simples tem
probabilidade ps=1-pm, e como cada mutao estatisticamente independente, a

24
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

probabilidade de sobrevivncia ps para um particular esquema ser o produto das


probabilidades para cada posio fixa, ou seja a probabilidade de sobrevivncia de
um esquema com ordem o(H) ps=(1-pm)o(H). Para pm<<1, o que freqentemente
ocorre, pode-se aproximar a relao anterior para ps=1-o(H)*pm. Assim, tem-se a
equao 2-5:

f (H) (H)
m(H, t + 1) m(H, t) 1 pc p m * o(H) (2-5)
fmed ( 1)

Com esse ltimo resultado, pode-se finalmente formular os efeitos da


seleo/reproduo, cruzamento e mutao sobre o nmero de esquemas
esperados para prxima gerao.

Agora a hiptese building blocks est concretizada, ou seja, esquemas de


desempenho alto, comprimento de definio pequeno e ordem baixa so os
melhores candidatos a perseverarem. Essa formulao (equao 2-5) recebe o
nome especial de Teorema de Esquema ou Teorema Fundamental dos GAs. Para
se verificar a validade, analisaremos o exemplo do captulo anterior na prxima
seo.

2.4 Validao do Teorema Fundamental dos GAs

A formulao matemtica do Teorema Fundamental dos Algoritmos Genticos


demonstra claramente quais esquemas tero mais chances de passar ou no para a
prxima gerao. Com o intuito de validar a equao, o exemplo do Captulo 1 ser
revisado do ponto de vista de esquemas. Sero observados 5 esquemas. So eles:
H1 = 1 * * * *
H2 = 1 * 0 * *
H3 = * 1 * * 0
H4 = * * * 0 1
H5 = * 1 * 0 *

Para facilitar a verificao do desempenho desses esquemas em relao aos


membros da populao, a Tabela 1-3 foi reproduzida e revisada, acrescentando-se a
anlise dos esquemas escolhidos, tornando-se a Tabela 2-1 que vem a seguir.

25
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 2-1
Anlise da performance dos esquemas H1-H5 na gerao inicial (t=0).
nmero indivduo x fi=f(x) fi/f (%) fi/fmed inteiro(fi/fmed)
1 01101 13 26 21.67 0.87 1
2 11000 24 48 40.00 1.60 2
3 10010 18 36 30.00 1.20 1
4 00101 5 10 08.33 0.33 0
Soma - - 120 100.00 4.00 4
Mdia - - 30 25.00 1.00 1
Mximo - - 48 40.00 1.60 2
Esquema m(H,t=0) f(H) (H) o(H)
1**** 2 42 0 1
1*0** 2 42 2 2
*1**0 1 48 3 2
***01 2 18 1 2
*1*0* 2 37 2 2

No exemplo, pc=1, pm=0.01, fmed=30 e l=5. Assim, o Teorema Fundamental dos


Algoritmos Genticos descrito na equao 2-5, torna-se:

f (H) (H)
m(H, t + 1) = m(H, t) 1 0.01 * o(H) (2-6)
30 4

Substituindo os valores de m(H,t), f(H), (H) e o(H) da Tabela 2-1, obtm-se as


estimativas de quantidade de cada esquema para a prxima gerao. O resultado
acoplado Tabela 1-5, onde j se encontravam as cadeias de caracteres
(indivduos) para a segunda gerao, formando a Tabela 2-2.

Observando a Tabela 2-2, nota-se que o esquema H1 possui alto desempenho


mdio, tem comprimento (H)=0 e o(H)=1, ou seja, todas as condies de aumentar
o nmero de cpias. O esquema H2 possui o mesmo desempenho de H1, mas a
probabilidade de que haja separao de suas posies fixas (H2)/(l-1)*100=50%.
Nesse exemplo, durante o cruzamento, o corte ocorreu entre o locus 2 e 3,
separando o esquema, mas as cadeias de caracteres escolhidas para formarem
casal para o cruzamento eram representantes desse esquema, evitando-se a sua
destruio, mantendo, portanto, as caractersticas originais. O esquema H3 obteve
duas cpias devido reproduo da cadeia de caracteres (indivduo) 2. Quando foi
conduzida ao cruzamento, rompeu-se, mas, por sorte, o mesmo cruzamento que a
desfez a reconstruiu. Por isso, vale lembrar que o cruzamento no adiciona
caractersticas novas, ele simplesmente explora as existentes. O esquema H4 tem
baixo desempenho mdio, mas como ponto positivo tem (H4)=1 e isso
proporcionou a sua sobrevivncia para a prxima gerao. Enfim, o esquema H5,
com desempenho mediano e comprimento de definio longo, obteve cpias pelo
mesmo motivo que no caso H2.

26
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 2-2
Avaliao da estimativa de alguns esquemas para a gerao t=1.
nmero indivduo x fi=f(x) fi/f(%) fi/fmed inteiro(fi/fmed)
1 01000 8 16 10.13 0.41 0
2 11101 29 58 36.71 1.47 1
3 11010 26 52 32.91 1.32 1
4 10000 16 32 20.25 0.81 1
Soma - - 158 100.00 4.01 3
Mdia - - 39.5 25.00 1.00 0.75
Mximo - - 58 36.71 1.47 1
Esquema Indivduos que indivduos que m(H,t=1) quantidade real
contiam H (t=0) contm H (t=1) em t=1
1**** 2;3 2;3;4 2.77 3
1*0** 2;3 3;4 1.34 2
*1**0 2 1;3 0.37 2
***01 1;4 2 0.88 1
*1*0* 1;2 1;2 1.18 2

Revisando o exemplo do Captulo 1, constatou-se a validade do Teorema


Fundamental dos GAs. A princpio, o erro entre os valores esperados e os realmente
obtidos parece ser grande. Essas diferenas entre valores estimados e valores reais
diminuiro quando a amostragem for significativa, ou seja, populao grande e longo
comprimento l das cadeias de caracteres.

2.5 Paralelismo Implcito

O GA, a cada gerao, processa npop indivduos, mas o que faz dele um poderoso
mtodo de procura que, na anlise dos npop indivduos, ele verifica paralelamente
npop3 esquemas. Esse resultado importante recebeu o nome de paralelismo implcito.
Esta estimativa de npop3 esquemas por npop indivduos foi desenvolvida por Goldberg
em [11] e [12] e ser reproduzida nesta seo.

interessante iniciar a estimativa do nmero de esquemas processados em


paralelo conhecendo a capacidade de formao de indivduos e esquemas de
qualquer cdigo. Para qualquer tipo de codificao, seja k o nmero de alelos
diferentes e l o comprimento da cadeia de caracteres, existem pois kl possibilidades
diferentes de formao de cadeias de caracteres e (k+1)l de esquemas. Cada
cadeia de caracteres especfica representante de kl esquemas diferentes. Por
exemplo, a cadeia de caracteres 111 representante de todos os esquemas
possveis formados pelos caracteres 1 e *. Ento, numa populao de npop membros
existem de kl a npop*kl esquemas competindo.

Considere uma populao de npop cadeias de caracteres binrias de comprimento


l. Considere tambm somente os esquemas que sobrevivem com uma
probabilidade maior que ps, onde ps uma constante. Logo, admite-se somente
esquemas com uma taxa de destruio pd<1-ps. Assumindo a operao cruzamento

27
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

com um nico ponto de corte e uma pequena taxa de mutao, trata-se somente
daqueles esquemas com comprimento ls<pd(l-1)+1. Isso pode ser facilmente
verificado considerando-se, inicialmente, a probabilidade de cruzamento igual
unidade. Assim, a probabilidade de destruio de um esquema devido ao do
cruzamento pd<(H)/(l-1). Sendo (H)=ls-1, tem-se que valores de ls, tais que,
ls>(l-1)pd+1 aumentam a probabilidade de destruio. Logo, para se obter pd<1-ps,
deve-se levar em conta somente os esquemas cujo comprimento seja ls<pd(l-1)+1.

Com o comprimento de um esquema particular, consegue-se estimar um limite


inferior para o nmero de esquemas processado por uma populao inicial de
indivduos gerada aleatoriamente. Para essa estimativa, primeiro conta-se o nmero
de esquemas de comprimento ls ou menor. A seguir, multiplica-se esse nmero pelo
tamanho da populao.

Para o primeiro passo, suponha que se deseja contar todos os esquemas de


comprimento de definio ls=5 ou menor no seguinte indivduo de comprimento
l=10.
1 0 1 1 1 0 0 0 1 0

Primeiramente, calcula-se o nmero de esquemas na primeira clula


considerando o quinto bit fixo, isto , deseja-se todos esquemas da forma:
1 0 1 1 1 0 0 0 1 0 = = = > % % % % 1 * * * * *

onde * um smbolo para representar em seu lugar os caracteres 0 ou 1. O smbolo


% representa valores fixos 0 ou 1, ou *. Evidentemente h 2(ls-1) diferentes
representantes destes esquemas porque ls-1=4 posies podem ser bits fixos ou *.
Para contar o nmero total, basta deslizar a regio selecionada uma posio por
vez.
1 0 1 1 1 0 0 0 1 0

O nmero total de deslizamentos l-ls+1 e, portanto, o nmero de esquemas de


comprimento igual ou menor a ls numa nica cadeia de caracteres (2ls-1)*(l-ls+1).

O segundo passo dessa estimativa obtido, multiplicando-se (2ls-1)*(l-ls+1) pelo


nmero de indivduos da populao npop, assim, obtm-se a quantia npop*(2ls-1)*(l-
ls+1). Este resultado , sem dvida, superestimado, tendo em vista que certamente
haver muitas duplicatas de esquemas de baixa ordem em populaes grandes.
Ento, para refinar este resultado, considere npop=2ls/2. O nmero de esquemas
distribudo binomialmente, e como isso, conclui-se que, de todos esquemas com

28
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

comprimento menor ou igual a ls, metade possui ordem entre ls/2 e ls e metade com
ordem menor que ls/2. Contando somente os esquemas de ordem mais elevada,
estima-se um limite inferior do nmero de esquemas como segue:

n s n pop * 2 s 2 ( s + 1) (2-7)

Isso difere do valor superestimado por um fator de 1/2. Alm disto, a restrio do
tamanho da populao para o valor particular 2ls/2 resulta na seguinte expresso:

n pop ( s + 1)
3

ns (2-8)
4

Desde que ns=constante*npop3, deduz-se que o nmero de esquemas


proporcional ao cubo do tamanho da populao. Portanto, na gerao inicial, quando
processam-se os npop indivduos, processam-se paralelamente npop3 esquemas
diferentes.

2.6 Esquemas - Viso Geomtrica

Mesmo com a equao do Teorema Fundamental dos GAs aplicada para o


exemplo do Captulo 1, e com a explicao dada na seo anterior, ainda no fcil
enxergar o paralelismo implcito com os qual os GAs trabalham. Uma outra forma de
verificar este paralelismo uma viso geomtrica de esquemas num espao de
procura. Dessa forma, considera-se esquemas de comprimento l=3 e um espao de
procura tridimensional como mostrado na Figura 2-3.

x2
plano *1*
010 110

011 111 plano 1**

linha 0*1
000 100 x1

001 101

x3 linha *01
Figura 2-3: Viso geomtrica de hiperplanos tridimensionais.

Esquemas com ordem 3 definem pontos especficos no espao, esquemas com


ordem 2 definem linhas de possveis solues. Os planos no espao so esquemas

29
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

de ordem 1, enquanto que todo espao coberto por esquema de ordem 0, ou seja,
***.

Infelizmente, impossvel ter esta viso geomtrica para espaos superiores a


3D. Mas, generalizando para n dimenses, estes esquemas formam hiperplanos.
interessante imaginar os GAs, cortando hiperplanos na procura do melhor
desempenho.

2.7 Concluso

Analisando a cadeia de caracteres sob o ponto de vista de esquemas, fica fcil


entender como os GAs fazem a busca do ponto timo explorando as semelhanas
entre os diversos esquemas. A Figura 2-3 mostra graficamente como as
similaridades conduzem s regies mais diversas.

Usando o cruzamento com um nico ponto de corte, a mutao com um pequeno


valor de probabilidade e o mtodo da Roleta como mecanismo de seleo, o
Teorema Fundamental dos GAs, representado pela equao 2-5, foi desenvolvido
sob a perspectiva de esquemas. Da equao 2-5 observou-se que esquemas curtos,
de baixa ordem e alto valor de aptido, so fortes solues parciais do problema e,
com isso, tero grandes chances de prosseguirem nas geraes seguintes. A partir
da combinao dessas solues, os GAs descobrem novas solues (building
blocks). Portanto, os GAs trabalham com montagem de solues parciais e, assim,
reduz-se a complexidade de problema como um todo.

Os Algoritmos Genticos avaliam o desempenho de todos os npop membros da


populao a cada gerao, mas analisam implicitamente npop3 esquemas
(paralelismo implcito).

30
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

3. Tcnicas, Mecanismos e
Parmetros Utilizados pelos
GAs

3.1 Introduo

O GA apresentado at agora (SGA), com o mtodo de seleo e apenas dois


operadores (cruzamento e mutao) e descrito por Goldberg [11], teve um papel
muito importante na introduo dos GAs como ferramentas de otimizao. Mas, com
o passar do tempo, tcnicas novas (como tcnicas de nicho) e alternativas (como
outros mtodos de seleo) apareceram. Assim, com o objetivo de descrever essas
tcnicas, feito neste captulo, uma reviso bibliogrfica de temas sobre os GAs.
Tambm so apresentadas as contribuies desta dissertao. Os itens tratados
vo desde codificao da estrutura cromossmica at tcnicas mais avanadas,
como formao de subpopulaes e reduo de intervalo.

3.2 Transformao do Problema de Otimizao na Forma Adequada a


Ao dos GAs

Para se resolver um problema real atravs da otimizao, deve-se inicialmente


model-lo matematicamente atravs de equaes que contenham seus parmetros
(funo objetivo). Mas, muitas vezes, a funo objetivo apresenta problemas que
dificultam ou at mesmo impossibilitam a execuo dos GAs. Por exemplo, sabe-se
que os GAs trabalham tentando propiciar o desenvolvimento de indivduos, cujo
valor de aptido esteja acima da mdia, at chegar queles de mais alto
desempenho. Portanto, fcil perceber que os GAs trabalham em termos de
maximizao. No entanto, muitas vezes, o objetivo minimizar uma funo. Em
casos como esse, necessrio transformar a funo objetivo em uma outra funo
(funo desempenho), onde esse problema esteja corrigido. Outros cuidados com a
funo objetivo incluem evitar que ela retorne valores negativos, e tambm respeitar

31
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

as restries impostas pelo problema de otimizao. Esses dois itens, juntamente


com a transformao de um problema de minimizao em maximizao, so
explicados com detalhes adiante. Os mtodos de mapeamento da funo objetivo
para funo desempenho devem ser aplicados com cuidado, para que a funo
objetivo no perca as caractersticas de sua soluo tima. Inicialmente foram
tratados os problemas de restries funo objetivo.

3.2.1 Introduzindo Restries

Um tipo de restrio muito comum a limitao da varivel a um determinado


intervalo. Como essa restrio imprescindvel delimitao da regio de procura
para os GAs, denominam-se de irrestritos, os problemas que contm apenas este
tipo restrio. Alm da restrio anterior, h, no entanto, problemas em que algumas
outras condies devem ser satisfeitas para que a soluo tenha validade. Nesses
casos, para contornar a situao, um procedimento seria executar a avaliao de
cada um dos integrantes da populao e, se algum no for vivel, ento procura-se
outro para substitui-lo e assim por diante. Este procedimento de resolver problemas
com restries muito caro computacionalmente, agravando-se nas situaes, em
que achar um ponto vivel to difcil quanto encontrar a melhor soluo. Assim,
uma segunda e, mais adequada maneira, seria tentar acoplar as funes de
restrio funo objetivo, transformando um problema restrito em irrestrito, como
por exemplo, as transformaes dos mtodos de penalidade.

Nos mtodos de penalidade, um problema com restries transformado em


outro sem restries pela associao de uma funo de penalidade, que contm
todas as restries violadas. Equacionadas, as restries podem ser de igualdade e
desigualdade, resultando numa funo pseudo-objetivo. Para exemplificar, veja o
problema de minimizao com restrio a seguir:

min ff ( X )
sujeito a:
(3-1)
g j (X) 0 j = 1,..., m
hk ( X) = 0 k = 1,..., l

onde ff(X) a funo objetivo e, gj(X) e hk(X) representam todas as funes de


restries de desigualdade e igualdade respectivamente. O problema restrito acima
pode ser transformado no seguinte problema de minimizao irrestrita:

min ( X, r ) = ff ( X) + r * P( X) (3-2)

32
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

onde (X,r) denota a funo pseudo-objetivo, P(X) a funo de penalidade e r um


parmetro de penalidade.

H trs definies tradicionais para P(X). A primeira penaliza a funo objetivo


quando as restries so violadas, esse o Mtodo de Penalidade Exterior [1], [24]
e [41] (estas referncias tratam tambm dos mtodos de penalidade apresentados a
seguir). A segunda, conhecida como Mtodo de Penalidade interior, penaliza a
funo objetivo de forma que as restries nunca sejam violadas. Cada um destes
algoritmos tem vantagens, e estas foram acopladas num terceiro mtodo,
denominado de Mtodo de Penalidade Interior Estendida.

No objetivo deste trabalho descrever detalhes destas funes de penalidade.


Sugere-se a consulta s referncias e [1] e [24] e [41]. Mas, a ttulo de ilustrao, a
funo de penalidade exterior tem a forma:

m l

{max[ 0, g (X)]} + [h (X)]


2 2
P( X ) = j k (3-3)
j= 1 k =1

Sendo que o primeiro somatrio significa que ser tomado o maior valor entre 0 e
gj(X).

3.2.2 Evitando a Negatividade da Funo Desempenho

Os GAs verificam a performance dos integrantes da populao submetendo-os a


uma funo de desempenho. O processo de seleo utiliza os resultados dessa
funo para compor a populao, que ficar sujeita ao dos operadores
genticos. Como a grande maioria dos mtodos de seleo faz uso de dados
estatsticos, dependentes do valor do desempenho fi de cada indivduo i, deve-se
evitar que a funo, que se quer otimizar, retorne valores menores que zero, pois
isso implicaria valores negativos para probabilidade, o que no existe.

Uma maneira de garantir a no negatividade da funo desempenho f(x) seria


simplesmente tomar f(x) como o mdulo da funo pseudo-objetivo (X,r) (que,
nessa subseo, considerou-se que j encontra-se descrita sob o formato de
maximizao), como mostrado a seguir:

f ( x) = ( X, r ) (3-4)

Se (X,r) for um tipo de funo desconhecida, no se aconselha o uso desse


artifcio, pois pode-se ocasionar um erro grave, onde um mnimo acentuado seria um
mximo falso. A Figura 3-1 a seguir ilustra o problema.

33
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 3-1: Funo (X,r)=x*sen(x2) no intervalo [-3,3]. O mdulo


de (X,r) causa falsos picos.

Outra forma mais segura de evitar a negatividade da funo de desempenho a


seguinte transformao:

f ( X) = ( X, r ) + C min se ( X, r ) + C min > 0


(3-5)
f ( X) = 0 se ( X, r ) + C min 0

O parmetro Cmin pode ser uma constante, como tambm pode variar ao longo
das geraes dependendo dos valores da mdia e desvio padro da populao.
Inicialmente, Cmin escolhido aps a verificao do retorno de (X,r) para vrios
pontos testes. A Figura 3-2 mostra o grfico da mesma funo anterior adaptada
esse procedimento e adotando Cmin=4.

34
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 3-2: Acrscimo de Cmin para contornar o problema da negatividade de ( X, r ) .

3.2.3 Transformando um Problema de Minimizao em Maximizao

Sabendo-se que os GAs trabalham em termos de maximizao, outro problema


aparece quando se quer encontrar o mnimo da funo objetivo. Para contornar essa
situao, so apresentadas duas maneiras de transformar problemas minimizao
em maximizao. A primeira soluo apresentada, descrita em [42] e [44], seria
inverter a funo objetivo como mostrado a seguir:

1
f ( x) = (3-6)
( X, r ) +

onde constante , em [44], tem o valor definido como sendo ligeiramente superior ao
mdulo do valor mnimo de ( X, r ) , caso ( X, r ) 0, ou ligeiramente superior ao

negativo do mnimo de ( X, r ) , quando ( X, r ) >0. Outra maneira interessante de

como utilizar a constante , definindo-a como sendo um valor positivo de pequena


magnitude (sugere-se [10-3, 10-8]) para todo ( X, r ) 0. Lembrando que, se ( X, r )

puder retornar valores negativos, deve-se modific-la previamente com os mtodos


do incio da seo. Com esse mapeamento, quanto menor for ( X, r ) , maior ser
f(x).

A segunda soluo seria redimensionar ( X, r ) em relao a um valor Cmax, como


pode ser mostrado pelo sistema:

35
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

f ( x) = C max ( X, r ) se ( X, r ) < C max


(3-7)
f ( x) = 0 se ( X, r ) C max

O parmetro Cmax pode ser constante, ou variar ao longo das geraes. O valor
inicial de Cmax escolhido aps vrios testes de retorno de ( X, r ) . Exemplificando
os dois procedimentos, suponha agora que se quer minimizar ff(X)=x2, usando-se
=10-1 (esta magnitude tem apenas finalidade de facilitar graficamente a
comparao com o outro procedimento) para a primeira transformao e Cmax=5
para a segunda. O resultado o grfico da Figura 3-3.

Figura 3-3: Transformao de (X,r)=x2, em funo de maximizao.

Transformar a funo objetivo em uma funo desempenho, mantendo-se as


caractersticas da funo original, um fator importante para a execuo e
convergncia dos GAs. Dependendo do problema tratado, mais de um tipo de
transformao requerido. No entanto, observando separadamente os mtodos
apresentados aqui, sugere-se a utilizao das funes de penalidade para
considerar as restries, o do acrscimo de Cmin para evitar a negatividade de (X,r)
e, para transformar um problema de minimizao em maximizao, sugere-se o
mtodo da inverso de (X,r).

36
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

3.3 Sistemas de Representao

Em sistemas artificiais, avalia-se a performance dos indivduos submetendo-os a


uma funo matemtica. Para serem apreciados por essa funo, os indivduos so
codificados numa estrutura tipo cromossmica, formada por uma cadeia de
caracteres. Nos GAs, cada cromossomo (ou cadeia de caracteres) representa uma
varivel. Dessa maneira, em problemas com mltiplas variveis, deve-se, ento,
avaliar a ao conjunta do grupo de cromossomos, ou seja, o seu gentipo. Por
exemplo, seja um problema multimodal, cuja soluo um vetor X=[x1,x2,x3]. Cada xi
um cromossomo e seu agrupamento X, um indivduo. Vale a observao de que
quando o problema tem uma nica varivel, o cromossomo e o indivduo so iguais.

O cdigo mais usado o binrio, pois h facilidade na busca de similaridades e


na implementao. Para ilustr-lo, suponha que cada cromossomo tenha
comprimento l=5. Dessa forma, um possvel indivduo para um problema de 3
variveis poderia ser representado como a seguir:

x1 x2 x3
1 1 0 0 1 0 1 0 1 1 0 0 0 1 1

O cdigo binrio possui um problema de representao que a presena dos


Hamming cliffs, ou seja, grandes diferenas de bits nas cadeias de caracteres que
codificam valores inteiros adjacentes. Por exemplo, as cadeias de caracteres 0111 e
1000, que representam os valores 7 e 8, so muito distantes no cdigo binrio. A
distncia Hamming denota a quantidade de bits diferentes que, no exemplo, so
todos os quatro.

Com o intuito de resolver esse problema, um outro tipo de cdigo binrio,


denominado de cdigo Gray (criado por Frank Gray em 1953), foi aplicado. A
finalidade era fornecer um cdigo que diferenciasse de um bit para cada dois
nmeros inteiros em seqncia. Esse objetivo quase foi conseguido (excetuando
casos, como o das cadeias de caracteres respectivas a 0 e 7 que so bem
semelhantes). Para ilustrar a situao, veja o exemplo:

0 1 2 3 4 5 6 7 Valor
000 001 010 011 100 101 110 111 binrio
000 001 011 010 110 111 101 100 Gray

Mesmo com as excees, o cdigo Gray possui mais adjacncia (propriedade de


semelhana na cadeia codificada para representao de inteiros em seqncia) na
codificao que o cdigo binrio. Com adjacncia, uma pequena taxa de mutao
apenas ajuda na convergncia final dos GAs, enquanto que no cdigo binrio uma
pequena taxa favorece a explorao de novas regies, que um fator importante

37
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

para a globalidade da pesquisa. A transformao de uma cadeia de caracteres


codificada binariamente para uma outra que utiliza o cdigo Gray, ou vice-versa,
obtida atravs da aplicao dos seguintes algoritmos:

//Apresentao das variveis

n //Nmero de bits da cadeia de caracteres


//Identifica tambm a posio do bit mais
//significativo da cadeias de caracteres
i //Contador
G[n] //Vetor que contm a cadeia de caracteres
//no cdigo Gray
b[n] //Vetor que contm a cadeia de caracteres
//no cdigo binrio
XOR(bit, bit) //Funo Ou exclusivo
//Exemplo: XOR(0,0) 0
// XOR(1,1) 0
// XOR(1,0) 1
// XOR(0,1) 1

//Apresentao das funes

Funo_Binrio_Para_Gray(){
i=n;
G[i]=b[i];
Enquanto (i0) {
i=i-1;
G[i]=XOR(b[i+1],b[i]);
}
}

Funo_Gray_Para_Binrio(){
i=n;
b[i]=G[i];
Enquanto (i0) {
i=i-1;
b[i]=XOR(b[i+1],G[i]);
}
}

No cdigo binrio importante enfatizar que, devido presena dos Hamming


cliffs, os operadores genticos, tais como cruzamento e mutao, podero ter
dificuldade em vencer uma grande distncia Hamming. A princpio, esse seria um
fator de motivao para uso do cdigo Gray, mas, mesmo assim, o cdigo mais
empregado o binrio. Logo, observa-se que no h consenso sobre qual dos dois
cdigos melhor. Entretanto, para problemas que envolvem nmeros inteiros, como
anlise combinatria, arranjo e permutao, pode ser bem mais adequada a
aplicao de um outro tipo de cdigo. Um exemplo seria o TSP (Travelling Salesman
Problem), em que um vendedor deve viajar por uma srie de cidades e retornar

38
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

cidade de origem. Nesse problema, o objetivo encontrar o menor percurso,


conhecendo-se, a princpio, as distncias existentes entre as cidades. Para resolver
o TSP, um cdigo inteiro formado pelos conjunto dos nmeros naturais (0,1,2, ..., n)
tem sido usado, por exemplo em [15] e [28].

Nos casos em que os cdigos existentes no sejam os mais adequados na


resoluo de um problema especfico a sada deve ser a criao de um novo. Mas,
antes da implementao, deve-se observar sua viabilidade. Para guiar a
implementao de novos cdigos para os GAs, ou mesmo a escolha de um j
existente, deve-se observar dois princpios bsicos, segundo Goldberg [11]: o
princpio do significado dos building blocks e o princpio dos alfabetos mnimos.

O primeiro princpio sugere que o cdigo deve dar importncia aos esquemas
curtos e de baixa ordem, pois o mecanismo de procura pela melhor soluo utilizar
a sobreposio destes esquemas. Outro ponto que as posies fixas sejam
gradualmente diferenciadas uma das outras. Com isso, pode-se observar mais
facilmente as similaridades.

O segundo princpio diz que o usurio deve selecionar o menor alfabeto que
permita a expresso natural do problema. Como exemplo suponha uma cadeia de
caracteres genrica que tenha comprimento l e que possua k tipos diferentes de
alelos. Haver ento kl diferentes cadeias de caracteres. Fixando o comprimento em
l=5, o cdigo binrio teria 25=32 diferentes cadeias de caracteres. Um outro cdigo
formado pelas letras do alfabeto ingls (a-z) teria 26 alelos, ento para o mesmo l,
esse cdigo teria 265=11.881.376 cadeias de caracteres! O que se deseja em um
problema real encontrar uma soluo com boa preciso, dentro de um grande
espao de procura e o mais rpido possvel. Seria interessante uma boa quantidade,
mas no exagerada, de indivduos, em que se pudesse verificar facilmente as
caractersticas comuns (similaridades). Mas, para cdigos com grande diversidade
de alelos, torna-se um trabalho duro pesquisar essas semelhanas, pois, num
mesmo locus, pode-se ter k variaes da caracterstica gentica.

Como o cdigo escolhido neste trabalho o binrio, deve-se, ento, saber como
ele se enquadra nesses dois princpios. Nas ilustraes da Figura 2-1 e Figura 2-2,
nota-se que esquemas curtos de baixa ordem varrem o espao de procura e ajudam
nos building blocks. O cdigo binrio com seus 0s e 1s facilitam a busca por
semelhanas. E desde que esta a essncia do mecanismo de procura dos GAs,
quando se projeta um novo cdigo, ele deve tentar propiciar o mximo de
esquemas. Para um mesmo nmero de pontos no espao, pode-se demonstrar que

39
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

o cdigo binrio possui maior nmero de esquemas por bit que qualquer outro
cdigo. Para verificar esta afirmao, acompanhe o desenvolvimento a seguir.

Considere que o nmero de pontos possveis no espao de procura seja o


mesmo para os cdigos binrio e um outro com k alelos, sendo k>2. Ento:

2l=kl

o que resulta em:

l*log2=l*logk l=l*log2/logk (3-8)

Como o nmero mximo de esquemas por cadeia de caracteres 3l para o


cdigo binrio e, (k+1)l para os demais, nota-se que o cdigo binrio conduz a maior
nmero de esquemas que qualquer outro. Este fato ilustrado pela Figura 3-4,
considerando l=7.

Figura 3-4:Nmero de esquemas possveis para o mesmo nmero


de pontos no domnio, em cdigos diferentes.

3.4 Mapeando Variveis

No exemplo do Captulo 1, a varivel x representa todos os valores inteiros


compreendidos na faixa [0, 2l-1]. Mas, as variveis reais so bem mais adequadas
para modelar a grande maioria dos problemas. Ento, deve-se fazer o mapeamento
delas para o cdigo com o qual os GAs trabalham. A relao existente entre o

40
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

cdigo binrio (supondo que o cromossomo tenha comprimento l=5) e as variveis


reais limitadas por [xmin, xmax] a seguinte:

00000 xmin

11111 xmax

O mapeamento feito linearmente, dependendo da resoluo oferecida pelo


nmero de bits usado em relao ao intervalo [xmin, xmax]. A preciso pr, proveniente
dessa resoluo, pode ser calculada pela equao:

xmax xmin
pr = (3-9)
2 1

O comprimento da cadeia de caracteres, para uma certa preciso requerida, pode


ser determinado explicitando-se o l da equao 3-9. Assim:

xmax xmin
log + 1
pr
= 1 + inteiro (3-10)
log( 2)


Quando o problema multi-varivel, concatenam-se os cromossomos para


formao do indivduo, como mostrado a seguir:
x1 x2 x3 x4 x5
1 1 0 0 1 0 1 0 1 1 0 0 0 1 1 1 0 1 1 1 1 1 0 0 1

Em todas as referncias analisadas, o comprimento l da cadeia de caracteres


no variou de parmetro a parmetro num mesmo problema de otimizao.

3.5 Parmetros dos GAs

Os GAs, gerao aps gerao, tentam encontrar indivduos com melhor


desempenho que os anteriores. Mas, problemas intrnsecos do algoritmo podem
dificultar a procura ou mesmo conduzir a pesquisa a uma direo errada. Nesses
casos, provavelmente, est ocorrendo uma falha quantitativa ou qualitativa na ao
dos operadores.

Quantitativamente pode-se listar o tamanho da populao, o comprimento do


cromossomo e as probabilidades de cruzamento e de mutao. Qualitativamente,
so os mtodos de cruzamento, de escalonamento, as estratgias de seleo, entre
outros. No Captulo 4, uma anlise dos resultados experimentais entre estes

41
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

mtodos apresentada. Por ora, interessante analisar uma faixa de valores para
alguns desses parmetros, tal que viabilize uma performance razovel dos GAs.

Comprimento do cromossomo: Sugere-se que o comprimento l do cromossomo


seja escolhido conforme a preciso requerida, o valor de l pode ser determinado
pela equao 3-10. Quanto maior o comprimento l, maior o domnio de otimizao,
porm mais precisa ser a soluo.

Nmero de indivduos da populao (npop): Uma populao pequena possui


amostragem insuficiente da maioria dos hiperplanos, podendo conduzir o algoritmo
na direo de um mnimo local. Uma populao grande contm quantidade bem
representativa do total de hiperplanos, e tambm, a homogeneizao da populao
ocorrer mais lentamente, possibilitando os GAs explorarem mais a informao
existente. Entretanto, o nmero de clculos de funo desempenho por gerao
pode resultar num tempo computacional inaceitvel.

Probabilidade de Cruzamento (pc): Esse parmetro controla a freqncia com a


qual o operador de cruzamento aplicado. A cada nova gerao provavelmente
pc*npop cruzamentos sero realizados. Baixo pc significa pouco aproveitamento da
informao existente e um alto valor de pc pode provocar convergncia prematura
(homogeneizao rpida da populao), pois o cruzamento associado reproduo
ajuda a uniformizar a populao.

Probabilidade de Mutao (pm): A mutao tem um papel diferente, mas no


menos importante que o cruzamento. As funes da mutao so inserir material
gentico novo e restaurar alelos perdidos no cruzamento ou mesmo na mutao. A
mutao realizada bit a bit segundo uma probabilidade pm. Numa populao onde
o comprimento total da cadeia cromossmica ((nmero de variveis)*l) de um
indivduo L, provavelmente acontecero pm*npop*L mutaes por gerao.
Pequenos valores de pm no proporcionam a satisfao dos objetivos da mutao,
levando o algoritmo a ficar estagnado nos hiperplanos existentes. Por outro lado,
alto valor de pm conduz os GAs procura aleatria.

A escolha ideal dos parmetros um problema no linear, e dependente do tipo


de problema tratado. Isso dificulta encontrar uma boa configurao para generalizar
a execuo de qualquer tipo de problema. De Jong [7] sugere npop=50, pc=0.60
pm=0.001. Grefenstette testou vrios conjuntos de valores de parmetros em [14] e
encontrou dois que melhor satisfizeram os medidores de desempenho conhecidos
como on-line e off-line performance (veja seo 3.13), os quais foram apresentados

42
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

por De Jong em [6] e [7]. Relativamente ao tipo on-line, Grefenstette encontrou


npop=30, pc=0.95, pm=0.01 e para a off-line performance, npop=80, pc=0.45, pm=0.01,
dando resultados ligeiramente superiores ao de De Jong. importante salientar que,
no grupo de parmetros pesquisados por De Jong, a mutao um operador
secundrio, pois tem valor bem reduzido. Grefenstette concluiu que, provavelmente,
uma variao dinmica de alguns dos parmetros seria superior ao seu resultado.
Essa afirmao motivou um estudo mais aprofundado em relao ao tema e
conduziu esta dissertao a uma contribuio cientfica, a qual ser descrita no item
Variao Dinmica das Probabilidades dos Operadores Cruzamento e Mutao.

3.6 A Mutao

A mutao um operador gentico que tem a funo de introduzir caractersticas


novas ao indivduo ou mesmo restaurar caractersticas que se perderam em
operaes, como, por exemplo, de cruzamento.

Na teoria, a mutao um evento que possui uma probabilidade pm para cada bit
da cadeia de caracteres de todos os indivduos da populao. Se a implementao
da mutao for realizada como descrito acima, ento a mutao pode se tornar um
operador de processamento caro. Por exemplo, considere que um indivduo tenha
10 variveis e cada varivel possua uma cadeia de caracteres de l=20 bits. O
comprimento total L do indivduo L=10*20=200 e, portanto, esse ser o nmero de
verificaes de ocorrncia da mutao. Considerando a probabilidade de mutao
pm=0.01, provavelmente s se efetivaro 0.01*200=2 mutaes em cada indivduo.
Nesse caso, essa implementao de mutao dispendiosa computacionalmente,
pois apenas devem acontecer 2 mutaes em 200 bits candidatos em cada
indivduo. O problema se agrava quando se leva em conta o tamanho da populao.
Entretanto, h situaes em que essa implementao vivel. Por exemplo, quando
pm*L < 1. O algoritmo a seguir mostra uma boa implementao de mutao.

43
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

//funo mutao

mutao(indivduo, L, pm) {
se pm*L<1 {
verificar_mutao_bit_a_bit(indivduo);
}
seno {
nmero_de_mutaes=inteiro_arredondado(pm*L);
Enquanto nmero_de_mutaes>0 {
mutar_bit(indivduo, random(1,L));
nmero_de_mutaes=nmero_de_mutaes-1;
}
}
}

Essa implementao interessante quando o argumento utilizado para efetuar a


mutao o indivduo. No entanto, o desempenho de processamento desse
operador gentico pode ainda ser melhorado se o argumento for a populao. O
algoritmo a seguir mostra a implementao.

//funo mutao

mutao(populao, npop, L, pm) {


se npop*pm*L<1 {
verificar_mutao_bit_a_bit_de_cada_indivduo();
}
seno {
nmero_de_mutaes=inteiro_arredondado(npop*pm*L);
Enquanto nmero_de_mutaes>0 {
escolhido=escolher_indivduo(populao);
mutar_bit(escolhido, random(1,L));
nmero_de_mutaes=nmero_de_mutaes-1;
}
}
}

As implementaes de mutao descritas so vlidas quando a codificao


utilizada a binria. No entanto, para problemas que envolvem ordenao e
permutao (por exemplo o TSP) o operador mutao deve evitar que haja repetio
de variveis num mesmo indivduo. A ilustrao abaixo representa um possvel
indivduo para o problema TSP de 10 cidades.
1 2 3 4 5 6 7 8 9 0

Se esse indivduo sofrer mutao, por exemplo na terceira varivel, para qual
valor a varivel mudar? Em [28] os autores utilizaram uma mutao chamada troca
(swap), que ocorre numa probabilidade pswap. Nessa implementao, escolhe-se
duas variveis e estas trocam de posio.

44
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

O operador mutao tem papel fundamental na evoluo da populao


(introduo e restaurao de caractersticas). Mas deve-se tomar cuidado com a
implementao, pois pode-se ter um custo computacional elevado.

3.7 Mtodos de Cruzamento

O cruzamento o principal mecanismo na gerao de novos pontos no espao


de otimizao, o qual proporciona troca de informao gentica entre indivduos.
Holland, em [18], props o cruzamento com um nico ponto de corte. Esse tipo
muito importante na teoria dos building blocks. Depois disto, aparecem outras
formas de cruzamento, como de 2 a n pontos de corte e o cruzamento Uniforme.
Alm desses tipos de cruzamento j bem conhecidos na literatura, descreve-se o
cruzamento entre vrios indivduos simultaneamente (CEVI), o qual foi apresentado
primeiramente em [43], e tambm o cruzamento por varivel (CPV), que foi proposto
nesta dissertao. A seguir, apresenta-se cada mtodo e, para ajudar em sua
compreenso, sero usados, como casal de cruzamento, os seguintes indivduos
com trs variveis:
1 - 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0
2 - 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0

Cruzamento com n pontos de corte: Similarmente ao cruzamento com um ponto,


os locais so escolhidos aleatoriamente. Se algum ponto de corte foi sorteado mais
de uma vez, no se procura por outro. Os locais de corte do indivduo acima variam
de 1 a L-1, sendo L o comprimento total do indivduo. Ento, supondo que se esteja
tratando do tipo com 4 pontos de corte, e que os escolhidos sejam 4, 6, 9 e 12, tem-
se:

1 - 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0
2 - 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0

Resultando:

1 - 1 0 1 0 1 1 0 0 1 0 0 1 1 1 0
2 - 1 1 0 1 0 0 0 1 1 0 0 1 0 0 0

Cruzamento Uniforme: Seguindo cada bit do primeiro indivduo, verifica-se se


ocorreu um evento com probabilidade de 50%. Caso afirmativo, ali um ponto de
corte, caso contrrio, repete-se o procedimento para o bit posterior. Espera-se, neste
mtodo, por (L-1)/2 pontos de corte.

Cruzamento Por Varivel (CPV): Diferenciando-se dos mtodos descritos


anteriormente, aqui o cruzamento ter um ponto de corte por varivel. A idia de

45
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

realizar o cruzamento por varivel parece ser bem natural, no entanto, no


encontrou-se na literatura nada a respeito, e portanto, considerou-se esse tipo de
cruzamento como contribuio desta dissertao. O cruzamento CPV ilustrado
abaixo:

1 - 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0
2 - 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0

Como so trs variveis, o cruzamento precisa de trs pontos de corte. Considere


que os pontos de corte sejam 2, 2 e 3 para as variveis respectivamente
apresentadas. Assim:

1 - 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0
2 - 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0

Resultando:
1 - 1 0 0 1 1 0 0 1 1 0 0 1 1 0 0
2 - 1 1 1 0 0 1 0 0 1 0 0 1 0 1 0

Cruzamento Entre Vrios Indivduos (CEVI): Inicialmente, seleciona-se o


indivduo base e depois, para cada varivel, escolhe-se aleatoriamente um parceiro
e um ponto de corte. Com isso, tenta-se aproveitar a riqueza da informao mais
rapidamente. Para mostrar seu funcionamento, suponha que o indivduo base seja o
1. Como ele composto por trs variveis, sero necessrios mais dois indivduos
para compor o grupo de cruzamento. importante salientar que o resultado
apenas um indivduo proveniente do base. Os pontos de corte para as variveis so
2, 3 e 1 respectivamente aos indivduos 2, 3 e 4.
1 - 1 0 1 0 0 0 0 0 1 0 0 1 1 1 0
2 - 1 1 0 1 1 1 0 1 1 0 0 1 0 0 0
3 - 0 1 0 1 0 1 1 0 0 1 1 1 0 1 1
4 - 1 0 0 1 1 1 0 0 0 1 0 0 1 1 0

Resultando:

1 - 1 0 0 1 1 0 0 0 0 1 0 0 1 1 0

Os mtodos de cruzamento descritos abaixo, tambm conhecidos como


operadores de recombinao, foram projetados para problemas de ordenao, como
arranjos e permutaes. Nesses casos, deve-se evitar que o cruzamento introduza
repetio de varivel num mesmo indivduo. Essa restrio inviabiliza os
procedimentos de cruzamentos descritos anteriormente. Os cruzamentos aqui
apresentados foram descritos em [11] e [28]. Em [28] foi comparada a performance
dos trs tipos de cruzamento (OX, CX e PMX).

46
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Cruzamento parcial (PMX - Partially Matched Crossover): Desse tipo de


cruzamento participam dois indivduos e geram outros dois. Para execut-lo, h
necessidade de dois pontos de corte que, como nos casos anteriores, so
escolhidos aleatoriamente. Esses dois pontos definem uma seo em que os alelos
pertencentes a ela trocaro de posio com os provenientes do parceiro. O casal
apresentado a seguir mostra o procedimento.

1 - 1 2 3 4 5 6 7 8 9 0
2 - 8 1 6 5 0 3 9 2 7 4

Com o corte ocorrendo nas posies 4 e 7, troca-se o contedo dentro da faixa:

1 - 1 2 3 4 0 3 9 8 9 0
2 - 8 1 6 5 5 6 7 2 7 4

Os alelos fora da faixa repetidos, so substitudos pelos respectivos alelos


fornecidos ao outro indivduo, finalizando o processo. Assim:
1 - 1 2 6 4 0 3 9 8 7 5
2 - 8 1 3 0 5 6 7 2 9 4

Cruzamento seqencial (OX - Order Crossover): Para descrever o cruzamento


OX, considere os indivduos anteriormente descritos e com os mesmos dois pontos
de corte utilizados para o cruzamento PMX.
1 - 1 2 3 4 5 6 7 8 9 0
2 - 8 1 6 5 0 3 9 2 7 4

Da ilustrao, observa-se que os indivduos 1 e 2 trocaro os alelos dentro da


faixa. Do ponto de vista de cada indivduo, os alelos a serem recebidos so
marcados por uma letra H, como pode ser observado a seguir:
1 - 1 2 H 4 5 6 7 8 H H
2 - 8 1 H H 0 3 9 2 H 4

Agora, a partir do segundo ponto de corte, os alelos no marcados com H,


deslizam preenchendo os espaos dos alelos marcados com H. Para facilitar o
entendimento, os prximos passos sero desenvolvidos somente para o indivduo 1.
Assim:

1 - 2 H 4 5 6 7 H 8 H 1

1 - H 4 5 6 7 H H 8 1 2

1 - 4 5 6 7 H H H 8 1 2

Finalmente, substituem-se os Hs pelos alelos recebidos, ento:

47
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

1 - 4 5 6 7 0 3 9 8 1 2

Procedendo da mesma forma, obtm-se o segundo indivduo do cruzamento. O


resultado final do cruzamento OX mostrado a seguir:

1 - 4 5 6 7 0 3 9 8 1 2
2 - 1 0 3 9 5 6 7 2 4 8

Embora os procedimentos dos cruzamentos PMX e OX sejam semelhantes, eles


possuem objetivos diferentes. Enquanto que o PMX tende a respeitar a posio
absoluta dos alelos, o cruzamento OX busca respeitar a posio relativa.

Cruzamento Cclico (CX - Cycle Crossover): Esse tipo de cruzamento no


necessita de pontos de corte, j que ele dependente apenas das posies dos
integrantes do cruzamento. Para explicar o procedimento, considere o casal
previamente descrito:
1 - 1 2 3 4 5 6 7 8 9 0
2 - 8 1 6 5 0 3 9 2 7 4

O processo inicia-se considerando-se um indivduo, por exemplo o 1, como a


estrutura bsica para o cruzamento. A seguir fixa-se o seu primeiro alelo.
1 - 1

Agora, verificando-se o segundo indivduo do cruzamento, nota-se que o alelo


correspondente ao primeiro o alelo 8. Esse ser o prximo a ser fixo, porm, no
segundo indivduo resultante. Depois disso fixa-se esse alelo no indivduo resultante
1, como mostrado a seguir:

1 - 1 8

2 - 8

A partir desse ponto, o processo se repete at que o alelo respectivo no indivduo


2 j tenha sido usado. Assim:

1 - 1 2 8

2 - 8 1 2

Para concluir o mecanismo, trocam-se as partes no fixas entre os indivduos 1 e


2. Assim:

1 - 1 2 6 5 0 3 9 8 7 4
2 - 8 1 3 4 5 6 7 2 9 0

Operador de Recombinao de Fronteiras (ERO - Edge Recombination


Operator): Esse operador, que foi criado por Whitley & Outros (Captulo 22 de [4]),

48
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

tem o objetivo de desenvolver uma codificao que permita a operao de


recombinao utilizar as melhores fronteiras atuais dos indivduos pais. Segundo os
autores, os operadores de recombinao que quebram as ligaes j existentes,
introduzem uma mutao indesejada. Para melhor explicao do processo,
acompanhe o exemplo de TSP (6 cidades), que vem a seguir.

Inicialmente, o mtodo de seleo escolhe dois pais para se realizar a operao


de recombinao. Suponha ento que os pais sejam:

1 - 1 2 3 4 5 6
2 - 5 1 6 2 4 3

A seguir, necessrio construir algum tipo de banco de dados que armazene


todas as coneces existentes entre as cidades de cada indivduo pai. Para esse
exemplo a informao armazenada deve ser:

cidade fronteiras cidade fronteiras


1 2 6 5 4 3 5 2
2 1 3 6 4 5 4 6 1 3
3 2 4 5 6 5 1 2

O processo segue escolhendo-se a cidade inicial de um dos pais, a qual ser


denominada como cidade corrente. A escolha pode ser realizada a partir de algum
critrio (por exemplo, a cidade inicial que tem menor quantidade de fronteiras) ou
simplesmente pode ser aleatria. Considere o indivduo 2 escolhido. Ento a cidade
corrente deve ser a cidade 5 (primeira cidade do indivduo 2). A seguir, exclua a
todas as referncias cidade 5 do banco de dados.

cidade fronteiras cidade fronteiras


1 2 6 4 3 2
a
2 1 3 6 4 5 - 1 escolha 4 6 1 3
3 2 4 6 1 2

Observando, no banco de dados atualizado, que as cidades 4, 6, 1 e 3 fazem


fronteira com a cidade corrente. Dessas cidades, a que possuir menos fronteiras
ser a escolhida. Como todas as cidades (4, 6, 1 e 3) tem o mesmo nmero de
fronteiras (2 fronteiras cada), a prxima cidade escolhida aleatoriamente.
Considere a cidade 4 como escolhida e atualize novamente o banco de dados.

Cidade fronteiras cidade fronteiras


a
1 2 6 4 - 2 escolha 3 2
a
2 1 3 6 5 - 1 escolha
3 2 6 1 2

Das cidades que fazem fronteira com a cidade corrente, a cidade 3 a que
possui agora menos coneces, tornando-se, portanto, a nova cidade corrente.

49
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

cidade fronteiras cidade fronteiras


a
1 2 6 4 - 2 corrente
a
2 1 6 5 - 1 corrente
a
3 - 3 corrente 2 6 1 2

O processo continua at que se percorra todas as cidades. O indivduo filho,


proveniente deste operador de recombinao, o indivduo formado pelas cidades
que foram cidade corrente na ordem de ocorrncia. Nas situaes em que a cidade
corrente no possui mais fronteiras e ainda restam cidades a serem utilizadas, a
escolha da prxima cidade corrente aleatria. Para esse exemplo, um dos
resultados desse tipo de cruzamento o indivduo:

5 4 3 2 6 1

Nessa seo, foram apresentadas vrias maneiras de se realizar o cruzamento.


Os operadores de recombinao (que tratam de arranjo e permutao) no foram
analisados numericamente no Captulo 4. Por outro lado, foram analisados
numericamente os cruzamentos Uniforme, CPV, CEVI e os cruzamentos com 1 e 2
pontos de corte.

3.8 A Inverso

Em Holland [18], existem trs tcnicas que diferenciam a nova gerao da


anterior, so eles: cruzamento, mutao e inverso. Das trs, resta descrever a
inverso. Esse operador considerado como secundrio para os GAs e foi criado
com a finalidade de evitar que bons esquemas se rompam durante o cruzamento.
Para executar o mecanismo de inverso, os GAs devem possuir um vetor que
conter a informao sobre a posio de cada bit no indivduo, como pode ser visto
a seguir:
indivduo 1 - 1 0 1 1 0 1
posio associada - 1 2 3 4 5 6

O objetivo reordenar a estrutura cromossmica para fortalecer o enlace entre


caracteres fixos de esquemas de grande comprimento de definio, antes de aplicar
o cruzamento. A inverso opera sobre um simples indivduo, numa determinada
probabilidade pinv, invertendo-se a ordem dos elementos entre dois pontos de corte
aleatoriamente escolhidos, como mostrado a seguir:

1 0 1 1 0 1

E depois da inverso:

50
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

1 0 0 1 1 1

Segundo Vasconcelos & Outros [44] o efeito da inverso em um cdigo gentico


no est bem claro e nem de fcil entendimento como os operadores mutao e
cruzamento. Para Davis [4], o operador inverso traz consigo um custo
computacional adicional aos GAs, no sendo considerado til na prtica e ainda
raramente empregado. Assim sendo, a inverso no ser avaliada neste trabalho, e
ela est aqui apresentada apenas para completar a descrio dos operadores
genticos. Maiores detalhes veja [4], [11], [18] e [44].

3.9 Mtodos de Seleo

O processo seleo/reproduo responsvel pela escolha dos indivduos que


sero submetidos s operaes genticas como cruzamento e mutao, e os
indivduos resultantes dessas operaes compem a nova gerao. No uma boa
caracterstica favorecer sempre a seleo do melhor, muito menos uma escolha
aleatria. Por um lado h possibilidade de ocorrer convergncia prematura e, por
outro, a pesquisa aleatria, deixando de explorar as informaes contidas no seio
da populao. A seguir, feita a descrio de alguns mtodos de seleo, maiores
detalhes em [11].

Roleta: Como explicado anteriormente, cada indivduo tem a oportunidade de ser


selecionado de acordo com o seu desempenho relativo ao da populao, ou seja,
psel=fi/f. Esse mtodo conduz convergncia prematura em poucas geraes, j
que o crescimento pode ser exponencial.

Torneio: Retorna o melhor indivduo entre dois obtidos no mtodo da Roleta. Este
mtodo busca dificultar, mas no elimina, as possibilidades de um indivduo com
baixo desempenho ser escolhido. O mtodo tambm favorece a convergncia
prematura, j que baseado na Roleta.

Deterministic Sampling (DS): O procedimento de seleo possui dois estgios. O


primeiro a criao de uma populao temporria, a qual preenche-se com o
nmero inteiro do clculo da expectativa de cpias de cada membro i da populao
(fi/fmed). Devido s partes fracionrias provenientes desta expectativa, haver vagas
ociosas na populao. No segundo estgio, essas vagas sero preenchidas de
acordo com os indivduos que possurem a parte fracionria do valor de
desempenho mais alta.

51
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Stochastic Remainder Sampling (SRS): Similarmente ao mtodo anterior, deve-se


formar uma populao temporria com a parte inteira da expectativa de cpias. As
vagas restantes so preenchidas, verificando-se a ocorrncia de um evento com a
probabilidade da parte fracionria. Por exemplo, um indivduo que tem a expectativa
de 2.3 cpias para a prxima gerao, ter 2 cpias garantidas, mais 30% de
chances de mais uma vaga. No entanto, deve-se estabelecer algum critrio de
escolha dos indivduos candidatos s vagas ociosas. Por exemplo, os indivduos
podem ser escolhidos aleatoriamente e, em seguida verifica-se um evento com
probabilidade de sua parte fracionria. O critrio adotado nesse trabalho, foi
escolher os indivduos na ordem crescente de desempenho. Fazendo assim, o
mtodo de seleo concede uma oportunidade aos indivduos de menores valores
de desempenho.

Stochastic Universal Sampling (SUS): Escolha aleatria entre membros da


populao. Assim, cada indivduo tem a chance de 1/npop de ser escolhido, sendo
npop o nmero total de membros da populao.

Alguns mecanismos de seleo so bem tendenciosos, como o Torneio, outros


so bem imparciais, como o mtodo SUS. Quais so melhores? A comparao
numrica e discusso dos resultados obtidos empregando os diversos mtodos de
seleo realizada no Captulo 4.

3.10 Escalonando a Populao

Entre os mtodos de seleo mais usados encontra-se o da Roleta. Nele, a


probabilidade de seleo psel baseada na razo entre aptido do indivduo fi e a
soma total dos desempenhos da populao (psel=fi/f). Esse mtodo, que parece
justo, pode s vezes conduzir os GAs a um timo local. Isto acontece porque,
normalmente, as populaes iniciais contm indivduos de baixo desempenho e, se
por acaso entre estes surgir um superindivduo, ele obter vrias cpias para
prxima gerao, direcionando fortemente o algoritmo para a regio de seus
esquemas. Se esse indivduo integrar o corpo de um pico local, certamente haver
muitas chances de se ficar preso nessa regio. Com isso, os GAs perdem a
diversidade antes de atingir o objetivo principal. Como apresentado anteriormente,
esse problema denominado convergncia prematura. Evit-la praticamente
impossvel, mas um mtodo de suaviz-la escalonar os membros da populao,
limitando probabilisticamente o nmero mximo de cpias para a prxima gerao.

52
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

O primeiro mtodo de escalonamento o Linear, onde existe uma relao linear


entre os valores de desempenho real e o escalonado, como mostrado na equao:

f = a * f + b (3-11)

onde f valor do desempenho, f seu valor escalonado, a e b so escolhidos de


modo que a reta passe pelos pontos (fmed; fmed) e (fmax; fmax). Os parmetros fmed e
fmax so respectivamente os valores mdio e mximo encontrados na populao e os
pares correspondentes, so seus valores escalonados. O primeiro ponto tem a
finalidade de garantir que os indivduos medianos consigam manter uma cpia para
a prxima gerao. Para tentar garantir essa cpia, faz-se ento fmed=fmed. O
segundo ponto tenta restringir o nmero mximo de cpias para o melhor indivduo.
Ele calculado em relao a fmed, da seguinte maneira:

= C * fmed
fmax (3-12)

onde a constante C definida com valores situados na faixa [1.2-2.0]. A Figura 3-5
mostra a ao do escalonamento linear.

Um problema surge quando a populao comea a se uniformizar, ou seja, fmed


se aproximando de fmax. Nesse ponto, indivduos bem abaixo da mdia podem ter
valores de escalonamento negativo, como mostrado na Figura 3-6. Para eliminar
esse problema, define-se f=0 quando f<0.

Figura 3-5: Esquema do escalonamento linear.

53
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 3-6: Negatividade de f esquerda e, direita a soluo.

O segundo escalonamento o Sigma Truncado, onde o principal objetivo


aproveitar melhor a diversidade da populao, com a minimizao do problema de
negatividade do escalonamento anterior. O mtodo leva em conta o desvio padro
e a mdia fmed da populao, como descrito pela equao:

f = f ( fmed C * ) se f > fmed C *


(3-13)
f = 0 se f < fmed C *

neste caso, a constante C tem valores recomendados na literatura [11] entre 1 e 3.


O procedimento elimina os indivduos que tenham desempenho inferior a (fmed- C*).
Esse mtodo tenta explorar estatisticamente a distribuio normal dos indivduos na
populao, onde o valor de C determina estatisticamente a porcentagem atingida
pelo escalonamento. A Figura 3-7 mostra a ao do escalonamento Sigma para
alguns valores de C.

54
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 3-7: Curva da distribuio normal da populao e a porcentagem


dos indivduos atingidos pelo escalonamento Sigma Truncado.

Aps o escalonamento, novamente necessrio o clculo da mdia dos valores


escalonados, para que se possa usar o mtodo de seleo.

Os mtodos de escalonamento realmente suavizam a convergncia, tentando


aumentar as chances dos GAs encontrarem a soluo global. Mas nem sempre
conseguem. Adiante, na seo 3.11, sero mostrados outros mecanismos que
auxiliam o escalonamento no objetivo de suavizar a convergncia.

3.11 Variao Dinmica das Probabilidades dos Operadores


Cruzamento e Mutao

Em problemas multimodais, espera-se que os GAs possam convergir para a


soluo global. Dessa forma, deve se preocupar em diminuir a possibilidade dele
ficar preso numa regio de timo local. Essa possibilidade aumenta medida em
que a diversidade gentica dentro da populao se reduz. Se no houver nenhum
mecanismo que restaure essa diversidade, a convergncia para o timo global pode
ficar comprometida. Neste trabalho, o desempenho mdio da populao (fmed),
dividido pelo melhor resultado (fmax), foi tomado como medida da diversidade
gentica (mdg=fmed/fmax). Se mdg prximo da unidade, significa que h pouca
diversidade, e muita, quando ele se aproxima de zero. A Figura 3-8 mostra que, na
medida em que o nmero de geraes cresce, o valor mdio da funo desempenho

55
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

se aproxima do valor mximo encontrado, o que d valores de mdg prximos da


unidade, indicando escassez de material gentico dentro da populao.

100
Funo Desempenho
80

60 fmax

40 fmed

20

0
0 5 10 15 20 25 30

Nmero de Geraes

Figura 3-8: Evoluo dos valores mximo e mdio da funo desempenho.

Para se conseguir resultados satisfatrios, deve haver diversidade gentica


suficiente no mbito da populao, durante as geraes, de tal modo a permitir que
outras regies, alm da definida pelo indivduo de melhor performance, sejam
representadas na populao. Com isso, os problemas de convergncia prematura
poderiam ser evitados. Os mtodos de escalonamento descritos na seo 3.10,
suavizam a convergncia prematura, simplesmente limitando, probabilisticamente, o
nmero de cpias por gerao para cada indivduo. Resultados obtidos na resoluo
de alguns problemas de otimizao utilizando-se de funes teste multimodais, tm
mostrado que somente esse mecanismo no suficiente para se evitar a
estagnao em mnimos locais. Assim, com o objetivo de manter um nvel suficiente
de diversidade gentica, que se tem proposto na literatura a variao dinmica das
probabilidades de cruzamento e mutao [32], [37] e [46], no decorrer das geraes.

Inmeros trabalhos foram publicados explorando os operadores cruzamento e


mutao. Por exemplo, maneiras diferentes de se efetuar a operao cruzamento
[33], comportamento dos GAs frente a variados valores das probabilidades pc e pm
[7] e [14] e, adaptao dinmica destas probabilidades [32], [37] e [46].

Neste trabalho, a variao dinmica das probabilidades de cruzamento e mutao


so analisadas, utilizando-se de trs critrios: a adaptao dinmica por indivduo e
a adaptao dinmica segundo o comportamento mdio da populao, esta ltima,
com duas variaes. Uma delas foi proposta no desenvolvimento deste trabalho.

Adaptao dinmica por indivduo (PI) [37]: As probabilidades de cruzamento e


mutao variam de acordo com o desempenho de cada indivduo e com os
desempenhos mdio e mximo encontrados na populao. Matematicamente, este
critrio foi estabelecido como:

56
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

(fmax f )
pc = k1 se f fmed (3-14)
( fmax fmed )

p c = k 3 se f < fmed (3-15)

( fmax f )
pm = k 2 se f fmed (3-16)
(fmax fmed )

p m = k 4 se f < fmed (3-17)

Acima, f representa o maior valor da funo desempenho entre os dois membros


participantes do cruzamento, f o valor da funo avaliada para o indivduo sujeito
mutao e fmax e fmed so, respectivamente, os valores mximo e mdio dessa
funo no mbito da populao. Os valores k1=k3=1.0 e k2=k4=0.5 foram sugeridos
em [37].

Nesse critrio, deseja-se evitar que as boas solues se percam com facilidade, e
que as ms sejam totalmente destrudas. Analisando as equaes acima, verifica-se
que, se o indivduo tem bom desempenho (valor da funo de desempenho acima
do valor mdio), ento as probabilidades pc e pm tero valores pequenos, a ponto de
se anularem quando o indivduo em questo o de melhor performance. Dessa
forma, a melhor soluo fica explicitamente guardada para a prxima gerao.
Quanto aos indivduos com valores da funo desempenho abaixo da mdia, esses
valores sero aumentados, permitindo-lhes mxima possibilidade de cruzamento e
altas taxas de mutao.

Adaptao dinmica de pc e pm segundo o comportamento mdio da populao


[32], [45] e [46]: O comportamento da populao analisado observando o valor
mdg. Se ele estiver abaixo de um valor Vmin, considera-se que h grande diversidade
gentica. Nesse caso, deve-se diminuir a taxa de introduo de novas
caractersticas genticas no seio da populao, acelerando a velocidade de
convergncia do algoritmo. Por outro lado, se mdg for maior que um valor Vmax,
haveria pouca diversidade gentica, o que poderia proporcionar a convergncia
prematura. Para contornar essa situao, aumenta-se a taxa de introduo de novas
caractersticas, diminuindo a velocidade de convergncia, aumentando a
possibilidade de se encontrar o timo global. Procura-se, portanto, encontrar valores
ideais para Vmin e Vmax tais que, na faixa compreendida entre eles, o nvel de
diversidade gentica seja aceitvel. Para manter mdg dentro do intervalo [Vmin, Vmax],
so apresentados dois critrios de adaptao das probabilidades pm e pc: adaptao
Fora da Faixa (FF) e adaptao Dentro da Faixa (DF).

57
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

A adaptao FF pode facilmente ser implementada. Quando mdg > Vmax, aumenta-
se pm e simultaneamente diminui-se pc, pois, com pm maior, h mais insero de
material gentico novo na populao e com pc baixo, h pouca troca de material
gentico. Por outro lado, quando mdg < Vmin, faz-se o contrrio. A alterao dos
valores das probabilidades percentual, agindo quando os valores de mdg so
respectivamente superiores e inferiores a Vmax e Vmin. O algoritmo a seguir mostra o
procedimento.

se mdg > Vmax {


pm=km*pm;
pc=pc/kc;
}
se mdg < Vmin {
pm=pm/km;
pc=kc*pc;
}

Se pm e/ou pc tiverem valores acima ou abaixo de limites previamente escolhidos,


lhes sero atribudos valores limites.

No tipo de adaptao DF (contribuio desta dissertao), quando mdg Vmax,


faz-se pm e pc respectivamente iguais a pmmax e pcmin ou pmmin e pcmax, caso
contrrio. Quando os valores so intermedirios, usa-se uma interpolao linear em
relao a um valor Videal (por exemplo, Videal = (Vmax+Vmin)/2). O algoritmo e a Figura
3-9 explicam melhor o mecanismo.

se Vmin< mdg < Vmax {


pm=interpolao(mdg,Vmin,Vmax,pmmin,pmmax);
pc=interpolao(mdg,Vmin,Vmax,pcmin,pcmax);
}

Figura 3-9: Variao dinmica dos operadores segundo o mtodo DF.

Na verdade, as duas variantes tm o mesmo objetivo que a manuteno de mdg


interior faixa de controle. A diferena bsica a ao externa e interna das

58
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

adaptaes. Espera-se que cada mtodo seja mais efetivo de acordo com sua
oportunidade de atuao. Assim sendo, a faixa de valores Vmin e Vmax dever ser
mais estreita para FF e mais longa para DF.

A Figura 3-10 apresenta a variao da diversidade (mdg) de um SSGA (este GA


ser apresentado na seo 3.14) frente adaptao DF para um problema simples.
Na Figura 3-10 nota-se que a magnitude pmmax influi diretamente no valor de mdg.

0.9

0.8
pm_max=0.01
0.7
pm_max=0.70
mdg

0.6

0.5

0.4

0.3
0 10 20 30 40 50 60 70 80
Nmero de geraes

Figura 3-10: Evoluo de mdg ao longo das geraes.

A adaptao dinmica dos operadores genticos assunto muito importante aos


GAs e ainda pouco explorado na literatura.

3.12 Critrios de Convergncia

Os algoritmos estocsticos no possuem nenhum artifcio que indique se a


soluo encontrada global. Assim sendo, os GAs continuariam operando ao longo
das geraes, buscando o melhor indivduo, mesmo que j o tivesse encontrado. A
Figura 3-11 mostra o problema. Nota-se que o algoritmo convergiu a partir da
gerao 23. Portanto, a definio de bons critrios de convergncia pode evitar que
se perca tanto tempo de execuo.

59
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

90
80

1/(Funo Desemenho)
70
fmax
60
fmed
50
40
30
20
10
0
0 5 10 15 20 25 30 35 40
Nm. Geraes

Figura 3-11: Curva caracterstica de convergncia de um GA.

Uma anlise dos principais critrios de convergncia para os GAs apresentada


em [45], onde o objetivo encontrar critrios para parar os GAs e lanar um
algoritmo determinstico para refinamento da soluo.

O primeiro critrio, apresentado aqui, a terminao por nmero mximo de


geraes. Nesse esquema, quando os GAs alcanam uma determinada gerao
predefinida, o algoritmo finalizado, apontando como soluo o melhor indivduo at
ento. Para um dado problema, obtm-se o valor ideal de geraes, aps a anlise
de convergncia para diversas simulaes. Esse nmero ideal de geraes pode ser
difcil de ser obtido, pois sendo os GAs uma tcnica estocstica, cada execuo tem
um caminho diferente.

O segundo critrio seria finalizar o algoritmo pela convergncia do melhor


indivduo, que seria feita usando os valores de desempenho dos melhores indivduos
da atual gerao fmax(atual) e da gerao anterior fmax(anterior), como pode ser visto na
equao 3-18.

fmax( atual) fmax( anterior ) (3-18)

Se esta situao ocorrer n vezes consecutivas, considera-se que o algoritmo


convergiu para uma soluo. Os resultados no so to satisfatrios quando o
problema possui muitas solues locais, porque natural que o algoritmo fique
preso nas regies dessas solues locais por algumas geraes, ou seja,
fmax(atual)=fmax(anterior). Contorna-se o problema aumentado n.

O ltimo critrio apresentado a finalizao dos GAs por convergncia da


populao, no qual analisa-se a proximidade do valor de desempenho mdio da
populao fmed em relao ao melhor valor de desempenho fmax. Quando fmedfmax,
significa que a populao encontra-se homognea, ou seja, possui todos indivduos
com cdigo bem parecido. Quando a razo fmed/fmax atingir certo fator de

60
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

homogeneidade, no h mais diversidade gentica para ser explorada e qualquer


ganho devido mutao, assim no h necessidade de prosseguir com a
execuo do algoritmo. A equao 3-19 mostra o critrio.

fmed
1 fcp (3-19)
fmax

onde fcp o fator de convergncia da populao. Pode-se considerar que a


populao est homognea quando fcp 0.01.

Em algumas situaes, esse critrio no funciona bem, por exemplo, quando o


valor da probabilidade de mutao pm grande, pois isso implicaria em alta taxa de
introduo de caractersticas genticas, impossibilitando, portanto, que a populao
fique homognea. Outra situao em que esse critrio falha aparece quando o GA
em questo o SGA (a seo 3.14 descreve o SGA e outros dois tipos de GA), pois
a cada gerao o SGA introduz uma nova populao proveniente do processo de
seleo e de operaes genticas, como por exemplo, cruzamento e mutao.
Opcionalmente, no SGA, mantm-se o melhor indivduo da gerao anterior. Assim,
sempre haver diversidade dentro da populao de maneira que a equao 3-19
no se verificar facilmente.

Cada um dos critrios descritos acima tem os seus problemas. Portanto, a sada
utilizar mais de um deles.

3.13 Medindo o Desempenho dos GAs

Uma boa maneira de analisar o desempenho dos GAs ao longo das geraes
atravs da visualizao grfica da evoluo dos valores mximo e mdio da funo
desempenho ao longo do nmero de geraes. Por exemplo, com as curvas de fmed
e fmax, tem-se um medidor simples de diversidade gentica dentro da populao, ou
seja, o quo uniforme se encontra a populao. Quando fmed aproxima-se de fmax,
significa que h pouca diversidade gentica dentro da populao, o que pode inibir a
procura de novos pontos no espao de otimizao. Verificando-se somente a curva
de fmax, determina-se a tendncia do algoritmo de estagnar em pontos locais do
domnio de procura. Entre outras, uma curva interessante envolve o desvio padro
dos desempenhos dos indivduos da populao.

De Jong, em [6] e [7], descreveu dois novos mtodos estatsticos para a


avaliao do desempenho dos GAs, que so as on-line e off-line performances, os

61
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

quais tambm so analisados em relao a cada gerao e sero explicados a


seguir.

On-line performance: Proposta com a inteno de favorecer as aplicaes em


tempo real, pois ela tenta definir como est o comportamento mdio dos integrantes
da populao em relao s mdias anteriores. Matematicamente ela pode ser
descrita pela equao 3-20.

f
1
x= med ( t ) (3-20)
T t =1

onde fmed(t) desempenho mdio na gerao t e T indica o nmero da gerao na


qual o algoritmo se encontra.

Off-line performance: Mede a convergncia do algoritmo. Muitas funes de


desempenho podem ser simuladas e as melhores alternativas so usadas
posteriormente para determinar algum critrio de parada. Neste procedimento,
mostrado pela equao 3-21, registra-se a mdia das melhores solues, gerao
aps gerao.

f
1
x =
* *
( t) (3-21)
T t =1

onde f*(t) o melhor desempenho at a gerao t e T indica o nmero da gerao na


qual o algoritmo se encontra.

Todos os mecanismos descritos nesta seo tm a finalidade de analisar como


os GAs se comportam ao longo das geraes para determinado problema. Mas, s
vezes, o objetivo fazer comparaes de desempenho entre diferentes
implementaes computacionais de GAs, ou mesmo, comparar um GA com outro
algoritmo de otimizao qualquer. Nesses casos, o artifcio de verificao o
nmero de clculos de funo desempenho.

3.14 Tipos Diferentes de GAs

O primeiro GA foi proposto (Holland [18]) sem o uso de escalonamento, com o


mtodo da Roleta, usando apenas os operadores cruzamento, mutao e inverso,
sendo o cruzamento com apenas um ponto de corte. Ao longo do tempo, esse GA
evoluiu em relao aos mecanismos de seleo, escalonamento, variados tipos de
cruzamento, entre outros, dando origem ao termo Algoritmos Genticos. No
entanto, estes mtodos alternativos no modificaram a estrutura algortmica do GA

62
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

inicial. Entretanto, De Jong [7] introduziu algumas mudanas significativas na


formao das populaes, originando os GAs de sobreposio da populao, como
por exemplo o Crowding GA e, Whitley [47] criou o Steady State GA. Neste trabalho,
alm do SGA, tambm sero tratados os GAs RGA (generalizao do estilo
Crowding) e o SSGA (Steady State).

Simple GA (SGA): Trata-se de uma das verses iniciais do GA, descrita por
Goldberg [11]. Nessa implementao, a nova gerao substitui inteiramente a
anterior, com uso apenas da seleo e dos operadores genticos cruzamento e
mutao. A populao possuir sempre nmero fixo npop de indivduos. A Figura 3-
12 mostra o procedimento do SGA.

Figura 3-12: Esquema de reposio populacional do SGA.

Em cada nova gerao do SGA, pode ser que no aparea nenhum indivduo
com performance superior ou igual a da gerao anterior. Se isso ocorrer, a
performance do algoritmo cai do patamar que j havia alcanado. Outro problema
surge em geraes mais avanadas, onde a populao contm vrias cpias de
bons indivduos. Se por acaso surgir um melhor que os atuais, este corre o risco de
no ser selecionado, justamente pela grande chance proporcionada aos indivduos
com mais cpias. Contornam-se estes dois problemas adicionando ao SGA a
estratgia elitista, que guarda, para a prxima gerao, a melhor soluo. O
importante para o SGA manter a caracterstica de reposio total ou quase (com
elitismo) da populao aps cada gerao.

Steady State GA (SSGA): Semelhante ao SGA, no SSGA, o tamanho da


populao constante, mas h grande diferena quanto ao tipo de reposio dos
indivduos na gerao seguinte. Nesse esquema, somente uma porcentagem da
populao ser substituda durante cada gerao. Ficaro intactas para a nova

63
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

iterao npop*(1-G), sendo npop o nmero de indivduos da populao e G o


intervalo (gap), tal que G [0,1]. O intervalo G representa uma porcentagem de
substituio. A Figura 3-13 mostra a estrutura do SSGA. Para o caso particular G=1,
tem-se que SSGA=SGA.

Figura 3-13: Esquema de reposio populacional do SSGA.

Replacement GA (RGA): Quanto ao RGA, a cada nova gerao apenas um ou


poucos indivduos so gerados e introduzidos na populao atravs da substituio
de outros indivduos. Inserindo poucos indivduos a cada gerao, pode-se achar
que o RGA est deixando de aproveitar a informao existente, mas isto no
verdade. Aproveita-se a riqueza da populao, s que em muito mais geraes.

Uma outra questo refere-se a estratgia de substituio. Por exemplo, no caso


do RGA, somente um ou dois indivduos entraro na prxima gerao. Estes novos
indivduos substituiro a quem? H vrias opes: novos membros podem substituir
aleatoriamente (com estratgia elitista), os piores da populao, os melhores, os
pais, os mais parecidos (estilo Crowding) ou substituir seguindo algum critrio de
classificao. Esta questo no foi tratada neste trabalho. A estratgia de
substituio usada aqui a de que novos membros substituem os piores da
populao corrente. A mesma estratgia de substituio ser utilizada para o SSGA,
ou seja, os novos indivduos substituiro os piores npop*G da populao.

3.15 Tcnicas Hbridas

Os GAs tm uma estrutura algortmica muito verstil e isso possibilita o seu


acoplamento a outras tcnicas, como por exemplo, a associao aos Mtodos
Determinsticos, aos Algoritmos Nebulosos e as Redes Neurais. Esta associao de

64
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

GAs com outras tcnicas denomina-se tcnicas hbridas. Analisaremos nesta seo
o acoplamento com um Mtodo Determinstico.

Num algoritmo de otimizao, duas caractersticas so importantes para


encontrar a soluo global. A primeira, achar a regio onde est localizada esta
soluo e a segunda, como explorar a regio para chegar ao cume do pico
(convergncia final). Entre os dois itens, os GAs so muito mais poderosos no
primeiro, onde a teoria dos building blocks explica como eles exploram os
hiperplanos. Por outro lado, os GAs tm uma deficincia na convergncia final. Isso
porque, na fase final, a populao compartilha praticamente de mesmo cdigo
gentico, ou seja, seus indivduos tm a estrutura bem parecida e com muitas
cpias. A partir deste estgio, qualquer melhoria deve-se praticamente mutao,
que, alm de ocorrer com baixa probabilidade, tambm age aleatoriamente. A
soluo para o problema de convergncia final pode ser o acoplamento de GAs com
Mtodos Determinsticos. A razo que esses mtodos tm a forte caracterstica de
rpida convergncia final na regio em que eles se encontram.

Otimizao local de uma ou mais variveis um assunto bem vasto, boas


referncias de pesquisa so [1], [9], [24] e [41]. Ento, basta escolher um mtodo de
preferncia e junt-lo ao cdigo de um GA. Esse seria um procedimento
generalizado, mas, para maior desempenho, indispensvel a adequao de
tcnicas especficas ao problema em questo.

As maneiras de inserir tcnicas locais na estrutura de GAs so limitadas pela


criatividade. Mas uma boa implementao seria a que, a cada n geraes, o melhor
indivduo fosse o ponto de partida para o lanamento da tcnica determinstica. Aps
encontrar a soluo local, o indivduo, com sua estrutura cromossmica aprimorada,
recolocado na populao. O algoritmo descrito abaixo mostra o processo.

Algoritmo Gentico + Tcnica Determinstica{


Definindo parmetros
Inicializar populao aleatria
Enquanto no alcanar critrio de parada faa {
Avaliar os indivduos da populao
Executar operadores genticos
Se nmero de geraes mltiplo de n faa {
Selecionar melhor indivduo
Aplicar tcnica determinstica
Inserir soluo aprimorada na populao
}
}
}

65
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Os trabalhos que fizeram uso deste tipo de tcnica hbrida buscaram algoritmos
determinsticos que apresentam bons resultados em termos de preciso, eficincia e
robustez. Por exemplo, Vasconcelos & Outros em [43] e [45] utilizaram como tcnica
determinstica o mtodo Lagrangeano Aumentado, enquanto que Mendes & Outros
[26] utilizaram o mtodo do Elipside. No Captulo 4 deste trabalho utilizou-se como
tcnica local o mtodo BFGS. O inconveniente dessas tcnicas determinsticas a
necessidade de clculo de derivadas. Uma possibilidade de fugir do clculo de
derivadas utilizar o mtodo de Rosenbrock. Outra tcnica local que pode ser
aplicada a do gradientlike-bitwise improvement proposta por Goldberg em [11].
Nela so tomadas como base os dois melhores indivduos da atual iterao, depois
disto varre-se bit a bit cada uma, mudando o valor do bit e avaliando o desempenho
do indivduo. No final, escolhe-se a melhor soluo para rep-la na populao. O
problema desta ltima tcnica local que ela dispendiosa computacionalmente.

3.16 Formao de Nichos e de Subpopulaes

Em sistemas naturais, define-se nicho como uma poro restrita de um habitat


onde vigem condies especiais de um ambiente e as espcies que nele vivem
disputam seus recursos. Cada espcie possui um grau de desenvolvimento de
acordo com a sua adequao ao nicho em que vive. O resultado que mesmas
espcies em habitats distintos desenvolvem suas caractersticas diferentemente,
formando subespcies. a evoluo. Pode-se introduzir o mesmo conceito de
nichos e espcies nos Algoritmos Genticos. Dessa forma, pode-se trabalhar com
subpopulaes ao invs de uma inteira, propiciando, assim, o aparecimento e
desenvolvimento de novas caractersticas.

Para entender melhor porque interessante encorajar a formao de nichos em


GAs, considere a ao de um GA sem diviso da populao sobre a funo da
Figura 3-14. Como os indivduos da primeira populao so gerados aleatoriamente,
espera-se uma razovel distribuio ao longo do domnio. Com o passar das
geraes, a populao se concentra na regio de apenas um pico, excetuando um
ou outro indivduo que sofreu mutao e se encontra em qualquer lugar do domnio.
interessante notar que h vrios mximos de igual magnitude e o algoritmo
encontra apenas uma soluo. Esta convergncia para apenas uma regio
denominada por tendncia gentica.

66
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 3-14: Distribuio da populao aps algumas geraes,


numa funo com picos de alturas iguais.

Agora, se aquele GA teve o comportamento tendencioso em relao funo da


Figura 3-14, imagine a sua atuao sobre uma funo que tenha a forma da Figura
3-15. Certamente, todos os indivduos se posicionariam no pico mais alto
rapidamente.

Figura 3-15: Funo com picos de alturas diferentes.

Muitas vezes, a melhor soluo pode significar um projeto mais arrojado e com
grande uso no futuro, mas para um tempo imediato, talvez ela seja invivel. Nestes
casos interessante ter em mos outras solues possveis, e assim tomar uma
deciso a respeito da mais conveniente. As tcnicas de nicho tentam condicionar a
sobrevivncia aos indivduos que esto fora do grupo de elite.

Neste trabalho de dissertao so descritas duas tcnicas de formao de


nichos, mas somente a primeira ser analisada numericamente.

No primeiro esquema, descrito em [10] e [11], analisando do ponto de vista de


sistemas naturais, a idia bem simples. Picos no espao so tratados como
recursos e os indivduos que neles se encontram tm que repartir os recursos. O

67
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

superpovoamento numa regio implica em menor quantidade de recurso para cada


indivduo. A escassez de recursos conduz os indivduos a migrarem para outras
regies. Voltando ao mecanismo artificial, devido tendncia gentica, a populao
vai se concentrando ao longo das geraes para apenas uma regio. Com o intuito
de diminuir a densidade populacional em determinado local, o primeiro passo foi a
elaborao de uma funo de partilha (sharing function) para medir o grau de
vizinhana, ou seja, quantificar a proximidade de um indivduo em relao aos outros
da populao (vizinhana). Depois disso, o mtodo de seleo, analisaria o indivduo
por uma aptido aparente fs, i (relativo ao indivduo i) que dependesse do grau de
vizinhana.

A aptido aparente obtida da diviso do desempenho prprio fi, pelo grau de


vizinhana total do indivduo i, o qual calculado em relao a todos os integrantes
da populao (que possui npop membros), como pode ser notado na equao 3-22:

fi
fs, i = n pop
(3-22)

(
j =1
s di j )

onde s a funo de partilha e di j representa uma funo de distncia entre os


indivduos i e j. O termo di j fica melhor definido como di j=|xi-xj|, sendo que os termos
x podem ser simplesmente retorno da funo desempenho ou a descrio do
fentipo (anlise bit a bit) dos indivduos vistoriados. O nmero total de clculos da
funo de partilha por gerao npop2.

Para inserir esta tcnica de nicho em GAs, basta mudar o mtodo de seleo,
que, ao invs de escolher os mais aptos, escolher os indivduos de acordo com sua
aptido aparente proveniente do somatrio da funo de partilha. Para cada par de
indivduos analisados, quanto maior a proximidade, mais perto de 1 o retorno da
funo de partilha. A equao 3-23 representa um conjunto de funes de partilha
(power law functions) descritas em [10] e [11].


di j
s(di j ) = 1 se di j < s
s (3-23)
s(di j ) = 0 se di j s

onde a constante s indica o menor grau de vizinhana entre dois indivduos e a


constante ( > 0) tem a funo de penalizar os indivduos mais prximos. Para o
caso especial de =1.0, a equao 3-23 descreve a funo de partilha triangular.

68
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Essa funo favorece a proporcionalidade da quantidade de indivduos em relao


importncia da regio. A Figura 3-16 mostra o comportamento de trs possveis
funes de partilha provenientes da equao 3-23.

Figura 3-16: Representao grfica das funes de partilha da equao 3-23.

Aplicando a funo de partilha triangular no problema da Figura 3-15, um possvel


resultado da distribuio da populao (com 24 indivduos) de um GA encontra-se
na Figura 3-17 que vem a seguir.

Figura 3-17: Distribuio da populao aps algumas geraes, numa funo


com picos de alturas diferentes.

O clculo da aptido aparente fs, i traz um custo adicional de processamento.


Preocupado com este problema, Goldberg props que cada indivduo realizasse o
clculo da funo de partilha com apenas k indivduos (k<<npop), com os quais seria
calculado um valor mdio de funo de partilha. O somatrio da equao 3-22 seria
estimado por (npop-1)*ui +1, onde ui corresponde ao valor mdio da funo de partilha
relativa ao indivduo i.

69
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Outro mecanismo de nicho foi proposto por Spears em [36], denominado de SSS
(Simple Subpopulation Schemes). Esse mecanismo cria subpopulaes via uso de
etiquetas de identificao (labels), as quais so anexadas aos indivduos. Portanto,
os indivduos que tiverem mesma etiqueta, pertencem a mesma subpopulao. As
etiquetas so formadas por uma cadeia binria de comprimento l. Dessa forma,
possvel a formao de 2l agrupamentos distintos de indivduos. A ilustrao a
seguir mostra quatro indivduos de comprimento l=7 bits e suas respectivas
etiquetas de comprimento l=3 bits. Pelas etiquetas, observa-se que os indivduos 1
e 4 pertencem a mesma subpopulao.

l l

1 - 1 1 1 1 0 0 0 0 1 0
2 - 0 0 1 0 1 0 1 0 1 1
3 - 1 1 0 0 0 1 0 1 0 1
4 - 1 1 1 1 0 1 0 1 1 1

O processo inicia-se no momento da criao da populao. Associado a cada


indivduo, as etiquetas so criadas aleatoriamente. Como no mecanismo de nicho de
Goldberg, os indivduos sero selecionados de acordo com uma aptido aparente. A
performance aparente de cada indivduo medida a partir da aptido individual
dividida pelo nmero de integrantes do seu nicho.

Em seu trabalho, Spears analisou dois mecanismos diferentes: SSS1 e SSS2. O


SSS1 usa as etiquetas para restringir cruzamento. S podem cruzar indivduos de
mesma subpopulao. O SSS2 se diferencia do SSS1 por permitir cruzamento entre
indivduos de subpopulaes vizinhas, sendo que cada subpopulao tem duas
subpopulaes vizinhas, uma direita e outra esquerda. Outra diferena surge no
clculo da aptido aparente. Enquanto que no esquema SSS1 a aptido aparente
obtida do valor do desempenho individual pelo nmero de indivduos de mesma
etiqueta, no esquema SSS2 a aptido aparente calculada relativamente ao nmero
de componentes das trs subpopulaes vizinhas.

Comparando os mtodos de Goldberg e Spears, o segundo apresenta-se muito


mais vivel para grandes populaes, visto que a classificao por etiquetas tem um
custo muito inferior que a outra tcnica, a qual executa npop2 avaliaes de funo de
partilha em cada gerao. Por outro lado, o nmero de subpopulaes varivel,
enquanto que, no mtodo de Spears, o nmero mximo de subpopulaes fixo e
determinado por 2l. Finalmente, o mtodo de Goldberg mais preciso, porm de
custo mais elevado.

70
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

A formao de nicho conduz os GAs a bons resultados. Agora, produz resultados


ainda melhores se as subpopulaes forem estveis, Deb & Goldberg em [8]
definem que, se uma subpopulao com 100 membros sobrevive por mais de 200
geraes, ela estvel. Uma subpopulao estvel pode ser obtida fazendo-se
restrio do cruzamento ou, em outras palavras, somente permiti-lo entre membros
do mesmo nicho. Para a tcnica de Spears, simplesmente verificam-se as etiquetas
no ato do cruzamento, enquanto que para o mtodo de Goldberg associam-se
etiquetas binrias (tag bits) que indicam uma seqncia que deve conter o outro
indivduo para haver cruzamento (maiores detalhes, veja [11]). Spears tambm
analisou a mutao agindo sobre a etiqueta, permitindo a mudana de nicho.
Restrio do cruzamento um item que no ser verificado nesta dissertao.

3.17 Reduo do Espao de Procura

Para resoluo um problema de otimizao por intermdio de GAs, deve-se


limitar um domnio de procura para cada varivel e, durante toda a pesquisa para
encontrar a soluo global, os GAs continuam verificando todo o espao delimitado
na fase inicial. Se o melhor indivduo da populao, quando um GA converge, no
corresponde melhor soluo, pelo menos esse indivduo define uma subregio em
torno dele, na qual h grandes chances de se encontrar a soluo global. Ento, se
os GAs tm facilidade de encontrar boas subregies, por que no explor-las? Com
o propsito de responder a essa questo, desenvolveu-se, nesta dissertao, uma
tcnica de reduo de intervalo de procura. Escolheu-se reduzir o espao
exponencialmente de acordo com a equao 3-24, que vem a seguir.

In = I0 (1 + j) n (3-24)

onde I0 corresponde ao intervalo inicial de procura, In o intervalo na n-sima


reduo e j a taxa de reduo. Depois de calculado In, o novo espao de procura
determinado tendo como base cada uma das variveis do melhor indivduo. A Figura
3-18 mostra o procedimento.

71
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 3-18: Mecanismo de reduo de intervalo.

Se por acaso durante a reduo, algum limite novo de algum intervalo ficar de
fora do intervalo inicial, ele ser redefinido como o limite inicial. Depois de definido o
novo intervalo, guarda-se o melhor indivduo e a seguir gera-se uma nova populao
aleatria, dando continuidade ao processo evolutivo. Quando essa nova populao
estiver um pouco homognea, introduz-se o melhor indivduo guardado. Essa espera
tem como finalidade gerar bons concorrentes ao melhor indivduo do intervalo
anterior. O nmero de bits de um intervalo fixo e, com isso, a cada diminuio do
intervalo haver melhor resoluo por varivel, proporcionando aumento de
preciso.

A equao 3-24 mostra matematicamente como esta reduo pode ser feita, no
entanto, a reduo de intervalo um mecanismo que precisa ser analisado com
muito cuidado, pois, se uma varivel remapeada num subdomnio e o ponto
soluo do problema se encontra fora dele, o algoritmo pode ter dificuldades em
encontr-lo. Se a reduo de intervalo for feita continuamente, certamente o espao
de procura final seria um micro domnio para cada varivel, o que conduziria
situao anterior. Um alto valor de reduo, poderia conduzir o algoritmo a sair
definitivamente do espao da soluo global de uma nica vez. Portanto,
necessrio tomar algumas precaues de forma a reduzir o intervalo com mais
segurana.

Tentando esquivar destes problemas, a implementao da tcnica de reduo no


cdigo de GAs foi um pouco complicada. Para acionar o mecanismo de reduo de
intervalo, trs condies devem estar satisfeitas. Essas condies, quando
satisfeitas, so assinaladas por indicadores (flags) ativos. O primeiro indicador ativo
aponta que o melhor indivduo o mesmo das ltimas n geraes, ou seja, o

72
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

algoritmo est estagnado num ponto por n geraes consecutivas. O indicador 2,


quando ativo, mostra que h pouca diversidade gentica dentro da populao,
existindo, portanto, menores chances do algoritmo sair da regio definida pelo
melhor indivduo. O medidor de diversidade mdg o mesmo usado na adaptao
dinmica dos operadores genticos. O indicador 3 encontra-se ativo enquanto o
intervalo de procura no chegar ao valor mnimo estipulado. Com os trs indicadores
ativos, antes de executar a reduo, guarda-se o melhor indivduo. Usando a
equao 3-24 obtm-se o valor de In e utiliza-se cada varivel xi do melhor indivduo
para definir o novo intervalo, que ser xiIn/2. Depois disso, reinicia-se o processo
evolutivo com nova populao aleatria. Quando mdg indicar certo valor de
uniformizao, insere-se o melhor indivduo do intervalo anterior, no novo intervalo.
O processo de reduo continua at o indicador 3 ser desativado. A Figura 3-19
mostra o comportamento de um SSGA com o mecanismo de reduo de intervalo,
sobre uma funo de minimizao genrica, ao longo das geraes.

120

100
1/(Desempenho)

80 fmax
fmed
60

40

20

0
0 5 10 15 20 25 30 35 40 45 50 55 60 65
Nmero de geraes

Figura 3-19: Comportamento de um SSGA com o mecanismo de reduo de intervalo.

Analisando a Figura 3-19, observa-se que, a partir da vigsima gerao fmedfmax


(mdg1), e portanto, a populao est ficando bem homognea. Nota-se tambm
que, entre as geraes 18 e 28, o SSGA no obteve melhorias quanto ao valor de
fmax. Com mdg1 e fmax estagnado, dificilmente o algoritmo sair desse patamar de
soluo. Ento, aplica-se o mecanismo de reduo de intervalo.

No Captulo 4 esto apresentados o comportamento tpico do RGA, SGA e SSGA


(veja Figura 4-5, Figura 4-6 e Figura 4-7) segundo a evoluo dos valores de
desempenho mdio e mximo encontrados na populao. Nas figuras observa-se
que o SGA inadequado aplicao deste mecanismo de reduo de intervalo,

73
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

pois h muita flutuao dos valores de fmed, deixando portanto, medidor de


homogeneidade da populao mdg impreciso.

Um problema que inviabiliza o uso do mecanismo da reduo de intervalo


aparece quando o nmero de variveis do problema grande. Nesses casos,
muito difcil definir as subregies com segurana. No Captulo 4, a reduo de
intervalo um dos assuntos tratados nos testes numricos.

3.18 Concluso

O SGA, descrito por Goldberg em [11], com o mtodo de seleo e os operadores


cruzamento e mutao ganhou, no decorrer dos anos, muitas inovaes, entre elas,
vrios tipos de cruzamento, seleo, tcnicas de suavizao da convergncia
(escalonamentos, critrios de adaptao dinmica dos operadores e mtodos de
formao de nicho), e tambm, a incluso de outras tcnicas ao cdigo dos GAs
(tcnicas determinsticas). To importante quanto estas inovaes, a codificao
das variveis, introduo de restries e modelamento da funo objetivo de forma a
facilitar o processo evolutivo dos GAs. Outro ponto importante a evoluo do
prprio Algoritmo Gentico, que a partir do GA de Holland [18], surgiram tambm
vrios outros como o SGA, RGA e o SSGA, cada um com caractersticas prprias.

74
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

4. Anlise Numrica de
Algumas Tcnicas Genticas

4.1 Introduo

Este captulo trata da anlise numrica dos mtodos descritos no captulo


anterior, aplicados aos trs tipos de GAs, os quais se diferenciam pela quantidade
de indivduos gerados de uma gerao para outra. No caso do SGA, a nova
populao substitui completamente a anterior, sendo uma opo manter o melhor
indivduo at ento. Entretanto, tratando-se do SSGA, especifica-se uma
porcentagem de integrantes da populao a ser substituda. J o RGA, introduz na
nova gerao apenas um ou dois membros novos. O estudo dos mtodos foi
dividido em trs partes distintas. Na primeira, sero analisadas, algumas tcnicas
como escalonamento, cruzamento e mtodos de seleo. Nesse ponto, tambm
ser introduzido o mecanismo de adaptao dinmica das probabilidades de
cruzamento e mutao. O que se quer aqui propor uma seqncia de testes que
possibilite encontrar um grupo de parmetros que torne os GAs mais adaptados
para a resoluo de um problema especfico. Inicialmente, foi analisado o
desempenho conjunto dos trs GAs, com isso, espera-se conseguir um conjunto de
parmetros mais robusto. Em seguida, cada GA ser desenvolvido separadamente,
buscando assim, os mtodos que se identificam mais com seu prprio tipo. Na
segunda parte, as tcnicas formao de nicho, reduo do intervalo de procura ao
longo das geraes e o acoplamento com um Mtodo Determinstico ao corpo de um
GA sero executadas como demonstrao, pois seria praticamente impossvel
avaliar todas as combinaes intrnsecas de cada mtodo conjuntamente com
outros parmetros e mtodos dos GAs. Para exemplificar, um ponto a ser tratado o
acoplamento de uma tcnica determinstica estrutura de um GA. Nesse caso, um
problema seria verificar mais uma tcnica local e, para cada tcnica, variar seus
parmetros, e assim por diante. Finalmente, na terceira parte, sero mostrados
alguns resultados de pesquisadores sobre mtodos descritos aqui, porm no
implementados.

75
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Para a primeira parte, os GAs foram avaliados atravs de trs funes, com as
respectivas solues previamente conhecidas. Foram feitos uma srie de testes,
com o objetivo de aprimorar o desempenho dos GAs, perante essas trs funes.
Infelizmente, a grande diversidade de problemas de otimizao impossibilita afirmar
que este ou aquele mecanismo ou tcnica o melhor. Para a segunda parte, os
mecanismos considerados no genticos como reduo do intervalo de procura ao
longo das geraes e adio de tcnica determinstica, juntamente com a formao
de subpopulaes (nichos), interagem com a adaptao dinmica formando GAs
mais robustos. O nico inconveniente relativo ao tipo de mtodo de formao de
nichos, que muito caro computacionalmente. Essas tcnicas sero analisadas para
apenas uma funo, a mais complicada dentre as da primeira fase de teste, mas
com o nmero de variveis bem maior. Na terceira parte, a qual trata de trabalho de
pesquisadores, geralmente a anlise feita para o SGA com elitismo e as funes
usadas so as mais diversas. Mesmo assim, considerou-se vlida a incluso de
seus resultados nesta dissertao.

Antes de se descrever os procedimentos de teste, sero apresentadas as funes


a que os GAs sero submetidos.

Para realizao de todos os experimentos deste captulo e tambm do captulo de


aplicaes (Captulo 5), foi utilizado um software desenvolvido no MIT
(Massachusetts Institute of Technology) chamado GAlib, verso 2.3.2.

4.2 Melhorando o Desempenho dos GAs

4.2.1 Funes Teste

No h algoritmo de otimizao que resolva satisfatoriamente todo tipo de


problema, devido grande variedade dos mesmos. Ento, foram escolhidas trs
funes teste de forma a tentar agrupar algumas caractersticas comuns a uma srie
de outras funes. As caractersticas so de continuidade, descontinuidade e de ser
multimodal com apenas uma soluo global.

A primeira funo, conhecida como Degrau ou F3 de De Jong [7], mostrada na


Figura 4-1, tem como caracterstica ser descontnua. A Figura 4-1 representa o caso
2D, mas a funo extensvel a n variveis (dimenses). A funo Degrau obtida
a partir da Equao 4-1.

76
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

ff ( x) = int eiro _ arredondado( x i ) (4-1)


i =1

Deseja-se encontrar o mnimo para essa funo, que obviamente, ocorre quando
cada xi < 0.5. Para a realizao dos testes para anlise numrica, foi tomado n=2 e o
intervalo de procura foi definido com xi [-20, 20]. Como os GAs trabalham em
termos de maximizao e nesse caso quer-se o mnimo, a funo objetivo ff(x) foi
transformada na forma de uma funo desempenho f(x) como mostrado na
equao 4-2.

1
max f(x) = (4-2)
ff(x) +

onde a constante =10-6.

Figura 4-1: Funo Degrau 2D.

A segunda funo, conhecida como funo de Rastrigin, ilustrada na Figura 4-2,


tambm para o caso de duas variveis.

77
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 4-2: Funo de Rastrigin.

O caso 2D foi o caso tratado na fase de testes. Da mesma forma que a funo
Degrau, essa funo tambm pode ser extensvel a n variveis. Como pode ser visto
na equao 4-3, uma funo contnua e altamente multimodal. No intervalo
escolhido xi [-5.12, 5.12], ela possui aproximadamente 10n mnimos.

ff ( x) = A * n + [ x i2 A * cos( 2 * * xi )] (4-3)
i =1

O parmetro A pode ser qualquer nmero real. O mnimo global dado por xi=0.0
para todo i [1, n]. Foi admitida como soluo tima, toda soluo em que a norma
euclidiana do vetor soluo for inferior a 0.3, pois, nesse ponto, a regio do mnimo
j est caracterizada. Mais uma vez, o objetivo do problema minimizao. Para
adequar o problema para maximizao, introduziu-se a equao 4-3 na equao 4-
2.

A ltima funo (veja Figura 4-3), proveniente da adaptao da funo peaks do


Matlab, ser denominada por Picos. uma funo contnua e com apenas 5
mximos, cuja forma analtica mostrada pela Equao 4-4. Esta uma funo
puramente 2D.

x1 1
ff ( x) = 3 * (1 x1 ) 2 * e x1 ( x2 +1) + 10 * ( x13 x 52 ) * e x1 x2 + * e ( x1 +1) x2
2 2 2 2 2 2
(4-4)
5 3

O domnio de procura para x1 e x2 est situado no intervalo [-3;3]. Nesse caso, o


objetivo maximizar ff(x), logo f(x)=ff(x). Para preciso de 4 casas decimais a

78
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

soluo global acontece quando x1=-0.0094 e x2=1.5814. Mas, ser considerado que
o algoritmo chegou ao mximo quando a norma euclidiana em relao ao ponto
soluo for inferior a 0.3.

Figura 4-3: Funo Picos.

A funo de Rastrigin , entre as trs, a mais difcil para o algoritmo encontrar a


soluo global. Isso acontece por causa da grande quantidade de mnimos locais ao
longo de todo o domnio. J a funo Picos a mais simples. Espera-se com ela
excelente performance dos algoritmos em todos os testes. A funo Degrau possui
como dificuldade a descontinuidade e tambm os degraus de performance, nos
quais, a funo objetivo retorna o mesmo valor, dificultando os GAs decidirem quais
indivduos podem ser mais, ou menos, teis. A Tabela 4-1, que vem a seguir, tenta
sintetizar algumas informaes sobre as trs funes teste.
Tabela 4-1
Informaes gerais sobre as funes teste.
Funo teste Limite das Soluo global quando Comprimento Nmero mximo de
variveis l de cada xi clculo de funo
Degrau -20.0 xi 20.0 xi < 0.5 18 bits 2050
Rastrigin -5.12 xi 5.12 norma euclidiana < 0.3 16 bits 2050
Picos -3.0 xi 3.0 norma euclidiana < 0.3 15 bits 650

A penltima coluna indica o comprimento l utilizado para cada xi, de forma que a
resoluo do espao de procura seja inferior a 0.0001. A ltima coluna mostra um
dos dois critrios de parada dos GAs, que o nmero mximo de clculo de funo
permitido para a resoluo de cada problema. O segundo critrio, o de convergncia
da populao, finalizar os GAs caso 1-mdg < 0.01.

79
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

4.2.2 Testando Mtodos Bsicos

Os Algoritmos Genticos trabalham com um conjunto de parmetros


simultaneamente. Os valores numricos desses parmetros so decisivos no
desempenho do algoritmo. Parmetros como probabilidade de cruzamento e
mutao j foram temas de muitos trabalhos como [7] e [14]. Grefenstette em [14],
aps uma extensa srie de testes, concluiu que a escolha ideal dos parmetros
um problema no linear. Alm dessa no linearidade, um outro problema adicional
que todos os mecanismos dos GAs so guiados probabilisticamente, ou seja, a cada
execuo, o caminho utilizado para procurar a soluo dificilmente seria o mesmo.
Com isso, no se pode afirmar que um mtodo superior a outro com uma simples
execuo. Para aumentar a confiabilidade, cada teste foi executado 30 vezes.
Talvez esta quantidade ainda no seja ideal, mas, de acordo com o nmero de
execues realizados nos trabalhos [5], [33] e [37] (20, 10 e 30 respectivamente), a
quantidade parece ser suficiente.

Os parmetros probabilidade de mutao e cruzamento, assim como quantidade


de indivduos na populao, no foram reavaliados nesta dissertao. Foram usados
os valores pertinentes ao trabalho de De Jong [7], no qual sugerido que a
populao seja composta por 50 indivduos, a mutao e o cruzamento com
probabilidades 0.001 e 0.6, respectivamente. Tambm para realizao desta fase,
foram fixos a Roleta como mtodo de seleo, o cruzamento com 2 pontos de corte
e o escalonamento Linear com multiplicador 1.2. A Tabela 4-2 agrupa esse conjunto
inicial de parmetros. Esse grupo de parmetros (com poucas variaes) tem sido
usado como padro em trabalhos de muitos pesquisadores que apenas utilizam os
GAs como ferramentas de otimizao. Observando esse conjunto de parmetros e
mtodos consagrados, ser possvel melhor-lo? Para tentar responder essa
pergunta, criou-se essa seo. Quanto ao nmero de geraes este foi ajustado de
forma que o nmero mximo de clculo de funo descrito na Tabela 4-1 possa ser
atingido.
Tabela 4-2
Conjunto de parmetros utilizados inicalmente nos GAs.
Parmetro Contedo
tamanho da populao 50 indivduos
probabilidade pm 0.001
probabilidade pc 0.6
mtodo de seleo Roleta
mtodo de cruzamento 2pontos
mtodo de escalonamento Linear(1.2)

Inicialmente, os GAs foram avaliados perante suas caractersticas prprias. No


SGA, foi observado se melhores resultados aparecem usando estratgia elitista ou

80
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

sem tal estratgia. No SSGA, procurou-se pelo valor do melhor intervalo G e,


finalmente no RGA, buscou-se determinar a melhor quantidade de indivduos (um ou
dois) a serem inseridos na prxima gerao. Tanto no SSGA quanto no RGA a
estratgia de substituio utilizada estabelece que os novos membros substituem os
piores da populao. Vale lembrar que foram realizadas 30 execues em cada
teste e o resultado (nmero de execues com sucesso) encontra-se na Tabela 4-3
e na Tabela 4-4.

Tabela 4-3
Testando o elitismo para o SGA.
Funo Elitismo Sem Elitismo
Degrau 23 15
Rastrigin 11 10
Picos 27 25

Tabela 4-4
Testando a reposio para o RGA.
Funo 1 indivduo 2 indivduos
Degrau 16 11
Rastrigin 9 3
Picos 26 25

Com esses testes, escolheu-se trabalhar, de agora em diante, com o SGA que
assegura a sobrevivncia do melhor a cada gerao e com o RGA que recoloca em
cada gerao apenas 1 indivduo. Para encontrar o melhor intervalo G do SSGA o
procedimento foi um pouco mais complicado. Ao invs de valores numricos, um
grfico foi feito para tentar encontrar uma regio na qual se pudesse esperar um
bom desempenho mdio relativo execuo das trs funes teste. Variou-se o
intervalo G de 0.05 at 0.95 com incrementos de 0.05 a cada teste. O resultado est
mostrado na Figura 4-4.

30

26
Execs. com sucesso

Mdia
22 Degrau
Rastrigin
18 Picos

14

10
0.05 0.15 0.25 0.35 0.45 0.55 0.65 0.75 0.85 0.95
Valor do intervalo G

Figura 4-4: Testando o intervalo G de populao para o SSGA.

A regio foi escolhida pela melhor mdia de 5 execues consecutivas. O melhor


intervalo aconteceu para G [0.7, 0.9]. Ento escolheu-se G=0.8 por que, alm de

81
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

estar contido no intervalo, proporciona um nmero inteiro de indivduos a cada


gerao (50x0.8=40).

Quanto a estes testes, pode-se questionar: no poderia a estratgia elitista do


SGA ser analisada, assegurando a sobrevivncia para a prxima gerao dos dois
(ou trs) melhores ao invs de apenas o melhor? Por que se testou para o RGA,
apenas a insero de um ou dois indivduos a cada gerao e no mais que isso?
Por que o intervalo G no foi implementado para valores menores que 0.05 ou
maiores que 0.95? A resposta para estas perguntas simples. Se o elitismo garantir
a sobrevivncia de outros indivduos, o SGA torna-se SSGA. O contrrio acontece
quando o intervalo G do SSGA bem baixo. De forma anloga, o RGA se
comportar como o SSGA (de G baixo) ou com SGA padro quando o nmero de
indivduos novos a cada gerao forem altos.

Observando a Figura 4-4, nota-se uma varincia bem acentuada na funo de


Rastrigin. Isso indica que, mesmo usando 30 execues, s vezes no se consegue
definir uma predominncia de um ou outro mecanismo. O motivo que os GAs so
dirigidos por tcnicas estocsticas e, assim sendo, no se pode afirmar que ele
convergir para a soluo global em 100% dos casos, mesmo que ele tenha tido
sucesso em todas as execues feitas. A Tabela 4-5 agrupa os resultados desta
fase inicial.
Tabela 4-5
Resultados da fase inicial de testes.
Funo RGA SGA SSGA Mdia
Degrau 23 16 26 21.7
Rastrigin 11 9 13 11.0
Picos 27 26 30 27.7
Mdia 20.3 17 23 -

Antes de iniciar outros testes, importante apresentar como os GAs se


comportam ao longo de uma execuo. Para mostrar o comportamento, registraram-
se os valores mximo e mdio da funo desempenho em cada gerao. O
resultado pode ser visto na Figura 4-5, Figura 4-6 e Figura 4-7. Dessa forma, fica
mais fcil visualizar e compreender a convergncia de cada algoritmo.

82
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

30

25
1/(funo desempenho)

20 fmax
fmed
15

10

0
50 250 450 650 850 1050 1250 1450 1650 1850 2050
Nmero de clculos de funo

Figura 4-5: Evoluo dos valores mximo e mdio da funo desempenho


ao longo de uma dada execuo do RGA (para a funo de Rastrigin com n=2).

35

30
1/(funo desempenho)

25
f max
20
f med

15

10

0
50 250 450 650 850 1050 1250 1450 1650 1850 2050

Nmero de clculos de funo

Figura 4-6: Evoluo dos valores mximo e mdio da funo desempenho


ao longo de uma dada execuo do SGA (para a funo de Rastrigin com n=2).

83
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

30

25
1/(funo desempenho)

20
f max
f med
15

10

0
50 250 450 650 850 1050 1250 1450 1650 1850 2050

Nmero de clculos de funo

Figura 4-7: Evoluo dos valores mximo e mdio da funo desempenho


ao longo de uma dada execuo do SSGA (para a funo de Rastrigin com n=2).

Nas prximas sees de testes, foram analisadas outras opes para os


mecanismos de seleo, escalonamento e cruzamento, que estavam fixos at ento.
Inicialmente, foram tratados outros mtodos de seleo. Os resultados encontram-se
nas tabelas a seguir. O termo MCF (Mdia de Clculos de Funo) denota a mdia
de clculo de funo sobre as 30 execues. Esse um fator importante para a
avaliao da manuteno de diversidade dentro da populao num GA.
Tabela 4-6
Funo Degrau e os mtodos de seleo.
GAs Roleta Torneio SUS SRS DS
ES MCF ES MCF ES MCF ES MCF ES MCF
SGA 22 2050 27 1613.3 18 2050 15 2050 18 2050
SSGA 25 810 23 572.7 24 826 26 803.3 25 843.3
RGA 16 347.4 7 220.6 14 376.7 13 391.5 18 457.3
Mdia 21.0 1069.1 19.0 802.2 18.7 1084.2 18.0 1081.6 20.3 1116.9

Tabela 4-7
Funo Rastrigin e os mtodos de seleo.
GAs Roleta Torneio SUS SRS DS
ES MCF ES MCF ES MCF ES MCF ES MCF
SGA 11 2050 16 1851.7 9 2050 10 2050 10 2050
SSGA 17 1466 15 992.7 15 1590 21 1696.7 14 1538
RGA 9 440.2 6 266.7 9 535.3 10 486.3 11 520
Mdia 12.3 1318.7 12.3 1037.0 11.0 1391.8 13.7 1411.0 11.7 1369.3

Tabela 4-8
Funo Picos e os mtodos de seleo.
GAs Roleta Torneio SUS SRS DS
ES MCF ES MCF ES MCF ES MCF ES MCF
SGA 29 650 28 650 23 650 26 650 23 650
SSGA 27 611.3 25 495.3 28 650 29 648.7 29 650
RGA 26 499 24 274.4 23 563.3 27 529 23 481.8
Mdia 27.3 586.8 25.7 473.2 24.7 621.1 27.3 609.2 25.0 593.9

Nestas tabelas interessante notar as colunas relativas mdia de clculo de


funo. Alguns algoritmos so finalizados pelo segundo critrio de parada (1-
mdg<0.01), ou seja, antes que o nmero mximo de clculo de funo seja atingido.

84
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Essa rpida uniformizao pode facilitar os GAs a pararem numa soluo local. As
tabelas mostram que, considerando conjuntamente os trs GAs, o mtodo da Roleta
encontra-se bem cotado para as trs funes e que o mtodo do Torneio funciona
muito bem quando se trata do SGA, mas em contrapartida no eficiente para o
RGA. Isso porque o Torneio o mais tendencioso dentre os mtodos de seleo
apresentados e o RGA entre os algoritmos. O resultado a convergncia prematura.
No caso do SGA, que possui convergncia mais suave, o mtodo do Torneio
contribui como agente compensador, sendo, portanto, benfico sua interao.
Fazendo um balano de desempenho dos GAs, o SSGA mostrou-se superior na
maioria dos testes.

Pelos resultados da Tabela 4-6, que se referem funo Degrau, os mtodos da


Roleta e DS foram os que apresentaram melhor performance. Para escolher o
mtodo de seleo que seguir nos prximos testes, as duas tcnicas foram
executadas mais 50 vezes, prevalecendo o mtodo da Roleta. Para a funo de
Rastrigin, tambm houve um impasse entre os mtodos Roleta, Torneio e SRS.
Seguindo o procedimento aplicado funo Degrau, executou-se mais 50 vezes
cada um destes. O SRS sobressaiu-se levemente, e portanto, ele foi o escolhido. O
mesmo problema ocorreu para a funo Picos e, mesmo executando 100 vezes,
ainda no se pde afirmar qual o melhor mtodo. O problema de encontrar melhores
tcnicas, para a funo Picos mais acentuado porque os GAs no encontram
tantas dificuldades quanto s outras funes para a sua resoluo. Com isso, vrios
mtodos proporcionam boa performance. O SRS foi o escolhido por ter ficado bem
classificado em todas as execues.

Aps verificar a potencialidade dos mtodos de seleo, foram analisados dois


mtodos de escalonamento e tambm com a ausncia de qualquer tipo de escala. A
performance dos dois mtodos de escalonamento foi observada para vrios valores
dos multiplicadores Sigma e Linear. Em [11], Goldberg diz que as faixas mais usuais
destes escalonamentos so [1.2-2.0] para o tipo Linear e, [1.0-3.0] para o tipo
Sigma. Na tentativa de melhorar o desempenho dos GAs relativamente aos mtodos
de escalonamento, foram testados neste trabalho, valores fora destas faixas. Para o
escalonamento Linear, pesquisou-se dentro do intervalo compreendido entre 1.0 e
4.0, com incrementos de 0.05, totalizando 61 testes para cada GA. Usando o mesmo
incremento, a faixa para o escalonamento Sigma variou de 0.5 at 3.0, o que
resultou em 51 testes. Para encontrar o melhor escalonamento para cada funo
teste, inicialmente calculou-se a mdia de execues com sucesso para os trs GAs

85
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

em cada valor dos multiplicadores. A seguir, utilizou-se um procedimento


semelhante ao usado para descobrir o melhor intervalo G do SSGA. A diferena
que, ao invs de buscar a regio com uma largura de faixa fixa, procurou-se
tambm regies para outras larguras de faixa. O propsito seria certificar se a regio
de melhor escalonamento est ou no bem definida. As figuras a seguir demonstram
melhor a situao.

Figura 4-8: Faixas de melhor desempenho para a funo Degrau


com escalonamento Linear.

Figura 4-9: Faixas de melhor desempenho para a funo Degrau


com escalonamento Sigma.

No escalonamento Linear, nota-se que as faixas no definem uma nica regio


como no escalonamento Sigma. Mas assim mesmo vale a pena usar o tipo Linear
porque as mdias das faixas so ligeiramente superiores s do tipo Sigma. O valor
do multiplicador Linear foi escolhido como o valor mdio da regio de interseo das
faixas, ou seja, 2.4.

Figura 4-10: Faixas de melhor desempenho para a funo Rastrigin


com escalonamento Linear.

Figura 4-11: Faixas de melhor desempenho para a funo Rastrigin


com escalonamento Sigma.

86
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Observando as figuras para a funo de Rastrigin, depara-se com o caso


anteriormente descrito, ou seja, mesmo que as faixas do escalonamento Sigma
determinem uma regio e as do escalonamento Linear no a definam, a
superioridade da mdia do tipo Linear favorece a escolha do mtodo. Ento, o valor
escolhido para o multiplicador Linear foi de 3.9.

Figura 4-12: Faixas de melhor desempenho para a funo Picos


com escalonamento Linear.

Figura 4-13: Faixas de melhor desempenho para a funo Picos


com escalonamento Sigma.

Para a funo Picos, o escalonamento escolhido foi o Sigma, por ter uma regio
bem definida entre as faixas e tambm porque quase no h diferenas entre as
mdias. O valor para o multiplicador Sigma foi 1.3.

Para os valores de escalonamento escolhidos, aprimoramos os GAs como pode


ser visto na Tabela 4-9. Na mesma tabela, tambm foram introduzidos os resultados
dos GAs, quando executados sem escalonamento. Observa-se, claramente, as
vantagens de se trabalhar com uma populao escalonada.

Tabela 4-9
Resultados para o escalonamento escolhido.
Funo Escalonamento RGA SGA SSGA Mdia
escala sem escala sem escala sem escala sem
Degrau Linear(2.40) 15 9 20 28 29 19 21.33 18.67
Rastrigin Linear(3.90) 9 6 15 8 14 12 12.67 8.67
Picos Sigma(1.30) 29 22 30 26 30 25 29.67 24.33

Terminado os testes de escalonamento e adotando os valores de multiplicador


escolhidos, o prximo passo foi verificar o melhor mtodo de cruzamento.
Obviamente, os operadores de recombinao PMX, OX, CX e ERO, no foram
tratadas nesses testes porque as funes no so de combinao e permutao. Os
resultados relativos aos mtodos de cruzamento esto nas tabelas a seguir.

87
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 4-10
Funo Degrau e os tipos de Cruzamento.
GAs 1ponto 2pontos CPV CEVI Uniforme
ES MCF ES MCF ES MCF ES MCF ES MCF
SGA 16 2050 19 2050 21 2050 10 2050 21 2050
SSGA 22 771.3 29 782 14 1890.3 12 700.7 27 964.7
RGA 12 385.7 19 389.9 13 1796 6 355.3 21 456
Mdia 16.7 1069.0 22.3 1074.0 16.0 1912.1 9.3 1035.3 23.0 1156.9

Tabela 4-11
Funo Rastrigin e os tipos de Cruzamento.
GAs 1ponto 2pontos CPV CEVI Uniforme
ES MCF ES MCF ES MCF ES MCF ES MCF
SGA 10 2050 11 2050 9 2050 5 2050 11 2050
SSGA 10 1351.3 20 1624.7 9 2036 11 1267.3 18 1975.3
RGA 8 617.2 13 651.7 10 765.2 5 450.6 11 776.6
Mdia 9.3 1339.5 14.7 1442.1 9.3 1617.1 7.0 1256.0 13.3 1600.6

Tabela 4-12
Funo Picos e os tipos de Cruzamento.
GAs 1ponto 2pontos CPV CEV Uniforme
ES MCF ES MCF ES MCF ES MCF ES MCF
SGA 29 650 30 650 30 650 24 650 30 650
SSGA 30 626 30 624.7 30 650 30 616.7 30 647.3
RGA 30 397.2 30 397.7 30 526.6 23 379.8 30 431.5
Mdia 29.7 557.7 30.0 557.5 30.0 608.9 25.7 548.8 30.0 576.3

Os resultados mostram que no h diferena acentuada entre os cruzamentos


Uniforme e com 2 pontos de corte. Procedendo como nos testes de mtodos de
seleo, os dois cruzamentos foram executados mais 50 vezes. Para a funo
Degrau, o mtodo Uniforme foi bem superior ao de 2 pontos. No entanto, para a
funo de Rastrigin, a tcnica com 2 pontos foi ligeiramente superior, sendo,
portanto, a escolhida. Finalmente, para a funo Picos, somente o cruzamento CEVI
no propiciou bons resultados. A Tabela 4-13 mostra a evoluo dos GAs para as
funes teste.
Tabela 4-13
Tcnicas que aprimoraram o desempenho conjunto dos GAs em relao s trs funes teste.
Funo Seleo Escalonamento Cruzamento Resultado
Degrau Roleta Linear(2.4) Uniforme 24.00
Rastrigin SRS Linear(3.9) 2pontos 14.67
Picos SRS Sigma(1.3) 2pontos 30.00

Todos os resultados mostraram que as tcnicas que favorecem a convergncia


prematura produzem piores resultados. Nesse ponto, introduziremos a adaptao
dinmica dos operadores cruzamento e mutao (seo 3.11), que vem com a
finalidade de manter diversidade dentro da populao por mais tempo e, por
conseguinte, aumentar as chances do algoritmo encontrar a soluo global. Para
este trabalho foram testados os critrios de adaptao DF [32], com ajuste
percentual FF [45] e [46] e, PI [37]. Em [32] foi pesquisada tambm a ao conjunta
dos trs critrios de adaptao.

88
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Os testes compreendem apenas procurar pela melhor faixa de ao dos mtodos


DF e FF. Quanto ao mtodo da adaptao individual, usaram-se os valores
numricos sugeridos pelos autores em [37].

O procedimento de encontrar a faixa mais adequada no foi simples. Inicialmente


avaliaram-se todas as larguras de faixa de 0.1 at 1.0 com incrementos de 0.05.
Tambm para cada largura varreu-se toda regio compreendida no intervalo [0-1]. O
resultado mostrou muita eficincia dos mtodos de adaptao, mas, infelizmente,
no foi possvel distinguir, com clareza, qual era a melhor largura e em que posio
ela se encontrava.

Relativo ao critrio FF, o que se pde observar que ele produz melhores
resultados quando a faixa mais estreita (com 0.4) e situada mais no incio do
intervalo. No entanto, para o critrio DF, o qual atua em todo o intervalo possvel de
mdg (o critrio age dentro da faixa com as probabilidades dos operadores
interpolados e fora da faixa com valores limites destas probabilidades, veja Figura 3-
9), no se conseguiu definir um ideal, mas observou-se melhores resultados
quando a faixa encontra-se situada mais no incio do intervalo. No se conseguiu
definir um critrio para a escolha da largura e da posio da faixa tanto da
adaptao FF quanto da DF e, portanto, os valores dos termos foram escolhidos
simplesmente pegando as faixas que propiciaram os resultados mais significativos
nessas execues. O resultado est fixado na Tabela 4-15.
Tabela 4-14
Valores limites de pm e pc e das constantes k.
Parmetros FF DF PI
pm 0.001-0.05 0.001-0.05 0.0-0.5
pc 0.50-1.0 0.50-1.0 0.0-1.0
km 1.15 - -
kc 1.20 - -

Tabela 4-15
Faixas que propiciaram em melhores resultados para as funes teste.
Adaptao Parmetros Degrau Rastrigin Picos
Dentro da Largura 0.85 0.85 0.40
Faixa Faixa mdg 0.0 - 0.85 0.05 - 0.90 0.05 - 0.45
Fora da Largura 0.10 0.15 0.20
Faixa Faixa mdg 0.20 - 0.30 0.15 - 0.30 0.20 - 0.40

A Tabela 4-16 mostra a mdia de todas as execues feitas na anlise dos


critrios de adaptao.

89
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 4-16
Resultados dos critrios da ao dos critrios de adaptao.
Funo Adaptao DF Adaptao FF Adaptao PI
MES MCF MES MCF MES MCF
Degrau 27.7 1075.1 28.0 1302.3 19.3 1536.7
Rastrigin 21.0 1702.4 22.7 2025.6 11.3 1566.7
Picos 30.0 598.2 30.0 585.3 29.3 500
Mdia 26.2 1125.2 26.9 1304.4 20.0 1201.1

Comparando os dados relativos s mdias de execues com sucesso fixados


nas Tabela 4-6, Tabela 4-7 e Tabela 4-8 com os valores mostrados na Tabela 4-16,
observou-se uma melhora significativa do desempenho mdio dos GAs.
Comparando tambm os resultados pertinentes mdia de clculo de funo, nota-
se que a mdia subiu, mostrando que o algoritmo sustentou a diversidade por mais
tempo.

30
Execs. com sucesso

25
Degrau
20 Rastrig.
Picos
15

10
incio seleo escalonamento cruzamento adaptao

Figura 4-14: Balano final dos testes de tcnicas sobre as funes.

Observando na Figura 4-14 o desempenho mdio dos GAs da fase inicial at os


testes de cruzamento, no se obteve melhora to significativa. s vezes, de um
teste a outro, houve at mesmo desempenho ligeiramente inferior fase anterior.
Isso acontece porque os GAs so guiados por regras de probabilidade, e flutuaes
existentes entre as execues so completamente possveis. Interessante notar
que o escalonamento linear sugerido estava contido no intervalo [1.2-2.0] e, para as
funes Degrau e Rastrigin, isto no se verificou. O mtodo da Roleta esteve entre
os melhores em toda execuo, e os cruzamentos Uniforme e com dois pontos de
corte tambm se efetivaram como boas opes de troca de material gentico.
Finalmente, os critrios de adaptao DF e FF, contriburam decisivamente para
melhoria da performance dos GAs.

Com esses procedimentos, encontraram-se os mecanismos mais robustos para


cada funo se analisados conjuntamente os trs GAs. Depois desses testes, o
prximo passo foi o desenvolvimento de cada GA separadamente, observando desta
vez o desempenho mdio relativo s trs funes teste. O processo de
desenvolvimento foi o mesmo anteriormente descrito, no tendo, portanto, motivos

90
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

de demonstr-los detalhadamente como foi feito at agora. Os resultados


provenientes da interao com os primeiros mtodos esto fixados na Tabela 4-17 e
os vindos da adaptao dinmica foram inseridos na Tabela 4-18. Essa separao
de resultados se justifica porque a adaptao dos operadores trouxe grande
melhoria na performance dos GAs e isso poderia ocultar a ao dos mtodos de
seleo, escalonamento e cruzamento.

Tabela 4-17
Mtodos mais adequados para cada GA.
GAs Seleo Escalonamento Cruzamento Resultado
RGA Roleta Linear(1.2) Uniforme 21.0
SGA Torneio Linear(2.4) 2pontos 23.3
SSGA SRS Linear(3.1) 2pontos 25.6

Tabela 4-18
Ao da adaptao dinmica sobre os GAs da Tabela 4-17.
GAs Adaptao Degrau Rastrigin Picos MES
RGA DF(0.00-0.20) 30 27 30 29
SGA FF(0.05-0.25) 30 27 30 29
SSGA FF(0.10-0.25) 30 30 30 30

Na Tabela 4-18, observa-se que as melhores faixas para a ao da adaptao


dinmica so estreitas e se situam no incio do intervalo possvel [0 - 1] de mdg.
Esperava-se que a faixa para o mtodo DF fosse mais larga, adaptando pc e pm
conforme o valor de mdg. Na Tabela 4-18, nota-se justamente o contrrio. Os valores
pc e pm mantiveram-se constantes por longo espectro de faixa. O que se pode
concluir quanto adaptao DF que os parmetros da Tabela 4-14, provenientes
de Soares & Vasconcelos em [32], no esto bem dimensionados, sendo, portanto,
uma grande motivao de continuao da pesquisa neste tema. J o critrio de
adaptao FF bem mais flexvel que o DF, pois ele se aplica fora da faixa quando
no estiverem ultrapassados os valores limites de pc e pm. Entretanto, esses
parmetros tambm devero ser investigados.

Terminada mais esta fase de testes, vale a pena fazer um balano da ao dos
mtodos sobre a performance dos GAs, relativamente s trs funes teste.

91
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

30

Execs. com sucesso


25
RGA
20 SGA
SSGA
15

10
incio seleo escalonamento cruzamento adaptao

Figura 4-15: Balano final dos testes sobre os GAs.

No houve, entre os mtodos de seleo, um que apresentasse melhores


resultados quando empregado nos trs Algoritmos Genticos (RGA, SGA e SSGA).
Observou-se que, para um dado GA, um critrio de seleo funcionou melhor que os
outros. Provavelmente, se as funes fossem mais complexas, mtodos de seleo
mais imparciais, tipo o SUS, poderiam ser os mais adequados. A ao do
escalonamento no parece eficaz, visto que o desempenho foi praticamente o
mesmo da fase anterior de teste. Porm, a ausncia de escalonamento facilita a
convergncia prematura, conduzindo os GAs diminuio de desempenho, como
pode ser visto na Tabela 4-9. Os cruzamentos Uniforme e com 2 pontos de corte
sobressaram-se, mais uma vez, em relao ao demais. Quanto aos cruzamentos
CPV e CEVI descritos aqui, ainda no se mostraram eficientes. O tipo CPV conduz
os GAs a uma convergncia mais lenta, enquanto que o CEVI conduz a uma
convergncia bem rpida. Analisar mais atentamente as caractersticas destes
cruzamentos ser um grande motivo de continuidade de pesquisa nessa direo.
Antes de se comentar as tcnicas de adaptao, observa-se que os GAs com
formao padro (Roleta, Linear(1.2) e o cruzamento 2pontos) conduzem a um bom
desempenho, pois a melhoria dos GAs no foi to significativa quando buscou-se
tcnicas alternativas de seleo, escalonamento e cruzamento. Os grficos da
Figura 4-14 e Figura 4-15 mostram uma importante melhoria trazida pelos mtodos
de adaptao dinmica das probabilidades de cruzamento e mutao, que foram
uma contribuio deste trabalho na pesquisa sobre Algoritmos Genticos.
Extrapolando a idia de adaptao dinmica para atingir tambm os mtodos de
seleo, escalonamento, cruzamento, tamanho da populao, intervalo G, entre
outros parmetros, obtm-se um GA totalmente adaptativo. Este , sem dvida, um
interessante tema de pesquisa sobre GAs.

92
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

4.2.3 Outras Tcnicas

Esta seo apresenta tcnicas que aprimoram ainda mais a performance dos
GAs. O objetivo no comparar uma tcnica com outra, pois cada tcnica tem o seu
melhor ponto de funcionamento em dada situao. Para a realizao de cada um
dos testes, apenas um dos trs GAs foi escolhido e com alguns parmetros
definidos. So eles:

pc:0.6; pm:0.001;

seleo: Roleta;

escalonamento: Linear (1.2);

cruzamento: 2pontos;

critrio de adaptao dinmica: DF (Vmin=0.10; Vmax=0.80) (valores dos


parmetros DF so obtidos da Tabela 4-14).

O motivo de se fixar esses parmetros a grande possibilidade de combinaes


de valores de parmetros entre estas tcnicas e os GAs. Para analisar essas
tcnicas, foi tomada como teste somente a funo de Rastrigin (sob o formato da
equao 4-2 com =10-6), porm com o nmero de variveis aumentado (2, 4, 6, ... ,
20 variveis). A anlise dos resultados foi feita atravs de grficos que relacionam a
convergncia final dos GAs (nmero de execues com sucesso) ou do nmero de
clculos de funes com o nmero de variveis da funo teste. O critrio de
verificao da convergncia para a soluo global foi definido como norma
euclidiana inferior a 0.3. No caso de duas variveis, esse critrio implica em uma
regio bem definida na qual se encontra a soluo global. Entretanto, aumentando-
se o nmero de variveis, a adoo desse mesmo valor de norma conduz a um
pequeno erro na definio da regio global, se comparado ao caso de duas
variveis. Assim, quanto maior o nmero de variveis mais precisa deve ser a
soluo, de modo a satisfazer o critrio norma euclidiana < 0.3. Para mais de duas
variveis, um critrio mais justo seria o critrio do valor mximo, ou seja, verificar se
o maior valor do vetor soluo fosse menor que uma dada constante. Infelizmente,
s depois de realizados todos os testes que se observou essa outra possibilidade.
O critrio de parada utilizado foi o de convergncia por nmero de geraes. Para
cada nmero de variveis foram feitas 30 execues.

Inicialmente, foi estudado um GA acoplado a um Mtodo Determinstico (seo


3.15). O objetivo foi melhorar a convergncia final para o timo global. O Mtodo

93
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Determinstico utilizado foi o BFGS ([1] e [41]), que, incorporado ao cdigo do GA


escolhido, opera de n em n geraes. A funo de Rastrigin tem os mnimos locais
muito prximos, fazendo com que o BFGS gastasse apenas de 5 a 6 iteraes para
convergir, com preciso de 10-3 para cada varivel, no onerando tanto o tempo
computacional final.

O GA empregado foi o SSGA (G=0.10) e, alm dos parmetros citados no incio


desta seo, incluram-se o tamanho da populao e o nmero de geraes, os
quais foram variados de forma a dar condies ao GA a convergir para a soluo
global, sem exagerar excessivamente o nmero de clculo de funes. Os valores
numricos destes parmetros, relativamente ao nmero de variveis analisado,
podem ser obtidos na Figura 4-17 (como os parmetros so de natureza diferente,
no tem sentido dar um ttulo ao eixo das ordenadas). A Figura 4-16 mostra os
resultados das execues que obtiveram com sucesso.

30

25
Execs. com sucesso

20 5 vezes

15 10 vezes
20 vezes
10

0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-16: Analisando o desempenho do SSGA associado ao BFGS.

1000
800
n_gen
600
n_pop
400 calcs/100
200
0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-17: Parmetros variveis nas execues da tcnica hbrida: Tamanho da populao,
nmero de geraes e, por conseguinte, nmero de clculo de funo mdio.

Realmente, esta tcnica hbrida consegue refinar a resposta. Porm, quanto


melhoria do nmero de execues com sucesso, os resultados (veja Figura 4-16)

94
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

no possibilitam nenhuma concluso. Esse GA hbrido no teve problemas em


satisfazer o critrio de convergncia para a soluo global (norma euclidiana < 0.3)
porque com o BFGS, obtm-se a soluo local com a preciso desejada (neste
caso, cada xi do vetor soluo foi calculado de forma que o erro seja inferior a
0.001).

O prximo item que foi analisado foi a formao de nichos (seo 3.16) com o
mtodo descrito por Goldberg & Richardson [10] e Goldberg [11]. Nessa tcnica, o
tamanho npop da populao influi muito no tempo computacional do algoritmo, pois,
para medir o grau de proximidade de cada indivduo com os demais, so feitos
aproximadamente npop2/2 (usando simetria) clculos da funo de partilha em cada
gerao. O grupo de mtodos e parmetros usado foi o mesmo apresentado no
incio desta seo. No entanto, o valor do =10-6 na equao 4-2 foi aumentado para
=2, de forma que no favorecesse tanto regio da soluo global (isso fica melhor
explicado observando a Figura 3-3). Caso o fosse mantido com seu valor anterior,
praticamente quaisquer quantidades de indivduos poderiam pertencer ao pico
global, mesmo que a funo de partilha penalize esses indivduos prximos. O GA
empregado agora o SGA. O motivo que se quer mostrar que a tcnica de
Goldberg mantm diversidade atravs da formao de nichos e, caso fosse utilizado
SSGA, esta manuteno de diversidade no corresponderia fielmente, pois o
intervalo G mantm alguns indivduos de uma gerao a outra. Os resultados
obtidos encontram-se na Figura 4-18.

30
Execs. com sucesso

25
20
15
10
5
0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-18: Desempenho do SGA com uso da formao de subpopulaes.

Antes de fazer a anlise da Figura 4-18, achou-se conveniente apresentar os


valores quantitativos dos parmetros populao e gerao usados (Figura 4-19).
Outro dado importante, que est mostrado na Figura 4-20, a evoluo do nmero
de integrantes dos quatro nichos principais para a funo de Rastrigin com quatro
variveis.

95
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

800
700
600
500 n_gen
400 n_pop
300 calcs/100
200
100
0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-19: Parmetros variveis nas execues da formao de nichos: Tamanho da


populao, nmero de geraes e, por conseguinte, nmero mdio de clculos de funes.

70
60
Nm. integrantes

pico 1
50 pico 2
40
pico 3
30
pico 4
20
10
0
0 4 8 12 16 20 24 28 32 36 40 44 48 52
Nmero de geraes

Figura 4-20: Nmero de integrantes das 4 subpopulaes principais


no decorrer das geraes.

Observando a Figura 4-18, nota-se que o desempenho em termos de execues


com sucesso cai bruscamente quando o SGA tenta resolver a funo de Rastrigin
com nmero de variveis superior a 6. Uma possvel explicao para esse
comportamento seria que o nmero de integrantes da populao tenha sido
insuficiente. Infelizmente com essa tcnica de nicho no se deve trabalhar com
grandes populaes, porque o custo computacional cresce muito (veja Apndice B).
Em momento algum Goldberg ([10] e [11]) comentou sobre a performance desta
tcnica de nicho em relao convergncia para o ponto timo global. O que foi
transmitido em seus trabalhos que a tcnica buscaria criar nichos atravs da
penalizao de indivduos que estivessem prximos, assim sendo, ao terminar uma
execuo, ter-se-iam como resultado vrias solues. Para mostrar a distribuio
dessas solues ao longo das geraes, observe a Figura 4-20. Ela mostra o
resultado para Rastrigin com 4 variveis, mas todos os casos (de 2 a 20 variveis)
foram acompanhados e concluiu-se que o SGA com a tcnica de nicho pode ser
muito til quando se quer avaliar vrias solues.

96
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

A ltima tcnica a ser verificada numericamente a reduo do intervalo de


procura. Como visto na seo 3.17, h algumas questes a serem respondidas
quanto ao procedimento: Quando aplicar a reduo? Qual a taxa de reduo j do
intervalo? Quantas vezes reduzir? Essa ltima questo no ser respondida, pois
ainda est em estudo. Com isso, para todos os testes aqui realizados sobre reduo
de intervalo, o nmero de redues foi 1. Nessa fase de testes, utilizou-se o SSGA
(G=0.8) juntamente com os parmetros citados no comeo desta seo e a taxa de
reduo j=-0.85. O nmero de geraes e o tamanho da populao esto
apresentados na Figura 4-21. Obviamente, uma mudana de parmetros pode
conduzir a resultados totalmente diferentes. Por exemplo, se o nmero de geraes
no for suficiente, o SSGA pode finalizar a busca sem utilizar o mecanismo de
reduo.

800
700
600
n_pop
500
n_gen
400
calcs/100
300
200
100
0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-21: Parmetros variveis nas execues de reduo de intervalo: Tamanho da


populao, nmero de geraes e, por conseguinte, nmero mdio de clculos de funes.

Para que haja reduo de intervalo, conveniente definir um mdg mnimo, a partir
do qual, se far a reduo. Foram observados todos os valores de mdg, tal que,
mdg [0.05, 0.95], com passo 0.05. Os resultados que melhor representam o
comportamento do SSGA para diversos mdg esto impressos na Figura 4-22.

97
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Execs. com sucesso 30

25
mdg=0.75

20 mdg=0.85
mdg=0.90
15

10
2 4 6 8 10 12 14 16 18 20

Nmero de variveis

Figura 4-22: Analisando o desempenho do SSGA aplicando reduo


de intervalo, quando varia-se o valor de mdg.

A Figura 4-22 mostra o quanto importante saber o momento de executar a


reduo de intervalo. Se for aplicada a reduo com mdg baixo, provavelmente o GA
no conseguir definir a regio onde se encontra o mnimo. Por outro lado, se o
valor de mdg estiver bem prximo da unidade, a regio da soluo estar mais bem
definida, porm se gastar muito mais clculos de funo para atingir o desejado
mdg, penalizando-se, assim, a performance final (por causa do nmero total de
geraes). Deve-se observar ainda os parmetros dos critrios de adaptao. Por
exemplo, dependendo do valor de pmmax, a populao pode nunca convergir.

Realizando o mesmo procedimento utilizado para encontrar os melhores valores


de mdg, a taxa de reduo tambm foi analisada dentro do intervalo [0.05, 0.95], com
passo 0.05. A Figura 4-23 mostra os valores da taxa de reduo que melhor
representam o comportamento do GA. Nesses testes, utilizou-se o melhor mdg da
fase anterior (mdg=0.90).

30
taxa j=-0.70
Execs. com sucesso

25 taxa j=-0.80
20 taxa j=-0.90

15

10

0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-23: Analisando o desempenho do SSGA aplicando reduo


de intervalo, quando varia-se o valor das taxas de reduo.

98
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Como se pode notar na Figura 4-23, conhecer a melhor a taxa de reduo um


fator crucial para que se consiga melhores resultados na convergncia final desse
GA. Se a taxa de reduo for muito pequena, o domnio de procura praticamente o
mesmo anterior, no aproveitando, portanto, a regio definida pelo melhor indivduo.
Foi experimentado que, prosseguindo-se a reduo continuamente, o desempenho
torna-se superior ao melhor visto na Figura 4-23. O grande problema o elevado
nmero de clculos de funo exagerado. Por outro lado, se a taxa de reduo for
muito grande, o novo domnio de procura insuficiente para proporcionar a sada do
GA da redondeza do indivduo tomado como base.

Um outro aspecto importante a preciso do vetor soluo com reduo de


intervalo. Quando reduz-se o intervalo, mantm-se o nmero de bits utilizados na
resoluo do intervalo inicial, e com isto, aumenta-se a preciso de cada varivel.
Essa preciso pode ser observada na Figura 4-23, onde foram obtidos 15 sucessos
para Rastrigin com 20 variveis. Vale lembrar que o critrio utilizado foi norma
euclidiana <0.3.

Como dito no incio da seo, essas tcnicas no foram apresentadas com o


objetivo de comparar uma com outra, pois cada tcnica utilizada para diferentes
finalidades. O BFGS para melhorar a preciso da soluo, a tcnica de nicho para
encontrar mais de uma soluo em apenas uma execuo e o mecanismo de
reduo de intervalo para melhorar o desempenho quanto ao nmero de execues
com sucesso e tambm melhorar a preciso da soluo. Cada uma das tcnicas tem
suas particularidades e, o seu melhor ponto de funcionamento em dada situao.
Mas, em todo caso, como alguns parmetros utilizados para todas as tcnicas foram
comuns, resolveu-se mostrar algum resultado comparativo. A Figura 4-24 apresenta
o nmero de clculos de funo utilizado e a Figura 4-25 mostra nmero de
execues com sucesso.

99
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

(Nmero de clculos)/100 800


700
600 BFGS
500 Nichos
400
Red. Intervalo
300
200
100
0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-24: Comparando o nmero de clculo de funes utilizado na associao dos GAs
com a tcnica BFGS, formao de nichos e reduo de intervalo.

30
BFGS
Execs. com sucesso

25
Nichos
20
Red. Intervalo
15

10

5
0
2 4 6 8 10 12 14 16 18 20
Nmero de variveis

Figura 4-25: Comparando o nmero de execues com sucesso obtido na associao dos
GAs com tcnica BFGS, formao de nichos e reduo de intervalo.

Observando a Figura 4-24, nota-se que o mecanismo de reduo de intervalo


utilizou um nmero de clculos de funo inferior ao utilizado nas outras tcnicas e
ainda obteve um de execues com sucesso mais expressivo nmero (veja Figura
4-25). A tcnica hbrida teve comportamento semelhante tcnica de nichos, se
observado o nmero de execues com sucesso relativamente ao nmero de
variveis tratado. Vale lembrar que cada tcnica tem uma finalidade especfica e a
associao delas teoricamente traz bons resultados. Uma associao imediata, sem
causar prejuzos, seria lanar o BFGS no final da execuo de cada uma das outras
tcnicas.

4.3 Resultados de Alguns Pesquisadores

Alguns mtodos explicados no Captulo 3 e no verificados numericamente neste


captulo foram objeto de trabalho de muitos pesquisadores. Esta seo formada

100
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

por alguns resultados desses trabalhos, tendo a finalidade de preencher lacunas


deixadas pela ausncia de testes.

4.3.1 Resultados de Spears quanto Formao de Nicho

O mtodo de formao de nichos de Spears [36], descrito na seo 3.16, consiste


na criao de subpopulaes, simplesmente anexando a cada indivduo da
populao uma etiqueta binria.

Em seu trabalho, Spears analisou numericamente o comportamento de seus


esquemas de formao de subpopulaes (SSS1 e SSS2) com o de Goldberg e,
teoricamente, com esquemas que formam subpopulaes agrupando indivduos em
processadores trabalhando em paralelo.

Para verificar o desempenho dos mecanismos, Spears usou 4 funes, as quais


esto reimpressas na Figura 4-26.

Figura 4-26: Funes teste de Spears.

101
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Observando com cuidado, percebe-se que as 4 funes se diferenciam uma das


outras pela altura dos picos e pela posio no eixo x de seus cumes.

O mecanismo SSS1 aplicado s funes F1 e F3 se mostrou muito eficiente,


conseguindo manter subpopulaes estveis em todos os picos e,
conseqentemente, obtendo resultados similares ao esquema de Goldberg, com um
custo operacional muito mais barato. No entanto, quando SSS1 foi usada nas
funes F2 e F4, ele teve problemas em sustentar subpopulaes nos picos mais
baixos. Para essas funes, o esquema de Goldberg funcionou perfeitamente. O
motivo da instabilidade nos picos inferiores que cada subpopulao desenvolvida
separadamente e a competio interna leva os indivduos a migrarem de pico. Uma
possibilidade de correo seria que as subpopulaes tivessem poucos membros,
mas esta no seria uma boa soluo porque um pequeno grupo conduz a uma
procura pobre e ainda corre o risco de desaparecer devido a erros estocsticos.
Amenizar o problema de SSS1 foi a motivao para a criao de SSS2. Finalizando,
SSS1 um mecanismo adequado para problemas cujo objetivo a distribuio das
subpopulaes sobre as solues mais importantes.

O esquema SSS2 aplicado s funes F1 e F3 se comportou como SSS1,


entretanto, quanto s demais funes, os resultados foram bem melhores. SSS2
conseguiu manter subpopulaes estveis mesmo tratando-se de funes com picos
de magnitude diferentes, mas assim mesmo o mtodo de Goldberg superior na
distribuio da populao total sobre os picos, sendo, infelizmente, um mtodo muito
caro computacionalmente. Se o mtodo de Spears funcionasse bem, seria esperado
que o tamanho das subpopulaes fosse proporcional importncia do pico como
em Goldberg. Para mostrar o comportamento do mecanismo de Spears perante a
funo F4, o SSS2 foi executado com a populao total de 200 indivduos e 16
subpopulaes. A Figura 4-27 acompanha o desenvolvimento de 4 subpopulaes
durante 250 geraes.

102
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 4-27: Evoluo de quatro subpopulaes ao longo das geraes.

Interessante observar na Figura 4-27 que se a funo fosse F1 esperar-se-ia que


o tamanho das subpopulaes ficasse em torno de 12.5 (=200/16). Como se trata de
F4, o ideal seria que a quantidade de membros de cada subpopulao fosse
proporcional importncia da regio ocupada por eles, ou seja, valores menores e
maiores que 12.5. Outro ponto importante, visto no grfico, a mudana de pico da
subpopulao que tem menor quantidade de indivduos no incio da execuo. Isso
pode ser notado observando o crescimento do nmero de integrantes da sua
subpopulao. A ltima observao sobre a Figura 4-27 a respeito da flutuao do
tamanho de cada subpopulao, que surge devido sensibilidade do mecanismo de
partilhamento.

Em relao ao mtodo de Goldberg, que associa preciso numrica (entre


importncia da regio e tamanho da populao) a um custo elevado, os
procedimentos de Spears tambm se mostraram eficientes na formao de
subpopulaes estveis e no trazem sobrecarga computacional significativa.
Comparando o esquema seqencial de Spears com GAs que usam arquitetura
baseada em processadores paralelos (uma subpopulao para cada processador),
h algumas diferenas. Nos algoritmos de Spears, a aptido individual dinmica,
baseada na quantidade de membros da subpopulao ao qual o indivduo est
contido. Como conseqncia, pode-se concentrar esforo nas regies mais
promissoras e ainda manter indivduos sobre outras reas do espao. Num tipo de

103
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

construo de GA Paralelo, cada processador cuida de uma subpopulao, a qual


tem tamanho constante. Dependendo da implementao, permiti-se a migrao de
indivduos entre subpopulaes. Nessa implementao de GA Paralelo, a aptido
individual calculada da forma tradicional (retorno da funo desempenho).

4.3.2 Resultados de Oliver & Outros quanto aos Cruzamentos de Permutao

No trabalho [28], Oliver & Outros compararam desempenho dos cruzamentos


PMX, CX e OX modificado, na resoluo de um TSP para 30 cidades. O cruzamento
OX analisado aqui se diferencia do mtodo original. Aqui os autores foram o
primeiro ponto de corte sempre na primeira posio do indivduo.

Foram executados muitos testes com vrios grupos de parmetros. As


populaes analisadas continham 50, 200 e 500 membros. A probabilidade de
cruzamento foi fixa em 0.8. Para cada cruzamento executado, uma mutao
adaptada (swap), que, quando acionada, troca duas cidades de posio, foi
empregada com probabilidade pswap variando de 0.3 a 1.0 em intervalos de 0.1. O
nmero de geraes variou de forma que o GA utilizado parasse em 50000 clculos
de funo. O mtodo de seleo foi a Roleta, usada com algumas modificaes (no
foi citada quais modificaes) para reduzir erros estocsticos. Nenhuma estratgia
elitista foi usada. O problema fictcio, portanto no h unidade de medida para as
distncias entre as cidades. As coordenadas das cidades esto fixadas em [28] e o
melhor resultado para todo o percurso 424 (conseguido por outro autor). Na
Tabela 4-19, encontram-se os melhores resultados dos testes.

Tabela 4-19
Comparao entre OX, PMX e CX.
Cruzamento Populao pswap Resultado
OX 500 0.30 449
PMX 50 0.60 498
CX 50 0.50 517

Para este problema OX foi 11% superior ao PMX e 15% ao CX. Pela anlise
terica (em termos de probabilidade de sobrevivncia de esquemas) realizada em
[28], espera-se que OX vena o tipo PMX nos problemas em que posies
adjacentes so importantes no indivduo, como o caso do TSP. Por outro lado, os
autores esperam um melhor desempenho do cruzamento PMX.

Achando o resultado no to satisfatrio, Oliver & Outros tentaram buscar a


melhor soluo (424) e testou algumas variaes de forma que o nmero total de
clculos de funo no ultrapassassem 200000. Conseguiu a menor distncia igual

104
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

a 425, com populaes de 500 e 200 membros e pswap igual a 15% e 25%
respectivamente.

Um trabalho realizado por Whitley & Outros (Captulo 22 de [4]) tambm analisou
este mesmo caso de TSP. Nesse trabalho, os autores introduziram o operador de
recombinao ERO e obtiveram excelentes resultados. Enquanto que
Oliver & Outros no encontraram a melhor soluo nem com 200000 clculos,
Whitley & Outros encontraram a soluo em 28 vezes das 30 execues realizadas,
utilizando 70000 clculos. Quando usaram a formao de subpopulaes a
convergncia para a soluo global foi 30/30 com 80000 clculos.

4.3.3 Anlise de De Jong & Spears sobre a Interao entre Tipo de Cruzamento e
Tamanho da Populao

De Jong & Spears [5] tratam da interao entre tamanho da populao e


cruzamento. A idia surgiu de um trabalho anterior [34], no qual os pesquisadores
observaram o cruzamento apenas sob o ponto de vista de ruptura de esquemas, ou
seja, aquele cruzamento que fornecesse menor probabilidade de ruptura ao
esquema seria melhor (por causa da hiptese dos building blocks- vide equao 2-
5). Em [34], eles analisaram, teoricamente e numericamente, os cruzamentos com n
pontos de corte (vrios valores de n) e o cruzamento Uniforme. Pelas equaes
desenvolvidas, os cruzamentos menos destruidores eram o com 2 pontos de corte e
com 1 ponto, nessa ordem e, por outro lado, o que provocava mais ruptura era o
Uniforme. Na prtica, nem sempre se verificavam estas equaes e o cruzamento
Uniforme s vezes produzia resultados melhores que todos. Ento em [34] no foi
possvel estabelecer o tipo de cruzamento que realmente poderia ser melhor.

De Jong & Spears citaram outros trabalhos em que o cruzamento com 16 pontos
de corte e o Uniforme derrotavam os demais. Com esse resultado, eles puderam
supor que as aproximaes feitas nas equaes de ruptura poderiam conduzir a
algum erro significativo, ou ento, somente a minimizao da ruptura no o melhor
caminho para selecionar os operadores de cruzamento apropriadamente.

Se a segunda hiptese for correta, ento deve existir situaes em que a ruptura
ajuda no processo de procura. Os autores analisaram vrios trabalhos nos quais
diferentes tipos de cruzamento produzem melhor performance. Eles chegaram
concluso de que existe pelo menos duas importantes situaes em que a ruptura
traz vantagens. A primeira ocorre quando a populao est bastante uniformizada e

105
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

a segunda quando a populao muito pequena para um problema complexo. As


duas situaes sero tratadas a seguir.

No princpio do processo de evoluo, a populao possui muita diversidade.


Nesse ponto, o cruzamento deve favorecer a formao de novas solues a partir da
sobreposio das melhores existentes (building blocks). Com o passar das
geraes, a populao vai ficando mais e mais homognea, at chegar ao ponto de
todos os membros possurem praticamente o mesmo cdigo gentico. Quando isso
acontece, os cruzamentos com menores probabilidades de ruptura tm dificuldade
de gerar indivduos diferentes dos pais. fcil perceber isto verificando o exemplo
de cruzamento a seguir.

1 - 1 1 1 1 1 1 1 1 1 1 1
2 - 1 1 1 1 1 1 1 1 0 0 0

Se o ltimo ponto de corte do cruzamento ocorrer antes do locus 9, os indivduos


formados sero apenas clones. Em casos como esse, a ruptura benfica
formao de novos indivduos.

A outra situao favorecida pela alta taxa de ruptura do cruzamento aparece


quando os problemas so mais complexos e a populao pequena. Problemas
complexos exigem boa amostragem para a convergncia global, e uma populao
pequena pode no oferecer a quantidade necessria. Nesse caso, alta taxa de
ruptura um fator importante, pois retarda a homogeneizao da populao, explora
mais os locus e, com isso, suaviza o problema da pequena amostragem.

Depois dessas observaes, partiu-se para a parte de anlise numrica. Para


simular a complexidade dos problemas, foram escolhidas 6 funes teste com o
nmero de picos variando de 1 a 6. Todas as funes possuem apenas um pico
(soluo) global e n-1 (n nmero de picos total) solues locais. As funes esto
apresentadas em [5] e [34] e no sero reproduzidas neste trabalho. Importante,
porm, salientar que o retorno das funes foi mapeado para o intervalo
compreendido entre 0 e 1. Somente soluo global retorna 1 e todas as solues
locais retornam o mesmo valor menor que 1. Foram realizados 20 experimentos
para cada funo, combinando 4 tamanhos de populao (20, 50, 100, e 1000) e 5
tipos de cruzamento (Uniforme, 2, 4, 8 e 16 pontos). Cada experimento foi
executado 10 vezes. No sendo possvel a apresentao de todos os resultados,
De Jong & Spears apresentaram os que acharam mais significativos.

106
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

A Tabela 4-20, reproduzida de [5], compara a performance dos cruzamentos


Uniforme e com 2 pontos de corte, indicando aquele que se saiu melhor nas dez
execues. Os dois tipos de cruzamento representam os dois extremos de ruptura.

Tabela 4-20
Comparao dos cruzamentos 2pontos e Uniforme.
2-point vs. Uniform
Problem Population Size
20 50 100 1000
6-peak Uniform Uniform 2-point 2-point
5-peak 2-point 2-point 2-point 2-point
4-peak ? 2-point ? 2-point
3-peak Uniform ? 2-point 2-point
2-peak Uniform 2-point ? 2-point
1-peak Uniform Uniform ? ?

O smbolo ? indica que houve dvidas quanto ao melhor mtodo. Da Tabela 4-


20, nota-se a predominncia do cruzamento 2pontos quando se move para direita e
para cima. Por outro lado, o cruzamento Uniforme melhor no canto inferior
esquerdo. Resultados similares so obtidos comparando 2-pontos com 16-pontos.

Alguns resultados grficos relativos aos dois tipos de cruzamento da Tabela 4-20
esto fixados na Figura 4-28. Nota-se que, embora as grandes populaes cheguem
a melhores solues, elas tambm precisam de muito mais geraes para a
convergncia.

Estes resultados sugerem um caminho para entender melhor o papel do


cruzamento n-pontos. Para pequenas populaes, cruzamentos que favorecem a
ruptura tais como o Uniforme e o n-pontos (n>>2) so mais provveis que produzam
melhores resultados porque eles ajudam a aproveitar melhor a diversidade de
pequenas populaes e, com isso, suavizam a uniformizao. Entretanto, as
grandes populaes j esto providas de quantidade suficiente de amostragem, e
cruzamentos menos destrutivos aos esquemas, provavelmente, possam trabalhar
melhor.

107
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 4-28: Interao entre cruzamento e tamanho da populao.

4.4 Concluso

Um dos objetivos do Captulo 4 foi encontrar quais tcnicas, dentre as conhecidas


na bibliografia, seriam as mais robustas, se analisadas conjuntamente com os trs
GAs apresentados e as trs funes teste propostas. Inicialmente, foram analisadas
as tcnicas do ponto de vista das funes e depois do ponto de vista dos GAs.

108
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Mesmo que tenha havido melhorias da fase inicial de testes at a fase dos
cruzamentos, estas no foram to significativas, visto que os GAs so algoritmos
estocsticos e, portanto, pode haver flutuaes nas execues. O que pode ser
concludo que os cruzamentos Uniforme e 2pontos se mostram como as melhores
opes de cruzamento, o mtodo da Roleta esteve sempre nas primeiras posies
nos testes de mtodos de seleo. Concluiu-se, tambm, que os melhores
multiplicadores de escalonamento no necessariamente devam estar dentro de
faixas predeterminadas (para o caso do escalonamento Linear, a faixa sugerida em
[11] por Goldberg [1.2-2.0]). Nessa primeira fase de testes, o fator que realmente
contribuiu para o melhor desempenho dos GAs foi a aplicao das tcnicas de
adaptao dinmica dos operadores cruzamento e mutao. Com a adaptao
tenta-se controlar a diversidade gentica dentro da populao, sendo este um fator
importantssimo para condicionar os GAs a encontraram a soluo principal.

Em relao segunda parte de testes, pde-se notar que, ao se adicionar a


tcnica hbrida (GA + BFGS), ganha-se preciso na soluo final, mas no
necessariamente h melhoria de desempenho. Situao semelhante verifica-se na
formao de nichos. Consegue-se a manuteno da diversidade por meio de uma
funo de partilha e, com isso, obtm-se uma distribuio da populao de acordo
com a importncia da regio. Mesmo trabalhando com diversidade (populao
distribuda), o GA com formao de nichos, no obteve resultados positivos quando
a funo de Rastrigin foi avaliada com nmero de variveis superior a 14.
Finalizando, foi analisada a tcnica de reduo de intervalo, que uma contribuio
desta dissertao. Esse foi o mecanismo que propiciou melhores resultados de
todos os testes at ento. A idia da reduo de intervalo se baseia no fato de que
os GAs tm facilidades de encontrar a regio onde se encontra o ponto timo, mas,
em contrapartida, tem dificuldades de convergncia final para a soluo. Ento, a
partir do momento em que a populao possui um dado mdg, supe-se que o melhor
indivduo at ento define uma regio onde se pode encontrar a soluo global.
Reduzindo-se o intervalo em torno do melhor indivduo, aumentam-se as chances de
aprimorar a convergncia final.

Finalizou-se o captulo analisando trabalhos de outros pesquisadores. Esse item


vem com a finalidade de cobrir algumas das muitas lacunas deixadas nesta
dissertao sobre a pesquisa de GAs. Certamente, impossvel fazer um apanhado
de tudo o que j foi publicado sobre o tema.

109
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

5. Aplicaes

5.1 Introduo

Depois de apresentar um GA com suas caractersticas bsicas (Captulo 1),


demonstrou-se como ele age e porque um poderoso mtodo de otimizao
(Captulo 2). A seguir foram descritos (Captulo 3) e analisados numericamente
(Captulo 4), via funes teste, tcnicas que podem auxiliar os GAs na busca do
ponto timo. E agora, neste captulo, com o intuito de validar os resultados obtidos
at ento, prope-se a resoluo de alguns problemas reais. Foram escolhidos trs
problemas de correntes induzidas simples.

5.2 Aplicaes a Problemas de Correntes Induzidas

As correntes induzidas so correntes que surgem a partir da interao de um


condutor com um campo magntico que varia no tempo. As correntes induzidas
produzem perdas hmicas no condutor, provocam um campo magntico de reao e
geram fora, a qual proveniente da interao dos campos induzido e de induo.
Portanto, fica fcil perceber a importncia do estudo das correntes induzidas, pois
elas podem aparecer em todas as mquinas e aparelhos eletromagnticos que
esto sujeitos a campos variveis no tempo. O fenmeno das correntes induzidas,
em algumas aplicaes desejvel, como no caso dos motores de induo, veculos
com levitao eletromagntica e ensaios no destrutivos de materiais. Em outros
casos, indesejvel como as correntes induzidas em tanques de transformadores,
blindagens de cabos, sistemas de comunicao, entre outros.

A formulao matemtica de cada problema tratado, que foi desenvolvida em [22]


e [40], extensa, o que provocou um alto tempo computacional gasto no clculo de
cada funo de otimizao (veja Apndice B). Por esse motivo foram feitas apenas
20 execues em cada caso. O GA utilizado o SSGA com G=0.8, sendo que o
mtodo de seleo o da Roleta, o escalonamento o Linear e o cruzamento
2pontos. Juntamente com estes parmetros utilizou-se o mecanismo de adaptao

110
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

dinmica DF (valores de constantes provenientes da Tabela 4-14). A tcnica de


reduo de intervalo (mdg=0.90 e taxa=0.80) foi utilizada somente Aplicao 2. O
tamanho da populao e o nmero de geraes variou de aplicao para aplicao.

5.2.1 Correntes Induzidas numa Superfcie Plana Devido a uma Corrente numa
Espira Paralela Superfcie

O primeiro caso trata do acoplamento magntico entre um anel com corrente


I=I0ejwt e uma placa plana condutora com caractersticas e . O plano do anel
encontra-se paralelo ao da superfcie. A geometria do problema mostrada na
Figura 5-1.

Figura 5-1: Anel com corrente circular paralelo placa condutora.

O campo magntico, proveniente da corrente do anel, induz o aparecimento de


uma densidade de corrente de induo J sobre a placa. A expresso analtica de J,
dada em [22], descrita pela equao 5-1.

q
d zl
q
d zl

kr ( k + q)e

Ip2 a ( r k q)e a
J (r, z) = j 2 e kb J1 (k )J1 ( ) r d d kdk (5-1)
a 0 a q q

( r k + q)e a ( k q)e a
r

onde q=(k2+j*p2)1/2, p2=a2, zl=z-b e, J1 a funo de Bessel do primeiro tipo


analisada no ponto de integrao k.

A partir da equao 5-1, que calcula a densidade de corrente J em qualquer


ponto da placa, pode-se obter as perdas totais como:

J(r) dr
1
perdas = 2
no volume da placa.
r

Na equao 5-1, fixando z=b obtm-se a distribuio de J na superfcie da placa


(veja Figura 5-2) e, conseqentemente, as perdas por unidade de comprimento em
qualquer rea desejada. Utilizando a configurao de parmetros apresentada na
Figura 5-2, e ainda, considerando a superfcie de perdas como um quadrado de lado
0.14 m e concntrico ao anel, as perdas obtidas na rea foram 0.654436 W/m.

111
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 5-2: Distribuio de J na superfcie da placa (z=0.1m).

Quanto maior o J, maiores sero as perdas. Dessa forma, quando se deseja


como resultado o aquecimento da superfcie, a inteno procurar o maior J. Por
outro lado, pode-se querer minimizar perdas como, por exemplo, nas blindagens de
cabos. O problema de otimizao, definido aqui, consiste em reduzir as perdas na
superfcie da placa em 40% em relao configurao inicial. O resultado otimizado
foi obtido atravs da modificao do material (novos r, ) e dos parmetros
geomtricos a e b. A funo objetivo ff(x) foi escolhida como:

min ff(x) = perdas - 0.6 * perdas iniciais (5-2)

Partindo dos valores da configurao inicial, limitou-se a regio de busca para


cada varivel. Os limites esto fixados na Tabela 5-1.
Tabela 5-1
Limites das variveis de otimizao da Aplicao 2.
Limite inferior Varivel Limite superior
0.010 m a 0.050 m
0.050 m b 0.300 m
1 r 100
7 7
0.5x10 S/m 7.0x10 S/m

Nesta aplicao, o SSGA trabalhou com populao com 20 membros durante 60


geraes, sendo gastos, portanto, 980 clculos de funo. Das 20 execues, 18
foram bem sucedidas. Os conjuntos de parmetros a, b, e r que satisfizeram a
funo objetivo encontram-se fixados na Tabela 5-2.

112
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 5-2
Solues factveis para Aplicao 1.
a (m) b (m) (S/m) r
1 0.010142827 0.276256600 3.75981930*1E7 5.7253637
2 0.010462661 0.244631790 2.39364290*1E7 5.2389293
3 0.010623798 0.245623650 3.79691460*1E7 4.2660604
4 0.010764184 0.216516610 5.62231830*1E7 2.1722770
5 0.011097445 0.254702910 1.62991730*1E7 7.1907101
6 0.011462448 0.086431465 0.85151219*1E7 6.7254248
7 0.016406446 0.230539880 1.09709470*1E7 5.1996522
8 0.016830043 0.088209171 3.6035035*1E7 4.6286201
9 0.018119144 0.248736530 0.77950376*1E7 7.4807582
10 0.020414138 0.261684020 1.75171660*1E7 5.2026734
11 0.021550646 0.089841919 0.86301768*1E7 6.5985289
12 0.025636463 0.266467780 0.66762292*1E7 7.4777369
13 0.027990050 0.295750290 1.82551040*1E7 4.2358470
14 0.031558275 0.250727860 2.47477650*1E7 3.0273139
15 0.037626576 0.261104160 2.22165580*1E7 3.1088901
16 0.041232643 0.244914090 3.91494490*1E7 2.0937223
17 0.044650717 0.250323510 6.31403540*1E7 1.7281411
18 0.045917845 0.296253850 0.59918517*1E7 6.7918944

5.2.2 Correntes Induzidas numa Casca Cilndrica Devido a uma Corrente num
Filamento Paralelo Interno ao Cilindro

A segunda aplicao consiste no tratamento do acoplamento entre uma casca


cilndrica condutora e um filamento paralelo conduzindo uma corrente de excitao
I=I0ejwt. Este filamento encontra-se posicionado internamente casca condutora,
como pode ser visto na Figura 5-3.

I
, z

0 0

b
r
a

Figura 5-3: Cortes Longitudinal e transversal da casca cilndrica infinita


e o filamento de corrente interno casca.

Como a casca cilndrica e filamento tm comprimentos infinitos, o problema se


reduz ao caso 2D. A distribuio de J no corte transversal mostrada na Figura 5-4

113
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

e a seguir, na equao 5-3, apresentada a formulao para esse problema de


correntes induzidas.

Figura 5-4: Distribuio de J ao longo da casca cilndrica.

J z (r, ) =
[F I ( j
0
n n
1/ 2
]
pr ) + C nK n ( j1/ 2 pr ) cos(n) (5-3)

Na equao 5-3, p2= e, In e Kn so as funes de Bessel Modificada de


ordem n. Os termos Fn e Cn esto descritos nas equaes que vm a seguir.

r nK n ( j pc) K n ( j1/ 2 pc)


n
j1/ 2 pI b 1 1/ 2
Fn = + qn K ( j 1/ 2
pc ) n (5-4)
2D n a a n 1
j1/ 2 pc j1/ 2 pc

r nIn ( j pc) In ( j1/ 2 pc)


n
b 1
1/ 2
j1/ 2 pI
Cn = + q n + I n 1 ( j1/ 2
pc ) n (5-5)
2 D n a a j1/ 2 pc j1/ 2 pc

Nas equaes 5-4 e 5-5, qn=0 quando n=0 e, para n>0, qn igual a 1/a. E
finalmente, o termo Dn est descrito pela equao 5-6.

D n = In+1 ( j1/ 2 pa) * K n 1 ( j1/ 2 pc) In 1 ( j1/ 2 pc) * K n +1 ( j1/ 2 pa) (5-6)

As perdas na seo transversal por unidade de comprimento so dadas pela


equao (5-7).

114
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

J
c
1
perdas = 2
rdrd (5-7)
0 a

As perdas iniciais calculadas a partir da configurao descrita na Figura 5-4,


resultaram em 0.055914482 W/m (calculando a equao 5-3 para n=20 termos). O
problema de otimizao definido para essa aplicao encontrar configuraes na
qual as perdas se reduzam a 0.039140137 W/m (correspondente a 70% do valor
inicial de perdas). Para alcanar este objetivo, foram procurados novos parmetros
geomtricos (a e c) e um novo material (r, ). O posicionamento do condutor foi
mantido proporcional posio do raio interno (b=0.9*a). A partir dessas
consideraes, definiu-se a funo objetivo ff(x) como:

min ff(x) = perdas - 0.7 * perdas iniciais (5-8)

Os valores numricos da configurao inicial foram tomados como referncia


para limitar o domnio de procura para o novo grupo de parmetros. Os limites de
cada varivel esto fixados na Tabela 5-3.
Tabela 5-3
Limites das variveis de otimizao da Aplicao 2.
Limite inferior Varivel Limite superior
0.050 m a 0.100 m
0.101 m c 0.200 m
1 r 100
7 7
0.5x10 S/m 7.0x10 S/m

Para esse problema de otimizao, utilizou-se o SSGA acoplado ao mecanismo


de reduo de intervalo. Um trabalho adicional foi escolher o nmero de geraes e
tamanho da populao. A relao entre nmero de geraes e tamanho da
populao deve ser tal que proporcione a convergncia da populao em duas
instncias: a primeira para realizao da reduo de intervalo e a segunda para
convergncia do SSGA para o ponto soluo final. Outro fator importante a ser
considerado o nmero de clculo de funes, pois o tempo de processamento de
cada funo desempenho muito alto (veja Apndice B). Por esses motivos
descritos, atravs de simulaes realizadas previamente, escolheu-se uma
populao de 16 indivduos e nmero de geraes igual a 76. Realizando 20
execues com o SSGA, obteve-se sucesso em 12, sendo admitido como soluo
factvel quando ff(x)<10-3. A Tabela 5-4 apresenta os resultados das 12 execues
que tiveram sucesso, enquanto que a Figura 5-5 mostra a distribuio de J no raio
mdio da casca cilndrica para a configurao antes da otimizao e para algumas
configuraes otimizadas.

115
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 5-4
Solues factveis para Aplicao 2.
a (m) c (m) (S/m) r
1 0.085830264 0.10955339 4.7862389*1E7 1.0170064
2 0.087931454 0.10254994 2.4468062*1E7 2.4600134
3 0.088950776 0.10919688 3.1532630*1E7 1.7523490
4 0.089605391 0.10215415 2.8839872*1E7 2.2061094
5 0.091419727 0.10781612 3.0476699*1E7 1.7130344
6 0.091518909 0.11057762 2.1680453*1E7 2.3752349
7 0.093595691 0.13020721 0.76561785*1E7 4.4171267
8 0.094085507 0.11530903 2.2168951*1E7 2.2170476
9 0.097238079 0.11867177 2.6265343*1E7 1.7380231
10 0.099874876 0.11383159 3.7102873*1E7 1.2084738
11 0.099908449 0.11937273 0.98184144*1E7 4.2509537
12 0.099943541 0.12173843 1.0467086*1E7 3.6799219

Figura 5-5: Distribuio de J no raio mdio da configurao inicial e de duas


configuraes otimizadas para o caso do filamento interior casca cilndrica.

5.2.3 Correntes Induzidas numa Casca Cilndrica Devido a uma Corrente num
Filamento Paralelo Externo ao Cilindro

A terceira aplicao bem parecida com a segunda, sendo a diferena o


posicionamento do condutor, que agora se encontra externamente casca
condutora. A Figura 5-6 mostra a nova situao. Quanto formulao, a diferena
entre a Aplicao 2 e esta, consiste nas constantes Fn e Cn, as quais foram
reescritas nas equaes 5-9 e 5-10.

116
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

r nK n ( j pa) K n ( j1/ 2 pa)


n
j1/ 2 pI c 1 1/ 2
Fn = + qn + K ( j1/ 2
pa) + n (5-9)
2D n b c n 1
j1/ 2 pa j1/ 2 pa

r nIn ( j pa) In ( j1/ 2 pa)


n
c 1
1/ 2
j1/ 2 pI
Cn = + q n I n 1 ( j 1/ 2
pa) + n (5-10)
2 D n b c j1/ 2 pa j1/ 2 pa

Nas equaes 5-9 e 5-10, qn=0 quando n=0 e, para n>0, qn igual a 1/c.

I
, z

0 0

b r
a

Figura 5-6: Cortes Longitudinal e transversal da casca cilndrica infinita


e o filamento de corrente externo casca.

Os valores numricos dos parmetros da configurao inicial so: f=50Hz,


a=0.100 m, c=0.112 m, b=c/0.9 (0.124 m), I=100 A rms e o material o alumnio. O
problema de otimizao para esta ltima aplicao encontrar uma alternativa
forma geomtrica (novos a, b e c) de tal maneira que as perdas na seo transversal
fossem mantidas. Ento, definiu-se a funo objetivo ff(x) como:

min ff(x) = perdas - perdas iniciais (5-11)

onde as perdas so calculadas a partir da equao (5-7). Aplicando o conjunto de


parmetros na equao (5-7), obteve-se 0.0544515 W/m (calculando a equao 5-3
para n=20 termos). A Tabela 5-5 mostra o domnio de procura para cada varivel.

Tabela 5-5
Limites das variveis de otimizao da Aplicao 2.
Limite inferior Varivel Limite superior
0.010 m a 0.110 m
0.221 m b 0.600 m
0.111 m c 0.220 m

117
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Dentre as trs aplicaes, esta a menos complicada. Vrios grupos de


parmetros satisfazem a funo objetivo. Por isso, o nmero de clculo de funes
necessrio foi bem inferior aos utilizados at aqui. Os parmetros do SSGA
utilizados foram a populao com 10 indivduos e o nmero de geraes igual a 15.
Das 20 execues, 14 tiveram sucesso. A Tabela 5-6 mostra os resultados das 14
execues que tiveram sucesso. A Figura 5-7 mostra a distribuio de J no raio
mdio da casca cilndrica para algumas configuraes de geomtricas.

Tabela 5-6
Solues factveis para Aplicao 3.
a (m) c (m) b (m)
1 0.0565926 0.1317475 0.2244121
2 0.0567086 0.1271769 0.2313636
3 0.0624789 0.1185379 0.1471292
4 0.0689238 0.1400256 0.2099402
5 0.0774947 0.1240965 0.2373435
6 0.0776107 0.1115289 0.2412877
7 0.0777633 0.1242129 0.2367536
8 0.0890429 0.1157636 0.2350533
9 0.0957143 0.1323562 0.2362909
10 0.0983969 0.1127265 0.2367073
11 0.1003088 0.1308909 0.2323537
12 0.1030906 0.1423691 0.2296402
13 0.1060997 0.1378683 0.2317221
14 0.1069573 0.1232482 0.2230704

Figura 5-7: Distribuio de J no raio mdio da configurao inicial e de duas


configuraes otimizadas para o caso do filamento exterior casca cilndrica.

118
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

5.3 Validao dos Resultados Obtidos

Os Algoritmos Genticos precisam apenas da avaliao da funo desempenho


para realizar a busca pelo ponto timo. O resultado otimizado estar de acordo com
a formulao feita na funo desempenho, mesmo que ela no corresponda
fielmente ao problema tratado. No caso das funes teste, no foi necessrio validar
as formulaes, o importante era conhecer as solues globais. Entretanto, no caso
das aplicaes deste captulo, antes de se procurar pelas solues buscou-se ainda
validar as formulaes.

Tratando inicialmente a Aplicao 1, validou-se a formulao desenvolvida em


C++ com uma outra realizada no Matlab por um aluno de iniciao cientfica
(Adriano Vilela Barbosa), pois nas referncias [22] e [40] no so mostrados
resultados experimentais sobre essa aplicao.

No entanto, para as Aplicaes 2 e 3, os autores em [40] apresentaram


resultados numricos. A Figura 5-8 mostra o resultado encontrado em [40].

Figura 5-8: Grfico retirado de [40].

Os nmeros 1 (r=0.100), 2 (r=0.106) e 3 (r=0.112) indicam as curvas da densidade


de corrente J em funo do ngulo para um determinado raio fixo. As linhas
contnuas que representam o efeito pelicular so obtidas quando a equao 5-3
analisada para n=0. Segundo a referncia [40], a Figura 5-8 foi obtida utilizando-se
os seguintes parmetros: a=0.100 m; b=a*0.9 m; c=0.112 m; r=1; f=50Hz;
I=100 A rms.

119
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Na referncia no foram citados nem o valor de , nem qual nmero de termos


utilizados na equao 5-3. Buscou-se os artigos originais que propiciaram trabalhos
da referncia [40] e ficou constatado que a resistividade usada foi 0.28x10-7, logo,
=3.5714286x107. Ento para o mesmo grupo de parmetros e, utilizando n=20 na
equao 5-3, obteve-se no programa desenvolvido neste trabalho a Figura 5-9.

Figura 5-9: Distribuio de J na casca cilndrica, segundo a configurao utilizada


na Figura 5-8, segundo a implementao realizada nesta dissertao.

Comparando a Figura 5-8 com Figura 5-9, nota-se que, apesar dos resultados do
efeito pelicular descrito pela linha contnua (n=0) estarem de acordo, o resultado
para a corrente total induzida (20 termos na equao 5-3), representado pelas linhas
pontilhadas no est. Ento buscou-se outra maneira para validar quais resultados
esto corretos. Partiu-se, ento, de um software desenvolvido no CPDEE, chamado
Softwave Numerical Program (dissertao de mestrado do aluno Andr Gustavo
Lomnaco) que resolve vrios tipos de problemas eletromagnticos 2D, utilizando os
mtodos FEM (Finite Element Method), BEM (Boundary Element Method) e MoM
(Method of Moment). O autor do software, juntamente com outra aluna de mestrado
(Simone Aparecida Viana), implementou este caso de correntes induzidas utilizando-
se do mtodo FEM. O resultado obtido encontra-se na Figura 5-10.

120
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 5-10: Distribuio de J na casca cilndrica, segundo a configurao utilizada


na Figura 5-8, segundo o mtodo FEM.

Para facilitar a comparao entre o resultado da formulao analtica


implementada nesta dissertao e o resultado vindo do FEM, traou-se
conjuntamente duas curvas (r=0.100 e r=0.112) para cada mtodo e o ngulo foi
variado apenas de 0o a 60o. A Figura 5-11 mostra a visualizao grfica.

121
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Figura 5-11: Soluo analtica X FEM.

Observando a Figura 5-11, nota-se que as solues analticas e as obtidas


atravs do FEM esto prximas. Portanto, concluiu-se que o grfico da Figura 5-9
est incorreto. Resultados similares foram obtidos quando comparou-se o caso do
filamento externo (Aplicao 3) com o FEM e mais uma vez os resultados da
referncia no coincidiram. Uma possvel explicao seria o nmero de termos
utilizados, em [40], na equao 5-3. Testou-se a equao 5-3 para vrias ordens e
conseguiu-se uma razovel aproximao com os resultados da referncia [40],
quando n=4.

A partir de resultados como os da Figura 5-11, as formulaes de J foram


consideradas implementadas corretamente.

5.4 Concluso

Neste captulo, o SSGA foi utilizado para resolver trs problemas de otimizao
envolvendo correntes induzidas. As funes objetivo destas aplicaes so
complicadas, fazendo uso das funes de Bessel e envolvendo integrais. Estas
funes so caras computacionalmente se comparadas ao tempo gasto com as
funes analisadas no Captulo 4. Por esse motivo, os parmetros tamanho da
populao e nmero de geraes foram dimensionados de forma a deixar o SSGA

122
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

trabalhar com um pequeno nmero de clculos de funo, mesmo que, para isso, se
perca um pouco de performance quanto ao nmero de execues com sucesso em
relao ao nmero de execues realizadas.

123
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

6. Concluso

Ao longo desta dissertao, procurou-se fazer um estudo aprofundado em


relao aos Algoritmos Genticos. Para tanto, no incio da dissertao, buscou-se
enfatizar a importncia da otimizao e, em seguida, identificar os GAs dentre os
trs grupos de algoritmos de otimizao (Determinsticos, Enumerativos e
Estocsticos). Cada grupo de algoritmos tem suas particularidades, trazendo
consigo vantagens e desvantagens. Os Mtodos Determinsticos normalmente
requerem clculo de derivadas, procuram por uma soluo local, mas, por outro
lado, so de rpida convergncia. Os Enumerativos garantem a soluo global, mas,
para conseguir esse objetivo, precisam verificar todo espao vivel. Os Estocsticos
buscam a soluo global por intermdio de amostragem do espao vivel. Para cada
grupo de algoritmos de otimizao, foram introduzidas referncias de modo a auxiliar
os interessados. Enquadrando-se no grupo estocstico, os GAs fazem uso de
tcnicas de probabilidade para guiar a amostragem por toda a regio de procura.
Utilizando-se de amostragem, a pesquisa pela soluo global descentralizada, e
portanto, feita em mais regies. Em seguida, apresentou-se a origem dos GAs a
partir da analogia com sistemas naturais. Alguns dos termos genticos (populao,
reproduo/seleo, cruzamento e mutao) foram introduzidos nesse ponto. Para
facilitar o entendimento do funcionamento de um Algoritmo Gentico, executou-se
passo a passo um exemplo simples, como Goldberg fez em seu livro [11]. Nesse
primeiro contato, a inteno foi facilitar o entendimento sobre o comportamento de
um GA perante um determinado tipo de problema. Outro ponto importante no
Captulo 1, foi a apresentao das trs linhas de pesquisa sobre os GAs do ponto de
vista de Davis [4] (Sistemas Classificadores, Anlise de Performance e GA Paralelo).
Destas, estudou-se somente o tema Anlise de Performance. Esta linha de pesquisa
procura por mecanismos, parmetros e outros artifcios que auxiliem os GAs a
melhorarem seu desempenho na resoluo de problemas. Certamente, o bom
conhecimento de itens de melhoria de performance auxilia os pesquisadores de
Sistemas Classificadores e de GA Paralelo.

124
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Apresentado os GAs em linhas gerais no Captulo 1, procurou-se durante o


Captulo 2 introduzir importantes conceitos para entender como os GAs realizam a
busca pela melhor soluo. A anlise matemtica foi feita sob o ponto de vista de
esquema e tambm utilizando alguns mecanismos bem definidos: o cruzamento com
um nico ponto de corte, a mutao com um pequeno valor de probabilidade e o
mtodo da Roleta como mecanismo de seleo. O resultado desta anlise est
mostrado na equao 2-5 e recebe o nome de Teorema Fundamental dos GAs. A
equao 2-5 demonstra que esquemas de pequeno comprimento de definio, de
baixa ordem e alto valor de desempenho so fortes solues parciais do problema e,
portanto, tero grandes chances de prosseguirem nas prximas geraes. A partir
da associao dessas solues parciais, os GAs descobrem novas solues
(building blocks). Com esse conceito de montagem de solues parciais, os GAs
reduzem a complexidade do problema como um todo. Tambm sob o ponto de vista
de esquemas, demonstrou-se que, quando os GAs avaliam o desempenho de todos
os npop membros da populao, analisam-se implicitamente npop3 esquemas
(paralelismo implcito). A viso geomtrica mostrada na Figura 2-3 facilita o
entendimento deste paralelismo e mostra como o algoritmo explora as semelhanas
entre os diversos esquemas conduzindo a pesquisa s regies mais diversas.

O Captulo 3 teve a finalidade de descrever os itens que podem trazer melhorias


de desempenho aos GAs, e tambm guiar o leitor apresentando algumas
ferramentas j experimentadas por outros autores. No corpo do captulo foram
descritos:

tipos de codificao (como o cdigo binrio e o Gray);

como mapear as variveis no espao de procura;

como transformar uma funo objetivo em uma funo desempenho


(introduo de restries, evitando a negatividade da funo objetivo e
transformando um problema de minimizao em maximizao);

parmetros dos GAs (valores quantitativos e qualitativos);

mtodos de escalonamento (Linear e Sigma);

mtodos de mutao (para cdigos binrio, Gray e para outros cdigos


que trabalham com arranjos e permutaes);

mtodos de seleo (Roleta, Torneio, SRS, DS e SUS);

125
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

mtodos de cruzamento (para cdigos binrio e Gray: 1ponto, 2pontos,


CPV, CEVI e Uniforme; para cdigos que trabalham com arranjos e
permutaes: PMX, OX, CX e ERO;

mtodo da inverso

critrios de convergncia (por nmero de geraes, por estagnao da


melhor soluo, por convergncia da populao e tambm associao de mais
de um critrio);

mtodos de medir a performance (grficos: fmed, fmax, on-line performance


e off-line performance);

mtodos de adaptao dinmica (PI, FF e DF);

tipos diferentes de GAs (SGA, SSGA e RGA);

tcnicas hbridas (implementao e referncias bibliogrficas para o caso


de acoplamento de GAs aos Mtodos Determinsticos);

tcnicas de nicho e subpopulaes (mtodos de Goldberg e Spears);

mecanismo de reduo de intervalo

Itens como acoplamento de tcnicas hbridas, formao de subpopulaes e


mecanismo de reduo de intervalo mostram a flexibilidade dos GAs em permitirem
a introduo de mtodos diferentes sua estrutura. Outro ponto importante foi o
estudo da adaptao dinmica dos operadores genticos. Esse assunto trouxe uma
perspectiva idia de adaptao estender-se a todos os mtodos e parmetros
utilizados nos GAs.

O objetivo do Captulo 4 foi a apresentao de resultados experimentais. No


primeiro instante, testes foram realizados e, no segundo, alguns resultados de outros
autores foram buscados.

Para a realizao dos testes, foi escolhido o software GAlib (MIT), a partir do qual
foram implementadas as modificaes necessrias. Em seguida, foram escolhidas
trs funes teste (Degrau, Rastrigin e Picos) sobre as quais foi feita toda a anlise
numrica. Tambm foram fixados alguns parmetros e mtodos:

pc=0.6; pm=0.001, npop=50 (parmetros de De Jong [7]);

seleo: Roleta;

cruzamento: 2pontos;

126
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

escalonamento: Linear (1.2).

Escolhido o software, parmetros, mtodos e as funes teste, o prximo passo


foi pesquisar quais tcnicas, dentre as conhecidas na bibliografia, eram as mais
robustas, observando-se o desempenho conjunto dos trs GAs apresentados.
Nesses testes, foram analisadas inicialmente, as tcnicas do ponto de vista das
funes e depois do ponto de vista dos GAs. Os primeiros testes foram em relao
s caractersticas intrnsecas de cada GA, saram-se melhor o RGA com
substituio de apenas um indivduo, SGA com elitismo, e SSGA com intervalo
G=0.8. Depois disso, foram pesquisados outros tipos de seleo, escalonamento e
cruzamento. Notaram-se que pequenas melhorias, a ponto de no se poder afirmar
que este ou aquele mtodo melhor. Isso tendo em vista que os GAs de natureza
estocstica e a existncia flutuaes nos resultados das execues perfeitamente
aceitvel. O que pode ser concludo que os cruzamentos Uniforme e 2pontos so
boas opes de cruzamento, o mtodo da Roleta esteve sempre nas primeiras
posies nos testes de mtodos de seleo e tambm que o escalonamento
importante e no necessariamente deva estar dentro da faixa [1.2-2.0]. Depois dos
testes de cruzamento, as tcnicas de adaptao dinmica dos operadores
cruzamento e mutao foram introduzidas. Com a adaptao, tenta-se controlar a
diversidade gentica dentro da populao, sendo este um fator importantssimo para
condicionar os GAs a encontrarem a soluo principal. Os resultados com as
tcnicas de adaptao ajudaram efetivamente num melhor desempenho dos GAs. A
Figura 4-14 e Figura 4-15 sintetizam os passos desta primeira fase de testes.

Outra fase de testes importante foi a verificao do acoplamento das tcnicas


hbrida (GA + BFGS), de nicho (Goldberg) e de reduo de intervalo (introduzido
nesta dissertao). Quanto tcnica hbrida utilizada, observou-se que ganha-se
preciso na soluo, mas no necessariamente h melhoria de desempenho quanto
ao nmero de execues com sucesso. Em relao tcnica de formao de
nichos, consegue-se o objetivo que a distribuio da populao de acordo com a
importncia da regio, mantendo-se a diversidade. Mesmo trabalhando com
diversidade (populao distribuda), o GA com formao de nichos, no obteve bons
resultados de convergncia para a soluo global. Por outro lado, a tcnica de
reduo de intervalo foi a que proporcionou melhores resultados de convergncia
para a soluo global. O motivo que a reduo baseada no melhor indivduo de
uma populao j homogeneizada (mdg1).

127
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

O ltimo assunto do Captulo 4 tratou de resultados de artigos de outros autores.


A inteno foi cobrir alguns testes no implementados nesta dissertao sobre os
GAs. Analisando um trabalho de Goldberg & Outros [13] em 1992, no qual
conseguiram coletar aproximadamente 1200 referncias e ainda observaram um
crescimento do nmero de trabalhos sobre GAs na faixa de 37% ao ano, desde
1986, nota-se que impossvel fazer um apanhado de tudo o que j foi publicado
sobre o tema at hoje.

No Captulo 5, o SSGA (com critrio de adaptao dinmica DF) foi utilizado para
resolver trs problemas de otimizao envolvendo correntes induzidas. O
mecanismo de reduo de intervalo foi inserido apenas na Aplicao 2. Os
resultados foram satisfatrios, considerando-se que os parmetros foram
quantificados de modo que o nmero de clculo de funes no fosse grande, pois o
tempo computacional requerido para o clculo de cada funo objetivo era bem
grande (veja Apndice B), se comparado ao tempo de processamento obtido no
Captulo 4.

Finalmente, os apndices foram inseridos com o objetivo de complementao do


texto. Enquanto o Apndice A descreve exemplos de aplicaes de GAs, o Apndice
B mostra o tempo computacional gasto durante a fase de testes (Captulo 4) e
durante a fase de execuo das aplicaes (Captulos 4 e 5). J o Apndice C lista
implementaes (softwares) de GAs que so distribudos gratuitamente na Internet,
inclusive com o cdigo fonte. Esse ltimo apndice deve ser muito til para os
interessados em verificar outras implementaes.

Espera-se que esta dissertao sirva como base para aqueles interessados em
conhecer os Algoritmos Genticos, aplic-los a problemas de otimizao diversos e
tambm deixar o leitor apto leitura e entendimento de outros trabalhos relativos ao
tema.

128
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

7. Apndice A: Algumas
Aplicaes que Utilizam GAs

Referncia: Captulo 12 de [4].


Tema: Um Algoritmo Gentico aplicado gerao de trajetria de um brao rob.

A gerao de trajetria de robs ou de qualquer uma de suas partes um


problema pertencente classe dos processos dependentes de ordenao, ou seja,
processos em que a seqncia executada tem efeito fundamental sobre o
desempenho. Para a resoluo desse problema, um GA modificado apresentado
para otimizar o caminho intermedirio entre uma posio A e outra B. Essas
modificaes (que esto descritas no artigo com detalhes) foram feitas para
melhorar as caractersticas de herana de trajetria, e tambm para considerar
melhor as regras (de movimentao) e uma seqncia de melhor qualidade. O brao
rob analisado possui trs hastes e trs pontos de articulao. O autor concluiu que
a utilizao do GA foi um sucesso.

Outros trabalhos que tratam de assuntos semelhantes so:


F. Harashima, H.Hashimoto & D. Kang, Path generation for mobile robot
navigation using genetic algorithm, Proceedings of the 1995 IEEE IECON 21st
International Conference on Industrial Electronics, Control, and Instrumentation,
pp. 167-172, vol.1, 1995.
H.Zhuang, J.Wu & W.Huang, Optimal Planning of Robot Calibration Experiments
by Genetic Algorithms, Proceedings of the 1996 IEEE International Conference
on Robotics and Automation, pp. 981-986, vol. 2,1996.

Referncia [39].
Tema: Aplicao de um GA Paralelo na resoluo de um problema de fluxo de
fbrica.

Este trabalho investiga a aplicao de um GA trabalhando em paralelo (PGA)


para tratar um caso especial de linha de produo, conhecido como n/m/P/Cmax (n-
tarefas, m-mquinas, P-permutao e Cmax -tempo total do programa de produo).
Neste problema deve-se respeitar as seguintes restries:
-todos as tarefas seguem uma mesma seqncia de mquinas (1,2,3, .. ,m).
-quando uma tarefa sai de uma mquina i, imediatamente ela passa
mquina i+1, ou seja, o tempo de espera entre duas mquinas zero para a
mesma tarefa.
-uma mquina se ocupa de apenas uma tarefa por vez. Portanto, uma tarefa
s utilizar uma mquina, quando a mesma estiver desocupada.

O processo do fluxo de fbrica fica melhor explicado pela figura que segue.

129
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

tarefa k tarefa l

mquina i

mquina i+1

linha de produo dkl

O que se deseja otimizar o tempo de espera total d1, ..., n entre a primeira e a
ltima tarefa. Ento a funo objetivo a seguinte.
n

C max = d
j =0
p( j)p ( j+1)

Outras referncias a problemas similares so:


E.S.H.Hou, N.Ansari & H.Reng, A genetic algorithm for multiprocessor
scheduling, IEEE Transactions on Parallel and Distributed Systems, pp. 113-120,
feb, 1994.
T.Yamada, & R.Nakano, "A Genetic Algorithm Applicable to Large-Scale Job-
Shop Problems", Parallel Problem Solving From Nature, 2, pp. 281-290, 1992.
W.B.Langdon, "Scheduling Planned Maintenance of the (UK) National Grid,
Avaiable: cs.ucl.ac.uk:/genetic/papers/grid_aisb-95.ps, 1995.

Referncia [44].
Tema: GA aplicado otimizao da geometria de bucha de transformador .

Neste artigo, os autores procuram aperfeioar a geometria da bucha isolante


de transformador, de forma que o campo em sua superfcie no ultrapassasse um
valor limite predeterminado. Para avaliao de cada geometria, foi utilizado o
mtodo de equaes integrais de fronteira.
Os autores observaram a facilidade de aplicao de GAs em relao aos
Mtodos Determinsticos que fazem uso da informao do gradiente. Por outro lado,
indicaram superioridade das tcnicas determinsticas sobre os GAs, se analisada a
quantidade final de clculos de funo. Porm, advertiram que a caracterstica de
globalidade pode valer a pena, pois o problema tratado pode ter muitas solues
locais.

Outras referncias a problemas de geometria so:


G.F.ler, Genetic Algorithms in Design Optimization of Eletromagnetics Devises,
Ph.D. thesis, Florida International University, 1994.
J.A.Vasconcelos, L.Krhenbhl, L.Nicolas & A.Nicolas, Design Optimization
Using the BEM Coupled with Genetic Algorithm, IEE-Proceedings CEM94,
Nottingham, UK, (1994).
O.A.Mohammed, Practical Issues in the Implementation of Genetic Algorithms to
Electromagnetics Design Problems, Segundo Congresso Brasileiro de
Eletromagnetismo, nov 96, pp. 207-213, Ouro Preto, Brasil.

130
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

8. Apndice B: Tempo
Computacional

Um item importante que pode viabilizar ou no um projeto quando se trata de


execues de programas e/ou simulaes o tempo computacional (tempo de
mquina). Este apndice preocupa-se em registrar o tempo gasto em cada fase de
testes. Para entendimento da apresentao desses resultados, algumas
consideraes devem ser feitas:
A mquina utilizada: HP Apollo 9000 720 T.
O registro dos tempos computacionais foi dividido em trs tabelas. A primeira
trata da fase de testes at os critrios de adaptao, a segunda tabela descreve
os resultados provenientes da utilizao das tcnicas hbrida, de nicho e de
reduo de intervalo. A ltima tabela mostra o tempo gasto com as aplicaes.
Os resultados fixados esto de acordo com o procedimento descrito no texto. Por
exemplo, para se construir a Tabela 4-6, que trata dos mtodos de seleo na
funo Degrau. Sabe-se que cada GA (RGA, SGA e SSGA) foi executado 30
vezes, sendo que a cada execuo no mximo foram realizados 2050 clculos.
Como so 5 os mtodos de seleo analisados, o nmero mximo de clculos
realizados para a Tabela 4-6 so 30x2050x5=307500. Nota-se, portanto, que
fundamental o conhecimento do procedimento.
Os dados deste apndice respectivos aos testes do Captulo 4 no foram
coletados durante cada experimento. Por isso, todos os testes tiveram que ser
refeitos para anotar o tempo computacional gasto. Como os GAs trabalham com
mecanismos estocsticos, obviamente houve variaes quanto ao nmero de
clculos e ao tempo, as quais no devem ser significativas, j que todos os
processos foram realizados 30 execues. Quanto ao tempo das aplicaes,
estes foram coletados juntamente com a execuo.
O tempo computacional de algumas execues foi grande se comparado com
outras. Em alguns desses casos, teve-se dificuldade em medir o tempo
computacional de uma nica vez. Quando isso ocorreu, obteve-se o tempo de
processamento final, fazendo-se regra de trs com casos de menor magnitude.
A Tabela 4-17 e a Tabela 4-18 apenas registram resultados de procedimentos
para encontrar os melhores mtodos para cada GA. Como os procedimentos
foram similares aos j feitos anteriormente, ponderou-se no haver necessidade
de novo registro.

Ciente destas consideraes, os resultados so apresentados nas tabelas que


seguem:

131
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Tabela 8-1
Tempo computacional da primeira fase de testes (Captulo 4).
Item RGA SGA SSGA TCT
NCF TC NCF TC NCF TC
Tabela 4-3 - - 285000 00:04:20 - - 00:04:20
Tabela 4-4 92071 00:01:28 - - - - 00:01:28
Tabela 4-6 57159 00:00:46 291450 00:01:20 114020 00:00:36 00:02:42
Tabela 4-7 90109 00:01:19 305500 00:01:19 219420 00:01:11 00:03:49
Tabela 4-8 68179 00:01:03 97500 00:00:28 93780 00:00:35 00:02:06
Tabela 4-10 107819 00:00:38 307500 00:00:59 150300 00:00:38 00:02:15
Tabela 4-11 150614 00:01:54 307500 00:02:13 245180 00:02:01 00:06:08
Tabela 4-12 73582 00:01:01 97500 00:00:56 89420 00:00:58 00:02:55
Tabela 4-16 29160817 09:00:13 54292500 04:41:48 34189140 03:42:22 17:24:23
Figura 4-4 - - - - 1575042 00:11:06 00:11:06
Figura 4-8 663090 00:07:12 3751500 00:11:12 1433580 00:05:42 00:24:06
Figura 4-9 354582 00:03:30 3136500 00:09:24 812100 00:03:12 00:16:06
Figura 4-10 1241874 00:22:54 3751500 00:22:06 2994060 00:21:00 01:06:00
Figura 4-11 537066 00:09:12 3136500 00:18:30 1556340 00:11:12 00:38:54
Figura 4-12 795440 00:14:20 1189500 00:09:18 1090140 00:09:54 00:33:32
Figura 4-13 431064 00:07:24 994500 00:06:36 828180 00:06:18 00:20:18

Tabela 8-2
Tempo computacional dos testes de tcnicas mais avanadas (Captulo 4).
Nmero de BFGS Nichos Reduo
Variveis NCF TC NCF TC NCF TC
2 184500 00:01:56 61200 00:00:30 2337000 00:09:30
4 414000 00:05:43 107100 00:02:12 4548600 00:19:00
6 918000 00:29:00 137700 00:05:24 8322000 00:57:00
8 1512000 00:59:00 399300 00:22:54 11080800 01:44:30
10 2196000 02:28:00 588900 00:47:12 17955000 05:42:00
12 2970000 04:31:00 666900 01:18:18 20349000 6:29:30
14 3834000 06:45:15 1025100 02:53:24 29412000 8:33:00
16 4788000 12:09:00 1326000 04:50:36 36366000 18:31:30
18 5832000 19:41:00 1731900 05:44:00 57285000 36:34:30
20 6966000 27:29:00 2113800 08:42:00 74179800 47:39:30

Tabela 8-3
Tempo computacional das aplicaes (Captulo 5).
NCF TC
Aplicao 1 19600 01:29:34
Aplicao 2 18560 143:59:41
Aplicao 3 2600 19:59:53

132
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

9. Apndice C: Softwares de
GAs

Os Algoritmos Genticos tm atrado a ateno de muitos pesquisados ([13]), alguns


implementaram cdigos computacionais e os distribuem gratuitamente. Ento, pode-
se ganhar tempo no desenvolvimento de um GA, partindo de um outro pronto. A
referncia [17], que pode ser obtida na Internet, lista vrios cdigos (comerciais ou
no) e os descreve a partir de suas caractersticas principais. Neste apndice,
apenas listaram-se os cdigos no comerciais.

Nome S.O. Ling. Preo Autor/Contato


BUGS X11 C grtis Joshua Smith <jrs@media.mit.edu>
DGenesis Unix C grtis Erick Cantu-Paz <ecantu@lamport.rhon.itam.mx>
DOUGAL DOS Pascal grtis Brett Parker <b.s.parker@durham.ac.uk>
ESCaPaDE Unix C grtis Frank Hoffmeister <hoffmeister@ ls11.informatik.uni-
dortmund.de>
Evolution Machine DOS C grtis Hans-Michael Voigt <voigt@max.fb10.tu-berlin.de>
GAC, GAL Unix C, Lisp grtis William Spears <spears@aic.nrl.navy.mil>
GAGA Unix C grtis Jon Crowcroft <jon@cs.ucl.ac.uk>
GAGS DOS, Unix C++ grtis JJ Merelo <jmerelo@kal-el.ugr.es>
GAlib DOS/Win, C++ grtis Matthew<mbwall@mit.edu>
WinNT/95, UNIX
GALOPPS DOS, Unix C grtis Erik Goodman <goodman@egr.msu.edu>
GAMusic Win V. Basic $10 Jason H. Moore <jhm@superh.hg.med.umich.edu>
GANNET Unix C grtis Darrell Duane <dduane@fame.gmu.edu>
GAucsd Unix C grtis Nici Schraudolph <GAucsd-request@cs.ucsd.edu>
GA Workbench DOS C++ grtis Mark Hughes <mrh@i2ltd.demon.co.uk>
GECO Unix, MacOS Lisp grtis George Williams, Jr.
<george@hsvaic.hv.boeing.com>
Genesis DOS, Unix C grtis John Grefenstette <gref@aic.nrl.navy.mil>
GENEsYs Unix C grtis Thomas Baeck <baeck@ls11.informatik.uni-
dortmund.de>
GenET Unix C grtis Cezary Z. Janikow <janikow@radom.umsl.edu>
Genie Mac Think Pascal grtis Lance Chambers<pstamp@yarrow.wt.uwa.edu.au>
Genitor Unix C grtis Darrell Whitley <whitley@cs.colostate.edu>
GENlib DOS, Unix C $6 Jochen Ruhland <jochenr@neuro.informatik.uni-
kassel.de>
GENOCOP Unix C grtis Zbigniew Michalewicz <zbyszek@uncc.edu>
GIGA Unix C grtis Joe Culberson <joe@cs.ualberta.ca>
GPEIST Win, OS/2 Small- grtis Tony White <arpw@bnr.ca>
talk
Imogene Win C++ grtis Harley Davis <davis@ilog.fr>
LibGA DOS, Unix, C grtis Art Corcoran <corcoran@wiltel.com>
NeXT, Amiga
LICE DOS, Unix C grtis Joachim Sprave<joe@ls11.informatik.uni-
dortmund.de>

133
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Nome S.O. Ling. Preo Autor/Contato


Matlab-GA ? Matlab grtis ?
mGA Unix C, Lisp grtis David Goldberg <goldberg@vmd.cso.uiuc.edu>
PARAGenesis CM C* grtis Michael van Lent <vanlent@eecs.umich.edu>
PGA Unix C grtis Peter Ross <peter@aisb.ed.ac.uk>
SGA-C, SGA-Cube Unix C grtis Robert E. Smith <rob@comec4.mh.ua.edu>
Splicer Mac, X11 C $1 Steve Bayer
OLKIEN DOS, Unix C++ grtis Anthony Yiu-Cheung Tang <tang028@cs.cuhk.hk>
WOLF Unix C grtis David Rogers <drogers@msi.com>

134
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

10. Bibliografia

[1] Bazaraa M.S. & Shetty C.M., Nolinear Programming-Theory and Algorithms, ed
John Wiley & Sons, 1979.
[2] Bertsekas D.P., Dynamic Programming - Deterministic and Stochastic Models, ed.
Prentice Hall, Inc, 1987.
[3] Bland R.G., GoldFarb D., Todd M.J., The Ellipsoid Method-A Survey, Operations
Research, vol.29, pp.1039-1091, 1981.
[4] Davis L., Handbook of Genetic Algorithms, Van Nostrand Reinhold, New York,
1991.
[5] De Jong K.A. & Spears W.M., An Analysis of the Interacting Roles of Population
Size and Crossover in Genetic Algorithms,
[6] De Jong K.A., Adaptive System Design: A Genetic Approch, IEEE Transactions on
Systems, Man and Cybernetics, vol.10, n 9, 566-574, september, 1980.
[7] De Jong K.A., Analysis of the Behavior of a Class of Genetic Adaptive Systems,
PhD. thesis, Dep.Computer and Comunication Sciences, Univ. Michigan, Ann
Arbor,1975.
[8] Deb K. & Goldberg D.E., An Investigation of Niche and Species Formation in
Genetic Function Optimization, Proceedings of the Third International Conference on
Genetic Algorithms, pp. 42-50, 1989.
[9] Fletcher R., Practical Methods of Optimization, Volume 1, ed. John Wiley & Sons,
1980.
[10 Goldberg D.E. & Richardson J., Genetic Algorithms with Sharing for Multimodal
] Function Optimization, Proceedings of Second International Conference on Genetic
Algorithms, pp. 41-49, 1987.
[11 Goldberg D.E., Genetic Algorithms in Search, Optimization and Machine Learning.
] Reading MA: Addison Wesley, 1989.
[12 Goldberg D.E., Optimal Initial Population Size for binary-Coded Genetic
] Algorithms, TCGA Report n 85001, Tuscaloosa: Univer. of Alabama, the
Clearinghouse for Genetic Algorithms.
[13 Goldberg D.E., Milman K., & Tidd C., Genetic Algorithms: A Bibliography,
] Department of General Engineering, University of Illinois, Illigal report n 92008, july,
1992.
[14 Grefenstette J.J., Optimization of Control Parameters for Genetic Algorithms, IEEE
] Transactions on Systems, Man and Cybernetics, vol. SMC-16, n 1, pp. 122-128,
january/february, 1986.
[15 Grefenstette J.J., Gopal R., Rosmaita B.J. & Van Guch D., Genetic Algorithms for the
] Traveling Salesman Problem, Proceedings of an International Conference on Genetic
Algorithms and Their Aplications, pp. 160-168, 1985.

135
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

Algorithms and Their Aplications, pp. 160-168, 1985.


[16 Hazzan S., Fundamentos de Matemtica Elementar, vol.5 -Combinatria e
] Probabilidade.
[17 Heitkoetter J. & Beasley D., "The Hitch-Hiker's Guide to Evolutionary Computation: A
] list of Frequently Asked Questions(FAQ)", USENET: comp.ai.genetic. Available via
anonymous FTP from rtfm.mit.edu:/pub/usenet/news.answers/ai-faq/genetic/, 1994.
[18 Holland J.H., Adaptation in Natural and Artificial Systems, Univ. of Michigan Press,
] Ann Arbor, Mich., 1975.
[19 Hu N., "TABU Search Method with Random Moves for Globally Optimal Design", Int.
] J: Num. Meth. Engineering, vol. 35, pp. 1055-1070, 1992.
[20 Kazarlis S.A. & Bakirtis A.G., A Genetic Algorithm Solution to the Unit Commitment
] Problem, IEEE Transactions on Power Systems, vol.11, n 1, february, 1996.
[21 Kirkpatrick S. & Gelatt Jr. C.D.,"Optimization by Simulated Annealing", Science, vol.
] 220, pp. 671-680, 1983.
[22 Krienzis E.E., Tsiboukis T.D., Panas S.M. & Tegopoulos J.A., Eddy Currents: Theory
] and Applications, Proceedings off the IEEE, vol.80, n 10, pp. 1559-1589, october
1992.
[23 Kursawe F., Evolution Strategies for Vector Optimization, Taipei, National Chiao
] Tung University, pp. 187-193, 1992.
[24 Luenberger D.G., Introduction to Linear and Nonlinear Programming, ed. Addison-
] Wesley Publishing Company, 1973.
[25 Man K.F., Tang K.S. & Kwong S., Genetic Algorithms: Concepts and Applications,
] IEEE Transactions on Industrial Electronics, vol.43, n 5, october, 1996.
[26 Mendes J.M.N., Saldanha R.R. & Vasconcelos J.A., A Hibrid Algorithm Applied to
] Nonlinear Optimization Problems, Segundo Congresso Brasileiro de
Eletromagnetismo, Ouro Preto, pp. 222-225, novembro, 1996.
[27 Mhlenbein H., Parallel Genetic Algorithms, Population Genetics and Combinatorial
] Optimization, Proceedings of Third International Conference on Genetic Algorithms,
Morgan Kaufmann, San Mateo, Calif., pp. 416-422, 1989.
[28 Oliver I.M., Smith D.J., & Holland J.R.C., "A Study of Permutation Crossover
] Operators on the Traveling Salesman Problemm, Proceedings of Second International
Conference on Genetic Algorithms, pp. 224-230, 1987.
[29 Ribeiro Filho J.L., Treleaven P.C. & Alippi C., Genetic - Algorithm Programming
] Environments, IEEE Computer, pp. 28-43, june, 1994.
[30 Sawaragi T., Umemura J., katai O. & Iwai S., Fuzing Multiple Data and Knowledge
] Souces for Signal Understanding by Genetic Algorithm, IEEE Transactions on
Industrial Electronics, vol. 4, n 3, june, 1996.
[31 Shaffer J.D., Caruana R.A., Eshelman L.J. & Das R., A Study of Control Parameters
] Affecting On-line Performance of Genetic Algorithms for Function Optimization,
Proceedings of Third International Conference on Genetic Algorithms, Morgan
Kaufmann, San Mateo, Calif., pp. 51-60, 1989.
[32 Soares G.L. & Vasconcelos J.A., Adaptao Dinmica de Operadores em Algoritmos
] Genticos, Segundo Congresso Brasileiro de Eletromagnetismo, Ouro Preto, pp. 155-
158, novembro, 1996.
[33 Spears W.M. & Anand V.A., A Study of Crossover Operators in Genetic
] Programming, Proceedings of the International Symposium on Metodologies for

136
Algoritmos Genticos: Estudo, Novas Tcnicas e Aplicaes

] Programming, Proceedings of the International Symposium on Metodologies for


Intelligent Systems, eds.R.Belew and L.Booker, San Mateo, CA: Morgan Kaufmann,
pp. 230-236, 1991.
[34 Spears W.M. & De Jong K.A., An Analysis of Multi-point Crossover, Proceedings of
] the Foundations of Genetic Algorithms Workshop, Bloomington, Indiana, 1990.
[35 Spears W.M., Crossover or Mutation?, Proceedings of the Secund Foundations of
] Genetics Algorithms Workshop, ed D.Whitley, San Mateo, CA: Morgan Kaufmann,
pp. 221-237, 1992.
[36 Spears W.M., Simple Subpopulation Schemes, Proceedings of Evolucionary
] Programming Conference, ed. World Scientific, 1994.
[37 Srinivas M. & Patnaik L.M., Adaptive Probabilities Of Crossover and Mutation in
] Genetic Algorithms, IEEE Transactions on Systems, Man and Cybernetics, vol.24, n
4, april, 1994.
[38 Srinivas M. & Patnaik L.M., Genetic Algorithms-A Survey. IEEE Computer, pp17-
] 26, june, 1994.
[39 Stppler S. & Bierwirth C., The Aplication of a Parallel Genetic Algorithm to the
] n/m/P/Cmax Flowshop Problem, University of Bremen.
[40 Tegopoulos J.A. & Krienzis E.E., Eddy Currents in Linear Conducting Media, ed.
] Elsevier, 1985.
[41 Vanderplaats G.N., Numerical Optimization Techniques for Engineering Design, ed.
] McGraw-Hill Company, 1984.
[42 Vasconcelos J.A., Krhenbhl L., Nicolas L. & Nicolas A., Design Optimization
] Using the BEM Coupled with Genetic Algorithm, IEE Proceedings of Second
International Conference on Computation in Electromagnetics, pp. 60-63, april, 1994.
[43 Vasconcelos J.A., Optimisation de Forme des Structures lectromagntiques, Tese
] de Doutorado, Ecole Centrale de Lyon, Ecully, Frana, 1994.
[44 Vasconcelos J.A., Saldanha R.R., Krhenbhl L. & Nicolas A., Algoritmo Gentico
] Aplicado Otimizao em Eletromagnetismo, Primeiro Congresso Brasileiro de
Eletromagnetismo, Florianpolis, pp. 1-6, maio, 1995.
[45 Vasconcelos J.A., Saldanha R.R., Krhenbhl L. & Nicolas A., Genetic Algorithm
] Coupled with a Deterministic Method for Optimization in Electromagnetics, IEEE
Transactions on Magnetics, vol.32, n 2, pp. 1860-1863, march, 1997.
[46 Vasconcelos J.A., Saldanha R.R., Krhenbhl L. & Nicolas A., Genetic Algorithm
] Coupled with Deterministic Method for Optimization in Eletromagnetics, IEEE
CEFC 96, Okayama, pp. 18-20, march,1996.
[47 Whitley D., GENITOR: A Different Genetic Algorithm, Proceedings of the Rocky
] Mountain Conference on Artificial Intelligence, Denver, 1988.
[48 Yao L., Sethares W.A. & Kammer D.C., Sensor Placement for On-Orbit Modal
] Identification via Genetic Algorithm, AIAA Journal, vol.31, n 10, october, 1993.

137

You might also like