HEURISTÍCAS CONSTRUTIVAS E. G. M. de Lacerda UFRN/DCA Maio de 2006.

Slides:



Advertisements
Apresentações semelhantes
O Problema de Roteamento de Veículos (PRV)
Advertisements

GRASP Greedy Randomized Adaptative Search Procedure
Dárlinton B. Feres Carvalho
Inteligência Computacional para Otimização
São João del-Rei, 23 a 26 de novembro de 2004
Inteligência Computacional para Otimização Marcone Jamilson Freitas Souza Departamento de Computação Universidade Federal de Ouro Preto
ROTEIRIZAÇÃO Marcone Jamilson Freitas Souza
Otimização por Colônia de Formigas (ACO)
Inteligência Computacional para Otimização
Tópicos em Inteligência Artificial – opt. CI309A inf. ufpr
Tópicos em otimização combinatória
Otimização Inteira 5a. Aula Franklina.
Traveling Salesman Problem: Alguns métodos heurísticos
GRASP Disciplina: ODST Professores: José Oliveira e Maria Carravilla
Algoritmos de Busca Local
Busca Informada.
Métodos Construtivos x Aprimoramento
Algoritmos em Grafos Celso C. Ribeiro Caroline T. Rocha.
SIMULATED ANNEALING E. G. M. de Lacerda UFRN/DCA 30/10/2006.
Algoritmos com Tempo Exponencial E. G. M. de Lacerda UFRN/DCA Maio de 2006.
BUSCA LOCAL Estéfane G. M. de Lacerda UFRN/DCA Setembro de 2006.
Busca com informação e exploração - Busca Heurística Jeneffer Ferreira Lázaro .: Capitulo 4 -
BUSCA TABU E. G. M. de Lacerda UFRN/DCA Março de 2006 Parte II.
BUSCA TABU E. G. M. de Lacerda UFRN/DCA 23/10/2006 Parte I.
Algoritmos Genéticos para o Problema da Mochila Estéfane G. M. de Lacerda UFRN/DCA Setembro/2008.
Aula 3 - Estruturas de Repetição
Algoritmos e Estruturas de Dados I
O PROBL EMA DA MOCHI LA COMO UM PROBLEMA RELATIVAMENTE COMPLEXO
Programação Não Linear
Algoritmos e Estruturas de Dados I
Árvores Binárias de Pesquisa (ABP)
3.3 Exemplos de aplicação Algoritmo 3.3.1: Máximo e mínimo de tabela.
Ciclo de vida dos Projetos
Sistemas de Controle III N8SC3
IP – Listas Prof. Eduardo Falcão.
Sistemas de Redes de Filas
Modelagem para Otimização:Aula 2
PARIDADE Dizemos que dois números inteiros têm mesma paridade, quando são ambos pares ou ambos ímpares.
Exercícios.
Sistemas de Controle III N8SC3
03 - PRODUTO Marca: Dados Completos : PRODUTO Marca: Dados Completos :
Métodos de Pesquisa e Ordenação
Estrutura de dados Pilhas e filas
Fundamentos de Programação 1
Métodos de Pesquisa e Ordenação
Algoritmos e Estruturas de Dados I
Zvi Covaliu e Robert M. Oliver
DESIGN INOVAÇÃO Projetos de design inscritos que sejam Disruptivos, Inovadores, Distintos e com uma Nova Visão. Podem estar inseridos e/ou destacados.
Algoritmos de Redes Rota mais curta Árvore de ramificação mínima
BUSCA TABU Parte III E. G. M. de Lacerda UFRN/DCA 23/10/2006.
Algoritmos e Programação I
Método Simplex Montar um dicionário inicial
Lógica de Programação Significa o uso correto das leis do pensamento e de processos de raciocínio para a produção de soluções logicamente válidas e coerentes,
Estruturas de Repetição
Particle Swarm Optimization (PSO)
COMPUTAÇÃO BIOINSPIRADA
Prof. Elisson de Andrade
Heurísticas de refinamento: Fundamentação
Análise Multicritério
Algoritmos Genéticos Alex F. V. Machado.
Aula 11- Rafaela Bosse Schroeder
TÍTULO Sobrenome, Nome¹; Sobrenome, Nome²
Resolução por algoritmos de Busca
Sistemas Inteligentes Busca Cega (Exaustiva)
Aula 7 – Algoritmos Genéticos
[Título do Cartaz] Lorem ipsum dolor sit amet, consectetuer adipiscing elit maecenas porttitor congue massa fusce [Substitua os seguintes nomes e títulos.
Aula S8 Lição de casa dada na S7
DESIGN INOVAÇÃO Projetos de design inscritos que sejam Disruptivos, Inovadores, Distintos e com uma Nova Visão. Podem estar inseridos e/ou destacados.
03 - PRODUTO Marca: Dados Completos : PRODUTO Marca: Dados Completos :
PESQUISA OPERACIONAL.
Transcrição da apresentação:

HEURISTÍCAS CONSTRUTIVAS E. G. M. de Lacerda UFRN/DCA Maio de 2006

Heurísticas Construtivas Consiste em construir uma solução de um problema de forma incremental. Passo a passo, um componente é escolhido e depois inserido na solução até gerar uma solução completa. O componente escolhido em cada passo é, em geral, o melhor candidato de acordo com algum critério.

Heurísticas Construtivas x Busca Local Heurísticas construtivas são, em geral, mais rápidas que métodos de busca local. Contudo, a busca local, em geral, fornece soluções de melhor qualidade.

Inicialize a solução parcial s p inicialize o conjunto C de componentes candidatos enquanto (s p não for uma solução completa) c = o melhor componente guloso de C s p = s p  c atualize C fim s = s p retorne s Heurística de Construção Gulosa (Míope) Onde:  é um operador para adicionar um componente c a solução parcial s p.

Heurísticas construtivas para o PCV Heurística dos vizinhos mais próximos Idéia: Escolha uma cidade inicial aleatoriamente. Adicione, passo a passo, uma nova cidade. Em cada passo, escolha, entre as cidades que restaram, a cidade mais próxima.

Heurística dos vizinhos mais próximos matriz de distâncias Solução obtida pela heurística dos vizinhos mais próximos custo = 10,9 inicio

Heurística da Inserção Mais Barata (1/5) 1) Iniciar com uma subrota de três cidades. 2) inserir uma cidade k entre as cidades i e j tal que esta inserção minimize s ij = c ik + c kj - c ij 3) Repita o passo 2 até que todas as cidades sejam visitadas. Heurística da Inserção Mais Barata 1) Iniciar com uma subrota de três cidades 2) inserir uma cidade k entre as cidades i e j tal que esta inserção minimize s ij = c ik + c kj - c ij 3) Repita o passo 2 até todas as cidades serem visitadas. Idéia:

Heurística da Inserção Mais Barata (2/5) Inicio: Obs: as três cidades iniciais podem ser escolhidas, por exemplo, pela heurísticas dos vizinhos mais próximos.

Heurística da Inserção Mais Barata (3/5) 2 + 2,2 - 1 = 3, ,2 - 1,4 = 3 2, ,2 = 2 4, = 7, ,2 - 1,4 = 5,8 3,2 + 4,1 - 2,2 = 5,1 o melhor

Heurística da Inserção Mais Barata (4/5) 4, = 7, ,2 - 1,4 = 5,8 3,2 + 2,2 - 2,2 = 3,2 2,2 + 4,1 - 2 = 4,3 o melhor

Heurística da Inserção Mais Barata (5/5) Resultado: custo = 9,8

O Problema da Mochila Maximizar Sujeito a Uma solução s é um vetor de uns e zeros. Se o objeto j está mochila então s j = 1, caso contrário s j = 0. (do inglês, knapsack problem)

Heurística para o Problema da Mochila (1/7) Idéia: Adicionar, em cada passo, o objeto mais valioso por unidade de peso até atingir a capacidade da mochila.

Heurística para o Problema da Mochila (2/7) Capacidade da mochila b = 25 Exemplo:

Heurística para o Problema da Mochila (3/7) 1o. passo. Quem possui o melhor beneficio por unidade de peso é o objeto 7 (c 7 /w 7 = 0,83). Logo ele é adicionado na mochila: s p = (0,0,0,0,0,0,1,0) // solução parcial peso corrente = 6 < 25

Heurística para o Problema da Mochila (4/7) 2o. passo. A segunda melhor escolha é o objeto 2 (c 2 /w 2 = 0,75) s p = (0,1,0,0,0,0,1,0) // solução parcial peso corrente = 10 < 25

Heurística para o Problema da Mochila (5/7) 3o. passo. A terceira melhor escolha é o objeto 6 (c 6 /w 6 = 0,75) s p = (0,1,0,0,0,1,1,0) // solução parcial peso corrente = 14 < 25

Heurística para o Problema da Mochila (6/7) 4o. passo. A quarta melhor escolha é o objeto 1 (c 1 /w 1 = 0,6) s p = (1,1,0,0,0,1,1,0) // solução parcial peso corrente = 19 < 25

Heurística para o Problema da Mochila (7/7) 5o. passo. Como não é possível adicionar o objeto 4, adicionamos o objeto 5. s p = (1,1,0,0,1,1,1,0) // solução parcial peso corrente = 23 < 25 Não é possível mais adicionar objetos! Solução final s = (1,1,0,0,1,1,1,0) Valor = 16

Programação de Tarefas (Job Shop) (1/6) Uma tarefa é um trabalho que exige um tempo para ser executado em uma máquina. Dado um conjunto de tarefas S, uma programação para S é uma permutação de S especificando a ordem em que as tarefas devem ser executadas na máquina. A máquina executa apenas um tarefa por vez.

Programação de Tarefas (Job Shop) (2/6) O problema de programar tarefas com prazo final para uma única máquina tem os seguintes itens: Um conjunto de tarefas S = {1,2,...,n} Um conjunto de prazos finais d 1, d 2,..., d n para cada tarefa (i.e., a tarefa j deve terminar no tempo d j ) Um conjunto de penalidades w 1, w 2,..., w n. Uma penalidade w j ocorre se a tarefa j não termina no tempo d j.

Programação de Tarefas (Job Shop) (3/6) O problema de programar tarefas com prazo final para uma única máquina minimiza a seguinte função objetivo: Onde C j é o tempo que a tarefa j toma para se completar.

Programação de Tarefas (Job Shop) (4/6) Exemplo:

Programação de Tarefas (Job Shop) (5/6) Heurística do mais cedo prazo final Idéia: Adicione, passo a passo, uma nova tarefa para a máquina. Em cada passo, escolha, entre as tarefas que restaram, a tarefa com o mais cedo prazo final.

Programação de Tarefas (Job Shop) (6/6) Penalidade total T = 26 programação das tarefas Prazos em ordem crescente