GRASP
Greedy Randomized Adaptative
Search Procedure
GRASP
Método de otimização combinatorial;
Desenvolvido por Feo e Resende (1989, 1995);
É um processo iterativo, no qual a cada iteração
uma nova solução inicial é gerada aleatoriamente;
Cada iteração consiste em 2 fases:
Construtiva: Geração Gulosa,Randômica e Adaptativa;
Busca local: gera alguma melhoria na solução
corrente, através de uma busca local na vizinhança
para encontrar o ótimo local.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Algoritmo
Construção da
Solução inicial
S
Retorna a
melhor solução
Critério de parada
atingido?
N
Busca Local
Memoriza
melhores soluções
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Fase Construtiva
Demanda maior esforço computacional;
Constrói soluções, iterativamente, inserindo-se na
solução, um elemento de cada vez;
A cada iteração, a escolha do próximo elemento a
ser adicionado é determinado pela ordenação de
todos os elementos candidatos, em uma lista de
candidatos;
Essa ordenação é feita mediante a avaliação de cada
elemento, conforme a função “gulosa”;
Essa função seleciona, sequencialmente, o elemento
que minimiza o custo de incremento da solução
parcial, atualizando o benefício a outros elementos a
cada iteração (heurística adaptativa).
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Componente Probabilística
A componente probabilística é caracterizada pela
escolha aleatória de um dos melhores candidatos da
lista L, mas não necessariamente o melhor.
A lista resultante com os melhores resultados é
chamada de Lista Restrita de Candidatos (LRC).
Através da aleatoriedade, não é certa a obtenção da
melhor solução, porém permite-se uma melhor
diversificação.
Esta fase é dita dinâmica, pois o valor da função
gulosa varia a cada adição de um novo elemento, o
que difere da estática que fixa o valor de cada
elemento, antes do início desta fase.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Lista Restritiva de Candidatos
Um fator importante do GRASP é a qualidade dos
elementos da lista restrita de candidatos.
Essa lista pode ser limitada por um número de
elementos ou pela qualidade dos elementos que a
compõem.
Se a lista for limitada a um elemento, a solução
encontrada será a única solução e não haverá uma
diversificação da solução.
Se a lista for ampla, serão geradas várias soluções
diferentes produzindo uma maior variação.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Algoritmo de construção
Procedimento Construção(s)
S{}
Enquanto solução não completa faça:
LCR = {c ϵ C / g(c) ≤ s1 + a(s2 – s1)}
c= selec_elem_aleat(LRC)
S=S U {c}
Fim enquanto
Fim Construção
s1 = min{ g(t), t ϵ C}
s2 = max{ g(t), t ϵ C},
a ϵ (0,1).
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Parâmetro
De acordo com Feo e Resende (1995), a escolha do
parâmetro produz construções diferentes:
Para a = 0, t = s1 + a(s2 – s1)} t = s1
(construção gulosa)
Para a = 1, t = s1 + a(s2 – s1)} t = s2
(construção aleatória)
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Fase de Busca Local
Procedimento de busca local para melhoria da solução;
A busca é realizada na estrutura de vizinhança (viz(s));
Trocando a solução corrente, sempre que uma solução melhor foi
encontrada;
O procedimento termina quando nenhuma solução melhor e
encontrada;
Procedimento Buscalocal(s, viz(s))
Enquanto solução não ótima faça:
Encontrar uma melhor solução v ϵ viz(s);
s v;
Fim enquanto
Retorna(s);
Fim Buscalocal
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Estratégias de Busca Local
Best-improving - todos os vizinhos são analisados
e o melhor entre eles é selecionado;
First-improving - é adotada a primeira solução
cujo valor da função é menor que da solução
atual;
First-improving - requer um menor tempo
computacional;
Best-improving - converge prematuramente para
um ótimo local (Yamamoto, 2007).
Podem ser utilizados: Hill Climbing e Simulated
Annealing e Busca Tabu.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
GRASP - PCV
Solução_Inicial = Primeira_Cidade;
Parâmetro a;
Adiciona Elemento Solução;
Seleciona Elemento;
Lista Candidatos (LC);
Lista Candidatos Restrita (LCR);
Parâmetro a
Aleatório/Guloso;
Até Solução Completa;
Solução Completa para Busca Local;
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Grasp para o problema das p-medianas
di mede a variação na função objetivo ao designar o
ponto i para o conjunto de medianas.
min{Cij Ci ,a (i ) } se Cij Ci ,a (i )
di
caso contrário
0
Função de benefício para cada mediana
j (S) iN S i
Na fase construtiva do algoritmo GRASP selecionase uma nova mediana, aleatoriamente, entre os
elementos de uma Lista Restrita de Candidatos
(LRC), que contém os índices das medianas cujo
valor correspondente é menor ou igual a certo valor
calculado da seguinte forma:
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Grasp para o problema das p-medianas
RCL= j J \ S : j (S ) min a ( max min )
min min jJ \ S { j }
max max jJ \ S { j }
O parâmetro a define a fase de construção como
gulosa (se a = 0) ou aleatória (se a porcentagem de
aceitação).
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Fase de Melhoria
Utiliza-se um procedimento de busca local.
Estrutura de vizinhança, onde o conjunto de
soluções é formado por soluções vizinhas.
Soluções vizinhas são todas aquelas que substituem
uma mediana selecionada por uma mediana não
selecionada , e os demais pontos são novamente
designados à sua melhor mediana.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
PCV - GRASP
Considerar o depósito inicial: D
1ª Fase: Construção
Repita
Escolha os candidatos da lista LRC, tal que:
g(c) s1 a s2 s1
Escolha, aleatoriamente um dos candidatos (c1) da
lista LRC e montar a rota inicial: D – c1 – D;
Calcular o custo da rota
Até que todos os pontos tenham sido designados
Fim da 1ª Fase.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
PCV - GRASP
2ª Fase: Melhoria
Selecione dois pontos da rota
Efetue todas as trocas possíveis
Calcule o custo da nova rota
Se o custo da nova rota for menor do que
o custo da rota anterior, então troque.
Parar quando não houver mais
melhoria na FO.
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
Solução do PCV - GRASP
Considere um conjunto com 6 cidades
Matriz de Distâncias
6
4
2
3
1
5
1
2
3
4
5
6
1
0
2
2
4
4
4
2
2
0
1
2
3
2
Luzia Vidal de Souza – UFPR – Meta-Heurísticas
3
2
1
0
2
2
3
4
4
2
2
0
3
3
5
4
3
2
3
0
5
6
4
2
3
3
5
0
Mecanismos de Memória
evitar trabalho redundante
guardar todas as soluções usadas
como soluções iniciais na busca local
Filtrar as soluções construídas, muito
ruins...eliminar
construir um conjunto de soluções
elites
PATH-RELINKING
Path-Relinking, melhoramento em
tempo e qualidade da solução
Path-Relinking, explora trajetórias
conectando soluções.
Path-Relinking
Originalmente proposto por Glower
(TABU)
Estratégia de intensificação que
explora trajetórias de soluções elites
obtidas por TABU ou SCATTER
Partindo de 1 ou mais soluções de
elite são gerados caminhos para
outras soluções
Caminhos
Movimentos que introduzam os
atributos presentes nas soluções são
selecionados
Implementações
Relink periódico: não sistemático,
mais periódico
Forward: aplicado entre o pior Xs e Xt
Backward:
Back e Forward
Mixed: Back e Forward ate uma
solução equidistante.
Movimentos Aleatórios
Truncada: alguns movimentos são
explorados.
GRASP com Path-Relinking
Path-Relinking é aplicado a todos os
pares de soluções elites.
seja periodicamente durante as iterações
GRASP
após todas as iterações GRASP, posotimização
path-relinking aplicado como estratégia de
intensificação após a fase local.
Soluções Elites
Cada solução da busca local
Medidas de similaridades
Soluções Geradas no Path-Relinking
3 Fases GRASP
Fase de Construção
Busca Local
Path-Relinking