GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla

Slides:



Advertisements
Apresentações semelhantes
Algoritmos de Caminho Mínimo em Grafos
Advertisements

Algoritmos em Grafos.
Gustavo Sant´Anna Ferreira Rodrigo Ribeiro de Souza
Inteligência Artificial
O Problema de Roteamento de Veículos (PRV)
OTIMIZAÇÃO DO PROJETO DE REDES URBANAS BASEADO NO PROBLEMA DE STEINER
Busca com Informação Busca com informação Busca Gulosa Busca A*
Optimization and Decision Support Techniques FUNDAMENTOS DE ALGORITMOS GENÉTICOS Pedro Miguel A. S. Melo FEUP – Fevereiro de 2008.
CONCEITOS BÁSICOS DA META-HEURÍSTICA TABU SEARCH
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Meta - heurísticas Prof. Aurora
GRASP Greedy Randomized Adaptative Search Procedure
GRASP Greedy Randomized Adaptive Search Procedures
1 Busca Heurística - Informada Estratégias de Busca Exaustiva (Cega) encontram soluções para problemas pela geração sistemática de novos estados, que são.
Dárlinton B. Feres Carvalho
INTELIGÊNCIA COMPUTACIONAL PARA OTIMIZAÇÃO
São João del-Rei, 23 a 26 de novembro de 2004
Busca Tabu - Revisão Marcone Jamilson Freitas Souza
Inteligência Computacional para Otimização Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto
Rodrigo Geraldo Ribeiro Denis Pinto Pinheiro Camila Leles Rezende
Simulated Annealing (SA) Aplicado ao Problema
XXXV SBPO - PROGRAMAÇÃO DE TRIPULAÇÕES DE ÔNIBUS URBANO:
Inteligência Computacional para Otimização
Problema da Mochila Inteira (Bounded Knapsack)
Busca Tabu Marcone Jamilson Freitas Souza Departamento de Computação
Busca Heurística - Informada
Inteligência Artificial
Algoritmos Genéticos - Capítulo 10 Representação Numérica
Inteligência Artificial
Balanceamento de Linhas
INF 1771 – Inteligência Artificial
Meta - heurísticas Prof. Aurora
Aurora Pozo– UFPR – Meta-Heurísticas
Otimização por Colônia de Formigas (ACO)
I Iterated Local Search Helena R. Lorenço, Olivier Martinz
Tópicos em Inteligência Artificial – opt. CI309A inf. ufpr
Uma Introdução a Evolução Diferencial
Algoritmos Aleatórios Para Optimização de consultas Artigo apresentado por: Daniel Martins David Martins
Resolução de problemas por meio de busca
Tópicos em otimização combinatória
Otimização Inteira 5a. Aula Franklina.
Traveling Salesman Problem: Alguns métodos heurísticos
Tópicos em otimização combinatória
Alysson M. Costa – ICMC/USP Tópicos em otimização combinatória Heurísticas construtivas Análise de qualidade: análise de pior caso Aula baseada em material.
Meta-Heurística Colônia de Formigas
Introdução e Busca Cega
Introdução aos Agentes Inteligentes Busca Heurística (Informada)
Introdução aos Agentes Inteligentes Algoritmos de Melhorias Iterativas (Otimização) Flávia Barros.
Algoritmos de Busca Local
Tópicos Avançados em Inteligência Artificial
Construção e Análise de Algoritmos
O Problema de Corte de Estoque
Busca Combinatorial e Métodos de Heurística
Busca com Informação e Exploração “Busca heurística”
Métodos de Resolução Solução Analítica Solução Numérica
Programação Dinâmica.
Trabalho Prático 1 Estudo de Algoritmos de Busca de Soluções em Prolog
Inteligência de Enxame 2 – The Ant Colony Optimization Metaheuristic CPE-730 Filipe de Almeida Araujo Vital Aluno de Graduação em Engenharia de Controle.
Métodos Construtivos x Aprimoramento
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
Busca Competitiva Disciplina: Inteligência Artificial
Busca em Espaço de Estados Parte2 Algoritmos de Busca Cega
Principais Tópicos Introdução Métodos de busca Busca cega
Inteligência Artificial
Mailson Felipe da Silva Marques Johnson Cordeiro Sarmento
Computação Evolutiva Nome dado ao estudo de algoritmos cuja inspiração é o processo de evolução natural das espécies. Origem: trabalho de um pesquisador.
Sistemas Inteligentes Algoritmos de Melhorias Iterativas (Otimização)
Abordagens para Problemas Intratáveis Katia S. Guimarães
Agenda 1. O Problema das 8 Rainhas 2. Hill Climbing
HEURISTÍCAS CONSTRUTIVAS E. G. M. de Lacerda UFRN/DCA Maio de 2006.
Transcrição da apresentação:

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

Exemplo de função a ser otimizada y cost Valor de f(x) Plano das soluções

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

Solução Gulosa + Busca local x y cost Solução final da busca Soluções Gulosas

Como escapar dos mínimos locais?

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

GRASP Início Fase Construtiva: Solução semi-gulosa Fase de Melhoramento: busca local Critério de parada? não sim Fim

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

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

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

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

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

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

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

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

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

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

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

Resultados obtidos 29 cidades: arquivo 51 cidades: arquivo

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

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

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

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