A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

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

Apresentações semelhantes


Apresentação em tema: "HEURISTÍCAS CONSTRUTIVAS E. G. M. de Lacerda UFRN/DCA Maio de 2006."— Transcrição da apresentação:

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

2 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.

3 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.

4 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.

5 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.

6 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

7 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:

8 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.

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

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

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

12 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)

13 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.

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

15 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

16 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

17 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

18 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

19 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

20 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.

21 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.

22 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.

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

24 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.

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


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

Apresentações semelhantes


Anúncios Google