Você está na página 1de 33

Prof.

Geraldo Braz Junior


Exemplos Algoritmos
Genticos
Soluo de equaes
Enunciado:
Deseja-se encontra o pico mximo da
seguinte funo de duas variveis
na qual os parmetros x e y, ambos variam
entre -3 e 3.
2
Preparao
1. Representao:
Uma maneira de representar os parmetros x
e y atraves de uma string binria
Nesta string, tem-se a concatenao de duas
sub-strings de 8 bits, cada uma
representando um dos parmetros do
problema.
3
Representao
2. Tamanho da Populao
Em seguida, deve-se escolher o tamanho da
populao de cromossomos, por exemplo 6
indviduos, e randomicamente gerar uma
populao inicial.
4
Funo de Fitness
1. Primeiro, deve obter os valores de x e y
separadamente da string binria
2. Em seguida, colocar os valores de x e y
nas faixas de -3 a 3
3. Por fim, os valores de x e y so
substitudos na funo objetivo
5
1. Decodificao
Divide-se a string em 2
Obtem o valor na base 10
6
1. Decodificao
Em seguida, normaliza para as faixas de -3
a 3
Uma maneira obter o valor mximo que
poderia-se ter com a string binria (256).
Depois dividir o tamanho da faixa pelo
valor mximo:
6 / (256 - 1) = 0,0235294 (FATOR)
Logo
X = 138 * FATOR - 3 = 0.2470588
Y = 59 * FATOR 3 = -1.6117647
7
Crossover, Mutao e
Geraes
Probabilidades de:
Crossover: 0.7
Mutao: 0.001
Nmero de Geraes: 100
8
Execuo
9
Execuo
Na Figura anterior:
Em a) os cromossomos gerados
aleatriamente esto longe do resultado ideal
( o pico )
Em b) depois de uma nova gerao percebe-
se uma adaptao melhor ao resultado
Em c) obtem-se como resultado final um pico
local
Em d) melhor resultado global
10
Como garantir o resultado?
Uma maneira seria aumentar a
probabilidade de mutao
Outra seria melhorar a representatividade
(aumentar a quantidade de bits)
Isto torna o resultado mais preciso
Talvez tambm seja necessrio criar
mecanismos com mais geraes
11
Grafico de Desempenho
Quando difcil representar uma curva de
nvel, podemos fazer um grfico de
desempenho
12
Grfico de Desempenho
13
Grfico de Desempenho
14
Exemplo 2
15
Escalonamento
Manuteno de sistemas de potncia
Vrias restries
Falhas e paradas
Atrasos
Usualmente feito a mo, e no existem
garantias que seja o melhor
16
Etapas do Processo
1. Especificar o problema, definindo
restries e critrio de otimalidade.
2. Representar o domnio de problema como
um cromossomo.
3. Definir uma funo de fitness para avaliar
o desempenho dos cromossomos.
4. Construir os operadores genticos.
5. Rodar o AG e ajustar seus parmetros.
17
1. Especificar o Problema
O propsito do escalonamento de
manuteno encontrar uma sequncia de
paradas das unidades de potncia em um
dado perodo de tempo (normalmente um
ano)
tal que a segurana de um sistema de
potncia seja maximizada.
Qualquer parada est associada a perda de
segurana
Margem de segurana = reserva liquida
18
1. Especificar o Problema
Reserva lquida = total da capacidade do
sistema perda pela parada carga de
distribuio mxima do perodo
Ex:
Capacidade total = 150MW
Escalona-se uma unidade de 20MW
O perodo tem carga de 100MW
Reserva Lquida = 30MW
19
1. Especificar o Problema
Suponha sete unidades para manuteno
em quatro intervalos iguais
As cargas mximas esperadas durante
estes intervalos so 80, 90, 65 and 70 MW
20
1. Restries
1. a manuteno de qualquer unidade
comea no inicio de um intervalo e
termina ao final do mesmo intervalo ou
de um intervalo adjacente.
2. A manuteno no pode ser abortada ou
terminada antes do que o escalonamento.
3. a reserva lquida do sistema de potncia
deve ser maior ou igual que zero em
qualquer intervalo
Quanto maior a reserva lquida, melhor o
resultado
21
2. Cromossomo
Representar o escalonamento das unidades
em sequncias binrias.
Se:
Apenas representssemos cada manuteno
de cada unidade em um cromossomo
Induz um problema de ordenamento
Mas o problema de escalonamento
Pode-se haver mais de uma unidade em
manuteno (se possvel)
Contabilizar o tempo de manuteno
22
2. Cromossomo
Melhor seria se:
Cada cromossomo fosse composto por uma
coleo de 7 genes (um para cada unidade)
Cada gene por sua vez possui uma string
binria de 4 bits
Representa a necessidade de manuteno no
perodo
Operaes de Mutao e Crossover devem
ser feitas sobre os genes (ou seja, em 4bits)
23
2. Cromossomo
Banco de Genes
24
2. Cromossomo
Um exemplo de cromossomo
25
3. Definir funo de Fitness
Baseada na Reserva Lquida
Quanto maior melhor
Se, dado um escalonamento
Houver apenas reservas lquidas positivas
Ento considerar como fitness o menor valor de
reserva lquida
Houver alguma reserva lquida negativa
Descartar
Na primeira gerao, se no houver resultado
positivo
Aplicar operadores genticos mesmo assim
26
4. Operadores Genticos
Crossover (4 bits ou gene) -
randomicamente
27
4. Operadores Genticos
Mutao (em um gene)
28
5. Rodar e Ajustar Parmetros
Maior populao -> melhor resultado e
mais lento
Mais geraes pode implicar em melhores
resultados -> mais lento
Soluo: testar
29
5. Rodar e Ajustar Parmetros
50 geraes e 20 cromossomos
Reserva lquida = 15MW
Estabilidade muito rpida
30
5. Rodar e Ajustar Parmetros
100 geraes e 20 cromossomos
Reserva lquida = 20MW
Ainda apareceu muito rpido
31
5. Rodar e Ajustar Parmetros
Aumentando a Populao para 100
cromossomos
Reserva lquida = 25MW
32
5. Rodar e Ajustar Parmetros
Para se ter certeza do resultado, aumentar
a taxa de mutao
33

Você também pode gostar