Escolar Documentos
Profissional Documentos
Cultura Documentos
com
WC-BEM 2012
Abstrato
O Parallel Machine Scheduling (PMS) e o Flexible Job-shop Scheduling (FJS) são os problemas de otimização combinatória mais difíceis, pois requerem um espaço de
pesquisa em grande escala. Resolver este tipo de problemas de otimização combinatória com métodos clássicos é quase impossível ou leva muito tempo. Algoritmos
Genéticos (AGs) têm mostrado grandes vantagens na solução de problemas combinatórios. Os AGs têm a flexibilidade de configurar diferentes estruturas
cromossômicas no caso de problemas de programação distintos. Este artigo apresenta uma estrutura cromossômica PMS e FJS, crossover e operador de mutação da
literatura com o objetivo de orientar novos pesquisadores sobre o escalonamento com AGs.
1. Introdução
Em 1985, Davis primeiro aplicou Algoritmos Genéticos (AGs) para problemas de programação. Ao aplicar AGs a problemas de escalonamento, o principal
problema é encontrar uma representação cromossômica adequada e operadores genéticos para criar esquemas viáveis. Os problemas de escalonamento são da
classe NP-difícil, portanto os métodos determinísticos não podem garantir tempos de computação curtos ou soluções ótimas. Este artigo apresenta a programação
paralela de máquina (PMS), a formulação do problema, a representação cromossômica correspondente e os operadores genéticos na segunda seção. Na terceira
seção, programação flexível de job-shop (FJS), formulação do problema, representação cromossômica correspondente e operadores genéticos são apresentados.
Na última seção são apresentados os resultados.
1877-0428 © 2012 Publicado por Elsevier Ltd. Seleção e / ou revisão por pares sob responsabilidade do Prof. Dr. Hüseyin Arasli
Acesso aberto em Licença CC BY-NC-ND. doi: 10.1016 / j.sbspro.2012.09.138
818 Bilgesu Ak e Erdem Koc / Procedia - Ciências Sociais e Comportamentais 62 (2012) 817-823
Na programação paralela da máquina existem m máquinas que podem processar todos os trabalhos em velocidades diferentes ou iguais. A programação em máquinas
paralelas pode ser considerada um processo de duas etapas. Primeiro, quais tarefas devem ser alocadas para quais máquinas; em segundo lugar, a sequência dos trabalhos
A forma de representação cromossômica tem um efeito vital no desempenho dos AGs. Dependendo da representação cromossômica e de seus operadores
relacionados, é possível gerar soluções viáveis e evitar o uso de mecanismo de reparo. Kocamaz et al. sugeriu uma abordagem para programação paralela de
máquina com algoritmos genéticos desenvolvidos a partir do método de codificação de cromossomos Cheng e Gen. Um exemplo para 3 máquinas e 5 trabalhos é
fornecido na Tabela 1. Cada máquina tem um tempo de conclusão diferente para cada trabalho. Para o escalonamento de tarefas de 3 máquinas e 5, 3 * 5 = 15
bits existe em uma representação cromossômica na Fig. 1. Para a primeira máquina, existem 4 valores nulos, porque existem 5 valores nulos possíveis (número
máximo de tarefas) e um de eles são usados pelo trabalho 5.
Maquinas Empregos
Máquina 1 Trabalho 5
2.3. Crossover
Entre os tipos de cruzamento para codificação de permutação, o operador de cruzamento baseado em posição (PBX) é usado por Kocamaz et al. O PBX precisa de uma
string pai selecionada aleatoriamente para decidir quais genes devem ser selecionados para a prole. UMA
esquerda da direita em ordem, sem qualquer repetição. O mesmo procedimento é aplicado para a segunda prole, mas o procedimento começa com os pais dois,
enquanto dominam . Na Figura 2, há um exemplo de PBX.
2.4. Mutação
Para o operador de mutação, o método de troca é usado. Neste método, dois genes aleatórios são selecionados e trocam suas posições. Se dois valores nulos
selecionados para troca, outra seleção deve ser feita até que um trabalho seja encontrado. Os esquemas da prole 1 e da prole 2 são fornecidos na Tabela 2.
J 5 nulo nulo nulo nulo J 4 J 1 nulo nulo nulo J 2 J 3 nulo nulo nulo
pai 1 J5 101 102 103 104 J4 J1 105 106 107 J2 J3 108 109 110
pai 2 J4 J5 J2 101 102 J3 103 104 105 106 J1 107 108 109 110
Pai
1 1 0 0 1 0 0 1 0 1 0 0 1 1 1
corda
prole 1 J 5 101 J4 J2 104 102 J3 105 103 107 106 J1 108 109 110
prole 2 J 5 102 J2 101 104 J3 103 J4 105 106 J1 107 108 109 110
Figura 2. Uma iteração para dois pais e uma string pai aleatória gera dois filhos usando PBX
Sequência de máquinas-trabalho
Descendência
Maquinas Trabalho sequen ce
Maquina 3 Trabalho 1
Maquina 3 Trabalho 1
- Difícil
tempo polinomial ou métodos de pesquisa não direcionados normalmente não são viáveis para problemas de grande escala. Entre os vários métodos de pesquisa
usados para FJSPs, o GA foi reconhecido como uma estratégia geral de pesquisa e método de otimização. O importante é como criar cronogramas viáveis ao aplicar o
FJSP ao GA. Os pesquisadores desenvolveram várias metodologias para criar cronogramas viáveis. Alguns deles estabelecem penalidades em soluções inviáveis,
modificam os operadores de criação. Um problema clássico de programação de job shop tem um conjunto de n trabalhos processados por um conjunto de m máquinas
com o objetivo de minimizar ou maximizar um critério. Cada trabalho é processado em máquinas em uma determinada ordem com um determinado tempo de
processamento, e cada máquina pode processar apenas um tipo de operação. No FJSP, existem conjuntos de máquinas com várias máquinas idênticas em paralelo.
Cada trabalho tem sua própria rota como em JSP, mas trabalho j é processado em qualquer máquina que esteja disponível no conjunto dessa máquina.
O eu j é a operação j do J Eu.
M = {M k m, o conjunto de m máquinas.
p i, j, k, o tempo de processamento de O eu j , na máquina M k.
Op erações-M achines
Empregos
Operações M1 M2 M3
O 1,1 3 3 xxx
J1 O 1,2 9 5 5
O 1,3 xxx 7 5
O 2,1 3 xxx 6
J2
O 2,2 4 8 xxx
A Tabela 3 diz que a primeira operação ( O 1,1) do primeiro emprego ( J 1) pode ser processado em ambos M 1 ou M 2, xxxx denota isso O 1,1
não pode ser processado em M 3 - Da mesma forma, a segunda operação ( O 1,2) do primeiro emprego ( J 1) pode ser processado em M 1, M 2 ou M 3
e assim por diante. Os valores nas células denotam os tempos de processamento. No FJSP, duas decisões devem ser consideradas. Primeiro é
atribuição de uma operação a uma máquina apropriada, a segunda é o sequenciamento das operações em cada máquina. Além disso, para sistemas de manufatura
complexos, um trabalho pode visitar uma máquina mais de uma vez chamada recirculação. Esses recursos do FJSP aumentam significativamente a complexidade de
encontrar até mesmo soluções aproximadamente ideais.
Ho et al. projetar uma representação cromossômica gera soluções viáveis que permanecem viáveis sob crossover e mutação. Sua representação
cromossômica (chamada OOMS) tem dois componentes: ordem de operação e seleção de máquina, como visto na Figura 3.
Componente de ordem de operação. Eles adotam a representação da ordem de operação de Cheng et al., Bierwirth e Varela et al.
Considere o problema na Tabela 3. J 1 tem três operações e J 2 tem duas operações. 1
possível cronograma poderia ser ( O 2,1, O 1,1, O 2,2, O 1,2, O 1,3). No entanto, quando os operadores GA são aplicados ao cronograma, podem existir cronogramas
inviáveis. Por exemplo, ( O 2,2, O 1,1, O 2,1, O 1,2, O 1,3) é uma programação inviável porque O 2,2 posso
não ser processado antes O 2,1. Para evitar a criação de soluções inviáveis, um indivíduo é obtido a partir deste cronograma, substituindo cada operação pelo
índice de cargos correspondente, como visto na Fig 4.
J2 J1 J2 J1 J1
2 1 2 1 1
Componente de seleção de máquina. Uma matriz de valores binários é usada para apresentar a seleção da máquina. Para o problema da Tabela 3., uma possível
codificação da parte de seleção da máquina é mostrada na Fig 5.
Da Tabela 3, entende-se que O 1,1 pode ser processado em M 1 ou M 2, similarmente O 1,2 pode ser processado em M 1,
M 2 ou M 3 - Apenas uma máquina pode ser selecionada por operação. Os resultados práticos desta representação podem ser encontrados em
. Seu desempenho empírico em comparação com outras representações também demonstrou ser
muito bom.
3.3. Crossover
Como a representação cromossômica OOMS tem duas partes, o crossover é aplicado em cada parte do cromossomo.
Peça de ordem de operação: crossover de dois pontos é aplicado. Considere dois pais: (2 1 2 1 1) e (1 1 1 2 2). UMA
substring é selecionado aleatoriamente do pai 1: (2 1 2 1 1). As operações na string selecionada são O 1,1, O 2,2 e O 1,2
respectivamente. As posições correspondentes dos caracteres nesta string são então encontradas e deletadas no segundo
pai: ( 1 1 1 2 2 ) A substring é inserida no segundo pai na mesma posição do primeiro pai para criar um novo filho: (1 1 2 1 2).
Parte de seleção de máquina: dois números aleatórios (para os dois loci) são r1r2 n-1), (n é o comprimento
da parte de seleção da máquina). Duas partes parciais dos pais entre os dois loci são trocadas. Considere dois
peças de seleção de máquina de dois pais na Figura 6. Sejam dois números aleatórios r 1 = 2 e r 2 = 3, então essas duas partes de dois pais entre a posição 2 e
a posição 3 são trocadas como pode ser visto na Figura 7.
Pai 1 0 1 0 0 1 1 0 0 1 0 1
Pai2 1 0 0 1 0 1 0 0 1 1 0
Criança 1 0 1 0 1 0 1 0 0 1 0 1
Criança 2 1 0 0 0 1 1 0 0 1 1 0
3.4. Mutação
4. Resultados
Resultados obtidos por Kocamaz et al. e Ho et al. mostram que algoritmos desenvolvidos são mais eficientes do que métodos determinísticos. Kocamaz
et al. mostraram que o algoritmo e o método de codificação funcionam com sucesso para alcançar a solução. O método de codificação desenvolvido
proposto pode ser facilmente aplicado a outros problemas de programação de máquinas paralelas. Ho et al. mostraram que seu algoritmo é mais eficiente
do que as outras abordagens para resolver o FJS, em comparação com as abordagens de GA de Kacem et al., Mesghouni et al. e a abordagem Tabu
Search da Brandimarte. Este artigo é organizado de forma a mostrar os métodos de representação de AGs baseados em PMS e FJS, os quais são muito
complexos para programar e calcular com métodos determinísticos. Os algoritmos apresentados têm como objetivo orientar alunos e novos pesquisadores
interessados em AGs e agendamento.
Referências
Sumathi, S., Hamsapriya, T., & Surekha, P. (2008). Inteligência Evolucionária, Springer, Berlim. Pinedo, LM (2008). Teoria,
Algoritmos e Sistemas de Escalonamento, Springer, Nova York.
Kocamaz, M., Cicekli, UG, & Soyuer, H. (2009). Um Método de Codificação Desenvolvido para Programação de Máquina Paralela com Genética de Permutação
Algoritmo (pp.1-8). Conferência Europeia e Mediterrânea sobre Sistemas de Informação, Izmir.
Bilgesu Ak e Erdem Koc / Procedia - Ciências Sociais e Comportamentais 62 (2012) 817-823 823
Cheng, R., & Gen, M. (1997). Problemas de programação de máquina paralela usando algoritmos meméticos, Computadores e Engenharia Industrial ( pp.
761-764).
Ho, NB, Tay, JC e Lai, EM-K. (2007). Uma arquitetura eficaz para aprender e desenvolver cronogramas flexíveis de job shop. europeu
Journal of Operational Research, Elsevier (pp. 316-333). Pinedo, ML, & Chao, X. (1999). Programação de operações com aplicativos em manufatura e serviços, Mc
Graw-Hill, Nova York. Cheng, R., Gen, M., & Tsujimura, Y., (1996). Uma pesquisa tutorial de problemas de programação de job-shop usando algoritmos genéticos, Parte I: