Você está na página 1de 8

Algoritmos Genticos

Aplicao do GA em otimizao numrica


O problema consiste em minimizar a funo de
Himmelblau de duas variveis.

No intervalo e .
Para referencia tem-se
problema (3,2).

que

soluo

deste

Passo 1-Populao inicial


A codificao usada utilizada foi a binaria, com
preciso de 0,006 para e no intervalo de [0,6]. Para
a preciso e o intervalo dado cada sub-vetor, e tem
10 bits, sendo um total de 20 bits para cada vetor.
Foram criados 20 vetores aleatoriamente, e
assegurado que no existisse nenhum repetido .

Passo 2-Avaliao
10 bits de e de so convertidos em decimal e
Os
logo aps a formula abaixo utilizada para a
codificao estabelecida no problema, [0,6].

Onde (L) =(L) = 0, (U) = (U) = 6, l= 10 e converso


binrio-decimal de cada sub-vetor.


Com os valores convertidos das variveis se pode
saber o valor da funo em cada par de pontos e ,
(, ). Logo em seguida foi possvel obter o fitness,
com a seguinte expresso,
, )=
Pois este problema trata de minimizar a funo.
A expresso abaixo foi utilizada para calcular a
probabilidade de seleo.
A probabilidade cumulativa de seleo, a soma
das probabilidades de seleo de todos os
elementos anteriores .

Passo 3Seleo/reproduo
Para selecionar os elementos que iriam para o
mating pool, foi utilizado o mtodo da roleta.

Passo 4Crossover/mutao
A probabilidade de crossover utilizada foi de 80%. O
local em que haveria a troca de genes foi
selecionada aleatoriamente por um numero entre 1
e 20. A probabilidade de mutao foi de 5%, para
cada bit um numero randomicamente era gerado, se
este fosse menor ou igual a 5% haveria uma
inverso de 0-1 ou 1-0.

Passo 5-Iterao
Os passos 2,3 e 4 so repetidos varias vezes at o
critrio de parada ser estabelecido. Neste problema
o critrio de para foi que trinta iteraes fossem
feitas.

Você também pode gostar