Você está na página 1de 11

A Meta-heurı́stica de Busca Dispersa

O Algoritmo de Busca Dispersa


O algoritmo de busca dispersa (BD) foi inven-
tado por Glover para competir com algoritmos de tipo
estocástico como o algoritmo genético. O algoritmo de
BS prioriza decisões determinı́sticas em detri-
mento de decisões estocásticas no processo de
busca. Assim como o AG, o algoritmo BD é popula-
cional, mas trabalha com um número reduzido
de soluções de qualidade.

O algoritmo BD está formado por cinco etapas


fundamentais e, portanto, a diferença fundamental
entre as diversas formas de implementar BD se encontra
nos detalhes da implementação de cada uma dessas eta-
pas. Assim, na implementação de um algoritmo BD para
resolver um problema complexo, deve-se implementar as
seguintes etapas:

1
1. Etapa 1: Geração de soluções com diversi-
dade
Usada para construir um conjunto P composto por
P size soluções diferentes e que podem ser factı́veis
ou infactı́veis. Esse conjunto de soluções, gerada preser-
vando a diversidade, pode ser grande, por exemplo,
200 soluções.

A forma mais trivial de gerar as soluções iniciais com


diversidade é usando, por exemplo, uma estratégia
aleatória. Outra forma pode ser usar uma estratégia
aleatória controlada.

Entretanto, se consideramos a lógica fundamental de


BD que prioriza estratégias determinı́sticas
em contraposição de estratégias estocásticas, a me-
lhor forma de gerar um conjunto grande de
soluções com diversidade é usando um al-
goritmo heurı́stico construtivo generaliza-
do (AHCG), isto é usando a mesma estratégia usa-
da na fase construtiva do GRASP.

2
2. Etapa 2: Melhoria local das soluções
Transforma as soluções do conjunto anterior visando
melhorar a factibilidade e/ou a qualidade de cada
uma dessas soluções.

Essa etapa pode ser muito simples e incorporada na


etapa anterior usando apenas melhorias triviais na
solução encontrada pela etapa de geração de soluções
com diversidade.

Uma forma mais sofisticada seria usar uma


heurı́stica SDH para implementar esta eta-
pa. Deve-se observar que, nesse contexto,
as etapas 1 e 2 trabalham de forma seme-
lhante que um algoritmo GRASP básico.

3
3. Etapa 3: Atualização dos conjuntos reduzi-
do de soluções
Nesta etapa se seleciona um conjunto reduzi-
do de soluções chamadas de Ref Set ou soluções de
referência ou soluções de qualidade.

Inicialmente, essas soluções são selecionadas de P size.


Assim, são selecionadas b soluções, sendo 2b dessas
soluções selecionadas por qualidade e as
outras soluções são selecionadas levando em
conta a diversidade.

Portanto, deve-se escolher uma forma de quan-


tificar a diversidade entre as soluções. Nas
seguintes iterações do algoritmo, o conjunto Ref Set
é determinado juntando o conjunto Ref Set da ite-
ração anterior e o novo conjunto chamado de P ool e
gerado na Etapa 5.

4
4. Etapa 4: Geração do subconjunto de soluções
Nesta etapa, as soluções armazenadas em Ref Set
são agrupadas em grupos menores chama-
dos de subconjuntos.

A forma mais simples de agrupar soluções é agrupan-


do grupos de duas soluções. Nesse caso, se Ref Set
tem p soluções, então é possı́vel formar Np = p(p−1)
2
subconjuntos.

Cada um desses subconjuntos são usados


na seguinte etapa para gerar novas soluções.
Obviamente, podem ser gerados subconjuntos com
mais de duas soluções, o que incrementa de forma
significativa o número de subconjuntos de soluções
geradas. Por esse motivo, p deve ser relativamente
pequeno, tipicamente entre 8 e 12.

5
Etapa 5: Combinação das soluções de cada
subconjunto
Nesta etapa, as soluções presentes em cada subgrupo
são usadas para gerar novas soluções. Portanto, cada
subconjunto é analisado de forma independente.
Assim, as soluções armazenadas em cada sub-
conjunto deve gerar novas soluções através
de uma estratégia adequadamente projeta-
da.
A forma mais simples de gerar novas soluções
em subconjuntos formados por apenas duas soluções
é usar a mesma estratégia da recombinação usada
no algoritmo genético. Assim, duas soluções são re-
combinadas e geram duas novas soluções exatamente
iguais que no caso do AG.
Uma forma mais sofisticada de gerar novas so-
luções é usando path relinking. Nesse caso, deve-se
projetar uma estratégia de busca com a caracteri-
zação de uma estrutura de vizinhança especı́fica que
permite percorrer o espaço de busca partindo de uma
das soluções do subconjunto analisado e parar quan-
do for encontrada a outra solução desse subconjunto.
Essa estrutura de vizinhança permite en-
contrar muitas soluções que se encontram
na região do espaço de busca entre as duas
soluções do subconjunto.
6
Todas as soluções encontradas nesse processo de bus-
ca são comparadas e as melhores são armaze-
nadas em um conjunto chamado P ool.

Assim, em P ool são armazenadas as q me-


lhores soluções encontradas combinando todos os
subconjuntos de soluções gerados. Finalmente, as
soluções armazenadas em P ool substituem
as soluções armazenadas em Ref Set para
gerar um novo Ref Set e desde que sejam
melhores que as armazenadas no Ref Set
corrente. Se o conjunto Ref Set for atualizado com
pelo menos uma nova solução, então as etapas 3,
4 e 5 são repetidas. Em caso contrário o processo
BD termina mostrando as p melhores soluções en-
contradas durante o processo. Obviamente, existem
muitas formas de implementar a etapa de combi-
nação de soluções.

A melhor estratégia para implementar a etapa de


combinação de soluções é usar a estratégia de path
relinking especializado.

7
PSO - Particle Swarm Optimiztion
O algoritmo de PSO foi inventado por Eberhart e
Kennedy em 1995 e, conceitualmente, pode ser inter-
pretado como sendo um algoritmo genético modificado,
isto é, um algoritmo que incorpora conceitos presentes
no algoritmo genético e da programação evolucionária.

Algumas caracterı́sticas de PSO são os se-


guintes:

PSO é populacional da mesma forma que o al-


goritmo genético e a busca dispersa.
PSO não gera um novo conjunto de soluções mis-
turando as soluções. A estratégia fundamen-
tal considera que cada proposta de solução
deve realizar um conjunto de transições da
mesma forma que SA e TS.
As transições são realizadas levando em conta o pa-
ssado de cada proposta de solução e o passado das
outras propostas de solução presentes nas soluções
da população.

8
Dada uma proposta de solução na iteração k, então
essa solução deve passar para uma nova posição no
espaço de busca (deve passar para uma solução vizi-
nha) e essa nova posição deve ser determinada usan-
do uma composição de três tipos de informação:
a inercia, a memória e a cooperação.
A inercia tenta preservar a direção realizada na ite-
ração anterior, isto é, a nova proposta de solução
deveria estar localizada na mesma direção realizada
na iteração anterior.
A memória tenta de que a nova solução seja procu-
rada seguindo a direção em que se encontra a melhor
solução já encontrada nas transições realizadas pela
solução inicial que deu origem à solução corrente.
A cooperação tenta de que a nova solução seja
procurada seguindo a direção em que se encontra a
melhor solução já encontrada nas transições reali-
zadas por todas as soluções, isto é, a nova solução
deve ser procurada seguindo a direção em
que se encontra a incumbente.
Toda a lógica fundamental de PSO imagina que o
problema que está sendo resolvido é um tı́pico proble-
ma com modelo matemático conhecido e com variáveis
de decisão sendo variáveis reais (contı́nuas) e um es-
paço de busca limitado ao espaço E d.

9
Considere um problema a ser resolvido usando PSO.
Nesse contexto, supor que existe N propostas de solução
na população corrente na iteração t. Cada proposta de
solução é representada pelo vetor xn = (xn,1, xn,2, . . . , xn,d).
Na iteração t, associado a cada partı́cula n existe também
uma velocidade vn = (vn,1, vn,2, . . . , vn,d).
Nesse contexto, a posição da proposta de solução
n (solução vizinha) na iteração t + 1 é encon-
trada usando as seguintes relações:

vn,d(t + 1) = w × vn,d(t) + c1r1[pbestn,t(t) − xn,t(t)]


+c2r2[gbestn,t(t) − xn,t(t)]

xn,d(t + 1) = xn,t(t) + vn,t(t + 1)


vn,t(t+1) define o deslocamento para uma nova posição
no espaço de busca e os autores chamam esse termo
de velocidade.
r1 e r2 são números aleatórios no intervalo [0, 1].
c1 e c2 são parâmetros que devem ser escolhidos e
geralmente c1 = c2 = 2.
w é um parâmetro, chamado de parâmetro de inercia
e cujo valor deve ser menor que 1, tipicamente w ∈
[0,7, 0,8].
gbestn,t(t) é a melhor solução encontrada no processo
(incumbente).
10
pbestn,t(t) é a melhor solução encontrada pela pro-
posta de solução n no processo de busca.

Observações finais:

Os valores iniciais das propostas de solução xn,d(1) e


de direção de deslocamento vn,d(1) podem ser esco-
lhidos de forma aleatória.
Independente da natureza das variáveis de decisão
(inteiros ou reais) os valores de xn,d(t + 1) assumem
valores reais. Portanto, no caso em que algumas variáveis
sejam reais, precisa-se de uma técnica de integral-
ização.
Geralmente é necessário incorporar limites adequa-
dos para vn,t(t + 1), na forma vmin ≤ vn,t(t + 1) ≤
vmax.

11

Você também pode gostar