UFRJ - COPPE Apresentação do Artigo: A Genetic Algorithm For Job Scheduling With Load Balancing 2006 -  Sanja Petrovic, Carole Fayad   University of Notthinghan- School of Computer and IT - UK Algoritmos Genéticos
Introdução   O problema de Job Shop 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). Load Balancing 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. AG e Lógica Fuzzy Para obter os melhores balanceamentos de carga, foi proposto um algoritmo genético multi-objetivo, aliado à lógica fuzzy.
Introdução
Aplicação Parque industrial com 18 máquinas, agrupadas em 8 centros de processamento. Cada máquina executa tarefas como imprimir, cortar, dobrar, encadernar, finalizar, etc... Deve-se minimizar: I - O tempo de espera dos jobs; II - A quantidade de jobs atrasados; III - O tempo de setup de cada máquina; IV - O tempo total de máquinas ociosas; V - O tempo total de processamento dos jobs.
Algoritmo Proposto Fase 1 – Determinação do Tamanho dos Lotes Utiliza-se lógica fuzzy para efetuar a divisão do job em operações, ou lotes. Fase 2 – Alocação de máquinas (foco deste artigo) Uma máquina é alocada para cada job. AG busca melhores combinações de máquinas x jobs.  Fase 3 – Sequenciamento de cada máquina Para cada máquina é alocada uma ordem de execução de lotes. Utiliza lógica fuzzy e outro AG.
AG para Load Balancing Inicialização 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 ; Se nº lotes > nº máquinas: Os lotes são alocados independentes dos trabalhos, em máquinas idênticas;  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.
AG para Load Balancing Cromossomo Cada cromossomo representa uma combinação de lotes alocados em máquinas .
AG para Load Balancing Função de Desempenho 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).
AG para Load Balancing Operador de Mutação
AG para Load Balancing Operador de Cruzamento 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.
Parâmetros Implementado em Visual C++ População de 50 indivíduos Probabilidade de mutação de 0.4 Critério de parada de 500 iterações
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.

Genetic Algorithm For Job Shop Problem

  • 1.
    UFRJ - COPPEApresentação do Artigo: A Genetic Algorithm For Job Scheduling With Load Balancing 2006 - Sanja Petrovic, Carole Fayad University of Notthinghan- School of Computer and IT - UK Algoritmos Genéticos
  • 2.
    Introdução O problema de Job Shop 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). Load Balancing 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. AG e Lógica Fuzzy Para obter os melhores balanceamentos de carga, foi proposto um algoritmo genético multi-objetivo, aliado à lógica fuzzy.
  • 3.
  • 4.
    Aplicação Parque industrialcom 18 máquinas, agrupadas em 8 centros de processamento. Cada máquina executa tarefas como imprimir, cortar, dobrar, encadernar, finalizar, etc... Deve-se minimizar: I - O tempo de espera dos jobs; II - A quantidade de jobs atrasados; III - O tempo de setup de cada máquina; IV - O tempo total de máquinas ociosas; V - O tempo total de processamento dos jobs.
  • 5.
    Algoritmo Proposto Fase1 – Determinação do Tamanho dos Lotes Utiliza-se lógica fuzzy para efetuar a divisão do job em operações, ou lotes. Fase 2 – Alocação de máquinas (foco deste artigo) Uma máquina é alocada para cada job. AG busca melhores combinações de máquinas x jobs. Fase 3 – Sequenciamento de cada máquina Para cada máquina é alocada uma ordem de execução de lotes. Utiliza lógica fuzzy e outro AG.
  • 6.
    AG para LoadBalancing Inicialização 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 ; Se nº lotes > nº máquinas: Os lotes são alocados independentes dos trabalhos, em máquinas idênticas; 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.
  • 7.
    AG para LoadBalancing Cromossomo Cada cromossomo representa uma combinação de lotes alocados em máquinas .
  • 8.
    AG para LoadBalancing Função de Desempenho 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).
  • 9.
    AG para LoadBalancing Operador de Mutação
  • 10.
    AG para LoadBalancing Operador de Cruzamento 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.
  • 11.
    Parâmetros Implementado emVisual C++ População de 50 indivíduos Probabilidade de mutação de 0.4 Critério de parada de 500 iterações
  • 12.
    Resultados e ConclusõesNa 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.