Você está na página 1de 35

Fundamentos de Algoritmos Evolutivos

Paulo Henrique Ribeiro Gabriel


Alexandre Cludio Botazzo Delbem

Sumrio
1

Introduo

Base Biolgica
2.1 O Processo Evolutivo . . . . . . . . . . . . . . . . . . .
2.1.1 Mutao Gnica . . . . . . . . . . . . . . . . .
2.1.2 Recombinao Gnica . . . . . . . . . . . . . .
2.1.3 Seleo Natural . . . . . . . . . . . . . . . . . .
2.2 Terminologia Bsica . . . . . . . . . . . . . . . . . . .
2.2.1 Cromossomo, Genes e Alelos . . . . . . . . . .
2.2.2 Fitness . . . . . . . . . . . . . . . . . . . . . .
2.2.3 Pais, Operadores de Reproduo e Descendentes
2.2.4 Gerao e Seleo . . . . . . . . . . . . . . . .

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

4
4
5
5
5
5
5
6
6
6

Algoritmos Evolutivos
3.1 Algoritmos Cannicos . . . . . . . . . . . . . . . . . . . . .
3.1.1 Programao Evolutiva . . . . . . . . . . . . . . . . .
3.1.2 Estratgias Evolutivas . . . . . . . . . . . . . . . . .
3.1.3 Algoritmos Genticos . . . . . . . . . . . . . . . . .
3.2 Outros Algoritmos Evolutivos . . . . . . . . . . . . . . . . .
3.2.1 Programao Gentica . . . . . . . . . . . . . . . . .
3.2.2 Micro-AG . . . . . . . . . . . . . . . . . . . . . . . .
3.2.3 Algoritmos de Estimao de Distribuio . . . . . . .
3.2.4 Algoritmos Evolutivos para Otimizao Multiobjetivo

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

8
8
8
9
9
12
13
13
13
14

.
.
.
.
.
.
.
.
.
.
.
.

17
17
18
19
19
20
21
22
22
23
23
24
24

Operadores de Reproduo
4.1 Mutao . . . . . . . . . . . . . . . . . . .
4.2 Recombinao . . . . . . . . . . . . . . . .
4.2.1 Recombinao Discreta . . . . . .
4.2.2 Recombinao Aritmtica . . . . .
4.2.3 Blend Crossover . . . . . . . . . .
4.2.4 Recombinao com Mltiplos Pais
4.3 Operadores de Reproduo para Permutao
4.3.1 Crossover de Ordem . . . . . . . .
4.3.2 Crossover Baseado em Posio . . .
4.3.3 Crossover Baseado em Ordem . . .
4.3.4 Crossover cclico . . . . . . . . . .
4.3.5 Crossover Parcialmente Mapeado .
Consideraes Finais

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

.
.
.
.
.
.
.
.
.
.
.
.

26

Captulo 1
Introduo
A Computao Evolutiva (CE) uma rea de pesquisa que tem se expandido rapidamente.
Entre os motivos para isso podem ser enumerados:
1. o desenvolvimento de algoritmos capazes de encontrar solues adequadas para problemas complexos, ainda no resolvidos por outras tcnicas computacionais;
2. simplicidade dos mtodos, chamados de algoritmos evolutivos (AEs), utilizando princpios bsicos de Teoria da Evoluo e Gentica que podem ser modelados por poucas e
simples linhas de cdigo;
3. adaptao relativamente fcil para problemas das mais diversas reas.
Essa rea de pesquisa originou-se de vrias frentes de estudo, cuja interao produziu os
AEs atuais. Dentre esses, sem dvidas os algoritmos genticos (AGs) so os mais conhecidos,
principalmente devido sua utilizao em Inteligncia Artificial (IA) (Rezende, 2003). Por
outro lado, os AGs so uma tcnica evolutiva universal. Este texto busca apresentar os AEs
dando a ponderao merecida aos AGs sem, com isso, esconder aspectos dos outros AEs que,
em geral, so importantes para soluo de problemas que so difceis para os prprios AGs e
outros mtodos de otimizao e de busca.
Os primeiros trabalhos envolvendo AEs so datados da dcada de 1930, quando sistemas
evolutivos naturais passaram a ser investigados como algoritmos de explorao de mltiplos
picos de uma funo objetivo. Porm, apenas com o maior acesso a computadores, a partir da
dcada de 1960, que se intensificaram os desenvolvimentos de AEs (De Jong, 2006), com a
realizao de diversos estudos tericos e empricos.
Nesse contexto, trs abordagens de AEs foram desenvolvidas de forma independente (De
Jong, 2006): a programao evolutiva (PE), as estratgias evolutivas (EEs) e os algoritmos
genticos (AGs). O princpio bsico de todas essas tcnicas , no entanto, a mesma (Eiben e
Smith, 2003): dada uma populao de indivduos (i.e., um conjunto de solues), presses do
ambiente desencadeiam um processos de seleo natural (ou seja, um processo que privilegia
1

2
as melhores solues at ento encontradas), o que causa um incremento na adequao das
solues. Dada uma funo a ser otimizada (seja maximizada ou minimizada), gera-se aleatoriamente um conjunto de solues, i.e., elementos pertencentes ao domnio da funo, e aplica-se
a funo para medir a qualidade das solues candidatas, atribuindo-lhes um valor que mede
sua adequao, chamado fitness.
Com base no fitness, algumas das melhores solues so selecionadas para darem origem a
uma nova populao pela aplicao de operadores de recombinao e/ou mutao. A recombinao um operador aplicado a duas ou mais solues candidatas (chamadas pais) e resulta
em duas ou mais novas solues (chamadas descendentes ou filhos). A mutao aplicada em
uma candidata a fim de gerar outra. Ao final desse processo, as novas candidatas (descendentes)
competem com as candidatas da gerao anterior, com base no fitness, para assumir um lugar
na nova populao. Esse processo iterado at que uma candidata apresente uma soluo que
seja suficientemente qualificada ou at que um nmero mximo de iteraes, tambm chamadas
geraes seja obtido.
Vrios componentes de um processo evolutivo so estocsticos: a seleo favorece indivduos mais bem adaptados (ou seja, com melhor fitness), mas existe tambm a possibilidade
de serem selecionados outros indivduos. A recombinao dos indivduos aleatria, assim
como a mutao. Uma representao geral de um AE tpico pode ser vista no pseudocdigo do
Algoritmo 1 (Eiben e Smith, 2003).
Algoritmo 1: Pseudocdigo de um AE tpico.
Entrada: Parmetros tpicos (De Jong, 2006).
Sada: Populao final de solues
1 INICIALIZA populao com solues candidatas aleatrias
2 AVALIA cada candidata
3 repita
4
SELECIONA pais
5
RECOMBINA pares de pais
6
MUTA os descendentes resultantes
7
AVALIA novas candidatas
8
SELECIONA indivduos para a nova gerao
9 at CONDIO DE PARADA satisfeita ;
Conforme mencionado, os AEs foram desenvolvidos originalmente como ferramentas de
modelagem e simulao computacional. No demorou, no entanto, para que fossem explorados como tcnica de otimizao. Vale destacar tambm que, diferentemente de outras tcnicas
de busca e otimizao, as quais em geral constroem uma nica soluo por iterao1 , os AEs
trabalham com conjuntos de solues, o que reduz, em muitos casos, o nmero de iteraes
necessrias para a obteno das solues (em outras palavras, reduz o tempo de convergncia).
Trabalhos mais recentes, datados da dcada de 1990, desenvolveram AEs especficos para as
reas de Aprendizado de Mquina (AM) (Rezende, 2003) e construo de modelos probabilsticos. Nos ltimos anos, o desempenho dos AEs tem aumentado significativamente com o estudo
1

Vrias das tcnicas que iteram um nica soluo so descritas em (Sait e Youssef, 1999).

3
de algoritmos de estimao de distribuio (AEDs) (Larraeaga e Lozano, 2001; Pelikan et al.,
1999).
Este texto foca os principais AEs, suas representaes e operadores, e est organizado como
segue. O Captulo 2 apresenta aspectos bsicos do processo evolutivo que so fundamentas
para o desenvolvimento de AEs e a terminologia que ser empregada no restante deste texto. O
Captulo 3 descreve os principais tipos de AEs e o Captulo 4 apresenta mais detalhadamente os
operadores de reproduo. O Captulo 5 sintetiza os aspectos principais de AEs e consideraes
sobre a utilizao deles.

Captulo 2
Base Biolgica
Os AEs podem ser vistos como tcnicas de Computao Bioinspirada (Carvalho et al., 2004;
Mange, 1998) ou Computao Natural (Ballard, 1999; Castro, 2006). Essas reas de pesquisa
abrangem uma srie de tcnicas computacionais fundamentadas em conceitos biolgicos. As
tcnicas evolutivas apresentam conceitos cuja origem est em diversos campos da Biologia,
especialmente em idias evolucionistas e na Gentica. Este Captulo foca nesses conceitos
(Seo 2.1) e sintetiza a terminologia empregada na definio de AEs (Seo 2.2).

2.1

O Processo Evolutivo

Os AEs so fortemente inspirados em processos evolutivos que ocorrem na natureza. Segundo De Jong (2006), os principais componentes dos sistemas evolutivos so:
Populaes de indivduos: uma ou mais populaes concorrem por recursos limitados;
Aptido, que reflete a habilidade do indivduo para sobreviver e reproduzir-se;
A noo de mudanas dinmicas nas populaes devido ao nascimento e morte dos indivduos;
Os conceitos de variabilidade e hereditariedade, ou seja, os novos indivduos possuem
muitas das caractersticas de seus pais, embora no sejam idnticos.
Tais conceitos foram inspirados na chamada Teoria Sinttica da Evoluo, tambm conhecida como neodarwinismo (Ridley, 1996). O neodarwinismo admite que os principais fatores
evolutivos so a mutao, a recombinao gnica e a seleo natural (Amabis e Martho, 1985;
Ridley, 1996), resumidos nas Subsees seguintes.

2.2. TERMINOLOGIA BSICA

2.1.1

Mutao Gnica

A origem da variabilidade a mutao, processo pelo qual o gene1 sofre alteraes em


sua estrutura. Tais alteraes so modificaes na seqncia de bases do DNA. Essa molcula,
quando duplicada, produz cpias idnticas de si, ou seja, diferentes da original (sem mutao),
transmitindo hereditariamente a mudana. Isso pode acarretar a alterao da seqncia de aminocidos da protena, modificando o metabolismo celular, podendo favorecer o organismo ou
mesmo ser letal.

2.1.2

Recombinao Gnica

O processo evolutivo seria relativamente lento se no fosse possvel colocar juntas, em um


mesmo indivduo, mutaes ocorridas em indivduos da gerao anterior. O fenmeno que possibilita esse evento a reproduo sexuada. importante considerar que a seleo natural no
atua aceitando ou rejeitando mudanas individuais, mas sim escolhendo as melhores combinaes gnicas entre todas variaes presentes na populao.

2.1.3

Seleo Natural

A seleo natural conseqncia de dois fatores:


1. os membros de uma espcie diferem entre si;
2. a espcie produz descendncia em maior nmero o de indivduos que de fato podem
sobreviver.
Os indivduos mais aptos a sobreviver so aqueles que, graas variabilidade gentica,
herdaram a combinao gnica mais adaptada para determinadas condies naturais.

2.2

Terminologia Bsica

A seguir apresentada a terminologia necessria, adaptada de (Sait e Youssef, 1999), para


o estudo de AEs. Os principais termos discutidos encontram-se sintetizados na Figura 2.1.

2.2.1

Cromossomo, Genes e Alelos

A estrutura que codifica como os organismos so construdos chamada cromossomo. Os


cromossomos associam-se de modo a formar um organismo e seu nmero varia de uma espcie
para outra (Amabis e Martho, 1985). O conjunto completo de cromossomos de um ser vivo
chamado gentipo e as caractersticas do organismo gerado com base no gentipo constituem o
1

Gene um segmento de DNA que contm uma informao codificada para determinada caracterstica ou
processo que a clula tem ou executa (Amabis e Martho, 1985).

2.2. TERMINOLOGIA BSICA

fentipo. De forma similar, a representao de solues de um problema podem ser codificadas


em uma estrutura de dados chamada cromossomo.
Os cromossomos so codificados em um conjunto de smbolos chamados genes. Os diferentes valores de um gene so chamados alelos. A posio do gene em um cromossomo
denominada locus (Coello Coello et al., 2002).
A representao das solues candidatas (ou seja, dos indivduos) o primeiro estgio da
elaborao de um AE e crucial para o desempenho do algoritmo. Essa etapa consiste em
definir o gentipo e a forma com que esse mapeado no fentipo. Dependendo da escolha, so
necessrios operadores de reproduo especficos (ver Captulo 4).
A codificao mais simples a representao binria: o gentipo definido como um arranjo de 0s e 1s. necessrio definir o tamanho do arranjo, bem como o mapeamento gentipo
fentipo. Entretanto, em muitas aplicaes do mundo real, a representao binria pode apresentar fraco poder de expresso (Deb, 2001), no sendo eficiente na representao das possveis
solues. Uma alternativa empregada a representao em ponto flutuante ou representao
real, segundo a qual as solues so arranjos de nmeros reais. Essa representao usualmente
empregada quando os genes so distribudos em um intervalo contnuo, em vez de um conjunto
de valores discretos (Eiben e Smith, 2003).

2.2.2 Fitness
O valor do fitness de um indivduo (seja um gentipo ou um cromossomo) um nmero
positivo que mede o quo adequada a soluo. Em problemas de otimizao, o fitness pode
ser o custo da soluo. Se o problema for de minimizao, as solues de maior fitness so as
de menor custo.

2.2.3

Pais, Operadores de Reproduo e Descendentes

Os AEs trabalham sobre um ou mais cromossomos a fim de gerar novas solues, chamadas descendentes. Os operadores que trabalham sobre cromossomos, chamados operadores de
reproduo, so a recombinao (tambm chamada crossover) e a mutao. Esses operadores
fazem analogia aos principais mecanismos de evoluo natural, ou seja, a recombinao e a
mutao gnica (ver Seo 2.1). A recombinao aplicada, em geral, a um par de cromossomos. Os indivduos selecionados para o processo de recombinao so chamados pais. A
mutao aplicada a um simples cromossomo, modificando-o aleatoriamente. Esse operadores
so descritos mais detalhadamente no Captulo 4.

2.2.4

Gerao e Seleo

A gerao uma iterao do AE, na qual os indivduos da populao atual so selecionados


e recombinados e/ou mutados, gerando descendentes. Devido criao de novos descendentes,
o tamanho da populao cresce; ento um mecanismo de seleo controla esse tamanho.

2.2. TERMINOLOGIA BSICA

A idia bsica da seleo a seguinte: seja uma populao de tamanho M e seja Nd o


nmero de descendentes, ento, para a prxima gerao, so selecionados M novos indivduos
entre as M + Nd possveis solues, ou entre somente os Nd novos indivduos (Nd pode ser
maior que M , ver Captulo 3). Cada AE desenvolve, com base nesse princpio, uma estratgia
de seleo.
Locus
(Posio)
1 2 3 4 5 6 7 8 9 10.
1 0 1 1 1 1 0 0 1 0 Cromossomo
1 0 1 0 0 0 1 1 1 0 Cromossomo

Populao

0
0
0
0
1
1
0
0

0
1
1
1
0
0
0
0

Alelo (Valor) = 0

(a)

1
0
1
1
0
1
1
1

1
0
0
1
0
1
1
0

1
1
0
0
0
0
0
1

1
0
1
1
1
0
1
0

1
1
0
1
1
0
0
1

0
1
0
0
1
1
1
1

0
1
1
0
1
0
1
0

0
1
.
0
.
0
.
1
1
0
0 Cromossomo

Locus
(Posio)
1
2
3
4.3852 0.5837 8.3853 Cromossomo
.
6.3964 5.5495 1.0937
.
.
1.0937 8.3853 9.3856
6.3964 1.0645 0.5837 Cromossomo
Alelo (Valor) = 6.3964

Alelo (Valor) = 1

(b)

Figura 2.1: Dois exemplos de estrutura de dados e terminologia de um AE (Coello Coello et


al., 2002): (a) cromossomos com 10 genes e alelos binrios; (b) cromossomo com
3 genes e alelos correspondendo a valores reais.

Captulo 3
Algoritmos Evolutivos
Ramos distintos de pesquisa desenvolveram tcnicas computacionais que construram os
chamados AEs. A programao evolutiva, as estratgias evolutivas e os algoritmos genticos
foram fundamentais para o desenvolvimento dessa rea de pesquisa e foram denominados AEs
cannicos. A Seo 3.1 apresenta esses algoritmos. Outros AEs tm sido desenvolvidos buscando o aumento de desempenho com relao a vrios aspectos. Buscando ilustrar a diversidade
de AEs relvantes existentes na literatura, esse Captulo tambm apresenta a programao gentica (Seo 3.2.1), o micro-AG (Seo 3.2.2), os algoritmos de estimao de distribuio
(Seo 3.2.3), alm de uma introduo aos AEs para otimizao multiobjetivo (Seo 3.2.4).

3.1

Algoritmos Cannicos

As principais caractersticas dos AEs cannicos so importantes para o entendimento de


propostas de soluo baseadas em conceitos evolutivos, bem como para o desenvolvimento de
novos AEs. As subsees 3.1.1, 3.1.1 e 3.1.3 descrevem suscintamente os AEs cannicos.

3.1.1

Programao Evolutiva

A programao evolutiva (PE) foi proposta por Fogel (1962) com o objetivo de utilizar os
conceitos de evoluo no desenvolvimento Inteligncia Artificial (IA).
Em PE, cada indivduo da populao representado por uma mquina de estados finitos
(MEF), que processa uma seqncia de smbolos. Durante a avaliao, os indivduos so analisados por uma funo de payoff de acordo com a sada da mquina e a sada esperada para
soluo do problema. A reproduo feita apenas por operadores de mutao, sendo que todos os indivduos da populao atual geram novos descendentes. Esse processo caracteriza a
chamada reproduo assexuada. Na seleo de indivduos para a prxima gerao, os descendentes competem com os pais e somente os indivduos com maior fitness (no caso, os de
maior payoff entre os + indivduos) sobrevivem.

3.1. ALGORITMOS CANNICOS

A PE garante que todos os indivduos produziro novos descendentes e, somente, os melhores indivduos entre os atuais e os descendentes sobrevivem. O domnio total dos melhores
indivduos chamado elitismo total (Kuri-Morales e Gutirrez-Garca, 2001; Kuri-Morales,
2004). O elitismo mais utilizado garante a sobrevivncia apenas dos k-melhores indivduos,
k < N , onde N o tamanho da populao. O elitismo total, no entanto, pode diminuir significativamente a diversidade de indivduos, podendo estagnar em timos locais e/ou aumentar o
tempo de convergncia do algoritmo (De Jong, 2006).

3.1.2

Estratgias Evolutivas

As estratgias evolutivas (EEs) foram desenvolvidas com o objetivo de solucionar problemas


de otimizao de parmetros. Foram propostas originalmente por Rechenberg (1965) e Schwefel (1975), na dcada de 1960, que desenvolveram a chamada (1 + 1)-EE em que um pai gera
um nico descendente (reproduo assexuada) e ambos competem pela sobrevivncia.
Nas EEs, cada gene no cromossomo representa uma dimenso do problema, sendo que o
alelo representado em ponto flutuante. Os cromossomos so compostos por dois arrays, um
com valores para cada dimenso e outro com o desvio padro desses valores. A gerao de um
novo indivduo feita por meio da aplicao de um operador de mutao, com distribuio de
probabilidade Gaussiana, com mdia zero e com desvio padro do gene correspondente no pai.
As EEs tambm utilizam elitismo completo.
O modelo original de EE possui convergncia lenta (De Jong, 2006). Por isso, foram desenvolvidos outros modelos denominados respectivamente (, )-EE e ( + )-EE. No primeiro,
pais morrem e sobrevivem descendente, sem competio entre os indivduos j existentes
com os novos indivduos. No segundo modelo, sobrevivem apenas indivduos selecionados
entre os indivduos atuais e os novos indivduos gerados.

3.1.3

Algoritmos Genticos

Os algoritmos genticos (AGs) foram propostos por Holland e seus alunos na dcada de
1970. Holland estudou a evoluo natural considerando esta um processo robusto, simples e
poderoso, que poderia ser adaptado para obteno de solues computacionais eficientes para
problemas de otimizao. O conceito de robustez relaciona-se ao fato de os AGs, independentemente das escolha dos parmetros iniciais, em geral, produzirem solues de qualidade (Goldberg, 1989, 2002). O principal diferencial dos AGs a criao de descendente pelo operador de
recombinao (De Jong, 2006).
Alm disso, a utilizao de operadores de mutao e recombinao equilibra dois objetivos
aparentemente conflitantes: o aproveitamento das melhores solues e a explorao do espao
de busca. O processo de busca , portanto, multidimensional, preservando solues candidadas
e provocando a troca de informao entre as solues exploradas (Michalewicz, 1996; Von
Zuben, 2000).
A seguir, mostram-se os principais passos de um AG, baseando-se em Michalewicz (1996):

3.1. ALGORITMOS CANNICOS

10

Durante a iterao gen, um AG mantm uma populao de solues potenciais P (gen) =


gen
{xgen
1 , . . . , xn };
Cada indivduo xgen
avaliado produzindo uma medida de aptido, ou fitness;
i
Novos indivduos so gerados a partir de indivduos da populao atual, os quais so
selecionados para reproduo por um processo que tende a escolher indivduos de maior
fitnes;
Alguns indivduos sofrem alteraes, por meio de recombinao e mutao, formando
novas solues potenciais;
Dentre as solues antigas e novas ( + ), so selecionados indivduos (sobreviventes)
para a prxima gerao (gen + 1);
Este processo repetido at que uma condio de parada (cond?) seja satisfeita. Essa
condio pode ser um nvel esperado de adequao das solues ou um nmero mximo
de iteraes.
A Figura 3.1 apresenta um diagrama de fluxo do AG descrito nesta Seo.

Incio

Inicia Populao

gen = 1

cond?

No

Seleo para
Reproduo

Sim

gen = gen + 1

Fim

Seleo de
Sobreviventes

Figura 3.1: Diagrama de fluxo de um AG tpico.

Recombinao

Mutao

Reproduo

3.1. ALGORITMOS CANNICOS

11

Nos AGs cannicos (Goldberg, 1989), as solues candidatas so codificadas em arrays


binrios de tamanho fixo. A motivao para o uso de codificao binria oriunda da teoria dos
esquemas (Holland, 1992) utilizada com sucesso para explicar por que os algoritmos genticos
funcionam. Holland (1992) argumenta que seria benfico para o desempenho do algoritmo
maximizar o paralelismo implcito inerente ao AG e apresenta uma anlise qualitativa baseada
no Teorema dos Esquemas d que um alfabeto binrio poderia maximizar esse paralelismo.
Entretanto, em diversas aplicaes prticas a utilizao de codificao binria leva a um
desempenho insatisfatrio. Em problemas de otimizao numrica com parmetros reais, algoritmos genticos com representao inteira ou em ponto flutuante freqentemente apresentam
desempenho superior codificao binria (Deb, 2001; Michalewicz, 1996).
Segundo Michalewicz (1996) e Deb (2001), a representao binria apresenta desempenho pobre se aplicada a problemas numricos com alta dimensionalidade ou se alta preciso
numrica requerida. Alm disso, descrevem simulaes computacionais comparando o desempenho de AGs com codificao binria e com ponto flutuante. Os resultados apresentados
mostram uma clara superioridade da codificao em ponto flutuante para os problemas estudados.
Em contrapartida, Fogel (1994) argumenta que o espao de busca por si s (sem levar em
conta a escolha da representao) no determina a eficincia do AG. Espaos de busca de dimenso elevada podem s vezes ser explorados eficientemente, enquanto que espaos de busca
de dimenso reduzida podem apresentar dificuldades significativas. Concorda, entretanto, que a
maximizao do paralelismo implcito nem sempre produz um desempenho timo (Von Zuben,
2000).
O AG cannico utiliza um esquema de seleo de indivduos para a prxima gerao chamado mtodo da roleta (Goldberg, 1989). Esse mtodo aplicado para selecionar indivduos
a partir de pais, mantidos em uma lista de reprodutores. Um implementao comum deste
P
algoritmos calcula uma lista de valores [a1 , a2 , . . . , a ], de modo que ai = i1 P(i), onde P(i)
a probabilidade proporcional ao fitness de um indivduo i passar para a prxima gerao. O
Algoritmo 2 mostra o pseudocdigo do mtodo da roleta.
O desempenho de AGs pode, em muitos casos, ainda ser melhorado forando a escolha
do melhor indivduo encontrado em todas as geraes do algoritmo. Outra opo simplesmente manter sempre o melhor indivduo da gerao atual na gerao seguinte, estratgia essa
conhecida como seleo elitista (Fogel, 1994; Michalewicz, 1996).
Outro exemplo de mecanismo de seleo a seleo baseada em rank (Michalewicz, 1996).
Esta estratgia utiliza as posies dos indivduos quando ordenados de acordo com o fitness para
determinar a probabilidade de seleo. Podem ser usados mapeamentos lineares ou no lineares
para determinar a probabilidade de seleo. Uma forma de implementao desse mecanismo
simplesmente passar os n melhores indivduos para a prxima gerao (Von Zuben, 2000).
Existe ainda a seleo por torneio, pela qual um subconjunto da populao com k indivduos sorteado e os melhores indivduos desse grupo so selecionados para decidir qual ir
reproduzir. Em geral, utiliza-se torneio de 2 (k = 2), isto , dois indivduos (obtidos aleato-

3.2. OUTROS ALGORITMOS EVOLUTIVOS

12

Algoritmo 2: Pseudocdigo do mtodo da roleta.


Entrada: , pais.
Sada: lista_reprodutores.
1 cont 1;
Pi
2 ai
1 P(i);
3 enquanto cont faa
4
Obter um valor aleatrio r de probabilidade uniforme em [0, 1];
5
i 1;
6
enquanto ai < r faa
7
i i + 1;
8
ai ai + P(i);
9
fim
10
lista_reprodutores[cont] pais[i];
11
cont cont + 1;
12 fim

riamente da populao) competem entre si e o ganhador (o de melhor fitness) torna-se um dos


pais. O pseudocdigo do Algoritmo 3 ilustra esse procedimento para selecionar pais.
Algoritmo 3: Pseudocdigo do algoritmo de seleo por torneio.
Entrada: Populao, .
Sada: lista_reprodutores.
1 cont 1;
2 enquanto cont faa
3
Obter k indivduos aleatoriamente, com ou sem reposio;
4
Selecionar, com relao ao fitness o melhor indivduo dentre k;
5
Denotar esse indivduo por i;
6
lista_reprodutores[cont] i;
7
cont cont + 1;
8 fim
Uma importante propriedade da seleo por torneio que esta no depende de um conhecimento global da populao. Alm disso, essa seleo no leva em considerao o rank que o
indivduo ocupa na populao, permitindo uma seleo com menos tendncias (Eiben e Smith,
2003).

3.2

Outros Algoritmos Evolutivos

Mais recentemente, diversos aspectos complexos em problemas de otimizao e aprendizado de mquina tm sido pesquisados em CE. Esses estudos tm buscado o desenvolvimento
de novos AEs mais eficientes. As Subsees seguintes descrevem alguns AEs que apresentam
desempenho relativamente melhor em seus diferentes propsitos.

3.2. OUTROS ALGORITMOS EVOLUTIVOS

3.2.1

13

Programao Gentica

A programao gentica (PG) pode ser vista como uma extenso dos AGs. Proposta por
Koza (1989) a PG difere dos AEs cannicos devido a sua representao, seus operadores de
reproduo e seus mtodos de avaliao da funo de avaliao (Koza, 1992, 1994; Koza et
al., 1999, 2003). Introduzida para solucionar problemas de aprendizado de mquina (Rezende,
2003), a PG busca a construo automtica de programas de computadores. Os indivduos so
codificados na forma de rvores, onde cada n folha contm constantes, variveis ou parmetros
para a execuo de procedimentos e funes. Os ns internos contm operaes primrias.
Os operadores de reproduo utilizados so operadores de recombinao e mutao especficos para representaes por rvores. Na recombinao, partes das rvores so trocadas, o
ponto de corte na rvore escolhido de forma a evitar a criao de operaes invlidas. Na
mutao o valor de um n ou subrvore alterado. Se o n escolhido para a mutao for um
n interno, este ser alterado para ter uma nova operao ou funo. No caso de mutao de
subrvore, a subrvore selecionada substituda por uma nova subrvore gerada aleatoriamente.
O processo de avaliao ocorre por meio da execuo do programa representado pela rvore
do indivduo. Se este resolver o problema proposto ou se aproximar da resposta correta ter
um valor de aptido elevado; caso contrrio, sua aptido ser baixa. Geralmente, os algoritmos
de PG utilizam somente o operador de recombinao no processo de busca pelas melhores
solues.

3.2.2

Micro-AG

Os micro-AGs so variaes de AGs desenvolvidos para de evoluir eficientemente solues


utilizando populaes com poucos indivduos. O primeiro trabalho envolvendo micro-AGs foi
proposto por Krishnakumar (1989). Nesse modelo uma pequena populao gerada e evoluda
at que todos os indivduos tenham gentipos idnticos ou, pelo menos, muito similares. O
melhor indivduos , ento, transferido para uma nova populao; os demais novos indivduos
so gerados aleatoriamente. Em geral utiliza-se alta taxa de recombinao (prxima de 1) e
baixa de mutao (em muitos casos 0).
Micro-AGs apresentam grande importncia em diversas aplicaes, em especial projetos
onde a disponibilidade de recursos computacionais limitada, como o caso da rea de Robtica Evolutiva (Carvalho et al., 2004), onde cada rob um indivduo; como invivel construir
um grande nmeros de robs, a populao deve ser pequena. Aplicaes de tempo real tambm podem ser beneficiadas com a utilizao de micro-AGs, uma vez que populaes pequenas
requerem menos tempo computacional para serem geradas (Delbem et al., 2005).

3.2.3

Algoritmos de Estimao de Distribuio

Os algoritmos de estimao de distribuio (AEDs) (Larraeaga e Lozano, 2001; Paul e


Iba, 2003) foram intensamente pesquisados nos ltimos anos. OS AEDs foram introduzidos

3.2. OUTROS ALGORITMOS EVOLUTIVOS

14

por Mhlenbein e Paa (1996), incorporando tcnicas de aprendizagem automatizada de correlaes entre as variveis codificadas na soluo do problema. Os indivduos, ou parte deles, so
considerados amostras. Ento, um modelo probabilstico de distribuio ajustado amostra.
Em seguida, pode-se determinar os melhores novos indivduos de acordo com o modelo ajustado. Este processo torna desnecessria a especificao de determinados parmetros dos AEs
cannicos, como a taxa de mutao e de recombinao.
A desvantagem dessas tcnicas que, em geral, os modelos probabilsticos utilizados para
guiar a busca so complexos e de alto custo computacional. Novas abordagens tm sido propostas para solucionar esse problema, com destaque os algoritmos UMDA (do ingls univariante
marginal distribution algorithm) (Mhlenbein, 1998) e BOA (do ingls Bayesian optimization
algorithm) (Pelikan et al., 1999). Mais recentemente, Melo et al. (2007) desenvolveu um AED
utilizando modelos simples que apresentam desempenho adequado para uma diversidade de
problemas.
Um AED tpico est representado no fluxograma do Figura 3.2. Paul e Iba (2003) argumentam que razovel utilizar AEDs no lugar de outros AEs, como os AGs. Porm, a estimao da
distribuio de probabilidade associada ao conjunto de indivduos selecionados um gargalo
dessa tcnica, no existindo mtodos simples para realizar clculos em modelos complexos.

3.2.4

Algoritmos Evolutivos para Otimizao Multiobjetivo

Problemas de otimizao multiobjetivo tm despertado grande interesse na rea de Otimizao. Nesses problemas, a qualidade da soluo definida com base na sua adequao em
relao a diversos objetivos possivelmente conflitantes (Deb, 2001; Eiben e Smith, 2003). Na
prtica, os mtodos de soluo buscam reduzir esses problemas a outros com apenas um objetivo e depois buscam uma soluo. Uma classe de mtodos bastante utilizada nesse contexto
a dos mtodos baseados em pesos ou simplesmente mtodo de pesos, onde so atribudos pesos
s diferentes funes objetivo, podendo ser realizado um processo de otimizao da funo
de pesos (Arenales et al., 2007).
Esses mtodos, no entanto, so dependentes da escolha adequada dos pesos. Isso, em muitos
casos, implica um conhecimento prvio dos intervalos correspondentes aos pesos mais adequados. Por essa razo, mtodos que tentam encontrar solues que apresentam um compromisso
com os vrios objetivos sem a utilizao de pesos passaram a ser explorados (Eiben e Smith,
2003). Nesse caso, no existe somente uma soluo para o problema, mas sim um conjunto de
solues timas, denominado conjunto de Pareto timo ou fronteira de Pareto (Deb, 2001).
O primeiro AE para otimizao multiobjetivos (AEOM) desenvolvido foi proposto por Schaffer (1985) e denominado VEGA (do ingls, "Vector Evaluated Genetic Algorithm"). Este algoritmo um AG modificado que avalia cada objetivo separadamente. Um dos problemas do
algoritmo proposto por Schaffer que as solues da fronteira obtidas, em geral, possuem baixa
diversidade.

3.2. OUTROS ALGORITMOS EVOLUTIVOS

15

Gerar populao inicial de


tamanho M
Ajustar o modelo de
probabilidade aos indivduos
selecionados
Selecionar N (N M)
indivduos
Gerar os melhores
descendentes de acordo com
o modelo ajustado
No

cond?

Selecionar os indivduos da
nova populao

Sim
Retornar soluo

Figura 3.2: Diagrama de fluxo simplificado de um AED.

Goldberg (1989) criou em procedimento que ordena as solues baseado no conceito de


dominncia que fornece um valor de aptido para uma soluo proporcional ao nmero de
solues que esta domina, i.e., no perde em nenhum objetivo e melhor em pelo menos um.
Com isso as solues com maior nmero de dominados possuem maior aptido e, assim, tero
uma maior quantidade de cpias na lista de solues. Com o objetivo de manter a diversidade
das solues, Goldberg sugeriu a utilizao de um mtodo de compartilhamento que calcula o
nicho de cada soluo dentro da fronteira que a soluo pertence. Com base nas idias iniciais
de Goldberg, foram propostos vrios modelos de AEOMs.
A principal diferena entre os AEs tradicionais e os AEOMs o operador de seleo, dado
que a comparao entre duas solues deve realizar-se de acordo com o conceito de dominncia.
Em algumas proposta, como MOGA (Fonseca e Fleming, 1993) e SPEA (Zitzler e Thiele,
1998), o valor de aptido proporcional dominncia da soluo. Os outros mtodos, como
NPGA (Horn et al., 1994), utilizam a dominncia e no calculam um valor de aptido.
Os modelos de AEMO so usualmente classificados em dois grupos (Deb, 2001; Eiben e
Smith, 2003):

3.2. OUTROS ALGORITMOS EVOLUTIVOS

16

1. No elitistas: compreendem os modelos que como o prprio nome indica, no utilizam


nenhuma forma de elitismo nas suas interaes;
2. Elitistas: compreendem os modelos que empregam alguma forma de elitismo. Por exemplo, como o SPEA e o PESA (Corne et al., 2000), utilizam uma populao externa para
armazenar as solues no dominadas encontradas at o momento. O NSGA-II (Deb et
al., 2000) combina a populao atual com a populao gerada e preserva as melhores
solues de ambas. Estudo realizado por Zitzler et al. (2000) concluiu que o elitismo
melhora as solues encontradas por um modelo de AEMO. A Tabela 3.2.4 apresenta os
principais modelos de AEMO e seus autores.

Tabela 3.1: Diferentes modelos de AEMO.


Sigla
VEGA
WBGA
MOGA
NSGA
NPGA
PPES
REMOEA
NSGA-II
SPEA,
SPEA-2
TGA
PAES
MONGA-I,
MONGA-II
PESA-I, PESA-II

Nome do Modelo
Vector Evaluated Genetic Algorithm
Weight Based Genetic Algorithm
Multiple Objective Genetic Algorithm
Non-Dominated Sorting Genetic Algorithm
Niched-Pareto Genetic Algorithm
Predator-Prey Evolution Strategy
Rudophs Elitist Multi-Objective
Evolutionay Algorithm
Elitist Non-Dominated Sorting Genetic
Algorithm
Strenght Pareto Evolutionary Algorithm 1 e 2
Thermodynamical Genetic Algorithm
Pareto-Archived Evolutionary Strategy
Multi-Objective Messy Genetic Algorithm
Pareto Envelope-Base Selection Algorithm

Autores
(Schaffer, 1985)
(Hajela e Lin, 1992)
(Fonseca e Fleming, 1993)
(Srinivas e Deb, 1994)
(Horn et al., 1994)
(Laumanns et al., 1998)
(Rudolph, 2001)
(Deb et al., 2000)
(Zitzler e Thiele, 1998),
(Zitzler et al., 2001)
(Kita et al., 1996)
(Knowles e Corne, 1999)
(Veldhuizen, 1999)
(Corne et al., 2000),
(Corne et al., 2001)

Captulo 4
Operadores de Reproduo
A reproduo, seguindo uma nomenclatura utilizada pela Biologia, pode ocorrer de duas
formas:
1. Assexuada, ou seja, um indivduo sozinho gera um descendente, utilizando mutao;
2. Sexuada, isto , h a participao de dois indivduos na gerao de um ou mais descendentes por meio do processo de recombinao.
As prximas Sees descrevem os operadores operadores correspondentes aos processos de
mutao e recombinao, bem como suas principais variaes.

4.1

Mutao

O operador de mutao modifica aleatoriamente um ou mais genes de um cromossomo.


Com esse operador, um indivduo gera uma cpia de si mesmo, a qual pode sofrer alteraes.
A probabilidade de ocorrncia de mutao em um gene denominada taxa de mutao. Usualmente, so atribudos valores pequenos para a taxa de mutao, uma vez que esse operador
pode gerar um indivduo potencialmente pior que o original.
Considerando a codificao binria (ver Seo 2.2.1), o operador de mutao padro simplesmente troca o valor de um gene em um cromossomo (Goldberg, 1989). Assim, se o alelo de
um gene selecionado 1, o seu valor passar a ser 0 aps a aplicao da mutao (Figura 4.1)
Ponto de Mutao
Pai:

Descendente:

Figura 4.1: Representao grfica do operador de mutao.

17

4.2. RECOMBINAO

18

No caso de problemas com codificao em ponto flutuante, os operadores de mutao mais


populares so a mutao uniforme e a mutao Gaussiana (Bck et al., 2000; Deb, 2001). O
operador para mutao uniforme seleciona aleatoriamente um componente k {1, 2, . . . , n}
do cromossomo x = [x1 , . . . , xk , . . . , xn ] e gera um indivduo x0 = [x1 , . . . , x0k , . . . , xn ], onde
x0k um nmero aleatrio (com distribuio de probabilidade uniforme) amostrado no intervalo
[LI , LS ], sendo LI e LS , respectivamente, os limites inferior e superior para o valor do alelo xk .
No caso da mutao Gaussiana, todos os componentes de um cromossomo x so modificados
pela seguinte expresso:
x0 = x + N (0, ),
onde N (0, ) um vetor de variveis aleatrias Gaussianas independentes, com mdia zero e
desvio padro .

4.2

Recombinao

O operador de recombinao o mecanismo de obteno de novos indivduos pela troca ou


combinao dos alelos de dois ou mais indivduos. o principal operador de reproduo dos
AGs (Goldberg, 1989). Fragmentos das caractersticas de um indivduo so trocadas por um
fragmento equivalente oriundo de outro indivduo. O resultado desta operao um indivduo
que combina caractersticas potencialmente melhores dos pais.
Um tipo bastante comum de recombinao a de 1-ponto. Nessa operao, seleciona-se
aleatoriamente um ponto de corte nos cromossomos, dividindo este em uma partio direita
e outra esquerda do corte. Cada descendente composto pela juno da partio esquerda
(direira) de um pai com a partio direita (esquerda) do outro pai (Figura 4.2).
Outra recombinao, de n-pontos, divide os cromossomos em n parties, as quais so
recombinadas. A Figura 4.3 ilustra um exemplo com 2 pontos de corte. Neste caso, o Filho 1
(Filho 2) recebe a partio central do Pai 2 (Pai 1) e as parties esquerda e direita dos corte
do Pai 1 (Pai 2).
Esquerda

Direita

Esquerda

Centro

Direita

Pai 1:

Pai 1:

Pai 2:

Pai 2:

Filho 1:

Filho 1:

Filho 2:

Filho 2:

Figura 4.2: Recombinao de 1-ponto.

Figura 4.3: Recombinao de 2-pontos.

4.2. RECOMBINAO

19

Outro tipo de recombinao muito comum a recombinao uniforme, que considera cada
gene independentemente, escolhendo de qual pai o gene do filho ser herdado. Em geral, criase uma lista de variveis aleatrias de distribuio uniforme em [0, 1]. Para cada posio, se o
valor da varivel aleatria for inferior a um dado P (usualmente 0, 5), o gene ser oriundo do
Pais 1; caso contrrio, vir do Pai 2. O segundo filho gerado pelo mapeamento inverso (ver
Figura 4.4).

Pai 1:

Pai 2:

Filho 1:

Filho 2:

Figura 4.4: Recombinao uniforme.


Nesse exemplo,
adaptado de Eiben e Smith (2003),
foram utilizadas as variveis aleatrias
[0.31, 0.74, 0.10, 0.42, 0.89, 0.78, 0.21, 0.51, 0.36, 0.21] uniformemente distribudas em [0, 1).

Em representaes de ponto flutuante (ver Seo 2.2.1), verificou-se que h duas categorias
de operadores de recombinao: a recombinao discreta e a recombinao aritmtica, as quais
so explicadas nas Subsees 4.2.1 e 4.2.2.

4.2.1

Recombinao Discreta

Essa categoria de recombinao procura fazer analogia com o processo de recombinao em


representao binria, de modo que cada cromossomo um conjunto de nmeros reais. A desvantagem da recombinao discreta est no fato de no inserir novos valores no cromossomo,
uma vez que gera apenas combinaes de vetores. A tarefa de inserir novos genes atribuda
apenas mutao (Eiben e Smith, 2003).

4.2.2

Recombinao Aritmtica

Proposta por Michalewicz e Janikow (1991), a recombinao aritmtica (tambm chamada


recombinao intermediria) cria novos alelos nos descendentes com valores intermedirios
aos encontrados nos pais. Define uma combinao linear entre dois cromossomos x e y, de
modo a gerar um descendente z, da seguinte forma:
z = x + (1 )y,

(4.1)

4.2. RECOMBINAO

20

onde um nmero aleatrio pertencente ao intervalo [0, 1]. Geralmente, no entanto, utilizado um valor fixo para (como, por exemplo, = 0, 5, caracterizando a chamada recombinao aritmtica uniforme). Esse operador particularmente apropriado para problemas de
otimizao numrica com restries, onde a regio factvel convexa1 . A combinao linear
entre x e y pertencentes regio factvel resulta em elementos tambm pertencentes regio
factvel.
Diversos operadores de recombinao foram propostos seguindo o princpio descrito acima.
Na recombinao simples, um ponto de corte k definido; o Filho 1 construdo com os
primeiros k genes do Pai 1 e com os demais n k genes restantes obtidos pela mdia aritmtica
dos n k genes dos Pai 1 e Pai 2 (Figura 4.5). Na recombinao individual, apenas o alelo
k, escolhido aleatoriamente, recombinado pela mdia aritmtica dos alelos k dos Pais 1 e 2
(Figura 4.6).
Pai 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

Pai 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

Pai 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3

Pai 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3

Filho 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,5 0,5 0,6

Filho 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,5 0,9

Filho 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,5 0,5 0,6

Filho 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,5 0,3

Figura 4.5: Recombinao simples, com


= 0, 5.

Figura 4.6: Recombinao individual, com


= 0, 5.

A recombinao total, uma das mais utilizadas, realiza uma ponderao de todos os alelos
dos pais para cada gene:
z 1 = x + (1 )y

(4.2)

z 2 = y + (1 )x.

(4.3)

A Figura 4.7 ilustra esse processo para = 0, 5. Este valor sempre produz descendentes
iguais.

4.2.3

Blend Crossover

Uma abordagem alternativa de recombinao para valores reais a recombinao da mistura ou blend crossover (BLX-), desenvolvido por Eshelman e Schaffer (1993) com base em
um estudo organizado por Goldberg (1991). Para dois cromossomos pais x e y, assumindo
x y, o BLX- seleciona aleatoriamente uma soluo pertencente ao intervalo [xi (yi
xi ), yi (xi yi )], onde um nmero real entre 0 e 1. Assim, para = 0.0, por exemplo,
1

A descrio e anlise da convexidade de uma regio factvel pode ser encontrada em (Bazaraa et al., 2006).

4.2. RECOMBINAO

21
Pai 1: 0,1 0,2 0,3 0,4 0,5 0,6 0,7 0,8 0,9

Pai 2: 0,3 0,2 0,3 0,2 0,3 0,2 0,3 0,2 0,3

Filho 1: 0,2 0,2 0,3 0,3 0,4 0,4 0,5 0,5 0,6

Filho 2: 0,2 0,2 0,3 0,3 0,4 0,4 0,5 0,5 0,6

Figura 4.7: Exemplo de recombinao total para = 0.5.

esse operador cria uma soluo no intervalo [xi , yi ]. Esse procedimento repetido para cada
locus gerando uma nova soluo.
importante observar que a localizao da soluo gerada pelo BLX- depende da diferena entre as solues pais. Por exemplo, se a diferena entre os pais for pequena, a diferena
entre os filhos tambm ser. Essa propriedade permite afirmar que, se a diversidade na populao for grande, esperada uma grande diversidade na populao da gerao seguinte. Isso
garante uma explorao de todo espao de busca no incio do processo evolutivo, focando a
busca em uma determinada regio medida que as solues convergem (Deb, 2001).

4.2.4

Recombinao com Mltiplos Pais

Alm dos operadores de reproduo descritos neste Captulo, assexuada e sexuada, possvel explorar um esquema de reproduo inexistente em sistemas biolgico: a recombinao
com mltiplos pais. Essa estratgia foi proposta logo no incio dos estudos computacionais com
AEs, na dcada de 1960 (Eiben et al., 1995). Tecnicamente, este tipo de recombinao amplifica os efeitos da recombinao. Esse operadores podem ser categorizados de acordo com o
mecanismo de combinao empregado (Eiben et al., 1995; Eiben e Smith, 2003):
1. Recombinao baseada na seqncia de alelos (chamada eleio p-sexual), generalizando
a recombinao uniforme;
2. Recombinao baseado em segmentao e recombinao dos pais (chamada recombinao diagonal), generalizando a recombinao de n-pontos;
3. Recombinao baseado em operaes numricas sobre alelos reais (chamada recombinao massiva), generalizando os operadores de recombinao aritmtica.
No h estudos tericos conclusivos sobre as vantagens da utilizao de vrios pais no processo de recombinao. No entanto, resultados experimentas demonstram vantagem dessa tcnica em uma grande variedade de problemas (Eiben e Schippers, 1996; Eiben e Smith, 2003).

4.3. OPERADORES DE REPRODUO PARA PERMUTAO

4.3

22

Operadores de Reproduo para Permutao

Uma classe importante de problemas do mundo real consiste em decidir a ordem na qual
uma seqncia de eventos deve ocorrer (Eiben e Smith, 2003). Um forma bastante natural de
representar tais problemas utilizando permutaes. Uma conseqncia imediata desse tipo
de problema a necessidade de buscar novos operadores, de modo a trabalhar com solues
factveis. Em permutaes, o operador de mutao deve garantir que o novo indivduo obtido
tambm represente uma permutao vlida. Uma primeira classe de operadores de mutao
para permutaes escolhe 2, 3 ou k pontos de corte no cromossomo e tenta trocar os segmentos
entre esses pontos. No entanto, os operadores dessa classe so custoso (Bck et al., 2000). Para
problemas onde a permutao representa uma lista de prioridades, foram propostos operadores
que fazem a troca de duas ou mais posies escolhidas de forma aleatria.
No caso da recombinao, tambm necessrio criar uma permutao vlida. Com esse
objetivo, foram desenvolvidos os operadores apresentados a seguir, nos quais so consideradas
as seguintes permutaes como cromossomos pais:
Pai 1 = C E D B F A ;
Pai 2 = E B A C D F .

4.3.1

Crossover de Ordem

Os novos indivduos do crossover de ordem, conhecido como OX, so obtidos da seguinte


forma: selecionam-se dois pontos de corte que definem uma subseqncia entre esses pontos.
Essa subseqncia copiada do Pai 1 (Pai 2) para o Filho 1 (Filho 2) na mesma posio em que
os genes esto no pai. Para preencher as posies restantes do filho, copia-se do Pai 2 (Pai 1) o
primeiro gene posicionado a partir do segundo ponto de corte e que ainda no est presente no
filho para a primeira posio no preenchida no filho depois do segundo ponto de corte. Esse
processo de cpia continua com o prximo gene de Pai 2 (Pai 1) utilizando este pai como uma
lista circular at completar os genes do Filho 1 (Filho 2).
No exemplo, sejam os pontos de corte entre as posies 3 e 4, e 7 e 8. Primeiramente os
filhos so formados somente pelas subseqncias entre os pontos de corte, ou seja:
Filho 1 = X X D B X X
Filho 2 = X X A C X X
No passo seguinte, as demais posies dos filhos so definidas, a partir do segundo ponto de
corte a partir do pai no utilizado para compor a subseqncia. Os seguintes filhos so obtidos:
Filho 1 = A C D B F E
Filho 2 = D B A C F E

4.3. OPERADORES DE REPRODUO PARA PERMUTAO

4.3.2

23

Crossover Baseado em Posio

Para obter novos indivduos tambm pode ser utilizado o crossover baseado em posio,
chamado PBX, o qual comea pela seleo de um conjunto de posies aleatrias de um dos
pais. Posteriormente, os genes das posies selecionadas do pai so copiados no filho exatamente na mesma posio em que esto no pai. Em seguida, os genes copiados so removidos
do segundo pai, obtendo do segundo pai os genes que faltam no filho. Esses genes so copiados
na ordem em que aparecem da esquerda para a direita nas posies vazias do filho. Para obter o
outro filho, basta trocar a ordem dos pais (Michalewicz e Fogel, 2004).
Como exemplo, considere os pais definidos anteriormente e as posies 2, 4 e 5 escolhidas
de forma aleatria e as posies comeando em um. O primeiro filho obtido inicialmente pela
cpia das posies selecionadas do primeiro pai:
Filho 1 = X E X B F X
A seguir as posies vazias so preenchidas pelos genes do segundo pai ignorando os genes j
inseridos no filho e assim obtm-se o seguinte indivduo:
Filho 1 = A E C B F D

4.3.3

Crossover Baseado em Ordem

O operador de crossover baseado em ordem (OBX) similar ao PBX. O processo inicia


como em PBX, selecionando um conjunto de posies de forma aleatria. Os genes correspondentes s posies selecionadas do segundo pai so localizados no primeiro pai. Na etapa
seguinte, esses genes so reordenados para aparecerem na mesma ordem presente no segundo
pai, no entanto, mantendo as posies do primeiro pai. A seguir, os genes reordenados so
copiados para o filho nas mesmas posies do primeiro pai. As demais posies so copiadas
diretamente do primeiro pai. Novamente, para obter outro filho, o processo igual somente
trocando o primeiro com o segundo pai (Bck et al., 2000).
Considere novamente, para exemplo, os pais definidos anteriormente e as posies 2, 4 e
5, que em Pai 1 correspondem aos genes 2, 3 e 4, respectivamente, os quais esto em Pai 1,
respectivamente nas posies 4, 1 e 3. Reordenando para que os genes estejam na mesma
ordem em que se apresentam em Pai 2 e respeitando as posies em Pai 1 temos a seguinte
configurao inicial para o primeiro filho
Filho 1 = B X C D X X
Finalmente, as demais posies de Filho 1 so preenchidas com os genes de Pai 1, como segue:
Filho 1 = B E C D F A

4.3. OPERADORES DE REPRODUO PARA PERMUTAO

4.3.4

24

Crossover cclico

A permutao tambm pode ser realizada por um crossover circular, chamado CX. Nesse,
dados dois pais, a primeira posio no filho recebe o primeiro gene do primeiro pai. O prximo
gene do filho obtido do segundo pai. Este gene copiado para o filho na posio em que este
mesmo gene aparece no primeiro pai. O algoritmo segue copiando genes do segundo pai na
posio correspondente no primeiro pai at que se forme um ciclo, ou seja, at que na posio
correspondente no segundo pai encontra-se um gene j inserido no filho. Neste caso, se restarem
posies no preenchidas no filho, essas so preenchidas da esquerda para a direita no array do
filho com os genes do segundo pai na ordem relativa que aparecem neste pai. Trocando-se o
primeiro pai pelo segundo possvel obter outro descendente (Michalewicz e Fogel, 2004).
Por exemplo, comeando com a primeira posio de Pai 1, definido anteriormente, tem-se
o gene 3 que copiado para a primeira posio do filho. O gene 3, corresponde ao gene 5, em
Pai 2 que est na posio 2 de Pai 1, que a posio utilizada para copiar o gene no filho. A
seguir considerado o gene correspondente a posio do gene 5 em Pai 1 no Pai 2 que retorna
o gene 2. O gene 2 est na posio 4 de pai1 e copiado nesta posio para filho. A posio 4
em Pai 2 corresponde ao gene 3 e neste momento se forma o ciclo. Assim,
Filho 1 = C E X B X X
Agora, as posies no preenchidas so copiadas de Pai 2 e o filho resultante
Filho 1 = C E A B D F

4.3.5

Crossover Parcialmente Mapeado

Uma variao do operador OX o crossover parcialmente mapeado (PMX), pois ambos


utilizam dois pontos aleatrios de corte para definir uma subseqncia que copiada para os
descendentes. As subseqncias de cada pai definem um mapeamento entre seus genes, de
forma que um gene no primeiro pai na posio i mapeado para o gene na posio i do segundo
pai. O operador inicia copiando a subseqncia do primeiro pai para o filho. Os demais genes
do filho so copiados das posies correspondentes dos genes do segundo pai, resolvendo cada
conflito (gene do segundo pai que j foi inserido no filho) utilizando o gene correspondente
dado pelo mapeamento. Para o outro filho, o processo o mesmo s trocando o primeiro pai
com o segundo pai (Michalewicz e Fogel, 2004; Bck et al., 2000).
Por exemplo, com Pai 1 e Pai 2 definidos, escolhe-se de forma aleatria os pontos de corte
como definidos para OX, ou seja, entre as posies 2 e 3, e 4 e 5. Estes pontos de corte definem
o mapeamento de genes 4 1 e 2 3. Copia-se para Filho 1 a subseqncia definida entre os
pontos de corte de Pai 1 e de Pai 2 os genes que no geram conflito com os genes copiados de
Pai 1 obtendo:
Filho 1 = E X D B X F

4.3. OPERADORES DE REPRODUO PARA PERMUTAO


Para os genes que geram conflito utiliza-se o mapeamento e obtm-se
Filho 1 = E C D B A F

25

Captulo 5
Consideraes Finais
Neste texto foram abordados os AEs, poderosas ferramentas aplicadas principalmente em
problemas de otimizao. Os AEs tm como base idias evolucionistas, utilizando conceitos de
Gentica e dinmica populacional.
Foram apresentados os trs AEs cannicos, historicamente desenvolvidos de forma independente mas que mantm idias comuns. Tabela 5.1 apresenta um breve resumo dos pontos
em que PE, EE e AG diferem entre si. Tambm foram descritas variaes desses AEs, como a
PG e o micro-AG, alm dos AEDs e abordagens multiobjetivo.
Tabela 5.1: Diferenas fundamentais entre AEs cannicos.
AE
PE
EE
AG

Representao
MEF
Ponto flutuante
(dimenso do problema e desvio padro)
Originalmente binria;
ponto flutuante em algumas aplicaes

Operadores
Mutao e seleo ( + ) ou (, )
Mutao e seleo ( + )
Recombinao (principal), mutao e
seleo aleatria

Deve-se observar que a principal caracterstica dos AEs a idia de evoluo de solues
em paralelo. Neste contexto, so includos algoritmos como: swarm inteligence, ant colony
optimization (ACO)1 , imune systems, learning classifier algorithms (LCS), etc. Alm disso,
os AEs podem ser vistos como metaheursticas2 , possibilitando uma interface (compartilhamento, idias, hibridizao) com algoritmos como GRASP, A-teams, VNS, entre outros. (Feo
e Resende, 1995; Resende e Ribeiro, 2005; Ribeiro e Hansen, 2002) A interface amplia-se ao
se considerar verses paralelizveis dessas metaheursticas, conforme apresentado em (Alba,
2005; Duni Ekisoglu et al., 2002; Resende e Ribeiro, 2005).
1

ACO (Dorigo e Gambardella, 1997; Dorigo et al., 1999; Pilat e White, 2002) so AEs, no sentido em que
evoluem solues em paralelo, e tambm so AEDs, uma vez que utilizam um modelo probabilstico e matriz de
ferormnios construda a partir da atividade de uma populao de formigas.
2
Uma metaheurstica um mtodo heurstico para soluo de uma classe geral de problemas computacionais
utilizando a combinao de outras heursticas (Blum e Roli, 2003).

26

27
Finalmente, importante destacar os AEs so processos heursticos, de modo podem no
gerar, necessariamente, solues timas. Alm disso, muitos problemas de otimizao encontrados na mundo real podem ser resolvidos por mtodos exatos de forma eficiente. Por esse
motivo, solues baseadas em AEs devem ser utilizadas como um ltimo recurso na resoluo
de problemas, ou seja, devem se aplicadas quando mtodos de soluo exatos sejam consideradas ineficientes.

Referncias Bibliogrficas
A LBA , E. Parallel metaheuristics: A new class of algrothms. Wiley Series on Parallel and
Distributed Computing. Wiley, 2005.
A MABIS , J. M.; M ARTHO , G. R. Curso bsico de biologia, v. 3. So Paulo: Editora Moderna
Ltda., 1985.
A RENALES , M. N.; A RMENTANO , V. A.; M ORABITO , R.; YANASSE , H. H.
operacional. Rio de Janeiro: Elsevier Editora Ltda., 2007.

Pesquisa

BALLARD , D. H. An introduction to natural computing. MIT Press, 1999.


BAZARAA , M. S.; S HERALI , H. D.; S HETTY, C. M. Nonlinear programming: Theory and
algorithms, cap. 2. 3 ed Hoboken, NJ: John Wiley & Sons, Inc., p. 3995, 2006.
B LUM , C.; ROLI , A. Metaheuristics in combinatorial optimization: Overview and conceptual
comparison. ACM Computing Surveys, v. 35, n. 3, p. 268308, 2003.
BCK , T.; F OGEL , D. B.; M ICHALEWICZ , T., eds. Evolutionary computation 1: Basic
algorithms and operators. New York: Taylor & Francis Group, 2000.
C ARVALHO , A. P. L. F.; D ELBEM , A.; S IMES , E. V.; T ELLES , G. P.; ROMERO , R. A.
Computao bioinspirada. In: Apostila de minicurso XXIII JAI - Jornada de Atualizao em
Informtica, Porto Alegre: Sociedade Brasileira de Computao, 2004, p. 50.
C ASTRO , L. N. Fundamentals of natural computing: Basic concepts,algorithms, and applications. CRC Press LLC, 2006.
C OELLO C OELLO , C. A.; VAN V ELDHUIZEN , D. A.; L AMONT, G. B. Evolutionary algortihms for solving multi-objective problems. Genetic Algorithms and Evolutionary Computation. New York, NY: Kluwer Academic, 2002.
C ORNE , D.; J ERRAM , N.; K NOWLES , J.; OATES , M. Pesa-ii: Region-based selection in
evolutionary multiobjective optimization. In: S PECTOR , L.; G OODMAN , E.; W U , A.;
L ANGDON , W.; VOIGT, H.; G EN , M.; S EN , S.; D ORIGO , M.; P EZESHK , S.; G ARZON ,
M.; B URKE , E., eds. Proceedings of the Genetic and Evolutionary Computation Conference
(GECCO 2001), Morgan Kaufmann Publishers, 2001, p. 283290.

28

REFERNCIAS BIBLIOGRFICAS

29

C ORNE , D.; K NOWLES , J.; OATES , M. The pareto envelope-based selection algorithm for
multiobjective optimization. In: D EB , K.; G. RUDOLPH , X. Y.; L UTTON , E.; M ERELO ,
J. J.; S CHWEFEL , H. P., eds. Proceedings of the Parallel Problem Solving from Nature VI
Conference,, Springer. Lecture Notes in Computer Science No. 1917, 2000, p. 839848.
D E J ONG , K. A. Evolutionary computation: A unified approach. Cambridge, MA: MIT
Press, 2006.
Disponvel em: http://www.cs.gmu.edu/~eclab/projects/ec_courseware
(Acessado em 10/08/2008)
D EB , K. Multi-objective optimization using evolutionary algorithms. Wiley-Interscience
Series in Systems and Optimization. New York, NY: John Wiley & Sons, 2001.
D EB , K.; AGRAWAL , S.; P RATAB , A.; M EYARIVAN , T. A Fast Elitist Non-Dominated
Sorting Genetic Algorithm for Multi-Objective Optimization: NSGA-II. KanGAL report
200001, Indian Institute of Technology, Kanpur, India, 2000.
D ELBEM , A. C. B.; C ARVALHO , A. C. P. L. F.; B RETAS , N. G. Main chain representation
for evolutionary algorithm applied to distribution system reconfiguration. IEEE Transactions
on Power Systems, v. 20, n. 1, p. 425436, 2005.
D ORIGO , M.; C ARO , G. D.; G AMBARDELLA , L. M. Ant algorithms for discrete optimization. Artificial Life, v. 5, n. 2, p. 137172, 1999.
D ORIGO , M.; G AMBARDELLA , L. M. Ant colony system: A cooperative learning approach
to the traveling salesman problem. IEEE Transactions on Evolutionary Computation, v. 1,
n. 1, p. 120, 1997.
D UNI E KISOGLU , S.; PARDALOS , P.; R ESENDE , M. Parallel metaheuristics for combinatorial optimization. In: Models for Parallel and Distributed Computation: Theory, Algorithmic
Techniques and Applications, Kluwer Academic Publishers, p. 179206, 2002.
E IBEN , A. E.; S CHIPPERS , C. A. Multi-parents niche:n-ary crossovers on nk-landscapes. In:
VOIGT, H.-M.; E BELING , W.; R ECHENBERG , I.; S CHWEFEL , H.-P., eds. Proceedings of
th 4th Conference on Parallel Problem from Nature, Berlin, Heidelberg, New York: Springer,
1996, p. 319328.
E IBEN , A. E.; S MITH , J. E. Introduction to evolutionary computing. Natural Computing
Series. Berlin: Springer, 2003.
E IBEN , A. E.; VAN K EMENADE , C. H.; KOK , J. N. Orgy in the computer: Multi-parent
reproduction in genetic algorithms. In: M ORN , F.; M ORENO , A.; M ERELO , J. J.; C HA CN , P., eds. Advances in Artificial Life, Berlin, Heidelberg, New York: Springer, 1995, p.
389402 (Lecture Notes in Artificial Intelligence, v.929).

REFERNCIAS BIBLIOGRFICAS

30

E SHELMAN , L. J.; S CHAFFER , J. D. Real-coded genetic algorithms and interval-schemata.


In: Foundations of Genetic Algorithms 2 (FOGA-2), San Mateo, CA, 1993, p. 187202.
F EO , T. A.; R ESENDE , M. G. C. Greedy randomized adaptive search procedures.
Global Optimization, v. 1, p. 109133, 1995.

J. of

F OGEL , D. B. An introduction to simulated evolution. IEEE Transaction on Neural Networks,


v. 5, n. 1, p. 314, 1994.
F OGEL , L. Autonomus automata. Industrial Research, v. 4, n. 1, p. 1419, 1962.
F ONSECA , C.; F LEMING , P. Genetic Algorithms for Multiobjective Optimization: Formulation, Discussion and Generalization. In: F ORREST, S., ed. Proceedings of the Fifth International Conference on Genetic Algorithms, University of Illinois at Urbana-Champaign, San
Mateo, California: Morgan Kauffman Publishers, 1993, p. 416423.
G OLDBERG , D. E. Genetic algorithms in search, optimization, and machine learning. New
York: Addison-Wesley, 1989.
G OLDBERG , D. E. Real-coded gentic algorithms, virtual alphabets, and blocking. Complex
Systems, v. 5, n. 2, p. 139168, 1991.
G OLDBERG , D. E. The design of innovation: Lessons from and for competent genetic algorithms. Boston: Kluwer, 2002.
H AJELA , P.; L IN , C. Y. Genetic search strategies in multicriterion optimal design. Structural
Optimization, v. 4, p. 99107, 1992.
H OLLAND , J. Adaptation in natural and artificial systems: An introductory analysis with
applications to biology, control, and artificial inteligence. Complex Adaptive Systems, 2
ed. Cambridge, MA: MIT Press, 1992.
H ORN , J.; NAFPLIOTIS , N.; G OLDBERG , D. A Niched Pareto Genetic Algorithm for Multiobjective Optimization. In: Proceedings of the First IEEE Conference on Evolutionary
Computation, IEEE World Congress on Computational Intelligence, Piscataway, New Jersey: IEEE Service Center, 1994, p. 8287.
K ITA , H.; YABUMOTO , Y.; M ORI , N.; N ISHIKAWA , Y. Multi-Objective Optimization by
Means of the Thermodynamical Genetic Algorithm. In: VOIGT, H.-M.; E BELING , W.;
R ECHENBERG , I.; S CHWEFEL , H.-P., eds. Parallel Problem Solving from NaturePPSN
IV, Lecture Notes in Computer Science, Berlin, Germany: Springer-Verlag, 1996, p. 504
512 (Lecture Notes in Computer Science, ).
K NOWLES , J.; C ORNE , D. The Pareto Archived Evolution Strategy: A New Baseline Algorithm for Multiobjective Optimisation. In: 1999 Congress on Evolutionary Computation,
Washington, D.C.: IEEE Service Center, 1999, p. 98105.

REFERNCIAS BIBLIOGRFICAS

31

KOZA , J. R. Hierarchical genetic algorithms operating on population of computer programs.


In: Proceedings of the 11th International Join Conference on Artificial Intelligence (IJCAI89), Detroid, MI: Morgan Kaufmann, 1989, p. 768774.
KOZA , J. R. Genetic programming: On the programming of computers by means of natural
selection. Cambridge, MA: MIT Press, 1992.
KOZA , J. R. Genetic programming II: Automatic discovery of reusable programs. Cambridge,
MA: MIT Press, 1994.
KOZA , J. R.; B ENNETT III, F. H.; A NDRE , D.; K EANE , M. A. Genetic programming III:
Darwinian invention and problem solving. San Mateo, CA: Morgan Kaufmann, 1999.
KOZA , J. R.; K EANE , M. A.; S TREETER , M. J.; M YDLOWEC , W.; Y U , J.; L ANZA , G. Genetic programming IV: Routine human-competitive machine intelligence. Kluwer Academic
Publishers, 2003.
K RISHNAKUMAR , K. Micro-genetice algorithms for stationary and non-stationary function
optimization. SPIE: Inteligent Control and Adaptative Systems, v. 1196, p. 289296, 1989.
K URI -M ORALES , A. F. Pattern recognition via vasconcelos genetic algorithm. In: Progress in Pattern Recognition, Image Analysis and Applications, v. 3287 de Lecture Notes in
Computer Science, Springer Berlin / Heidelberg, p. 328335, 2004.
K URI -M ORALES , A. F.; G UTIRREZ -G ARCA , J. Penalty functions methods for constrained
optimization with genetic algorithms: A statistical analysis. In: C OELLO C OELLO , C. A.;
A LBORNOZ , A.; S UCAR , L. E.; BATTISTUTTI , O. C., eds. Proceedings of the 2nd Mexican International Conference on Artificial Intelligence (MICAI 2002), Heidelberg, Germany:
Springer-Verlag, 2001, p. 108117 (Lecture Notes in Artificial Intelligence, v.2313).
L ARRAEAGA , P.; L OZANO , J. Estimation of distribuition algorithms: A new tool for evolutionary computation. Kluwer Academic Publishers, 2001.
L AUMANNS , M.; RUDOLPH , G.; S CHWEFEL , H.-P. A Spatial Predator-Prey Approach to
Multi-Objective Optimization: A Preliminary Study. In: E IBEN , A. E.; S CHOENAUER ,
M.; S CHWEFEL , H.-P., eds. Parallel Problem Solving From Nature PPSN V, Amsterdam,
Holland: Springer-Verlag, 1998, p. 241249.
M ANGE , D., ed. Bio-inspired computing machine. Informatique. EPFL Press, 1998.
M ELO , V. V.; D ELBEM , A. C. B.; P INTO JU NIOR , D. L.; F EDERSON , F. M. Improving
global numerical optimization using a search-space reduction algorithm. In: Genetic and
Evolutionary Computation Conference, ACM, 2007, p. 11951202.
M HLENBEIN , H. The equation for response to selection and its use for prediction. Evolutionary Computation, v. 5, n. 3, p. 303346, 1998.

REFERNCIAS BIBLIOGRFICAS

32

M HLENBEIN , H.; PAA, G. From recombination of genes to the estimation of distribuitions:


binary parameters. In: Parallel Problem Solving from Nature PPSN IV, 1996, p. 178187
(Lecture Notes in Computer Science, v.1411).
M ICHALEWICZ , Z. Genetic algorithms + data structures = evolution programs. 3 ed. Berlin:
Springer, 1996.
M ICHALEWICZ , Z.; F OGEL , D. B.
Springer, 2004.

How to solve it: Modern heuristics.

2 ed.

Berlin:

M ICHALEWICZ , Z.; JANIKOW, C. Z. Handling constraints in genetic algorithms. In: Proceedings of the Fourth International Conference on Genetic Algorithms, 1991, p. 151157.
PAUL , T. K.; I BA , H. Linear and combinatorial optimization by estimation of distribuition
algorithms. In: Proceedings of the 9th MPS Symposium on Evolutionary Computation,
Japo, 2003.
P ELIKAN , M.; G OLDBERG , D. E.; L OBO , F. A survey of optimization by building and using
probabilistic models. Relatrio Tcnico 99018, Illinois Genetic Algorithms Laboratory,
University fo Illinois at Urbana-Champaign, Urbana, IL, 15 p., 1999.
P ILAT, M. L.; W HITE , T. Using genetic algorithms to optimize ACSTSP. In: D ORIGO , M.;
C ARO , G. D.; S AMPELS , M., eds. Ant Algorithms : Third International Workshop, Springer,
2002, p. 282287.
R ECHENBERG , I. Cybernetc solution path of an experimental problem. Relatrio Tcnico
1122, Royal Aircraft Establishment, Franborough, UK, 1965.
R ESENDE , M. G. C.; R IBEIRO , C. C. Parallel greedy randomized adaptive search procedures.
In: Parallel Metaheuristics: A new class of algorithms, John Wiley and Sons, 2005.
R EZENDE , S. O.
2003.

Sistemas inteligentes: fundamentos e aplicaes.

R IBEIRO , C. C.; H ANSEN , P.


Publishers, 2002.

Barueri, SP: Malone,

Essays and surveys on metaheuristics.

Kluwer Academic

R IDLEY, M. Evolution. 2 ed. Cambridge, MA: Blackwell Science, Inc., 1996.


RUDOLPH , G. Evolutionary Search under Partially Ordered Fitness Sets. In: Proceedings
of the International NAISO Congress on Information Science Innovations (ISI 2001), ICSC
Academic Press: Millet/Sliedrecht, 2001, p. 818822.
S AIT, S. M.; YOUSSEF, H. Interative computer algorithms with applications in engineering:
Solving combinatorial optimization problems. Los Alamitos, CA: IEEE Computer Society,
1999.

REFERNCIAS BIBLIOGRFICAS

33

S CHAFFER , J. Multiple objective optimization with vector evaluated genetic algorithms. In:
Genetic Algorithms and their Applications: Proceedings of the First International Conference on Genetic Algorithms, Lawrence Erlbaum, 1985, p. 93100.
S CHWEFEL , H.-P. Evolutionsstrategie und numerishe optimierung. Tese de Doutoramento,
Technical University of Berlin, Berlin, Alemanha, 1975.
S RINIVAS , N.; D EB , K. Multiobjective Optimization Using Nondominated Sorting in Genetic
Algorithms. Evolutionary Computation, v. 2, n. 3, p. 221248, 1994.
V ELDHUIZEN , D. Multiobjective Evolutionary Algorithms: Classifications, Analyses, and
New Innovations. Tese de Doutoramento, Department of Electrical and Computer Engineering. Graduate School of Engineering. Air Force Institute of Technology, Wright-Patterson
AFB, Ohio, 1999.
VON Z UBEN , F. J. Computao evolutiva: Uma abordagem pragmtica. In: Anais da I
Jornada de Estudos em Computao de Piracicaba e Regio (1a. JECOMP), Piracicaba, SP,
2000, p. 2545.
Z ITZLER , E.; D EB , K.; T HIELE , L. Comparison of Multiobjective Evolutionary Algorithms:
Empirical Results. Evolutionary Computation, v. 8, n. 2, p. 173195, 2000.
Z ITZLER , E.; L AUMANNS , M.; T HIELE , L. SPEA2: Improving the Strength Pareto Evolutionary Algorithm. Relatrio Tcnico 103, Computer Engineering and Networks Laboratory
(TIK), Swiss Federal Institute of Technology (ETH) Zurich, Gloriastrasse 35, CH-8092 Zurich, Switzerland, 2001.
Z ITZLER , E.; T HIELE , L. An Evolutionary Algorithm for Multiobjective Optimization: The
Strength Pareto Approach. Relatrio Tcnico 43, Computer Engineering and Communication Networks Lab (TIK), Swiss Federal Institute of Technology (ETH), Zurich, Switzerland,
1998.

Você também pode gostar