1
ENEGEP 2006 ABEPRO
Algoritmo genético de agrupamento para projeto de layout modular
Ana Rita T. Terra Argoud (EESC-USP) [email protected] Eduardo Vila Gonçalves Filho (EESC-USP) [email protected]
Alexandre José Tiberti (EESC-USP) [email protected]
Resumo
Este trabalho apresenta uma proposta de algoritmo genético (AG) para projeto de arranjo físico modular. O AG trata do problema de agrupamento de máquinas a partir da identificação de subseqüências de operações comuns de um conjunto de peças. O algoritmo possui flexibilidade para trabalhar tanto com número de grupos conhecido quanto desconhecido. São abordadas a codificação dos cromossomos, as funções objetivo permitidas, os operadores de cruzamento e mutação e a forma de correção dos descendentes. Palavras-chave: Algoritmo Genético de Agrupamento, Arranjo Físico, Módulos.
1. Introdução
Os tipos básicos de arranjo físico como funcional, em linha e celular são configurações de layout convencionais e muitas vezes não são suficientes para atender as necessidades de empresas que trabalham com vários tipos de produtos com demanda variável e curto ciclo de vida (BENJAAFAR et al., 2002). Dentro dessa visão surgem tipos não convencionais de layout, conhecidos como layouts dinâmicos. Entre eles estão os layouts distribuído ou holográfico, fractal, celular híbrido e modular.
O arranjo físico modular (IRANI & HUANG, 2000) é composto por uma rede de subsistemas de manufatura, ou módulos de layout, conectados um ao outro, mas cada um deles com um padrão de fluxo característico. Os módulos são classificados em: flowline (linha), branched flowline (em linha ramificado), functional (funcional), cell (célula), patterned flow (fluxo padronizado) e machining center (centro de usinagem). O conceito do layout modular partiu da observação de que roteiros de produção de diferentes produtos possuem subseqüências de operações comuns, que poderiam ser agregadas em módulos. O objetivo do layout modular é maximizar o número de operações consecutivas de um conjunto de roteiros de produção feitos no mesmo módulo. O layout modular não assume a priori padrões de fluxo ou critérios para agrupamento de máquinas (como célula ou departamentos funcionais). Os padrões de fluxo e agrupamentos de máquinas são determinados pelos fluxos implícitos nas seqüências de operações. Dessa forma, o layout modular é mais flexível que os arranjos físicos tradicionais (em linha, funcional e celular), pois identifica os vários padrões de fluxo existentes na fábrica e gera um layout para cada fluxo específico de materiais.
Em continuidade ao trabalho, Huang (2003) desenvolveu uma metodologia baseada na comparação de seqüências de produção e análise de agrupamentos (cluster analysis). Para comparação de seqüências de produção, Huang (2003) criou uma nova medida de similaridade, o coeficiente Merger. Já para análise de agrupamentos adotou um método homogêneo aglomerativo hierárquico, com método da média das distâncias para regra de ligação (average linkage).
O projeto de layout modular consiste na determinação de vários subproblemas NP-completos, como por exemplo determinar o tamanho e número de módulos, determinar o melhor layout de cada módulo e o melhor layout da rede de módulos (HUANG, 2003).
2
ENEGEP 2006 ABEPRO
Algoritmos genéticos (AG) são inspirados no processo de seleção e evolução natural dos seres vivos. São métodos heurísticos com grande potencial de aplicação em problemas NP-completos, devido à sua capacidade de busca por soluções ótimas ou quase ótimas dentro do espaço de soluções existentes.
O presente trabalho propõe uma abordagem baseada em um método heurístico para projeto de layout modular: algoritmo genético de agrupamento (AGA).
A aplicação de algoritmos genéticos a problemas de agrupamento tem sido alvo de estudo de vários autores, entre eles Cole (1998), Hruschka (2001), Tseng e Yang (2001), Garai e Chaudhuri (2004).
No projeto de layout modular e também neste trabalho, os módulos são agrupamentos de máquinas que processam subseqüências de operações comuns de um conjunto de peças. Esses módulos (grupos) podem possuir qualquer um dos padrões de fluxo descritos anteriormente. 2. Algoritmos genéticos
Um AG inicia com uma população de indivíduos (cromossomos) que representam possíveis soluções do problema a ser resolvido. A população é avaliada e cada cromossomo recebe uma nota, denominada aptidão. Os melhores cromossomos (mais aptos) são selecionados e os piores descartados. Os selecionados podem sofrer cruzamento e mutação, gerando descendentes para a próxima geração. O processo continua até que uma solução satisfatória seja encontrada (LACERDA et al., 1999).
3. O algoritmo proposto
O algoritmo genético de agrupamento proposto segue os passos da figura 1. Os principais elementos do algoritmo são explicados adiante.
Passo 1 - Entrada de dados: peças, seqüência de operações, número de grupos mínimo e máximo.
Passo 2 - Encontre as subseqüências de operações consecutivas comuns entre todos os pares de seqüência.
Passo 3 - Calcule o coeficiente de similaridade/dissimilaridade (matriz de subseqüências). Passo 4 - Escolha a forma de representação do cromossomo (R1, R2 ou R3).
Passo 5 - Gere a população inicial. Se representação R1 ou R2 faça os passos 5.1 a 5.4. Se representação R3 vá para o passo 6.
Passo 5.1 - Para cada cromossomo estabeleça o subconjunto das subseqüências dominantes (T) e o das dominadas (D). Cada elemento de T irá formar um grupo em G (conjunto de subseqüências agrupadas).
Passo 5.2 – Selecione o elemento em D que possua maior similaridade média com os grupos em G. Remova-o de D e o insira no grupo em G com maior similaridade média.
Passo 5.3 – Repita o passo 5.2 até que não haja mais elementos em D. Passo 5.4 - Mostre os agrupamentos formados.
Passo 6 - Calcule o valor da função objetivo para cada cromossomo.
Passo 7 - Teste o critério de parada. Em caso afirmativo mostre a melhor solução termine o algoritmo. Em caso negativo vá para o passo 8.
3
ENEGEP 2006 ABEPRO
Figura 1 – O algoritmo proposto continua
continuação
Passo 8 - Determine as melhores soluções (Regra do Elitismo) da população atual e leve para a nova população. Faça os passos 9 a 15 até que complete a nova população. Passo 9 - Selecione os cromossomos para cruzamento usando o procedimento da roleta. Passo 10 - Selecione o método de aplicação dos operadores. Se por probabilidade vá para o
passo 11, se por faixa percentual vá para o passo 13.
Passo 11 - Aplique o operador de cruzamento se o cruzamento ocorrer. Corrija os cromossomos descendentes se necessário. Se o cruzamento não ocorrer vá para o Passo 12.
Passo 12 - Aplique os operadores de mutação se a probabilidade de mutação ocorrer. Vá para o passo 15.
Passo 13 - Aplique o operador de cruzamento aos cromossomos da faixa selecionada e vá para o passo 14.
Passo 14 - Aplique os operadores de mutação aos cromossomos das faixas percentuais complementares.
Passo 15 - Adicione os descendentes à nova população.
Passo 16 - Substitua a população atual pela nova e retorne ao passo 6. Figura 1 – Algoritmo proposto
4. Coeficiente de Similaridade
Para cálculo da similaridade entre as subseqüências de operações comuns, o pesquisador poderá selecionar entre distância de Levenshtein (TAM, 1990), coeficiente LCS - maior subseqüência comum (ASKIN & ZHOU, 1998) ou coeficiente Merger (HUANG, 2003). 5. Codificação do Cromossomo
Estão previstas três formas de representação, R1, R2 ou R3. As representações R1 e R2 foram inspiradas nos trabalhos de Tseng e Yang (2001) e de Garai e Chaudhuri (2004). A representação R3 é a utilizada por Hruschka (2001). No presente trabalho, para as três representações, o gene refere-se a um conjunto de máquinas (subseqüência comum distinta). R1: Inteiro e Zeros. Para K fixo (número de grupos conhecido). As subseqüências com números inteiros são as dominantes (semente do grupo) e a subseqüências com zeros são as dominadas. O tamanho do cromossomo equivale ao número de subseqüências comuns.
(2 0 0 3 1 0 4 0)
S1 S2 S3 S4 S5 S6 S7 S8 ou seja: Grupo 1: S5; grupo 2: S1; grupo 3: S4; grupo 4: S7
R2: Semelhante à anterior com subseqüências dominantes e dominadas. Para K variante (número de grupos desconhecido). O tamanho do cromossomo é (n +1), ou seja, número de subseqüências comuns mais um gene representando o número de grupos.
( 2 0 0 4 1 0 3 0 4) S1 S2 S3 S4 S5 S6 S7 S8 K
4
ENEGEP 2006 ABEPRO
R3: Grupo-rótulo. Para K variante (número de grupos desconhecido). O tamanho do cromossomo é (n+1).
( 2 1 2 4 3 3 4 1 4)
S1 S2 S3 S4 S5 S6 S7 S8 K ou seja, Grupo 1: S2, S8; Grupo 2: S1, S3; Grupo 3: S5, S6; Grupo 4: S4, S7 6. Geração da população inicial
A população inicial será gerada aleatoriamente. As únicas restrições se referem ao número de grupos (K), que deverá variar entre um valor mínimo e máximo definidos pelo usuário, ou seja, Kmin ≤ K ≤ Kmáx , com 1 ≤ Kmin ≤ Kmáx ≤ NSubseq (número de subseqüências comuns).
Para K fixo (conhecido), Kmin = Kmáx .
Como descrito no passo 5 da figura 1, para as representações R1 e R2, os cromossomos da população inicial se constituem de agrupamentos formados pela similaridade média da subseqüência dominada em relação aos grupos em G.
Cada grupo em G é formado por uma subseqüência dominante de T (semente do grupo) e subseqüências dominadas (Di). Cada subseqüência Di será designada ao grupo com o qual a
similaridade média for máxima. A similaridade média é calculada pela fórmula:
[
]
1 ( , ) , j j i i j x G Sim G D M x D G ∈ = onde iD = subseqüência dominada; G = nº. de elementos do grupo Gj j; M = matriz de similaridade gerada no passo 3 do algoritmo (figura 1).
7. Função Objetivo
Em um algoritmo genético o papel da função objetivo é avaliar a qualidade da solução. No algoritmo proposto estão previstas duas funções objetivo:
Soma da Similaridade
Definida como a soma da similaridade entre cada subseqüência dominada e a subseqüência dominante do grupo G. A similaridade é dada pela matriz de similaridade de subseqüências comuns. = z G i i D T Sim FO 1 ) , ( : onde
T = subseqüência dominante do grupo G; Di = subseqüência dominada do grupo G; z = nº. de
grupos formados.
Esta função objetivo indica o grau de coesão de cada grupo, ou seja, quanto maior esse índice mais coesas estão as máquinas nos grupos. Portanto, a função objetivo deve ser maximizada.
Largura da Silhueta Média
Esta função foi proposta por Kaufman e Rousseeuw (1990). A largura da silhueta média maximiza a homogeneidade interna e a heterogeneidade entre grupos distintos. Também encontra o melhor valor de K (número de grupos - agrupamento automático) quando o valor
) (i
5 ENEGEP 2006 ABEPRO ) ( : s i FO com )} ( ), ( max{ ) ( ) ( ) ( i b i a i a i b i s = − e b i( )=min ( , ),d i G G≠ A
Considere a subseqüência “i” pertencente ao grupo A. Seja a(i) = dissimilaridade média de “i” em relação a todas as outras subseqüências do grupo A; d(i,G) = dissimilaridade média de “i” em relação a todas as subseqüências de G (demais grupos exceto A). Calcule d(i,G) para todos os grupos G, com G ≠ A. b(i) será a menor destas dissimilaridades. Propriedades de s(i): a) -1 ≤ s(i) ≤ 1; b) s(i) = 0 quando A = {i1} (o grupo A possuir apenas um elemento);
c) Kmin = 2.
8. Critério de Parada
No algoritmo proposto poderá ser escolhido um dos critérios: a) número de gerações; b) taxa de convergência: não melhoramento no melhor cromossomo por determinado número de gerações; c) perda da diversidade: o cromossomo converge se 95% da população têm mesmo valor da função de objetivo (significa que as mesmas subseqüências estão nos mesmos grupos).
9. Processo de Seleção
Para garantir que as boas soluções permaneçam de uma geração para outra e não sejam perdidas no processo de seleção, os melhores cromossomos serão transferidos integralmente para a nova população (Regra do Elitismo). O usuário poderá selecionar a porcentagem de cromossomos transferidos: 1%, 3%, 5% ou 10%. O restante da população será submetido ao processo de seleção para em seguida sofrerem cruzamento e/ou mutação.
O processo de seleção a ser adotado será o da Roleta (Roulette Wheel) como proposto por Goldberg (1989). O AG seleciona os melhores cromossomos da população inicial (cromossomos pais) para gerar os descendentes (cromossomos filhos). Os cromossomos pais são selecionados com probabilidade pi, dada pelo quociente entre o valor da função objetivo
do cromossomo “i” e a soma dos valores da função objetivo de todos os cromossomos da população. Valores maiores de pi indicam cromossomos mais adaptados e com maior
possibilidade de serem escolhidos para sofrerem cruzamento.
Como a Roleta trabalha com valores positivos, quando se utilizar a largura da silhueta média deverá ser somado (+1) aos valores da função objetivo, de forma que 0 ≤ s(i) ≤ 2. Terminada a seleção deverá ser somado (-1) a todos os valores da função objetivo.
10. Operadores de Cruzamento e Mutação
Foi desenvolvido um operador de cruzamento e três operadores de mutação. A aplicação dos operadores irá depender se o número de grupos, K, é fixo (conhecido) ou variante (desconhecido). Para K variante são permitidos os operadores de cruzamento, mutação 1, mutação 2 e mutação 3. Para K fixo somente podem ser aplicados os operadores de cruzamento e mutação 3.
O usuário poderá escolher entre dois métodos de aplicação dos operadores, por probabilidade ou por faixa percentual. No primeiro, como da forma tradicional, é associada uma probabilidade de aplicação a cada operador. Por exemplo: cruzamento (Pc = 0.8); mutação 1 (Pm1 = 0.05); mutação 2 (Pm2 = 0.05); mutação 3 (Pm3 = 0.1). Os operadores de mutação são
aplicados após o cruzamento, ou seja, nos descendentes.
O método por faixa percentual foi utilizado por Hruschka (2001). O cromossomo ou sofre cromossomo, ou mutação 1, ou mutação 2, ou mutação 3. Seja o seguinte exemplo:
6
ENEGEP 2006 ABEPRO
Pc = 50%, Pm1 = 25%; Pm2 = 25%; Pm3 = 0%
Neste método todos os indivíduos são sorteados pela Roleta, e colocados em um vetor pela ordem de seleção. A primeira metade (50%, conforme o exemplo) sofre cruzamento. O primeiro cromossomo selecionado pelo método da Roleta é cruzado com o n/2, em que n representa o número de cromossomos selecionados, o segundo cromossomo com [(n/2)-1] e assim por diante. A mutação 1 é aplicada aos cromossomos que pertencem ao intervalo [(n/2)+1, 3n/4]. A mutação 2 é aplicada aos cromossomos que pertencem ao intervalo [(3n/4)+1, n].
Operador de Cruzamento
Como cada gene representa um grupo (subseqüência, ou conjunto de máquinas), o operador de cruzamento deve agir nos elementos do grupo (nas máquinas). Portanto, não faz sentido trabalhar com operadores clássicos de cruzamento como de ponto único ou de dois pontos. O operador de cruzamento foi proposto por Hruschka (2001), que trabalhou com centróide como medida de proximidade. No presente trabalho, será usada outra medida de proximidade, detalhada adiante.
Sejam 2 cromossomos A e B constituídos de 8 subseqüências comuns: A - 1 1 2 3 1 4 3 3 nº de grupos, KA = 4
B - 1 2 3 1 1 4 4 3 nº de grupos, KB = 4
O número de grupos não está representado no cromossomo.
Escolha aleatoriamente K (1≤ K ≤ KA) grupos de A para copiar em C (descendente).
Por exemplo, selecione os grupos 1 e 2 de A (em negrito), ou seja, K = {1,2}: A - 1 1 2 3 1 4 3 3
B - 1 2 3 1 1 4 4 3
Estes grupos modificam os grupos 1, 2 e 3 de B. O grupo 4 de B não é modificado. A - 1 1 2 3 1 4 3 3
B - 1 2 3 1 1 4 4 3
Os genes de B sublinhados também serão modificados no descendente C. Copie os genes selecionados de A= {1,2} em C:
C - 1 1 2 0 1 0 0 0
Os genes completados com zeros em C indicam posições com potencial para receber genes não alterados de B, ou representam genes que serão reposicionados no grupo mais próximo. Por exemplo, o grupo 4 de B é copiado em C, pois não foi mudado. Os grupos 1 e 3 de B (sublinhados) serão reposicionados no grupo mais próximo. Assim:
C - 1 1 2 0 1 4 4 0
A medida de similaridade para reposicionamento dos genes zerados do descendente é a menor das dissimilaridades médias da subseqüência “i” (gene zerado) para com os grupos (G grupos) contidos no descendente, ou seja, b(i) = min d(i,G).
Para gerar o descendente D é feito o processo inverso. Copie em D todos os genes de B que foram alterados. Assim:
7
ENEGEP 2006 ABEPRO
D - 1 2 3 1 1 0 0 3
Os genes completados com zeros em D indicam posições com potencial para receber genes não alterados de A, ou representam genes que serão reposicionados no grupo mais próximo. Por exemplo, o grupo 4 de A é copiado em D, pois não foi mudado. O grupo 3 de A não é copiado (foi mudado), então o gene zerado de D será reposicionado no grupo mais próximo. Assim:
D - 1 2 3 1 1 4 0 3
Após o cruzamento algumas correções devem ser feitas nos cromossomos. Ao criar os descendentes deve-se re-identificar os grupos, pois o grupo 1 do pai A é diferente do grupo 1 do pai B. O número de grupos do descendente deve estar entre o número de grupos mínimo e máximo permitidos, ou seja, Kmin ≤ K ≤ Kmáx . Duas situações podem ocorrer. A primeira
quando K < Kmin. Nesta situação é preciso criar grupos. O seguinte procedimento deve ser
adotado:
a) Selecione os grupos que possuem no mínimo duas subseqüências;
b) Para cada subseqüência de cada grupo selecionado, calcule a(i), onde a(i) = dissimilaridade média de “i” em relação a todas as outras subseqüências do grupo A (grupo a qual pertence);
c) Ordene a(i) de modo decrescente. A semente do novo grupo será a primeira subseqüência da ordenação. Caso necessite de outro grupo, a segunda subseqüência da ordenação será a semente, respeitando a condição a), e assim por diante.
A segunda situação pode ocorrer quando K > K max. Nesta situação é preciso extinguir grupos,
conforme o procedimento:
a) Para cada grupo calcule a(i) = dissimilaridade média da subseqüência “i” em relação a todas as outras subseqüências do grupo A (grupo ao qual pertence) e calcule a(i). Selecione o grupo com maior a(i), ou seja, com a menor coesão interna;
b) Distribua cada subseqüência do grupo selecionado para o grupo com o qual possuir a menor dissimilaridade média: b(i) = min d(i,G), ou seja, a menor dissimilaridade média da subseqüência “i” para com o grupo G;
c) Repita o procedimento caso necessite extinguir mais de um grupo. Operadores de Mutação
Os operadores de mutação 1 e 2 foram inspirados no trabalho de Hruschka (2001) e o operador de mutação 3 no de Cole (1998).
Mutação 1 (MERGE)
Opera em cromossomos que satisfazem a restrição K > Kmin. Elimina aleatoriamente um
grupo e insere suas subseqüências nos demais grupos. Cada subseqüência é inserida no grupo com o qual possuir a menor dissimilaridade média: b(i) = min d(i,G), ou seja, a menor dissimilaridade média da subseqüência “i” para com o grupo G.
A mutação 1 faz diminuir o número de grupos. Mutação 2 (BREAK)
8
ENEGEP 2006 ABEPRO
aleatoriamente (com no mínimo dois elementos) em dois novos grupos. A semente do primeiro subgrupo será a subseqüência com menor a(i), ou seja, menor dissimilaridade média da subseqüência “i” em relação às outras subseqüências do grupo selecionado. A semente do segundo subgrupo será a subseqüência com maior a(i). Feito isso, as subseqüências restantes do grupo selecionado são deslocadas para os subgrupos mais próximos. O subgrupo mais próximo será o com menor dissimilaridade média: b(i) = min d(i,G), ou seja, menor dissimilaridade média da subseqüência “i” para com o grupo G.
Os demais grupos ficam intactos. A mutação 2 faz aumentar o número de grupos. Mutação 3 (MOVE)
Selecione aleatoriamente uma subseqüência de um grupo com no mínimo 2 elementos. Mova esta subseqüência para o grupo com o qual possuir a menor dissimilaridade média: b(i) = min d(i,G), ou seja, a menor dissimilaridade média da subseqüência “i” para com o grupo G. A mutação 3 preserva o número de grupos (K), mas muda o tamanho de dois grupos. 11. Comentários finais
Atualmente está em desenvolvimento um programa computacional para implementação do algoritmo genético de agrupamento descrito. Além da escolha de parâmetros tradicionais de um AG como número de elementos da população, número de gerações, probabilidade de cruzamento e mutação, o algoritmo genético dará flexibilidade ao pesquisador para: trabalhar com número de grupos conhecido (K fixo) ou desconhecido (K variante - agrupamento automático); escolher o coeficiente de similaridade entre as seqüências de operações; escolher a forma de representação do cromossomo; selecionar a função objetivo; selecionar o critério de parada; determinar a porcentagem de elitismo.
Dada a natureza combinatorial de um projeto de layout, quando o número de máquinas e/ou a quantidade de peças aumenta, o problema se torna muitas vezes intratável. Pretende-se com este trabalho analisar a eficiência de um método heurístico através de algoritmo genético de agrupamento para geração de projeto de layout modular.
Referências
ASKIN, R.G. & ZHOU, M. Formation of independent flow-line cells based on operation requirements and
machine capabilities. IIE Transactions. Vol.30, n.4, p.319-329, 1998.
BENJAAFAR, S.; HERAGU, S.S. & IRANI, S.A. Next generation factory layout: research challenges and
recent progress. Interfaces. Vol. 32, n.6, p.58-76, 2002.
COLE, R. M. Clustering with genetic algorithms. Thesis (PhD). Department of Computer Science, University of Western Australia, 1998.
GARAI, G. & CHAUDHURI, B. A novel genetic algorithm for automatic clustering. Pattern Recognition Letters. Vol.25, p.173-187, 2004.
GOLDBERG, D. E. Genetic algorithms in search, optimization, and machine learning. 2. ed. USA: Addison-Wesley, 1989.
HRUSCHKA, E.R. Algoritmos genéticos de agrupamento para extração de regras de redes neurais. Tese (Doutorado), Ciências em Engenharia Civil, COPPE/UFRJ. 139p, 2001.
HUANG, H. Facility layout using layout modules. Tese (PhD), The Ohio State University, Ohio, USA. 156p, 2003.
IRANI, S.A. & HUANG, H. Custom design of facility layouts for multiproduct facilities using layout modules. IEEE Transactions on Robotics Automation. Vol.16, n.3, p.259-267, 2000.
KAUFMAN, L. & ROUSSEEUW, P.J. Finding groups in data: an introduction to cluster analysis. Wiley series in probability and mathematical statistics, New York: John Wiley & Sons, 1990.
9
ENEGEP 2006 ABEPRO
LACERDA, E.G.M.; CARVALHO, A.C.P.L.F. & LUDERMIR, T.B. Um tutorial sobre algoritmos
genéticos. RITA. Vol. IV, n.2, p.109-139, 1999.
TAM, K.Y. An operation sequence based similarity coefficient for part families formations. Journal of Manufacturing Systems. Vol.9, n.1, p.55-68, 1990.
TSENG, L. & YANG, S.B. A genetic approach to the automatic clustering problem. Pattern Recognition. Vol.34, p.415-424, 2001.