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.

2 (1 , 2 ) = 1 + 2 11
No intervalo 1 0 e 2 6.

2 + 1 + 2 7

Para referencia tem-se que a soluo deste problema (3,2).

Passo 1-Populao inicial


A codificao usada utilizada foi a binaria, com preciso de 0,006 para 1 e 2 no intervalo de [0,6]. Para a preciso e o intervalo dado cada sub-vetor, 1 e 2 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
Os 10 bits de 1 e de 2 so convertidos em decimal e logo aps a formula abaixo utilizada para a codificao estabelecida no problema, [0,6].

Onde 1 (L) = 2 (L) = 0, 1 (U) = 2 (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 1 e 2 , (1 , 2 ). Logo em seguida foi possvel obter o fitness, com a seguinte expresso, (1 , 2 )=1/(1 + (1 , 2 )) Pois este problema trata de minimizar a funo. A expresso abaixo foi utilizada para calcular a probabilidade de seleo. (1 , 2 ) (1 , 2 )

A probabilidade cumulativa de seleo, a soma das probabilidades de seleo de todos os elementos anteriores .

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

Passo 4-Crossover/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