SlideShare uma empresa Scribd logo
1 de 30
Baixar para ler offline
Algoritmos Genéticos Aplicados ao
Problema da Mochila Multidimensional
 Bianca de Almeida Dantas
 Marcio Osshiro
Sumário
•   Algoritmos Genéticos
•   Relembrando a Mochila 0-1
•   Aplicações de AGs
•   Mochila Multidimensional
•   Representação da Mochila
•   AG aplicado à Mochila Multidimensional
•   Implementação Sequencial
•   AGs Paralelos
•   Implementação Paralela com MPI
•   Referências
Algoritmos Genéticos
• Algoritmos que buscam soluções para problemas
  de otimização e de busca com base na genética e
      na seleção natural da Teoria da Evolução de
  Darwin.
• Ideia desenvolvida por John Holland no início
  da década de 1970.
• Os indivíduos mais fortes, ou seja, mais
  adaptados ao ambiente, tem mais chance de
  sobreviver e gerar descendentes.
• Quando aplicamos AGs à solução de problemas,
  representamos as possíveis soluções como
  indivíduos em uma população.
• Basicamente, existem três tipos de
  representação dos indivíduos:
 ▫ Binária: genes são codificados por 0 ou 1.
 ▫ Gray: permite a criação de adjacências entre
   cromossomos binários, na qual um cromossomo
   se diferencia de seus adjacentes pela modificação
   de um bit.
 ▫ Real: os genes são números reais.
• A escolha da representação a ser utilizada
  influencia no desempenho e depende de análise
  detalhada.
Figura: Esquema de funcionamento de um Algoritmo Genético
AG – População Inicial
• Uma população composta de n indivíduos
  (cromossomos) gerada aleatoriamente para
  iniciar o processo de busca por soluções para o
  problema em questão.
• Pode-se especificar restrições na geração da
  população inicial, por exemplo, permitir
  somente soluções válidas.
• O tamanho da população inicial precisa ser
  definido.
AG - Avaliação
• A cada geração (representada por uma
  população), os indivíduos são avaliados de
  acordo com sua adaptação ao ambiente. Isso é
  feito através de uma função de avaliação
  denominada fitness.
• Permite comparar indivíduos para aplicar os
  mecanismos de seleção para criação das novas
  gerações.
AG - Seleção
• Processo para escolha de quais indivíduos da
  população atual serão utilizados para dar origem
  aos indivíduos da nova geração.
• Em geral, indivíduos com maior fitness tem
  maior chance de serem selecionados.
• Diferentes métodos:
 ▫ Roleta: probabilidade de escolha de um indivíduo
   proporcional ao fitness.
 ▫ Torneio: seleção de pequenas subpopulações e
   posterior seleção do melhor de cada subgrupo.
 ▫ Elitismo: os melhores cromossomos são copiados
   para a nova população, os demais são gerados por
   reprodução.
AG - Reprodução
• Realizada através da aplicação de operadores
  genéticos que determinarão a composição dos
  novos indivíduos.
• Geralmente são utilizados dois:
 ▫ Crossover: gera descendentes baseado nos genes
   de dois pais.
 ▫ Mutação: permite a diversificação do espaço de
   soluções, evitando a conversão em torno de
   poucas soluções boas, que representam um ótimo
   local.
• Tipos de crossover:
 ▫ Crossover de um ponto: uma posição P é escolhida
   aleatoriamente dentro do cromossomo e dois
   descendentes são gerados: um com os primeiros
   bits (até P) do primeiro pai e com os últimos do
   segundo pai, outro com os primeiros bits do
   segundo pai e os últimos do primeiro pai.
Figura: Exemplo de crossover de um ponto.
▫ Crossover de dois pontos: similar ao crossover de
  um ponto, mas são escolhidas duas posições ao
  invés de uma.
▫ Burst crossover: o teste para o crossover é feito
  para todas as posições, podendo resultar em
  muitos pontos de crossover, dependendo na
  probabilidade selecionada.
• Tipos de mutação:
 ▫ Mutação por indivíduo: cada indivíduo pode
   sofrer no máximo uma mutação em um gene
   aleatório.
 ▫ Mutação por bit: cada gene do cromossomo pode
   sofrer mutação.
 ▫ Mutação por troca: os valores de dois genes
   escolhidos aleatoriamente são trocados.
 ▫ Mutação invertida: similar à mutação por bit, mas
   os genes selecionados recebem o oposto do valor
   que possuíam anteriormente.
• Após as operações de crossover e de mutação, é
  necessário definir quais serão os indivíduos que
  devem compor a população da próxima geração.
• Todo esse processo de Avaliação – Seleção –
  Reprodução é repetido até que se satisfaça
  alguma condição ou por um número de gerações
  predefinido.
Aplicações de AGs
• Os problemas de otimização de grande porte tem
  demandado a busca por soluções eficientes
  computacionalmente. Os AGs se adaptam a
  muitos desses problemas.
• Exemplos: roteamento, agendamento, jogos,
  problema do caixeiro viajante, otimização de
  consultas.
• Iremos nos concentrar no problema da mochila
  multidimensional.
Relembrando a Mochila 0-1
• Dados:
 ▫ uma mochila de compartimento único e com uma
   capacidade máxima.
 ▫ conjunto de itens, cada qual com um peso e um
   valor associados.
• Quais itens podem ser carregados na mochila
  sem exceder sua capacidade e maximizando o
  valor a ser carregado?
• Formalmente:
 ▫ Dados um conjunto N de n objetos com valores
   positivos pj, pesos wj e uma mochila de capacidade
   inteira e positiva c, determine um vetor (x1, x2, ..., xn
   que encontre:
                             𝑛

                      𝑚𝑎𝑥         𝑝 𝑗 𝑥𝑗
                            𝑗=1
                                     𝑛
 Respeitando as condições            𝑗=1   𝑤𝑗 𝑥 𝑗 ≤ 𝑐
 e 𝑥 𝑗 ∈ 0, 1 , 𝑗 = 1, … , 𝑛
Mochila Multidimensional
• Também chamado de mochila compartimentada.
• Bastante semelhante ao problema da mochila 0-1
  clássico.
• Leva em consideração que a mochila possui mais
  de um compartimento (cada um com sua
  capacidade), o que acrescenta um novo conjunto
  de restrições.
• Formalmente:
 ▫ Dados um conjunto de n objetos com valores positivos
   pj, pesos wj e uma mochila com m compartimentos de
   capacidade inteira e positiva ci, determine um vetor (x1,
   x2, ..., xn) que encontre:
                               𝑛

                  𝑧 = 𝑚𝑎𝑥          𝑝 𝑗 𝑥𝑗
                             𝑗=1
                                   𝑛
 Respeitando as condições          𝑗=1      𝑤 𝑗 𝑥 𝑗 ≤ 𝑐 𝑖 , 𝑖 = 1, … , 𝑚
 e 𝑥 𝑗 ∈ 0, 1 , 𝑗 = 1, … , 𝑛
Representação da Mochila
• Vetor de valores dos itens com n posições;
• Vetor de capacidades dos compartimentos com
  m posições;
• Matriz m x n que representa o quanto cada item
  ocupa do compartimento.
• Vetor solução que especifica qual item deve ser
  levado ou não, composto de 0’s e 1’s.
AG aplicado à Mochila Multidimensional
• Utilizamos a representação binária de
  cromossomos.
• Uma população inicial é gerada aleatoriamente.
  Escolhemos que somente existirão indivíduos
  válidos.
• A função de fitness é o cálculo do valor de z para
  cada indivíduo.
• Crossover de um ponto.
• Mutação invertida.
• Tamanho da população e número de gerações
  como entrada.
Implementação Sequencial
• Código em C++
AGs Paralelos
• AGs são bem estruturados por natureza e sua
  paralelização não é difícil.
• Permite divisão de tarefas entre os
  processadores de sistemas paralelos e
  distribuídos.
• Diferentes modelos de paralelização:
 ▫   Global (Mestre-Escravo)
 ▫   Granularidade Grossa
 ▫   Granularidade Fina
 ▫   Híbridos Hierárquicos
Modelo Mestre-Escravo
• Um nó será o “mestre” os demais serão os
  “escravos”.
• O mestre conterá a população e realizará maior
  parte das operações do AG.
• O mestre pode atribuir algumas tarefas
  computacionalmente intensivas para seus
  discípulos e, então, espera pelas respostas.
Modelo de Granularidade Grossa
• A população é dividida entre os nós de
  processamento. Cada nó executa o AG em sua
  subpopulação.
• Para assegurar que boas soluções sejam
  “espalhadas”, um nó pode ocasionalmente
  enviar um cromossomo escolhido para os
  demais.
• O cromossomo recebido pelos demais nós
  substituirá algum outro cromossomo (em geral,
  o indivíduo menos adaptado).
Modelo de Granularidade Fina
• Cada nó de processamento possui um único
  indivíduo.
• Os nós de computação estão, em geral,
  organizados em uma estrutura espacial que
  define com quais outros nós a comunicação pode
  ser feita.
• Para realizar as operação genéticas, um nó deve
  interagir com seus vizinhos.
• Grande sobrecarga de comunicação.
Modelo Híbrido Hierárquico
• Estruturado em dois níveis.
• Por exemplo: no nível mais alto trabalha com
  granularidade grossa e no nível mais baixo com
  granularidade fina.
• Combina os benefícios de seus componentes e
  tem maior potencial que uma única
  implementação.
Implementação Paralela com MPI
• Utiliza o modelo de granularidade grossa.
• A operação de migração é realizada em
  intervalos de X gerações, onde o X é fornecido
  como entrada do programa.
• No processo de migração implementado, todos
  os nós escolhem o melhor indivíduo de sua
  população local e envia para os demais.
• Os nós substituem seus indivíduos menos aptos
  pelos indivíduos recebidos.
• Código C++ com MPI....
Referências
• Chu, P.C.; Beasley, J.E. A Genetic Algorithm for the
  Multidimensional Knapsack Problem. Journal of
  Heuristics. 1998.
• Hoff, A.; Løkketangen, A.; Mittet, I. Genetic
  Algorithms for 0/1 Multidimensional Knapsack
  Problems.     Proceedings      Norsk      Informatikk
  Konferanse. 1996.
• Puchinger, J.; Raidl, G.R.; Pferschy, U. The Core
  Concept for the Multidimensional Knapsack
  Problem. Proceedings of the 6th European
  Conference. 2006.
• Yussof, S.; Razali, R.A. Na Investigation on the
  Effect of Migration Strategy on Parallel GA-Based
  Shortest Path Routing Algorithm. Communications
  and Network. 2012.

Mais conteúdo relacionado

Mais procurados

Movimento uniforme
Movimento uniformeMovimento uniforme
Movimento uniforme
Betine Rost
 
9.genetica.ppt.hereditariedade
9.genetica.ppt.hereditariedade9.genetica.ppt.hereditariedade
9.genetica.ppt.hereditariedade
juniortaro
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
Toni Esteves
 
3 GenóTipo E FenóTipo
3 GenóTipo E FenóTipo3 GenóTipo E FenóTipo
3 GenóTipo E FenóTipo
maria tique
 
Etoloģija- dzīvnieku uzvedība
Etoloģija- dzīvnieku uzvedībaEtoloģija- dzīvnieku uzvedība
Etoloģija- dzīvnieku uzvedība
Andris Ziemelis
 

Mais procurados (20)

Biologia questoes-fungos
Biologia questoes-fungosBiologia questoes-fungos
Biologia questoes-fungos
 
Movimento uniforme
Movimento uniformeMovimento uniforme
Movimento uniforme
 
9.genetica.ppt.hereditariedade
9.genetica.ppt.hereditariedade9.genetica.ppt.hereditariedade
9.genetica.ppt.hereditariedade
 
Características gerais da célula e suas estruturas.ppt
Características gerais da célula e suas estruturas.pptCaracterísticas gerais da célula e suas estruturas.ppt
Características gerais da célula e suas estruturas.ppt
 
Trabalho de uma força
Trabalho de uma forçaTrabalho de uma força
Trabalho de uma força
 
Cromossomas e genes
Cromossomas e genesCromossomas e genes
Cromossomas e genes
 
Logica fuzzy Conceitos e Aplicações
Logica fuzzy   Conceitos e AplicaçõesLogica fuzzy   Conceitos e Aplicações
Logica fuzzy Conceitos e Aplicações
 
Seminário Projeto Genoma Humano - 2014
Seminário Projeto Genoma Humano - 2014Seminário Projeto Genoma Humano - 2014
Seminário Projeto Genoma Humano - 2014
 
Exercícios - aula 01 (1º ano Poliedro)
Exercícios -  aula 01 (1º ano Poliedro)Exercícios -  aula 01 (1º ano Poliedro)
Exercícios - aula 01 (1º ano Poliedro)
 
Daltonismo
DaltonismoDaltonismo
Daltonismo
 
3 GenóTipo E FenóTipo
3 GenóTipo E FenóTipo3 GenóTipo E FenóTipo
3 GenóTipo E FenóTipo
 
Apostila 1º bimestre completa
Apostila 1º bimestre completaApostila 1º bimestre completa
Apostila 1º bimestre completa
 
De algoritmos à programas de computador
De algoritmos à programas de computadorDe algoritmos à programas de computador
De algoritmos à programas de computador
 
Daltonismo
DaltonismoDaltonismo
Daltonismo
 
Tipos dados estatistica
Tipos dados estatisticaTipos dados estatistica
Tipos dados estatistica
 
Afa 2010
Afa 2010Afa 2010
Afa 2010
 
2 - Estrutura E Função do Cromossomo Eucarioto
2 - Estrutura E Função do Cromossomo Eucarioto2 - Estrutura E Função do Cromossomo Eucarioto
2 - Estrutura E Função do Cromossomo Eucarioto
 
Agentes Mutagênico
Agentes MutagênicoAgentes Mutagênico
Agentes Mutagênico
 
Desafiosmatemticos1 131013162018-phpapp01
Desafiosmatemticos1 131013162018-phpapp01Desafiosmatemticos1 131013162018-phpapp01
Desafiosmatemticos1 131013162018-phpapp01
 
Etoloģija- dzīvnieku uzvedība
Etoloģija- dzīvnieku uzvedībaEtoloģija- dzīvnieku uzvedība
Etoloģija- dzīvnieku uzvedība
 

Destaque

Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
Bianca Dantas
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos Grafos
Bianca Dantas
 
Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3
Carlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1
Carlos Eduardo
 
Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4
Carlos Eduardo
 

Destaque (20)

Apresentacao mochila - parte 1
Apresentacao mochila - parte 1Apresentacao mochila - parte 1
Apresentacao mochila - parte 1
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos Grafos
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreading
 
Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)Problema da Mochila 0-1 (Knapsack problem)
Problema da Mochila 0-1 (Knapsack problem)
 
Classes de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícilClasses de problemas p, np,np completo e np-difícil
Classes de problemas p, np,np completo e np-difícil
 
Algoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoAlgoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco Mínimo
 
Algoritmo Guloso
Algoritmo GulosoAlgoritmo Guloso
Algoritmo Guloso
 
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
Programação Orientada a Objetos - Pós Graduação - Aula 5 - refactoring com ho...
 
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistênciaMini Curso - Programação de Interfaces Gráficas - aula extra persistência
Mini Curso - Programação de Interfaces Gráficas - aula extra persistência
 
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
Programação Orientada a Objetos - Pós Graduação - Aula 8 - Bad Smells & Desig...
 
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de ControleProgramação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
Programação Orientada a Objetos - Pós Graduação - Aula 7 - Inversão de Controle
 
Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2Programação Orientada a Objetos - Pós Graduação - Aula 2
Programação Orientada a Objetos - Pós Graduação - Aula 2
 
Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3Mini Curso - Programação de Interfaces Gráficas - aula 3
Mini Curso - Programação de Interfaces Gráficas - aula 3
 
Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1Mini Curso - Programação de Interfaces Gráficas - aula 1
Mini Curso - Programação de Interfaces Gráficas - aula 1
 
Java Lista Exercicios 04
Java Lista Exercicios 04Java Lista Exercicios 04
Java Lista Exercicios 04
 
Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4Mini Curso - Programação de Interfaces Gráficas - aula 4
Mini Curso - Programação de Interfaces Gráficas - aula 4
 
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OOProgramação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
Programação Orientada a Objetos - Pós Graduação - Aula 6 - Princípios OO
 
php 01 introducao
php 01 introducaophp 01 introducao
php 01 introducao
 
Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2Mini Curso - Programação de Interfaces Gráficas - aula 2
Mini Curso - Programação de Interfaces Gráficas - aula 2
 

Semelhante a Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional

Semelhante a Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional (9)

Inteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos GenéticosInteligência Artificial - Aula15 - Algoritmos Genéticos
Inteligência Artificial - Aula15 - Algoritmos Genéticos
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticos
 
Algoritmos Genéticos
Algoritmos GenéticosAlgoritmos Genéticos
Algoritmos Genéticos
 
Grafos De Bruijn para identificação de variações genéticas usando GBS
Grafos De Bruijn para identificação de variações genéticas usando GBSGrafos De Bruijn para identificação de variações genéticas usando GBS
Grafos De Bruijn para identificação de variações genéticas usando GBS
 
Curso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de ProgramacaoCurso de Delphi - Lógica de Programacao
Curso de Delphi - Lógica de Programacao
 
cursoCalculoI-livro.pdf
cursoCalculoI-livro.pdfcursoCalculoI-livro.pdf
cursoCalculoI-livro.pdf
 
cursoCalculoI-livro.pdf
cursoCalculoI-livro.pdfcursoCalculoI-livro.pdf
cursoCalculoI-livro.pdf
 
Estrategia evolutiva
Estrategia evolutivaEstrategia evolutiva
Estrategia evolutiva
 
Machine learning.pptx
Machine learning.pptxMachine learning.pptx
Machine learning.pptx
 

Último

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
TailsonSantos1
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
tatianehilda
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
NarlaAquino
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
andrenespoli3
 

Último (20)

Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptxTeoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
Teoria heterotrófica e autotrófica dos primeiros seres vivos..pptx
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
Produção de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptxProdução de Texto - 5º ano - CRÔNICA.pptx
Produção de Texto - 5º ano - CRÔNICA.pptx
 
6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx6ano variação linguística ensino fundamental.pptx
6ano variação linguística ensino fundamental.pptx
 
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdfPROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
PROJETO DE EXTENSÃO I - TERAPIAS INTEGRATIVAS E COMPLEMENTARES.pdf
 
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdfTCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
TCC_MusicaComoLinguagemNaAlfabetização-ARAUJOfranklin-UFBA.pdf
 
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptxSlides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
Slides Lição 6, CPAD, As Nossas Armas Espirituais, 2Tr24.pptx
 
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdfProjeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
Projeto de Extensão - DESENVOLVIMENTO BACK-END.pdf
 
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...E a chuva ...  (Livro pedagógico para ser usado na educação infantil e trabal...
E a chuva ... (Livro pedagógico para ser usado na educação infantil e trabal...
 
8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito8 Aula de predicado verbal e nominal - Predicativo do sujeito
8 Aula de predicado verbal e nominal - Predicativo do sujeito
 
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffffSSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
SSE_BQ_Matematica_4A_SR.pdfffffffffffffffffffffffffffffffffff
 
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdfRecomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
Recomposiçao em matematica 1 ano 2024 - ESTUDANTE 1ª série.pdf
 
migração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenosmigração e trabalho 2º ano.pptx fenomenos
migração e trabalho 2º ano.pptx fenomenos
 
Araribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medioAraribá slides 9ano.pdf para os alunos do medio
Araribá slides 9ano.pdf para os alunos do medio
 
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptxPlano de aula Nova Escola períodos simples e composto parte 1.pptx
Plano de aula Nova Escola períodos simples e composto parte 1.pptx
 
Cartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptxCartão de crédito e fatura do cartão.pptx
Cartão de crédito e fatura do cartão.pptx
 
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdfPROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
PROJETO DE EXTENSÃO I - SERVIÇOS JURÍDICOS, CARTORÁRIOS E NOTARIAIS.pdf
 
Aula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptxAula 03 - Filogenia14+4134684516498481.pptx
Aula 03 - Filogenia14+4134684516498481.pptx
 
Camadas da terra -Litosfera conteúdo 6º ano
Camadas da terra -Litosfera  conteúdo 6º anoCamadas da terra -Litosfera  conteúdo 6º ano
Camadas da terra -Litosfera conteúdo 6º ano
 
Aula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.pptAula de jornada de trabalho - reforma.ppt
Aula de jornada de trabalho - reforma.ppt
 

Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional

  • 1. Algoritmos Genéticos Aplicados ao Problema da Mochila Multidimensional Bianca de Almeida Dantas Marcio Osshiro
  • 2. Sumário • Algoritmos Genéticos • Relembrando a Mochila 0-1 • Aplicações de AGs • Mochila Multidimensional • Representação da Mochila • AG aplicado à Mochila Multidimensional • Implementação Sequencial • AGs Paralelos • Implementação Paralela com MPI • Referências
  • 3. Algoritmos Genéticos • Algoritmos que buscam soluções para problemas de otimização e de busca com base na genética e na seleção natural da Teoria da Evolução de Darwin. • Ideia desenvolvida por John Holland no início da década de 1970. • Os indivíduos mais fortes, ou seja, mais adaptados ao ambiente, tem mais chance de sobreviver e gerar descendentes.
  • 4. • Quando aplicamos AGs à solução de problemas, representamos as possíveis soluções como indivíduos em uma população. • Basicamente, existem três tipos de representação dos indivíduos: ▫ Binária: genes são codificados por 0 ou 1. ▫ Gray: permite a criação de adjacências entre cromossomos binários, na qual um cromossomo se diferencia de seus adjacentes pela modificação de um bit. ▫ Real: os genes são números reais. • A escolha da representação a ser utilizada influencia no desempenho e depende de análise detalhada.
  • 5. Figura: Esquema de funcionamento de um Algoritmo Genético
  • 6. AG – População Inicial • Uma população composta de n indivíduos (cromossomos) gerada aleatoriamente para iniciar o processo de busca por soluções para o problema em questão. • Pode-se especificar restrições na geração da população inicial, por exemplo, permitir somente soluções válidas. • O tamanho da população inicial precisa ser definido.
  • 7. AG - Avaliação • A cada geração (representada por uma população), os indivíduos são avaliados de acordo com sua adaptação ao ambiente. Isso é feito através de uma função de avaliação denominada fitness. • Permite comparar indivíduos para aplicar os mecanismos de seleção para criação das novas gerações.
  • 8. AG - Seleção • Processo para escolha de quais indivíduos da população atual serão utilizados para dar origem aos indivíduos da nova geração. • Em geral, indivíduos com maior fitness tem maior chance de serem selecionados. • Diferentes métodos: ▫ Roleta: probabilidade de escolha de um indivíduo proporcional ao fitness. ▫ Torneio: seleção de pequenas subpopulações e posterior seleção do melhor de cada subgrupo. ▫ Elitismo: os melhores cromossomos são copiados para a nova população, os demais são gerados por reprodução.
  • 9. AG - Reprodução • Realizada através da aplicação de operadores genéticos que determinarão a composição dos novos indivíduos. • Geralmente são utilizados dois: ▫ Crossover: gera descendentes baseado nos genes de dois pais. ▫ Mutação: permite a diversificação do espaço de soluções, evitando a conversão em torno de poucas soluções boas, que representam um ótimo local.
  • 10. • Tipos de crossover: ▫ Crossover de um ponto: uma posição P é escolhida aleatoriamente dentro do cromossomo e dois descendentes são gerados: um com os primeiros bits (até P) do primeiro pai e com os últimos do segundo pai, outro com os primeiros bits do segundo pai e os últimos do primeiro pai.
  • 11. Figura: Exemplo de crossover de um ponto.
  • 12. ▫ Crossover de dois pontos: similar ao crossover de um ponto, mas são escolhidas duas posições ao invés de uma. ▫ Burst crossover: o teste para o crossover é feito para todas as posições, podendo resultar em muitos pontos de crossover, dependendo na probabilidade selecionada.
  • 13. • Tipos de mutação: ▫ Mutação por indivíduo: cada indivíduo pode sofrer no máximo uma mutação em um gene aleatório. ▫ Mutação por bit: cada gene do cromossomo pode sofrer mutação. ▫ Mutação por troca: os valores de dois genes escolhidos aleatoriamente são trocados. ▫ Mutação invertida: similar à mutação por bit, mas os genes selecionados recebem o oposto do valor que possuíam anteriormente.
  • 14. • Após as operações de crossover e de mutação, é necessário definir quais serão os indivíduos que devem compor a população da próxima geração. • Todo esse processo de Avaliação – Seleção – Reprodução é repetido até que se satisfaça alguma condição ou por um número de gerações predefinido.
  • 15. Aplicações de AGs • Os problemas de otimização de grande porte tem demandado a busca por soluções eficientes computacionalmente. Os AGs se adaptam a muitos desses problemas. • Exemplos: roteamento, agendamento, jogos, problema do caixeiro viajante, otimização de consultas. • Iremos nos concentrar no problema da mochila multidimensional.
  • 16. Relembrando a Mochila 0-1 • Dados: ▫ uma mochila de compartimento único e com uma capacidade máxima. ▫ conjunto de itens, cada qual com um peso e um valor associados. • Quais itens podem ser carregados na mochila sem exceder sua capacidade e maximizando o valor a ser carregado?
  • 17. • Formalmente: ▫ Dados um conjunto N de n objetos com valores positivos pj, pesos wj e uma mochila de capacidade inteira e positiva c, determine um vetor (x1, x2, ..., xn que encontre: 𝑛 𝑚𝑎𝑥 𝑝 𝑗 𝑥𝑗 𝑗=1 𝑛 Respeitando as condições 𝑗=1 𝑤𝑗 𝑥 𝑗 ≤ 𝑐 e 𝑥 𝑗 ∈ 0, 1 , 𝑗 = 1, … , 𝑛
  • 18. Mochila Multidimensional • Também chamado de mochila compartimentada. • Bastante semelhante ao problema da mochila 0-1 clássico. • Leva em consideração que a mochila possui mais de um compartimento (cada um com sua capacidade), o que acrescenta um novo conjunto de restrições.
  • 19. • Formalmente: ▫ Dados um conjunto de n objetos com valores positivos pj, pesos wj e uma mochila com m compartimentos de capacidade inteira e positiva ci, determine um vetor (x1, x2, ..., xn) que encontre: 𝑛 𝑧 = 𝑚𝑎𝑥 𝑝 𝑗 𝑥𝑗 𝑗=1 𝑛 Respeitando as condições 𝑗=1 𝑤 𝑗 𝑥 𝑗 ≤ 𝑐 𝑖 , 𝑖 = 1, … , 𝑚 e 𝑥 𝑗 ∈ 0, 1 , 𝑗 = 1, … , 𝑛
  • 20. Representação da Mochila • Vetor de valores dos itens com n posições; • Vetor de capacidades dos compartimentos com m posições; • Matriz m x n que representa o quanto cada item ocupa do compartimento. • Vetor solução que especifica qual item deve ser levado ou não, composto de 0’s e 1’s.
  • 21. AG aplicado à Mochila Multidimensional • Utilizamos a representação binária de cromossomos. • Uma população inicial é gerada aleatoriamente. Escolhemos que somente existirão indivíduos válidos. • A função de fitness é o cálculo do valor de z para cada indivíduo. • Crossover de um ponto. • Mutação invertida. • Tamanho da população e número de gerações como entrada.
  • 23. AGs Paralelos • AGs são bem estruturados por natureza e sua paralelização não é difícil. • Permite divisão de tarefas entre os processadores de sistemas paralelos e distribuídos. • Diferentes modelos de paralelização: ▫ Global (Mestre-Escravo) ▫ Granularidade Grossa ▫ Granularidade Fina ▫ Híbridos Hierárquicos
  • 24. Modelo Mestre-Escravo • Um nó será o “mestre” os demais serão os “escravos”. • O mestre conterá a população e realizará maior parte das operações do AG. • O mestre pode atribuir algumas tarefas computacionalmente intensivas para seus discípulos e, então, espera pelas respostas.
  • 25. Modelo de Granularidade Grossa • A população é dividida entre os nós de processamento. Cada nó executa o AG em sua subpopulação. • Para assegurar que boas soluções sejam “espalhadas”, um nó pode ocasionalmente enviar um cromossomo escolhido para os demais. • O cromossomo recebido pelos demais nós substituirá algum outro cromossomo (em geral, o indivíduo menos adaptado).
  • 26. Modelo de Granularidade Fina • Cada nó de processamento possui um único indivíduo. • Os nós de computação estão, em geral, organizados em uma estrutura espacial que define com quais outros nós a comunicação pode ser feita. • Para realizar as operação genéticas, um nó deve interagir com seus vizinhos. • Grande sobrecarga de comunicação.
  • 27. Modelo Híbrido Hierárquico • Estruturado em dois níveis. • Por exemplo: no nível mais alto trabalha com granularidade grossa e no nível mais baixo com granularidade fina. • Combina os benefícios de seus componentes e tem maior potencial que uma única implementação.
  • 28. Implementação Paralela com MPI • Utiliza o modelo de granularidade grossa. • A operação de migração é realizada em intervalos de X gerações, onde o X é fornecido como entrada do programa. • No processo de migração implementado, todos os nós escolhem o melhor indivíduo de sua população local e envia para os demais. • Os nós substituem seus indivíduos menos aptos pelos indivíduos recebidos.
  • 29. • Código C++ com MPI....
  • 30. Referências • Chu, P.C.; Beasley, J.E. A Genetic Algorithm for the Multidimensional Knapsack Problem. Journal of Heuristics. 1998. • Hoff, A.; Løkketangen, A.; Mittet, I. Genetic Algorithms for 0/1 Multidimensional Knapsack Problems. Proceedings Norsk Informatikk Konferanse. 1996. • Puchinger, J.; Raidl, G.R.; Pferschy, U. The Core Concept for the Multidimensional Knapsack Problem. Proceedings of the 6th European Conference. 2006. • Yussof, S.; Razali, R.A. Na Investigation on the Effect of Migration Strategy on Parallel GA-Based Shortest Path Routing Algorithm. Communications and Network. 2012.