GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla - ppt carregar
PublicouBeatriz Evora Alterado mais de 3 anos atrás
Apresentação em tema: "GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla"— Transcrição da apresentação:
1 GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla
Aluno: Marcelo Nogueira FEUP JANEIRO 2008
2 Otimização Achar a solução de um problema P tal que uma certa função critério f(x) seja maximizada (ou minimizada) onde x  X   Onde: x é uma solução do problema X é o espaço das soluções admissíveis  é o espaço das soluções
3 Exemplo de função a ser otimizada
y cost Valor de f(x) Plano das soluções
4 Estratégia: Solução Gulosa + Busca local
Achar uma solução inicial de forma gulosa Melhorar a solução através de uma busca local, por exemplo, algoritmo 2-opt Problema: Isto produz pouca variedade na solução, podendo assim, ficar preso a um mínimo local
5 Solução Gulosa + Busca local
x y cost Solução final da busca Soluções Gulosas
6 Como escapar dos mínimos locais?
7 GRASP Greedy Randomized Adaptive Search Procedure
Consiste basicamente em repetir dois passos até que um certo critério de parada seja atingido Gerar uma solução inicial semi-gulosa (gulosa aleatorizada) Melhorar a solução inicial através de uma busca local e actualizar a melhor solução encontrada As soluções semi-gulosas são mais variadas que as soluções gulosas, com isto espera-se conseguir escapar de mínimos locais
8 GRASP Início Fase Construtiva: Solução semi-gulosa
Fase de Melhoramento: busca local Critério de parada? não sim Fim
9 GRASP Solução final (melhor de todas achadas) cost Solução final
x y cost Solução final (melhor de todas achadas) Solução final Solução final Soluções Semi-gulosas
10 O que é uma solução semi-gulosa?
11 Solução Gulosa A cada passo, seleccionar o candidato que maximize (ou minimize) a função de custo no momento Não pensa no futuro, faz a escolha melhor tendo em vista o presente
12 Solução Gulosa Ex: Knapsack Backpack: 8 unidades de espaço
Heurística gulosa: escolher o item mais valioso por unidade (valor/espaço ocupado) Solução encontrada: itens 1 e 2 com valor total=7 Solução óptima: itens 2 e 3 com valor total=12 Item Valor Espaço Ocupado Valor/Espaço 1 2 5 3 1,66 7 1,4 4 9 1,28
13 Solução Semi-gulosa Consiste em, a cada passo, criar o que se chama de Restricted Candidate List (RCL) uma lista com os "n" melhores candidatos levando em consideração um algoritmo guloso Após criada a RCL, é escolhido, aleatoriamente, um elemento da lista e adicionado a solução parcial actual
14 Solução semi-gulosa Ex: Knapsack com tamanho da RCL=2
Backpack: 8 unidades de espaço Dois melhores candidatos: RCL = {1,2} – escolher aleatoriamente um a adicionar na mochila – suponha 1 Criar nova RCL = {2,3} – escolher aleatoriamente um para adicionar na mochila – suponha 3 (solução {1,3}) Possíveis soluções encontradas: {1,2}= 7; {1,3}= 9; {2,3}= 12; Item Valor Espaço Ocupado Valor/Espaço 1 2 5 3 1,66 7 1,4 4 9 1,28
15 Gulosas Vs. Aleatórias combinadas com busca local
Em média, as soluções de uma busca local a partir de uma solução gulosa são melhores que as originadas de uma solução inicial aleatória As soluções de uma busca local a partir de uma solução aleatória são bem mais variadas que as originadas de uma solução inicial gulosa Ideal: utilizar soluções iniciais semi-gulosas para a fase de busca local
16 Parâmetros do GRASP Os parâmetros para ajustar no GRASP são:
Tamanho da RCL Note-se que se o tamanho da RCL for 1, temos um algoritmo guloso, e se for máximo, temos um algoritmo aleatório A RCL também pode ter um tamanho variável, onde um elemento irá pertencer a RCL se sua contribuição para a função custo for x% do valor da função para o melhor candidato Critério de parada do algoritmo Normalmente um determinado número de operações ou um determinado tempo
17 Vantagens do GRASP Rápido Geralmente produz boas soluções
Poucos parâmetros para serem ajustados
18 GRASP para o TSP Algoritmo geral Repita até critério de parada
Calcule solução inicial semi-gulosa Melhore a solução por busca local (utilizei 2-opt) End
19 GRASP para o TSP Algoritmo de geração de solução semi-gulosa
Repita até que todos os nós estejam na solução Escolha os "n" nós (vizinhos mais próximos ou inserção mais barata) e coloque-os na lista RCL Escolha aleatoriamente um componente da lista RCL e insira na solução actual End
20 Resultados obtidos 29 cidades: arquivo 51 cidades: arquivo
21 Resultados obtidos 1002 cidades - óptimo: 259045
Para 10 iterações (IMB) Tamanho RCL=1: (4 minutos) Tamanho RCL=2: (11 minutos) Para 300 iterações (VMP) Tamanho RCL=1: Tamanho RCL=2: Tamanho RCL=3:
22 Resultados obtidos 18512 cidades (VMP) Para 10 iterações (21 minutos)
Tamanho RCL=1: Tamanho RCL=2:
23 Conclusões A velocidade do algoritmo GRASP depende da velocidade dos algoritmos construtivos e de melhoramentos utilizados Os resultados obtidos foram sempre melhores que as heurísticas não combinadas, contudo tais resultados ainda podem ser melhorados utilizando-se um algoritmo de vizinhança mais eficiente
24 Bibliografia José Fernando Oliveira Maria Antónia Carravilla, "Técnicas aproximadas para a resolução de problemas de Optimização Combinatória", MEEC – Faculdade de Engenharia da Universidade do Porto GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES, LEONIDAS S. PITSOULIS AND MAURICIO G.C. RESENDE GREEDY RANDOMIZED ADAPTIVE SEARCH PROCEDURES, THOMAS A. FEO and MAURICIO G.C. RESENDE Otimização Combinatória, L.A.N. Lorena