Professional Documents
Culture Documents
Genetic Algorithms
MEE
SISEE
Algoritmos Genticos
SISEE
Algoritmos Genticos
Indivduo
Soluo
Gentipo (cromossomas)
Representao da Soluo
Reproduo Sexual
Operador de Recombinao
(p.ex. cruzamento)
Mutao
Operador Mutao
Populao
Conjunto de Solues
Geraes
Ciclos
45
SISEE
Algoritmos Genticos
SISEE
Parmetros dos AG
Tamanho da populao
Taxa de cruzamento
Taxa de mutao
Taxa de substituio
Critrios de paragem
SISEE
Parmetros dos AG
Tamanho da Populao
Determina
a
qualidade da soluo
o tempo de processamento
Considera-se geralmente o tamanho
da populao estvel
SISEE
Parmetros dos AG
Taxa de Cruzamento
Define a probabilidade de 2 indivduos
SISEE
Parmetros dos AG
Taxa de Mutao
Mutao permite gerar indivduos
locais do problema
Valor tpico: 1%
SISEE
Parmetros dos AG
Taxa de Substituio
Define percentagem da populao a
renovao
Valores baixos -> estagnao
SISEE
Parmetros dos AG
Critrios de Paragem
Encontrar uma soluo com um valor
temporal
Atingir um determinado nmero de
geraes
10
SISEE
Avaliao e Aptido
mrito da soluo.
O seu clculo deve ser simples j que se
11
SISEE
Seleco
reproduo
Mtodos determinsticos seleccionam com
aleatoriedade.
12
SISEE
Operadores
Operadores de Cruzamento
Operadores de Mutao
13
SISEE
Operadores de Cruzamento
operador
14
SISEE
Operaes de Cruzamento
Dois Exemplos do
operador de
cruzamento
47
SISEE
Operadores de Mutao
perdidos na seleco
Fornecem
no
16
SISEE
Operador de Mutao
Exemplo de Mutao
48
SISEE
Populao inicial
Gerar P0
Populao de
t0
solues
iterao
potenciais
Avalia Pt
enquanto ! Condio de final Pt faz
Avaliar e seleccionar os mais aptos
Pt
Selecciona Pt
Pt
Aplica operadores de re-combinao Pt
Pt
Aplica operadores de mutao Pt
Avalia Pt
Avaliar a sua aptido
Pt+1
Selecciona Sobreviventes de Pt e de Pt
tt+1
nova iterao
Fim
retorna Melhor Soluo Global
46
SISEE
Problema - Exemplo
atrasos wjTj.
(T - atrasos)
Tempos de processamento:
p1=2
p2=4
p3=1
p4=3
p5=3
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
Datas de entrega
d1=5
d2=7
d3=11
d4=9
d5=8
49
SISEE
Datas
d1=5
d2=7
d3=11
d4=9
d5=8
50
SISEE
A=123456789
B=452187693
A=HHH4567HH
B=HHH1876HH
51
SISEE
A=218456793
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
22
SISEE
A era 123456789
B=345187692
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
23
SISEE
A=218456793
->
B=452187693
B=345187692
24
SISEE
Progenitores
Mscara aleatria
Descendentes
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
P1 = 10110010
P2 = 11010110
M = 01110110
D1 = 11010110
D2 = 10110010
25
SISEE
Exemplos de Aplicao
binrios.
quadro que nos d os elementos da populao e o valor
26
SISEE
Admita-se que:
o cruzamento se d sempre entre os elementos 1
27
SISEE
5
6
7
8
1
2
3
4
(cr. 1-2)
(cr. 1-2)
(cr. 3-4)
(cr. 3-4)
Mscara
100101
001001
010011
001100
001101
100001
011001
000110
101010
37
9
19
12
13
33
25
6
f(x)
1369
81
361
144
169
1089
625
36
Seleco
28
SISEE
29
SISEE
5
6
7
8
1
2
3
4
(cr. 1-2)
(cr. 1-2)
(cr. 3-4)
(cr. 3-4)
100101
010011
100001
011001
000111
110001
011001
110001
Mscara 101010
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
37
19
33
25
7
49
9
49
f(x)
1369
361
1089
625
49
2401
81
2401
Seleco
30
SISEE
31
SISEE
Concluses:
Aps 2 ciclos de cruzamento
o factor de avaliao mdio da populao subiu
de 488,75 para 1371.
o melhor elemento passou de um factor de
aptido de 1369 para 2401
Ser que convergiremos rapidamente para a
soluo ptima?
Podemos j garantir que esta no ser
encontrada por cruzamento de genes.
Porqu?
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
32
SISEE
Concluses:
Bit 5
33
SISEE
Concluses:
Pouca
diversidade
estagnao
pode
levar
cromossomas
progenitores
iguais
aos
seus
34
SISEE
Considere-se
o sequenciamento de 9
tarefas {1,2,3,4,5,6,7,8,9} numa mquina.
trocas de ferramentas.
35
SISEE
9 dgitos
A funo de avaliao procurar minimizar o
nmero de trocas de ferramentas (o n de
passagens de par para mpar e vice-versa),
Escolher-se-o os elementos da populao
com menor valor dessa funo.
Aconselha-se a utilizao de um operador de
cruzamento com manuteno de ordem, pois
os outros operadores originariam solues
no viveis (com tarefas repetidas e com
tarefas ausentes).
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
36
SISEE
37
SISEE
38
SISEE
39
SISEE
MATLAB - A funo ga
40
SISEE
A funo ga
directamente
na
zona
(workspace) do MATLAB;
de
trabalho
41
SISEE
A funo ga
Exemplo:
>> [x fval] = ga(@rastriginsfcn, 2)
Resultado:
x =
0.0027
-0.0052
fval =
0.0068
42
SISEE
43
SISEE
44
SISEE
45
SISEE
46
SISEE
a optimizar
A M-file deve aceitar um vector, cujo
comprimento o n de variveis
independentes
47
SISEE
Exemplo
Funo a minimizar:
A M-file dever aceitar um vector x de comprimento 2,
correspondendo s variveis x1 e x2.
Passos:
1. Seleccionar File/New
2. Seleccionar M-File
3. Introduzir na M-file o seguinte cdigo:
function z = my_fun(x)
z = x(1)^2 - 2*x(1)*x(2) + 6*x(1) + x(2)^2 - 6*x(2);
48
SISEE
49
SISEE
Maximizao e minimizao
50
SISEE
Exemplo
Achar o mnimo da funo de Rastringin
Mnimo
global
Mximo
local
Mnimo
local
Mnimo
global [0,0]
ISEP-DEI, 2007 Carlos Ramos, 2010 Antnio Silva
51
SISEE
Exemplo
1. >> optimtool(ga)
2. Na Optimization Tool
No campo Fitness
@rastriginsfcn
Function
introduzir:
52
SISEE
Exemplo
Resultados:
Motivo da
paragem do
algoritmo
Valor final
da funo de
fitness
53
SISEE
Exemplo
Obteno de grficos
54
SISEE
Exerccio 1
55
SISEE
Exerccio 1
M-file:
function y = simple_objective(x)
y = (4 - 2.1*x(1)^2 + x(1)^4/3)*x(1)^2 + x(1)*x(2) + ...
(-4 + 4*x(2)^2)*x(2)^2
Resultado:
56
SISEE
Exerccio 2
No Help do MATLAB
abrir a seco
57
SISEE
58