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

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

PROBLEMA DO EMPACOTAMENTO

Apresentações semelhantes


Apresentação em tema: "PROBLEMA DO EMPACOTAMENTO"— Transcrição da apresentação:

1 PROBLEMA DO EMPACOTAMENTO
ALGORITMOS GENÉTICOS Claudinei Costantin Niarchos Pabalis Pombo Samir Guilherme Zieger Merode

2 Objetivos Estudar uma meta-heurística: Algoritmos Genéticos;
Estudar o Problema do Empacotamento (Bin Packing); Implementar um programa capaz de gerar boas soluções para o Problema do Empacotamento utilizando Algoritmos Genéticos.

3 Problema do Empacotamento
Acomodamento de uma lista de itens; Cada item tem um tamanho; As caixas têm uma capacidade fixa; Distribuir os itens nas caixas; Minimizar a quantidade de caixas.

4 Algoritmos Genéticos Baseado na Teoria da Evolução Natural das Espécies; Indivíduos mais aptos têm mais chance de sobreviverem; Indivíduos são soluções potenciais; População é o conjunto de soluções.

5 Algoritmos Genéticos

6 Algoritmos Genéticos Determinar:
Representação dos indivíduos (soluções); Função que gera a população inicial; Função de aptidão (fitness); Recombinação; Seleção; Mutação; Condição de Parada.

7 Implementação Java J2EE; NetBeans 5.5.1;
Programa que lê instância do problema; Gera soluções através de Algoritmos Genéticos;

8 Implementação Representação de uma solução: Classe Solucao;
Contém um array de inteiros; Cada alelo representa um item; Ordem dos alelos = ordem dos itens; Exemplo: [10, 7, 6, 6, 5, 2]

9 Implementação Geração da população inicial:
Classe Populacao que contém um array de Solucao; Soluções geradas aleatoriamente; O array é mantido ordenado pela qualidade das soluções; Tamanho da população é constante e é dado como entrada do programa; Opção: First Fit Decreasing para uma gerar uma solução.

10 Implementação Função de aptidão:
Quantidade de caixas que a solução ocupa; Quanto menos caixas, melhor a solução.

11 Implementação Recombinação de indivíduos:
Método casa da classe Solucao; Crossover das representações com ponto de quebra aleatório; Retorna um novo descendente.

12 Implementação Seleção de Indivíduos:
O indivíduo mais apto permanece para a próxima geração; Método evolui da classe Populacao; 84% de chance de seleção das 20% melhores soluções; 16% de chance de seleção das 80% piores soluções.

13 Implementação Mutação: Troca aleatória da posições de dois itens;
Realizada após a recombinação de duas soluções; Freqüência de ocorrência dada como entrada do programa.

14 Implementação Condição de parada:
Quantidade de gerações dada como entrada do programa.

15 Implementação Entradas do programa:
Arquivo com a instância de um problema; Número de gerações; Default: 50; Tamanho da população; Default: 1000; Probabilidade de mutação; Default: 5%; Opção de uso de FFD; Default: Sim. Para os testes, foram utilizadas as entradas default;

16 Implementação

17 Resultados Instância N1C1W1_A (50 itens; caixa: 100; solução ótima: 25) Com FFD: 25; Sem FFD: 27; Instância N2C2W2_F (100 itens; caixa: 120; solução ótima: 48) Com FFD: 48; Sem FFD: 51; Instância N2C2W1_A (100 itens; caixa: 120; solução ótima: 42) Com FFD: 42; Sem FFD: 44; Instância N3C2W4_O: (200 itens; caixa: 120; solução ótima: 113) Com FFD: 113; Sem FFD: 124.

18 Resultados Instância N4C3W4_R (500 itens; caixa: 150; solução ótima: 214) Com FFD: 219; Sem FFD: 243; Instância N1W1B1R0 (50 itens; caixa: 1000; solução ótima: 18) Com FFD: 19; Sem FFD: 19; Instância N2W2B2R2 (100 itens; caixa: 1000; solução ótima: 21) Com FFD: 21; Sem FFD: 22; Instância N2W3B2R6 (100 itens; caixa: 1000; solução ótima: 14) Com FFD: 14; Sem FFD: 15.

19 Resultados Instância N3W3B3R4 (200 itens; caixa: 1000; solução ótima: 29) Com FFD: 29; Sem FFD: 30; Instância N4W4B1R6 (500 itens; caixa: 1000; solução ótima: 56) Com FFD: 58; Sem FFD: 58; Instância HARD2 (200 itens; caixa: ; solução ótima: 56) Sem FFD: 61; Instância HARD7 (200 itens; caixa: ; solução ótima: 55) Com FFD: 57; Sem FFD: 59.

20 Conclusões Não é aconselhado o uso de populações muito grandes em casos com muitos itens; O nº de gerações utilizadas aumenta linearmente o tempo de resposta; O uso FFD ajuda a encontrar uma solução boa em um nº menor de gerações; A função de seleção parece estar causando uma convergência prematura; A quantidade de testes possíveis é muito grande; Vantagem: obter uma solução numa quantidade de tempo pré-estabelecida; Desvantagem: a solução encontrada é ótima?

21 PERGUNTAS? Claudinei Costantin Niarchos Pabalis Pombo
Samir Guilherme Zieger Merode


Carregar ppt "PROBLEMA DO EMPACOTAMENTO"

Apresentações semelhantes


Anúncios Google