GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP...

24
GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008

Transcript of GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP...

Page 1: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

GRASP

Disciplina: ODSTProfessores: José Oliveira e Maria Carravilla

Aluno: Marcelo Nogueira

FEUP JANEIRO 2008

Page 2: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 3: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Exemplo de função a ser otimizada

x

y

cost

Valor de f(x)

Plano das soluções

Page 4: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 5: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Solução Gulosa + Busca local

x

y

cost

Soluções Gulosas

Solução final da busca

Page 6: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Como escapar dos mínimos locais?

Page 7: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

GRASP

• Greedy Randomized Adaptive Search Procedure

• Consiste basicamente em repetir dois passos até que um certo critério de parada seja atingido1) Gerar uma solução inicial semi-gulosa (gulosa aleatorizada)2) 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

Page 8: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

GRASP

Fase Construtiva: Solução semi-gulosa

Fase de Melhoramento: busca local

Critério de

parada?

sim

não

Fim

Início

Page 9: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

GRASP

x

y

cost

Soluções Semi-gulosas

Solução finalSolução final

Solução final (melhor de todas achadas)

Page 10: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

O que é uma solução semi-gulosa?

Page 11: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 12: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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ço1 2 1 22 5 3 1,663 7 5 1,44 9 7 1,28

Page 13: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 14: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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ço1 2 1 22 5 3 1,663 7 5 1,44 9 7 1,28

Page 15: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 16: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 17: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Vantagens do GRASP

• Rápido• Geralmente produz boas soluções• Poucos parâmetros para serem ajustados

Page 18: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

GRASP para o TSP

• Algoritmo geral

Repita até critério de paradaCalcule solução inicial semi-gulosaMelhore a solução por busca local (utilizei 2-opt)

End

Page 19: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

GRASP para o TSP

• Algoritmo de geração de solução semi-gulosa

Repita até que todos os nós estejam na soluçãoEscolha os “n” nós (vizinhos mais próximos ou inserção mais barata) e coloque-os na lista RCLEscolha aleatoriamente um componente da lista RCL e insira na solução actual

End

Page 20: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Resultados obtidos

• 29 cidades: arquivo • 51 cidades: arquivo

Page 21: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Resultados obtidos

• 1002 cidades - óptimo: 259045 – Para 10 iterações (IMB)• Tamanho RCL=1: 301066 (4 minutos)• Tamanho RCL=2: 301066 (11 minutos)

– Para 300 iterações (VMP)• Tamanho RCL=1: 312317 • Tamanho RCL=2: 419553• Tamanho RCL=3: 505834

Page 22: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

Resultados obtidos

• 18512 cidades (VMP)– Para 10 iterações (21 minutos)• Tamanho RCL=1: 1025010• Tamanho RCL=2: 1025010

Page 23: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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

Page 24: GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla Aluno: Marcelo Nogueira FEUP JANEIRO 2008.

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