Escolar Documentos
Profissional Documentos
Cultura Documentos
, X
e X
so vetores
mutuamente distintos escolhidos aleatoriamente entre todos os
p
N indivduos da populao, de modo que 4
p
N e os ndices
aleatrios , e
{ }
1, 2,...,
p
N e sejam distintos entre si.
Na gerao g um par de vetores
( )
, X X
define a diferena
( )
X X
. F um fator de ponderao constante e real entre
| | 0, 1 , utilizado para controlar a amplificao do vetor
diferena
( )
X X
, o qual perturba o vetor X
, resultando
no vetor mutado
1 g
V
+
. A seguir apresentada a expresso
matemtica que equaciona este processo.
( )
1 g g g g
V X F X X
+
= + (1)
Cruzamento: Este operador consiste em permutar os
indivduos da populao alvo
g
W (inicial da gerao g) com a
populao mutada, resultando em uma populao experimental
1 g
U
+
. O processo inicia definindo-se dois nmeros aleatrios:
np
rnd e
var
rnd , onde
np
rnd escolhido aleatoriamente para
cada
p
N indivduos da populao no intervalo | | 1, n , n o
nmero de variveis do problema,
var
rnd escolhido
aleatoriamente para cada varivel que compem um indivduo
da populao no intervalo | | 0,1 . Sendo
g
i
w ,
g
i
v e
1 g
i
u
+
componentes dos vetores alvo
g
W , mutado
1 g
V
+
e
experimental
1 g
U
+
para 1, 2, 3,..., i n = e CR a probabilidade
de cruzamento definida pelo usurio no intervalo | | 0,1 . A partir
de 1 i = , compara-se os nmeros aleatrios
np
rnd e
var
rnd com
CR e i , respectivamente. Enquanto
np
rnd CR ou
var
rnd i =
substitui-se a varivel
g
i
w do vetor alvo pela varivel
correspondente do vetor doador
g
i
v . Caso contrrio nenhuma
substituio realizada. A seguir apresentada a expresso
matemtica que equaciona este processo.
( ) ( )
1
var 1
,
1, 2,...,
g
np g
g
v se rnd CR rnd i
w i n
w
+
+
=
= =
(2)
Na operao de Mutao pode ocorrer que um ou mais
indivduos da populao extrapolem os limites do domnio. Os
indivduos, cujo valor da varivel encontra-se extrapolado,
devem ser substitudos por um valor aleatrio dentro do limite
estabelecido. A seguir apresentada a expresso que equaciona
este procedimento:
( ) ( ) ( )
inf sup inf inf sup
1, 2,...,
(),
g g g
i i i i i i i i
i n
w x x x rand se x x x x
=
= + < >
(3)
Seleo: Este operador basicamente define as componentes
da populao que iro para a prxima gerao, com base no
valor da funo objetivo dos vetores experimental
1 g
U
+
e alvo
g
W . Compara-se os valores da funo objetivo para ambos
vetores e aquele que obtiver o menor valor selecionado para a
gerao seguinte. A seguir apresentada a expresso
matemtica que equaciona este processo.
( ) ( )
( ) ( )
1 1
1
1
,
,
g g g
g
g g g
U se f U f W
W
W se f U f W
+ +
+
+
=
>
(4)
Ao final deste operador a g sima populao d lugar
( ) 1 g sima + populao, para
max
1, 2,..., 1 g g = . E o
procedimento descrito finalizado por algum critrio de parada
pr-estabelecido.
A seguir apresentado um pseudo-cdigo que ilustra o
procedimento de otimizao:
3 Copyright 2011 by COPPE
1 1 1 1
1 2 1
2 2 2 2
1 2 1
1 1 1 1
1 2 1
1 2 1
N N
N N
HMS HMS HMS HMS
N N
HMS HMS HMS HMS
N N
x x x x
x x x x
HM
x x x x
x x x x
(
(
(
(
=
(
(
(
=
Fim Se
Verificar limites das varivel
Fim Enquanto
Avaliar populao
g
U
Selecionar indivduos para a prxima gerao
Fim Enquanto
Fim Enquanto
BUSCA DA HARMONIA (HS)
A Busca da Harmonia, desenvolvida por Zong Woo Geem
em 2001, inspirada no processo de improvisao dos msicos
de Jazz, que intuitivamente criam harmonias satisfazendo um
determinado padro esttico, assim como o processo de
otimizao busca encontrar uma soluo global segundo uma
funo objetivo. O tom de cada instrumento musical determina
a qualidade esttica, assim como o valor da funo objetivo
determinada pelo conjunto de valores atribudos a cada varivel
do problema.
As etapas que constituem o mtodo de otimizao HS
podem ser enumerados da seguinte maneira:
i. Inicializar os parmetros do problema e do algoritmo;
ii. Inicializar a Memria de Harmonia (HM);
iii. Improvisar uma nova Harmonia (NHM).
iv. Atualizar a Memria de Harmonia;
v. Checar critrio de parada.
A seguir apresenta-se uma anlise mais detalhada de cada
procedimento enumerado acima.
Inicializao de Parmetros do Algoritmo: Esta etapa
corresponde ao primeiro passo do algoritmo, sendo necessrio
especificar os seguintes parmetros requeridos para solucionar
o problema de otimizao: Dimenso do problema ( N ), limites
de cada varivel (
L U
i i i
x X x ), tamanho da memria de
harmonia ( HMS ), taxa de memria de harmonia ( HMCR ),
taxa de passo de ajuste ( PAR ) e numero mximo de iteraes (
NI ). Os parmetros HMCR e PAR so utilizados para
melhorar a soluo do algoritmo.
Inicializao da Memria de Harmonia: A memria de
harmonia (HM) gerada aleatoriamente com tamanho HMS.
Nesta etapa deve-se ordenar HM com base no valor da funo
objetivo.
Improvisao de uma nova Harmonia: A nova harmonia
(NHM),
1 2
, , ,
new new new new
N
x x x x = , improvisada com base
nas seguintes operaes: (i) compensao da memria, (ii)
ajuste do passo e (iii) seleo aleatria, as quais sero aplicadas
em cada varivel da nova harmonia.
Na compensao da memria, o valor das variveis para o
novo vetor podem ser selecionados de duas formas: no domnio
HM ou aleatoriamente dentro dos limites das variveis,
dependendo da relao entre um nmero aleatrio (
| | 0,1 rand ) e o valor de HMCR, como segue.
{ }
1 2
, , , ,
new HMS
i i i i new
i
new
i i
x x x x se rand HMCR
x
x X
<
(5)
O HMCR a probabilidade com que um valor de HM
selecionado no domnio HM, enquanto (1-HMCR) a
probabilidade de seleo aleatria da nova harmonia.
No ajuste do passo, cada componente obtida pela
compensao da memria verificada quanto necessidade de
ajuste do passo, como segue:
0.5
new new
i i
new
i
se rand PAR
se rand
x x rand BW
seno
x rand BW
<
<
= +
(6)
Onde BW a largura de banda arbitrada.
4 Copyright 2011 by COPPE
Atualizao da Memria de Harmonia: Nesta etapa
verifica-se se a nova harmonia (NHM) melhor ou pior que a
harmonia (HM), em termos do valor da funo objetivo.
Verificao do Critrio de Parada: Nesta etapa verifica-
se o critrio de parada, caso algum critrio seja atingido a
anlise terminada, caso contrrio repete-se as etapas iii e iv.
A seguir apresentado um pseudo-cdigo que ilustra o
procedimento de otimizao:
Pseudo-Cdigo 2 Busca da Harmonia Tpica
Seja X
i,g
a memria de harmonia da gerao g e n o nmero de
variveis do problema.
0 g =
Inicializar aleatriamente Memria de Harmonia (HM)
Avaliar HM
Enquanto o critrio de parada no for satisfeito faa
1 g g = +
Improvisar a Nova Memria de Harmonia (NHM)
Atualiza Memria de Harmonia
Fim Enquanto
ALGORITMO GENTICO (AG)
O Algoritmo Gentico (AG), desenvolvido por Holland em
1975, um mtodo de otimizao e busca inspirado na Teoria
da Evoluo das Espcies proposta por Charles Darwin. De
acordo com Darwin, o indivduo mais apto tem mais chances de
sobreviver e gerar mais descendentes passando seus cdigos
genticos para as geraes futuras. A figura abaixo ilustra o
processo evolutivo da raa humana segundo a tica de Darwin.
Estes princpios so codificados em algoritmos
computacionais que buscam a melhor soluo para um
determinado problema, atravs da evoluo de uma populao
de indivduos que representa sua soluo.
A primeira etapa em um algoritmo gentico tpico a
gerao de uma populao inicial, formada por um conjunto
aleatrio de cromossomos que representam possveis solues
do problema em questo. Durante o processo evolutivo, esta
populao avaliada e cada cromossomo recebe uma nota
(aptido). Em geral, os cromossomos mais aptos tem maior
probabilidade de serem selecionados e os menos aptos menor
probabilidade (Teoria da Evoluo C. Darwin). Os membros
selecionados podem sofrer modificaes em suas caractersticas
fundamentais atravs dos operadores de cruzamento e mutao,
gerando descendentes para a prxima gerao. Este processo
repetido at que algum critrio de parada seja satisfeito. A
seguir apresentado um pseudo-cdigo que ilustra este
procedimento:
Pseudo-Cdigo 3 Algoritmo Gentico Tpico
Seja POP(g) a populao de cromossomo na gerao g.
0 g =
Inicializar POP(g)
Avaliar POP(g)
Enquanto o critrio de parada no for satisfeito faa
1 g g = +
Selecionar POP(g) a partir de POP(g - 1)
Aplicar operador de Cruzamento em POP(g)
Aplicar operador de Mutao em POP(g)
Avaliar POP(g)
Fim Enquanto
A tabela abaixo apresenta a correspondncia entre a
natureza e os Algoritmos Genticos.
Tabela 1 Analogia com a natureza [3]
Natureza Algoritmos Genticos
Cromossomo Estruturas de dados formadas por uma
seqncia de genes.
Gene Componente elementar de um
cromossomo.
Indivduo Uma soluo candidata de um problema.
Populao Conjunto dos indivduos de uma gerao.
Gerao Ciclo de criao e transformao de uma
populao.
Aptido Valor associado a um indivduo que
indica o quo bem ele soluciona um
determinado problema.
Mutao Variao aleatria em uma estrutura de
dados individual.
Cruzamento Troca de pores entre duas ou mais
estruturas de dados.
Seleo Processo que permite a sobrevivncia e
reproduo dos indivduos mais aptos em
detrimento dos menos aptos.
Fonte: http://opinioesdetodoseasminhas.blogspot.com
Figura 1 Ilustrao evoluo da raa humana.
5 Copyright 2011 by COPPE
ESTUDO DE CASOS
O desempenho dos algoritmos foi avaliado para um
conjunto de funes de Benchmarck, com diferentes nmeros
de variveis: 2, 5 , 10 N = . A primeira e ltima funes so
unimodais, apresentando apenas um ponto de mnimo. As
outras funes so multimodais, com um nmero considervel
de mnimos locais. Todas as funes de Benchmarck tm o
mnimo no ponto de origem ou muito prximo dele. As funes
de Benchmarck avaliadas so apresentadas a seguir.
1. ROSENBROCK
2. RASTRIGIN
3. ACKLEY
4. GRIEWANK
( )
( ) ( )
2
4
1 1
* *
1
cos 1
4000
: 600 600, 1, 2, ,
: 0, , 0 , 0
n N
i
i
i i
i
x
f x x
i
Domnio x i N
Mnimo Global x f x
= =
| |
= +
|
\ .
=
= =
( ) ( ) ( )
( ) ( )
1
2
2
2
1 1
1
* *
100 1
: 5 10, 1, 2, ,
: 1, ,1 , 0
N
i i i
i
i
f x x x x
Domnio x i N
Mnimo Global x f x
+
=
(
= +
(
=
= =
( ) ( )
( ) ( )
2
2
1
* *
10cos 2 10
: 5.12 5.12, 1, 2, ,
: 0, , 0 , 0
N
i i
i
i
f x x x
Domnio x i N
Mnimo Global x f x
=
( = +
=
= =
( )
( ) ( )
2
3
1 1
* *
1 1
20exp 0.2 exp cos 2
20
: 15 30, 1, 2, ,
: 0, , 0 , 0
n n
i i
i i
i
f x x x
n n
e
Domnio x i N
Mnimo Global x f x
= =
| |
| |
= |
|
|
\ .
\ .
+ +
=
= =