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

Estudar uma meta-heurística: Algoritmos
Genéticos;
Estudar o Problema do Empacotamento
(Bin Packing);
Imp...
Problema do Empacotamento
Acomodamento de uma lista de itens;
 Cada item tem um tamanho;
 As caixas têm uma capacidade f...
Algoritmos Genéticos
Baseado na Teoria da Evolução Natural
das Espécies;
 Indivíduos mais aptos têm mais chance
de sobrev...
Algoritmos Genéticos
Algoritmos Genéticos


Determinar:
 Representação

dos indivíduos (soluções);
 Função que gera a população inicial;
 F...
Implementação
Java J2EE;
 NetBeans 5.5.1;
 Programa que lê instância do problema;




Gera soluções através de Algorit...
Implementação


Representação de uma
solução:
 Classe

Solucao;
 Contém um array de inteiros;
 Cada alelo representa u...
Implementação


Geração da população inicial:
 Classe

Populacao que contém um array de
Solucao;
 Soluções geradas alea...
Implementação


Função de aptidão:
 Quantidade

de caixas que a solução ocupa;
 Quanto menos caixas, melhor a solução.
Implementação


Recombinação de indivíduos:
 Método

casa da classe Solucao;
 Crossover das representações com ponto de...
Implementação


Seleção de Indivíduos:
O

indivíduo mais apto permanece para a
próxima geração;
 Método evolui da class...
Implementação


Mutação:
 Troca

aleatória da posições de dois itens;
 Realizada após a recombinação de duas
soluções;
...
Implementação


Condição de parada:
 Quantidade

de gerações dada como entrada
do programa.
Implementação


Entradas do programa:
 Arquivo

com a instância de um problema;
 Número de gerações;


Default: 50;

...
Implementação
Resultados


Instância N1C1W1_A (50 itens; caixa: 100; solução ótima: 25)
Com FFD: 25;
 Sem FFD: 27;




Instância N2C...
Resultados


Instância N4C3W4_R (500 itens; caixa: 150; solução ótima: 214)
Com FFD: 219;
 Sem FFD: 243;




Instância...
Resultados


Instância N3W3B3R4 (200 itens; caixa: 1000; solução ótima: 29)
Com FFD: 29;
 Sem FFD: 30;




Instância N...
Conclusões













Não é aconselhado o uso de populações muito grandes
em casos com muitos itens;
O nº de gera...
PERGUNTAS?
Claudinei Costantin
Niarchos Pabalis Pombo
Samir Guilherme Zieger Merode
Próximos SlideShares
Carregando em…5
×

Problema do Empacotamento com Algoritmos Genéticos

614 visualizações

Publicada em

Apresentação de uma solução para o Problema do Empacotamento usando Algoritmos Genéticos.

Publicada em: Educação
  • Seja o primeiro a comentar

  • Seja a primeira pessoa a gostar disto

Problema do Empacotamento com Algoritmos Genéticos

  1. 1. PROBLEMA DO EMPACOTAMENTO ALGORITMOS GENÉTICOS Claudinei Costantin Niarchos Pabalis Pombo Samir Guilherme Zieger Merode
  2. 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. 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. 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. 5. Algoritmos Genéticos
  6. 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. 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. 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. 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. 10. Implementação  Função de aptidão:  Quantidade de caixas que a solução ocupa;  Quanto menos caixas, melhor a solução.
  11. 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. 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. 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. 14. Implementação  Condição de parada:  Quantidade de gerações dada como entrada do programa.
  15. 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  Default: 5%;  Opção   de mutação; de uso de FFD; Default: Sim. Para os testes, foram utilizadas as entradas default;
  16. 16. Implementação
  17. 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. 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. 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: 100000; solução ótima: 56) Com FFD: 58;  Sem FFD: 61;   Instância HARD7 (200 itens; caixa: 100000; solução ótima: 55) Com FFD: 57;  Sem FFD: 59. 
  20. 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. 21. PERGUNTAS? Claudinei Costantin Niarchos Pabalis Pombo Samir Guilherme Zieger Merode

×