Genetic Algorithm For Job Shop Problem

928 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
928
On SlideShare
0
From Embeds
0
Number of Embeds
7
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Genetic Algorithm For Job Shop Problem

  1. 1. UFRJ - COPPE <ul><li>Apresentação do Artigo: </li></ul><ul><li>A Genetic Algorithm For Job Scheduling With Load Balancing 2006 - Sanja Petrovic, Carole Fayad University of Notthinghan- School of Computer and IT - UK </li></ul>Algoritmos Genéticos
  2. 2. Introdução <ul><li>O problema de Job Shop </li></ul><ul><ul><li>Consiste em um conjunto de jobs, onde cada job contém um encadeamento de operações, as quais devem ser processadas em um conjunto de máquinas (Pinedo 2002). </li></ul></ul><ul><li>Load Balancing </li></ul><ul><ul><li>Distribuir jobs entre máquinas de maneira uniforme, maximizando a utilização de máquinas e minimizando o tempo total de execução dos jobs. </li></ul></ul><ul><li>AG e Lógica Fuzzy </li></ul><ul><ul><li>Para obter os melhores balanceamentos de carga, foi proposto um algoritmo genético multi-objetivo, aliado à lógica fuzzy. </li></ul></ul>
  3. 3. Introdução
  4. 4. Aplicação <ul><li>Parque industrial com 18 máquinas, agrupadas em 8 centros de processamento. </li></ul><ul><li>Cada máquina executa tarefas como imprimir, cortar, dobrar, encadernar, finalizar, etc... </li></ul><ul><li>Deve-se minimizar: </li></ul><ul><ul><li>I - O tempo de espera dos jobs; </li></ul></ul><ul><ul><li>II - A quantidade de jobs atrasados; </li></ul></ul><ul><ul><li>III - O tempo de setup de cada máquina; </li></ul></ul><ul><ul><li>IV - O tempo total de máquinas ociosas; </li></ul></ul><ul><ul><li>V - O tempo total de processamento dos jobs. </li></ul></ul>
  5. 5. Algoritmo Proposto <ul><li>Fase 1 – Determinação do Tamanho dos Lotes </li></ul><ul><ul><li>Utiliza-se lógica fuzzy para efetuar a divisão do job em operações, ou lotes. </li></ul></ul><ul><li>Fase 2 – Alocação de máquinas (foco deste artigo) </li></ul><ul><ul><li>Uma máquina é alocada para cada job. AG busca melhores combinações de máquinas x jobs. </li></ul></ul><ul><li>Fase 3 – Sequenciamento de cada máquina </li></ul><ul><ul><li>Para cada máquina é alocada uma ordem de execução de lotes. Utiliza lógica fuzzy e outro AG. </li></ul></ul>
  6. 6. AG para Load Balancing <ul><li>Inicialização </li></ul><ul><ul><li>Se nº lotes <= nº máquinas: Os lotes de um job são alocados randomicamente, de maneira que máquinas idênticas não processem mais do que um lote do mesmo job ; </li></ul></ul><ul><ul><li>Se nº lotes > nº máquinas: Os lotes são alocados independentes dos trabalhos, em máquinas idênticas; </li></ul></ul><ul><ul><li>Quando todas as máquinas são usadas na alocação, cada carga de trabalho para os lotes remanescentes é recalculada, e a menor carga de trabalho é realocada. </li></ul></ul>
  7. 7. AG para Load Balancing <ul><li>Cromossomo </li></ul><ul><ul><li>Cada cromossomo representa uma combinação de lotes alocados em máquinas . </li></ul></ul>
  8. 8. AG para Load Balancing <ul><li>Função de Desempenho </li></ul><ul><ul><li>Retorna a qualidade de alocação das máquinas proporcionada pelo cromossomo, medindo o nível de dispersão da carga das máquinas pela média da carga (variância). </li></ul></ul>
  9. 9. AG para Load Balancing <ul><li>Operador de Mutação </li></ul>
  10. 10. AG para Load Balancing <ul><li>Operador de Cruzamento </li></ul><ul><ul><li>Não é utilizado, por não preservar em seus descendentes todas as máquinas existentes nos pais, sendo necessário um reparo complexo para que nenhuma máquina deixe de ser computada. </li></ul></ul>
  11. 11. Parâmetros <ul><li>Implementado em Visual C++ </li></ul><ul><li>População de 50 indivíduos </li></ul><ul><li>Probabilidade de mutação de 0.4 </li></ul><ul><li>Critério de parada de 500 iterações </li></ul>
  12. 12. Resultados e Conclusões Na média, o método GALBR conseguiu o melhor índice de satisfação, demonstrando um bom ganho de escala em relação ao método SP e RD.

×