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

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

Problema do Empacotamento (Bin Packing) Heurística Simulated Annealing Dionatan de Souza Moura Lucas Nowaczyk Seadi Tobias Brignol Petry.

Apresentações semelhantes


Apresentação em tema: "Problema do Empacotamento (Bin Packing) Heurística Simulated Annealing Dionatan de Souza Moura Lucas Nowaczyk Seadi Tobias Brignol Petry."— Transcrição da apresentação:

1 Problema do Empacotamento (Bin Packing) Heurística Simulated Annealing Dionatan de Souza Moura Lucas Nowaczyk Seadi Tobias Brignol Petry

2 Apresentação do Problema Empacotar itens de tamanhos distintos em tonéis, de forma a minimizar a quantidade de recipientes, sem exceder as suas capacidades. Todos os tonéis tem capacidade igual. É permitido (entretanto, não é interessante) que haja espaço vago nos tonéis.

3 Definição do Problema Instância: n itens, cada um com seu tamanho associado, e uma capacidade de tonel. Formato de Solução: uma associação de cada item para um tonel (n:1), de forma que, para cada tonel, a soma dos tamanhos dos itens a ele associados não exceda a capacidade w. Objetivo: Minimizar o número de tonéis.

4 Apresentação da Heurística Simulated Annealing remete a um processo da metalurgia. Átomos, que se movimentam randomicamente com o calor, sofrem um resfriamento gradual, tendo mais chances de se realinharem em um estado de energia mais baixa. Annealing simulado escolhe soluções vizinhas randômicas, dependendo de uma probabilidade, em função de uma variável “temperatura”.

5 Apresentação da Heurística Com temperaturas altas, as soluções vizinhas tem boas chances de serem escolhidas, mesmo que o resultado da energia (função objetivo) seja pior do que o atual. Possibilita sair de “vales” no gráfico da função objetivo. Temperatura decresce ao longo da execução.

6 Apresentação da Heurística Com temperaturas baixas, a probabilidade de aceitar soluções vizinhas com mais energia diminuem. Entretanto, soluções vizinhas com energia menor têm sua probabilidade de escolha aumentada. Quando a temperatura tende a zero, a busca se assemelha a um algoritmo guloso.

7 Analogia Problema-Heurística Cada estado de alocação de itens aos tonéis corresponde a uma solução. Uma solução é dita vizinha quando apenas um item é trocado de tonel. Nessa troca, um item pode ser alocado para um tonel antes vazio. Da mesma forma, um item pode ser retirado de um tonel mesmo que ele fosse o único ali alocado.

8 Analogia Problema-Heurística A quantidade de tonéis utilizados equivale à energia. Em uma troca de solução atual por solução vizinha, a energia varia em no máximo uma unidade. Probabilidade de troca de solução depende da variação de energia (tonéis usados) e da temperatura (passos de execução).

9 Instâncias e Implementação As instâncias testadas estão disponíveis em: http://www.wiwi.uni-jena.de/Entscheidung/binpp Cada uma corresponde a uma quantidade de itens, uma capacidade de tonel e os tamanhos de cada item. O código foi desenvolvido em Dev-Pascal (Bloodshed). O algoritmo de annealing que desenvolvemos foi baseado no pseudo-código disponível na Wikipedia: http://en.wikipedia.org/w/index.php?title=Simulated_ann ealing&oldid=171490552

10 Soluções Iniciais “Lazy Fit”: Aloca cada item a um tonel diferente (1:1). É o processo mais simples e que permite melhor visualização do efeito do Simulated Annealing. “First Fit”: Aloca cada item ao primeiro tonel com espaço suficiente. Devido a natureza das entradas em ordem decrescente, funciona ainda melhor (FFD). Produz soluções iniciais muito melhores, permitindo pouco avanço de eficiência com o SA.

11 Funcionamento A cada iteração, uma solução vizinha é sorteada. Caso sua energia seja menor do que a atual, a solução é salva como melhor até o momento. O laço é encerrado quando a temperatura atinge zero, ou quando o limite inferior é alcançado. Limite inferior: Soma dos tamanhos de todos os itens, dividida pela capacidade de tonel (seria a solução ótima se os itens pudessem ser quebrados!).

12 Funcionamento A solução é aceita ou não baseada em uma função de probabilidade. Para energia igual à atual, probabilidade de aceitação de 50%. maior inferior 0%Para energia menor (maior), a probabilidade é um pouco superior (inferior) a 50% em temperatura alta, e tende a 100% (0%) em temperaturas baixas.

13 Análise Tabela com soluções iniciais Lazy Fit e First Fit Decreasing para cada instância: InstânciasSolução do siteSolução LFTempo LFSolução FFDTempo FFD N1C1W1_A2526376 ms250 ms N2C2W2_F4853375 ms48375 ms N2C2W1_A4246375 ms42358 ms N3C2W4_O113123406 ms114390 ms N4C3W4_R214242422 ms219438 ms N1W1B1R01819359 ms19360 ms N2W2B2R22122358 ms210 ms N2W2B2R61415360 ms140 ms N3W3B3R42930360 ms290 ms N4W4B1R65658374 ms58375 ms HARD25660375 ms60375 ms HARD75558361 ms58376 ms

14 Análise A melhor solução é combinar Simulated Annealing com um bom chute inicial. A capacidade da máquina e o tempo de resposta desejado devem ser considerados para determinar a temperatura inicial. Ainda assim, é uma heurística: nem sempre haverá melhora nos resultados.


Carregar ppt "Problema do Empacotamento (Bin Packing) Heurística Simulated Annealing Dionatan de Souza Moura Lucas Nowaczyk Seadi Tobias Brignol Petry."

Apresentações semelhantes


Anúncios Google