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

Livreto das-santas-missões-populares
Livreto das-santas-missões-popularesLivreto das-santas-missões-populares
Livreto das-santas-missões-popularestorrasko
 
SANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIA
SANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIASANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIA
SANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIAPaulo David
 
O Senhor é meu Pastor e Hospedeiro -
O Senhor é meu Pastor e Hospedeiro - O Senhor é meu Pastor e Hospedeiro -
O Senhor é meu Pastor e Hospedeiro - Paulo Dias Nogueira
 
Culto de quarta feira 01.03.17
Culto de quarta feira 01.03.17Culto de quarta feira 01.03.17
Culto de quarta feira 01.03.17Anderson Costa
 
Apostasia alfa e ômega da Igreja Adventista
Apostasia alfa e ômega da Igreja AdventistaApostasia alfa e ômega da Igreja Adventista
Apostasia alfa e ômega da Igreja AdventistaASD Remanescentes
 
Cartilla de Trabajo de La alegria del Evangelio
Cartilla de Trabajo de La alegria del EvangelioCartilla de Trabajo de La alegria del Evangelio
Cartilla de Trabajo de La alegria del EvangelioPadre Enrique Camargo
 
ash wednesday.pptx
ash wednesday.pptxash wednesday.pptx
ash wednesday.pptxRamilTorres2
 
O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...
O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...
O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...weleson fernandes
 
Liturgia de las horas sintesis práctica.
Liturgia de las horas sintesis práctica.Liturgia de las horas sintesis práctica.
Liturgia de las horas sintesis práctica.Manuel Benet Keil
 
Ang banikanhong kinabuhi ug pagtoo
Ang banikanhong kinabuhi ug pagtooAng banikanhong kinabuhi ug pagtoo
Ang banikanhong kinabuhi ug pagtoorrg_19882012
 
A missa parte por parte
A missa parte por parteA missa parte por parte
A missa parte por partenyllolucas
 
Gift of the working of Miracles- Gifts of the Holy Spirit
Gift of the working of Miracles- Gifts of the Holy SpiritGift of the working of Miracles- Gifts of the Holy Spirit
Gift of the working of Miracles- Gifts of the Holy SpiritRCCG Kassel
 

Mais procurados (20)

Objetos litugicos
Objetos litugicosObjetos litugicos
Objetos litugicos
 
O ministério do leitor
O ministério do leitorO ministério do leitor
O ministério do leitor
 
Dinamica do advento dinamica
Dinamica do advento dinamicaDinamica do advento dinamica
Dinamica do advento dinamica
 
Livreto das-santas-missões-populares
Livreto das-santas-missões-popularesLivreto das-santas-missões-populares
Livreto das-santas-missões-populares
 
SANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIA
SANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIASANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIA
SANTAS MISSÕES POPULARES - ESPIRITUALIDADE MISSIONÁRIA
 
O Senhor é meu Pastor e Hospedeiro -
O Senhor é meu Pastor e Hospedeiro - O Senhor é meu Pastor e Hospedeiro -
O Senhor é meu Pastor e Hospedeiro -
 
17 encontro A Santa Ceia
17 encontro  A Santa Ceia17 encontro  A Santa Ceia
17 encontro A Santa Ceia
 
Culto de quarta feira 01.03.17
Culto de quarta feira 01.03.17Culto de quarta feira 01.03.17
Culto de quarta feira 01.03.17
 
Apostasia alfa e ômega da Igreja Adventista
Apostasia alfa e ômega da Igreja AdventistaApostasia alfa e ômega da Igreja Adventista
Apostasia alfa e ômega da Igreja Adventista
 
Cartilla de Trabajo de La alegria del Evangelio
Cartilla de Trabajo de La alegria del EvangelioCartilla de Trabajo de La alegria del Evangelio
Cartilla de Trabajo de La alegria del Evangelio
 
ash wednesday.pptx
ash wednesday.pptxash wednesday.pptx
ash wednesday.pptx
 
O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...
O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...
O Grande Conflito: a mais importante visão de Ellen G. White sobre a contrové...
 
Liturgia de las horas sintesis práctica.
Liturgia de las horas sintesis práctica.Liturgia de las horas sintesis práctica.
Liturgia de las horas sintesis práctica.
 
Ang banikanhong kinabuhi ug pagtoo
Ang banikanhong kinabuhi ug pagtooAng banikanhong kinabuhi ug pagtoo
Ang banikanhong kinabuhi ug pagtoo
 
Salmos e hinos 070
Salmos e hinos 070Salmos e hinos 070
Salmos e hinos 070
 
A missa parte por parte
A missa parte por parteA missa parte por parte
A missa parte por parte
 
Salmos e hinos 423
Salmos e hinos 423Salmos e hinos 423
Salmos e hinos 423
 
A eucaristia
A eucaristiaA eucaristia
A eucaristia
 
Gift of the working of Miracles- Gifts of the Holy Spirit
Gift of the working of Miracles- Gifts of the Holy SpiritGift of the working of Miracles- Gifts of the Holy Spirit
Gift of the working of Miracles- Gifts of the Holy Spirit
 
1º ETAPA
1º ETAPA1º ETAPA
1º ETAPA
 

Destaque

Apresentacao mochila - parte 1
Apresentacao mochila - parte 1Apresentacao mochila - parte 1
Apresentacao mochila - parte 1Bianca Dantas
 
Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Aula de Algoritmos II - Turma 222
Aula de Algoritmos II - Turma 222Bianca Dantas
 
Introdução à Teoria dos Grafos
Introdução à Teoria dos GrafosIntrodução à Teoria dos Grafos
Introdução à Teoria dos GrafosBianca Dantas
 
Aula sobre multithreading
Aula sobre multithreadingAula sobre multithreading
Aula sobre multithreadingBianca Dantas
 
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)Marcos Castro
 
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ícilGuilherme Coelho
 
Algoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoAlgoritmos Gulosos - Troco Mínimo
Algoritmos Gulosos - Troco MínimoGabriel Albuquerque
 
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...Carlos Eduardo
 
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ênciaCarlos Eduardo
 
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...Carlos Eduardo
 
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 ControleCarlos Eduardo
 
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 2Carlos Eduardo
 
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 3Carlos 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 1Carlos 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 4Carlos Eduardo
 
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 OOCarlos Eduardo
 
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 2Carlos 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

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éticosRafael Pinto
 
Algorítimos Genéticos
Algorítimos GenéticosAlgorítimos Genéticos
Algorítimos Genéticosiaudesc
 
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 GBSMarcos Castro
 
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 ProgramacaoJosé Araújo
 
Machine learning.pptx
Machine learning.pptxMachine learning.pptx
Machine learning.pptxDoug177753
 

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

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Ilda Bicacro
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxTainTorres4
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãIlda Bicacro
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfHELENO FAVACHO
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfmaurocesarpaesalmeid
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfLeloIurk1
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)ElliotFerreira
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfEmanuel Pio
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéisines09cachapa
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdfLeloIurk1
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxferreirapriscilla84
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxLuizHenriquedeAlmeid6
 

Último (20)

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!Rota das Ribeiras Camp, Projeto Nós Propomos!
Rota das Ribeiras Camp, Projeto Nós Propomos!
 
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptxJOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
JOGO FATO OU FAKE - ATIVIDADE LUDICA(1).pptx
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
Construção (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! SertãConstrução (C)erta - Nós Propomos! Sertã
Construção (C)erta - Nós Propomos! Sertã
 
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdfProjeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
Projeto de Extensão - ENGENHARIA DE SOFTWARE - BACHARELADO.pdf
 
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdfplanejamento_estrategico_-_gestao_2021-2024_16015654.pdf
planejamento_estrategico_-_gestao_2021-2024_16015654.pdf
 
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdfENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
ENSINO RELIGIOSO 7º ANO INOVE NA ESCOLA.pdf
 
Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)Análise poema país de abril (Mauel alegre)
Análise poema país de abril (Mauel alegre)
 
Historia da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdfHistoria da Arte europeia e não só. .pdf
Historia da Arte europeia e não só. .pdf
 
About Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de HotéisAbout Vila Galé- Cadeia Empresarial de Hotéis
About Vila Galé- Cadeia Empresarial de Hotéis
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Aula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIXAula sobre o Imperialismo Europeu no século XIX
Aula sobre o Imperialismo Europeu no século XIX
 
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
421243121-Apostila-Ensino-Religioso-Do-1-ao-5-ano.pdf
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Discurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptxDiscurso Direto, Indireto e Indireto Livre.pptx
Discurso Direto, Indireto e Indireto Livre.pptx
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptxSlides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
Slides Lição 04, Central Gospel, O Tribunal De Cristo, 1Tr24.pptx
 

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.