Problema da Mochila Inteira (Bounded Knapsack) 25/03/2017 Universidade Federal de Ouro Preto Instituto de Ciências Exatas e |biológicas ICEB Departamento de Computação DECOM Problema da Mochila Inteira (Bounded Knapsack) Davi Mesquita Andrade Fabiano José de Souza Maia Luciano Leonardo Sampaio Fortes
O que é o PMI Resumidamente um Problema da Mochila inteira consiste na escolha de um subconjunto de itens, cada qual com uma correspondente utilidade e um valor (em geral denominado "peso") que define o quanto esse item utilizará da capacidade da mochila
Calibração da temperatura Utilizamos uma temperatura alta, com decaimento baixo, ou seja, escolhemos um alfa elevado.
Geração de vizinhos Mudança para gerar um vizinho: Alteração em 1 unidade na quantidade de um objeto escolhido aleatoriamente
Exemplo de vizinho Vetor Quantidade de Objetos Vetor Vizinho
Função Objetivo Maximizar a quantidade de objetos dentro da mochila, de acordo com o beneficio de cada um.
Penalidade e Inviabilidade &&&&&&&&&&&&&&&&&&&&&Adotamos a penalidade como sendo um parâmetro do sistema, pois não era permitido que a quantidade de objetos fosse excedida. Inviabilidade é o máximo entre zero e a diferença entre o peso dos objetos e a capacidade da mochila.
Algorítimo Básico s s0; T T0 while temperatura elevada do for iterações para equilíbrio do Gerar uma solução s’ de N(s) Avaliar a variação de energia E = f(s’) - f(s) if E < 0 then s s’ else Gerar u Unif[0,1] if u < exp(-E/KB.T) then s s’ end-if end-for Reduzir a temperatura T end-while
Melhoras Permitir alteração na quantidade dos objetos de várias maneiras. Ex: Mudar em duas unidades. Trocar a quantidade de um elemento com um outro. Usar técnicas de aceitar melhora para um menor custo computacional. Ex:
Análise de resultados Com a função exponencial: Tempo aproximadamente 24 s Com 1+delta /temperatura Tempo aproximado 18 s Melhora de 25 %