• Nenhum resultado encontrado

Operador para a Explora¸c˜ao das Vizinhan¸cas

7.2 O Algoritmo MODE

7.2.7 Operador para a Explora¸c˜ao das Vizinhan¸cas

A id´eia em se explorar as vizinhan¸cas de indiv´ıduos da popula¸c˜ao pode ser vista como um tipo de refinamento ou procedimento de busca local. Procedimentos de refinamento ou de busca local, atrav´es de acoplamento entre algoritmos, tˆem sido usados com sucesso em diversos trabalhos (DULIKRAVICH et al., 1999; GOEL; DEB, 2001;ISHIBUCHI; YOSHIDA, 2003; HU et al., 2003; ROJAS et al., 2004; LOBATO; STEFFEN JR, 2006).

Hu et al. (2006) propuseram uma nova metodologia para realizar refinamentos nas solu¸c˜oes n˜ao-dominadas. Os autores se basearam no Line-up Competition Algorithm - LCA, proposto por Yan (1998) para problemas de minimiza¸c˜ao com um ´unico objetivo. O LCA consiste na gera¸c˜ao de vizinhos dos indiv´ıduos da popula¸c˜ao segundo o procedimento descrito a seguir:

Gerar e avaliar a popula¸c˜ao inicial de tamanho N randomicamente.

Enquanto o n´umero de gera¸c˜oes n˜ao for alcan¸cado:

Ordenar os N filhos em ordem crescente de acordo com o valor da fun¸c˜ao objetivo;Determinar uma vizinhan¸ca para cada indiv´ıduo de acordo com sua posi¸c˜ao relativa

definida no item anterior. O indiv´ıduo com melhor valor de aptid˜ao (problemas de minimiza¸c˜ao) tem o dom´ınio da vizinhan¸ca menor, comparado ao que tem o pior valor de fun¸c˜ao adapta¸c˜ao, que nesse caso, tem o maior dom´ınio de vizinhan¸ca;

Os pais s˜ao submetidos ao operador de muta¸c˜ao λ vezes, produzindo λ filhos. Esses

7.2. O Algoritmo MODE 127 ❺ Os (λ+1) indiv´ıduos gerados competem com os pais, sendo que os melhores s˜ao

colocados na pr´oxima gera¸c˜ao;

Se o n´umero de solu¸c˜oes ultrapassar um determinado valor definido pelo usu´ario,

utilizar uma m´etrica para trunc´a-la.

Nesse algoritmo existem dois n´ıveis de competi¸c˜ao: entre os melhores indiv´ıduos de cada fam´ılia e entre os indiv´ıduos contidos dentro da mesma fam´ılia. De maneira resu- mida, aqueles indiv´ıduos que possuem menor valor de rank tˆem menor distˆancia entre esses indiv´ıduos e seus vizinhos. Por outro lado, os indiv´ıduos de maior rank tˆem maior distanciamento com rela¸c˜ao a seus vizinhos, o que permite a gera¸c˜ao de indiv´ıduos que, ap´os o processo de classifica¸c˜ao por rank, consigam reduzir seu rank.

O desenvolvimento do Operador de Explora¸c˜ao das Vizinhan¸cas est´a fortemente fun- damentado no trabalho de Hu et al. (2006), o qual, primeiramente, consiste no ordena- mento por meio de rank das solu¸c˜oes n˜ao-dominadas.

A Figura 7.3 exemplifica a associa¸c˜ao entre a classifica¸c˜ao da popula¸c˜ao e a gera¸c˜ao das vizinhan¸cas. Na Figura 7.3 existem 10 solu¸c˜oes no espa¸co de objetivos que s˜ao classificadas por rank em 4 grupos, {1, 2, 3}, {4, 5, 6, 7}, {8, 9} e {10}. As solu¸c˜oes contidas na curva de rank 2 s˜ao dominadas pelas de rank 1 e assim por diante. Isto implica que, intuitivamente, as solu¸c˜oes contidas na curva de rank 1 s˜ao melhores que as contidas na curva de rank 2.

f2 f 1

Curva de Pareto

3 2 1 5 4 6 7 8 9 10 Rank 1 Rank 2 Rank 3 Rank 4 Vizinhanças

Figura 7.3: Vizinhos de indiv´ıduos em curvas n˜ao-dominadas (Reproduzido de Hu et al. (2006)).

Ap´os realizado o processo de classifica¸c˜ao das solu¸c˜oes, o pr´oximo passo consiste na obten¸c˜ao dos vizinhos para cada curva definida por seu rank. De forma intuitiva, os

indiv´ıduos que tˆem menor rank dever˜ao apresentar a menor distˆancia com rela¸c˜ao a seus vizinhos gerados. J´a para os de rank 2, dever˜ao apresentar a segunda menor distˆancia, e assim por diante. Entretanto, segundo Deb (2001) e Hu et al. (2006) essa estrat´egia usada para definir os vizinhos acarretar´a num aumento de press˜ao no processo de sele¸c˜ao para a escolha de indiv´ıduos de baixo rank, o que pode levar `a convergˆencia prematura do processo evolutivo. Para superar essa dificuldade, Hu et al. (2006) propuseram reclassificar a popula¸c˜ao em pseudo-curvas. Isto ´e feito da seguinte maneira: ap´os a classifica¸c˜ao atrav´es do ordenamento por rank, os indiv´ıduos ordenados segundo esse crit´erio s˜ao reclassificados de acordo com um n´umero pr´e-definido de indiv´ıduos que dever˜ao estar em cada pseudo- curva. Este procedimento permite que indiv´ıduos que tenham ranks diferentes possam estar presentes na mesma curva.

Para esta finalidade, a seguinte distribui¸c˜ao geom´etrica ´e adotada:

nk = rnk−1, k = 2, ..., R (7.2)

onde nk ´e o n´umero de indiv´ıduos da k-´esima curva, R ´e o n´umero de pseudo-curvas e r ´e a taxa de redu¸c˜ao. Para uma dada popula¸c˜ao com N indiv´ıduos, nk ´e dado por:

nk = N 1 − r 1 − rRr

k−1 (7.3)

Para r < 1, o n´umero de indiv´ıduos na primeira pseudo-curva ´e alto. Conforme pode- se observar na Eq. (7.3), o n´umero de indiv´ıduos vai diminuindo exponencialmente, o que enfatiza a busca local. J´a para um valor maior de r, existem mais solu¸c˜oes na ´ultima pseudo-curva, o que enfatiza a busca global (HU et al., 2006).

A Figura 7.4 mostra a rela¸c˜ao entre pseudo-curvas (PC ) e a estrat´egia de ordenamento por rank (Rank ).

Nesse procedimento, segundo Hu et al. (2006), cada curva possui um pseudo rank que n˜ao ´e o mesmo obtido atrav´es do ordenamento por rank. Esse pseudo rank serve para decidir o tamanho da fronteira que ser´a aplicado a cada conjunto definido pela quantidade de elementos nk.

Definida a estrat´egia para redefinir as pseudo-curvas, o pr´oximo passo consiste em assumir que existam R curvas n˜ao-dominadas na g-´esima gera¸c˜ao e, sendo DR o tamanho da vizinhan¸ca da ´ultima pseudo-curva na g-´esima gera¸c˜ao, o tamanho da k-´esima curva nesta gera¸c˜ao ´e dada por:

Dk(g) = k

7.2. O Algoritmo MODE 129 f2 f1

Curva de Pareto

3 2 1 5 4 6 7 8 9 10 Rank 1 Rank 2 Rank 3 Rank 4 PC 1 PC 2 PC 3

Figura 7.4: Rela¸c˜ao entre pseudo-curvas e ordenamento por rank (Reproduzido de Hu et al. (2006)).

No algoritmo LCA ´e sugerido um m´etodo bastante simples para obten¸c˜ao de DR(g): DR(g) = ηDR(g − 1) ou DR(g) = ηg−1DR(0) (7.5) onde 0 < η < 1 e g ≥ 1.

O tamanho m´aximo da vizinhan¸ca, inicialmente, ´e

DR(0) = U − L (7.6)

onde L e U s˜ao os limites estabelecidos pelo dom´ınio das vari´aveis de projeto. Dessa forma, a Eq. (7.4) pode ser expressa como:

Dk(g) = kη g−1

R (U − L) (7.7)

Assim, a vizinhan¸ca das vari´aveis de projeto x ´e dada por:

χk(x) = · x −Dk(g) 2 , x + Dk(g) 2 ¸ (7.8)

onde χk(x) ´e um sub-espa¸co hiper-retangular de Rn.

De posse desses vizinhos, o procedimento de busca pelas solu¸c˜oes n˜ao-dominadas pode ser realizado.