Vous êtes sur la page 1sur 23

Algoritmos Genéticos

Origem

• Desenvolvido por John Holland (1975).

• Popularizado por David Goldberg (1989).

Características Básicas

• São algoritmos estocásticos (não é determinístico).

• Trabalham com uma população de soluções, simultaneamente.

• Utilizam apenas informações de custo e recompensa (p. ex., o valor da função objetivo), não exigindo o conhecimento de informações auxiliares (p. ex., gradiente).

• Funcionam com parâmetros contínuos ou discretos.

• São flexíveis para trabalhar com restrições arbitrárias e otimizar múltiplas funções com objetivos conflitantes.

• São facilmente hibridizados com outras técnicas.

Aplicações

Problemas para os quais não existe outra técnica especifica para resolvê-los, como p.ex.:

• Otimização combinatória

Problema do caixeiro viajante Problema de transporte e designação, com restrições. Problemas de conexão (caminhos em árvores).

• Otimização multi-objetivo

• Problemas com vários mínimos locais

Exemplo de Função Multimodal

GEATbx: Example Functions (single and multi-objective functions)

Example Functions (single and multi-objective functions ) function definition: f7(x)=sum(-x(i)·sin(sqrt(abs(x(i))))),

function definition:

f7(x)=sum(-x(i)·sin(sqrt(abs(x(i))))), i=1:n; -500<=x(i)<=500. global minimum:

f(x)=-n·418.9829; x(i)=420.9687, i=1:n.

Exemplo de Função Multimodal

GEATbx: Example Functions (single and multi-objective functions)

Example Functions (single and multi-objective functions ) function definition:

function definition:

f10(x)=-a·exp(-b·sqrt(1/n·sum(x(i)^2)))-exp(1/n·sum(cos(c·x(i))))+a+exp(1)

a=20; b=0.2; c=2·pi; i=1:n; -32.768<=x(i)<=32.768. global minimum:f(x)=0; x(i)=0, i=1:n.

Exemplo de Função Multimodal

GEATbx: Example Functions (single and multi-objective functions)

Example Functions (single and multi-objective functions ) function definition:

function definition:

f11(x)=-sum(c(i)·(exp(-1/pi·sum((x-A(i))^2))·cos(pi·sum((x-A(i))^2))))

Busca direcional - maximização

• Se um método de busca direcional iniciar no ponto A, o máximo local B será encontrado.

• Se iniciar em C o máximo global D será encontrado.

D

B C A
B
C
A

Conceitos Básicos

• Indivíduos são possíveis soluções do problema.

• Os indivíduos são combinados (crossover) uns com os outros, produzindo filhos que podem sofrer mutação.

• As populações evoluem através de sucessivas gerações até encontrar a solução ótima.

• Cromossomos – representam indivíduos da população: Estrutura de

dados que representa uma possível solução para o problema. Podem ser representados por cadeias de valores. Ex:

Vetores de números reais, (2.345, 4.3454, 5.1, 3.4)

Cadeias de bits, (111011011)

Vetores de números inteiros, (1,4,2,5,2,8)

Conceitos Básicos

• Aptidão: Nota associada ao indivíduo que avalia quão boa é a solução por ele representada.

• Seleção – Imita a seleção natural: Os indivíduos de maior aptidão são

selecionados para gerar filhos através de crossover e mutação, dirigindo o

AG para as melhores regiões do espaço de busca.

• Tipos mais comuns de seleção: Seleção proporcional à aptidão; Seleção por torneio.

Conceitos Básicos

Crossover e Mutação

• Combinam pais selecionados para produção de filhos.

• São os principais mecanismos de busca do AG.

• Permitem explorar áreas desconhecidas do espaço de busca.

Exploração (Exploration)

• Processo de visitar pontos inteiramente novos no espaço de busca.

• Necessário para explorar regiões deconhecidas do espaço de busca.

Prospecção (Exploitation)

• Processo de explorar localmente o espaço de busca utilizando de informações de pontos anteriormente visitados a fim de encontrar melhores pontos.

• É utilizado pelos métodos de buscas direcionais.

Exploração x Prospecção

• Uma boa técnica de otimização global deve combinar bem Exploração e Prospecção para achar o máximo global.

• Os AG´s combinam Exploração e Prospecção simultaneamente:

– Crossover e mutação: Exploração

– Seleção: Prospecção.

Algoritmo Genético Tradicional

1. Gerar a população inicial.

2. Avaliar cada indivíduo da população.

3. Enquanto critério de parada não for satisfeito faça

3.1 Selecionar os indivíduos mais aptos.

3.2 Criar novos indivíduos aplicando os operadores crossover e mutação.

3.3 Armazenar os novos indivíduos em uma

nova população.

3.4 Avaliar cada cromossomo da nova

população.

Exemplos

Problema 1

Use um AG para encontrar o ponto máximo da função f (x)= x 2 , sujeita às restrições:

0

x inteiro

x

31

•Cromossomos binários com 5 bits:

0 = 00000 31 = 11111 •Aptidão: Por simplicidade, a aptidão será a própria função objetivo. •Exemplo:

aptidão(00011) = f(3) = 9

•Aptidão: Por simplicidade, a aptidão será a própria função objetivo. •Exemplo: aptidão(00011) = f (3) =

População Inicial

População Inicial

Seleção proporcional à aptidão (Roleta)

Seleção proporcional à aptidão (Roleta)

Crossover de 1 ponto

O crossover é aplicado com uma dada probabilidade denominada taxa de crossover (60% a 90%)

probabilidade denominada taxa de crossover (60% a 90%) Se o crossover é aplicado os pais trocam

Se o crossover é aplicado os pais trocam suas caldas gerando dois filhos, caso contrário os dois filhos serão cópias exatas dos pais.

Mutação

Mutação inverte os valores dos bits. A mutação é aplicada com dada probabilidade, denominada taxa de mutação (~1%), em cada um dos bits do cromossomo.

taxa de mutação (~1%), em cada um dos bits do cromossomo. A taxa de mutação não

A taxa de mutação não deve ser nem alta nem baixa, mas o suficiente para assegurar a diversidade de cromossomos na população.

A primeira geração do Problema

A primeira geração do Problema

A primeira geração do Problema

A primeira geração do Problema

As demais gerações do Problema

As demais gerações do Problema

As demais gerações do Problema

As demais gerações do Problema