• Nenhum resultado encontrado

MicroGA – Micro Genetic Algorithm

No documento Dissertação (páginas 91-94)

3.2 Algoritmos Evolucion´ arios Multiobjetivo

3.2.3 M´etodos baseados na sele¸c˜ao por dominˆancia

3.2.3.5 MicroGA – Micro Genetic Algorithm

O microGA recebe este nome devido ao tamanho muito reduzido da popula¸c˜ao utilizada. O m´etodo surgiu a partir de resultados te´oricos obtidos por Goldberg (GOLDBERG, 1989b), demonstrando que uma popula¸c˜ao de apenas trˆes indiv´ıduos ´e o suficiente para convergir, sem levar em conta o tamanho do cromossomo utilizado. Goldberg sugeriu iniciar o algoritmo com

3.2 Algoritmos Evolucion´arios Multiobjetivo 76

uma pequena popula¸c˜ao gerada aleatoriamente; em seguida, utilizar os operadores de sele¸c˜ao, recombina¸c˜ao e muta¸c˜ao at´e alcan¸car o que ´e chamado de convergˆencia nominal, que pode ser entendida como a perda total ou parcial de diversidade; ent˜ao transferir os melhores indiv´ıduos para a popula¸c˜ao da pr´oxima gera¸c˜ao e gerar os restantes aleatoriamente.

O primeiro registro de uma implementa¸c˜ao de um microGA ´e de Krishnakumar (KRISH-

NAKUMAR, 1990), que utilizou uma popula¸c˜ao de cinco indiv´ıduos, uma taxa de recombina¸c˜ao

de 1 e taxa de muta¸c˜ao nula. Foi tamb´em utilizada uma estrat´egia elitista, copiando o me- lhor indiv´ıduo encontrado para a popula¸c˜ao seguinte. Krishnakumar (KRISHNAKUMAR, 1990) comparou o microGA com um AG simples (com tamanho da popula¸c˜ao igual a 50, taxa de re- combina¸c˜ao igual a 0,6 e taxa de muta¸c˜ao igual a 0,001). O microGA foi mais r´apido e obteve melhores resultados. Ap´os a implementa¸c˜ao de Krishnakumar, outros pesquisadores desen- volveram diferentes implementa¸c˜oes de um microGA (JOHNSON; ABUSHAGUR, 1995) (XIAO; YABE, 1998).

A primeira implementa¸c˜ao de do microGA para solu¸c˜ao de POM foi realizada por Coello e Pulido (COELLO; PULIDO, 2005). O microGA multiobjetivo herdou algumas caracter´ısticas de outros algoritmos (JASZKIEWICZ, 2002). Uma delas ´e o uso de uma mem´oria externa, que serve para inicializar uma pequena popula¸c˜ao. Coello e Pulido utilizaram duas mem´orias e as chamaram de mem´oria populacional e mem´oria externa. A primeira armazena um conjunto de indiv´ıduos que participam do processo evolutivo, enquanto que a segunda, armazena os melhores indiv´ıduos obtidos ao longo do processo evolutivo.

Inicialmente, ´e gerado um conjunto de solu¸c˜oes aleat´orias que s˜ao armazenadas na mem´oria populacional. Esta mem´oria ´e dividida em duas partes, uma renov´avel e outra n˜ao renov´avel. A parte n˜ao renov´avel, como o nome sugere, nunca ser´a alterada ao longo da execu¸c˜ao do algoritmo e seu principal objetivo ´e manter a diversidade. A parte renov´avel ser´a alterada a cada ciclo (gera¸c˜ao) do microGA. A pequena popula¸c˜ao inicial do microGA ´e gerada de ambas as partes da mem´oria populacional, conforme o esquema representado na Figura 33. O percentual de indiv´ıduos provenientes de cada uma das partes da mem´oria populacional ´e definido pelo usu´ario.

Durante cada ciclo, os operadores de elitismo, sele¸c˜ao, recombina¸c˜ao e muta¸c˜ao s˜ao executados. Ao final de cada ciclo ´e realizado o teste de convergˆencia nominal. Considerando o tamanho reduzido da popula¸c˜ao, pode-se assumir que a convergˆencia nominal ser´a atingida a cada t ciclos. Coello e Pulido (COELLO; PULIDO, 2005) adotaram uma quantidade de dois a cinco ciclos no m´aximo. Esta suposi¸c˜ao ´e perfeitamente aceit´avel e elimina o custo de comparar

3.2 Algoritmos Evolucion´arios Multiobjetivo 77

Mem´oria populacional

Popula¸c˜ao aleat´oria Renov´avel N˜ao renov´avel

Popula¸c˜ao inicial

Figura 33: Popula¸c˜ao aleat´oria, mem´oria populacional e popula¸c˜ao inicial

os genes de todos os indiv´ıduos para verificar a diversidade da popula¸c˜ao. Havendo convergˆen- cia nominal, dois indiv´ıduos s˜ao selecionados, caso haja apenas um indiv´ıduo n˜ao dominado, este ser´a o ´unico selecionado. Os indiv´ıduos selecionados s˜ao ent˜ao comparados com todos os indiv´ıduos da mem´oria externa, inicialmente vazia. Caso estes n˜ao sejam dominados por nenhum indiv´ıduo da mem´oria externa, ent˜ao ser˜ao acrescentados ao conte´udo da mem´oria externa e os indiv´ıduos que s˜ao dominados pelos novos indiv´ıduos, ser˜ao exclu´ıdos da mesma. Estes novos indiv´ıduos tamb´em ser˜ao comparados com outros dois (ou um) indiv´ıduos, esco- lhidos aleatoriamente, da mem´oria populacional. Se o indiv´ıduo da mem´oria populacional for dominado, ent˜ao este ser´a substitu´ıdo pelo novo. O objetivo ´e fazer com que a mem´oria popu- lacional seja cada vez mais ocupada por indiv´ıduos n˜ao dominados. Alguns destes indiv´ıduos ser˜ao utilizados na popula¸c˜ao inicial de um novo ciclo.

O microGA utiliza trˆes tipos de elitismo: (i) O primeiro consiste em guardar todos os indiv´ıduos n˜ao dominados gerados a cada ciclo, com o prop´osito de n˜ao perder nenhuma informa¸c˜ao valiosa originada no processo evolutivo; (ii) O segundo consiste em preencher a mem´oria populacional com solu¸c˜oes nominais, i.e. solu¸c˜oes encontradas quando h´a convergˆen- cia nominal, objetivando uma convergˆencia gradual; (iii) O terceiro tipo de elitismo ocorre em intervalos determinados pelo usu´ario, chamados de ciclos de recoloca¸c˜ao. Em cada ciclo de recoloca¸c˜ao, certa quantidade de indiv´ıduos, extra´ıdos de todas as regi˜oes da fronteira de Pareto constru´ıda at´e o momento, ´e utilizada para preencher a mem´oria populacional. Depen- dendo do tamanho da parte renov´avel dessa mem´oria, s˜ao selecionados indiv´ıduos em n´umero suficiente da fronteira de Pareto para permitir uma distribui¸c˜ao uniforme, alem de evitar que os indiv´ıduos fiquem homogˆeneos. Este m´etodo visa alcan¸car uma r´apida convergˆencia para a fronteira de Pareto mantendo uma boa distribui¸c˜ao de solu¸c˜oes.

No documento Dissertação (páginas 91-94)