ANÁLISE DO DESEMPENHO DOS ARRANJOS FÍSICOS DISTRIBUÍDOS EM AMBIENTE DE ROTEAMENTO DE TAREFAS COM FLEXIBILIDADE DE SEQÜÊNCIA DE FABRICAÇÃO

Tamanho: px
Começar a partir da página:

Download "ANÁLISE DO DESEMPENHO DOS ARRANJOS FÍSICOS DISTRIBUÍDOS EM AMBIENTE DE ROTEAMENTO DE TAREFAS COM FLEXIBILIDADE DE SEQÜÊNCIA DE FABRICAÇÃO"

Transcrição

1 José Hamilton Chaves Gorgulho Júnior ANÁLISE DO DESEMPENHO DOS ARRANJOS FÍSICOS DISTRIBUÍDOS EM AMBIENTE DE ROTEAMENTO DE TAREFAS COM FLEXIBILIDADE DE SEQÜÊNCIA DE FABRICAÇÃO Tese apresentada à Escola de Engenharia de São Carlos da Universidade de São Paulo, como parte dos requisitos para a obtenção do Título de Doutor em Engenharia Mecânica. Orientador: Prof. Dr. Eduardo Vila Gonçalves Filho São Carlos SP Fevereiro de 2007

2 II AUTORIZO A REPRODUÇÃO E DIVULGAÇÃO TOTAL OU PARCIAL DESTE TRABALHO, POR QUALQUER MEIO CONVENCIONAL OU ELETRÔNICO, PARA FINS DE ESTUDO E PESQUISA, DESDE QUE CITADA A FONTE. Ficha catalográfica preparada pela Seção de Tratamento da informação do Serviço de Biblioteca EESC/USP G667a Gorgulho Júnior, José Hamilton Chaves Análise do desempenho dos arranjos físicos distribuídos em ambiente de roteamento de tarefas com flexibilidade de seqüência de fabricação / José Hamilton Chaves Gorgulho Júnior ; orientador Eduardo Vila Gonçalves Filho. -- São Carlos, Tese (Doutorado Programa de Pós-Graduação em Engenharia Mecânica. Área de Concentração: Manufatura) -- Escola de Engenharia de São Carlos da Universidade de São Paulo, Arranjo físico distribuído. 2. Células fractais. 3. Roteamento de tarefas. 4. Simulação. 5. Flexibilidade de seqüência. 6. Desempenho. I. Título.

3 III A minha esposa Valéria Cristina e aos meus filhos Nícolas Henrique e Guilherme Augusto, pelos momentos que não pudemos passar juntos. A meu pai José Hamilton e minha mãe Maria Aparecida pela forma como me educaram.

4 IV AGRADECIMENTOS Ao Prof. Dr. Eduardo Vila Gonçalves Filho, por toda dedicação e atenção oferecidas durante a orientação de meu trabalho. À Escola de Engenharia de São Carlos pela oportunidade de realização do curso de doutorado no Departamento de Mecânica e aos seus professores com quem tive o prazer de aprender: Glauco Augusto de Paula Caurin, Eduardo Vila Gonçalves Filho, Reginaldo Teixeira Coelho (Departamento de Produção), Oswaldo Luís Agostinho, Ricardo Yanamasu, Arthur José Vieira Porto e Ruth de Gouvêa Duarte (Departamento de Hidráulica e Saneamento). À UNIFEI (Universidade Federal de Itajubá) que permitiu meu afastamento em tempo integral para completa dedicação às atividades de pós-graduação. Aos meus colegas do Instituto de Engenharia de Produção e Gestão (IEPG) da UNIFEI pelo apoio oferecido durante o período de afastamento destacando os professores Luiz Gonzaga Mariano e João Batista Turrioni (bem como sua esposa Ana Maria Silveira Turrioni). Às pessoas que tive o prazer de conhecer durante minha passagem pela EESC-USP: Ana Rita Tiradentes Terra Argoud, Andréa Ribari Yoshizawa da Silva, Antônio Carlos Lima de Santana, Antônio Savi, Elizabeth Maria A. Alexandre (secretária do Laboratório de Simulação), Creusa Sayuri Tahara, Fábio Viana Perfetto, Heleno Murilo Campeão Vale, Heráclito Lopes Jaguaribe Pontes, Hilano José Rocha de Carvalho, João Gilberto Zalla Filho, Mamoro Carlos Yamada, Marcelo Ferreira Batista, Marcos Roberto Fortulan, Queiroz Benega, Shih Yung Chin, Silmara Aparecida Nonato e Wellington Carlos Lopes. À Equipe LigDoc (Adriana Coscia Perez Gomes, Elena Palloni Gonçalves, Marielza Roma, Gertrud Isabel Bosbach Romanelli, Diego Talarico e Elenise Araújo) pelos artigos e teses de difícil obtenção pelos meios convencionais. Á Paulo Mohallem Guimarães, Maristela Assis Coura Gorgulho e Carlos Henrique Pereira Mello pela ajuda com o inglês. Aos meus familiares pelo apoio total e integral.

5 V Viver em um mundo mental de certos e errados absolutos pode levar a imaginar que todas as teorias são erradas. O que acontece na verdade é que uma vez que os cientistas tomam um bom conceito, eles o refinam gradualmente e o estendem com sutileza crescente à medida que seus instrumentos se aprimoram. As teorias não são erradas, são incompletas. Mesmo quando uma nova teoria parece representar uma revolução, ela geralmente surge de pequenos refinamentos. Isaac Asimov (Skeptical Inquirer, v.14, n.1, 1989, p )

6 VI RESUMO GORGULHO JÚNIOR, J. H. C. (2007). Análise do desempenho dos arranjos físicos distribuídos em ambiente de roteamento de tarefas com flexibilidade de seqüência de fabricação. Tese (Doutorado) Escola de Engenharia de São Carlos, Universidade de São Paulo, São Paulo, Este trabalho analisou o desempenho obtido pelos arranjos físicos distribuídos levando em consideração a flexibilidade de seqüenciamento das operações das peças. Foram comparados os arranjos físicos funcional, parcialmente distribuído, aleatoriamente distribuído e maximamente distribuído em três tamanhos (20, 40 e 80 máquinas), em duas configurações (equilibrado e desequilibrado) e usando dois métodos de roteamento (rígido e flexível). Para obtenção do arranjo físico maximamente distribuído foi desenvolvido um algoritmo genético e uma metodologia heurística de baixo impacto computacional denominada ALVO. A flexibilidade de seqüenciamento das operações foi baseada em relações de precedência e um procedimento automático para criação de peças com essas características foi desenvolvido. Os métodos e procedimentos propostos foram computacionalmente implementados em Visual Basic 6. Foram elaborados 152 arranjos físicos para cada tamanho e configuração sendo 50 funcionais, 50 parcialmente distribuídos, 50 aleatoriamente distribuídos e 2 maximamente distribuídos (um pelo algoritmo ALVO e outro pelo algoritmo genético). As simulações rotearam, para cada tipo de arranjo físico, 30 conjuntos com 150 peças cada um para obter o tempo total de programação (makespan) e a distância total percorrida. Os resultados mostraram que o desempenho do arranjo físico maximamente distribuído é sensivelmente superior ao parcialmente distribuído, mostrando que a desagregação completa dos departamentos é altamente vantajosa. A análises também mostraram que os arranjos físicos equilibrados, quando maximamente distribuídos, formam células fractais. Palavras-chave: arranjo físico distribuído; células fractais; roteamento de tarefas; simulação; flexibilidade de seqüência, desempenho.

7 VII ABSTRACT GORGULHO JÚNIOR, J. H. C. (2007). Performance analysis of the distributed layouts in routing environment with manufacture sequence flexibility. Thesis (Doctoral) Escola de Engenharia de São Carlos, Universidade de São Paulo, São Paulo, This work analyzes the performance obtained for the distributed layouts when the task routing environment takes in consideration the operations sequence flexibility of the parts. The functional, partially distributed, random distributed and maximally distributed layouts were compared in three sizes (20, 40 and 80 machines), in two configurations (balanced and unbalanced) and using two routing methods (rigid and flexible). For obtainment of the maximally distributed layout a genetic algorithm and a heuristically methodology of low computational impact was developed (ALVO algorithm). The sequence flexibility of the operations is based on precedence diagram and an automatic procedure for creation of parts with these characteristics was developed. The proposed methods and procedures had been implemented in Visual Basic 6. Have been builds 152 layouts for each size and configuration being 50 functional, 50 partially distributed, 50 random distributed and 2 maximally distributed (one by ALVO algorithm and another by genetic algorithm). The simulations routing, for each layout type, 30 groups with 150 parts each to obtain the makespan and the traveled total distance. The results showed that performance of the maximally distributed layout has a performance slightly superior to the partially layout, showing that the complete disaggregation of the departments is highly advantageous. The analysis also showed that balanced layouts, when maximally distributed, forms fractal cells. Keywords: distributed layout; fractal cells; job routing; simulation; sequence flexibility; performance.

8 VIII LISTA DE FIGURAS Figura Fluxograma de desenvolvimento da pesquisa...9 Figura Três células virtuais...14 Figura 3.2- Os seis tipos de módulos...16 Figura Exemplo de um fractal...17 Figura Exemplo de arranjo fractal...18 Figura Arranjos funcional e distribuído...19 Figura Arranjo parcialmente distribuído...20 Figura Diferentes caminhos retilineares entre dois pontos...22 Figura 3.8 Arranjos físicos distribuído e funcional...24 Figura Média das distâncias mínimas entre estações...24 Figura Procedimento de cálculo do índice...25 Figura Dez melhores rotas para a seqüência Figura Resultado do algoritmo center...27 Figura Ilustração do conceito target...28 Figura Curva de preenchimento para arranjo com 30 máquinas...35 Figura Exemplo de seqüência de preenchimento...38 Figura Diferentes graus de desagregação dos departamentos...40 Figura Representação de instalação de usinagem com REs...45 Figura Cálculo da pontuação de um arranjo...46 Figura Pontuação para o arranjo distribuído ótimo...47 Figura Arranjos funcional e distribuído...48 Figura Relacionamento entre as flexibilidades...56 Figura Hierarquia entre flexibilidades...56 Figura Representação de processos por grafos...59 Figura Flexibilidade de processo...59 Figura Grafo representando o processo de uma peça...60 Figura Mudança de nível de uma operação...62 Figura Exemplo de diagrama de precedência com duas raízes...63 Figura Gráfico de Gantt para a seqüência T3-T1 (Passo 3)...71

9 IX Figura Gráfico de Gantt para a seqüência T1-T3 (Passo 3)...71 Figura Gráficos de Gantt para o passo Figura Árvore de rotas...73 Figura Arranjo físico...73 Figura Gráfico de Gantt e matriz de alocação...75 Figura Gráfico de Gantt e matriz de alocação com 4 peças...77 Figura Gráfico de Gantt e matriz de alocação (P1 flexível)...78 Figura Gráfico de Gantt e matriz de alocação após alocar a peça P Figura Resultado da alocação das 4 peças com flexibilidade total...79 Figura Fluxograma do procedimento experimental...82 Figura Quatro modelos de precedência para peças com 6 operações...85 Figura Fluxograma de funcionamento do gerador automático de peças..86 Figura Procedimento de geração de arranjo físico funcional...88 Figura Procedimento para gerar arranjo físico parcialmente distribuído...89 Figura Curva de preenchimento para o exemplo...90 Figura Arranjo físico parcialmente distribuído do exemplo...92 Figura Geração de arranjo físico aleatoriamente distribuído...93 Figura Fluxograma de funcionamento do algoritmo ALVO...94 Figura Busca por uma posição livre (etapa 1)...95 Figura Busca por uma posição livre (etapa 2)...96 Figura Busca por uma posição livre (etapa 3)...96 Figura Busca por uma posição livre (etapa 4)...97 Figura Posição ideal para 1 máquina...98 Figura Quatro disposições ideais para 2 máquinas...98 Figura Posições calculadas para 17 máquinas Figura Exemplo de um elemento da população Figura Roleta após manipulação dos índices Figura Fluxograma detalhado do algoritmo genético implementado Figura Roteamento de um conjunto de peças em um arranjo físico Figura Procedimento de busca pela melhor rota no arranjo físico Figura Busca pelo primeiro instante disponível para alocação Figura Avaliação dos intervalos entre alocações existentes Figura Exemplos de satisfação de três condições de avaliação...113

10 X Figura Situações onde a alocação é possível Figura Configuração do símbolo decimal Figura Janela inicial do programa Figura Informação ao término do processo Figura Alguns arquivos de um conjunto de peças Figura Número de operações de cada peça Figura Número de peças geradas para cada número de operações Figura Número de vezes que cada processo foi atribuído Figura Dados das peças do conjunto gerado Figura Visualização gráfica da peça P Figura Número de atribuições de cada processo Figura Informações de um arranjo físico Figura Número de vezes que cada processo foi atribuído Figura Número de vezes que cada processo foi atribuído (método 2).126 Figura Entrada de dados Figura Menu com opções de arranjo físico Figura Criação manual de arranjo físico Figura Seleção do número de faixas Figura Exemplo de arranjo físico funcional gerado Figura Informações sobre a geração do arranjo Figura Informando o divisor de departamentos Figura Exemplo de arranjo físico parcialmente distribuído Figura Exemplo de arranjo físico aleatoriamente distribuído Figura Exemplo de arranjo físico maximamente distribuído Figura Janela de criação de múltiplos arranjos físicos Figura Grau de distribuição na geração de múltiplos arranjos Figura Posição das máquinas de acordo com o processo Figura Evolução do grau de distribuição Figura Configurações do gráfico do algoritmo genético Figura Visualização do gráfico de algoritmo genético Figura Dados para arranjo com 1296 máquinas Figura Tempo estimado para maximizar arranjo com 1296 máquinas.138 Figura Arranjo físico dos dados do Quadro

11 XI Figura Seleção de arranjos físicos Figura Modo de visualização com destaque Figura Exemplo de falha em um arranjo físico Figura Falta de conjunto de peças Figura Preparação para verificar peças Figura Peça incompatível com o arranjo Figura Seleção de arquivos de dados Figura Evolução do processamento Figura Gráfico de barras do makespan médio Figura Gráfico com as diferenças destacadas Figura Visualizando graus de distribuição (arquivos GDD) Figura Visualizando arquivos GRA (gráfico de barras) Figura Visualizando arquivos GRA (dados) Figura Visualização de arquivos SCH (Gráfico de Gantt) Figura Detalhe do Gráfico de Gantt Figura Visualização destacada da peça P Figura Comparando arquivos SCH Figura Distâncias individuais Figura Makespan individual Figura Diferença entre tempos Figura AFDP maximamente distribuídos Figura Ocorrência de cada processo (conjuntos de peça 1 e 20) Figura AFDM maximamente distribuídos Figura Ocorrência de cada processo (conjuntos de peças 1 e 5) Figura AFDG maximamente distribuídos Figura Ocorrência de cada processo (conjuntos de peças 1 e 7) Figura AFEP maximamente distribuídos Figura Ocorrência de cada processo (conjunto de peças 1, 10 e 20) Figura AFEM maximamente distribuídos Figura Ocorrência de cada processo (conjunto de peças 1, 10 e 20) Figura AFEG maximamente distribuídos Figura Ocorrência de cada processo (conjunto de peças 1 e 15) Figura Exemplos de arranjos físicos...202

12 XII Figura Ocorrência de cada processo (conjuntos de peças 1 e 15) Figura AFEP maximamente distribuído (AG) Figura AFEM maximamente distribuído (AG) Figura AFEG maximamente distribuído (AG) Figura Arranjo físico maximamente distribuído Figura processos com 8 máquinas (GDD= 1) Figura processos com 4 máquinas (GDD= 3.25) Figura processos com 2 máquinas (GDD= 11.75) Figura processos com 18 máquinas (GDD= 1) Figura processos com 9 máquinas (GDD= ) Figura processos com 4 máquinas (GDD= ) Figura processos com 2 máquinas (GDD= ) Figura processos com 24 máquinas (GDD= 1) Figura processos com 12 máquinas (GDD= ) Figura processos com 8 máquinas (GDD= ) Figura processos com 4 máquinas (GDD= ) Figura processos com 2 máquinas (GDD= ) Figura AFDP maximamente distribuído (AG) Figura AFDM maximamente distribuído (AG) Figura AFDG maximamente distribuído (AG) Figura Arranjo físico 4x6 (GDD= ) Figura Arranjo físico 6x8 (GDD= ) Figura Arranjo físico 6x8 (GDD= ) Figura Grau de distribuição médio (AFDP) Figura Gráfico referente ao teste de hipótese Figura Comparação das distâncias percorridas (AFDP) Figura Comparação percentual (AFDP) Figura Grau de distribuição médio (AFDM) Figura Comparação das distâncias percorridas (AFDM) Figura Comparação percentual (AFDM) Figura Grau de distribuição médio (AFDG) Figura Comparação das distâncias percorridas (AFDG) Figura Comparação percentual (AFDG)...230

13 XIII Figura Grau de distribuição médio (AFEP) Figura Comparação das distâncias percorridas (AFEP) Figura Comparação percentual (AFEP) Figura Grau de distribuição médio (AFEM) Figura Comparação das distâncias percorridas (AFEM) Figura Comparação percentual (AFEM) Figura Grau de distribuição médio (AFEG) Figura Comparação das distâncias percorridas (AFEG) Figura Comparação percentual (AFEG) Figura Grau de distribuição médio (Div) Figura Comparação das distâncias percorridas (Div) Figura Comparação percentual (Div) Figura Melhoria percentual do makespan Figura Melhoria percentual da distância percorrida Figura Variação percentual das distâncias (AFD) Figura Variação percentual das distâncias (AFE) Figura Diferença percentual do GDD obtido pelo AG sobre o ALVO Figura Diferença percentual da distância percorrida (AG sobre ALVO) Figura Três diferentes sementes fractais Figura Comparação entre algoritmos genéticos Figura Comparação entre algoritmos genéticos Figura Arranjos físicos com GDD= Figura Arranjos físicos com GDD= Figura A.1 - Arranjo físico posicional Figura A.2 - Arranjo físico funcional Figura A.3 - Distribuição do tempo de produção de uma peça Figura A.4 - Arranjo físico em linha Figura A.5 - Arranjo físico celular Figura B.1- Mapeamento e curva de Peano Figura B.2 - Curva de Peano com 6 divisões por lado Figura B.3 - Curvas de Peano com 9 e 27 divisões nas faces...292

14 XIV Figura B.4 - Curva de Peano Switch-back Type (Peano-S) Figura B.5 - Curva de Peano Switch-back Type (Peano-R) Figura B.6 - Curva de Peano Meander Type (Peano-M) Figura B.7 - Criação da curva de preenchimento espacial de Hilbert Figura B.8 - Criação da curva de preenchimento de Moore Figura B.9 - Construção da curva de Sierpinski Figura B.10 - Construção da curva modificada de Sierpinski Figura B.11 - Construção da curva modificada de Sierpinski Figura B.12 - Construção da curva de Hilbert em 3D Figura B.13 - Tela do programa SFC Figura C.1 - Arranjo físico funcional com 4 processos e 9 máquinas Figura C.2 - Janela com o resultado do cálculo Figura D.1 - Exemplo de grafo Figura D.2 - Grafo exemplo Figura D.3 - Grafo separado em níveis Figura D.4 - Grafo referente à Tabela D Figura D.5 - Implementação do Algoritmo Figura D.6 - Exemplo com elementos numéricos Figura E.1 - Estrutura geral de um algoritmo genético Figura E.2 - Arranjo físico funcional adotado para iniciar para o AG Figura E.3 - Tela após a execução do algoritmo genético Figura E.4 Arranjo físico obtido pelo algoritmo genético Figura G.1 - Dimensões para 3 máquinas Figura G.2 - Dimensões para 4 máquinas Figura G.3 - Dimensões para 5 máquinas Figura G.4 - Dimensões para 6 máquinas Figura G.5 - Dimensões para 7 máquinas Figura G.6 - Dimensões para 8 máquinas Figura G.7 - Dimensões para 9 máquinas Figura G.8 - Dimensões para 10 máquinas...330

15 XV Figura H.1 - Arranjo físico Figura H.2 - Árvore de rotas Figura H.3 - Gráfico de Gantt e matriz de alocação (rígido) Figura H.4 Gráfico de Gantt e matriz de alocação (flexibilidade) Figura I.1 - Vetor P com o primeiro elemento Figura I.2 - Vetor P antes e depois da primeira inserção do elemento B Figura I.3 - Vetor P antes e depois da segunda inserção do elemento B Figura I.4 - Inserções do elemento C na primeira origem Figura I.5 - Últimas 3 inserções do elemento C Figura I.6 - Passos para inserção de um quarto elemento Figura I.7 - Tela do programa de permutação Figura I.8 - Permutação dos elementos da Figura I Figura I.9 - Teste de permutação com 10 elementos Figura J.1 - Relações de precedência de uma peça Figura J.2 - Fluxograma do gerador de seqüências Figura J.3 - Tela do programa protótipo Figura J.4 - Arquivos gerados para a peça da Figura J Figura J.5 - Exemplo de Groover (1987, p.169) Figura J.6 - Tela com os dados do exemplo de Groover (1987, p.169) Figura J.7 - Arquivos gerados para o exemplo de Groover (1987, p.169) Figura K.1 - Arranjo físico Figura K.2 - Gráfico de Gantt e matriz de alocação Figura K.3 - Peças para arranjo com 15 processos Figura K.4 - Organização dos dados de roteamento Figura L.1 - Teste de hipótese (AFDP) Figura L.2 - Teste de hipótese (AFDM) Figura L.3 - Teste de hipótese (AFDG) Figura L.4 - Teste de hipótese (AFEP) Figura L.5 - Teste de hipótese (AFEM)...393

16 XVI Figura L.6 - Teste de hipótese (AFEG) Figura L.7 - Teste de hipótese...395

17 XVII LISTA DE TABELAS Tabela Nomenclatura relacionada ao arranjo físico distribuído...20 Tabela Características das estações de trabalho...22 Tabela Dados para cada tipo de estação de trabalho...23 Tabela Probabilidade de ocorrência de cada nível de demanda...30 Tabela Probabilidade para diferentes combinações de demanda...30 Tabela Quantidade de peças para cada nível de demanda...30 Tabela Seqüências de manufatura das peças...31 Tabela Matriz de fluxo para a combinação de demanda AAAA...31 Tabela Fatores de simulação...36 Tabela Nível dos fatores dos casos observados...36 Tabela Dados dos experimentos de Benjaafar e Sheikhzadeh (2000)...37 Tabela Exemplo de distribuição de demanda para o Caso Tabela Níveis de duplicação de departamentos...44 Tabela Características de alguns tipos de arranjo...50 Tabela Matriz Peça x Máquina com flexibilidade...57 Tabela Peças com processos flexíveis...58 Tabela Relações de precedência...60 Tabela Divisão do processo em níveis...61 Tabela Dados de tempos de processamento...70 Tabela Cálculo do makespan para a seqüência T3-T Tabela Cálculo do makespan para a seqüência T1-T Tabela Cálculo do makespan para a seqüência T2-T3-T Tabela Cálculo do makespan para a seqüência T3-T2-T Tabela Cálculo do makespan para a seqüência T3-T1-T Tabela Máquinas do exemplo...90 Tabela Cálculo da relação percentual entre os índices Tabela Espaço ocupado pelos arquivos...152

18 XVIII Tabela Número de máquinas por processo (AFDP) Tabela Grau de distribuição dos AFDP Tabela Número de máquinas por processo (AFDM) Tabela Grau de distribuição dos AFDM Tabela Número de máquinas por processo (AFDG) Tabela Grau de distribuição dos AFDG Tabela Grau de distribuição dos AFEP Tabela Grau de distribuição dos AFEM Tabela Grau de distribuição dos AFEG Tabela Grau de distribuição dos arranjos físicos Tabela Redução percentual entre os graus de distribuição (AFDP) Tabela Diferença percentual entre distâncias (AFDP - RR) Tabela Diferença percentual entre distâncias (AFDP - RF) Tabela Redução percentual da RF sobre a RR (AFDP) Tabela Redução percentual entre os graus de distribuição (AFDM) Tabela Diferença percentual entre distâncias (AFDM - RR) Tabela Diferença percentual entre distâncias (AFDM - RF) Tabela Redução percentual da RF sobre a RR (AFDM) Tabela Redução percentual entre os graus de distribuição (AFDG) Tabela Diferença percentual entre distâncias (AFDG - RR) Tabela Diferença percentual entre distâncias (AFDG - RF) Tabela Redução percentual da RF sobre a RR (AFDG) Tabela Redução percentual entre os graus de distribuição (AFEP) Tabela Diferença percentual entre distâncias (AFEP - RR) Tabela Diferença percentual entre distâncias (AFEP - RF) Tabela Redução percentual da RF sobre a RR (AFEP) Tabela Redução percentual entre os graus de distribuição (AFEM) Tabela Diferença percentual entre distâncias (AFEM - RR) Tabela Diferença percentual entre distâncias (ADEM - RF) Tabela Redução percentual da RF sobre a RR (AFEM) Tabela Redução percentual entre os graus de distribuição (AFEG) Tabela Diferença percentual entre distâncias (AFEG - RR) Tabela Diferença percentual entre distâncias (AFEG - RF)...238

19 XIX Tabela Redução percentual da RF sobre a RR (AFEG) Tabela Redução percentual entre os graus de distribuição (Div) Tabela Diferença percentual entre distâncias (Div - RR) Tabela Diferença percentual entre distâncias (Div - RF) Tabela Redução percentual da RF sobre a RR (Div) Tabela Média das melhorias percentuais (AFD) Tabela Valores de melhoria para arranjos físicos equilibrados Tabela D.1 - Representação de grafo por precedências...305

20 XX LISTA DE QUADROS Quadro Algoritmo para gerar o arranjo mais flexível...31 Quadro Método heurístico...33 Quadro Procedimento para identificar o arranjo mais flexível...34 Quadro Algoritmo Holonic Random (HR)...35 Quadro Matriz Máquinas x RE s...49 Quadro Seqüências de processamento possíveis...61 Quadro Novas seqüências de processamento...62 Quadro Análise do primeiro par de operações...74 Quadro Análise do segundo par de operações...74 Quadro Análise do último par de operações...75 Quadro Resumo da busca pela rota de menor distância percorrida...75 Quadro possíveis seqüências (completamente flexível)...77 Quadro Resultado da análise de alocação para a peça P Quadro Conteúdo (comentado) do arquivo modelo para 6 operações...84 Quadro Disposições ideais para processos entre 3 e 10 máquinas...99 Quadro Cálculo das posições para mais de 10 máquinas Quadro Pseudocódigo da varredura do arranjo físico Quadro Pseudocódigo da contagem de NA Quadro Exemplo de um arquivo de peça Quadro Arquivo GAG (Gráfico de Algoritmo Genético) Quadro Arquivo DPA (Dados Para Arranjo) Quadro Arquivo ARR (ARRanjo) Quadro Estrutura do arquivo Resumo Quadro Estrutura do arquivo Alocação Quadro Estrutura do arquivo Detalhado Quadro Estrutura do arquivo de Gráficos Quadro Estrutura do arquivo Gráficos_Gerais...151

21 XXI Quadro Tempos no roteamento rígido (AFDP) Quadro Distâncias no roteamento rígido (AFDP) Quadro Tempos no roteamento flexível (AFDP) Quadro Distâncias no roteamento flexível (AFDP) Quadro Tempos no roteamento rígido (AFDM) Quadro Distancias no roteamento rígido (AFDM) Quadro Tempos no roteamento flexível (AFDM) Quadro Distâncias no roteamento flexível (AFDM) Quadro Tempos no roteamento rígido (AFDG) Quadro Distancias no roteamento rígido (AFDG) Quadro Tempos no roteamento flexível (AFDG) Quadro Distâncias no roteamento flexível (AFDG) Quadro Tempos no roteamento rígido (AFEP) Quadro Distâncias no roteamento rígido (AFEP) Quadro Tempos no roteamento flexível (AFEP) Quadro Distâncias no roteamento flexível (AFEP) Quadro Tempos no roteamento rígido (AFEM) Quadro Distancias no roteamento rígido (AFEM) Quadro Tempos no roteamento flexível (AFEM) Quadro Distâncias no roteamento flexível (AFEM) Quadro Tempos no roteamento rígido (AFEG) Quadro Distancias no roteamento rígido (AFEG) Quadro Tempos no roteamento flexível (AFEG) Quadro Distâncias no roteamento flexível (AFEG) Quadro Tempos no roteamento rígido Quadro Distancias no roteamento rígido Quadro Tempos no roteamento flexível Quadro Distâncias no roteamento flexível Quadro Dados para o teste de hipóteses Quadro C.1 - Cálculo partindo do processo Quadro C.2 - Cálculo partindo do processo Quadro C.3 - Cálculo partindo dos processos 3 e

22 XXII Quadro D.1 - Algoritmo para determinação de níveis Quadro F.1 - Relações de precedência para peças com 3 operações Quadro F.2 - Relações de precedência para peças com 4 operações Quadro F.3 - Relações de precedência para peças com 5 operações Quadro F.4 - Relações de precedência para peças com 6 operações Quadro F.5 - Relações de precedência para peças com 7 operações Quadro F.6 - Relações de precedência para peças com 8 operações Quadro F.7 - Relações de precedência para peças com 9 operações Quadro F.8 - Relações de precedência para peças com 10 operações Quadro F.9 - Relações de precedência para peças com 11 operações Quadro F.10 - Relações de precedência para peças com 12 operações Quadro F.11 - Relações de precedência para peças com 13 operações Quadro F.12 - Relações de precedência para peças com 14 operações Quadro F.13 - Relações de precedência para peças com 15 operações Quadro I.1 - Pseudocódigo do gerador de permutações Quadro J.1 - Permutações de cada nível Quadro J.2 - Composição dos níveis 1 e Quadro J.3 - Composições finais Quadro J.4 - Composição dos níveis 1 e Quadro J.5 - Dados das composições Quadro K.1 - Arquivo SCH Quadro K.2 - Dados das peças...385

23 XXIII LISTA DE ABREVIATURAS AFD AFDP AFDM AFDG AFE AFEP AFEM AFEG AG Amp DP FFPP FIFO FGS GA GDD Max Méd Min RE RF RR SA SFC TPP Arranjo físico desequilibrado Arranjo físico desequilibrado pequeno Arranjo físico desequilibrado médio Arranjo físico desequilibrado grande Arranjo físico equilibrado Arranjo físico equilibrado pequeno Arranjo físico equilibrado médio Arranjo físico equilibrado grande Algoritmo Genético Amplitude (diferença entre os valores máximo e mínimo) Desvio padrão de um conjunto de dados Fully Flexible Process Plan (Plano de Processo Completamente Flexível) First In First Out (Primeiro que entra Primeiro que sai) Form Generating Schema (Esquema de Geração de Forma) Genetic Algorithm Grau de distribuição Valor máximo de um conjunto de dados Valor médio de um conjunto de dados Valor mínimo de um conjunto de dados Resource Elements (Elementos de Recurso) Roteamento flexível Roteamento rígido Simulated Annealing (Têmpera ou Resfriamento Simulado) Space Filling Curve (Curva de Preenchimento Espacial) Traditional Process Plan (Plano de Processo Tradicional)

24 XXIV LISTA DAS PRINCIPAIS VARIÁVEIS COMPUTACIONAIS Arranjo(L, C) Matriz que representa o arranjo físico c C DI DO FA i II(i) IF(i) IO IP j L L MAII(NA) MAIF(NA) N NA NC ND NL NMD(i) NMP(i) NO(p) NP Variável para contagem de colunas Número de colunas do arranjo físico Duração de um Intervalo de tempo livre em uma máquina Duração de uma Operação Final da operação Anterior Variável para contagem Instante de Início da operação i Instante de Finalização da operação i Início da Operação Início da Próxima operação Variável para contagem Número de linhas do arranjo físico Variável para contagem de linhas Matriz de Alocação Instantes de Início das NA alocações Matriz de Alocação Instantes de Finalização das NA alocações Número de máquinas do processo i Número de alocações em uma máquina Número de colunas de um arranjo físico Número de departamentos Número de linhas de um arranjo físico Número de máquinas do departamento i Número de máquinas do processo i Número de operações da peça p Número de processos de um arranjo físico

25 XXV NumCj NumPec Nome op OpMax OpMin p R Tmax Tmin x X Y Número de conjuntos a serem gerados Número de peças por conjunto a serem geradas Nome dos arquivos de peças Variável indicadora da operação de uma peça Número máximo de operações das peças de um conjunto Número mínimo de operações das peças de um conjunto Contador de peças Raiz do número de máquinas Tempo máximo que pode ser atribuído a uma operação Tempo mínimo que pode ser atribuído a uma operação Usado para receber um valor escolhido aleatoriamente Divisão do arranjo físico no eixo X Divisão do arranjo físico no eixo Y

26 XXVI SUMÁRIO AGRADECIMENTOS... IV RESUMO... VI ABSTRACT... VII LISTA DE FIGURAS... VIII LISTA DE TABELAS... XVII LISTA DE QUADROS... XX LISTA DE ABREVIATURAS... XXIII LISTA DAS PRINCIPAIS VARIÁVEIS COMPUTACIONAIS...XXIV SUMÁRIO...XXVI 1 INTRODUÇÃO Considerações iniciais Objetivos Motivação Organização do trabalho METODOLOGIA DE PESQUISA Considerações iniciais Classificação das metodologias de pesquisa Metodologia de pesquisa adotada Considerações finais ARRANJO FÍSICO Considerações iniciais Conceituando arranjo físico (layout) Novos arranjos físicos Arranjo físico ágil Células virtuais de manufatura Arranjo físico holônico Arranjo físico modular Arranjo físico fractal Arranjo físico distribuído O arranjo físico distribuído Arranjo físico distribuído para cada período Comparação de desempenho Arranjo físico parcialmente distribuído...37

27 XXVII 3.8 Arranjo físico distribuído para vários períodos Elementos de recurso Células virtuais em arranjo físico distribuído Comentários sobre a literatura (arranjo físico distribuído) Considerações finais FLEXIBILIDADE DE SEQUENCIAMENTO Considerações iniciais Tipos de flexibilidade Representação de processos com flexibilidade de seqüência Considerações finais PROGRAMAÇÃO DA PRODUÇÃO Considerações iniciais Programação da produção Planejamento do processo, roteamento e programação Programação de tarefas Exemplo de algoritmo de programação flow shop Roteamento Busca pela melhor rota - roteando a primeira peça Programando outras peças Buscando a melhor rota (com flexibilidade) Considerações finais DESENVOLVIMENTO DA PESQUISA Considerações iniciais Procedimento geral Procedimento automático para geração de peças Procedimentos para geração de arranjos físicos Gerando arranjo físico funcional Gerando arranjo físico parcialmente distribuído Gerando arranjo físico aleatoriamente distribuído Gerando arranjo físico maximamente distribuído Algoritmo genético para maximização da distribuição Codificação População inicial Função de aptidão (avaliação)...102

28 XXVIII Condição de encerramento Nova população Seleção pelo Método da Roleta Roteamento das peças nos arranjos físicos Contagem do número de alocações Intervalo inicial Avaliando intervalos de tempo livres Alocando no final Considerações finais IMPLEMENTAÇÃO DAS FERRAMENTAS COMPUTACIONAIS Considerações iniciais Gerador de peças Métodos de seleção de processo Comentários sobre o gerador de peças Gerador de arranjos físicos Dados de entrada Gerando arranjos físicos Analisando arranjos físicos gerados Maximizando a distribuição de arranjos físicos Comentários sobre o gerador de arranjos Roteamento Selecionando os arranjos físicos Iniciando a simulação Simulando Visualizando os dados da simulação Comentários sobre o roteador Considerações finais RESULTADOS OBTIDOS Considerações iniciais Arranjos físicos desequilibrados pequenos Peças Resultados Arranjos físicos desequilibrados médios Peças...172

29 XXIX Resultados Arranjos físicos desequilibrados grandes Peças Resultados Arranjos físicos equilibrados pequenos Peças Resultados Arranjos físicos equilibrados médios Peças Resultados Arranjos físicos equilibrados grandes Peças Resultados Influência da divisão dos departamentos Peças Resultados Formação espontânea de células fractais Arranjos físicos 4x Arranjos físicos 6x Arranjos físicos 6x Formação de células em arranjos físicos desequilibrados Considerações finais ANÁLISE DOS RESULTADOS Considerações iniciais Arranjos físicos desequilibrados pequenos Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis Arranjos físicos desequilibrados médios Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis...227

30 XXX 9.4 Arranjos físicos desequilibrados grandes Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis Arranjos físicos equilibrados pequenos Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis Arranjos físicos equilibrados médios Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis Arranjos físicos equilibrados grandes Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis Influência da divisão dos departamentos Grau de distribuição Tempo total consumido Distância total percorrida Comparação das variáveis Comparação dos tempos Comparação das distâncias percorridas Arranjo físico equilibrado maximamente distribuído Algoritmo Alvo Algoritmo Genético Formação de células fractais simétricas Diferentes configurações para o mesmo grau de distribuição Considerações finais COMENTÁRIOS E CONCLUSÕES...253

31 XXXI 10.1 Considerações iniciais Tempo total de execução Distância total percorrida modo de roteamento Distância total percorrida tipo de arranjo físico Algoritmo ALVO x Algoritmo Genético Formação espontânea de células Sugestões para desenvolvimentos futuros Considerações finais REFERÊNCIAS BIBLIOGRAFIA CONSULTADA APÊNDICE A - ARRANJOS FÍSICOS CLÁSSICOS A.1 Desenvolvimento dos arranjos físicos clássicos A.2 Características dos arranjos físicos clássicos A.2.1 Arranjo físico posicional A.2.2 Arranjo físico funcional A.2.3 Arranjo físico em linha A.2.4 Arranjo físico celular APÊNDICE B - CURVAS DE PREENCHIMENTO ESPACIAL B.1 Introdução B.2 A curva de Peano B.3 Variações da curva de Peano B.4 Outras curvas de preenchimento B.5 Implementação APÊNDICE C - CÁLCULO DO GRAU DE DISTRIBUIÇÃO C.1 Introdução C.2 Exemplo APÊNDICE D - GRAFOS D.1 Introdução D.2 Conceitos básicos D.3 Algoritmo para determinação de níveis em grafos sem laços D.4 Representação do grafo D.5 Implementação do algoritmo APÊNDICE E - ALGORITMO GENÉTICO E.1 Introdução...309

32 XXXII E.2 Exemplo APÊNDICE F - ESTRUTURAS DE PRECEDÊNCIA F.1 Introdução APÊNDICE G - MODELOS PARA POSICIONAMENTO DE MÁQUINAS G.1 Introdução APÊNDICE H - EXEMPLOS DE ROTEAMENTO H.1 Introdução H.2 Roteamento rígido H.3 Roteamento flexível APÊNDICE I - PERMUTAÇÃO I.1 Introdução I.2 Recursividade I.3 Técnica adotada I.4 Implementação computacional APÊNDICE J - GERADOR DE SEQÜÊNCIAS J.1 Introdução J.2 Procedimento básico J.3 Implementação computacional J.4 Comentários sobre o desempenho computacional J.5 Comentários finais sobre o gerador de seqüências APÊNDICE K - ESTRUTURA DO ARQUIVO SCH K.1 O arquivo SCH APÊNDICE L - TESTES DE HIPÓTESE L.1 Comentários iniciais L.2 Arranjos físicos desequilibrados pequenos L.3 Arranjos físicos desequilibrados médios L.4 Arranjos físicos desequilibrados grandes L.5 Arranjos físicos equilibrados pequenos L.6 Arranjos físicos equilibrados médios L.7 Arranjos físicos equilibrados médios L.8 Arranjos físicos para influência da divisão dos departamentos...395

33 1 1 INTRODUÇÃO 1.1 Considerações iniciais Desde a revolução industrial, no século XVIII, os arranjos físicos adotados pelas empresas de manufatura passam por modificações para adaptarem-se às necessidades de cada mercado em cada época. Os arranjos físicos considerados clássicos são: posicional, por processo (ou funcional), por produto (ou em linha) e celular (SLACK et al., 1996, p.212). O arranjo físico posicional se diferencia dos demais por atender a produtos e peças de grandes dimensões, dificultando ou impossibilitando seu deslocamento entre as máquinas dos diversos processos. Os outros três arranjos físicos têm objetivos claramente distintos. O arranjo físico funcional tem grande flexibilidade e atende muito bem aos mercados que trabalham com pequenos lotes sob encomenda. Porém, com tal flexibilidade, sua produtividade acaba por ser baixa (GROOVER, 1987, p.28). No início do século XX, quando o mercado passou a desejar grandes produções, foi desenvolvido o arranjo em linha onde a produtividade era o foco principal (BLACK, 1991, p.58). A produção em massa atendeu às necessidades enquanto a baixa variação entre os produtos era aceita. Durante meados do século XX modificações nas exigências dos consumidores levaram alguns setores a novas adaptações. Tratava-se da produção de itens com maior quantidade de variações para atender ao crescente desejo de personalização do mercado consumidor (GROOVER e ZIMMERS, 1984, p.275). O arranjo físico celular foi a solução adotada para atingir níveis de flexibilidade e produtividade adequados. Apesar de cada arranjo físico atender a um tipo de mercado específico Slack et al. (1996, p.217) lembram que é prática comum as empresas adotarem

34 2 arranjos físicos mistos que combinem elementos de algum ou de todos os tipos básicos de arranjo físico ou, alternativamente, usam tipos básicos de arranjo físico de forma pura em diferentes partes da instalação. A grande difusão desses arranjos físicos levou ao desenvolvimento de diversas técnicas e metodologias de planejamento e controle da produção que foram adaptadas a cada caso (previsão de demanda, balanceamento de linha, controle de estoques, automação da manufatura, projeto de arranjo físico etc). Benjaafar, Heragu e Irani (2002, p.58) mostram que as recentes tendências de alguns setores da indústria sugerem que as configurações clássicas de arranjo físico não reúnem as características necessárias para atender aos empreendimentos multi-produtos e que é necessária uma nova geração de arranjos físicos que devem ser flexíveis, modulares e fáceis de serem reconfiguráveis. Alguns novos arranjos físicos foram propostos para atender a essas condições. Benjaafar, Heragu e Irani (2002, p.66) citam os arranjos físicos ágil, modular e distribuído. Além desses Askin, Ciarallo e Lundgren (1999, p.962) apresentam o arranjo holônico e o arranjo fractal como opções para atuar nesse ambiente. Diversos trabalhos têm abordado esses arranjos físicos, seja formulando métodos de projeto, seja comparando seu desempenho com outras distribuições. Esta pesquisa irá abordar o arranjo físico distribuído e suas variações. 1.2 Objetivos O objetivo geral desta pesquisa foi comparar, usando simulação, o desempenho dos arranjos físicos distribuídos levando em consideração a flexibilidade de processo das peças. Foram comparados os arranjos físicos funcional, parcialmente distribuído, aleatoriamente distribuído e maximamente distribuídos. Para atingir esse objetivo geral os seguintes objetivos específicos nortearam o desenvolvimento do trabalho: Implementar um programa computacional que gere arranjos físicos funcional, parcialmente distribuído e aleatoriamente distribuído. Gerar conjuntos de 50 arranjos físicos de cada tipo

35 3 em três diferentes tamanhos (pequeno - 20 máquinas, médio - 40 máquinas e grande - 80 máquinas) 1 e em duas configurações (desequilibrado - departamentos com número de máquinas diferentes e equilibrado - departamentos com mesmo número de máquinas); Desenvolver uma metodologia para gerar o arranjo maximamente distribuído (holográfico). Implementar computacionalmente essa metodologia e gerar um arranjo físico deste tipo para cada uma das 6 configurações citadas anteriormente; Implementar um algoritmo genético para maximizar a distribuição dos arranjos físicos. Comparar os resultados obtidos por essa técnica com os obtidos pela metodologia proposta no item anterior; Desenvolver uma metodologia para gerar automaticamente peças com flexibilidade de processo seguindo as relações de precedência entre suas operações. Implementar essa metodologia para gerar 30 conjuntos de peças para cada tamanho de arranjo físico; Desenvolver um método para rotear as tarefas levando em consideração sua prioridade de execução e todas as suas possíveis seqüências de fabricação. Implementar esse método computacionalmente; Obter o tempo total de execução de cada conjunto de peças em cada um dos arranjos físicos e comparar o desempenho do arranjo físico maximamente distribuído com relação aos demais. Repetir os experimentos sem considerar a flexibilidade de processo. Analisar a influência do grau de divisão dos departamentos em arranjos físicos com mesmo número de máquinas em todos os departamentos. 1 Esses tamanhos de arranjos físicos foram baseados principalmente nos trabalhos de Montreuil e Venkatadri (1991), Askin, Ciarallo e Lundgren (1999), Benjaafar e Sheikhzadeh (2000) e Benjaafar, Heragu e Irani (2002).

36 4 1.3 Motivação Para Benjaafar (1995, p.421) a flexibilidade das instalações de manufatura é de extrema importância para que as empresas possam atuar em ambientes caracterizados por possuir alto grau de variedade e volatilidade. O autor acrescenta ainda que existe abundante literatura sobre flexibilidade em manufatura que aborda máquinas, manuseio de material, conjunto de produtos, roteamento de peças e seqüenciamento de operações, porém pouco desta literatura trata da flexibilidade do arranjo físico. O arranjo físico maximamente distribuído desponta como uma opção para atender a esses ambientes, mas nenhum trabalho da literatura realizou uma análise de seu desempenho levando em consideração peças com flexibilidade de seqüenciamento de suas operações. Os primeiros trabalhos que abordaram o arranjo físico distribuído basearam-se em informações que, segundo Baykasoglu (2003, p.2598), não estariam disponíveis em um ambiente turbulento, colocando em dúvida alguns dos resultados obtidos. Dentre esses resultados o que mais motivou esta pesquisa foi a pequena vantagem do arranjo físico maximamente distribuído sobre o parcialmente distribuído relatado por Benjaafar e Sheikhzadeh (200, p.320) e também por Lahmar e Benjaafar (2001, 2002a, 2002b, e 2005). Nesses trabalhos os autores afirmam que a desagregação completa dos departamentos não se justifica pois a maior parte dos benefícios são obtidos quando os departamentos são divididos em dois. Também é motivante o comentário de Askin, Ciarallo e Lundgren (1999) onde afirmam que a pesquisa sobre arranjos físicos distribuído e fractal, tanto relacionado com projeto quanto com desempenho, são bastante limitadas. Assim, espera-se que com o uso da flexibilidade no seqüenciamento das operações o arranjo físico maximamente distribuído possa mostrar um desempenho significativamente maior.

37 5 1.4 Organização do trabalho Esta tese está organizada em 10 capítulos, incluindo este que apresentou o contexto no qual o trabalho se insere, seu objetivo geral e os objetivos específicos. O capítulo 2 apresenta alguns conceitos sobre metodologia científica e descreve a metodologia de pesquisa adotada para o desenvolvimento do trabalho. A pesquisa bibliográfica foi dividida em três partes. No capítulo 3 tem-se o estado da arte sobre o arranjo distribuído. O capítulo 4 trata da flexibilidade de seqüenciamento das operações, que é um dos pontos chave da proposta. No capítulo 5 são apresentados conceitos sobre programação da manufatura. A metodologia proposta é detalhada no capítulo 6 e as implementações computacionais desenvolvidas estão no capítulo 7. No capítulo 8 estão os resultados obtidos nas simulações enquanto as análises e discussões são apresentadas no capítulo 9. Comentários, conclusões e sugestões para futuros desenvolvimentos formam o conteúdo do capítulo 10. Informações importantes, mas que não são fundamentais, foram colocadas em 11 apêndices para não tirar a fluidez do texto principal.

38 6 2 METODOLOGIA DE PESQUISA 2.1 Considerações iniciais Neste capítulo são apresentados alguns conceitos sobre metodologia científica. Em seguida descreve-se a metodologia de pesquisa adotada para o desenvolvimento deste trabalho com o detalhamento de cada fase. 2.2 Classificação das metodologias de pesquisa Segundo Cervo e Bervian (1983, p.50) pesquisa é a atividade voltada para a solução de problemas através do emprego de métodos científicos, partindo de uma dúvida ou problema e buscando uma resposta ou solução. Gil (1987, p.19) cita que a pesquisa é desenvolvida com base nos conhecimentos disponíveis e com a utilização cuidadosa de métodos, técnicas e outros procedimentos científicos. Gewandsznajder (1989, p.3) define método como uma série de regras para tentar resolver um problema, sendo que no caso do método científico estas regras são bem gerais e não são infalíveis. Acrescenta ainda que uma de suas características básicas é a tentativa de resolver problemas por meio de suposições (hipóteses) que possam ser testadas em observações ou experiências. Lakatos e Marconi (1991, p.83) definem método como o conjunto das atividades sistemáticas e racionais que, com maior segurança e economia, permite alcançar o objetivo (conhecimentos válidos e verdadeiros), traçando o caminho a ser seguido, detectando erros e auxiliando as decisões do pesquisador. Lakatos e Marconi (1991, p.86) apresentam os seguintes tipos de métodos: indutivo, dedutivo, hipotético-dedutivo, dialético e métodos

39 7 específicos das ciências sociais (histórico, comparativo, monográfico, estatístico, tipológico, funcionalista e estruturalista). De forma resumida tem-se: Método indutivo: o estudo dos fenômenos leva, geralmente, a planos cada vez mais abrangentes, indo das constatações particulares para leis e teorias. Método dedutivo: parte de teorias e leis para predizer a ocorrência de fenômenos particulares; Método hipotético-dedutivo: pela percepção de uma lacuna nos conhecimentos são formuladas hipóteses e, pelo processo de inferência dedutiva, testa-se a predição da ocorrência de fenômenos abrangidos pelas hipóteses; Método dialético: que penetra o mundo dos fenômenos através de sua ação recíproca, da contradição inerente ao fenômeno e da mudança dialética que ocorre na natureza e na sociedade. Quanto à natureza da pesquisa Gewandsznajder (1989, p.16) classifica como básica e aplicada. Enquanto a pesquisa básica busca gerar conhecimentos novos úteis para o avanço da ciência (mesmo que sem aplicação prática imediata) a pesquisa aplicada procura compreender fenômenos específicos que possam ter uso prático. Salomon (1973, p.141) denomina a pesquisa básica de pura ou teórica e comenta ainda que outros autores dão preferência ao termo pesquisa fundamental. Com relação aos tipos de dados coletados e pela análise que se fará desses dados Chizzotti (1991, p.52) classifica as pesquisas como: Quantitativa: baseia-se na mensuração de variáveis preestabelecidas, procurando verificar e explicar sua influência sobre outras variáveis, Qualitativa: fundamenta-se em dados coligidos nas interações interpessoais, na co-participação das situações dos informantes, analisadas a partir da significação que estes dão aos seus atos. Gil (1987, p.45) classifica as pesquisas, com base em seus objetivos gerais, em três grandes grupos: exploratórias, descritivas e explicativas. A pesquisa exploratória tem como objetivo proporcionar maior familiaridade com o problema de modo a torná-lo mais evidente. Envolve levantamento

40 8 bibliográfico e estudos de casos. A pesquisa descritiva busca descrever as características de determinado fenômeno ou estabelecer relações entre variáveis. Envolve técnicas padronizadas de coleta de dados como questionários e observação sistemática. A pesquisa explicativa é realizada quando se deseja identificar os fatores que determinam (ou que contribuem) para a ocorrência dos fenômenos. Com relação ao procedimento geral adotado Cervo e Bervian (1983, p.54) citam três tipos de pesquisa: bibliográfica (permite conhecer e analisar as contribuições existentes sobre o tema), descritiva (observa, analisa e correlaciona as variáveis sem manipulá-las) e experimental (o pesquisador controla as variáveis do objeto em estudo). A pesquisa descritiva divide-se ainda em: estudos exploratórios, estudos descritivos, pesquisa de opinião, pesquisa de motivação, estudo de caso e pesquisa documental. Gil (1987, p.51) acrescenta outros tipos de pesquisa: documental (semelhante à bibliográfica, mas diferente na natureza das fontes), ex-post-facto (experimento realizado depois da ocorrência de um evento sobre o qual o pesquisador não teve influência ou controle), levantamento, pesquisa-ação e pesquisa participante. 2.3 Metodologia de pesquisa adotada De acordo com o conteúdo abordado no item anterior este trabalho é de natureza aplicada com objetivo exploratório. Usará o método hipotéticodedutivo com abordagem quantitativa por meio de pesquisa bibliográfica e pesquisa experimental. O fluxograma apresentado pela Figura 2.1 mostra a seqüência de etapas percorridas no desenvolvimento da pesquisa, desde a fase de pesquisa bibliográfica exploratória, que permitiu a definição do tema, até a redação final. Para fornecer embasamento a cada elemento da metodologia proposta, novas pesquisas à literatura mostraram-se necessárias, conforme o trabalho foi sendo desenvolvido.

41 9 Pesquisa bibliográfica exploratória Manufatura virtual Células virtuais de manufatura Sistema holônicos de manufatura Manufatura ágil Novos arranjos físicos em manufatura Definição do campo Pesquisa bibliográfica sobre arranjo físico distribuído Definição da lacuna Estudar o arranjo físico distribuído levando em consideração peças com flexibilidade de seqüência de fabricação. Pesquisa bibliográfica sobre flexibilidade na seqüência de fabricação Permutação Pesquisa bibliográfica sobre arranjos físicos Funcional, parcialmente distribuído, aleatoriamente distribuído e maximamente distribuído. Curvas de preenchimento espacial e algoritmo genético. Aprimoramento do procedimento para formação de arranjo maximamente distribuído Pesquisa bibliográfica sobre programação e roteamento de tarefas Implementação computacional Experimentação e coleta de dados Análises e conclusões Redação final Figura Fluxograma de desenvolvimento da pesquisa

42 10 Para obter uma melhor representação a etapa denominada implementação computacional foi posicionada após todo o processo de pesquisa bibliográfica. Porém, na realidade, foram implementados diversos pequenos programas simultaneamente a cada assunto pesquisado na literatura. Essa opção permitiu explorar cada elemento com maior profundidade, levando a uma assimilação mais sólida e consistente dos conceitos. De forma similar, a redação foi realizada praticamente durante todo o processo de pesquisa. A etapa denominada redação final refere-se realmente ao processo de verificação e finalização do texto. 2.4 Considerações finais Este capítulo abordou alguns conceitos sobre metodologia científica e apresentou a metodologia adotada para desenvolver a pesquisa. No capítulo seguinte tem-se a revisão bibliográfica sobre o arranjo físico, destacando o arranjo físico distribuído.

43 11 3 ARRANJO FÍSICO 3.1 Considerações iniciais O início deste capítulo apresenta o conceito de arranjo físico e, em seguida, apresenta as novas propostas existentes para empresas que atuam em ambientes caóticos. Em seguida detalha as diferentes abordagens usadas por diversos autores sobre o arranjo distribuído, destacando o fato de que nenhum trabalho utilizou flexibilidade de processo em suas análises. 3.2 Conceituando arranjo físico (layout) Layout é uma palavra da língua inglesa que faz parte da terminologia de diversas áreas profissionais. A título de exemplo pode-se citar que em editoração e diagramação significa a forma de organização de elementos textuais e gráficos nas páginas de um documento (COUTO, 1961, p.168). Já, no projeto de circuitos eletrônicos, significa a disposição dos componentes na placa de circuito impresso (WEIGEL, 2005, p.56). Em manufatura este termo está relacionado com a disposição dos recursos de produção na instalação industrial (GROOVER, 1987, p.27). Dessa forma nota-se que o conceito geral para layout é o mesmo e, de acordo com Ferreira (1988, p.389), há um brasileirismo para esse termo. leiaute. Substantivo masculino. Brasileirismo 1. Populares. Esboço de anúncio, em que se apresentam ressaltados os seus diversos elementos (título, texto, ilustração etc.). 2. Por extensão. Esboço, projeto, planejamento ou esquema de uma obra, apresentados graficamente. 3. Distribuição física de elementos num determinado espaço. Com relação aos trabalhos em língua portuguesa não há uma padronização. Autores como Torres (2001), Porto et al. (2002) e Martins et al.

44 12 (2003) usam a palavra layout em seus textos. Seu equivalente em português também é usado em diversos trabalhos, podendo-se citar como exemplo, Lucero (2001) e Rodrigues, Branco e Rosa (2003). Com freqüência o termo arranjo físico aparece juntamente com outros termos como, por exemplo, em Fischer (2000), Tavares (2000), Torres (2001) e Zattar (2004). Neste trabalho foi dada preferência aos termos existentes na língua portuguesa, mas sempre apresentando a nomenclatura original. 3.3 Novos arranjos físicos Benjaafar, Heragu e Irani (2002, p.58) mostram que as recentes tendências da indústria sugerem que as configurações clássicas 2 de arranjo físico não reúnem as características necessárias para atender aos empreendimentos multi-produtos e que é necessária uma nova geração de arranjos que devem ser flexíveis, modulares e fáceis de serem reconfiguráveis. Isso se deve ao fato de alguns segmentos da indústria de manufatura estarem expostos a um ambiente turbulento. De acordo com Rheault, Drolet e Abdulnour (1995, p.221) um ambiente turbulento é caracterizado por: Alta variação na demanda; Alta variação nos tamanhos de lotes de produção; Alta variação nos tempos de processamento; Alta variação nos tempos de preparação; Demanda estocástica (parcialmente ou totalmente); Freqüentes mudanças no conjunto de produtos; Seqüências de produção variáveis; Forte competição. Os novos arranjos citados por Benjaafar, Heragu e Irani (2002, p.66) são: arranjo ágil, arranjo modular e arranjo distribuído. Askin, Ciarallo e Lundgren (1999, p.962) apresentam o arranjo holônico e o arranjo fractal. Além disso, é necessário citar as células virtuais de manufatura que, apesar de não se tratar de um arranjo físico propriamente dito, estão diretamente relacionadas com o tema em questão. 2 Maiores informações sobre os arranjos físicos clássicos estão no Apêndice A.

45 Arranjo físico ágil Apesar desse nome o arranjo físico ágil (agile layout) não é um tipo específico de configuração de chão de fábrica. Benjaafar, Heragu e Irani (2002, p.71) usam esta denominação quando a instalação permite freqüentes reconfigurações na disposição dos equipamentos. Quando necessário o arranjo físico é reprojetado para maximizar o desempenho operacional ao invés de minimizar o custo de movimentação de material. Porém os autores acrescentam que capturar a relação entre a configuração do arranjo físico e o desempenho operacional é muito difícil. Montreuil et al. (1993, p.1) também destacam que o problema de reprojeto não é grave se as estações de trabalho são leves e fáceis de serem movidas, fazendo com que a mudança de leiaute seja rápida e de baixo custo. Benjaafar, Heragu e Irani (2002, p.65) citam as máquinas portáteis (portable machine) como uma forte tendência para solucionar as dificuldades e custos de alteração da distribuição física Células virtuais de manufatura Também não se trata especificamente de um arranjo físico propriamente dito pois pode ser aplicado em qualquer disposição de máquinas. O conceito de células virtuais (virtual cells ou virtual manufacturing cells) foi proposto, segundo Irani, Cavalier e Cohen (1993, p.793), pelo National Bureau of Standards para solucionar um problema específico de controle para a Automated Manufacturing Research Facility (AMRF). A primeira vez que um sistema de produção baseado em células virtuais foi chamado de Sistema Virtual de Manufatura Celular (Virtual Cellular Manufacturing System - VCMS) foi em 1996, como mostrado por Ko e Egbelu (2003, p.2367). O termo virtual foi adotado nesta estrutura de controle da produção para se distinguir das células de manufatura reais que são definidas por grupos fixos de equipamentos no chão de fábrica (MCLEAN, BLOOM e HOPP, 1982, p.108, grifos dos autores). As células virtuais estendem o conceito de células definido em tecnologia de grupo por permitirem o compartilhamento de estações de trabalho com outras células virtuais que produzem diferentes famílias de peças e que tem sobreposição de recursos requeridos.

46 14 Sarker e Li (2001, p.673) destacam que as células virtuais são agrupamentos lógicos das máquinas e não são mais reconhecidas por sua proximidade física, ou seja, os grupos não são fisicamente identificáveis. A Figura 3.1 mostra três células virtuais, com uma máquina compartilhada em um chão de fábrica com vinte máquinas de quatro tipos diferentes. A1 B2 C3 D4 D5 D1 C1 C5 D2 A4 A2 B3 B1 B5 C4 D3 C2 A3 B4 A5 Adaptado de Sarker e Li (2001, p.674) Figura Três células virtuais A Figura 3.1 permite notar que não há um padrão na disposição das máquinas no chão de fábrica. Irani, Cavalier e Cohen (1993, p.807) sugerem que as máquinas que são compartilhadas permaneçam em um arranjo físico funcional, próximo ou entre as células. Benjaafar e Sheikhzadeh (1996, p.853) sugerem o uso de um arranjo físico completamente distribuído, onde as cópias de cada tipo de máquina são completamente dispersas no chão de fábrica. Na opinião de Baykasoglu (2003, p.2599) o arranjo físico distribuído é, provavelmente, a mais apropriada opção para implementação de células virtuais de manufatura. O arranjo físico distribuído será discutido posteriormente Arranjo físico holônico O termo arranjo físico holônico (holonic layout) não é um consenso entre os pesquisadores. Askin, Ciarallo e Lundgren (1999, p.964) denominam um arranjo físico dessa forma quando as máquinas são dispostas aleatoriamente no chão de fábrica, porém, essa é a característica de um arranjo físico distribuído, como será discutido posteriormente. Baykasoglu (2003, p.2599) comenta que o arranjo físico holônico é similar ao arranjo físico distribuído. Ozcelik e Islier (2003, p.2712) consideram o arranjo físico holônico como sendo

47 15 a configuração mais geral, pois os leiautes por processo, celular e fractal podem ser visualizados como casos especiais dessa configuração. Nomden e Slomp (2003, p.2) destacam que o arranjo físico distribuído também é chamado de holônico, holográfico ou espalhado e citam o trabalho de Montreuil et al. (1993) que distingue estes arranjos físicos pela forma como os recursos são duplicados 3. De qualquer forma, a intenção é providenciar rotas mais eficientes para qualquer tipo de peça que o sistema deva produzir. Conforme as ordens chegam ao sistema as rotas necessárias à sua execução são construídas pela procura de máquinas disponíveis e capazes de executar cada operação. É muito difundido na literatura o termo Sistema Holônico de Manufatura (holonic manufacturing systems) que não está envolvido diretamente com o arranjo físico do chão de fábrica e sim com o inter-relacionamento entre os elementos de produção, ou seja, a ênfase é dada no sistema de controle da manufatura como mostram os trabalhos de McFarlane (1995), Valckenaers et al. (1998), Bussmann e McFarlane (1999), Wang (2001), Wullink, Giebels e Kals (2002) e Cheng, Chang e Wu (2004). Askin, Ciarallo e Lundgren (1999, p.962) mostram que o filósofo húngaro chamado Arthur Koestler 4 propôs a palavra holon para descrever a unidade básica das organizações sociais e biológicas. Kriz (1995) acrescenta que holon é a combinação da palavra grega holos, que significa todo, e do sufixo on, significando partícula ou parte. A força de uma organização holônica, denominada de holarquia (holarchy) está na habilidade de construir sistemas muito complexos que, entretanto, são eficientes no uso de recursos, resistentes a distúrbios (tanto internos quanto externos) e adaptáveis às alterações no ambiente no qual existe Arranjo físico modular O arranjo físico modular (layout modules) foi apresentado por Irani e Huang (2000). Ao contrário dos arranjos tradicionais esta proposta não assume 3 Esta referência não está correta, pois esse artigo de 1993 não define estes arranjos físicos. O trabalho que os autores desejavam citar é MONTREUIL, B.; VENKATADRI, U.; LEFANÇOIS, P. (1991). Holographic layout of manufacturing systems. Technical Report No , Faculty of Management, Laval University, Québec, Canada. 4 KOESTLER, A. (1968). The ghost in the machine. New York, Macmillan.

48 16 padrões de fluxo ou critérios de agrupamento de máquinas. O fluxo de material é decomposto em uma rede de módulos e cada módulo representa parte da instalação. Um módulo é um grupo de máquinas conectadas por um fluxo de material bem definido. Como mostra a Figura 3.2 os autores definiram seis tipos de módulo. Módulo fluxo em linha A B C D E Módulo fluxo em linha ramificado A B C E D E E E C Módulo centro de usinagem B D A+B+C A Módulo célula E B C D A Módulo funcional E A B C Módulo fluxo padronizado D E Adaptado de Irani e Huang (2000, p.260) Figura 3.2- Os seis tipos de módulos Módulo fluxo em linha (flowline module): é um arranjo linear de máquinas onde todos os produtos movem-se em seqüência, sem retorno a uma operação anterior e sem saltar nenhum equipamento. Módulo fluxo em linha ramificado (branched flowline module): ocorre quando um conjunto de produtos possui alguma diferença e divide o fluxo em ramificações paralelas com operações específicas. Posteriormente essas ramificações unem-se novamente ao fluxo único. Módulo célula (cell module): é composto por um conjunto de máquinas que produzem uma família de peças ou produtos sem necessitar de nenhuma máquina externa ou visita a outro módulo. As peças da família podem não usar todas as máquinas do módulo e/ou ter a mesma seqüência de operação.

49 17 Módulo centro de usinagem (machine center module): é uma variação do módulo célula. É uma única máquina automática multifuncional que combina diferentes processos de manufatura. Módulo funcional (functional layout module): este módulo é análogo ao tradicional departamento funcional com fluxo de material aleatório entre as máquinas, ou seja, não há um fluxo dominante. Módulo fluxo padronizado (patterned flow module): o material possui um fluxo dominante e também há a presença de uma hierarquia. Este módulo pode ser decomposto em módulos de fluxo em linha e fluxo em linha ramificado Arranjo físico fractal Segundo Saad e Lassila (2004, p.3530) os conceitos de manufatura fractal (fractal manufacturing) e fábrica fractal (fractal factory) foram propostos por Warnecke 5 (1993). Em matemática a palavra fractal é usada para descrever objetos cuja estrutura repete-se em cada detalhe quando a resolução aumenta, como mostra a Figura 3.3. Baseado de Quaresma, Oliveira e Faria (2000) Figura Exemplo de um fractal 5 WARNECKE, H. J. (1993). The fractal company - a revolution in corporate culture. Berlin, Germany, 1992, reprint, New York: Springer-Verlag.

50 18 A primeira metodologia que aplica a teoria de fábrica fractal no projeto de arranjo físico foi proposta por Venkatadri, Rardin e Montreuil (1997, p.912). Os autores definem o arranjo fractal como sendo uma extensão do arranjo celular, pois o chão de fábrica é dividido em pequenos grupos denominados células fractais ou simplesmente fractais. Na definição original as células fractais são idênticas e podem produzir toda a gama de produtos da empresa, pois possuem pelo menos uma estação de trabalho de cada tipo. Devido a isso Ozcelik e Islier (2003, p.2711) usam o termo fábrica dentro da fábrica (Plant Within a Plant - PWP). Porém diferentes tipos de fractais podem existir na mesma empresa, como mostra a Figura 3.4. Essa especialização das células fractais é abordada com maiores detalhes por Montreuil, Venkatadri e Rardin (1999). M2 M3 M5 M2 M9 M2 M4 M2 M6 M5 M4 M3 M8 M3 M6 M5 M8 M9 M8 M7 M6 M5 M4 M9 M1 M7 M9 M2 M1 M7 M1 M2 Célula 1 Célula 2 Célula 3 Adaptado de Venkatadri, Rardin e Montreuil (1997, p.912) Figura Exemplo de arranjo fractal Saad e Lassila (2004, p.3531) destacam que a abordagem de Venkatadri, Rardin e Montreuil (1997) está baseada em um conjunto conhecido de produtos e respectivas demandas e acrescentam que em um ambiente ágil isso é muito difícil de prever Arranjo físico distribuído Benjaafar, Heragu e Irani (2002, p.66) mostram que este arranjo físico é definido pela distribuição das estações de trabalho por todo o chão de fábrica, como mostra a Figura 3.5, onde é feita uma comparação entre um leiaute funcional e um leiaute distribuído. O objetivo é permitir que a instalação suporte flutuações no volume de produção e nos padrões de fluxo de material.

51 19 Segundo esses autores os planejadores podem encontrar facilmente fluxos eficientes para uma larga faixa de volume e conjunto de produtos (p.66, grifo nosso). Arranjo Funcional Arranjo Distribuído Adaptado de Benjaafar, Heragu e Irani (2002, p.67) Figura Arranjos funcional e distribuído A apresentação desta forma de configuração do chão de fábrica foi feita por Montreuil e Venkatadri (1991) e foram usados os seguintes nomes: arranjo físico distribuído (distributed layout), arranjo físico disperso (dispersed layout) e arranjo físico espalhado (scattered layout). Posteriormente, em Montreuil, Venkatadri e Lefrançois (1991, p.10), os autores passam a usar o termo arranjo físico holográfico (holographic layout). Benjaafar e Sheikhzadeh (2000, p.318) usaram um procedimento puramente aleatório para distribuir máquinas no chão de fábrica e denominaram o resultado como arranjo físico aleatório (random layout), mas comentam que os arranjos obtidos por esse procedimento são chamados de distribuído. Também apresentam um procedimento que busca maximizar a distribuição das máquinas de cada tipo e denominaram o resultado de arranjo físico maximamente distribuído (maximally distributed layout). Lahmar e Benjaafar (2002b, p.3) definem que as nomenclaturas arranjo físico maximamente distribuído e arranjo físico holográfico representam a mesma distribuição de máquinas, ou seja, são sinônimos. Também apresentam o arranjo físico parcialmente distribuído onde os setores não são completamente desagregados, como mostra a Figura 3.6. Nomden e Slomp (2003, p.2) citam o uso dos termos distribuído, espalhado, holográfico e holônico, mas adotam o primeiro.

52 20 Adaptado de Lahmar e Benjaafar (2002, p.3) Figura Arranjo parcialmente distribuído A Tabela 3.1 resume a questão relacionada à nomenclatura. Nota-se a opção de não se utilizar o termo holônico com relação a este tipo de configuração. Nome Tabela Nomenclatura relacionada ao arranjo físico distribuído Arranjo físico distribuído Arranjo físico parcialmente distribuído - Arranjo físico maximamente distribuído Sinônimos Arranjo físico aleatório Arranjo físico disperso Arranjo físico espalhado Arranjo físico holográfico Apesar da influência das pesquisas de Benjaafar e Sheikhzadeh (2000) e Lahmar e Benjaafar (2002) este trabalho não irá diferenciar arranjo físico distribuído e arranjo físico aleatório, adotando a mesma postura de outros autores. Nesses dois artigos as figuras e tabelas comparam quatro tipos de arranjos físicos: funcional, maximamente distribuído, aleatório e distribuído. Porém os textos não definem o que é um arranjo físico distribuído e nem como ele é gerado, ao contrário dos outros três. O arranjo físico parcialmente distribuído também é abordado nesses dois trabalhos.

53 O arranjo físico distribuído O trabalho de Montreuil e Venkatadri (1991) apresentou o arranjo físico distribuído. Os autores destacaram que em um ambiente externo extremamente volátil o conjunto de produtos muda com freqüência, de forma rápida e drástica, sendo impossível reconhecer um padrão de fluxo estável. As únicas entradas estáveis disponíveis para o estudo do projeto do leiaute estão relacionadas com as estações de trabalho: tipos, número de réplicas de cada tipo, utilização esperada, tempo de processamento dos lotes transferidos e unidade de carga equivalente de lotes transferidos (MONTREUIL e VENKATADRI, 1991, p.295). Os autores assumiram que um sistema inteligente de planejamento e controle da produção seria capaz de aproveitar as vantagens da proximidade entre estações de trabalho de diferentes tipos. Quando a instalação não estivesse altamente carregada, as peças que estariam em uma estação de trabalho de um tipo seriam roteadas para a mais próxima estação de trabalho do tipo requerido na etapa seguinte do processo de fabricação. Mesmo que a instalação estivesse mais carregada essa peça seria roteada para a máquina disponível mais próxima (MONTREUIL e VENKATADRI, 1991, p.295). A estratégia heurística de projeto foi dividida em duas fases. Para cada tipo de estação de trabalho, a primeira fase encontra posições minimax 6 para cada estação, dado o número dessas estações. Isto é realizado de forma ótima em um tempo polinomial, caso sejam adotadas distâncias retilineares, ou de forma heurística quando as distâncias são computadas usando uma métrica mais complexa. A segunda fase atribui todo o conjunto de estações de trabalho às locações disponíveis. Um modelo de atribuição linear foi usado para atribuir as estações às localizações de modo a minimizar a soma, sobre todas as estações, da distância ponderada entre a localização onde a estação de trabalho foi definida e a localização minimax computada na fase 1. Em outras 6 De acordo com Francis e White (1974, p.378) minimax é o procedimento que busca minimizar o máximo valor do objeto em estudo. Como exemplo cita a localização de equipes de combate ao fogo em uma grande metrópole. Deve-se minimizar a máxima distância entre estas equipes e qualquer localização da cidade.

54 22 palavras, a fase 2 é responsável por uma relação de compromisso quando duas ou mais estações compartilham uma mesma posição alvo. Segundo Francis e White (1974, p.170) a distância retilinear, retangular, metropolitana ou Manhattam, é uma medida de distância apropriada para um grande número de problemas de locação. A Figura 3.7 mostra três diferentes caminhos retilineares entre dois pontos e que tem a mesma distância retilinear. Adaptado de Francis e White (1974, p.170) Figura Diferentes caminhos retilineares entre dois pontos O artigo não entre em detalhes sobre a técnica minimax citando que a metodologia apresentada por Francis e White (1974) é bem conhecida. O exemplo apresentado envolve 40 máquinas de 15 tipos diferentes. Os dados desse exemplo estão na Tabela 3.2 onde t é o tipo de processo, n t é o número de máquinas do processo t, u t é a taxa de utilização média das máquinas, p t é o tempo de processamento e e t é um fator adotado pelo projetista (itens fáceis de manipular receberam 0.5, os normais 1 e os difíceis 1.5). Tabela Características das estações de trabalho t n t u t (%) p t (hs) e t Adaptado de Montreuil e Venkatadri (1991, p.297)

55 23 Para definir a posição de cada estação de trabalho no arranjo é necessário calcular dois componentes. O primeiro é obtido pelo procedimento minimax e o segundo é a taxa média de deslocamento de/para cada estação de trabalho definida pela eq.(1). t 2.e t.u t pt r = ( 1 ) Com o resultado dessa equação pode-se calcular a probabilidade de ocorrer um deslocamento para cada estação de trabalho como mostra a eq.(2). p (t) = ( r.n ) t t t t r.n t ( 2 ) A Tabela 3.3 apresenta o resultado dos cálculos de r t e p(t) para o exemplo em questão. Tabela Dados para cada tipo de estação de trabalho Tipo de Estação r t p(t) Adaptado de Montreuil e Venkatadri (1991, p.297) A Figura 3.8 mostra o arranjo físico distribuído obtido pelo procedimento, bem como o melhor arranjo físico funcional que foi obtido com os dados fornecidos e que serviu de base de comparação. Cada máquina é representada por um número real onde a parte decimal indica o número da máquina no departamento e a parte inteira indica a qual processo a máquina pertence.

56 Arranjo físico distribuído Arranjo físico funcional Adaptado de Montreuil e Venkatadri (1991, p.298) Figura 3.8 Arranjos físicos distribuído e funcional A Figura apresenta os valores médios da distância mínima entre cada estação de um tipo para a mais próxima estação dos demais tipos. Baseado em Montreuil e Venkatadri (1991, p.298) Figura Média das distâncias mínimas entre estações Por exemplo, da estação tipo 1 para a estação tipo 15 há 7 possíveis percursos com as seguintes distâncias retilineares: 5, 4, 5, 5, 4, 3 e 5. Dessa forma a distância mínima é de 3 unidades, como mostra a célula da linha 1 e coluna 15 ou, simplesmente (1, 15). Este caso não é uma média por existir somente uma estação de origem. No caso, por exemplo, da origem ser uma estação 8 e o destino ser uma estação 15 tem-se as seguintes distâncias retilineares: 5, 6, 7, 3, 4, 5 e 7 para 7 Na tabela original há 7 valores incorretos. São eles: (Linha, Coluna)=(1, 8)=3.00, (3, 4)=7.00, (6, 14)=2.50, (9, 10)=2.50, (11, 15)=1.33, (13, 3)=3.20 e (14, 1)=4.00

57 25 uma das origens e 4, 5, 6, 4, 6, 7 e 8 para a outra. A distância mínima para cada origem são 3 e 4 respectivamente. Portanto, a média é 3.50, como mostra a célula (8, 15). Para comparar os arranjos físicos os autores calcularam um índice que leva em consideração os dados da matriz da Figura 3.9 e a probabilidade p(t) calculada na Tabela 3.3. O artigo não exemplifica o cálculo que é apenas descrito de forma pouco clara em um único parágrafo. Porém, após compreender o procedimento explicado percebe-se que o cálculo é simples e composto de três etapas: primeiro multiplica-se a matriz de distâncias mínimas (Figura 3.9) pelo vetor de probabilidades p(t), obtendo um novo vetor. A segunda etapa consiste em multiplicar esse vetor pelo vetor p(t), obtendo outro vetor. A terceira etapa consiste em realizar o somatório dos elementos desse último vetor. Esse procedimento é apresentado pela Figura X = X = Figura Procedimento de cálculo do índice O índice obtido para o arranjo distribuído foi de 1.79 enquanto que para o arranjo funcional foi o que permite concluir que houve uma melhoria de 29.4% 9 nos tempos de translado entre uma estação de trabalho e a próxima estação requerida pelo processo de fabricação. Nas conclusões destacou-se que o alcance da melhora apresentada é fortemente dependente do sucesso que o sistema de planejamento e controle 8 Provavelmente devido a um erro de transcrição de valores esse índice é apresentado no artigo como 2.74 ao invés de que é o valor que se obtém quando se realiza o cálculo com os valores e procedimentos fornecidos no artigo. 9 No artigo a melhoria calculada foi de 35%, mas está incorreta, pois usou o índice de 2.74 para o arranjo funcional.

58 26 da produção terá na programação dos lotes, tirando vantagens da proximidade entre tipos de máquinas, em tempo real, que o arranjo físico proporciona (MONTREUIL e VENKATADRI, 1991, p.298). Os autores também conjecturam que o desempenho do arranjo físico distribuído, quando comparado ao arranjo funcional, deve se elevar quando o número de estações de trabalho e seus tipos aumentam. Supuseram que em um sistema com 200 máquinas terá melhorias ainda maiores do que o pequeno exemplo apresentado. No artigo Montreuil, Venkatadri e Lefrançois (1991), que é muito similar ao primeiro, os autores adotam o nome holográfico ao invés de distribuído, disperso ou espalhado. A razão apresentada é que apesar desses três nomes representarem bem a característica física do leiaute, falham em capturar a lógica intrínseca que o torna uma alternativa potencial aos arranjos físicos clássicos. Além disso, acrescentaram um exemplo para mostrar a possibilidade de encontrar rotas eficientes. O artigo apresenta uma tarefa que requer a seguinte seqüência de estações de trabalho: 8, 12, 9 e 13. A melhor rota é providenciada pela seqüência com uma distância retilinear de 3 unidades. A média das dez melhores rotas é de 6.3 unidades (a décima rota tem 8 unidades de distância). Em comparação, no arranjo físico funcional, a melhor rota é com distância de 11 unidades (a décima melhor rota tem distância de 13 e a média das dez melhores rotas é 12.2). A Figura 3.11 exibe as dez melhores rotas no arranjo físico distribuído sendo cinco delas iniciando em (em vermelho) e as outras cinco iniciando em (em azul) Baseado em Montreuil, Venkatadri e Lefrançois (1991, p.11) Figura Dez melhores rotas para a seqüência

59 27 Apesar dos dois artigos citados serem os primeiros a divulgarem o arranjo físico distribuído, o trabalho de Montreuil et al. (1993) é considerado a fonte inicial por ser mais completo e detalhado. Compara leiautes funcionais e distribuídos em três configurações: 40 estações com 10 tipos de processo, 150 estações com 30 tipos de processo e 1296 estações com 125 tipos de processo. Todos os experimentos usaram dados gerados aleatoriamente Foi desenvolvido um algoritmo denominado center para gerar o leiaute funcional. A idéia básica é identificar entre todos os processos qual é mais solicitado e colocá-lo no centro do leiaute de forma a minimizar sua distância em relação aos demais processos. Na seqüência os demais processos de grande solicitação são colocados o mais próximo do centro e assim sucessivamente. Os processos de menor utilização acabam nas extremidades. A Figura 3.12 exibe um arranjo físico criado com esse algoritmo contendo 150 estações de trabalho de 30 tipos diferentes. De acordo com os dados apresentados pelos autores, o processo 24 é o mais crítico e, por isso, foi centralizado pelo algoritmo. No outro extremo tem-se o processo 23 que é o menos crítico e que, devido a isso, foi alocado na extremidade do arranjo físico Adaptado de Montreuil et al. (1993, p.3) Figura Resultado do algoritmo center

60 28 Para gerar o arranjo físico distribuído os autores desenvolveram dois algoritmos. O primeiro, denominado target, prioriza os processos e espalha as máquinas de forma aproximadamente eqüidistante. Se o departamento possuir apenas uma máquina ela será colocada no centro. Se possuir duas máquinas o chão de fábrica é dividido em duas partes e cada máquina ficará aproximadamente no centro de cada metade. A Figura 3.13 ilustra esse conceito mostrando as posições para uma, duas, três e quatro máquinas. 1 estação de trabalho 2 estações de trabalho 3 estações de trabalho 4 estações de trabalho Adaptado de Montreuil et al. (1993, p.8) Figura Ilustração do conceito target O algoritmo target gera o arranjo distribuído em 2 fases. A primeira fase gera aleatoriamente uma posição para cada máquina de um mesmo tipo. Em seguida usa um procedimento heurístico para maximizar a distribuição das máquinas. Esse procedimento movimenta uma máquina de cada vez para posições adjacentes à posição atual (Norte, Sul, Leste e Oeste) e calcula o resultado de uma função objetivo a cada movimento em busca de uma posição que otimize a distribuição. Esse procedimento é realizado até que a função objetivo não obtenha nenhuma melhoria. Ao final dessa etapa cada máquina terá sua posição otimizada. Porém, como o procedimento é realizado para cada tipo de máquina separadamente, haverá posições com mais de uma máquina pré-alocada. A segunda fase do algoritmo é responsável por uma relação de compromisso para definir a posição final de cada máquina o mais próximo possível da posição ideal calculada na primeira fase. Essa relação de compromisso leva em consideração dados como taxa de utilização e tempos de processamento dos lotes.

61 29 O segundo algoritmo foi denominado de randomizing e distribui as estações de trabalho de forma puramente aleatória. Os resultados mostram que quanto maior o número de estações de trabalho mais se destaca a vantagem da heurística target sobre a randomizing (MONTREUIL et al., 1993, p.14). O arranjo físico maximamente distribuído (target) também se mostra superior em relação ao arranjo físico funcional e a diferença também cresce com o número de estações de trabalho. As conclusões obtidas pelos autores podem ser resumidas em: É necessário maior estudo para atingir o real potencial do arranjo físico maximamente distribuído (holográfico); O arranjo físico maximamente distribuído permite obter melhores resultados do que o arranjo funcional; Um arranjo físico maximamente distribuído não é uma simples distribuição aleatória das estações de trabalho pelo chão de fábrica; As melhorias que podem ser obtidas com a adoção do arranjo físico holográfico dependem fortemente do sistema de planejamento e controle da produção. A proximidade de diferentes máquinas só será vantajosa se houver um sistema de controle em tempo-real para promover a melhor escolha na programação dos lotes. É importante ressaltar que os procedimentos adotados não consideraram alternativas nos processos de fabricação das peças (flexibilidade de seqüência de processo). Na realidade as simulações foram todas baseadas em probabilidades e não em conjuntos de peças com suas respectivas demandas e seqüências de processo. 3.5 Arranjo físico distribuído para cada período Benjaafar (1995) e Benjaafar e Sheikhzadeh (1996) propõe um procedimento para projetar arranjos físicos que produzem múltiplos tipos de produtos com demanda variável a cada período. A proposta permite avaliar diversos tipos de arranjos físicos distribuídos com diferentes graus de desagregação dos departamentos existentes. Além disso, se um arranjo físico particular for selecionado, o método permite determinar e otimizar de forma sistemática o fluxo de material para cada cenário de demanda.

62 30 Um exemplo do procedimento mostrou o uso de três níveis de demanda (baixa, média e alta) sendo que cada nível tem uma probabilidade de ocorrência pré-definida, como mostra a Tabela 3.4. Na Tabela 3.5 tem-se a probabilidade de ocorrência para diferentes combinações de demanda. Para cada peça é conhecida a sua quantidade de demanda em cada um dos três níveis, como mostra a Tabela 3.6. O autor definiu seqüências fixas de manufatura para as peças (Tabela 3.7) e assumiu que os departamentos do mesmo tipo têm capacidade similar (BENJAAFAR, 1995, p.424). Tabela Probabilidade de ocorrência de cada nível de demanda Demanda Probabilidade de ocorrência Baixa (B) 0.2 Média (M) 0.5 Alta (A) 0.3 Adaptado de Benjaafar (1995, p.424) Tabela Probabilidade para diferentes combinações de demanda Cenários Probabilidade de ocorrência BBBB MMMM AAAA BBBM BBBA BBMA BBMM 0.01 BBAA BMMM BAAA Adaptado de Benjaafar (1995, p.424) Tabela Quantidade de peças para cada nível de demanda Peça Baixa Média Alta P P P P Adaptado de Benjaafar (1995, p.424)

63 31 Tabela Seqüências de manufatura das peças Peça Seqüência de manufatura P1 A B D E F P2 B C A D B E P3 B A C F E D P4 C B D A F Adaptado de Benjaafar (1995, p.424) Para cada combinação de demandas constrói-se uma matriz de fluxo com os dados da Tabela 3.6 e da Tabela 3.7, como mostra a Tabela 3.8. Tabela Matriz de fluxo para a combinação de demanda AAAA A B C D E F A B C D E F Adaptado de Benjaafar (1995, p.424) Um algoritmo contendo 8 passos é usado para gerar o arranjo mais flexível, como mostra o Quadro 3.1. Quadro Algoritmo para gerar o arranjo mais flexível Passo 1: Ler a distribuição de demanda para cada produto. Passo 2: Ler a seqüência de processamento para cada produto. Passo 3: Obter todas as possíveis matrizes de fluxo M(I) e calcular sua correspondente probabilidade de ocorrência p(i), onde I=1, 2,..., Smax (Smax é o número total de possíveis matrizes). Passo 4: I=0. Passo 5: I=I+1. Se I>Smax, vá para o passo 7. Passo 6: Gerar um arranjo ótimo para a matriz de fluxo atual M(I). Vá para o passo 5. Passo 7: Avaliar todos os arranjos físicos gerados e escolher o mais flexível. Passo 8: Parar. Adaptado de Benjaafar (1995, p.424) O número de matrizes de fluxo pode ser muito grande se houver um elevado número de produtos e diversos níveis de demanda. Neste caso o autor

64 32 sugere a simulação de Monte Carlo como uma alternativa à completa enumeração das matrizes (BENJAAFAR, 1995, p.424). Para obter o arranjo ótimo e a correspondente alocação de fluxo entre departamentos para cada possível matriz de fluxo, é necessário resolver o modelo apresentado pela eq.(3) no passo 6: Min Z = N N N i N K K i= 1 j= 1 n = 1 n = 1 k= 1 l= 1 i j j V n m i j.d kl.x n k j.x m l j ( 3 ) Sujeito a: K Xn i k = 1 para todo n i e i ( 4 ) k= 1 N Ni Xn k = 1 i i= 1 n i = 1 para to k ( 5 ) N Ni Vn m.tm C i j j m j i= 1 n = 1 para todo m j e j ( 6 ) N i N j= 1 m = 1 N i n = 1 m = 1 i j j N j V.T C para todo n i e i ( 7 ) j n m i j n i n i V = V para todo i e j ( 8 ) n m i j ij X n j k = 0,1 para todo n i e k ( 9 ) Onde: X n i k V n i m j 1 = 0 se o enésimo departamento do tipo i for atribuído à caso contrário localização k : volume de fluxo entre o enésimo departamento do tipo i o enésimo departamento do tipo j d kl : distância entre a localização k e a localização l V ij : volume de fluxo entre os departamentos do tipo i e tipo j T n i C n j : tempo de processamento médio equivalente por unidade de carga transferida no departamento n i : capacidade do departamento n i (tempo disponível de operação) N i : número de máquinas do tipo i N : número total de tipos de máquinas K : número total de localizações

65 33 O modelo resolve simultaneamente a locação dos departamentos e o fluxo entre os departamentos individuais, minimizando o custo de manuseio de material. As restrições (4) e (5) garantem que cada departamento é atribuído a exatamente uma localização e que cada localização não receba mais de um departamento. Quando o número de localizações excede o número de departamento são criados departamentos vazios (dummy departments) sem nenhum fluxo, sem perder a optimalidade. As restrições (6) e (7) garantem que o volume de fluxo original de (ou destinado à) um departamento não exceda sua capacidade. A restrição (8) iguala a quantidade de fluxo entre as múltiplas cópias dos departamentos i e j para a quantidade de fluxo entre o departamento tipo i e o departamento tipo j, como indicado pela matriz de fluxo. O autor declara que o modelo pode ser visto como uma variação do Problema Quadrático Clássico de Atribuição (Classical Quadratic Assignment Problem - QAP) e, dessa forma, ambos são problemas polinomiais não determinísticos (NP-complete - Non-deterministic Polynomial time), significando que na prática será necessário um esforço computacional excessivo para obter uma solução ótima. Sendo assim um método heurístico é fornecido. O problema pode ser formulado como um programa linear e resolvido otimamente em um tempo razoável. Os passos estão listados no Quadro 3.2. Quadro Método heurístico Passo 1: Faça J=1. Passo 2: Gerar um arranjo físico inicial. Passo 3: Resolver otimamente para alocação do volume de fluxo (programa linear). Passo 4: Calcular Z(I), o valor resultante da função objetivo do arranjo original. Passo 5: Faça J=J+1. Se J>Jmax, vá para o passo 9. Passo 6: Gerar o próximo arranjo físico. Passo 7: Resolver otimamente para alocação do volume de fluxo (programa linear). Passo 8: Calcular Z(I), o valor resultante da função objetivo. Vá para o passo 5. Passo 9: Implementar o arranjo físico de mínimo custo. Se o arranjo de mínimo custo é o mesmo que o anterior, então vá para o passo 9. Caso contrário, faça J=1 e vá para o passo 5. Passo 10: Parar. Adaptado de Benjaafar (1995, p.426)

66 34 Por definição um arranjo físico flexível é aquele que mantém um baixo custo de manuseio de material independente das mudanças nos níveis de demanda (BENJAAFAR, 1995, p.426). No Quadro 3.3 estão os passos sugeridos para identificar qual arranjo é mais flexível. Quadro Procedimento para identificar o arranjo mais flexível Passo 1: Faça I=1. Passo 2: Faça J=1. Passo 3: Calcule Z(L(I), J), onde X(L(I), J) é o custo de manuseio de material resultante do uso do arranjo físico gerado para o cenário de demanda I quando o cenário de demanda atual é J, resolvendo o programa linear associado. Passo 4: J=J+1. Passo 5: If J<Smax, volte para o passo 3. Passo 6: I=I+1. Passo 7: Se I<Smax, vá para o passo 2. Passo 8: Selecione o arranjo físico mais flexível (por exemplo, calculando o custo esperado para cada leiaute e selecionando aquele de menor custo esperado). Passo 9: Parar. Adaptado de Benjaafar (1995, p.426) O autor não apresenta nenhum resultado obtido, mas comenta que um arranjo físico cujo custo de movimentação de material é baixo pode sofre flutuações significativas de desempenho que podem ser até inaceitáveis com a mudança de cenário. 3.6 Comparação de desempenho Askin, Ciarallo e Lundgren (1999) avaliam empiricamente os arranjos físicos distribuído 10 e fractal comparando-os com o arranjo físico funcional. Comentam também que a pesquisa sobre arranjos físicos distribuído e fractal, tanto relacionado com projeto quanto com desempenho, são bastante limitadas. Os autores citam que o arranjo físico distribuído parece caótico, mas que providencia muitas alternativas para adaptação às mudanças de condição e 10 No artigo original os autores adotam o termo arranjo físico holônico para denominar o arranjo físico distribuído, mas, como comentado no texto, esse termo não deve mais ser adotado.

67 35 que os avanços na tecnologia da informação farão possível ter um sistema de controle em tempo real para definir uma tarefa à melhor máquina. Dois algoritmos para geração de arranjos físicos distribuídos são apresentados. O primeiro algoritmo, denominado HR (Holonic Random), é apresentado no Quadro 3.4 e dispõe as máquinas de forma aleatória seguindo uma rota pelo chão de fábrica denominada curva de preenchimento espacial 11 (Space Filling Curve), como mostra a Figura Quadro Algoritmo Holonic Random (HR) Inicializar a rota de preenchimento na primeira posição Enquanto (há máquinas a serem distribuídas) faça Escolha uma máquina aleatoriamente Atribua a máquina na posição atual do arranjo físico Atualize as máquinas restantes Atualize a posição da rota de preenchimento para a próxima posição Fim-Enquanto Adaptado de Askin, Ciarallo e Lundgren (1999, p.964) Adaptado de Askin, Ciarallo e Lundgren (1999, p.964) Figura Curva de preenchimento para arranjo com 30 máquinas O outro algoritmo, denominado HC (Holonic Similarity Coefficient), baseia-se na probabilidade de ocorrer uma transição entre os processos. Esta abordagem busca posicionar uma máquina próxima a outra se elas são usadas em sucessão. A curva de preenchimento espacial também é usada nesta 11 Detalhes sobre as curvas de preenchimento espacial estão disponíveis no Apêndice B.

68 36 abordagem. Há apenas uma única diferença entre este algoritmo e o anterior. Ao invés de se escolher uma máquina aleatoriamente escolhe-se a máquina com a maior probabilidade de uso, levando em consideração as máquinas adjacentes à posição atual. Os ensaios de simulação trabalharam com 7 fatores, sendo 6 deles com apenas dois níveis e um com quatro níveis, como mostra a Tabela 3.9. Tabela Fatores de simulação Fator Nível 1 Nível 2 Nível 3 Nível 4 Tempo de processamento Fixo Exponencial Número de máquinas Número de processos 5 15 Seqüência de seleção Uniforme Dependente Utilização 75% 85% Tempo entre tarefas Constante Exponencial Atraso por manuseio Adaptado de Askin, Ciarallo e Lundgren (1999, p.968) Por meio de uma análise ANOVA foram definidas 16 combinações com os fatores relevantes (Tabela 3.10). Caso Tabela Nível dos fatores dos casos observados Tempo de Processo Número de Máquinas Número de Processos Utilização 1 Fixo % 2 Fixo % 3 Fixo % 4 Fixo % 5 Fixo % 6 Fixo % 7 Fixo % 8 Fixo % 9 Exponencial % 10 Exponencial % 11 Exponencial % 12 Exponencial % 13 Exponencial % 14 Exponencial % 15 Exponencial % 16 Exponencial % Adaptado de Askin, Ciarallo e Lundgren (1999, p.968)

69 37 Entre as conclusões desse trabalho definiu-se que o arranjo físico distribuído situa-se entre o funcional e o fractal. Essa posição pode ser melhorada se um sistema de informação em tempo real estiver disponível para guiar as decisões de roteamento. Não foi considerada nenhuma forma alternativa de execução dos processos (ASKIN, CIARALLO e LUNDGREN, 1999, p.977). 3.7 Arranjo físico parcialmente distribuído O trabalho de Benjaafar e Sheikhzadeh (2000) complementa os artigos de 1995 e 1996, apresentando, além de toda a formulação matemática do modelo, a geração aleatória de dados, os resultados obtidos e as conclusões a que chegaram. Foram considerados dois tamanhos de arranjo físico, denominados Caso 1 e Caso 2 (Tabela 3.11). O número de operações de cada produto é gerado aleatoriamente entre 2 e 5 para o Caso 1 e entre 2 e 8 para o Caso 2. Não foi levada em consideração nenhuma forma de flexibilidade no processo. Tabela Dados dos experimentos de Benjaafar e Sheikhzadeh (2000) Caso Máquinas Tipos de máquinas Máquinas de cada tipo Produtos à à 6 10 O tempo de processamento em cada estação de trabalho foi obtido por meio de uma distribuição uniforme com valor entre 10 e 100 minutos. As demandas também são provenientes de distribuições uniformes sendo a baixa (B) variando entre 10 e 100, a média (M) entre 100 e 200 e a alta (A) entre 200 e 300. Um exemplo de dados gerados para o caso 2 está apresentado na Tabela Tabela Exemplo de distribuição de demanda para o Caso 2 Produto P 1 P 2 P 3 P 4 P 5 P 6 P 7 P 8 P 9 P 10 Tipo de Demanda A M B B A M A B M A Demanda

70 38 Foram realizadas comparações entre arranjos físicos funcionais, distribuídos (aleatório) e maximamente distribuídos. O arranjo físico funcional foi gerado, como mostra a Figura 3.15, por uma heurística similar à MCRAFT 12, que divide o espaço em duas partes e distribui as máquinas de cada tipo dentro dessas partes (SFC). O arranjo distribuído é baseado em uma atribuição puramente aleatória Adaptado de Benjaafar e Sheikhzadeh (2000, p.317) Figura Exemplo de seqüência de preenchimento O arranjo maximamente distribuído definido por esses autores utiliza uma abordagem similar à proposta por Montreuil et al. (1993), porém, ignorando informações sobre fluxo de material. Um procedimento heurístico busca minimizar uma função objetivo que indica o grau de distribuição das máquinas. Essa função objetivo, apresentada pelas eq.(10) e eq.(11), mede a distância entre cada máquina de um tipo e as máquinas dos demais tipos. Quanto mais espalhadas estão as máquinas, menor o valor obtido por essa função, ou seja, menor é a distância entre máquinas de diferentes tipos 13. Φ = N Nj j= 1 nj= 1 δ nj N.Nj (10) δ nj = N k j * n j k d (11) 12 HOSNI, Y. A.; WHITEHOUSE, G. E.; ATKINS, T. S. (19??). MICRO-CRAFT Program Documentation. Institute of Engineers, Norcross, GA. 13 Um exemplo detalhado do cálculo deste índice é apresentado no Apêndice C.

71 39 Onde: * d n j k : distância entre a n-ésima máquina do tipo j e a mais próxima máquina do tipo k. nj: a n-ésima máquina do tipo j. Nj: o número de máquinas do tipo j. N: número tipos de máquinas (departamentos). Foi usado um programa matemático denominado CPLEX 14 para gerar a solução da alocação do fluxo (programação linear). Observou-se que a inclusão de informações relacionadas à probabilidade de ocorrência de diferentes cenários teve pouco impacto nos resultados, com diferença de 2.5% para o Caso 1 e 4% para o Caso 2. Isso sugere que a precisão na avaliação das probabilidades não é crítica e que a grande redução no custo de manuseio de material vem da desagregação dos departamentos e na alocação ótima dos fluxos. Na prática pode-se evitar a determinação destas probabilidades quando as diferentes demandas são difíceis de serem estimadas (BENJAAFAR e SHEIKHZADEH, 2000, p.319). Os resultados também mostram que o arranjo físico funcional tem o pior desempenho entre as quatro configurações analisadas enquanto o arranjo físico parcialmente distribuído teve o melhor. Os autores também avaliaram os efeitos do grau de desagregação dos departamentos. A Figura 3.16 mostra um exemplo com um arranjo funcional e três arranjos com diferentes graus de desagregação dos departamentos. As análises mostraram que a primeira desagregação (duas cópias de cada departamento) exerce um grande impacto na redução do custo de manuseio de material (cerca de 37%). Passar de duas cópias para três reduz esse custo em cerca de 3% e passar de três para seis cópias reduz em pouco mais de 4%. Com base nesses dados os autores declaram que a desagregação parcial é, na prática, menos custosa, mais fácil de implementar e obtém praticamente os mesmos benefícios do que a desagregação total (BENJAAFAR e SHEIKHZADEH, 2000, p.320). 14 ANON. (1988). CPLEX Version 6.0 User Manual. ILOG CPLEX Division, Incline Village, NV 89451, USA.

72 Arranjo Funcional Desagregação Desagregação 2 Desagregação completa Adaptado de Benjaafar e Sheikhzadeh (2000, p.320) Figura Diferentes graus de desagregação dos departamentos 3.8 Arranjo físico distribuído para vários períodos Esta proposta foi originalmente apresentada por Lahmar e Benjaafar (2001) e novamente publicada em Lahmar e Benjaafar (2002a), Lahmar e Benjaafar (2002b) e Lahmar e Benjaafar (2005). O foco é projetar um arranjo físico distribuído que atenda a múltiplos períodos, com a demanda e o conjunto de produtos variando de um período para outro. Considera-se também que pode haver alterações no arranjo físico ao final de cada período (relayout). Os autores assumem que as informações de demanda para cada período estão disponíveis no estágio inicial do projeto e, dessa forma, o objetivo é identificar um arranjo físico para cada período que minimize tanto o custo de manuseio de material quanto o custo de alteração do arranjo físico atual para essa nova configuração. Além disso, o modelo matemático assume que os departamentos duplicados são do mesmo tamanho, apesar de na prática isso não ocorrer.

73 41 O objetivo é minimizar a soma do custo de fluxo de material e custo de rearranjo sobre um horizonte de planejamento consistindo em T períodos. Foi usada a seguinte notação. 1 x nikt = 0 v nimjpt se a cópia n do departamento do tipo i for atribuído localização k no período t caso contrário : volume do fluxo do produto p entre a enésima duplicata do departamento do tipo i e a enésima duplicata do departamento do tipo j no período t. v ijpt : volume total do fluxo do produto p entre as duplicatas do departamento i e duplicatas do departamento j no período t. d kl : distância percorrida entre a localização k e a localização l. t nip : tempo de processamento por unidade de carga do produto p na duplicata n do departamento do tipo i. c kl : custo de movimentação de uma unidade de carga do departamento k para o departamento l. C ni : capacidade da duplicata n do departamento do tipo i (tempo de operação disponível). r nikl : custo de rearranjo da duplicata n do departamento do tipo i da localização k para a localização l. T : número total de períodos. N i : número total de duplicatas do departamento do tipo i. N : número total de tipos de departamentos. M : número total de localizações. P : número total de tipos de produtos. O projeto do arranjo físico e o problema de alocação de fluxo são formulados como mostra a eq.(12). (P) Min z Sujeito a: T P N N N N i j M M = vnimjpt xnikt xmjltckld kl + t= 1 p= 1 i= 1 n= 1 j= 1 m= 1 k= 1 l= 1 T 1 N Ni M M r xnikt xnilt + 1 t= 1 i= 1 n= 1 k= 1 t= 1 nikl (12)

74 42 N N i i= 1 n= 1 x = 1 k, t (13) nikt M x nikt = 1 i, n, t (14) k= 1 N j Ni m= 1 n= 1 N N i v nimjpt = v ijpt i, j, p, t (15) N N v = v j, m, p, t (16) nimjpt i= 0 n= 1 q= 0 r= 1 P N N p= 1 i= 0 n= 1 i q mjrqpt v nimjpt tmjp Cmj j, m, t (17) x nikt = 0,1 i, n, k, t (18) v nimjpt 0 i, n, j, m, p, t (19) Esse modelo trata como variáveis de decisão tanto a localização dos departamentos (x mjkt s) quanto a alocação do fluxo entre departamentos individuais em cada período (v nimjpt s). As restrições (13) e (14) garantem que cada departamento duplicado é atribuído a uma localização e que cada localização receba apenas um departamento. A restrição (15) iguala o volume do fluxo entre os departamentos do tipo i e j. A restrição (16) garante que a quantidade de fluxo de entrada e saída (por produto) para e de um departamento sejam iguais. A restrição (17) garante que a quantidade de fluxo atribuído a cada cópia de cada departamento não exceda sua capacidade. O volume do fluxo entre departamentos é obtido a partir da rota dos produtos e das suas demandas, como mostra a eq.(20). Onde: 1 δipk = 0 caso contrário Sp 1 ijpt = Dpt δipkδ jpk + 1 k= 1 v (20) se o produto p é processado pelo departamento i no estágio k D pt : é a demanda para o produto p no período t. S pk : número de operações requeridas pelo produto p.

75 43 Os autores mostram que há dois casos limite para o problema de arranjo físico distribuído dinâmico. O primeiro ocorre quando o custo de rearranjo é insignificante. Neste caso pode-se resolver uma série de problemas de arranjo físico de único período de forma totalmente independente. O segundo caso ocorre quando o custo de rearranjo é altamente proibitivo. Neste caso, como não haverá rearranjo, pode-se combinar todo o fluxo de todos os períodos e resolver o problema como um arranjo físico de período simples (LAHMAR e BENJAAFAR, 2002b, p.10). Este modelo também é polinomial não determinístico e, dessa forma, é proposta uma abordagem heurística para solucioná-lo. Essa abordagem divide o problema em dois: subproblema do arranjo físico da instalação e subproblema da alocação de fluxo. A solução é obtida pela resolução interativa do problema do arranjo físico com fluxo fixo e pelo problema da alocação de fluxo com um arranjo físico fixo. O procedimento pode ser resumido da seguinte forma: Passo 1: dado um arranjo físico para cada período, encontre a alocação de fluxo de mínimo custo entre os departamentos para cada um desses períodos. Passo 2: dada uma alocação de fluxo entre os departamentos para cada período, encontre o arranjo físico ótimo para esses períodos. Ocorre uma alternação entre os passos 1 e 2 até que não seja mais possível obter alguma melhora na solução. Foram implementados dois algoritmos de busca, denominados de A1 e A2, sendo que o segundo usa mais intensivamente os recursos computacionais e leva a melhores resultados. Os autores acrescentam que a qualidade da solução é sensível à escolha do arranjo físico inicial para ambos algoritmos. Todos os experimentos computacionais utilizaram dados gerados aleatoriamente. Pode-se citar o tamanho do arranjo físico (entre 16 e 48 máquinas), tipos de máquinas (entre 4 e 8), nível de duplicação dos departamentos, número de produtos, rotas dos produtos, distribuições de demandas e tamanho dos períodos. Com relação ao nível de duplicação dos departamentos é apresentado um exemplo de 48 máquinas de 6 tipos diferentes onde foram adotados 4 níveis como mostra a Tabela 3.13.

76 44 Tabela Níveis de duplicação de departamentos Nível 1 Nível 2 Nível 3 Nível 4 Cópias do departamento Máquinas por departamento Baseado em Lahmar e Benjaafar (2002, p.16) Entre as conclusões destaca-se que o arranjo físico parcialmente distribuído 15 tem custo médio de manuseio de material 42% menor que o arranjo físico funcional e que o arranjo físico distribuído também é melhor que o arranjo físico aleatório (que exibem um alto grau de distribuição). Além disso, destaca-se que as diferenças entre arranjo físico parcialmente distribuído e arranjo físico maximamente distribuído são relativamente pequenas. Os autores destacam também que, na prática, a desagregação e distribuição completa dos departamentos é raramente justificada e também concluem que arranjos físicos distribuídos são mais interessantes quando a variabilidade do fluxo é alta e a variedade dos produtos é baixa. 3.9 Elementos de recurso Baykasoglu (2003) propõe uma nova abordagem para criar células virtuais de manufatura em arranjos físicos distribuídos. Nas palavras do autor o arranjo físico distribuído é, provavelmente, a mais apropriada opção para implementação de células virtuais de manufatura. O autor declara que definir os requerimentos de processamento de uma peça em termos de tipo de máquina e projetar o arranjo físico baseado nessa consideração limita o desempenho e a flexibilidade da produção. Ao invés de simplesmente distribuir as máquinas pelo chão de fábrica sua sugestão é distribuir as capacidades de usinagem que essas máquinas possuem. Essas capacidades são denominadas Elementos de Recurso (Resource Elements - REs). Isso se deve ao fato de que algumas operações podem ser executadas em mais de uma máquina e algumas máquinas podem executar diferentes tipos de operações como, por exemplo, os centros de usinagem que combinam operações de torneamento e fresamento. 15 No artigo original o arranjo físico parcialmente distribuído é nomeado como arranjo físico distribuído, podendo levar a interpretação errônea.

77 45 Na abordagem por RE uma operação potencial é denominada Esquema de Geração de Forma (Form Generating Schema - FGS), que são padrões de capabilidade independentes da máquina. Dessa forma um RE pode conter um ou mais FGS. A Figura 3.17 mostra três máquinas. A máquina 1 possui seu RE composto de três FGS s. A máquina 2 possui dois RE s, sendo um deles igual ao da máquina 1. Por sua vez a máquina 3 possui também dois RE s sendo um deles igual ao da máquina 2. Máquina 1 Máquina 2 Máquina 1 FGS FGS FGS RE FGS RE FGS FGS Máquina 2 FGS RE FGS FGS FGS FGS Máquina 3 Máquina 3 Fonte: Baykasoglu (2003, p.2602) Figura Representação de instalação de usinagem com REs As principais características dos REs são: REs são mutuamente exclusivos, em outras palavras, não há sobreposição entre REs. Um recurso que providencia um RE é capaz de executar todas as tarefas dentro desse RE. Um recurso pode providenciar muitos REs ou somente um RE. Um componente que requer um RE tem a chance de acessar todos os recursos providenciados pelo RE. São as únicas entidades de planejamento e programação. O projeto do arranjo físico distribuído é baseado nas capabilidades. O chão de fábrica é dividido em uma grade e em cada bloco será colocada uma máquina. Somente movimentos retilineares são considerados. Quando uma

78 46 máquina é designada a um bloco todas as suas capabilidades ocuparão o bloco também. O problema passa a ser distribuir as capabilidades no arranjo de forma que a soma das mínimas distâncias entre cada localização que não é ocupada por uma capabilidade para a localização onde a capabilidade está disponível seja minimizada (BAYKASOGLU, 2003, p.2605). Para tornar mais claro esse conceito o autor apresenta um exemplo com 12 posições e 12 máquinas. Cada máquina tem um conjunto de capabilidades definidas em termos de REs. Quatro diferentes capabilidades estão disponíveis. Na solução alternativa 1, apresentada pela Figura 3.18 as máquinas foram distribuídas aleatoriamente. A matriz superior mostra a distribuição das máquinas. As demais matrizes são binárias e representam a existência ou não de determinado RE. Localização das máquinas Pontuação total= =34 Distribuição de RE-1 Distribuição de RE-2 Distribuição de RE-3 Distribuição de RE Pontuação=7 Pontuação=6 Pontuação=8 Pontuação=13 Adaptado de Baykasoglu (2003, p.2606) Figura Cálculo da pontuação de um arranjo O cálculo da pontuação total é a soma da pontuação obtida para cada uma das matrizes de distribuição de RE. Por sua vez a pontuação de cada matriz de distribuição de RE é a somatória das distâncias mínimas entre uma localização sem o RE e uma localização com RE, como mostram as setas da Figura Nesta matriz há 8 localizações sem o RE-3 e cada localização está distante apenas uma posição de uma localização com RE-3. No caso da matriz

79 47 de RE-1 pode-se usar como exemplo a posição 12 que está a 3 unidades da posição 7, a 3 unidades da posição 5 e a 2 unidades da posição 6. A distância mínima entre a posição 12 (desocupada) e uma posição ocupada é de 2 unidades. Na Figura 3.19 é apresentada a solução ótima obtida por um algoritmo de Simulated Annealing 16 (SA). Nesta solução todas as posições não ocupadas estão a 1 unidade de distância de uma posição ocupada para todas as capabilidades (exceto a posição 9 em RE-4 que está a 2 unidades). Localização das máquinas Pontuação total= =28 Distribuição de RE-1 Distribuição de RE-2 Distribuição de RE-3 Distribuição de RE Pontuação=5 Pontuação=5 Pontuação=8 Pontuação=10 Adaptado de Baykasoglu (2003, p.2606) Figura Pontuação para o arranjo distribuído ótimo O autor defende sua abordagem afirmando que o arranjo físico baseado na distribuição de capabilidades deve ser preferido ao baseado na distribuição de máquinas, principalmente na ausência de dados de demanda. Além disso, as informações de fluxo não foram consideradas na determinação da pontuação já que em ambientes altamente voláteis não é fácil obter tais dados (BAYKASOGLU, 2003, p.2606). 16 Segundo Baykasoglu (2003, p.2608), Simulated Annealing é um método que busca por um mínimo num sistema qualquer. Faz uma analogia entre o modo como um metal se resfria e cristaliza em uma estrutura de energia mínima (o processo real de annealing). Alguns autores usam o termo Têmpera Resfriamento Simulado para evitar o uso do original em inglês.

80 48 O procedimento adotado nesse trabalho é uma adaptação do algoritmo de Simulated Annealing desenvolvido por Baykasoglu e Gindy 17 (2001), que trata do problema de arranjo dinâmico. Após a descrição do algoritmo o autor apresenta um exemplo real com 24 máquinas e 32 RE s, cujos dados foram coletados de uma empresa que executa peças para fabricantes de máquinas ferramenta e fornecedores do exército. Os arranjos físicos inicial e final estão reproduzidos na Figura 3.20, sendo que o arranjo físico final foi obtido pelo algoritmo após 736 iterações. No Quadro 3.5 está a matriz de máquinas e seus respectivos RE s. Os resultados foram apresentados à companhia, mas esta não reconfigurou o arranjo Arranjo Funcional Arranjo Distribuído Adaptado de Baykasoglu (2003, p.2611) Figura Arranjos funcional e distribuído O autor também realizou uma análise de sensibilidade variando dois fatores, num total de 100 combinações. O primeiro fator, denominado Probabilidade de Aceitação (Pc) foi variado de 0.90 até 0.99 em passos de 0.01 enquanto o segundo fator, denominado Comprimento da Cadeia de Marcov (LMC), foi variado de 50 até 140 em passos de 10. Segundo o autor esses diferentes valores nos parâmetros do algoritmo de Simulated Annealing não tiveram efeitos radicais sobre a qualidade das soluções obtidas. 17 Alguns resultados obtidos neste trabalho foram calculados erroneamente devido a definições impróprias no tamanho de matrizes em um programa escrito em Fortran 90. Os resultados corretos foram publicados em Baykasoglu e Gindy (2004).

81 49 Quadro Matriz Máquinas x RE s Máquinas RE Adaptado de Baykasoglu (2003, p.2612) Nas conclusões o autor reafirma que o arranjo físico distribuído é ótimo candidato para a implementação de células virtuais de manufatura. Pesquisas futuras sobre o arranjo físico distribuído baseado em elementos de recurso testarão o desempenho em diferentes cenários por meio de simulação. A questão a ser verificada é um arranjo físico distribuído baseado em capabilidade pode ser uma opção válida (ou a melhor opção) para ambientes de manufatura com alta variedade e demanda baixa ou estável?.

82 Células virtuais em arranjo físico distribuído Nomden e Slomp (2003) exploram, em um trabalho puramente teórico, as possibilidades de implantação de células virtuais de manufatura em vários tipos de arranjo físico e, entre eles, o arranjo físico distribuído. Além dos quatro tipos clássicos de arranjo físico os autores descrevem o fractal e distribuído. Pela Tabela 3.14 os autores comparam algumas das características de quatro tipos de arranjos físicos. Tabela Características de alguns tipos de arranjo Tipo de arranjo Foco Simplicidade de Programação Simplicidade de Pooling Orientação à TG Orientação à Equipe Funcional Processo Distribuído Sem foco Fractal Sem foco Celular Famílias de peças (1, 2, 3 e 4 são uma classificação relativa sendo 1=Melhor e 4=Pior) Adaptado de Nomden e Slomp (2003) A simplicidade de programação está relacionada com a facilidade que uma tarefa tem de ser roteada por várias máquinas. No arranjo físico celular a programação tende ser muito simples enquanto que no fractal passa a ser um pouco mais difícil. O arranjo físico funcional é conhecido pela sua dificuldade de programação já que requer uma atenção contínua. O arranjo físico distribuído possibilita um bom desempenho logístico, mas necessita de um bom sistema de controle que aloque e programe as tarefas nas máquinas e, sendo assim, é considerado o mais difícil de se programar. A simplicidade de pooling refere-se à facilidade de atribuir operações a recursos alternativos. Devido à orientação por processo o arranjo físico funcional é o melhor neste item enquanto o celular é o que tem menos facilidade. O arranjo físico fractal tem certa facilidade devido à similaridade entre as células fractais e, dessa forma, se algum recurso está sobrecarregado,

83 51 basta enviá-lo para outra célula. No arranjo físico distribuído não é tão simples, pois será necessário realizar uma reprogramação de diversas tarefas já alocadas. A orientação à tecnologia de grupo refere-se à habilidade do arranjo físico usar as diferentes similaridades entre as peças. O arranjo físico celular é o que mais faz uso desta característica, seguido do arranjo físico fractal. No arranjo físico distribuído, apesar de ser mais difícil, é aceitável que certas famílias de peças usem sempre o mesmo conjunto de máquinas. A orientação à equipes refere-se ao suporte que o arranjo físico fornece ao estabelecimento de equipes autônomas, que são responsáveis pela completa fabricação das peças. O arranjo físico celular implica automaticamente na formação de equipes, bem como o arranjo físico fractal, mas em menor grau. Os arranjos físicos distribuído e funcional não suportam a formação de equipes. Nas conclusões afirmam que ainda é necessário elaborar novas pesquisas no campo de células virtuais e que os pesquisadores têm ignorado os arranjos físicos fractal e distribuído Comentários sobre a literatura (arranjo físico distribuído) Apesar do conceito de arranjo físico distribuído existir desde 1991, podese afirmar que ainda permanece em fase de pesquisa. Em toda a literatura analisada apenas o trabalho de Baykasoglu (2003, p.2611) usou dados reais e, mesmo assim, sem que o arranjo físico fosse implementado para que resultados reais pudessem ser obtidos e analisados. Os demais trabalhos são baseados em dados gerados pelos autores (de forma aleatória ou não) como em Montreuil e Venkatadri (1991, p.297), Montreuil, Venkatadri e Lefrançois (1991, p.6), Montreuil et al. (1993, p.13), Benjaafar (1995, p.424), Benjaafar e Sheikhzadeh (1996, p.854), Askin, Ciarallo e Lundgren (1999, p.967), Benjaafar e Sheikhzadeh (2000, p.315), Lahmar e Benjaafar (2001, p.6), Lahmar e Benjaafar (2002, p.15) e Lahmar e Benjaafar (2005, p.310). Benjaafar (1995, p.423) e Benjaafar e Sheikhzadeh (1996, p.854) basearam-se em probabilidades para definir possíveis cenários e níveis de demanda e Lahmar e Benjaafar (2001, p.2), Lahmar e Benjaafar (2002, p.4) e

84 52 Lahmar e Benjaafar (2005, p.305) assumem que as informações de demanda de cada período estão disponíveis no estágio inicial do projeto de rearranjo. Porém a obtenção de informações futuras e o uso de probabilidades em um ambiente altamente volátil parecem não se mostrar como abordagens adequadas. Baykasoglu (2003, p.2598) afirma que nesse ambiente as mudanças na demanda e no mix de produtos ocorrem de forma imprevisível. Um outro fato importante a ser destacado é que nenhum dos procedimentos desenvolvidos leva em consideração as alternativas nos processos de fabricação das peças. Essa flexibilidade, como afirmado por Benjaafar (1994, p.1401), pode ser um mecanismo efetivo para evitar as dificuldades de um ambiente dinâmico. O objetivo do arranjo físico distribuído é garantir a proximidade de diferentes tipos de máquinas para que rotas mais eficientes possam ser criadas. Neste sentido, diversos autores citam a necessidade de um sistema de planejamento e controle em tempo real, podendo-se citar Montreuil e Venkatadri (1991, p.298), Montreuil, Venkatadri e Lefrançois (1991, p.20), Montreuil et al. (1993, p.2), Askin, Ciarallo e Lundgren (1999, p.977), Benjaafar, Heragu e Irani (2002, p.66) e Nomden e Slomp (2003, p.3). Esse planejamento é de grande importância principalmente sabendo que o arranjo físico distribuído é considerado aquele que tem maior dificuldade de programação quando comparado com os arranjos físicos funcional, celular e fractal (NOMDEN e SLOMP, 2003, p.3). O desenvolvimento de uma abordagem que inclua flexibilidade de processo pode responder às seguintes questões: Lahmar e Benjaafar (2001, p.6), Lahmar e Benjaafar (2002, p.20) e Lahmar e Benjaafar (2005, p.315) sugerem que raramente são justificadas a desagregação e distribuição completa dos departamentos, ou seja, que o arranjo físico parcialmente distribuído é melhor que os arranjos físicos aleatório e maximamente distribuído. A flexibilidade de processo pode alterar esta afirmação? É possível projetar um arranjo físico distribuído? Como se trata de um ambiente altamente volátil é impossível ter em mãos informações suficientes para o projeto inicial e, dessa forma, ao invés de tentar

85 53 projetar um arranjo físico é melhor buscar uma maneira de melhor distribuir as tarefas Considerações finais Este capítulo apresentou o conceito de arranjo físico e descreveu as principais características das novas abordagens: ágil, células virtuais de manufatura, holônico, modular, fractal e distribuído. Em seguida detalhou o desenvolvimento do arranjo físico distribuído, incluindo suas variações: parcialmente distribuído, aleatoriamente distribuído e maximamente distribuído (holográfico). O arranjo físico fractal tem grande similaridade com o arranjo físico maximamente distribuído quando os processos possuem o mesmo número de máquinas. Mas essa similaridade é apenas física. Enquanto no arranjo físico fractal a atribuição de tarefas às estações de trabalho observa a divisão lógica das máquinas evitando que uma peça seja processada em mais de uma célula, no arranjo físico maximamente distribuído essa divisão lógica não existe. O capítulo seguinte irá abordar o conceito de flexibilidade no processo de manufatura (roteamento) que é um dos pontos chave para o desenvolvimento desta pesquisa.

86 54 4 FLEXIBILIDADE DE SEQUENCIAMENTO 4.1 Considerações iniciais O capítulo anterior discutiu o arranjo físico distribuído e mostrou que nenhum trabalho analisou seu desempenho levando em consideração a flexibilidade de processo, apesar de vários pesquisadores citarem este fator como sendo de grande importância. Zhao e Wu (2000, p.386) destacam que grande parte da literatura não considera os casos onde as peças possuem processos alternativos. Este capítulo apresenta conceitos gerais sobre flexibilidade e, em seguida, aborda a forma de representação de processos com flexibilidade de seqüenciamento que foi adotada para atingir os objetivos desta pesquisa. 4.2 Tipos de flexibilidade A operação de um sistema de manufatura é uma seqüência de decisões que consistem na combinação das atuais necessidades de processamento com a atual capacidade disponível. Se a demanda mantém-se constante tanto em volume quanto em composição, a capacidade pode ser planejada de modo a atender essa necessidade e até mesmo algum excesso (BENJAAFAR, 1994, p.1397). Quando essa constância não existe atrasos ocorrerão levando ao aumento no tempo de produção e nas quantidades de peças em processamento (work-in-process). A existência de flexibilidade aumenta a probabilidade da capacidade disponível se adequar às necessidades de processamento do momento, diminuindo atrasos, níveis de inventário e ocorrência de gargalos. Para Benjaafar (1994, p.1383) a flexibilidade é um mecanismo de adaptação que permite que as organizações possam competir de forma eficaz

87 55 apesar da volatilidade do ambiente onde está operando. Browne et al. (1984, p.114) definiram oito tipos de flexibilidade. Posteriormente Sethi e Sethi (1990, p.296) elevaram esta lista para onze tipos: Flexibilidade de máquina: refere-se aos vários tipos de operação que a máquina pode executar sem necessitar de um esforço proibitivo em sua preparação ou operação. Flexibilidade de manuseio de material: é a habilidade de mover pela instalação diferentes tipos de peças de forma eficiente. Flexibilidade de operação: é a habilidade de produzir uma peça por diferentes meios. Flexibilidade de processo: é quando o sistema de manufatura pode produzir diferentes tipos de peças sem grandes preparações. Flexibilidade de produto: é a facilidade com que novas peças podem ser adicionadas (ou substituídas). Flexibilidade de roteamento: é a habilidade que o sistema de manufatura possui de produzir peças por rotas alternativas. Flexibilidade de volume: é a habilidade para operar lucrativamente com diferentes volumes de produção. Flexibilidade de expansão: é a facilidade que o sistema de manufatura possui de aumentar sua capacidade e capabilidade quando necessário. Flexibilidade de programação: é a habilidade do sistema operar virtualmente sem atenção durante longos períodos. Flexibilidade de produção: é o universo de tipos de peças que o sistema de manufatura pode produzir sem adicionar grandes investimentos em equipamentos. Flexibilidade de mercado: é a facilidade com que o sistema de manufatura pode se adaptar às mudanças do mercado.

88 56 Browne et al. (1984, p.114) acrescentam que as flexibilidades de produto, processo e operação dependem da flexibilidade de máquina enquanto as flexibilidades de volume e expansão dependem da flexibilidade de roteamento. Para Chandra e Tombak (1992, p.157) a flexibilidade de produção é função das outras sete flexibilidades. Chen e Chung (1996, p.380) concluem que a flexibilidade de máquina e a flexibilidade de roteamento são as principais por serem requeridas pelos outros tipos de flexibilidade enquanto que essas duas flexibilidades formam o ponto de partida natural para a implantação de um sistema flexível, segundo Chandra e Tombak (1992, p.157). Sethi e Sethi (1990, p.297) relacionam as onze flexibilidades como mostra a Figura 4.1. Máquina Manuseio Operação Processo Roteamento Produto Volume Expansão Programação Produção Mercado Adaptado de Sethi e Sethi (1990, 297) Figura Relacionamento entre as flexibilidades Posteriormente Benjaafar e Ramakrishnan (1996, p.1197) apresentaram uma nova hierarquia entre as diversas flexibilidades, como mostra a Figura 4.2. Seqüenciamento Produto Operação Flexibilidade do Sistema Processamento Mix Componente Curto Prazo Médio Prazo Longo Prazo Processo Arranjo Físico Volume Processador Ferramental Fixação Manuseio de Material Máquina Mão de Obra Adaptado de Benjaafar e Ramakrishnan (1996, 1197) Figura Hierarquia entre flexibilidades

89 57 Nesta forma de organização há três tipos de flexibilidade que estão associadas com a manufatura de uma peça (BENJAAFAR e RAMAKISHNAN, 1996, p. 1198, KOO e TANCHOCO, 1999, p.1026): Flexibilidade de seqüenciamento: trata da possibilidade de mudar a seqüência de operações; Flexibilidade de operação: possibilita a execução de operações em mais de uma máquina; Flexibilidade de processamento: possibilidade de executar uma mesma usinagem com operações diferentes ou seqüências distintas. A flexibilidade de seqüenciamento é definida por Hutchinson e Pflughoeft (1994, p. 708) como flexibilidade do plano de processo enquanto pesquisadores como Rohde e Borenstein (2004, p.252) denominam simplesmente como flexibilidade de seqüência. 4.3 Representação de processos com flexibilidade de seqüência Uma forma de trabalhar com flexibilidade é elaborar processos alternativos. Adil, Rajamani e Strong (1996) adotaram planos de processo alternativos para as peças de modo a obter melhores resultados na diagonalização de matrizes peça x máquina. A Tabela 4.1 mostra um exemplo da forma como os dados de entrada são apresentados. Tabela Matriz Peça x Máquina com flexibilidade Máquinas Peças Processos Adaptado de Adil, Rajamani e Strong (1996, p.1365)

90 58 De forma similar Kochikar e Narendran (1992, 2878) definem máquinas alternativas e relações de precedência para representar a flexibilidade do sistema (Tabela 4.2). Tabela Peças com processos flexíveis Peças Operações Precedentes Máquinas possíveis 1 2 e 3 1 e 6 2-3, 4 e , 6 e e 3 2 e e 2 1 e , 5 e e , 3, 5 e e 2 1 e Adaptado de Kochikar e Narendran (1992, p.2878) A decisão de quantas seqüências de fabricação cada peça terá bem como que máquinas executarão cada etapa depende do processista. Essa forma é funcional, porém muito rígida para permitir a elaboração de um procedimento automático que possa ser usado nas simulações desejadas nesta pesquisa. Outra alternativa para essa representação é o uso de grafos 18. Hutchinson e Pflughoeft (1994, p.707) adotam grafos direcionados na representação dos processos de fabricação. Os nós representam as operações e as linhas que conectam esses nós são as restrições. Na Figura 4.3 os nós representados pela letra I indicam o início da seqüência enquanto os representados pela letra F indicam o final. Os demais nós representam as operações a serem executadas. O grafo (a) representa um plano de processo tradicional (TPP - Traditional Process Plan), no qual cada operação tem apenas um único antecessor e também um único predecessor (HUTCHINSON e PFLUGHOEFT, 1994, p.707). Já, nos grafos (b) e (c), existe a flexibilidade de seqüência. 18 Maiores detalhes sobre grafos estão disponíveis no Apêndice D.

91 59 I 1 2 I & 1 2 I & & F F F (a) (b) (c) Adaptado de Hutchinson e Pflughoeft (1994, p.707) Figura Representação de processos por grafos A flexibilidade de seqüência requer que todas as operações precedentes sejam executadas antes da operação seguinte, independente de sua ordem. No processo (b) há duas seqüências: e Para o grafo (c) há 6 possibilidades (3!) de seqüenciamento e neste caso os autores usam a nomenclatura FFPP (Fully Flexible Process Plan - plano de processo totalmente flexível) ou Open Shop: 1-2-3, 1-3-2, 2-1-3, 2-3-1, e Hutchinson e Pflughoeft (1994, p.709) também mostram que a flexibilidade de processo pode ser representada por grafos, como mostra a Figura 4.4. Após o nó 1 há dois caminhos alternativos e, sendo assim, há dois possíveis processos: e I 1 OU F Adaptado de Hutchinson e Pflughoeft (1994, p.707) Figura Flexibilidade de processo

92 60 Pelos resultados obtidos em condições experimentais Hutchinson e Pflughoeft (1994, p.718) afirmam que a flexibilidade de seqüência tem influência sobre o sistema, melhorando o seu desempenho. Diversos autores adotam a representação de processos por grafos, podendo-se citar Groover (1987, p.144), Borenstein (2000, p.82), Sarker e Li (2001, p.678), Rohde (2002, p.37) e Rohde e Borenstein (2004, p.253). Além da forma gráfica pode-se representar um grafo usando a matriz de adjacência ou a matriz de incidência. Porém, os grafos dirigidos e sem circuitos podem ser representados simplesmente pelas suas relações de precedência, como mostram Gondran, Minoux e Vajda (1984, p.65). Como exemplo a Figura 4.5 mostra um grafo desse tipo. Figura Grafo representando o processo de uma peça A Tabela 4.3 mostra as relações de precedência correspondentes ao grafo mostrado pela Figura 4.5. Tabela Relações de precedência Operação Precedente A - B A C A D A E B F B e C G D e F H G I D J H e I K E e J

93 61 Essa representação baseada em texto é de fácil manipulação computacional permitindo o cálculo do número de possíveis seqüências de execução. Isso pode ser realizado, por exemplo, pelo algoritmo proposto por Gondran, Minoux e Vajda (1984, p.55) 19. No exemplo mostrado pela Figura 4.5 esse algoritmo divide o processo em 7 níveis, como mostra a Tabela 4.4. Tabela Divisão do processo em níveis Nível Operações 1 A 2 B, C e D 3 E, F e I 4 G 5 H 6 J 7 K Considerando que as operações de cada nível podem ser executadas em qualquer ordem há 36 possíveis seqüências para esse processo (Quadro 4.1). São 6 possibilidades no nível 2 e 6 possibilidades no nível 3 enquanto nos demais níveis há apenas uma possibilidade. Quadro Seqüências de processamento possíveis 1 ABCDEFIGHJK 13 ACBDEFIGHJK 25 ADBCEFIGHJK 2 ABCDEIFGHJK 14 ACBDEIFGHJK 26 ADBCEIFGHJK 3 ABCDFEIGHJK 15 ACBDFEIGHJK 27 ADBCFEIGHJK 4 ABCDFIEGHJK 16 ACBDFIEGHJK 28 ADBCFIEGHJK 5 ABCDIEFGHJK 17 ACBDIEFGHJK 29 ADBCIEFGHJK 6 ABCDIFEGHJK 18 ACBDIFEGHJK 30 ADBCIFEGHJK 7 ABDCEFIGHJK 19 ACDBEFIGHJK 31 ADCBEFIGHJK 8 ABDCEIFGHJK 20 ACDBEIFGHJK 32 ADCBEIFGHJK 9 ABDCFEIGHJK 21 ACDBFEIGHJK 33 ADCBFEIGHJK 10 ABDCFIEGHJK 22 ACDBFIEGHJK 34 ADCBFIEGHJK 11 ABDCIEFGHJK 23 ACDBIEFGHJK 35 ADCBIEFGHJK 12 ABDCIFEGHJK 24 ACDBIFEGHJK 36 ADCBIFEGHJK Deve ficar claro que esse algoritmo não calcula todas as seqüências possíveis. Sua abordagem fixa algumas operações em determinados níveis 19 Esse algoritmo é detalhado no Apêndice D

94 62 apesar de terem liberdade de serem transferidas para outros. Por exemplo, a Figura 4.6 mostra o mesmo grafo da Figura 4.5, mas com a operação E posicionada em outro nível, sem que essa modificação altere as relações de precedência (os níveis estão representados nessa figura). Figura Mudança de nível de uma operação Nessa nova configuração há 24 possibilidades de seqüenciamento sendo que metade delas não consta daquelas listadas no Quadro 4.1. No Quadro 4.2 essas 12 novas seqüências estão destacadas em negrito enquanto as seqüências que repetiram tem, entre parênteses, o número da seqüência correspondente no Quadro 4.1. Quadro Novas seqüências de processamento 1 ABCDFIEGHJK (4) 13 ACDBFIEGHJK (22) 2 ABCDFIGEHJK 14 ACDBFIGEHJK 3 ABCDIFEGHIJ (6) 15 ACDBIFEGHJK (24) 4 ABCDIFGEHIJ 16 ACDBIFGEHJK 5 ABDCFIEGHJK (10) 17 ADBCFIEGHJK (28) 6 ABDCFIGEHJK 18 ADBCFIGEHJK 7 ABDCIFEGHJK (12) 19 ADBCIFEGHJK (30) 8 ABDCIFGEHJK 20 ADBCIFGEHJK 9 ACBDFIEGHJK (16) 21 ADCBFIEGHJK (34) 10 ACBDFIGEHJK 22 ADCBFIGEHJK 11 ACBDIFEGHJK (18) 23 ADCBIFEGHJK (36) 12 ACBDIFGEHJK 24 ADCBIFGEHJK Ainda há outras possibilidades de modificação no grafo que levarão a novas seqüências que respeitam as relações de precedência, mas que não são encontradas pelo algoritmo de Gondran, Minoux e Vajda (1984, p.55).

95 63 Alguns autores adotam suas representações com apenas um nó raiz e somente um nó folha e, muitas vezes, usam para isso nós bonecos (dummy nodes), como nas Figura 4.3 e Figura 4.4. Porém essa prática não é obrigatória como mostram, por exemplo, Groover (1987, p.147), Borenstein (2000, p.82) e Rohde e Borenstein (2004, p.253). A Figura 4.7 mostra um exemplo de diagrama de precedência com dois nós iniciais Adaptado de Groover (1987, p. 147) Figura Exemplo de diagrama de precedência com duas raízes 4.4 Considerações finais Este capítulo apresentou conceitos sobre flexibilidade e abordou formas de representação de processos de fabricação com flexibilidade. Ênfase foi dada na representação por grafos, mais especificamente os grafos dirigidos e sem circuitos que podem ser representados simplesmente pelas suas relações de precedência. Essa forma de representação permitirá ao sistema de simulação analisar diferentes rotas durante a programação das tarefas. Na literatura estão disponíveis diversas outras técnicas, inclusive usando redes de Petri, mas que foram descartadas devida a alta adequação do método escolhido. O próximo capítulo encerrará a revisão bibliográfica abordando a programação da produção.

96 64 5 PROGRAMAÇÃO DA PRODUÇÃO 5.1 Considerações iniciais O capítulo anterior discutiu os tipos de flexibilidades existentes no ambiente de manufatura, destacou a flexibilidade de seqüência e detalhou a representação por relações de precedência (grafos dirigidos). Este capítulo, que encerra a revisão bibliográfica, discorre sobre a programação da produção, o seqüenciamento de tarefas (jobs) e o roteamento de operações. 5.2 Programação da produção A programação da produção, segundo Fandel, François e Gubitz 20 (1994, apud LANDMANN, 2005, p.50), compreende desde as atividades de longo prazo (planejamento-mestre de produção) até as de curto prazo (programa detalhado da produção). O planejamento-mestre especifica a quantidade e o momento em que a empresa deve produzir cada um dos itens finais e depende, entre outras variáveis, da previsão de demanda e de estoque. O programa detalhado determina as datas para emissão de ordens de compra, fabricação e montagem, além de planejar a alocação dos recursos de manufatura (máquinas, pessoas, material, energia, transporte, ferramental etc). Nota-se que a operação de um sistema de manufatura é uma seqüência de decisões que tentam compatibilizar as necessidades de processamento com a capacidade disponível. Além disso, cita Pöltl 21 (2001 apud LANDMANN 2005, 20 FANDEL, G.; FTANÇOIS, P.; GUBITZ, K. M. (1994). PPS - Systeme - Grundlagen, Methoden, Software, Marktanalyse. Springer-Verlag. Berlin. 21 PÖLTL, A. (2001).Scheduling durch Heuristische Suche - das ISIS System. Disponível em: < Acesso em: 15 fev

97 65 p.53) deve considerar as instabilidades próprias do sistema produtivo tais como cancelamentos, adiantamentos e acréscimo de pedidos, alterações nas especificações de itens, quebras de máquinas, falta de matéria-prima etc. 5.3 Planejamento do processo, roteamento e programação Segundo Hancock (1989, p.247) o planejamento de processo (process planning) é a tarefa que estabelece a ordem tecnológica das atividades necessárias para completar uma tarefa e roteamento (routing) é a atribuição de uma série de máquinas para satisfazer essa ordem tecnológica. A programação das operações (scheduling) é a definição da ordem de entrada das tarefas em uma linha de produção (BAKER, 1974). Devido à complexidade envolvida nesses processos Hancock (1989, p.247) afirma que na prática esta seqüência é mais arte que ciência. Cada máquina tem características bem definidas: a faixa de peças que pode manusear (tamanho, peso, composição etc), a eficiência com que pode operar (velocidade, custo, precisão etc) bem como as funções gerais de processamento que pode executar (corte, fresamento, torneamento etc). Cada etapa do processamento de uma peça requer um conjunto de características que se ajustam em várias máquinas e o problema aqui é a natureza dos critérios que fazem de uma máquina em particular a mais apropriada. Hutchinson e Pflughoeft (1994, p.708) comentam que após uma peça ser projetada é desenvolvido seu processo de fabricação para, posteriormente, ser realizada sua programação. É exatamente essa abordagem tradicional que é criticada por Lee, Jeong e Moon (2002, p.352) pois, apesar de simples, ignora as relações entre o planejamento de processo e a programação que poderiam levar ao uso de máquinas alternativas. 5.4 Programação de tarefas Nagano, Moccellin e Lorena (2004, p.1) e Silva (2005, p.14) apresentam a seguinte classificação dos problemas de programação de tarefas em sistemas de produção, conforme o fluxo das operações nas máquinas:

98 66 Job shop: cada tarefa tem sua própria seqüência de processamento nas máquinas e, acrescenta Pinedo (1995, p.118), essas seqüências são fixas; Flow shop: quando todas as tarefas têm a mesma seqüência de processamento no mesmo conjunto de máquinas; Open shop: não há uma seqüência específica ou preestabelecida para o processamento das tarefas nas máquinas; Flow shop permutacional: é um flow shop no qual em cada máquina a seqüência das tarefas é a mesma; Máquina única: quando existe uma única máquina disponível para o processamento das tarefas; Máquinas paralelas: quando estão disponíveis diversas máquinas, geralmente idênticas, para as mesmas operações; Job shop com máquinas múltiplas: é um job shop no qual existe um conjunto de máquinas paralelas em cada estágio da produção; Flow shop com máquinas múltiplas: consiste em um flow shop no qual existe um conjunto de máquinas paralelas em cada estágio de produção. Diversas técnicas são propostas para a solução da programação em cada tipo de fluxo. Em geral procura-se otimizar uma determinada medida de desempenho, geralmente associada ao fator tempo (BUZZO e MOCCELLIN, 2000, p.365). French (1982, p.9) chama atenção para o fato das medidas de desempenho serem numerosas e, muitas vezes, conflitantes. Uma função-objetivo muito adotada é a duração total da programação (makespan), ou seja, o intervalo de tempo entre o início da execução da primeira tarefa na primeira máquina e o término da execução da última tarefa na última máquina. A minimização do makespan é, de certa forma, equivalente à maximização da utilização das máquinas (PINEDO, 1995, p.94). Yang e Wang (2001, p. 955) citam que é muito difícil elaborar uma programação ótima, a não ser em casos que envolvem um pequeno número de máquinas. Grande parte dos procedimentos de alocação trabalha no seqüenciamento das tarefas, ou seja, na permutação da ordem de entrada das peças nas máquinas. Siqueira, Torihara e Pinho (2002, p.5) exemplificam a

99 67 complexidade do problema citando que um seqüenciamento de apenas 10 tarefas possui combinações (10!). Devido a essa natureza combinatorial esse problema é classificado como polinomial não determinístico (NP-complete - Non-deterministic Polynomial time), podendo ser resolvido eficientemente de maneira ótima somente em casos de pequeno porte (FRENCH, 1982, p.137, BUZZO e MOCCELLIN, 2000, p.365, BLAZEWICZ et al., 1996, p.16, YANG e WANG, 2001, p.955, GOMES, BARBOSA-PÓVOA e NOVAIS, 2005, p.2323). Sendo assim, para obtenção de boas soluções, diversas técnicas têm sido exploradas. Blazewicz et al. (1996, p.32) lista os seguintes métodos para solução de problemas de programação: Métodos enumerativos (Enumerative methods) o Programação dinâmica (Dynamic programming); o Ramificação e poda (Branch and Bound); Algoritmos de aproximação (Approximation algorithms) Algoritmos heurísticos (Heuristic algorithms) o Resfriamento simulado (Simulated annealing); o Busca Tabu (Tabu search); o Ejection chains; o Algoritmos genéticos (genetic algorithms). Gomes, Barbosa-Póvoa e Novais (2005, p.2324) lembram que busca Tabu, resfriamento simulado e algoritmos genéticos são também denominados de procedimentos metaheurísticos ou aproximativos. Além disso, acrescentam à listagem anterior outra técnica: Inteligência artificial (Artificial intelligence) o Programação de restrições (constraint programming); o Redes neurais (neural network). Buzzo e Moccellin (2000, p.366) mostram que alguns pesquisadores dedicaram-se ao desenvolvimento de métodos metaheurísticos híbridos utilizando busca Tabu, resfriamento simulado e algoritmos genéticos. Segundo esses pesquisadores o objetivo é gerar um procedimento que seja mais eficaz do que qualquer uma das técnicas isoladamente.

100 68 Além disso, deve ficar claro que para alguns tipos de problemas foram desenvolvidos algoritmos específicos. Por exemplo, para o problema de máquina única Naus e Pinho (2002, p.2) citam os algoritmos de Jackson (1955), Smith (1956), Moore (1968), Hudson (1968) e Hack e Roberts (1972). French (1982, p.69) cita o algoritmo de ótimo de Johnson aplicável para casos até duas máquinas em job shop (esse algoritmo pode ser aplicado em casos de 3 máquinas quando algumas condições são satisfeitas). Na abordagem de Benjaafar (1994, p.1390) as peças são roteadas para a primeira máquina disponível para a qual a peça possa ser atribuída, ou seja, as peças compartilham as mesmas máquinas aguardando em uma única fila tipo FIFO (First In First Out Primeiro que entra Primeiro que sai). O termo decisão dinâmica e oportunista é usado quando as decisões de seleção e atribuição de máquinas e peças são feitas em tempo real e baseadas no conhecimento do estado atual do sistema (BENJAAFAR, 1994, p.1394). 5.5 Exemplo de algoritmo de programação flow shop Para cada problema os pesquisadores adotam certas hipóteses. Para o problema flow shop Buzzo e Moccellin (2000, p.365) destacam as seguintes: Cada máquina está disponível continuamente, sem interrupções; Cada máquina pode processar apenas uma tarefa de cada vez; Cada tarefa pode ser processada por uma máquina de cada vez; Os tempos de processamento das tarefas nas diversas máquinas são conhecidos e fixos; As tarefas têm a mesma data de liberação, a partir da qual, qualquer uma pode ser programada e executada; Os tempos de preparação das operações nas diversas máquinas são incluídos nos tempos de processamento e independem da seqüência de operações em cada máquina; As operações nas diversas máquinas, uma vez iniciadas, não devem ser interrompidas.

101 69 Woo e Yim (1998, p.176) e Framinan, Leisten e Rajendran (2003, p.123) descrevem o algoritmo NEH proposto por Nawaz, Enscore e Ham (1983, p.92), que recebeu essa nomenclatura em função das iniciais dos nomes dos pesquisadores. Weng (2000, p.1360) afirma que esse algoritmo parece ser a melhor heurística para minimizar o makespan e o tempo médio de fluxo (mean flowtime). O NEH baseia-se na priorização das tarefas que necessitam de maior tempo para serem processadas. Os seguintes passos são necessários para chegar a uma solução: Passo 1: calcular, para cada tarefa, a soma dos tempos de processamento em todas as máquinas; Passo 2: Ordenar as n tarefas de acordo com os valores decrescentes das somas dos tempos de processamento; Passo 3: Selecionar as duas primeiras tarefas da ordenação e encontrar a seqüência que minimiza a duração total da programação; Passo 4: Para k variando de 3 até n, fazer: Selecionar a tarefa que ocupa a k-ésima posição na ordenação obtida no Passo 2; Examinar as k possibilidades de acrescentar a tarefa na seqüência até então obtida, adotando aquela que leva a uma menor duração. O número total de iterações desse algoritmo é apresentado pela eq.(21), onde n é o número de tarefas a serem processadas. Nota-se que é um número bem menor que as n! iterações necessárias para avaliar todas as combinações. Número Total de ( n + 1) n. Iterações = 1 (21) 2 O exemplo apresentado por Sequeira, Torihara e Pinho (2002, p.6) envolve 3 tarefas e 4 máquinas. Os tempos de processamento das operações são mostrados na Tabela 5.1.

102 70 Tabela Dados de tempos de processamento Tarefas Máquinas M1 M2 M3 M4 T T T Os somatórios do passo 1 obtém os seguintes valores: tarefa 1=26, tarefa 2=23 e tarefa 3=32. Dessa forma o passo 2 obtém a seguinte ordem: T3, T1 e T2. No passo 3 é necessário testar duas seqüências: T3-T1 e T1-T3. A Tabela 5.2 mostra a primeira enquanto a Tabela 5.3 mostra a segunda. Nesses dois quadros os valores entre parênteses são os momentos de início e de término da tarefa (sempre considerando que a primeira tarefa começa no instante zero). Tabela Cálculo do makespan para a seqüência T3-T1 Tarefas T3 T1 Máquinas M1 M2 M3 M4 5 (0, 5) 9 (5, 14) 9 (5, 14) 4 (14, 18) 8 (14, 22) 5 (22, 27) 10 (22, 32) 8 (32, 40) Tabela Cálculo do makespan para a seqüência T1-T3 Tarefas T1 T3 Máquinas M1 M2 M3 M4 9 (0, 9) 5 (9, 14) 4 (9, 13) 9 (14, 23) 5 (13, 18) 8 (23, 31) 8 (18, 26) 10 (31, 41) As programações são visualizadas de uma forma mais clara por meio do gráfico de Gantt (Gantt chart). Na Figura 5.1 está o gráfico para a seqüência T3-T1 e na Figura 5.2 o gráfico da seqüência T1-T3. A primeira seqüência é a melhor.

103 71 M1 M2 M3 M4 T3 T1 T3 T1 T3 T1 T3 T Figura Gráfico de Gantt para a seqüência T3-T1 (Passo 3) M1 M2 M3 M4 T1 T3 T1 T3 T1 T1 T3 T Figura Gráfico de Gantt para a seqüência T1-T3 (Passo 3) O passo 4 consiste em adicionar a próxima tarefa (T2) à melhor seqüência obtida até o momento (T3-T1) em todas as posições possíveis. Sendo assim é necessário avaliar três seqüências: T2-T3-T1 (Tabela 5.4), T3- T2-T1 (Tabela 5.5) e T3-T1-T2 (Tabela 5.6). Tabela Cálculo do makespan para a seqüência T2-T3-T1 Máquinas M1 M2 M3 M4 Tarefas T2 9 (0, 9) 3 (9, 12) 10 (12, 22) 1 (22, 23) T3 5 (9, 14) 9 (14, 23) 8 (23, 31) 10 (31, 41) T1 9 (14, 23) 4 (23, 27) 5 (31, 36) 8 (41, 49) Tabela Cálculo do makespan para a seqüência T3-T2-T1 Máquinas M1 M2 M3 M4 Tarefas T3 5 (0, 5) 9 (5, 14) 8 (14, 22) 10 (22, 32) T2 9 (5, 14) 3 (14, 17) 10 (22, 32) 1 (32, 33) T1 9 (14, 23) 4 (23, 27) 5 (32, 37) 8 (37, 45)

104 72 Tabela Cálculo do makespan para a seqüência T3-T1-T2 Máquinas M1 M2 M3 M4 Tarefas T3 5 (0, 5) 9 (5, 14) 8 (14, 22) 10 (22, 32) T1 9 (5, 14) 4 (14, 18) 5 (22, 27) 8 (32, 40) T2 9 (14, 23) 3 (23, 26) 10 (27, 37) 1 (40, 41) Conclui-se que a melhor seqüência é a T3-T1-T2 com makespan de 41 unidades de tempo. M1 T2 T3 T1 M2 T2 T3 T1 M3 T2 T3 T1 M4 T2 T3 T M1 T3 T2 T1 M2 T3 T2 T1 M3 T3 T2 T1 M4 T3 T2 T M1 T3 T1 T2 M2 T3 T1 T2 M3 T3 T1 T2 M4 T3 T1 T Figura Gráficos de Gantt para o passo Roteamento O roteamento é a definição da seqüência das máquinas selecionadas para a execução de cada operação de uma peça, como mostrado por Sarker e Li (2001, p.674). Porém, quando o arranjo físico possui mais de uma máquina que possa executar as operações, apresentam-se várias rotas potenciais.

105 Busca pela melhor rota - roteando a primeira peça As possíveis rotas para uma determinada seqüência de fabricação dependem do número de operações e do número de máquinas que podem executar cada operação. A combinação destes elementos, mostra Borenstein (2000, p.84), forma uma árvore de busca (Figura 5.4). No exemplo que será apresentado tem-se uma peça com 4 operações na seguinte ordem de processos: Considerando que o processo 1 possui uma máquina (1.01), o processo 2 duas máquinas (2.01 e 2.02) e os processos 3 e 4 possuem três máquinas cada um (3.01, 3.02, 3.03, 4.01, 4.02 e 4.03) concluise que existem 18 rotas possíveis Figura Árvore de rotas Partindo do princípio que ainda não há nenhuma peça roteada, ou seja, não há nenhuma máquina com tempo alocado, o critério de alocação se dá somente pela rota de menor caminho. Para isso é necessário ter a disposição das máquinas no arranjo físico (Figura 5.5) Figura Arranjo físico Ao invés de calcular a distância percorrida para cada rota potencial é melhor realizar uma busca heurística que reduza a quantidade de cálculos e, conseqüentemente, o tempo consumido. Essa heurística pode ser descrita

106 74 como: analisar cada par de operações e estender a busca apenas aos nós de menor distância (nós mais promissores). Para o primeiro par de operações (1 e 2) há apenas uma origem (máquina 1.01) e dois destinos (máquinas 2.01 e 2.02), gerando duas possibilidades de movimentação: e Usando distâncias retilineares obtém-se respectivamente 2 e 1 unidades de distância para cada rota parcial, como mostra o Quadro 5.1. Sendo assim, de acordo com a heurística, estende-se a busca apenas no nó da máquina Quadro Análise do primeiro par de operações Operação 1 Operação 2 Máquina Linha Coluna Máquina Linha Coluna Distância Para o par de operações (2 e 3) há uma origem e três destinos: , e Pela disposição das máquinas verifica-se que a menor distância está entre as máquinas 2.02 e 3.01, como mostra o Quadro 5.2. Nota-se nesse quadro que a máquina selecionada para a operação inicial está representada pela coluna denominada Rota. A coluna denominada Distância Anterior armazena a distância retilinear entre a máquina da operação 1 e a máquina da operação 2. Quadro Análise do segundo par de operações Operação 2 Operação 3 Rota Máquina Linha Coluna Máquina Linha Coluna Distância Distância Anterior Finalmente, analisando as distâncias entre a máquina 3.01 e as máquinas do processo 4 verifica-se um empate entre 4.01 e 4.03, com 3 unidades de distância, como mostra o Quadro 5.3. Nota-se que a coluna distância anterior é, na realidade, o somatório das distâncias das máquinas que já fazem parte da Rota.

107 75 Rota Quadro Análise do último par de operações Operação 3 Operação 4 Máquina Linha Coluna Máquina Linha Coluna Distância Distância Anterior Assim chega-se a duas rotas com distância total de 5 unidades: e O procedimento irá selecionar a primeira seqüência. Esse procedimento está resumido no Quadro 5.4. Quadro Resumo da busca pela rota de menor distância percorrida 1. Receber a seqüência de operações da peça. 2. Obter o número de máquinas do processo usado pela primeira operação. 3. Obter a posição de cada uma dessas máquinas no arranjo físico. 4. Obter o número de máquinas do processo usado pela próxima operação. 5. Obter a posição de cada uma dessas máquinas no arranjo físico. 6. Calcular a distância entre as máquinas desses dois processos. 7. Armazenar a rota parcial de menor distância. 8. Se ainda há processos na seqüência, retorne ao item Encerrar Chamando essa peça de P1 e definindo a duração de suas 4 operações em 10 unidades de tempo, tem-se o gráfico de Gantt da Figura 5.1. P P , P , P , P , Figura Gráfico de Gantt e matriz de alocação

108 76 Ao lado do gráfico de Gantt está uma matriz onde cada elemento é composto por dois valores que representam a alocação da peça na máquina: o primeiro valor indica o instante de início e o segundo valor o instante de término Programando outras peças Montreuil, Venkatadri e Lefrançois (1991, p.11) mostram a possibilidade de encontrar as diversas rotas potenciais. Supondo que uma peça P2 deva ser programada percebe-se que a análise da rota terá que levar em consideração as informações de alocação da primeira peça. Para efeitos didáticos a peça P2 terá a mesma seqüência e os mesmos tempos da peça P1. A primeira operação, que usa o processo 1, deverá ser alocada na máquina Consultando a matriz de alocação verifica-se que essa máquina está ocupada do instante 0 ao 10. Portanto a peça P2 só poderá ser alocada com inicio em 10 e término em 20. Isso determina que a segunda operação pode ser iniciada a partir do instante 20. Nota-se que o procedimento apresentado pelo Quadro 5.4 só é válido para a primeira tarefa a ser alocada pois, para as demais, é necessário analisar a matriz de alocação e encontrar os intervalos de tempo disponíveis nas máquinas. Analisando o primeiro par de operações têm-se duas opções: e Como ainda não há nenhuma alocação na máquina 2.01 a operação pode iniciar-se no instante 20. A máquina 2.02 já possui uma alocação e tem dois intervalos de tempo livre: de 0 até 10 e a partir de 20. Nota-se que apesar da segunda operação caber no intervalo de 0 até 10 ela não pode ser alocada pois a primeira operação encerra-se no instante 20. Sendo assim, nessa máquina a operação só pode iniciar-se no instante 20. Por esse critério há um empate já que nas duas máquinas o momento de encerramento da operação 2 será no instante 30, porém a distância percorrida é de apenas 1 unidade para a máquina 2.02 enquanto que para a máquina 2.01 é de 2 unidades. Sendo assim a alocação ocorre na máquina Entre os processos 2 e 3 haverá um empate no critério tempo, mas a alocação será na máquina 3.01 devido a menor distância, bem como entre os processos 3 e 4, cuja alocação será na máquina 4.01.

109 77 Supondo a existência das peças P3 e P4 com os mesmos valores da P1 tem-se, ao final do processo de alocação, o gráfico de Gantt e a matriz de alocação mostradas pela Figura 5.7. No Apêndice H tem-se a listagem com detalhes do procedimento. P1 P2 P3 P P1 P2 P3 P , 10 10, 20 20, 30 30, P1 P2 P3 P , 20 20, 30 30, 40 40, P1 P2 P3 P , 30 30, 40 40, 50 50, P1 P2 P3 P , 40 40, 50 50, 60 60, Figura Gráfico de Gantt e matriz de alocação com 4 peças Buscando a melhor rota (com flexibilidade) Com a adoção da flexibilidade na seqüência de operações o cenário observado anteriormente altera-se. Como exemplo extremo iremos supor que as 4 peças possuam seqüências completamente flexíveis, ou seja, suas 4 operações podem ser executadas em qualquer ordem, resultando em 24 possíveis seqüências (Quadro 5.5). Para a peça P1 o tempo de execução será de 40 unidades de tempo, independente de qual seqüência seja adotada, pois todas as máquinas estão livres. Porém 6 das 24 seqüências fornecem uma distância percorrida de apenas 3 unidades. Quadro possíveis seqüências (completamente flexível) Seqüência Operações Seqüência Operações Seqüência Operações

110 78 Foi escolhida a seqüência 8 ( ) com a rota Essa alocação está representada na Figura 5.8. P1 P2 P3 P P , P , P , P , Figura Gráfico de Gantt e matriz de alocação (P1 flexível) A peça P2 terá as mesmas 24 possíveis seqüências, como o Quadro 5.6 mostra. Para cada seqüência buscou-se a rota de menor instante de término (T) e menor distância percorrida (D), já levando em consideração a peça P1 alocada. Ao final da análise 3 rotas empataram como melhor solução e a primeira foi selecionada ( ). Quadro Resultado da análise de alocação para a peça P2 Seq. Rota T D Seq. Rota T D

111 79 O resultado dessa alocação pode ser melhor visualizado pelo gráfico da Figura 5.9, juntamente com a matriz de alocação. P1 P2 P3 P P1 P , 20 20, P , P , P , P , P , P , Figura Gráfico de Gantt e matriz de alocação após alocar a peça P2 Repetindo o procedimento para as peças P3 e P4 chega-se ao resultado mostrado pela Figura Todas as peças são completadas no instante 40, duas peças percorrem 3 unidades de distância (P1 e P2) enquanto as outras duas percorrem 4 unidades (totalizando 14 unidades para o conjunto). O detalhamento desse procedimento está listado no Apêndice H. P1 P2 P3 P P3 P1 P2 P , 20 20, 30 0, 10 30, P2 P , 10 30, P1 P , 10 20, P3 P , 40 10, P4 P ,40 0, P2 P , 20 20, P4 P , 30 10, Figura Resultado da alocação das 4 peças com flexibilidade total O gráfico de Gantt também permite observar que a máquina 1.01 é o gargalo já que está com 100% de ocupação contra 50% das máquinas 2.01, 2.02, 3.02, 3.03, 4.01 e 4.03 e 0% das máquinas 3.01 e Outra forma de avaliar a carga alocada é pela ocupação dos processos: 100% do processo 1,

112 80 50% do processo 2 e 33% dos processos 3 e 4. Esse resultado era esperado pelo fato de todas as peças usarem todos os processos e o número de máquinas dos processos não serem iguais. A comparação dos resultados de roteamento sem e com flexibilidade dessas 4 peças permite concluir que a flexibilidade teve um grande impacto no tempo de conclusão total do lote com uma redução de 30 unidades de tempo (42,86%). Porém, essa conclusão não pode ser generalizada. Supondo o roteamento de 20 peças iguais às descritas anteriormente tem-se que no roteamento sem flexibilidade o lote é concluído no instante 230 enquanto que no roteamento com flexibilidade o encerramento ocorre no instante 200. Essa pequena diferença de resultado deve-se ao fato do processo 1 possuir apenas uma máquina e ser usado por todas as peças (a redução no tempo de 30 unidades representa agora aproximadamente 13%). Apesar desse resultado pouco expressivo com relação ao tempo de conclusão do lote é possível verificar que houve uma redução de 18% na distância percorrida pelo conjunto de peças (reduzindo a distância de 100 para 82 unidades). 5.7 Considerações finais Este capítulo, que encerra a revisão bibliográfica, apresentou conceitos sobre a programação da produção, o seqüenciamento de tarefas e o roteamento de operações. Destacou a complexidade do problema e mostrou, por meio de um exemplo, a aplicação de um algoritmo para o caso de flow shop. Um exemplo com apenas 4 peças e 9 máquinas foi usado para mostrar os modos de roteamento rígido e flexível O capítulo seguinte apresentará os procedimentos executados no desenvolvimento da pesquisa.

113 81 6 DESENVOLVIMENTO DA PESQUISA 6.1 Considerações iniciais Este capítulo apresenta a metodologia desenvolvida nesta pesquisa. Inicialmente é abordado o procedimento geral para obtenção dos dados experimentais e em seguida são detalhados três procedimentos específicos: geração de peças, geração de arranjos e roteamento das peças. 6.2 Procedimento geral O fluxograma da Figura 6.1 mostra o procedimento de obtenção dos dados experimentais. Na etapa seleção dos arranjos era feita a escolha do grupo de arranjos físicos para serem simulados dentre os três tamanhos definidos (pequeno, médio e grande). Para cada tamanho de arranjo físico foram elaboradas 152 disposições divididas em: 50 arranjos físicos funcionais; 50 arranjos físicos parcialmente distribuídos; 50 arranjos físicos aleatoriamente distribuídos; 1 arranjo físico maximamente distribuído pelo algoritmo ALVO; 1 arranjo físico maximamente distribuído pelo AG. Para cada um dos três tamanhos foram criados arranjos físicos equilibrados (departamentos com mesmo número de máquinas) e desequilibrados. Após a seleção dos arranjos fez-se a seleção dos conjuntos de peças que foram simulados. Para cada tamanho de arranjo físico foram criados 30 conjuntos com 150 peças.

114 82 INÍCIO Seleção dos arranjos Seleção das peças Com flexibilidade? N S Aciona programação flexível Não aciona programação flexível i=1 e j=1 Seleciona arranjo i Seleciona peça j j=j+1 Programa a peça j no arranjo i Grava dados i=i+1 N Última peça? S Salva dados da programação do arranjo i Último arranjo? N S FIM Figura Fluxograma do procedimento experimental

115 83 Segundo o Teorema do Limite Central uma variável aleatória possuirá distribuição gaussiana quando o número de amostra tende ao infinito. Como um elevado número de amostras leva a um esforço computacional muito grande definiu-se como 30 o número de conjuntos de peças e como 50 o número de cada tipo de arranjos físicos. Como os valores são maiores ou iguais a 30 tem-se que a distribuição das médias será aproximadamente normal. Na etapa seguinte escolhe-se entre realizar o roteamento das peças com flexibilidade ou sem ela. Quando se seleciona com flexibilidade o procedimento de roteamento irá analisar todas as seqüências de processo possíveis e selecionar a que for mais rápida para a peça. Na opção sem flexibilidade o procedimento usará apenas a primeira seqüência de processo. Após essas definições inicia-se a seqüência de eventos que resultará no roteamento de todas as peças do conjunto selecionado em todos os arranjos físicos escolhidos. O principal dado coletado é o tempo total de execução do conjunto de peças em cada arranjo (makespan). Essa variável permite comparar o desempenho dos quatro tipos de arranjo físico nos três tamanhos definidos. O fluxograma da Figura 6.1 deixa claro que há dois tipos de dados a serem fornecidos: peças e arranjos físicos. A metodologia elaborada para criar cada um desses dados é apresentada nos próximos itens. 6.3 Procedimento automático para geração de peças Devido a indisponibilidade de dados reais e a dificuldade de criar manualmente centenas de peças com flexibilidade de processo adotou-se como solução elaborar uma metodologia para gerá-los de forma automática. Inicialmente, no modelo que será apresentado, o usuário define o número de processos existentes no arranjo físico (NumProc). Em seguida determina-se o número mínimo e máximo de operações que cada peça gerada poderá ter (OpMin e OpMax) bem como a faixa de tempo dentro da qual o tempo de cada operação será escolhido (Tmin e Tmax). Os últimos dados que devem ser configurados são o número de peças a gerar (NumPec), o número

116 84 de conjuntos de peças (NumCj) e o nome base dos arquivos que conterão as peças (Nome). Ao final do processo de geração de peças tem-se um arquivo para cada peça contendo suas relações de precedência e o tempo que cada operação consome. Esses arquivos têm o mesmo nome, com exceção de uma numeração seqüencial que os diferencia. Para que fosse possível gerar peças com diversidade de relações de precedência, o procedimento baseou-se em relações pré-montadas e colocadas em arquivos denominados Modelos. Foi criado um arquivo modelo para cada número de operações variando de 3 até 15. Cada arquivo modelo contém algumas estruturas de precedência. O Quadro 6.1 apresenta, como exemplo, o conteúdo do arquivo 06.txt que contém quatro estruturas de precedência para peças com 6 operações (do lado direito foram colocados comentários para facilitar o entendimento). Quadro Conteúdo (comentado) do arquivo modelo para 6 operações 4 => Número de modelos do arquivo A, B, C, D, E, F => Identificadores das operações 0, A, A, A, BC, CD => Modelo de precedência 1 0, 0, 0, ABC, D, D => Modelo de precedência 2 0, A, A, A, A, BCDE => Modelo de precedência 3 0, 0, A, AB, B, CDE => Modelo de precedência 4 Pelo Quadro 6.1 percebe-se que se trata de um arquivo de texto sem formatação, normalmente denominado de ASCII puro. Nele cada informação é colocada em uma linha ou, se estiverem em uma mesma linha, separadas por vírgula. A primeira informação do arquivo é o número de modelos que ele contém. Em seguida estão os caracteres que representam as operações (poderiam ser letras minúscula, numerais ou combinações). Finalmente, na seqüência, tem-se em cada linha um modelo de precedência. O nó raiz (que não tem nenhum precedente) é sempre identificado nas relações de precedência pelo caractere zero (0).

117 85 A Figura 6.2 apresenta, de forma gráfica, os quatro modelos de precedência contidos no arquivo de modelo apresentado pelo Quadro 6.1, juntamente com o número total de possíveis seqüências, como discutido no capítulo 4. A B C D E F Modelo 1 (12 seqüências) A B C D E F Modelo 2 (12 seqüências) B A C D F Modelo 3 (24 seqüências) E A B C D E F Modelo 4 (12 seqüências) Figura Quatro modelos de precedência para peças com 6 operações

118 86 A Figura 6.3 mostra o fluxograma de funcionamento do modelo proposto para gerar automaticamente as peças. INÍCIO Definição de parâmetros (NumProc, OpMin, OpMax, Tmin, Tmax, NumPec, NumCj, Nome). Contador de peças = 1 Escolhe o número de operações da peça aleatoriamente entre OpMin e OpMax. Abre arquivo modelo para o número de operações escolhido. Lê o número de modelos desse arquivo. Escolhe aleatoriamente um dos modelos. Marca todos os processos como disponíveis. Escolhe um processo disponível (aleatório ou roleta). Incrementa contador de peças. Incrementa contador de conjuntos. Marca o processo atribuído como indisponível. Atribui o processo escolhido à operação. Escolhe aleatoriamente um tempo entre Tmin e Tmax e atribui à operação. N Última operação da peça? S Grava arquivo da peça. Última peça do conjunto? N S Último conjunto a gerar? N S FIM Figura Fluxograma de funcionamento do gerador automático de peças

119 87 Analisando o fluxograma da Figura 6.3 é possível notar que o uso de escolhas aleatórias leva a uma probabilidade muito pequena de gerar duas peças idênticas em cada conjunto. Mesmo que as peças tenham o mesmo número de operações as escolhas aleatórias devem levá-las a estruturas de precedência distintas. E no caso de duas peças terem a mesma estrutura irão ser compostas de operações diferentes. Uma situação limite ocorre quando o número máximo e mínimo de operações da peça for igual ao número de processos do arranjo (OpMax=OpMin=NumProc). Como todas as operações participam das peças a aleatoriedade irá exercer sua influência apenas na ordem e no tempo das operações. Se mesmo com toda essa aleatoriedade, forem criadas peças idênticas em um mesmo grupo, isso não representa nenhum problema. Nada impede que em um ambiente volátil ocorra a repetição de uma peça em um curto período de tempo. 6.4 Procedimentos para geração de arranjos físicos Foi elaborado um procedimento de geração de arranjo físico para cada tipo de distribuição. Para os arranjos físicos funcional, parcialmente distribuído e aleatoriamente distribuído o procedimento é baseado na curva de preenchimento espacial de Peano 22. Para o arranjo maximamente distribuído foi desenvolvido um algoritmo específico. Nos três procedimentos que utilizam a curva de Peano foi utilizada uma rotina, denominada SFC. A cada chamada dessa rotina ocorre um avanço para a próxima posição do arranjo físico conforme sua regra de movimento (e o número escolhido de faixas). Dessa forma, a cada chamada, o procedimento principal recebe uma posição livre do arranjo físico, definida em termos de linha e coluna Gerando arranjo físico funcional O arranjo físico funcional é definido pelo agrupamento das máquinas de um mesmo processo. O procedimento elaborado para gerar esse tipo de 22 Detalhes estão disponíveis no apêndice B.

120 88 distribuição está detalhado no fluxograma da Figura 6.4. Os dados do arranjo físico que devem ser fornecidos são: número de linhas (NL), número de colunas(nc), número de processos (NP) e número de máquinas de cada processo (NMP), sendo este último um vetor com índice variando de 1 até NP. O procedimento é simples: um processo é sorteado de forma aleatória e em seguida todas as suas máquinas são alocadas em seqüência, para ficarem juntas e formarem um departamento. INÍCIO Informações do arranjo: NL, NC, NP e NMP Definição do número de faixas Marca todos os processos como disponíveis Escolhe aleatoriamente um processo entre os disponíveis i= número de máquinas do processo escolhido Alocação j=j+1 j=1 SFC Aloca a máquina j Marca processo alocado como indisponível N j=i? S Último processo? N S FIM Figura Procedimento de geração de arranjo físico funcional

121 Gerando arranjo físico parcialmente distribuído O fluxograma da Figura 6.5 mostra a seqüência de eventos que geram o arranjo físico parcialmente distribuído. A variável NMD recebe o número de máquinas que cada departamento deverá receber. INÍCIO Informações do arranjo: NL, NC, NP e NMP Definição do número de faixas Definição do número de departamentos ND Calcula NMD(x) Marca todos os processos como disponíveis Escolhe aleatoriamente um processo entre os disponíveis x i=nmd(x) i=nmp(x) S NMP(x)<i? N Alocação NMP(x)=NMP(x)-i Processo x indisponível S NMP(x)=0? N Há processos disponíveis? S N FIM Figura Procedimento para gerar arranjo físico parcialmente distribuído

122 90 Um exemplo será usado para simplificar o entendimento das etapas desse procedimento. O arranjo físico para esse exemplo possui 3 linhas, 4 colunas e 4 processos (Tabela 6.1). Tabela Máquinas do exemplo Processo Número de máquinas A 6 B 3 C 2 D 1 Supondo 2 faixas para a curva de preenchimento espacial de Peano, o arranjo físico será percorrido da forma mostrada pela Figura 6.6, onde os números representam a ordem pela qual a rotina SFC irá apresentar cada posição. Cada processo será dividido em 2 departamentos Figura Curva de preenchimento para o exemplo Com esses dados a primeira etapa do procedimento terá suas variáveis com os seguintes valores: NL = 3 NC = 4 NP = 4 ND = 2 NMP(1) = 6 NMP(2) = 3 NMP(3) = 2 NMP(4) = 1 O passo seguinte irá declarar o vetor NMD com 4 elementos, um para cada processo. Esse vetor irá armazenar o número de máquinas de cada departamento, calculado pela divisão do número de máquinas de cada processo pelo número de departamentos, ou seja, NMD(x) = NMP(x) / ND. O valor calculado é arredondado para o inteiro mais próximo e caso obtenha-se zero ele é transformado em 1. Após esta etapa esse vetor terá os seguintes valores:

123 91 NMD(1) = 6 / 2 = 3 NMD(2) = 3 / 2 = 1.5 = 2 NMD(3) = 2 / 2 = 1 NMD(4) = 1 / 2 = 0.5 = 1 Na seqüência todos processos são marcados como disponíveis, permitindo que qualquer um possa ser selecionado. A partir da etapa seguinte inicia-se um ciclo que só será encerrado quando todas as máquinas forem alocadas. Esse ciclo começa com a escolha aleatória de um processo disponível. Neste momento todos os processos estão disponíveis e iremos supor que x=2 (o processo B foi sorteado). Na etapa seguinte a variável i recebe o número de máquinas para um departamento do processo B, ou seja, i = NMD(2) = 2. A próxima etapa verifica se o número de máquinas do processo selecionado que ainda não foram alocadas é menor que o número de máquinas calculado para cada departamento (i). Neste caso o teste é negativo e o processamento segue para o próximo teste. A rotina de alocação é igual à apresentada na Figura 6.4, mas aqui foi simplificada em apenas um bloco. Como neste caso i=2 serão alocada duas máquinas do processo B (posições 1 e 2). Em seguida as máquinas alocadas são subtraídas do número de máquinas do processo. Tem-se NMP(2) = 3-i = 3-2 = 1 que significa que falta alocar uma máquina do processo B. A última etapa do ciclo verifica se ainda há máquinas do processo a serem alocadas. Como neste caso ainda resta uma máquina o teste é falso e o processamento segue diretamente para o passo seguinte. Como ainda há processos disponíveis o ciclo retorna à escolha aleatória de processos. Tomemos x=3 (o processo C foi escolhido). Tem-se i=1. O teste da etapa seguinte também é falso neste caso. Na seqüência uma máquina C será alocada na posição 3. O número de máquinas do processo C será reduzido em uma (NMP(3) = 2-1 = 1). O primeiro teste que segue é falso e o segundo verdadeiro. O ciclo é reiniciado. Supondo x=1 (processo A foi sorteado) tem-se i=3. O primeiro teste continua sendo falso e três máquinas do processo A serão alocadas (posições

124 92 4, 5 e 6). Em seguida faz-se NMP(1)= 6-i = 6-3 = 3. Novamente o teste seguinte é falso e o último teste é verdadeiro, reiniciando o ciclo. Façamos agora x=2 (processo B sorteado novamente), Tem-se i=2. O primeiro teste do ciclo, neste caso é verdadeiro, pois há apenas uma máquina do processo B a ser alocada enquanto o número de máquinas previsto para cada departamento é igual a 2. Sendo assim o processamento é desviado e faz i=nmp(2)=1, pois há somente uma máquina a ser alocada. Após a alocação na posição 7 faz-se NMP(2) = 1-1 = 0. O teste seguinte, também pela primeira vez, é verdadeiro e o processo B torna-se indisponível (todas as suas máquinas foram alocadas). Como há máquinas do processo A, C e D a alocar o ciclo reinicia. Fazendo x=4 (processo D sorteado) tem-se i=1 e essa máquina é alocada na posição 8. Em seguida essa máquina é subtraída do número de máquinas do processo D ficando NMP(4)=0. No teste seguinte o processo D passa a ficar indisponível também. No reinício do ciclo e supondo x=3 (processo C selecionado) ocorrerá sua alocação na posição 9. Como NMP(3) será zerado o processo C será definido como indisponível e o ciclo reiniciará. Como resta apenas o processo A ele será selecionado (x=1 e i=3). As três máquinas serão alocadas (posições 10, 11 e 12) e o processo A ficará indisponível. Como não há mais nenhum processo disponível o procedimento se encerra. A Figura 6.7 mostra o arranjo físico final deste exemplo após todos os eventos apresentados. Nota-se que o processo D, que possui apenas uma máquina e, por conseqüência apenas um departamento, foi tratado de forma correta pelo procedimento. A A B A A C D A B B C A Figura Arranjo físico parcialmente distribuído do exemplo

125 Gerando arranjo físico aleatoriamente distribuído No procedimento de geração de arranjo físico aleatoriamente distribuído os processos são selecionados ao acaso e, a cada seleção, somente uma máquina é alocada (Figura 6.8). Quando todas as máquinas de um processo são alocadas o processo torna-se indisponível. INÍCIO Informações do arranjo: NL, NC, NP e NMP Definição do número de faixas Marca todos os processos como disponíveis Escolhe aleatoriamente um processo entre os disponíveis x Alocação SFC Aloca uma máquina NMP(x)=NMP(x)-i Processo x indisponível S NMP(x)=0? N Há processos disponíveis? S N FIM Figura Geração de arranjo físico aleatoriamente distribuído Tanto neste procedimento quanto no anterior (arranjo físico parcialmente distribuído) há uma etapa após a seleção do processo (seleção de x) que não consta dos fluxogramas. Caso o processo selecionado seja igual ao do ciclo anterior um novo sorteio é realizado, evitando que processos iguais fiquem

126 94 juntos. Porém, como há a possibilidade de entrar em um ciclo infinito (quando a última máquina for igual à penúltima), essa verificação é realizada no máximo 10 vezes Gerando arranjo físico maximamente distribuído A Figura 6.9 apresenta o fluxograma de funcionamento do algoritmo denominado ALVO. São usadas duas variáveis para contagem, sendo que a variável i conta os processos e a variável j conta as máquinas de cada processo. INÍCIO Ordena os processos pela quantidade de máquinas em ordem crescente i=1 N = número de máquinas do processo i Calcula a posição ideal para as N máquinas j=1 i=i+1 Posição para a máquina j está livre? N Procura posição livre ao redor da posição inicial j=j+1 S Aloca a máquina na posição N j=n? S N É o último processo? S FIM Figura Fluxograma de funcionamento do algoritmo ALVO

127 95 O nome dado ao algoritmo refere-se ao modo como aloca as máquinas: calcula uma posição alvo ideal para cada máquina e depois as aloca o mais próximo possível dessa posição. Seu objetivo é criar o arranjo físico maximamente distribuído de forma mais simples e rápida do que as abordagens existentes na literatura. Os dados necessários são: número de linhas e colunas do arranjo físico e a quantidade de máquinas de cada processo. As primeiras máquinas a serem analisadas garantem a alocação na posição ideal calculada, pois o arranjo físico ainda está vazio. Dessa forma a primeira etapa do algoritmo ordena os processos pelo número de máquinas em ordem crescente. Isso garante um bom posicionamento de processos com poucas máquinas. Em seguida o algoritmo verifica quantas máquinas o processo possui e calcula a posição ideal para cada máquina. Esse procedimento será detalhado no próximo item. Após o cálculo das posições ideais inicia-se o processo de alocação. Se a posição ideal está vaga a máquina é alocada e o procedimento segue para a máquina seguinte. Caso a posição já esteja ocupada inicia-se uma busca por uma posição livre próxima à posição ideal. Esse procedimento é dividido em quatro etapas. A primeira etapa verifica se uma das quatro posições adjacentes está livre, como mostra a Figura º opção Posição ideal 2º opção OCUPADA 1º opção 4º opção Figura Busca por uma posição livre (etapa 1) Se uma dessas posições estiver livre a máquina é alocada a apenas uma distância retilinear da posição ideal. Se essas quatro posições estiverem

128 96 ocupadas passa-se para a segunda etapa que testa oito posições que estão a duas distâncias retilineares da posição ideal, como mostra a Figura º opção 2º opção Ocupada 4º opção 6º opção Ocupada Posição ideal OCUPADA Ocupada 5º opção 3º opção Ocupada 1º opção 7º opção Figura Busca por uma posição livre (etapa 2) Se todas as posições verificadas na etapa 2 estiverem ocupadas iniciam-se os testes da etapa 3 que analisam 12 posições, sendo as 8 primeiras com 3 distâncias retilineares da posição e as restantes a 4 distâncias retilineares (Figura 6.12). 10º opção 2º opção Ocupada 4º opção 11º opção 6º opção Ocupada Ocupada Ocupada 8º opção Ocupada Ocupada Posição ideal OCUPADA Ocupada Ocupada 7º opção Ocupada Ocupada Ocupada 5º opção 12º opção 3º opção Ocupada 1º opção 9º opção Figura Busca por uma posição livre (etapa 3) Caso todas essas posições estejam ocupadas passa-se para a quarta etapa que irá testar sistematicamente todas as posições em torno da posição

129 97 ideal, com exceção das 24 posições já testadas, até encontrar uma posição não ocupada, como mostra a Figura Ideal Figura Busca por uma posição livre (etapa 4) Cálculo da posição ideal O modelo proposto oferece posições específicas para cada máquina quando o processo possui até 10 máquinas. Acima dessa quantidade as posições são calculadas pela simples divisão da área pelo número de máquinas do processo. As posições são pré-definidas em termos percentuais em relação à dimensão horizontal (x) e vertical (y) do arranjo físico e, durante o cálculo, são convertidos em números inteiros relativos ao número de linhas e colunas Posição para 1 máquina Para o caso do processo possuir apenas uma máquina a posição lógica é o centro do arranjo físico. Nessa localização minimiza-se a máxima distância a ser percorrida para atingir qualquer outra posição. Neste caso tem-se x=0.5 e y=0.5, como mostra a Figura As posições percentuais são tomadas a partir do canto superior esquerdo do arranjo físico, tanto neste caso quanto nos casos subseqüentes.

130 98 Figura Posição ideal para 1 máquina Posições para 2 máquinas Para duas máquinas foram definidas quatro disposições distintas, permitindo que a alocação nas posições ideais ocorra com maior freqüência. Cada vez que uma disposição é usada ela é marcada. Dessa forma, se for necessário definir novamente as posições para o mesmo número de máquinas a disposição seguinte é usada. Quando todas as disposições tiverem sido aplicadas inicia-se novamente a partir da primeira disposição. A Figura 6.15 mostra as quatro disposições para o caso do processo possuir 2 máquinas. Figura Quatro disposições ideais para 2 máquinas

131 Posições para 3 até 10 máquinas O Quadro 6.2 apresenta as disposições adotadas quando o processo tem entre 3 e 10 máquinas. Alguns possuem apenas uma disposição enquanto outros possuem mais. As dimensões adotadas estão no Apêndice G. Quadro Disposições ideais para processos entre 3 e 10 máquinas 3 Máq. 4 Máq. 5 Máq. 6 Máq. 7 Máq. 8 Máq. 9 Máq. 10 Máq.

132 Posições para processos com mais de 10 máquinas Adotou-se que acima de 10 máquinas as posições seriam calculadas de uma mesma forma. O procedimento baseia-se na raiz quadrada do número de máquinas, como detalha o Quadro 6.3. Quadro Cálculo das posições para mais de 10 máquinas N = Número de máquinas R = N Se R é um número inteiro então Divisão em X = 1 / (R + 1) Divisão em Y = 1 / (R + 1) Senão Se parte fracionária de R é menor que 0.5 então R = inteiro de R Divisão em X = 1 / (R + 2) Divisão em Y = 1 / (R + 1) Senão R = inteiro de R Divisão em X = 1 / (R + 2) Divisão em Y = 1 / (R + 2) Fim-se Fim-se Supondo 16 máquinas tem-se R=4 (número inteiro), ou seja, 4 máquinas na horizontal e 4 máquinas na vertical. Nesse caso o eixo X será dividido em 5 partes (R+1), bem como o eixo Y. A dimensão de cada divisão será 1/5 = 0.2, ou seja, 20% da altura/largura do arranjo. Com 17 máquinas, como mostra a Figura 6.16, tem-se R= Como a parte fracionária é menor que 0.5 o eixo X será dividido em 6 partes (R+2) e o eixo Y em 5 partes (R+1). Em termos percentuais cada divisão do eixo X tem 16.67% e cada divisão do eixo Y tem 20%. Figura Posições calculadas para 17 máquinas

133 Algoritmo genético para maximização da distribuição O objetivo deste algoritmo genético 23 é maximizar a distribuição das máquinas no arranjo físico de forma a minimizar a máxima distância entre diferentes tipos de máquinas Codificação Foi mantida a forma matricial para representar os elementos da população. Cada elemento da matriz é um número real onde a parte inteira representa o processo e a parte fracionária o número da máquina 24. Optou-se por esta forma para manter as informações sobre cada máquina específica, mas o algoritmo só irá trabalhar com a parte inteira dos valores. A Figura 6.17 mostra um elemento da população com quatro processos (processo 1 com uma máquina, processo 2 com duas e os processos 3 e 4 com 3 máquinas cada) Figura Exemplo de um elemento da população População inicial A população inicial é gerada em quatro etapas por modificações aleatórias sobre um arranjo físico oferecido (previamente gerado) que será denominado arranjo físico semente. O número de elementos da população é escolhido pelo usuário entre 10 e 100. Etapa 1: Esta etapa consiste na obtenção de apenas 1 elemento que é o próprio arranjo físico semente, sem nenhuma alteração. Caso seja um arranjo com boa distribuição de máquinas isso auxiliará na busca de uma solução otimizada. 23 Maiores detalhes sobre essa técnica estão no apêndice E. 24 Para permitir que cada processo tenha até 99 máquinas foi adotado como padrão o uso de 2 algarismos para a representação da máquina, ou seja, dois algarismos na parte decimal.

134 102 Etapa 2: Nesta etapa gera-se metade dos elementos da população inicial. Os novos elementos são gerados pela troca de posição entre duas máquinas do arranjo físico semente. Além disso, a cada novo elemento gerado ocorre uma troca a mais, ou seja, o primeiro elemento desta etapa é o arranjo físico semente com uma troca de posições, no segundo elemento ocorrem duas trocas, no terceiro três e assim por diante, gerando uma diversidade maior. É importante destacar que a troca só ocorre se as máquinas, escolhidas aleatoriamente, forem de tipos diferentes. Caso sejam escolhidas máquinas do mesmo tipo uma nova tentativa ocorre. Etapa 3: Esta etapa gera 25% da população inicial e nela o arranjo físico semente sofre alterações mais drásticas. Aleatoriamente são escolhidas e trocadas de posição duas linhas do arranjo físico levando a pontos de busca mais distantes da solução inicial. Etapa 4: Aqui são gerados os elementos restantes para completar a população inicial. O procedimento é similar ao da etapa anterior, mas ao invés de trocar linhas são trocadas duas colunas aleatoriamente selecionadas Função de aptidão (avaliação) A função de aptidão adotada é o índice de distribuição proposto por Benjaafar e Sheikhzadeh (2000, p.317) 25, que por sua vez é similar ao índice de Montreuil et al. (1993). Esse cálculo indica o grau de distribuição do arranjo físico sendo que, quanto menor o índice, mais distribuídas as máquinas estão. Dessa forma tem-se que o processo de otimização consiste na minimização desse índice Condição de encerramento A única condição de encerramento adotada é atingir o número de gerações selecionado que pode ser escolhido entre 50 e gerações (em 25 Trata-se das equações (10) e (11) apresentadas no item 3.7.

135 103 passos de 50). Após o encerramento do algoritmo o melhor indivíduo é selecionado como solução Nova população Seguindo a regra do elitismo optou-se por enviar diretamente para a geração seguinte os 10% melhores indivíduos da população. Os demais componentes da população são submetidos ao processo de seleção pelo método da Roleta (Roulette Wheel) para em seguida passarem ou não pelas mutações. A mutação 1, que ocorre com maior freqüência, consiste na simples troca de posição de duas máquinas, desde que sejam de processos diferentes. A probabilidade de ocorrer essa mutação é selecionada pelo usuário em uma faixa de 75 a 100%. A operação de cruzamento consiste em determinar um ponto de corte e trocar as partes de dois cromossomos. Essa alteração costuma ocorrer com baixa probabilidade e sua função é gerar indivíduos mais diversificados para aumentar a exploração do universo de soluções. Porém a codificação adotada impede o uso do cruzamento que, se fosse realizado, não garantiria que o número de máquinas de cada tipo fosse mantido. Para substituir o cruzamento duas diferentes mutações que alteram de forma mais radical o indivíduo foram adotadas. A mutação 2 realiza a troca de duas linhas selecionadas aleatoriamente e a mutação 3 realiza a troca de duas colunas. A probabilidade de ocorrência dessas duas mutações é selecionada pelo usuário de forma independente e podem variar de 0 a 20% Seleção pelo Método da Roleta O Método da Roleta trata cada indivíduo como se ele possuísse uma fatia de uma circunferência que é proporcional ao seu índice de aptidão. Isso faz com que os indivíduos mais adaptados tenham maior probabilidade de seleção e não impede que um indivíduo com menor grau de adaptação possa vir a ser selecionado. Neste trabalho o objetivo é minimizar o valor de uma função e, sendo assim, é necessário manipular os valores de modo a tornar maior a probabilidade dos indivíduos cuja função de avaliação tenha valores menores.

136 104 Foi adotada a relação que cada valor tem com o maior valor entre todos os elementos. A título de exemplo tomemos um conjunto de 5 elementos com os seguintes valores de função de avaliação: 10, 4, 2, 9 e 5. A Tabela 6.2 mostra na coluna da esquerda os índices ordenados de forma crescente. Na coluna central está o resultado da divisão de cada índice pelo índice de maior valor, bem como o somatório dessas relações. Na coluna da direita tem-se a relação percentual resultante. Tabela Cálculo da relação percentual entre os índices Índice Relação com o maior Relação Percentual 2 10 / 2 = / = / 4 = / = / 5 = / = / 9 = / = / 10 = / = = Nota-se, por exemplo, que o primeiro índice é cinco vezes menor que o último. Essa relação é mantida percentualmente já que 43,06% é cinco vezes maior que 8,61%. Em outras palavras, o menor índice tem 5 vezes mais probabilidade de ser selecionado do que o maior índice. A Figura 6.18 mostra a Roleta após o processo apresentado Figura Roleta após manipulação dos índices

137 105 A Figura 6.19 apresenta um fluxograma com as etapas citadas do algoritmo genético implementado. INÍCIO População inicial Obter arranjo físico semente Criar 50% da população inicial (Troca de 2 máquinas) Criar 25% da população inicial (Troca de 2 linhas) Criar 25% da população inicial (Troca de 2 colunas) Ordenar pela função de objetivo Nova População substitui a população da geração anterior. Encerrar? N S Selecionar o indivíduo melhor avaliado (solução). FIM Nova População recebe os 10% dos elementos mais aptos. Nova População S Completou Nova População? N Nova População recebe elemento Roda a roleta e seleciona um elemento da população Mutação 1? N S Troca duas máquinas Mutação 2? N S Troca duas linhas Mutação 3? N S Troca duas colunas Figura Fluxograma detalhado do algoritmo genético implementado

138 Roteamento das peças nos arranjos físicos O procedimento geral para o roteamento das peças em um arranjo físico está representado pelo fluxograma da Figura 6.20, que recebe as informações iniciais para, então, executar um ciclo no qual busca pela melhor rota para cada peça e, após encontrá-la, armazena esse percurso. Como mostra o fluxograma o processo de busca pela melhor rota faz uso dos dados das peças já roteadas. INÍCIO Dados do Arranjo Físico Recebe o arranjo físico e as NP peças a serem programadas Dados das Peças p=1 p=p+1 Busca pela melhor rota no arranjo físico Armazena a melhor rota Dados da Programação N p=np? S FIM Figura Roteamento de um conjunto de peças em um arranjo físico As definições relacionadas com os dados do arranjo físico são: L número de linhas do arranjo físico. C número de colunas do arranjo físico. NPR número de processos existentes no arranjo. NM(x) número de máquinas do processo x, onde x = 1, 2, 3,..., NPR. Arranjo(l, c) arranjo físico, onde l = 1, 2, 3,..., L e c = 1, 2, 3,..., C. As seguintes definições, relacionadas com os dados das peças, são necessárias para o completo entendimento do procedimento:

139 107 NP número de peças a rotear. p peça a ser roteada, onde p = 1, 2, 3,..., NP. NO(p) número de operações da peça p op operação da peça p, onde op = 1, 2, 3,..., NO(p). PRp(op) processo usado pela operação op da peça p. DOp(op) duração da operação op da peça p. A etapa denominada Busca pela melhor rota no arranjo físico analisa a seqüência de operações da peça e o posicionamento das máquinas no arranjo físico. Suas etapas estão detalhadas pelo fluxograma da Figura INÍCIO op=1 Recebe o processo e o tempo de duração da primeira operação da peca p => PRp(op) e DOp(op) Varredura do arranjo físico (obtém L, C e o instante para alocação) op=op+1 Obtém o processo necessário e o tempo de duração da próxima operação => PRp(op) e DOp(op) Varredura do arranjo físico (obtém L, C e o instante de alocação) Armazena a(s) rota(s) parcial(ais) Calcula a distância retilinear entre as máquinas das duas operações Ordena o resultado pelo instante de encerramento das operações e pela distância percorrida entre as máquinas Mantém o melhor resultado (os melhores em caso de empate) N Op=NO(p)? S A primeira rota é a melhor para a seqüência analisada FIM Figura Procedimento de busca pela melhor rota no arranjo físico

140 108 A varredura do arranjo físico, que ocorre tanto fora quanto dentro do ciclo do fluxograma da Figura 6.21 está detalhado pelo pseudocódigo do Quadro 6.4. É dentro dessa varredura que o procedimento analisa a matriz de alocação para buscar o primeiro instante de tempo disponível para alocar cada operação (rotina denominada Busca_primeiro_instante). Quadro Pseudocódigo da varredura do arranjo físico Procedimento: Varredura_do_arranjo_físico Recebe: número de linhas do arranjo físico (L) número de colunas do arranjo físico (C) matriz do arranjo físico (Arranjo(L, C)) peça (p) operação da peça (op) vetor com o processo de cada operação da peça p (PRp()) Usa: l linha do arranjo físico. l = 1, 2, 3,..., L c coluna do arranjo físico. c = 1, 2, 3,..., C. Para l de 1 até L Para c de 1 até C Se Inteiro(Arranjo(l, c)) = PRp(op) então Armazena l Armazena c Busca_primeiro_instante Fim-se Fim-para Fim-para Será adotado o termo instante preferencial de início de uma operação o momento previsto para iniciar uma operação antes da peça ser roteada. Para a primeira operação o instante preferencial de início é zero. Para as demais operações o instante preferencial de início é igual ao instante de finalização da operação anterior. A busca pelo primeiro instante disponível para alocação analisa todas as alocações já existentes em uma máquina para encontrar um intervalo de tempo livre que atenda a três restrições: A duração do intervalo livre deve ser maior ou igual à duração da operação; O inicio do intervalo livre deve ser no mesmo instante ou posterior ao instante preferencial de início da operação; O final do intervalo livre deve ser igual ou posterior ao instante de início da operação somado à sua duração.

141 109 O fluxograma da Figura 6.22 mostra as atividades executadas na busca pelo instante de início mais próximo do início preferencial da operação. O procedimento usa os seguintes dados: a peça que está sendo programada (p), a máquina que está sendo analisada (M=Arranjo(l, c)), o instante de início preferencial da operação (IP) e a duração da operação (DO). Resumidamente o que essa rotina de busca faz é verificar se o instante preferencial de início da operação (IO) pode ser utilizado e, caso não possa, encontra um novo instante que leve ao menor atraso possível. INÍCIO p=1? S N Dados de alocação Conta o número de alocações (NA) na máquina e copia dados da Matriz de Alocação para vetores auxiliares. NA=0? S N Ordena os vetores auxiliares Há intervalo no início que permite alocar? S N Procura por um intervalo que possa receber a operação entre as operações já alocadas na máquina Encontrou? S N Aloca após a última operação já alocada na máquina FIM Figura Busca pelo primeiro instante disponível para alocação

142 110 A rotina inicia-se verificando se a peça que está sendo programada é a primeira (p=1). Caso seja então todas as máquinas estão sem nenhuma alocação, significando que o instante de inicio preferencial pode ser utilizado, independente de qual operação esteja sendo alocada. Dessa forma o fluxo lógico é desviado para o final do fluxograma. Não sendo a primeira peça significa que já há máquinas com tempos alocados e, dessa forma, a tarefa seguinte é contar o número de alocações na máquina em análise (NA). Para isso será necessário analisar os dados da matriz de alocação, mais precisamente a linha da matriz correspondente à máquina M (essa análise é detalhada nos itens 6.6.1). Após a análise das alocações na maquina M realiza-se um novo teste. Se a máquina analisada não possui nenhuma alocação (NA=0) então o instante preferencial de início pode ser usado e o fluxo lógico é desviado para o final da busca. Caso a máquina em análise possua alocações será necessário avaliar os intervalos de tempo livres. Essa tarefa é simplificada copiando os dados de alocação da máquina para um vetor auxiliar e ordenando-o. Após a ordenação verifica-se se há um intervalo de tempo livre no início que possa receber a operação. Para isso duas condições devem ser satisfeitas (ver item 6.6.2). Se estas duas condições forem satisfeitas o fluxo lógico é desviado para o final do procedimento, pois a operação pode ser alocada no início preferencial. Caso contrário é necessário avaliar os intervalos entre as alocações já realizadas (item 6.2.3). Caso não seja possível alocar a operação entre as alocações existentes só restará a opção de alocá-la após o encerramento da última operação já alocada na máquina (detalhes no item 6.6.4) Contagem do número de alocações Durante a contagem do número de alocações da máquina M aproveitase para copiar os dados para vetores auxiliares que serão usados posteriormente. O Quadro 6.5 mostra o pseudocódigo dessa tarefa. As seguintes convenções foram usadas para simplificar a compreensão:

143 111 Quando a matriz de alocação é inicializada todas as suas células são preenchidas com o valor -1 que indica a inexistência de alocação. A matriz de alocação foi dividida em duas matrizes sendo que uma conterá o instante de início da operação (MAII Matriz de Alocação Instante de Início) e a outra o instante de finalização (MAIF Matriz de Alocação Instante de Finalização). O vetor auxiliar foi dividido em dois vetores sendo que um conterá os instantes de início (II) e o outro os instantes de finalização (IF). Quadro Pseudocódigo da contagem de NA Procedimento: Contagem de NA Recebe: a máquina em análise (M) Onde: x é uma variável de contagem NA=0 Para x=1 até p-1 Se MAII(M, x) -1 então NA=NA+1 II(NA)=MAII(M, x) IF(NA)=MAIF(M, x) Fim-se Fim-para O Quadro 6.5 mostra que a matriz de alocação é analisada somente até a peça anteriormente programada (p-1) pois, a partir desse ponto, ainda não há informações. Isso permite concluir que a cada peça alocada essa tarefa tende a consumir um tempo de processamento maior Intervalo inicial Há um intervalo de tempo livre no início que possa receber uma operação quando: A primeira operação não iniciar no instante 0, ou seja, II(1) 0; O instante preferencial de início da operação (IO) somado com sua duração (DO) não se sobrepor à operação já alocada, ou seja, IO+DO II(1).

144 Avaliando intervalos de tempo livres A avaliação dos intervalos entre alocações é realizada pelas etapas mostradas no fluxograma da Figura 6.23, que faz uso de uma variável de contagem (x) e de uma variável lógica (Alocou). Essa variável lógica é iniciada com o valor Falso (F) e, caso o procedimento não encontre um intervalo que possa receber a operação, continuará nesse estado. Nota-se que o procedimento executa um ciclo comparando o final de uma alocação com o início da próxima. Três variáveis foram criadas no fluxograma com o objetivo de tornar mais fácil a compreensão dos testes lógicos. A variável FA (Final Anterior) recebe o instante de tempo referente ao final da alocação anterior e a variável IP (Início Próxima) recebe o instante de início da próxima operação. A variável DI é a duração do intervalo, ou seja a diferença de tempo entre o final de uma alocação e o início da próxima. INÍCIO x=1 Alocou=F FA=IF(x) IP=II(x+1) DI=IP-FA x=x+1 DO>DI ou IO>IP ou IO+DO>IP? N IO<FA? N S IO=FA S N x=na-1? S Alocou=V FIM Figura Avaliação dos intervalos entre alocações existentes

145 113 O primeiro teste avalia três condições. Se uma dessas condições for satisfeita o intervalo não poderá ser usado para alocação. São elas: A duração da operação é maior que a duração do intervalo. O início preferencial da operação é posterior ao início da próxima operação já alocada. O encerramento da operação (IO+DO) é posterior ao início da próxima operação já alocada. A Figura 6.24 mostra graficamente um exemplo para cada uma das condições citadas supondo a existência de um intervalo de tempo entre operações das peças P1 e P2. A operação da peça P6 satisfaz a primeira condição por sua duração ser maior do que a duração do intervalo. A duração da operação da peça P10 é menor que a duração do intervalo, mas seu instante preferencial de início é posterior ao início da operação de P2 já alocada (segunda condição). A terceira condição é exemplificada pela operação da peça P14 cuja duração é menor que a duração do intervalo e que possui início preferencial dentro do intervalo. Porém o seu instante de término (IO+DO) sobrepõe-se à operação já alocada. FA IP P1 P2 P6 P10 P14 Figura Exemplos de satisfação de três condições de avaliação Se nenhuma dessas condições ocorrerem então a operação pode ser alocada, mas existe um detalhe a ser verificado. Se o início preferencial da operação em análise for anterior ao instante de encerramento da alocação anterior (IO<FA) então será necessário atrasar o início da operação, ou seja, fazer com que seu início ocorra após o encerramento da operação anterior (IO=FA). A Figura 6.25 mostra dois exemplos onde é necessário atrasar o início da operação e dois exemplos onde esse atraso não ocorre, bem como seria o

146 114 resultado da alocação em cada situação. Nota-se que em dois casos (P15 e P25) o instante de encerramento é igual à IP. FA IP P1 P2 P15 P1 P15 P2 P18 P1 P18 P2 P21 P1 P21 P2 P25 P1 P25 P2 Figura Situações onde a alocação é possível Tanto a operação de P15 quanto a de P18 tem início preferencial anterior à FA e devido a isso é necessário impor um atraso. Nos casos das operações de P21 e P25 a alocação seria realizada sem alterar o início preferencial Alocando no final O instante de finalização da última operação já alocada é dado pelo último elemento do vetor auxiliar que contém os instantes de finalização, ou seja, IF(NA). Sendo assim, se o início preferencial for posterior à IF(NA) então a operação é alocada como veio, caso contrário é necessário atrasá-la fazendo IO=IF(NA). 6.7 Considerações finais Este capítulo apresentou a metodologia desenvolvida na pesquisa abordando desde o procedimento geral para obtenção dos dados experimentais até o detalhamento dos procedimentos específicos: Geração de peças; Geração de arranjo físico funcional; Geração de arranjo físico parcialmente distribuído; Geração de arranjo físico aleatoriamente distribuído; Geração de arranjo físico maximamente distribuído;

147 115 Algoritmo genético para maximização da distribuição; Roteamento das peças nos arranjos físicos. Dentre as propostas apresentadas o algoritmo genético pode ser questionado por não fazer uso da operação de cruzamento, considerado por alguns autores como sendo a mais importante operação para gerar novos pontos no espaço de otimização. Como citada anteriormente essa decisão foi tomada devido à forma de codificação adotada para representar os indivíduos. Pode-se tentar afirmar que o algoritmo elaborado não mereça ser classificado como genético já que deixaria de ser similar à forma de evolução biológica. Porém é necessário lembrar que a reprodução sexuada (por cruzamento) não é a única forma existente, como descreve Simom (2000, p. 201): A clonagem é o modo natural de um grande número de peixes, anfíbios e répteis reproduzirem um bebê peixe, anfíbio ou réptil. A reprodução por clonagem é generalizada no reino animal, provavelmente porque fêmeas excepcionalmente adequadas possam gerar continuamente, sem diluir seu genoma com um macho mais fraco. E também, não sendo preciso dois para dançar o tango, não se desperdiça tempo nem energia produzindo machos, cortejando ou acasalando-se, o que permite que as fêmeas percorram longas distâncias procurando um lugar bom para criar seus bebês geneticamente idênticos. E mais: é pequena a chance de que um excelente genoma se perca devido a morte de um animal antes que ele possa se reproduzir um número incontável de irmãs fica ainda por perto para passar adiante a família de genes. Na verdade, parece haver tantas vantagens na reprodução por clonagem que livros inteiros têm sido escritos para responder à pergunta: por que mais organismos não se reproduzem exclusivamente por clonagem? Parte da resposta a essa pergunta é que a clonagem permite pequena diversidade genética. Não há mistura de material genético de macho e fêmea para produzir rebentos com novos genomas exclusivos. As espécies que se reproduzem por clonagem, portanto, tendem a ser muito similares geneticamente. Os clones são provavelmente todos relacionados a uma única fêmea que sofreu uma mutação original permitindo que se produzam óvulos que não requerem espermas para iniciar o desenvolvimento. Sem a constante mistura genética, que é o carimbo oficial da reprodução sexual, somente uma mutação ocasional no DNA de um óvulo permitirá posteriores evoluções da espécie. A uniformidade genética de uma espécie clonada será desastrosa se uma doença atingir a população e nenhum de seus membros tiver genes que permitam que a espécie sobreviva.

148 116 Como citado, a desvantagem da reprodução por clonagem é a baixa diversidade genética onde apenas mutações ocasionais levam até novas evoluções. Porém, no algoritmo genético, as mutações ocorrem com freqüência elevada levando à otimização do problema. O capítulo seguinte irá apresentar rapidamente as implementações computacionais referentes aos procedimentos apresentados neste capítulo e que foram usados na obtenção dos dados.

149 117 7 IMPLEMENTAÇÃO DAS FERRAMENTAS COMPUTACIONAIS 7.1 Considerações iniciais Este capítulo apresenta as ferramentas computacionais desenvolvidas em Visual Basic 6 e que foram usadas na obtenção dos dados de entrada (peças e arranjos físicos) e resultados (roteamento). Devido às variações entre as configurações do Windows nas versões em português e inglês todos os programas realizam um teste quando iniciam sua execução. Esse teste verifica qual caractere está definido com símbolo decimal. Caso o caractere ponto decimal esteja definido a execução segue normalmente, caso contrário uma mensagem de erro é apresentada solicitando que a configuração seja alterada por meio das Opções regionais e de idioma do Painel de controle (Figura 7.1). Figura Configuração do símbolo decimal

150 Gerador de peças Na Figura 7.2 está a janela principal do programa gerador de peças configurado para criar 30 conjuntos de 150 peças para arranjos com 15 tipos de processos. Cada peça terá entre 3 e 10 operações e cada operação terá duração entre 10 e 100 minutos. Do lado direito escolhe-se o diretório onde os dados serão gravados, os nomes das peças e dos diretórios. Figura Janela inicial do programa Do lado inferior esquerdo há três opções de seleção de processo que serão discutidas posteriormente. No caso da Figura 7.2 as características do arranjo físico foram escolhidas a partir dos dados de um arquivo DPA (Dados Para Arranjo) que será detalhado no item 7.3 (Gerador de Arranjos Físicos). Usando o botão Gerar inicia-se o processamento. O programa cria um diretório para cada conjunto de peças acrescentando dois algarismos (iniciando em 01) ao nome base que foi fornecido pelo usuário. Dentro de cada diretório são gravados os arquivos das peças usando o nome base escolhido acrescido de algarismos seqüenciais. O nome padrão sugerido para os arquivos das peças é P, podendo ser escolhido qualquer outro. Apesar do programa também permitir que o usuário escolha qualquer outro nome para os diretórios é importante manter o padrão

151 119 sugerido (Pecas_) de modo a manter compatibilidade com o programa de roteamento. Ao final do processamento uma janela de informação é apresentada (Figura 7.3). O exemplo descrito gerou as peças (30x150) consumindo dois minutos e meio de processamento em um Athlon XP de 2.08 GHz e 1 Gb de RAM. Figura Informação ao término do processo Acionar o botão OK da janela de informação faz com que ela seja removida e, na janela principal, todos os botões voltam a ficar disponíveis. A Figura 7.4 permite observar alguns arquivos do primeiro conjunto de peças gerado (diretório Pecas_01). Além dos arquivos de peças (P001.PEC até P150.PEC) nota-se outros 5 arquivos: Grafico 1.BMP, Grafico 2.BMP, Grafico 3.BMP, Graficos.GCP e Dados.RTF. Esses arquivos trazem informações detalhadas sobre as peças geradas para o conjunto e serão descritos em seguida. Figura Alguns arquivos de um conjunto de peças

152 120 O botão Gráficos da tela principal mostra uma janela que permite visualizar três gráficos com informações de cada conjunto de peças (Figura 7.5). Na parte superior do lado direito seleciona-se o diretório base e ao centro o conjunto de peças. Na parte inferior direita seleciona-se um dos três tipos de gráfico de barras. Figura Número de operações de cada peça Abaixo do gráfico são mostradas as informações selecionadas pelo usuário no momento de gerar o conjunto de peças (número de processos do arranjo físico, número mínimo e máximo de operações das peças, tempo mínimo e máximo das operações, número de peças geradas e se foi baseado em um arquivo DPA). O primeiro gráfico apresenta o número de operações de cada peça do conjunto selecionado. As linhas vermelhas indicam os números mínimo e máximo de operações selecionadas pelo usuário. O segundo gráfico (Figura 7.6) permite avaliar a distribuição das peças com relação ao número de operações, ou seja, mostra quantas peças foram criadas para cada quantidade de operações entre o mínimo e o máximo.

153 121 Figura Número de peças geradas para cada número de operações O terceiro gráfico (Figura 7.7) mostra quantas vezes cada processo disponível no arranjo físico foi usado para compor as peças. Figura Número de vezes que cada processo foi atribuído Esses três gráficos estão armazenados no arquivo Gráficos.GCP, que é um arquivo de texto puro (ASCII). Os gráficos também são gravados em formato BMP para oferecer a possibilidade de visualização rápida com os próprios recursos do sistema operacional. O botão Dados apresenta uma tela onde é possível observar informações sobre as peças geradas em qualquer dos conjuntos de peças (Figura 7.8).

154 122 Figura Dados das peças do conjunto gerado A primeira peça gerada tem 7 operações (como pode ser comprovado pelo gráfico da Figura 7.5). O modelo de estrutura (template) selecionado foi o quinto. Em seguida é apresentada uma tabela com as relações de precedência do modelo e, ao seu lado, a conversão selecionada aleatoriamente pelo algoritmo. Neste caso tem-se que para a operação A foi selecionado o processo 11, para a B o processo 15 e assim por diante. O processo final com o tempo de cada operação é mostrado em outra tabela logo em seguida. Esses dados estão gravados no arquivo Dados.RTF (Rich Text File), compatível com o editor de texto Word e similares. O uso de um arquivo RTF deve-se ao fato de serem necessárias duas fontes tipográficas para mostrar corretamente os dados (Arial e MS LineDraw). Sendo assim o uso de arquivo de texto puro (ASCII) não foi possível. O botão Visualizar leva até a janela mostrada pela Figura 7.9. Aqui é possível conferir graficamente o resultado obtido para cada peça, juntamente com o tempo de cada operação. Os controles da parte inferior direita permitem alterar a visualização (tamanho e posição).

155 123 Figura Visualização gráfica da peça P001 O Quadro 7.1 mostra o conteúdo do arquivo P001.PEC que está sendo visualizado graficamente na Figura 7.9. A linha 1 traz a data e hora em que o arquivo foi criado enquanto a linha 2 informa qual modelo de estrutura de precedência foi escolhido (template). A linha 4, como informa a linha anterior, traz o número de operações da peça. Da linha 6 até o final tem-se as operações, seus predecessores e seus tempos. As linhas 1, 2, 3 e 5 auxiliam a interpretação dos valores quando lidas em um editor de textos e são descartadas no processo de simulação. Quadro Exemplo de um arquivo de peça => Gerado automaticamente em 31/07/2006 às 08:34:07. => Baseado no modelo 5 => Número de operações da peça 7 => Operação - predecessores - duração 11, 0-, 48 15, 11-, 42 4, 11-, 50 6, 11-, 17 17, 15-4-, 14 14, 4-6-, 89 1, , 87 Fim dos dados

156 Métodos de seleção de processo O primeiro método de seleção é completamente aleatório e os resultados obtidos dessa forma mostram-se adequados às situações onde o número de máquinas de cada processo é igual. Como mostra a Figura 7.10 a atribuição de cada processo oscila em torno de uma média. Figura Número de atribuições de cada processo Porém, em arranjos físicos com diferentes números de máquinas para cada processo, espera-se que os processos com menor número de máquinas sejam menos utilizados pelas peças do que os processos com maior quantidade de máquinas. Isso levou ao desenvolvimento de duas outras formas de seleção de processos, como se vê na parte inferior esquerda da Figura 7.2 (Seleção de processo baseada em arranjo 1 e 2). Estas opções lêem um arquivo que contém as informações do arranjo, como mostra a Figura Os dados desse arranjo foram obtidos do trabalho de Montreuil e Vankatadri (1991). Como mostra a figura há 15 tipos de processos sendo que alguns possuem apenas 1 máquina enquanto outros possuem até 7 máquinas. O procedimento usado para selecionar os processos com diferentes probabilidades foi baseado no Método da Roleta, usado em algoritmos

157 125 genéticos. Esse método faz com que os indivíduos mais adaptados tenham maior probabilidade de serem selecionados enquanto os menos adaptados tenham menor probabilidade. É como se cada indivíduo possuísse uma fatia de uma circunferência que é proporcional ao seu índice de aptidão. Na adaptação realizada os processos com maior número de máquinas têm maior probabilidade de serem selecionados do que os processos com menos máquinas. Figura Informações de um arranjo físico A Figura 7.12 mostra o gráfico referente a um conjunto de 100 peças gerado com as mesmas configurações do primeiro exemplo, ou seja: 15 tipos de processo, peças entre 3 e 10 operações, tempo entre 10 e 100 minutos. Nota-se que, diferente do que ocorreu no caso da Figura 7.10, o número de operações que fazem uso de processos com menos máquinas é bem menor que os processos com maior número de máquinas. Essa forma de gerar os dados fez com que o conjunto de peças obtido fosse mais próximo da realidade de uma instalação de manufatura, ou seja, os processos pouco usuais participam menos das etapas de fabricação das peças. Porém, os sorteios baseados na roleta ainda usavam os processos com poucas máquinas em muitas peças. Esse fato levou ao desenvolvimento da seleção de processo baseada em arranjo 2.

158 126 Figura Número de vezes que cada processo foi atribuído Essa nova forma de geração dos conjuntos de peças leva em consideração a proporção entre o número de máquinas de cada processo, analisando o resultado após a roleta. Caso o processo sorteado já esteja maior ou igual à proporção de máquinas um novo sorteio ocorre. Na Figura 7.13 as barras indicam quantas vezes cada processo foi usado em um conjunto de 150 peças enquanto a linha mostra a exata proporção entre o número de máquinas de cada processo. Nota-se que devido à aleatoriedade do procedimento de escolha dos processos a proporção não é exatamente atingida, mas fica muito mais próxima da meta desejada. Figura Número de vezes que cada processo foi atribuído (método 2)

159 Comentários sobre o gerador de peças A adoção de arquivos de texto puro para armazenar os modelos de estruturas de precedência fez com que fosse possível alterar facilmente as relações de precedência previamente definidas. A remoção de estruturas existentes ou a inclusão de novas também ocorre de maneira igualmente simples. Foram criadas estruturas de precedência para peças que tenham de 3 até 15 operações 26. Para aumentar essa faixa é necessário apenas criar novos arquivos com relações de precedência. É importante não deixar faltar nenhum arquivo entre o mínimo e máximo, pois caso isso ocorra o programa informará que esse arquivo não foi encontrado e o procedimento será encerrado prematuramente. A seleção de processo baseada na quantidade de máquinas disponíveis no arranjo físico, inspirado no método da roleta usado em algoritmos genéticos, permite obter uma solução mais próxima da realidade quando o número de máquinas dos departamentos é desigual, ou seja, as peças geradas fazem menos uso dos processos com menor número de máquinas. A seleção de processo 2, que realiza uma análise após a roleta, é mais fiel à proporção das máquinas. Não há nenhum impedimento no uso da seleção de processo 2 para a geração de peças quando os departamentos têm o mesmo número de máquinas, porém perde-se a aleatoriedade que é um componente que torna o procedimento mais próximo da realidade. Também é importante destacar que a seleção de processo 2 não consegue manter a proporção correta quando o número mínimo e máximo de operações se aproxima do número de processos do arranjo físico. Pode-se, como exemplo, imaginar uma situação extrema para o caso mostrado pela Figura Se o número mínimo de operações for configurado em 15 então todas as peças terão operações em todos os processos tornando impossível obedecer à proporção. 26 As estruturas de precedência criadas são apresentadas em detalhes no Apêndice F.

160 Gerador de arranjos físicos O programa gerador de arranjos físicos foi desenvolvido para gerar automaticamente os quatro tipos de leiautes discutidos: funcional, parcialmente distribuído, aleatoriamente distribuído e maximamente distribuído. Foi implementada também a opção de construção manual do arranjo físico. A geração automática pode ocorrer para apenas um arranjo físico ou para múltiplos, com exceção do arranjo físico maximamente distribuído, cujo algoritmo sempre gera a mesma disposição para cada conjunto de dados (não há influência de elementos aleatórios) Dados de entrada Os dados de entrada são divididos em dois tipos: dados para criação de arranjo físico e arranjo físico já criado. No caso dos dados para criar arranjos físicos há dois modos de entrada: digitando os dados ou escolhendo um arquivo previamente salvo (como na Figura 7.11). Para digitar os dados o usuário usa a tela mostrada na Figura Na parte superior são informados os dados gerais do arranjo físico e na parte inferior são digitados os dados de cada processo. Ao final do procedimento os dados são salvos em um arquivo DPA (Dados Para Arranjo). Figura Entrada de dados O arquivo de arranjo físico tem extensão ARR e além das informações do arquivo DPA tem também a disposição das máquinas

161 Gerando arranjos físicos A Figura 7.15 mostra o menu com as opções de geração de arranjos físicos. Nota-se que enquanto um arranjo físico não é gerado várias opções do menu principal ficam desabilitadas. Figura Menu com opções de arranjo físico Na geração manual o arranjo físico é mostrado inicialmente como uma matriz de elementos com fundo em preto. Clicando na posição desejada com o botão esquerdo no mouse surge uma pequena janela onde é possível escolher a máquina desejada para aquela posição, como mostra a Figura Figura Criação manual de arranjo físico Um arranjo físico criado pode ser salvo em arquivo em disco usando a opção Salvar arranjo do menu principal. O arquivo terá extensão ARR.

162 130 Para a criação de arranjo físico funcional o usuário é questionado sobre o número de faixas a ser usado na curva de preenchimento espacial de Peano (Figura 7.17). É possível mostrar a rota definida pela curva de preenchimento selecionando a opção Traçar rota da janela. Figura Seleção do número de faixas Na Figura 7.18 há um exemplo de arranjo físico funcional gerado com duas faixas e com a rota traçada. Figura Exemplo de arranjo físico funcional gerado Após o arranjo físico ser gerado uma janela informativa apresenta o tempo consumido na criação da distribuição, o tempo consumido no cálculo do grau de distribuição e o valor do grau de distribuição obtido (Figura 7.19). Figura Informações sobre a geração do arranjo

163 131 Para criar o arranjo físico parcialmente distribuído, além do número de faixas, é necessário informar o número de departamentos que cada processo terá (Figura 7.20). Figura Informando o divisor de departamentos A Figura 7.21 mostra um exemplo de arranjo físico parcialmente distribuído gerado com duas faixas e dividindo os processos em dois departamentos (esse arranjo físico foi utilizado como exemplo no item 6.4.2). Figura Exemplo de arranjo físico parcialmente distribuído A criação de arranjo físico aleatoriamente distribuído também usa a curva de preenchimento espacial e, devido a isso, o usuário é questionado sobre o número de faixas. Ao final do processo é apresentada uma janela com informações sobre o tempo gasto na geração do arranjo e no cálculo do grau de distribuição, bem como o valor do grau de distribuição obtido. A Figura 7.22 mostra um exemplo de arranjo físico aleatoriamente distribuído obtido.

164 132 Figura Exemplo de arranjo físico aleatoriamente distribuído O procedimento que gera arranjos físicos maximamente distribuídos não usa a curva de preenchimento espacial (não requer o número de faixas). A Figura 7.23 mostra um arranjo físico maximamente distribuído formado com os dados da Figura 7.11 (15 processos com o número de máquinas por processo variando entre 1 e 7). Figura Exemplo de arranjo físico maximamente distribuído

165 133 A geração de múltiplos arranjos físicos é similar para os três tipos disponíveis. Apresenta-se uma janela para configurar o número de faixas e, no caso do arranjo parcialmente distribuído, o número de divisões (Figura 7.24). Também se define o nome base dos arquivos que serão gerados (que serão diferenciados por uma numeração seqüencial), o diretório onde deverão ser salvos os arquivos e o número de arranjos físicos a serem criados. Figura Janela de criação de múltiplos arranjos físicos Usando o botão OK inicia-se o processo de criação dos arranjos físicos. Uma janela surge após todos os arranjos físicos serem gerados e usando o botão OK dessa janela o sistema apresenta um gráfico de barras com o grau de distribuição de cada arranjo físico gerado (Figura 7.25). Figura Grau de distribuição na geração de múltiplos arranjos

166 Analisando arranjos físicos gerados Para auxiliar a análise dos arranjos físicos foi implementado um modo de visualização com destaque. Esse modo destaca um tipo de processo por vez, como mostram as imagens da Figura 7.26 que fazem referencia ao arranjo físico maximamente distribuído da Figura Figura Posição das máquinas de acordo com o processo

167 Maximizando a distribuição de arranjos físicos Para maximizar a distribuição das máquinas de um arranjo físico prédefinido foi implementado um algoritmo genético que está acessível no menu principal na opção Maximizar Distribuição. A Figura 7.27 mostra sua janela. Figura Evolução do grau de distribuição É possível configurar o número de elementos da população (de 10 à 100), a probabilidade de mutação 1 (de 0.75 à 1.00), probabilidade de mutação 2 (de 0 à 0.20), probabilidade de mutação 3 (de 0 à 0.20) e o número de gerações (de 50 até ). O gráfico que mostra a evolução do grau de distribuição é atualizado constantemente durante a execução do algoritmo genético, bem como as informações no lado superior direito da janela (tempo decorrido, tempo previsto, geração atual, grau de distribuição atingido e melhoria percentual obtida). O gráfico pode ser configurado mesmo durante a execução do programa. As configurações disponíveis são mostradas pela Figura 7.28.

168 136 Figura Configurações do gráfico do algoritmo genético Nem sempre a execução do algoritmo genético leva a um resultado ótimo. Normalmente é necessário executar o processo seguidamente até que o melhor resultado seja obtido algumas vezes. Não é recomendado usar o resultado de uma maximização como semente do processo seguinte pois, caso seja um mínimo local, será muito difícil melhorar o resultado. Quando não houver melhoria considera-se que o máximo foi atingido. Dependendo da dimensão do arranjo físico, do número de elementos da população e do número de gerações o processo estende-se por muitas horas. Foi implementada uma rotina que salva os dados cada vez que uma melhoria é obtida para impedir que algum problema, como falta de energia, levasse à perda de todo o processamento. São gravados dois arquivos no diretório em que o programa está sendo executado: AG_Temp.ARR e AG_Temp.GAG. O primeiro arquivo contém o arranjo físico obtido até aquele momento e o segundo traz dados para que o gráfico do algoritmo genético possa ser apresentado em menu Arquivo Visualizar Gráfico AG (Figura 7.29). Figura Visualização do gráfico de algoritmo genético

169 137 O arquivo GAG é um arquivo de texto puro como mostra o exemplo do Quadro 7.2. A primeira linha identifica o tipo de arquivo e as linhas que iniciam com => são comentários. A última linha, que deve ser obrigatoriamente Fim dos dados., é comparada no final do procedimento de leitura. Se essa expressão for realmente a última linha do arquivo significa que todos os dados foram lidos com sucesso, caso contrário é apresentada uma mensagem de erro. A primeira parte do arquivo traz a configuração do algoritmo genético, em seguida vêm os dados do gráfico e a parte final é referente à configuração visual do gráfico. Quadro Arquivo GAG (Gráfico de Algoritmo Genético) Arquivo GAR - Gráfico do Algoritmo Genético => Descrição Gerado em 07/08/2006 às 09:19:58 => Elementos da população 100 => Probabilidade de Mutação 1 1 => Probabilidade de Mutação => Probabilidade de Mutação => Número de gerações 2000 => Grau de distribuição => Melhoria percentual => Tempo de processamento 00h 10m 54.79s => Dados => Configurações do gráfico => Y inicia no Zero 0 => Grid horizontal principal 1 => Grid vertical 1 => Grid horizontal secundário 1 => Espessura da linha 30 => Cor da linha 1 => Valor mínimo 6.9 => Valor máximo 7.6 Fim dos dados.

170 Comentários sobre o gerador de arranjos Os procedimentos implementados para a geração dos arranjos físicos mostraram-se adequados às necessidades da pesquisa. Todos os arranjos físicos são criados rapidamente da forma esperada. O maior problema encontrado é o tempo gasto no cálculo do grau de distribuição. Para arranjos físicos pequenos e médios o tempo de processamento não chega a ser problema, mas em arranjos físicos grandes passa a ser um gargalo, chegando até a impossibilitar seu uso no algoritmo genético. Tomando como exemplo o arranjo físico apresentado por Montreuil et al. (1993) contendo 1296 máquinas (36 linhas por 36 colunas) a geração do arranjo maximamente distribuído ocorreu em apenas 0.16 segundos enquanto o cálculo do grau de distribuição levou 1 minuto e 59 segundos (Figura 7.30). Figura Dados para arranjo com 1296 máquinas Para esse arranjo físico o algoritmo genético levaria cerca de 84 dias para ser concluído com as configurações da Figura Esse fato torna a relação custo/benefício do algoritmo ALVO ainda mais interessante, pois obtém uma boa solução com um custo computacional desprezível. Figura Tempo estimado para maximizar arranjo com 1296 máquinas

171 139 Os arquivos manipulados pelo programa são em texto puro (DPA e ARR). Um exemplo de arquivo de dados para arranjo (DPA) é mostrado pelo Quadro 7.3. Quadro Arquivo DPA (Dados Para Arranjo) Arquivo DPA - Dados para Arranjo => A linha seguinte descreve o arquivo Lahmar e Benjaafar (2002b - p.16) (6x6) => Número de linhas do arranjo 6 => Número de colunas do arranjo 6 => Número de processos (tipos de máquinas) 8 => Identificador e quantidade de máquinas 1, 5 2, 5 3, 4 4, 7 5, 3 6, 4 7, 4 8, 4 Fim dos dados A primeira linha identifica o tipo de arquivo. Seu conteúdo é comparado durante a leitura e se for diferente do que mostra o Quadro 7.3 a operação é interrompida. Todas as linhas que iniciam com => são ignoradas, pois são apenas comentários. Após cada comentário há um conteúdo que será usado. O primeiro conteúdo é uma cadeia de caracteres que serve de identificação dos dados. Todas as demais informações são numéricas. A última linha deve ser obrigatoriamente Fim dos dados pois essa expressão é comparada no final do procedimento de leitura. Se essa expressão for realmente a última linha do arquivo significa que todos os dados foram lidos com sucesso, caso contrário é apresentada uma mensagem de erro. O arquivo que contém o arranjo físico pronto (ARR) possui uma forma similar e também faz uso de várias linhas com comentários (iniciadas por => ), como mostra o Quadro 7.4. A primeira linha também é um identificador que serve para confirmar o tipo de arquivo que está sendo aberto. Em uma linha há a informação do tipo de arranjo físico e como foi gerado (neste caso trata-se de um arranjo físico funcional criado com duas faixas). O valor do grau de distribuição também faz parte do arquivo.

172 140 Quadro Arquivo ARR (ARRanjo) Arquivo ARR - Arranjo => A linha seguinte contém informação sobre os dados Lahmar e Benjaafar (2002b - p.16) (6x6) => Número de linhas do arranjo 6 => Número de colunas do arranjo 6 => Número de processos (tipos de máquinas) 8 => A linha seguinte descreve a forma de geração do arranjo Funcional - 2 faixas => A linha contém o grau de distribuição => Máquinas Fim dos dados Os dados das máquinas são lidos seqüencialmente e preenchem o arranjo físico da linha superior para a inferior e da esquerda para direita. O arranjo físico desse arquivo está na Figura 7.32.

173 141 Figura Arranjo físico dos dados do Quadro 7.4 Observando a Figura 7.32 nota-se que a descrição do arquivo (terceira linha) é colocada na barra de título da janela. O grau de distribuição, o tipo de arranjo físico e a forma como foi criado ficam na barra posicionada na aresta inferior da janela. 7.4 Roteamento Este programa executa o roteamento de diversos conjuntos de peças em grupos de arranjos físicos, tanto no modo rígido (apenas uma seqüência de fabricação para cada peça) quanto no modo flexível (analisando todas as seqüências permitidas pelas relações de precedência). Sua utilização resume-se em selecionar o diretório contendo os arranjos físicos e as peças e, em seguida, definir se o roteamento será com ou sem flexibilidade. Ao final do processo são apresentados os valores estatísticos obtidos. Além disso, junto aos arquivos de dados de entrada, são gravados uma série de arquivos com informações relativas ao roteamento de cada conjunto de peças em cada arranjo físico.

174 142 No menu principal há apenas 3 opções ativas quando o programa é acionado: selecionar diretório de arranjos, visualizar e fim. Somente após a seleção do diretório que contém os arranjos físicos (e as peças) é que a opção executar é disponibilizada. Todas essas quatro opções serão detalhadas nos próximos itens Selecionando os arranjos físicos Acionando a opção Selecionar diretório de arranjos no menu faz com que a tela mostrada pela Figura 7.33 seja apresentada. No lado direito superior seleciona-se a unidade (ou partição) e, logo abaixo, escolhe-se o diretório. Caso o diretório possua arquivos de arranjos físicos (extensão ARR) estes são listados no lado inferior direito. Figura Seleção de arranjos físicos O primeiro arquivo é automaticamente aberto para visualização e seus dados são apresentados na parte inferior da tela. Basta escolher um novo arquivo e a visualização é imediatamente atualizada.

175 143 Na parte superior esquerda da janela há três botões. Os dois primeiros permitem maximizar a visualização gráfica (+) e retornar ao modo normal (-). O terceiro botão ( ) aciona o modo de visualização com destaque, como mostra a Figura Para desativar esse modo basta usar o mesmo terceiro botão que não mais estará mostrando o símbolo. Mesmo durante a visualização com destaque é possível selecionar outro arranjo físico ou outro diretório. Além disso, esse modo de visualização também pode ser maximizado. Figura Modo de visualização com destaque No lado inferior direito há três botões. O primeiro, denominado Salva o Gráfico armazena a imagem do arranjo físico em um arquivo BMP com o mesmo nome do arquivo ARR e no mesmo diretório. O botão Fecha, como o próprio nome diz, fecha a janela sem selecionar o diretório. O botão OK seleciona o diretório em visualização e executa algumas verificações. A primeira verificação analisa todos os arquivos de arranjos físicos do diretório para certificar que possuam as mesmas características básicas: número de linhas, número de colunas, número de processos e número de

176 144 máquinas por processo. Em outras palavras, apenas a disposição das máquinas é que diferencia os arranjos físicos de um grupo. Uma mensagem informará se alguma dessas características for diferente em algum arranjo físico e solicitará que o usuário corrija o problema, como mostra o exemplo da Figura Figura Exemplo de falha em um arranjo físico Caso todos os arranjos físicos do diretório possuam as mesmas características básicas o programa irá verificar a existência de diretórios contendo os conjuntos de peças. Cada conjunto de peças deve estar em um diretório dentro do diretório de arranjos físicos e ser nomeado como Pecas_XX, onde XX indica o número do conjunto e inicia-se com o valor 01. Caso não exista nenhum conjunto de peças no diretório de arranjos físicos selecionados surgirá a janela mostrada pela Figura Figura Falta de conjunto de peças Caso haja diretórios com nomes padronizados corretamente o programa apresenta a janela da Figura 7.37, onde é informado o número de diretórios de peças encontrados e permite iniciar sua verificação. Figura Preparação para verificar peças

177 145 Duas condições podem ocorrer em um ou mais diretórios e impedir a continuação do processo: Diretório não contém arquivos de peças (extensão PEC). Diretórios possuem diferentes números de peças. Em seguida cada arquivo de peça é analisado para determinar qual o maior processo em uso e, caso seja maior que o número de processos dos arranjos físicos uma mensagem é apresentada (Figura 7.38). Figura Peça incompatível com o arranjo Caso o conjunto de peças não use todos os processos dos arranjos físicos o programa apresenta uma mensagem informativa sugerindo que os dados sejam revistos. Essa mensagem não impede que as peças sejam roteadas nos arranjos físicos. Após a verificação ser concluída sem problemas uma mensagem informa que todos os diretórios foram verificados com sucesso. A opção Executar ficam disponível no menu principal Iniciando a simulação A opção Executar do menu principal apresenta duas possibilidades: rígido e flexível. Independente do modo escolhido o programa irá apresentar uma tela que permite selecionar três tipos de arquivos de dados que podem ser gerados durante a simulação, como mostra a Figura Esses arquivos foram definidos como opcionais pois são úteis apenas em pequenos casos com poucas máquinas e peças, permitindo acompanhar as tomadas de decisão do programa e avaliar sua funcionalidade. A quantidade de dados gerada é extremamente grande quando a simulação ocorre em arranjos físicos com

178 146 muitas máquinas e as peças possuem diversas operações com várias seqüências de produção. Isto faz com que, na prática, sua análise seja quase impossível. Figura Seleção de arquivos de dados Supondo que todos os arquivos de dados sejam selecionados o programa irá gerar 4 arquivos para cada conjunto de peças roteado em cada arranjo físico em cada modo de roteamento. Por exemplo, supondo que F01.ARR seja o nome de um arquivo de arranjo físico funcional, os seguintes arquivos seriam criados no modo de roteamento rígido para o primeiro conjunto de peças: F01_R (Cj 01).SCH F01_R_Resumo (Cj 01).TXT F01_R_Alocacao (Cj 01).TXT F01_R_Detalhado (Cj 01).TXT O nome do arquivo de arranjo físico é usado para identificar cada um dos quatro arquivos a ele relacionados. A letra R é adicionada para informar que o modo de roteamento rígido foi utilizado enquanto que no modo flexível é usada a letra F. Entre parênteses, na parte final do nome de cada arquivo, há a indicação de qual conjunto de peças foi usado na obtenção dos dados. O arquivo SCH não aparece na tela de seleção de arquivos de dados pois sempre é gerado. Contém os dados do roteamento de cada peça em cada máquina, permitindo a construção do gráfico de Gantt. Apesar de sua extensão trata-se também de um arquivo de texto puro. Devido à maior complexidade deste arquivo sua estrutura está detalhada no Apêndice K.

179 147 O Quadro 7.5 mostra as informações contidas no arquivo de resumo denominado F01_R_Resumo (Cj 10).txt. Quadro Estrutura do arquivo Resumo Gerado em 22/06/2006 às 09:15:53 Arranjo: 1 de 50 F01.ARR Montreuil et al. (1991) p.297 Funcional 2 faixas Automático. GdD= Roteamento sem flexibilidade de seqüência. Número de peças roteadas: 150 Diretório das peças: D:\1- Funcional\Pecas_01 Makespan Total= 2144 Distância total percorrida: 3243 Tempo de processamento do arranjo= 00h 00m 01.03s Tempo de processamento geral= 00h 08m 34.06s O Quadro 7.6 mostra parte do arquivo F05_F_Alocacao (Cj 01).txt com informações de apenas 2 das 150 peças (a primeira e a última). O arquivo traz em seu início duas informações básicas: data e hora no qual foi gerado. Em seguida apresenta dados sobre o arquivo de arranjo físico usado e o modo de roteamento (com ou sem flexibilidade). O número de peças roteadas e o diretório onde se encontram estão descritos na seqüência. Após estes dados o arquivo descreve como cada operação de cada peça foi alocada nas máquinas do arranjo físico. Para cada peça tem-se: nome, seqüência de fabricação selecionada, número total de seqüências, distância total percorrida e o detalhamento das operações (máquina, instante de início, duração da operação e instante de término). O makespan de cada peça é indicado pelo instante de encerramento da última operação. No final do arquivo informa-se o tempo total consumido pelo conjunto de peças (makespan) bem como a distância total percorrida. No exemplo do Quadro 7.6 é possível notar que a última peça a ser roteada não é necessariamente aquela que será executada por último pelas máquinas. A peça 150 é encerrada no instante 1599 (final de sua operação 5) enquanto que todo o conjunto é encerrado no instante 2437 (makespan total).

180 148 Gerado em 22/06/2006 às 09:46:52 Quadro Estrutura do arquivo Alocação Arranjo: 5 de 50 F05.ARR Montreuil et al. (1991) p.297 Funcional 2 faixas Automático. GdD= Roteamento com flexibilidade de seqüência. Número de peças roteadas: 150 Diretório das peças: D:\Desequilibrado\Médio\Funcional\Pecas_01 ===================================================================== Peça: P001.PEC Melhor seqüência= 1/12 Distância percorrida= 13 Op1 na máquina (Início= 0 Duraçã0= 62 Final= 62) Op2 na máquina 8.01 (Início= 62 Duraçã0= 92 Final= 154) Op3 na máquina 9.01 (Início= 154 Duraçã0= 27 Final= 181) Op4 na máquina (Início= 181 Duraçã0= 36 Final= 217) Op5 na máquina (Início= 217 Duraçã0= 14 Final= 231) Op6 na máquina 6.01 (Início= 231 Duraçã0= 27 Final= 258) =====================================================================... ===================================================================== Peça: P150.PEC Melhor seqüência= 11/24 Distância percorrida= 14 Op1 na máquina (Início= 77 Duraçã0= 16 Final= 93) Op2 na máquina (Início= 905 Duraçã0= 77 Final= 982) Op3 na máquina 3.01 (Início= 998 Duraçã0= 20 Final= 1018) Op4 na máquina (Início= 1331 Duraçã0= 81 Final= 1412) Op5 na máquina (Início= 1530 Duraçã0= 69 Final= 1599) ===================================================================== ============================================ == Makespan Total= 2437 == == Distância total percorrida= 2854 == == Tempo de processamento= 00h 00m 17.88s == ============================================ O arquivo detalhado, como o próprio nome informa, traz informações detalhadas sobre o processo de roteamento de cada peça, além das informações do arquivo Resumo. No caso do roteamento rígido há a análise apenas da primeira seqüência enquanto que no roteamento flexível são mostradas todas as seqüências até chegar àquela com melhores resultados. O Quadro 7.7 mostra parte do arquivo F05_R_Detalhado (Cj 01).txt (apenas dados da primeira peça). Nota-se que as informações finais são diferentes do Quadro 7.6 pois neste caso o modo de roteamento foi rígido.

181 149 Quadro Estrutura do arquivo Detalhado Gerado em 22/06/2006 às 18:09:46 Arranjo: 5 de 50 F05.ARR Montreuil et al. (1991) - p.297 Funcional - 2 faixas - Automático. GdD= Roteamento sem flexibilidade de seqüência. Número de peças roteadas: 150 Diretório das peças: D:\Desequilibrado\Médio\Funcional\Pecas_01 ====================================================================== Peça: P001.PEC Número de Operações: 6 Seq 1=> Etapa 1 Rota 1=> > (Término= 154 Distância= 1) Rota 2=> > (Término= 154 Distância= 2) Rota 3=> > (Término= 154 Distância= 2) Rota 4=> > (Término= 154 Distância= 3) Rota 5=> > (Término= 154 Distância= 3) Rota 6=> > (Término= 154 Distância= 4) Etapa 2 Rota 1=> > (Término= 181 Distância= 6) Rota 2=> > (Término= 181 Distância= 7) Etapa 3 Rota 1=> > (Término= 217 Distância= 9) Rota 2=> > (Término= 217 Distância= 8) Rota 3=> > (Término= 217 Distância= 7) Rota 4=> > (Término= 217 Distância= 8) Rota 5=> > (Término= 217 Distância= 9) Rota 6=> > (Término= 217 Distância= 10) Etapa 4 Rota 1=> > (Término= 231 Distância= 11) Rota 2=> > (Término= 231 Distância= 12) Rota 3=> > (Término= 231 Distância= 11) Rota 4=> > (Término= 231 Distância= 10) Rota 5=> > (Término= 231 Distância= 9) Etapa 5 Rota 1=> > (Término= 258 Distância= 13) Rota 2=> > (Término= 258 Distância= 14) Melhor Seqüência= 1 ( ) Término = 258 Distância percorrida= 13 Processo: > 8.01-> 9.01-> > > 6.01 Alocação Op1 na máquina (Início= 0 Duração= 62 Final= 62) Op2 na máquina 8.01 (Início= 62 Duração= 92 Final= 154) Op3 na máquina 9.01 (Início= 154 Duração= 27 Final= 181) Op4 na máquina (Início= 181 Duração= 36 Final= 217) Op5 na máquina (Início= 217 Duração= 14 Final= 231) Op6 na máquina 6.01 (Início= 231 Duração= 27 Final= 258)... ============================================ == MakeSpan Total= 2550 == == Distância total percorrida= 3377 == == Tempo de processamento= 00h 00m 00.86s == ============================================

182 150 Além desses quatro arquivos que são gerados para cada arranjo físico, dos quais três são opcionais, é criado um arquivo relacionado a cada conjunto de peças. Esse arquivo é denominado R_Graficos_xx.GRA ou F_Graficos_xx.GRA dependendo do modo de roteamento escolhido. O xx indica o número do conjunto de peças usado. O Quadro 7.8 mostra parte do arquivo R_Graficos_01.GRA. Para cada grupo de dados (makespan, distância total e grau de distribuição) a um valor proveniente de cada arranjo físico. Quadro Estrutura do arquivo de Gráficos -- Dados para Gráficos -- => Descrição Gerado em 24/06/2006 às 09:08:52 => Tipo de roteamento Roteamento sem flexibilidade de seqüência. => Número de arranjos físicos 50 => Diretório dos arranjos físicos D:\1- Funcional => Número de peças 150 => Diretório das peças F:\1- Funcional\Pecas_30 => Tempo de processamento 00h 00m 53.84s => MakeSpans => Mínimo 2474 => Arranjo com o mínimo 36 => Máximo 2649 => Arranjo com o máximo 15 => Amplitude 175 => Média => Desvio Padrão => Distâncias => Graus de Distribuição Fim dos Dados.

183 151 Como mostrou o Quadro 7.8 esse arquivo, que também é de texto puro, armazena dados que permitem construir dois gráficos de barras relacionados com o conjunto de peças: makespan e distância total percorrida pelas peças do conjunto em cada arranjo físico. Também são armazenados os graus de distribuição dos leiautes. Para cada grupo de dados são armazenados os seguintes valores: mínimo, máximo, amplitude, média e desvio padrão. Quando a simulação é completada grava-se o último arquivo de dados que contém os valores médios de makespan e a distância total percorrida por cada conjunto de peças com relação a todos os arranjos físicos analisados. Este novo arquivo é denominado R_Gráficos_Gerais.GRA (no caso do modo de roteamento flexível a letra R é substituída pela F). Como mostra o Quadro 7.9 sua estrutura é similar ao arquivo Gráficos, bem como sua finalidade. Quadro Estrutura do arquivo Gráficos_Gerais -- Dados para Gráficos Gerais -- => Descrição Gerado em 24/06/2006 às 09:15:58 => Tipo de roteamento Roteamento sem flexibilidade de seqüência. => Numero de arranjos físicos 50 => Diretório dos arranjos físicos D:\1- Funcional => Número de peças 150 => Número de diretórios de peças 30 => Tempo de processamento 00h 08m 00.20s => MakeSpans => Distâncias => Graus de Distribuição Fim dos Dados.

184 152 O número total de arquivos que podem ser gerados durante o procedimento pode ser calculado pela eq.(7.1). NAG = (NAF * NCP * 4) + NCP + 1 (7.1) Onde: NAG: Número de Arquivos Gerados NAF: Número de Arranjos Físicos NCP: Número de Conjuntos de Peças Como esse número pode ser elevado é importante garantir que haja espaço livre suficiente no disco rígido. Por exemplo, o roteamento de 10 conjuntos de peças em 50 arranjos físicos gerou os arquivos apresentados na Tabela 7.1. Tabela Espaço ocupado pelos arquivos Modo Arquivo Tamanho Ocupa Quantidade Total SCH 50.7 KB 64 KB MB Resumo 493 bytes 32 KB MB Rígido Alocação 86.7 KB 96 KB MB Detalhado 579 KB 608 KB MB Gráficos 2.3 KB 32 KB KB Gráficos_Gerais 1.74 KB 32 KB 1 32 KB SCH 51.4 KB 64 KB MB Resumo 493 bytes 32 KB MB Flexível Alocação 86.8 KB 96 KB MB Detalhado 13.9 MB 13.9 MB GB Gráficos 2.3 KB 32 KB KB Gráficos_Gerais 1.74 KB 32 KB 1 32 KB GB A coluna Tamanho apresenta o valor médio real dos arquivos enquanto a coluna Ocupa mostra o espaço ocupado. Essa diferença entre os valores deve-se à dimensão do cluster 27 definido durante a formatação do disco rígido. No caso da Tabela 7.1 cada cluster tem 32 KB pois trata-se de uma unidade de 120 GB formatada em FAT Cluster é a menor unidade de alocação de arquivos de uma unidade de disco. Cada cluster só pode conter um arquivo e, dessa forma, um arquivo de 1 byte ocupa todo um cluster. Quando um arquivo ocupa vários clusters apenas o último poderá apresentar esse desperdício.

185 Simulando Após a seleção do modo de roteamento inicia-se o processo de simulação e é exibida uma tela que mostra a evolução de cada componente do processo de roteamento. Também é mostrada uma estimativa do tempo total que será consumido no processo, o tempo de processamento e o tempo restante. A Figura 7.40 mostra essa tela para o roteamento flexível de 30 conjuntos de 150 peças em 50 arranjos físicos funcionais. Figura Evolução do processamento A primeira barra de progresso mostra graficamente a evolução dos conjuntos de peças, a segunda indica o arranjo físico em uso, a terceira relaciona-se com as peças do conjunto que está sendo roteado e a quarta mostra a seqüência de fabricação que está sendo analisada. Todas essas indicações são mostradas em detalhes em forma textual. No caso do roteamento rígido a quarta barra de progresso não é apresentada pois somente a primeira seqüência de cada peça é analisada. O botão Cancela permite interromper o processamento. Não é possível continuar um processamento interrompido, ou seja, é necessário recomeçar desde o início. Ao final da simulação o programa apresenta um gráfico de barras com os valores médios de makespan obtido por cada conjunto de peças nos arranjos físicos (Figura 7.41).

186 154 Figura Gráfico de barras do makespan médio Do lado direito do gráfico de barras estão os seguintes valores: média em relação a todos os conjuntos de peças, mínimo, máximo, amplitude, desvio padrão, conjunto que obteve o mínimo e conjunto que obteve o máximo. Na parte inferior da tela pode-se escolher o gráfico a ser mostrado e há também a opção Destaca diferenças que muda a origem do gráfico para um valor próximo do mínimo, como mostra a Figura Figura Gráfico com as diferenças destacadas

187 Visualizando os dados da simulação No menu principal do programa está a opção Visualizar que apresenta 9 possibilidades: Diretórios de Peças, Dados de Peças, Gráficos de Conjuntos de Peças, Gráficos de Graus de Distribuição, Arranjos Físicos, Gráficos de Algoritmo Genético, Gráficos e Estatísticas, Gráficos de Gantt e Comparar Roteamentos. As três primeiras opções usam janelas iguais às do gerador de peças (Figura 7.9, Figura 7.8 e Figura 7.5 respectivamente). Os gráficos de graus de distribuição são exibidos pela tela apresentada pela Figura 7.43, onde observase que também são apresentadas algumas estatísticas referentes ao conjunto de dados. Figura Visualizando graus de distribuição (arquivos GDD) Na parte inferior direita da tela há comandos para salvar o gráfico como um arquivo BMP, copiar o gráfico para a área de transferência e fechar a tela e retornar para a janela principal. Também há a opção de apresentar o gráfico destacando as diferenças. O gráfico copiado para a área de transferência fica disponível em dois formatos. Usando a opção colar tem-se os valores (útil para

188 156 transferir os dados para uma planilha) e usando a opção colar especial há a alternativa Figura que traz o gráfico propriamente dito. A visualização de Arranjos Físicos abre uma janela igual à usada na seleção de diretório de arranjos físicos (Figura 7.33) enquanto os Gráficos de Algoritmo Genético são visualizados pela janela apresentada pela Figura A tela de visualização de Gráficos e Estatísticas é similar aquela apresentada ao final da simulação, mas permite escolher qual arquivo GRA mostrar usando as opções do lado direito da tela (Figura 7.44). É possível visualizar os gráficos com os valores obtidos por cada conjunto de peça em cada arranjo físico ou o gráfico com a média dos conjuntos de peças (Gráficos_Gerais). Figura Visualizando arquivos GRA (gráfico de barras) Além da seleção do gráfico a ser mostrado e da opção Destaca diferenças o usuário pode salvar o gráfico em um arquivo BMP ou copiá-lo para a área de transferência. A opção Dados na barra inferior da tela mostra os dados na forma de texto ao invés de gráfico, inclusive com as estatísticas (Figura 7.45).

189 157 Figura Visualizando arquivos GRA (dados) A Figura 7.46 mostra a forma de visualização dos Gráficos de Gantt. Do lado direito escolhe-se o arquivo que será visualizado. Algumas informações sobre as operações são mostradas acima do gráfico quando o ponteiro do mouse percorre a tela: nome da peça, máquina na qual a operação está roteada, instante de início, instante de término e duração. Abaixo do gráfico há um conjunto de comandos que permitem configurar a forma de exibição. Seleciona-se a opção e move-se a barra deslizante do lado direito para alterar seu valor. Na Figura 7.47 é mostrado um detalhe do gráfico obtido com o uso do Zoom. A seguir há uma breve descrição da função de cada opção de configuração do gráfico: Zoom: altera a escala de todos os elementos simultaneamente. Tempo: altera a escala de tempo (eixo X). Espaço: altera o espaçamento entre as barras horizontais. Altura: altera a altura das barras horizontais. Tempos: altera o tamanho da fonte que mostra o tempo.

190 158 Figura Visualização de arquivos SCH (Gráfico de Gantt) Figura Detalhe do Gráfico de Gantt

191 159 Nomes: altera o tamanho da fonte dos nomes das máquinas. Tarefas: altera o tamanho da fonte dos nomes das tarefas. A opção Linhas mostra ou não as linhas verticais que ligam os inícios e finais das operações ao eixo horizontal. A opção Dados apresenta informações sobre o gráfico: data e hora de geração, nome do arquivo de arranjo físico, modo de roteamento, número de peças roteadas, diretório dos arquivos de peças, makespan, distância total percorrida e tempo de processamento. O botão Zoom All ajusta todos os parâmetros de modo que todo o gráfico seja visualizado e o botão Salva gráfico cria um arquivo BMP com o gráfico no diretório onde o arquivo está localizado. No centro dos comandos de configuração há uma janela de seleção com os nomes de todas as peças roteadas. Selecionando as peças o gráfico destaca suas operações e apresenta apenas os tempos relacionados a elas, como mostra a Figura Figura Visualização destacada da peça P001 A opção Comparar Roteamentos (último item do menu Visualizar) permite escolher dois arquivos SCH de um mesmo diretório simultaneamente. Como mostra a Figura 7.49 há quatro gráficos que podem ser escolhidos do

192 160 lado direito da tela. O arquivo que for selecionado pelo quadro Arquivo 1 será representado em azul enquanto o Arquivo 2 será representado em vermelho. Figura Comparando arquivos SCH O gráfico da Figura 7.49 compara os roteamentos rígido (vermelho) e flexível (azul) do conjunto de peças 1 no arranjo físico F01. Este gráfico mostra a distância acumulada, ou seja, para cada peça (eixo horizontal) tem-se a soma da distância percorrida pela peça com as distâncias percorridas pelas peças anteriores. Na parte inferior da tela há os valores finais e o cálculo da diferença percentual entre eles. O segundo gráfico (Figura 7.50) plota a distância individual percorrida por cada peça. Nota-se, neste exemplo, que a grande maioria das peças em vermelho (roteamento rígido) percorre distâncias maiores que das peças em azul. São essas pequenas diferenças em cada peça, obtidas pelo roteamento flexível, que permitem atingir a diferença final mostrada pela Figura 7.49.

193 161 Figura Distâncias individuais A Figura 7.51 mostra a comparação do instante de finalização de cada peça (makespan individual). Figura Makespan individual O último gráfico apresenta a diferença entre os gráficos da Figura 7.51, ou seja, a diferença de tempo de conclusão de cada peça nos dois arquivos. Figura Diferença entre tempos

194 Comentários sobre o roteador Os procedimentos executados durante o roteamento envolvem diversos cálculos e decisões, tornando esse o mais complexo programa desenvolvido durante a elaboração deste trabalho. Todos os erros de programação foram resolvidos usando exemplos simples e analisando os arquivos com o detalhamento do roteamento (arquivos SCH, alocação e detalhado). Cada arquivo de teste foi elaborado de maneira a forçar determinadas condições para verificar se as decisões tomadas seriam condizentes. Essa forma de trabalho foi realizada até que todas as decisões, isoladamente e em conjunto, levassem a resultados corretos e o programa fosse considerado funcional e confiável. A adoção de arquivos de texto puro mostrou-se plenamente satisfatória para os propósitos do trabalho pois são de manipulação simples e podem ser analisados em qualquer editor de texto. A opção por colocar muitos comentários nos arquivos se deve ao fato de simplificar sua análise apesar de consumir um pouco mais de espaço. 7.5 Considerações finais Este capítulo apresentou as três ferramentas computacionais que foram desenvolvidas para a realização desta pesquisa: gerador de peças, gerador de arranjos físicos e roteador. Os dois primeiros são responsáveis pela geração dos dados de entrada da simulação enquanto o último foi o responsável pela simulação propriamente dita. Nota-se que a modelagem do problema considerou várias simplificações: não se discute a complexidade das peças, o tempo de setup está incluído no tempo das operações, não se define o volume de produção de cada peça etc. Futuros refinamentos do modelo podem incluir gradativamente essas variáveis para torná-lo mais próximo da realidade. Outro ponto de destaque é a validação do modelo de simulação. Diversos testes, com níveis de complexidade crescente e com resultados previamente conhecidos, foram executados durante a fase de desenvolvimento do programa. Sempre que algum problema era detectado e corrigido toda a bateria de testes era reiniciada.

195 163 Na implementação do programa de simulação foram colocados alguns testes que detectariam condições absurdas e inconsistentes. Caso alguma condição desse tipo fosse encontrada o procedimento de simulação seria interrompido e uma mensagem de erro apresentaria a situação encontrada, ajudando a rastrear a origem da falha. Somente após todos os testes terem sido executados com sucesso o programa foi considerado apto a manipular os dados referentes ao trabalho. O capítulo seguinte apresenta os resultados obtidos nas simulações.

196 164 8 RESULTADOS OBTIDOS 8.1 Considerações iniciais Este capítulo apresenta os resultados obtidos com três tamanhos de arranjos físicos (20, 40 e 80 máquinas) em duas configurações (desequilibrado e equilibrado) e em dois roteamentos (rígido e flexível). Também mostra a influência da divisão dos departamentos em leiautes com 36 máquinas. Para cada caso foram elaborados 30 conjuntos de 150 peças (onde a duração de cada operação foi aleatoriamente escolhida entre 10 e 100 unidades de tempo) e 152 arranjos físicos sendo: 50 funcionais, 50 parcialmente distribuídos (2 departamentos para cada processo), 50 aleatoriamente distribuídos e 2 maximamente distribuídos (um pelo algoritmo ALVO e outro pelo algoritmo genético). Cada conjunto de peças foi roteado em cada arranjo físico nos dois modos: rígido e flexível. O microcomputador usado em todas as simulações possuía processador Athlon XP operando em 2.08 GHz e com 1 Gb de memória RAM em plataforma Windows XP Professional. A apresentação dos dados segue o seguinte padrão: número de máquinas de cada processo, graus de distribuição obtidos, representação dos arranjos físicos maximamente distribuídos, informações sobre os conjuntos de peças e quatro quadros com os resultados das simulações (os dois primeiros para o roteamento rígido e os dois últimos para o flexível). Cada quadro mostra os valores médios obtidos pelo roteamento de cada conjunto de peça nos conjuntos de 50 arranjos físicos (com exceção dos arranjos físicos maximamente distribuídos, que são representados por apenas um elemento). No cabeçalho de cada quadro, junto ao tipo do arranjo físico, está o tempo consumido na simulação (no formato hh:mm:ss).

197 Arranjos físicos desequilibrados pequenos Estes arranjos físicos possuem 4 linhas e 5 colunas e suas 20 máquinas estão divididas em 6 processos, como detalha a Tabela 8.1. Tabela Número de máquinas por processo (AFDP) Processo Nº. de máquinas A Tabela 8.2 mostra os valores médios para o grau de distribuição e a Figura 8.1 apresenta os dois arranjos físicos maximamente distribuídos. Tabela Grau de distribuição dos AFDP Arranjo Físico Funcional Parcialmente Distribuído Aleatoriamente Distribuído Maximamente Distribuído (ALVO) Maximamente Distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão Algoritmo ALVO Algoritmo genético Figura AFDP maximamente distribuídos Peças As peças possuem de 3 a 6 operações cujos processos foram selecionados aleatoriamente entre os 6 disponíveis no arranjo físico.

198 166 Como mostram os gráficos da Figura 8.2 levou-se em consideração a proporção do número de máquinas dos processos. A proporção não foi exatamente atingida em função do número máximo de operações das peças ser igual ao número de operações do arranjo físico. Os demais conjuntos de peças apresentaram comportamentos similares. Figura Ocorrência de cada processo (conjuntos de peça 1 e 20) Resultados Para o roteamento rígido os dados estão no Quadro 8.1 (makespan), e no Quadro 8.2 (distâncias percorridas) e para o roteamento flexível os dados estão no Quadro 8.3 (makespan) e Quadro 8.4 (distâncias).

199 167 Quadro Tempos no roteamento rígido (AFDP) Funcional (00:11:31.03) Conjuntos de peças Parcialmente (00:13:53.13) Aleatoriamente (00:15:08.40) ALVO (00:00:15.10) AG (00:00:14.88) Méd Min Max Amp DP

200 168 Quadro Distâncias no roteamento rígido (AFDP) Funcional (00:11:31.03) Conjuntos de peças Parcialmente (00:13:53.13) Aleatoriamente (00:15:08.40) ALVO (00:00:15.10) AG (00:00:14.88) Méd Min Max Amp DP

201 169 Quadro Tempos no roteamento flexível (AFDP) Funcional (01:49:29.93) Conjuntos de peças Parcialmente (01:50:51.22) Aleatoriamente (01:14:38.22) ALVO (00:02:15.71) AG (00:02:00.92) Méd Min Max Amp DP

202 170 Quadro Distâncias no roteamento flexível (AFDP) Funcional (01:49:29.93) Conjuntos de peças Parcialmente (01:50:51.22) Aleatoriamente (01:14:38.22) ALVO (00:02:15.71) AG (00:02:00.92) Méd Min Max Amp DP

203 Arranjos físicos desequilibrados médios Estes arranjos físicos possuem a forma apresentada por Montreuil e Venkatadri (1991, p.296), com 40 máquinas (5x8) divididas em 15 processos. A Tabela 8.3 detalha o número de máquinas por processo. Tabela Número de máquinas por processo (AFDM) Processo 1 a 5 6 a Nº. de máquinas A Tabela 8.4 mostra os valores médios para o grau de distribuição e a Figura 8.3 apresenta os dois arranjos físicos maximamente distribuídos. Tabela Grau de distribuição dos AFDM Arranjo Físico Funcional Parcialmente Distribuído Aleatoriamente Distribuído Maximamente Distribuído (ALVO) Maximamente Distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão Algoritmo ALVO Algoritmo genético Figura AFDM maximamente distribuídos

204 Peças As peças têm entre 3 e 10 operações cujos processos foram selecionados aleatoriamente entre os 15 disponíveis no arranjo físico. A proporção do número de máquinas de cada processo de dois dos conjuntos estão na Figura 8.4. Figura Ocorrência de cada processo (conjuntos de peças 1 e 5) Resultados Para o roteamento rígido os dados estão no Quadro 8.5 (makespan) e no Quadro 8.6 (distâncias percorridas) e para o roteamento flexível os dados estão no Quadro 8.7 (makespan) e Quadro 8.8 (distâncias).

205 173 Quadro Tempos no roteamento rígido (AFDM) Funcional (00:19:33.00) Conjuntos de peças Parcialmente (00:19:16.32) Aleatoriamente (00:18:45.39) ALVO (00: ) AG (00:00:22.72) Méd Min Max Amp DP

206 174 Quadro Distancias no roteamento rígido (AFDM) Funcional (00:19:33.00) Conjuntos de peças Parcialmente (00:19:16.32) Aleatoriamente (00:18:45.39) ALVO (00:00:23.02) AG (00:00:22.72) Méd Min Max Amp DP

207 175 Quadro Tempos no roteamento flexível (AFDM) Funcional (04:43:04.71) Conjuntos de peças Parcialmente (06:34:17.39) Aleatoriamente (05:32:39.99) ALVO (00:07:00.02) AG (00:06:36.16) Méd Min Max Amp DP

208 176 Quadro Distâncias no roteamento flexível (AFDM) Funcional (04:43:04.71) Conjuntos de peças Parcialmente (06:34:17.39) Aleatoriamente (05:32:39.99) ALVO (00:07:00.02) AG (00:06:36.16) Méd Min Max Amp DP

209 Arranjos físicos desequilibrados grandes Estes arranjos físicos possuem 10 linhas e 8 colunas e suas 80 máquinas estão divididas em 20 processos como a Tabela 8.5 detalha. Tabela Número de máquinas por processo (AFDG) Processo 1 a 4 5 a 8 9 a a a 20 Nº. de máquinas A Tabela 8.6 mostra os valores médios para o grau de distribuição e a Figura 8.5 apresenta os dois arranjos físicos maximamente distribuídos. Tabela Grau de distribuição dos AFDG Arranjo Físico Funcional Parcialmente Distribuído Aleatoriamente Distribuído Maximamente Distribuído (ALVO) Maximamente Distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão Algoritmo ALVO Algoritmo genético Figura AFDG maximamente distribuídos

210 Peças As peças têm entre 3 e 10 operações cujos processos foram selecionados aleatoriamente entre os 20 disponíveis no arranjo físico. A proporção do número de máquinas de cada processo de dois dos conjuntos estão representados na Figura 8.6. Figura Ocorrência de cada processo (conjuntos de peças 1 e 7) Resultados Para o roteamento rígido os dados estão no Quadro 8.9 (makespan) e no Quadro 8.10 (distâncias) enquanto que para o roteamento flexível, os dados estão no Quadro 8.11 (makespan) e Quadro 8.12 (distâncias).

211 179 Quadro Tempos no roteamento rígido (AFDG) Funcional (00:25:38.76) Conjuntos de peças Parcialmente (00:24:43.49) Aleatoriamente (00:33:41.36) ALVO (00:00:25.07) AG (00:00:25.81) Méd Min Max Amp DP

212 180 Quadro Distancias no roteamento rígido (AFDG) Funcional (00:25:38.76) Conjuntos de peças Parcialmente (00:24:43.49) Aleatoriamente (00:33:41.36) ALVO (00:00:25.07) AG (00:00:25.81) Méd Min Max Amp DP

213 181 Quadro Tempos no roteamento flexível (AFDG) Funcional (06:52:45.87) Conjuntos de peças Parcialmente (06:42:04.17) Aleatoriamente (06:25:12.29) ALVO (00:07:11.06) AG (00:07:54.83) Méd Min Max Amp DP

214 182 Quadro Distâncias no roteamento flexível (AFDG) Funcional (06:52:45.87) Conjuntos de peças Parcialmente (06:42:04.17) Aleatoriamente (06:25:12.29) ALVO (00:07:11.06) AG (00:07:54.83) Méd Min Max Amp DP

215 Arranjos físicos equilibrados pequenos Estes arranjos físicos possuem 20 máquinas (4x5) divididas em 5 processos com 4 máquinas cada um. A Tabela 8.7 mostra os valores médios para o grau de distribuição de cada tipo de arranjo físico gerado e a Figura 8.7 apresenta os dois arranjos físicos maximamente distribuídos. Nota-se que todos os arranjos físicos funcionais obtiveram o mesmo valor devido ao fato dos departamentos terem a mesma quantidade de máquinas. Tabela Grau de distribuição dos AFEP Arranjo Físico Funcional Parcialmente Distribuído Aleatoriamente Distribuído Maximamente Distribuído (ALVO) Maximamente Distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão Algoritmo ALVO Algoritmo genético Figura AFEP maximamente distribuídos Peças As peças têm de 3 a 5 operações cujos processos foram selecionados aleatoriamente entre os 5 disponíveis no arranjo físico. Os gráficos da Figura 8.8 mostram o número de ocorrência de cada processo para três dos conjuntos de peças.

216 184 Figura Ocorrência de cada processo (conjunto de peças 1, 10 e 20) Resultados Para o roteamento rígido os dados estão no Quadro 8.13 (makespan) e no Quadro 8.14 (distâncias percorridas) enquanto que para o roteamento flexível os dados estão no Quadro 8.15 (makespan) e Quadro 8.16 (distâncias).

217 185 Quadro Tempos no roteamento rígido (AFEP) Funcional (00:12:37.82) Conjuntos de peças Parcialmente (00:15:03.03) Aleatoriamente (00:11:15.13) ALVO (00:00:15.23) AG (00:00:15.09) Méd Min Max Amp DP

218 186 Quadro Distâncias no roteamento rígido (AFEP) Funcional (00:12:37.82) Conjuntos de peças Parcialmente (00:15:03.03) Aleatoriamente (00:11:15.13) ALVO (00:00:15.23) AG (00:00:15.09) Méd Min Max Amp DP

219 187 Quadro Tempos no roteamento flexível (AFEP) Funcional (01:23:23.31) Conjuntos de peças Parcialmente (01:28:39.29) Aleatoriamente (01:27:11.14) ALVO (00:01:58.45) AG (00:01:48.18) Méd Min Max Amp DP

220 188 Quadro Distâncias no roteamento flexível (AFEP) Funcional (01:23:23.31) Conjuntos de peças Parcialmente (01:28:39.29) Aleatoriamente (01:27:11.14) ALVO (00:01:58.45) AG (00:01:48.18) Méd Min Max Amp DP

221 Arranjos físicos equilibrados médios Estes arranjos físicos possuem 40 máquinas (5x8) divididas em 5 processos com 8 máquinas cada um. A Tabela 8.8 mostra os valores médios para o grau de distribuição e a Figura 8.9 apresenta os dois arranjos físicos maximamente distribuídos. Tabela Grau de distribuição dos AFEM Arranjo Físico Funcional Parcialmente Distribuído Aleatoriamente Distribuído Maximamente Distribuído (ALVO) Maximamente Distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão Algoritmo ALVO Algoritmo genético Figura AFEM maximamente distribuídos Peças As peças têm entre 3 e 5 operações cujos processos foram selecionados aleatoriamente entre os 5 disponíveis no arranjo físico. A Figura 8.10 mostra quantas vezes cada processo foi usado em três dos conjuntos peças.

222 190 Figura Ocorrência de cada processo (conjunto de peças 1, 10 e 20) Resultados Para o roteamento rígido os dados estão no Quadro 8.17 (makespan) e no Quadro 8.18 (distâncias percorridas) enquanto que para o roteamento flexível os dados estão no Quadro 8.19 (makespan) e Quadro 8.20 (distâncias).

223 191 Quadro Tempos no roteamento rígido (AFEM) Funcional (00:30:04.33) Conjuntos de peças Parcialmente (00:23:40.55) Aleatoriamente (00:22:35.24) ALVO (00:00:28.26) AG (00:00:28.00) Méd Min Max Amp DP

224 192 Quadro Distancias no roteamento rígido (AFEM) Funcional (00:30:04.33) Conjuntos de peças Parcialmente (00:23:40.55) Aleatoriamente (00:22:35.24) ALVO (00:00:28.26) AG (00:00:28.00) Méd Min Max Amp DP

225 193 Quadro Tempos no roteamento flexível (AFEM) Funcional (03:52:57.66) Conjuntos de peças Parcialmente (03:27:11.58) Aleatoriamente (03:34:53.34) ALVO (00:05:24.47) AG (00:04:03.15) Méd Min Max Amp DP

226 194 Quadro Distâncias no roteamento flexível (AFEM) Funcional (03:52:57.66) Conjuntos de peças Parcialmente (03:27:11.58) Aleatoriamente (03:34:53.34) ALVO (00:05:24.47) AG (00:04:03.15) Méd Min Max Amp DP

227 Arranjos físicos equilibrados grandes Estes arranjos físicos possuem 10 linhas e 8 colunas e suas 80 máquinas estão divididas em 8 processos com 10 máquinas cada um. A Tabela 8.9 mostra os valores médios para o grau de distribuição e a Figura 8.11 apresenta os dois arranjos físicos maximamente distribuídos. Tabela Grau de distribuição dos AFEG Arranjo Físico Funcional Parcialmente Distribuído Aleatoriamente Distribuído Maximamente Distribuído (ALVO) Maximamente Distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão Algoritmo ALVO Algoritmo genético Figura AFEG maximamente distribuídos Peças As peças têm entre 3 e 8 operações cujos processos foram selecionados aleatoriamente entre os 8 disponíveis no arranjo físico. A Figura 8.12 mostra o número de ocorrência de cada processo para dois dos conjuntos.

228 196 Figura Ocorrência de cada processo (conjunto de peças 1 e 15) Resultados Para o roteamento rígido os dados estão no Quadro 8.21 (makespan) e no Quadro 8.22 (distâncias) e para o roteamento flexível, os dados estão no Quadro 8.23 (makespan) e Quadro 8.24 (distâncias).

229 197 Quadro Tempos no roteamento rígido (AFEG) Funcional (00:45:58.36) Conjuntos de peças Parcialmente (01:03:58.88) Aleatoriamente (01:02:03.27) ALVO (00:05:21.32) AG (00:00:59.25) Méd Min Max Amp DP

230 198 Quadro Distancias no roteamento rígido (AFEG) Funcional (00:45:58.36) Conjuntos de peças Parcialmente (01:03:58.88) Aleatoriamente (01:02:03.27) ALVO (00:05:21.32) AG (00:00:59.25) Méd Min Max Amp DP

231 199 Quadro Tempos no roteamento flexível (AFEG) Funcional (13:05:11.63) Conjuntos de peças Parcialmente (15:21:26.33) Aleatoriamente (13:43:11.53) ALVO (00:25:47.07) AG (00:45:26.39) Méd Min Max Amp DP

232 200 Quadro Distâncias no roteamento flexível (AFEG) Funcional (13:05:11.63) Conjuntos de peças Parcialmente (15:21:26.33) Aleatoriamente (13:43:11.53) ALVO (00:25:47.07) AG (00:45:26.39) Méd Min Max Amp DP

233 Influência da divisão dos departamentos Este estudo permitiu avaliar a influência do grau de desagregação dos departamentos usando arranjos físicos com processos que possuem o mesmo número de máquinas, de forma similar à executada por Benjaafar e Sheikhzadeh (2000, p. 320) e Lahmar e Benjaafar (2001, 2002a, 2002b e 2005). Os arranjos físicos adotados possuíam 36 máquinas (6x6) divididas em 6 processos. Os arranjos físicos parcialmente distribuídos foram criados dividindo cada departamento por 1, 2, 3 e 6. Na divisão por 1 tem-se o arranjo físico funcional (1 departamento com 6 máquinas para cada processo) e na divisão por 6 tem-se uma distribuição aleatória (6 departamentos com 1 máquina para cada processo). A Tabela 8.10 mostra os valores médios para o grau de distribuição de cada tipo de arranjo físico gerado. Tabela Grau de distribuição dos arranjos físicos Arranjo Físico Parcialmente Distribuído ( 1) (Funcional) Parcialmente Distribuído ( 2) Parcialmente Distribuído ( 3) Parcialmente Distribuído ( 6) Maximamente distribuído (ALVO) Maximamente distribuído (AG) Média Mínimo Máximo Amplitude Desvio Padrão A Figura 8.13 apresenta os dois arranjos físicos maximamente distribuídos além de um exemplo de cada uma das outras quatro distribuições (o primeiro arranjo físico de cada tipo).

234 Div 1 (Funcional) Div Div 3 Div 6 (Aleatório) Algoritmo ALVO Algoritmo genético Figura Exemplos de arranjos físicos Os arranjos físicos parcialmente distribuídos com 2, 3 e 6 departamentos exibidos pela Figura 8.13 mostram que o processo aleatório de seleção acaba definindo em posições adjacentes departamentos de um mesmo tipo, formando grupos maiores que o desejado, mesmo com a inclusão de algumas rotinas que objetivavam minimizar essa situação. O algoritmo ALVO mostrou que, pelo menos neste caso, é menos eficiente na distribuição das máquinas, acabando por gerar um grande departamento no centro.

235 Peças As peças têm entre 3 e 6 operações cujos processos foram selecionados aleatoriamente entre os 6 disponíveis no arranjo físico. Foi adotado o procedimento de seleção aleatório de processo (Figura 8.14). Figura Ocorrência de cada processo (conjuntos de peças 1 e 15) Resultados Para o roteamento rígido os dados estão no Quadro 8.25 (makespan) e no Quadro 8.26 (distâncias). Para o roteamento flexível, os dados estão no Quadro 8.27 (makespan) e Quadro 8.28 (distâncias).

236 204 Quadro Tempos no roteamento rígido Parcialmente ( 1) (00:16:58.48) Conjuntos de peças Parcialmente ( 2) (00:18:13.68) Parcialmente ( 3) (00:17:02.29) Parcialmente ( 6) (00:17:20.32) ALVO (00:00:21.11) AG (00:00:22.49) Méd Min Max Amp DP

237 205 Quadro Distancias no roteamento rígido Parcialmente ( 1) (00:16:58.48) Conjuntos de peças Parcialmente ( 2) (00:18:13.68) Parcialmente ( 3) (00:17:02.29) Parcialmente ( 6) (00:17:20.32) ALVO (00:00:21.11) AG (00:00:22.49) Méd Min Max Amp DP

238 206 Quadro Tempos no roteamento flexível Parcialmente ( 1) (02:54:55.40) Conjuntos de peças Parcialmente ( 2) (02:26:01.30) Parcialmente ( 3) (02:16:09.70) Parcialmente ( 6) (02:32:01.85) ALVO (00:03:01.68) AG (00:03:49.98) Méd Min Max Amp DP

239 207 Quadro Distâncias no roteamento flexível Parcialmente ( 1) (02:54:55.40) Conjuntos de peças Parcialmente ( 2) (02:26:01.30) Parcialmente ( 3) (02:16:09.70) Parcialmente ( 6) (02:32:01.85) ALVO (00:03:01.68) AG (00:03:49.98) Méd Min Max Amp DP

240 Formação espontânea de células fractais Analisando os resultados obtidos pelo algoritmo genético nos arranjos físicos equilibrados observou-se a formação espontânea de células fractais (cada célula possui uma máquina de cada processo). A Figura 8.15 mostra o arranjo físico pequeno e duas formas de divisão fractal enquanto a Figura 8.16 mostra o arranjo físico médio com três formas de divisão celular. Para o caso do arranjo físico grande (Figura 8.17) apenas uma forma de divisão celular foi encontrada. Nesses três casos nota-se a existência de alguma forma de simetria (na forma geral das células e em suas posições no arranjo físico) Figura AFEP maximamente distribuído (AG) Figura AFEM maximamente distribuído (AG)

241 Figura AFEG maximamente distribuído (AG) A Figura 8.18 mostra o arranjo físico maximamente distribuído usado na avaliação da influência da divisão dos departamentos. O mesmo efeito de formação de células fractais simétricas foi verificado em mais de uma forma Figura Arranjo físico maximamente distribuído Como a formação de células fractais simétricas não era esperada foram elaborados outros 12 arranjos físicos equilibrados para observar se foi apenas

242 210 coincidência ou se esse comportamento é realmente característico do procedimento de maximização da distribuição Arranjos físicos 4x4 A Figura 8.19 mostra um arranjo físico equilibrado maximamente distribuído formado por 2 processos com 8 máquinas. Arranjos físicos formados por apenas 2 processos dispensam o uso do algoritmo genético pois a melhor configuração sempre será a do tipo tabuleiro de xadrez. Essa distribuição leva a um grau de distribuição igual a 1 e apresenta duas formas de divisão celular simétricas: uma horizontal e outra vertical. Na Figura 8.20 bem como na Figura 8.21 há também células fractais com mais de uma forma simétrica Figura processos com 8 máquinas (GDD= 1) Figura processos com 4 máquinas (GDD= 3.25)

243 Figura processos com 2 máquinas (GDD= 11.75) Arranjos físicos 6x6 Quatro arranjos físicos 6x6 (Figura 8.22, Figura 8.23, Figura 8.24 e Figura 8.25) também mostram células fractais com formas simétricas Figura processos com 18 máquinas (GDD= 1) Figura processos com 9 máquinas (GDD= )

244 Figura processos com 4 máquinas (GDD= ) Figura processos com 2 máquinas (GDD= )

245 Arranjos físicos 6x8 Os últimos cinco arranjos físicos foram elaborados na dimensão 6x8 e estão apresentados na Figura 8.26, Figura 8.27, Figura 8.28, Figura 8.29 e Figura Em todos os casos foi possível identificar células fractais simétricas (ou parcialmente simétricas) Figura processos com 24 máquinas (GDD= 1)

246 Figura processos com 12 máquinas (GDD= )

247 Figura processos com 8 máquinas (GDD= ) Figura processos com 4 máquinas (GDD= )

248 Figura processos com 2 máquinas (GDD= ) Formação de células em arranjos físicos desequilibrados A maximização da distribuição dos arranjos físicos desequilibrados também leva à formação de células, porém diferentes entre si devido ao fato de alguns processos possuírem número ímpar de máquinas. Normalmente um arranjo físico nesta condição pode ser dividido em dois, como é o caso dos três arranjos físicos desequilibrados adotados.

249 217 A Figura 8.31 mostra as duas células formadas no arranjo físico pequeno. Dos 6 processos apenas 2 possuíam número de máquinas par (1 e 2) que foram divididos em duas partes Figura AFDP maximamente distribuído (AG) O arranjo físico médio (Figura 8.32) tem 5 processos com apenas uma máquina. Neste caso as duas células são mais distintas uma da outra. Todos os processos com máquinas pares foram divididos em duas partes Figura AFDM maximamente distribuído (AG) A Figura 8.33 mostra as duas células do arranjo físico grande Figura AFDG maximamente distribuído (AG)

250 218 Caso todos os processos possuam número de máquinas par a similaridade existirá e o número de células será igual ao número de máquinas do menor departamento. O arranjo físico da Figura 8.34 possui 2 processos com 2 máquinas, 2 processos com 4 máquinas e 2 processos com 6 máquinas. A maximização gerou duas células que podem ser observadas dividindo o leiaute nos sentidos horizontal ou vertical Figura Arranjo físico 4x6 (GDD= ) O arranjo físico da Figura 8.35 possui 7 processos sendo 3 deles com 4 máquinas, 3 com 8 máquinas e 1 com 12 máquinas. Foi possível identificar 4 células em cinco configurações, além da divisão horizontal e vertical Figura Arranjo físico 6x8 (GDD= )

251 Figura Arranjo físico 6x8 (GDD= ) 8.10 Considerações finais Este capítulo apresentou os resultados obtidos nas simulações com arranjos físicos pequenos (4x5), médios (5x8) e grandes (10x8) tanto equilibrados quanto desequilibrados. Para cada situação foram apresentados os principais dados de entrada (arranjos físicos e peças) e os dados de saída (makespan e distância total percorrida). Também foram simulados cenários com departamentos que possuem o mesmo número de máquinas (6x6) para analisar a influência de sua divisão. Além disso foram elaborados 12 novos arranjos físicos equilibrados em três diferentes tamanhos para observar a formação espontânea de células fractais simétricas bem como outros dois leiautes desequilibrados. Não há garantia de que todos os arranjos físicos maximamente distribuídos apresentados estejam realmente maximizados. É possível que a execução do algoritmo genético por mais algumas dezenas de horas possa obter alguma melhoria em algum caso. O capítulo seguinte irá analisar os resultados obtidos neste capítulo.

252 220 9 ANÁLISE DOS RESULTADOS 9.1 Considerações iniciais Neste capítulo são analisados os resultados obtidos nas simulações. Para cada caso são discutidas três variáveis: o grau de distribuição dos arranjos físicos, o tempo total consumido e a distância total percorrida. Para a comparação do grau de distribuição foi usado um gráfico de linha e um quadro. O gráfico de linha permite observar rapidamente a diferença entre os valores médios obtidos em cada tipo de arranjo físico enquanto o quadro traz as diferenças percentuais entre todos os valores (redução percentual). Como era de se esperar o tempo total consumido apresentou diferenças desprezíveis em relação aos diferentes tipos de arranjo físico. Sendo assim apenas são comparados os valores médios obtidos nos dois modos de roteamento. Para as distâncias percorridas são apresentados três quadros e um gráfico. O primeiro quadro compara as diferenças percentuais no modo de roteamento rígido e o segundo no modo de roteamento flexível. O terceiro quadro mostra a melhoria percentual obtida pelo modo de roteamento flexível sobre o rígido em cada tipo de arranjo físico e seus valores são plotados em um gráfico de linha para permitir uma comparação visual rápida. Para as três variáveis citadas a redução dos valores absolutos indica melhora nos resultados enquanto que nos quadros com comparações percentuais quanto maior o valor maior é a superioridade da configuração ou do modo de roteamento. As três variáveis são plotadas em um gráfico de linha, com valores percentuais relativos ao arranjo físico funcional. O final do capítulo analisa os arranjos físicos equilibrados e a formação espontânea de células fractais simétricas.

253 Arranjos físicos desequilibrados pequenos Grau de distribuição O gráfico da Figura 9.1 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela Grau de Distribuição Funcional Parcialmente Aleatoriamente ALVO AG Figura Grau de distribuição médio (AFDP) A Tabela 9.1 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (AFDP) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tempo total consumido O roteamento rígido obteve valor médio de (Quadro 8.1) enquanto o flexível obteve (Quadro 8.3), representando uma redução de 4.31% no tempo total de execução das peças. Para verificar se essa

254 222 diferença é ou não significativa será usado o Teste de Hipóteses. A população 1 é composta pelos 150 valores do Quadro 8.1 e a população 2 os dados do Quadro 8.3 como População 2. O Quadro 9.1 resume os dados. Quadro Dados para o teste de hipóteses População 1 População 2 Número de elementos 150 Número de elementos: 150 Valor mínimo 2349 Valor mínimo 2269 Valor máximo 3076 Valor máximo 2848 Amplitude 727 Amplitude 579 Valor médio Valor médio Desvio padrão Desvio padrão O teste de hipótese irá verificar se as médias podem ser consideradas iguais (hipótese nula) ou se a média da população 1 é maior que a da população 2. Tem-se: Hipótese nula Ho: µ1= µ2 Hipótese alternativa Ha: µ1> µ2 Adotando o nível de significância de 5% (α= 0,05) tem-se como valor crítico Zα= 1,645. Isso leva a uma estatística de teste Z=6, que faz com que a hipótese nula deva ser rejeitada, como mostra a Figura 9.2. Essa figura mostra que a adoção dos níveis de significância de 1% ou 10% não influenciaria o resultado, ou seja, a diferença e estatisticamente significativa. Figura Gráfico referente ao teste de hipótese

255 Distância total percorrida As diferenças percentuais do roteamento rígido são apresentadas pela Tabela 9.2 e a do flexível pela Tabela 9.3, conforme os valores do Quadro 8.2 e Quadro 8.4. Observa-se que nas duas tabelas os valores têm a mesma ordem de grandeza apesar dos valores absolutos serem distintos. Tabela Diferença percentual entre distâncias (AFDP - RR) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tabela Diferença percentual entre distâncias (AFDP - RF) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO A Tabela 9.4 apresenta os valores médios absolutos da distância total percorrida pelas peças nos cinco tipos de arranjos físicos bem como a diferença percentual entre esses valores (testes de hipótese mostraram que os valores são estatísticamente relevantes). Tabela Redução percentual da RF sobre a RR (AFDP) Tipo de arranjo físico Funcional Parcialmente Aleatoriamente ALVO AG Média rígida Média flexível Redução percentual 9.11% 7.39% 8.05% 9.91% 8.16% Os valores percentuais da Tabela 9.4 mostram que, em média, o roteamento flexível reduz cerca de 8.52% da distância total percorrida pelas peças, independente do tipo de arranjo físico.

256 224 A Figura 9.3 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante Distância Percorrida Funcional Parcialmente Aleatoriamente ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (AFDP) Comparação das variáveis No gráfico da Figura 9.4 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 Funcional Parcialmente Aleatoriamente ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (AFDP)

257 Arranjos físicos desequilibrados médios Grau de distribuição O gráfico da Figura 9.5 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela Grau de Distribuição Funcional Parcialmente Aleatoriamente ALVO AG Figura Grau de distribuição médio (AFDM) A Tabela 9.5 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (AFDM) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tempo total consumido O roteamento rígido obteve valor médio de enquanto o flexível obteve , representando uma redução de 5.86% no tempo total de execução das peças (teste de hipótese no apêndice L).

258 Distância total percorrida As diferenças percentuais do roteamento rígido estão na Tabela 9.6 e do flexível na Tabela 9.7, conforme os valores do Quadro 8.6 e Quadro 8.8. Observa-se que, novamente, as duas tabelas mostram valores com mesma ordem de grandeza apesar dos valores absolutos serem distintos. Tabela Diferença percentual entre distâncias (AFDM - RR) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tabela Diferença percentual entre distâncias (AFDM - RF) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO A Tabela 9.8 apresenta os valores médios absolutos da distância total percorrida pelas peças nos cinco tipos de arranjos físicos bem como a diferença percentual entre esses valores. Tabela Redução percentual da RF sobre a RR (AFDM) Tipo de arranjo físico Funcional Parcialmente Aleatoriamente ALVO AG Média rígida Média flexível Redução percentual 12.77% 13.08% 12.99% 13.92% 13.87% Os valores percentuais da Tabela 9.8 mostram que, em média, o roteamento flexível reduz cerca de 13.33% da distância total percorrida pelas peças, independente do tipo de arranjo físico.

259 227 A Figura 9.6 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante Distância Percorrida Funcional Parcialmente Aleatoriamente ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (AFDM) Comparação das variáveis No gráfico da Figura 9.7 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 Funcional Parcialmente Aleatoriamente ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (AFDM)

260 Arranjos físicos desequilibrados grandes Grau de distribuição O gráfico da Figura 9.8 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela Grau de Distribuição Funcional Parcialmente Aleatoriamente ALVO AG Figura Grau de distribuição médio (AFDG) A Tabela 9.9 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (AFDG) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tempo total consumido O roteamento rígido obteve valor médio de enquanto o flexível obteve , representando uma redução de 5.73% no tempo total de execução das peças (teste de hipótese no apêndice L).

261 Distância total percorrida As diferenças percentuais do roteamento rígido estão na Tabela 9.10 e do flexível na Tabela 9.11, conforme os valores do Quadro 8.10 e Quadro Esses quadros também mostram valores com a mesma ordem de grandeza apesar dos valores absolutos serem diferentes. Tabela Diferença percentual entre distâncias (AFDG - RR) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tabela Diferença percentual entre distâncias (AFDG - RF) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO A Tabela 9.12 apresenta os valores médios absolutos da distância total percorrida pelas peças nos cinco tipos de arranjos físicos bem como a diferença percentual entre esses valores. Tabela Redução percentual da RF sobre a RR (AFDG) Tipo de arranjo físico Funcional Parcialmente Aleatoriamente ALVO AG Média rígida Média flexível Redução percentual 12.72% 12.73% 13.02% 13.47% 14.80% Os valores percentuais da Tabela 9.12 mostram que, em média, o roteamento flexível reduz cerca de 13.35% da distância total percorrida pelas peças, independente do tipo de arranjo físico.

262 230 A Figura 9.9 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante Distância Percorrida Funcional Parcialmente Aleatoriamente ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (AFDG) Comparação das variáveis No gráfico da Figura 9.7 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 0,45 Funcional Parcialmente Aleatoriamente ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (AFDG)

263 Arranjos físicos equilibrados pequenos Grau de distribuição O gráfico da Figura 9.11 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela Grau de Distribuição Funcional Parcialmente Aleatoriamente ALVO AG Figura Grau de distribuição médio (AFEP) A Tabela 9.13 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (AFEP) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tempo total consumido O roteamento rígido obteve valor médio de enquanto o flexível obteve , representando uma redução de 3.11% no tempo total de execução das peças (teste de hipótese no apêndice L).

264 Distância total percorrida As diferenças percentuais do roteamento rígido estão na Tabela 9.14 e a do flexível na Tabela 9.15, conforme os valores do Quadro 8.14 e Quadro Observa-se que nas duas tabelas os valores têm a mesma ordem de grandeza apesar dos valores absolutos serem distintos. Tabela Diferença percentual entre distâncias (AFEP - RR) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tabela Diferença percentual entre distâncias (AFEP - RF) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO A Tabela 9.16 apresenta os valores médios absolutos da distância total percorrida pelas peças nos cinco tipos de arranjos físicos bem como a diferença percentual entre esses valores. Tabela Redução percentual da RF sobre a RR (AFEP) Tipo de arranjo físico Funcional Parcialmente Aleatoriamente ALVO AG Média rígida Média flexível Redução percentual 11.43% 11.23% 11.95% 11.36% 11.79% Os valores percentuais da Tabela 9.16 mostram que, em média, o roteamento flexível reduz cerca de 11.55% da distância total percorrida pelas peças, independente do tipo de arranjo físico.

265 233 A Figura 9.12 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante Distância Percorrida Funcional Parcialmente Aleatoriamente ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (AFEP) Comparação das variáveis No gráfico da Figura 9.13 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 0,45 Funcional Parcialmente Aleatoriamente ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (AFEP)

266 Arranjos físicos equilibrados médios Grau de distribuição O gráfico da Figura 9.14 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela Grau de Distribuição Funcional Parcialmente Aleatoriamente ALVO AG Figura Grau de distribuição médio (AFEM) A Tabela 9.17 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (AFEM) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tempo total consumido O roteamento rígido obteve valor médio de enquanto o flexível obteve , representando uma redução de 3.37% no tempo total de execução das peças (teste de hipótese no apêndice L).

267 Distância total percorrida As diferenças percentuais do roteamento rígido estão na Tabela 9.18 e do flexível na Tabela 9.19, conforme os valores do Quadro 8.18 e Quadro Observa-se que, novamente, as duas tabelas mostram valores com mesma ordem de grandeza apesar dos valores absolutos serem distintos. Tabela Diferença percentual entre distâncias (AFEM - RR) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tabela Diferença percentual entre distâncias (ADEM - RF) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO A Tabela 9.20 apresenta os valores médios absolutos da distância total percorrida pelas peças nos cinco tipos de arranjos físicos bem como a diferença percentual entre esses valores. Tabela Redução percentual da RF sobre a RR (AFEM) Tipo de arranjo físico Funcional Parcialmente Aleatoriamente ALVO AG Média rígida Média flexível Redução percentual 13.33% 11.69% 11.26% 11.36% 11.29% Os valores percentuais da Tabela 9.20 mostram que, em média, o roteamento flexível reduz cerca de 11.79% da distância total percorrida pelas peças, independente do tipo de arranjo físico.

268 236 A Figura 9.15 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante. Distância Percorrida Funcional Parcialmente Aleatoriamente ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (AFEM) Comparação das variáveis No gráfico da Figura 9.16 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 0,45 0,40 0,35 Funcional Parcialmente Aleatoriamente ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (AFEM)

269 Arranjos físicos equilibrados grandes Grau de distribuição O gráfico da Figura 9.17 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela Grau de Distribuição Funcional Parcialmente Aleatoriamente ALVO AG Figura Grau de distribuição médio (AFEG) A Tabela 9.21 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (AFEG) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tempo total consumido O roteamento rígido obteve valor médio de enquanto o flexível obteve , representando uma redução de 3.55% no tempo total de execução das peças (teste de hipótese no apêndice L).

270 Distância total percorrida As diferenças percentuais do roteamento rígido estão na Tabela 9.22 e do flexível na Tabela 9.23, conforme os valores do Quadro 8.22 e Quadro Esses quadros também mostram valores com a mesma ordem de grandeza apesar dos valores absolutos serem diferentes. Tabela Diferença percentual entre distâncias (AFEG - RR) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO Tabela Diferença percentual entre distâncias (AFEG - RF) Do arranjo físico Para o arranjo físico Parcialmente Aleatoriamente ALVO AG Funcional Parcialmente Aleatoriamente ALVO A Tabela 9.24 apresenta os valores médios absolutos da distância total percorrida pelas peças nos cinco tipos de arranjos físicos bem como a diferença percentual entre esses valores. Tabela Redução percentual da RF sobre a RR (AFEG) Tipo de arranjo físico Funcional Parcialmente Aleatoriamente ALVO AG Média rígida Média flexível Redução percentual 14.93% 14.30% 13.77% 12.85% 14.35% Os valores percentuais da Tabela 9.24 mostram que, em média, o roteamento flexível reduz a distância total percorrida pelas peças em cerca de 14.04%, independente do tipo de arranjo físico.

271 239 A Figura 9.18 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante Distância Percorrida Funcional Parcialmente Aleatoriamente ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (AFEG) Comparação das variáveis No gráfico da Figura 9.19 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 0,45 0,40 0,35 Funcional Parcialmente Aleatoriamente ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (AFEG)

272 Influência da divisão dos departamentos Grau de distribuição O gráfico da Figura 9.20 mostra os valores médios do grau de distribuição obtidos pelos diferentes tipos de arranjos físicos, conforme os dados apresentados pela Tabela 8.10 (Div representa os arranjos físicos usados na avaliação da divisão dos departamentos) Grau de Distribuição Funcional Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO AG Figura Grau de distribuição médio (Div) A Tabela 9.25 mostra as diferenças percentuais do grau de distribuição entre os diferentes tipos de arranjos físicos. Tabela Redução percentual entre os graus de distribuição (Div) Do arranjo físico Para o arranjo físico Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO AG Funcional Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO Tempo total consumido O roteamento rígido obteve valor médio de enquanto o flexível obteve , representando uma redução de 2.75% no tempo total de execução das peças (teste de hipótese no apêndice L).

273 Distância total percorrida As diferenças percentuais do roteamento rígido estão na Tabela 9.26 e do flexível na Tabela 9.27, conforme os valores do Quadro 8.26 e Quadro Esses quadros também mostram valores com a mesma ordem de grandeza apesar dos valores absolutos serem diferentes. Tabela Diferença percentual entre distâncias (Div - RR) Do arranjo físico Para o arranjo físico Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO AG Funcional Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO Tabela Diferença percentual entre distâncias (Div - RF) Do arranjo físico Para o arranjo físico Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO AG Funcional Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO A Tabela 9.28 apresenta os valores médios absolutos da distância total percorrida pelas peças nos seis tipos de arranjos físicos bem como a diferença percentual entre esses valores. Tabela Redução percentual da RF sobre a RR (Div) Funcional Parcial ( 2) Tipo de arranjo físico Parcial ( 3) Parcial ( 6) ALVO Média rígida Média flexível Redução percentual 11.99% 12.04% 11.33% 11.84% 8.28% 12.52% AG Os valores percentuais da Tabela 9.28 mostram que, em média, o roteamento flexível reduz cerca de 11.33% da distância total percorrida pelas peças, independente do tipo de arranjo físico.

274 242 A Figura 9.21 mostra graficamente que a melhoria obtida pelo roteamento flexível é aproximadamente constante Distância Percorrida Funcional Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO AG Roteamento Rígido Roteamento Flexível Figura Comparação das distâncias percorridas (Div) Comparação das variáveis No gráfico da Figura 9.22 tem-se o grau de distribuição e as distâncias percorridas nos dois modos de roteamento em termos percentuais em relação ao arranjo físico funcional. Nota-se que a melhoria relativa obtida pelas diferentes configurações quase não sofrem influência do modo de roteamento. Percentual 1,00 0,95 0,90 0,85 0,80 0,75 0,70 0,65 0,60 0,55 0,50 0,45 0,40 Funcional Parcial ( 2) Parcial ( 3) Parcial ( 6) ALVO AG GDD Roteamento Rígido Roteamento Flexível Figura Comparação percentual (Div)

275 Comparação dos tempos A Figura 9.23 mostra os valores de melhoria percentual do makespan obtida com o modo de roteamento flexível em relação ao rígido. Para os arranjos físicos desequilibrados o valor médio é de 5.3% enquanto que para os equilibrados é de 3.34%. Com relação aos arranjos físicos para a análise do efeito da divisão dos departamentos a melhoria foi de 2.75% (não foi plotado no gráfico) Percentual Pequeno Médio Grande Desequilibrado Equilibrado Figura Melhoria percentual do makespan Considerando todos os sete resultados poder-se-ia afirmar que, em média, o roteamento flexível reduz o makespan em 4.1%, porém, devido às diferenças encontradas, é mais prudente diferenciar a vantagem obtida quando os arranjos físicos são classificados como desequilibrados e equilibrados Comparação das distâncias percorridas O gráfico da Figura 9.24 mostra os valores de melhoria percentual da distância percorrida obtida com o modo de roteamento flexível em relação ao rígido. Os valores mostram que cada tipo de arranjo físico possui um valor médio: AFDP= 8.52%, AFDM= 13.33%, AFDG= 13.35%, AFEP= 11.55%, AFEM= 11.79%, AFEG= 14.04% e Div= 11.33%. Considerando os arranjos físicos desequilibrados tem-se 11.73% como média e para os equilibrados 12.18% (junto com Div). Em função dos dados usados a média geral é %

276 Percentual AFDP AFDM AFDG AFEP AFEM AFEG Div Funcional Parcialmente Aleatoriamente ALVO AG Figura Melhoria percentual da distância percorrida Dos 35 valores plotados apenas 3 se destacam de seus respectivos grupos: AG dos AFDG, Funcional dos AFEM e ALVO dos Div. Não foi possível descobrir a causa desses desvios. A Figura 9.25 traz todas as curvas de variação percentual da distância total percorrida para os arranjos físicos desequilibrados (onde RR significa roteamento rígido e RF roteamento flexível). Nota-se que a variação é muito próxima para cada tipo de arranjo físico, independente do modo de roteamento adotado. Percentual Funcional Parcialmente Aleatoriamente ALVO AG AFDP RR AFDP RF AFDM RR AFDM RF AFDG RR AFDG RF Figura Variação percentual das distâncias (AFD)

277 245 Frente a esse comportamento pode-se calcular a redução percentual média para cada tipo de arranjo físico com relação ao arranjo físico funcional, como mostra a Tabela Tabela Média das melhorias percentuais (AFD) Caso Tipo de arranjo físico Parcialmente Aleatoriamente ALVO AG AFDP RR AFDP RF AFDM RR AFDM RF AFDG RR AFDG RF Média A Figura 9.26 traz todas as curvas de variação percentual da distância total percorrida para os arranjos físicos equilibrados (para os arranjos físicos usados na avaliação da desagregação dos departamentos adotou-se 2 como parcialmente e 6 como aleatoriamente). Como neste caso houve uma variação maior para cada tipo de arranjo físico não foi possível determinar um valor percentual médio de melhoria Percentual Funcional Parcialmente Aleatoriamente ALVO AG AFEP RR AFEP RF AFEM RR AFEM RF AFEG RR AFEG RF Div RR Div RF Figura Variação percentual das distâncias (AFE)

278 Arranjo físico equilibrado maximamente distribuído Algoritmo Alvo O objetivo do algoritmo ALVO foi gerar arranjos físicos maximamente distribuídos de forma rápida, sem a necessidade de auxílio de soluções externas de programação linear. Tratando-se de um procedimento heurístico não havia garantia de solução ótima, mas os resultados mostraram-se bastante satisfatório nos arranjos físicos com departamentos desequilibrados. Com departamentos equilibrados seu desempenho foi um pouco menor, tendendo a formar departamentos, principalmente no centro do leiaute. A Figura 9.27 permite comparar a melhoria percentual obtida pelo algoritmo genético sobre o algoritmo ALVO onde nota-se a diferença quando os departamento são equilibrados. Porém, mais do que o valor do grau de distribuição, é importante comparar a diferença obtida na distância total percorrida pelas peças. O gráfico da Figura 9.28 mostra a diferença percentual obtida pelo algoritmo genético comparado ao ALVO nos casos estudados. Percentual AFDP AFDM AFDG AFEP AFEM AFEG Div Figura Diferença percentual do GDD obtido pelo AG sobre o ALVO. Nota-se que a vantagem máxima obtida pelo algoritmo genético foi de pouco mais de 9% para a distância enquanto que para o grau de distribuição foi de quase 18%.

279 247 Percentual AFDP AFDM AFDG AFEP AFEM AFEG Div Rigido Flexível Figura Diferença percentual da distância percorrida (AG sobre ALVO). Apesar das desvantagens do algoritmo ALVO com relação a essas variáveis é importante ressaltar que sua principal característica é o reduzido tempo de obtenção de uma boa solução. Para o arranjo físico apresentado por Montreuil et al. (1993, p.25) contendo 1296 máquinas (36x36) consumiram-se apenas 0.29 segundos para obter o leiaute Algoritmo Genético O algoritmo genético foi criado para gerar arranjos físicos maximamente distribuídos de modo a servirem de base de comparação para os resultados obtidos pelo algoritmo ALVO. O desempenho apresentado foi satisfatório, com exceção do tempo consumido pelo procedimento, tornando-o pouco viável para arranjos físicos grandes. O grande consumo de tempo está relacionado ao cálculo do grau de distribuição. Para o exemplo do item anterior, que possui 1296 máquinas, o cálculo do GDD consumiu 1 minuto e 59 segundos. Supondo uma população de apenas 30 elementos pode-se calcular que seria consumido em torno de 1 hora de processamento por geração. Tomando por base apenas 1000 gerações chega-se então a aproximadamente 1000 horas (quase 42 dias). Além disso, sabe-se que é necessário executar um algoritmo genético várias vezes até se obter a solução desejada. Esse fato torna a relação custo/benefício do algoritmo ALVO interessante pois obtém uma boa solução com um custo computacional desprezível.

280 Formação de células fractais simétricas A dificuldade na maximização da distribuição aumenta com as dimensões do arranjo físico. Enquanto que para arranjos físicos pequenos o valor mínimo para o grau de distribuição foi obtido com poucas execuções do algoritmo genético o mesmo não ocorreu com os arranjos físico grandes que necessitaram de dezenas de horas de processamento. A princípio a formação de células fractais com alguma forma de simetria só foi observada nos arranjos físicos pequenos, médios e, eventualmente, em algumas configurações grandes. Nesse momento duas hipóteses foram levantadas para explicar esse comportamento: A formação de células fractais simétricas não é conseqüência da maximização da distribuição de arranjos físico equilibrados e acaba por ocorrer ocasionalmente; A formação de células fractais simétricas sempre ocorre quando um arranjo físico equilibrado é maximamente distribuído e não ocorreu por deficiência no algoritmo genético. Para tentar verificar essas hipóteses foram realizadas algumas alterações no algoritmo genético desenvolvido inicialmente: a população máxima foi aumentada de 50 para 100 elementos e o número máximo de gerações passou de para Além disso foi acrescida uma opção para trabalhar especificamente com células fractais. Essa opção recebe um arranjo físico semente específico e informações sobre a dimensão das células (número de linhas e colunas para calcular o número de células fractais do arranjo físico). Durante o processamento do algoritmo genético as mutações ocorrem somente dentro de uma célula fractal, selecionada aleatoriamente, em cada elemento da população. A Figura 9.29 mostra três diferentes sementes fractais que podem ser fornecidas ao algoritmo genético para um arranjo físico 4x4 com 4 processos e 4 máquinas. Para a semente da esquerda as células possuem 2 linhas e 2 colunas. Para a semente do centro tem-se 4 linhas e 1 coluna e para a semente da direita 1 linha e 4 colunas.

281 Figura Três diferentes sementes fractais Somente após essas alterações no algoritmo genético foi possível maximizar os arranjos físicos maiores e observar que estes também formavam células fractais. O sucesso nestas operações deveu-se principalmente ao aumento da população e do número de gerações apesar de, em alguns casos, o algoritmo genético fractal obter melhores resultados. De uma maneira geral o algoritmo genético fractal aproxima-se mais rapidamente do valor mínimo do grau de distribuição, mas esse fato não impede que seja atingido um mínimo local. Sempre é necessário executar várias vezes o programa para tentar atingir o mínimo global. Na Figura 9.30 estão dois gráficos de evolução do grau de distribuição. A linha em azul refere-se ao algoritmo genético fractal e a linha vermelha ao algoritmo genético normal. Nesta comparação o melhor resultado foi obtido pelo algoritmo genético normal apesar do algoritmo genético fractal aproximarse do valor mais rapidamente no início do processamento Grau de distribuição Geração AG Fractal AG Normal Figura Comparação entre algoritmos genéticos

282 250 A Figura 9.31 mostra outra comparação entre os algoritmos genéticos e, neste caso, os dois atingiram o mesmo valor final. Novamente o algoritmo genético fractal mostra que pode evoluir mais rapidamente para o valor mínimo (o algoritmo trabalhou com gerações nos dois casos mas a figura traz apenas as gerações iniciais) Grau de distribuição Geração AG Fractal AG Normal Figura Comparação entre algoritmos genéticos As dificuldades de obtenção de uma solução ótima são oriundas do próprio processo de evolução. Como cita Simon (2000, p.125), a grande maioria das mutações é prejudicial aos indivíduos: Esse é o paradoxo da evolução. A mutações são exigidas para levar à evolução de um organismo, mas ainda assim quase todas as mutações são inconseqüentes ou prejudiciais Diferentes configurações para o mesmo grau de distribuição Durante a elaboração dos arranjos físicos maximamente distribuídos usando o algoritmo genético foi possível perceber um efeito importante: apesar de atingir um mesmo valor para o grau de distribuição há leiautes que são melhores que outros. A Figura 9.32 mostra duas diferentes configurações com o mesmo valor para o grau de distribuição (GDD= 3.25). Enquanto a

283 251 distribuição da esquerda está completamente espalhada a distribuição da direita possui dois departamentos no centro do leiaute com duas máquinas cada um Figura Arranjos físicos com GDD= 3.25 Esse efeito ocorre pois o cálculo do grau de distribuição leva em conta a distância entre as máquinas de um processo e as máquinas dos demais processos, ignorando a distância entre máquinas de um mesmo processo. Isso fica ainda mais evidente quando o algoritmo genético trabalha em um arranjo físico com apenas dois tipos de máquinas. Ao invés de atingir a forma tabuleiro de xadrez outras configurações com GDD= 1 são atingidas (Figura 9.33) Figura Arranjos físicos com GDD= Considerações finais Neste capítulo foram analisados os dados obtidos nas simulações. Todos os arranjos físicos exibiram comportamentos similares mostrando que a maximização da distribuição das máquinas é altamente vantajosa. Além disso observou-se um comportamento ainda não relatado na literatura: a formação espontânea de células fractais nos arranjos físicos maximamente distribuídos. Os resultados comprovam a afirmação de Montreuil et al. (1993, p.20) que declararam que o sucesso do arranjo físico distribuído depende fortemente

284 252 do sistema de planejamento e controle da produção, bem como de Askin, Ciarallo e Lundgren (1999, p.977) que afirmaram que os avanços na tecnologia da informação fariam possível ter um sistema de controle em tempo real para definir uma tarefa à melhor máquina. As modificações realizadas no algoritmo genético implementado inicialmente fizeram com que esta nova versão fosse denominada como algoritmo genético fractal. Sua implementação, juntamente com o aumento do número de elementos e de gerações, foram de grande importância para a obtenção das células fractais. Apenas os testes de hipótese relacionados ao tempo total foram apresentados (apêndice L). Os testes de hipótese para as médias das distâncias percorridas não foram apresentados devido à grande diferença dos valores (todas as diferenças são estatisticamente relevantes e a apresentação dos resultados não traria nenhuma contribuição). O capítulo seguinte apresenta as conclusões obtidas e as sugestões para futuros trabalhos.

285 COMENTÁRIOS E CONCLUSÕES 10.1 Considerações iniciais Este capítulo apresenta comentários sobre a pesquisa realizada juntamente com as conclusões que puderam ser obtidas a partir das simulações executadas. Também apresenta sugestões para futuros trabalhos Tempo total de execução A redução do tempo total de execução de um conjunto de peças é o objetivo das técnicas de programação (scheduling) e, devido a isso, as melhorias obtidas foram pequenas e independentes da dimensão do arranjo físico. De uma maneira geral o roteamento flexível obteve uma redução média do makespan de 5.3% para os arranjos físicos desequilibrados e de 3.34% para os arranjos físicos equilibrados. A melhoria conseguida pelo roteamento flexível se deve ao fato do procedimento analisar todas as possíveis seqüências de cada peça permitindo encontrar alocações que aproveitem melhor os tempos livres entre as operações já alocadas Distância total percorrida modo de roteamento O roteamento flexível mostrou-se vantajoso conseguindo, em média, reduzir a distância total percorrida em quase 12% com pequenas variações que dependem do tamanho do arranjo físico e de sua configuração (equilibrado e desequilibrado).

286 Distância total percorrida tipo de arranjo físico Com relação aos arranjos físicos desequilibrados foi possível determinar um valor médio de melhoria em relação ao arranjo físico funcional: o arranjo físico parcialmente distribuído reduz em 9.45% enquanto o aleatoriamente distribuído obtém 17.16%. Os leiautes maximamente distribuídos pelo algoritmo ALVO obtiveram média de 26.5% e os obtidos pelo algoritmo genético 30%. Os arranjos físicos equilibrados apresentaram um comportamento diferente, impedindo o cálculo de um valor médio. A Tabela 10.1 mostra os valores mínimo e máximo que cada tipo de arranjo físico obteve de melhoria em relação ao arranjo físico funcional, bem como o caso onde o valor foi registrado. Tabela Valores de melhoria para arranjos físicos equilibrados Tipo de arranjo físico Mínimo Máximo Parcialmente 11.58% (AFEP - RF) 17.45% (AFEG RR) Aleatoriamente 18.34% (AFEP RR) 34.19% (AFEG RR) ALVO 23.68% (AFEP RF) 41.06% (AFEG RR) AG 28.22% (AFEG RR) 44.42% (AFEG RR) Mas, independente do arranjo físico ser classificado como equilibrado ou desequilibrado ou mesmo com relação à sua dimensão, em termos de desempenho os arranjos físicos têm a seguinte ordem (do pior para o melhor): funcional, parcialmente distribuído, aleatoriamente distribuído, maximamente distribuído (ALVO) e maximamente distribuído (AG). Todos os dados mostram que o arranjo físico maximamente distribuído tem um desempenho sensivelmente superior ao demais mostrando que a desagregação completa dos departamentos é altamente vantajosa e independente do modo de roteamento, da dimensão e da configuração do arranjo físico. Essa constatação vai de encontro 28 com as conclusões apresentadas por Benjaafar e Sheikhzadeh (2000, p. 320) e Lahmar e 28 Durante minha apresentação deixei claro que os meus resultados são contrários aos dos outros pesquisadores. Na fase de argüição um dos membros da banca examinadora criticou esta frase pois entendeu que, da forma como está escrito, os resultados seriam concordantes. O examinador se enganou devido a essa pegadinha gramatical: de encontro a traz idéia de oposição, colisão, contrariedade enquanto que ao encontro de traz idéia de concordância.

287 255 Benjaafar (2001, 2002a, 2002b e 2005) que indicam que a desagregação completa não se justifica pois a maior parte dos benefícios são obtidos quando os departamentos são divididos em dois. Essa disparidade de resultados deve-se à forma de modelagem do problema e ao próprio objetivo a ser atingido. Nesses trabalhos citados o objetivo foi projetar um arranjo físico distribuído que atendesse a vários períodos permitindo, inclusive, uma reconfiguração do arranjo físico ao final de cada período. Além disso, a modelagem baseou-se em probabilidades para definir possíveis cenários e níveis de demanda. Os autores também assumiram que as informações de demanda de cada período estavam disponíveis no estágio inicial do projeto. Porém, segundo Baykasoglu (2003, p.2598), a obtenção de informações futuras e o uso de probabilidades em um ambiente altamente volátil ainda não se mostram como abordagens adequadas Algoritmo ALVO x Algoritmo Genético O algoritmo ALVO mostrou-se altamente vantajoso para trabalhar com grandes arranjos físicos, obtendo rapidamente uma boa distribuição. O uso do algoritmo genético fica restrito a arranjos físicos pequenos e, mesmo assim, quando a disponibilidade de processamento for relativamente grande Formação espontânea de células A formação espontânea de células pela maximização da distribuição foi uma ocorrência inesperada pois não há nenhuma referência a esse fato na literatura. Provavelmente essa característica poderá ser explorada para aperfeiçoar os procedimentos de maximização existentes ou gerar novas técnicas, seja para configurações equilibradas ou não. Como visto anteriormente algumas das configurações apresentaram múltiplos modos de formações das células. Algumas configurações poderiam ser imaginadas fora do plano. Por exemplo, a Figura 10.1 apresenta mais duas configuração para o arranjo físico mostrado pela Figura 8.27 (que já apresentou outras sete configurações). A forma de divisão das células do arranjo físico da

288 256 esquerda forma um cilindro horizontal se a aresta superior for unida à aresta inferior. De forma similar, à direita, forma-se um cilindro vertical quando as arestas são sobrepostas Figura processos com 12 máquinas (GDD= ) 10.7 Sugestões para desenvolvimentos futuros Durante o desenvolvimento do trabalho algumas possibilidades se apresentaram e decisões foram tomadas de modo a manter o foco nos objetivos traçados. Principalmente próximo à conclusão da pesquisa algumas dessas possibilidades mostram-se como opções interessantes a serem estudadas: O algoritmo apresentado por Gondran, Minoux e Vajda (1984, p.55) para determinação de níveis em grafos sem laços, denominado Algoritmo 8 e apresentado em detalhes no Apêndice D, é o responsável pela determinação das seqüências possíveis na estrutura de precedência. Porém, como discutido no item 4.3, dependendo da estrutura, o algoritmo não calcula todas as seqüências possíveis. A alteração do algoritmo ou desenvolvimento de um outro que possa determinar realmente todas as seqüências é uma direção de pesquisa. Melhorar o desempenho computacional do cálculo do grau de distribuição. O código executável gerado pela linguagem C++ é reconhecidamente mais rápido do que o código executável gerado pelo Visual Basic (que foi utilizado na implementação dos algoritmos

289 257 desta pesquisa). Uma primeira possibilidade é a criação de uma DLL (Dynamic Link Library ou Biblioteca de Ligação Dinâmica) em C++ que realize o cálculo e retorne o resultado ao Visual Basic, porém, um desempenho superior seria obtido se todo o programa fosse reescrito em C++. Isto permite reduzir consideravelmente o tempo de execução do algoritmo genético. O item mostrou que a forma de cálculo do GDD não leva em consideração o distanciamento de máquinas de mesmo tipo, permitindo que um arranjo físico não tão espalhado tenha o mesmo valor do grau de distribuição de outro completamente espalhado. A modificação do cálculo para levar em consideração esse fato permitirá que o GDD represente melhor os leiautes e, dessa forma, o algoritmo genético obterá melhores resultados. Criar uma nova forma de representação para os elementos de modo que o algoritmo genético possa ter a operação de cruzamento. Implementar alterações no algoritmo genético para que possa maximizar a distribuição de arranjos físicos levando em consideração células com formas previamente definidas. Apenas células retangulares e quadradas foram implementadas. Uma das dificuldades enfrentadas pelo algoritmo genético é deixar um mínimo local. Quando se atinge um determinado valor que se aproxima do ótimo global torna-se muito difícil escapar dele pois qualquer pequena alteração eleva o GDD. Na maioria das vezes é necessária uma mudança muito grande no arranjo físico para obter um GDD pouco menor. Mudanças radicais de sucesso ocorrem eventualmente pela ação das mutações. Essa característica impede que o resultado obtido pela execução do AG seja a semente de uma nova execução. Uma direção de pesquisa que pode auxiliar nesse ponto é permitir que várias sementes sejam fornecidas ao programa de modo a poder iniciar o processamento com uma boa diversidade genética. No algoritmo genético, após certo número de gerações, observa-se que os elementos que passam automaticamente para a geração

290 258 seguinte (elitismo) acabam tendo o mesmo valor do GDD e, possivelmente, tendo exatamente a mesma configuração, não contribuindo para a diversidade genética. A inclusão de uma rotina que compare os elementos sujeitos à regra de elitismo e evite duplicatas pode auxiliar na melhoria do desempenho do algoritmo genético. Para o roteamento das tarefas esta pesquisa considerou apenas a ordem de chegada das mesmas, de modo a não se envolver com a atividade de programação (scheduling). Podem-se pesquisar diferentes regras de prioridade das peças, ordenando-as segundo o número de operações ou a duração da soma do tempo das operações, por exemplo. Uma alteração que pode aproximar ainda mais a simulação da realidade é, durante a geração do conjunto de peças, sortear uma quantidade entre um mínimo e um máximo, bem como o tempo de preparação para cada operação. Assim, considerando que todas as peças iguais seriam roteadas em conjunto, seria incluído o tempo de preparação apenas nas operações da primeira peça de cada tipo em cada máquina. A formação espontânea de células que foi observada pode levar a novas técnicas de maximização. A proximidade entre os arranjos físicos maximamente distribuído e fractal também pode levar a novas frentes de pesquisa. É necessário implementar melhorias no algoritmo ALVO para melhorar seu desempenho quando os arranjos físicos são equilibrados. É difícil determinar qual a duração apropriada de uma rodada de simulação e o método mais simples consiste na realização de uma longa simulação que assegure que as condições iniciais de instabilidade não afetem os resultados. Sendo assim é interessante repetir os experimentos com grupos de peças maiores (1000 peças, por exemplo). Porém, para isso, é necessário contar com maior poder de processamento e garantias que eventuais quedas de

291 259 energia não interrompam o processamento que, em alguns casos poderão consumir algumas dezenas de horas Considerações finais Todo projeto começa com o levantamento das necessidades e com a analise das condições existentes. No caso do projeto de arranjos físicos analisam-se os processos necessários, a periodicidade dos pedidos, o tamanho dos lotes, a similaridade das peças, os tempos de preparação, os tempos de processamento etc. É exatamente nesse primeiro passo que um ambiente volátil apresenta sua influência: não há dados que representem uma tendência que pode ser seguida. Isso mostra que qualquer esforço no sentido de projetar um arranjo físico que se adapte às condições observadas por certo período pode ser desperdiçado, pois é altamente provável que o resultado mostrar-se-á inadequado posteriormente. Esses esforços devem ser aplicados no aproveitamento das características do arranjo físico maximamente distribuído. Deve ficar claro que não basta simplesmente adotar essa distribuição de máquinas no chão de fábrica. Para que um empreendimento possa operar satisfatoriamente, quando imerso no ambiente turbulento, outros cuidados deverão ser tomados: uso de equipamentos com flexibilidade de operações, adoção de dispositivos de sujeição flexíveis, mão de obra qualificada, sistemas de programação, roteamento e controle adequados etc. Na literatura ainda não há relatos da aplicação prática dos arranjos físicos distribuídos, em especial o maximamente distribuído, mesmo mostrando-se como uma opção altamente viável para atuar no tipo de ambiente para o qual foi proposto. Quem será o primeiro a adotá-lo e experimentá-lo?

292 260 REFERÊNCIAS ADIL, G. K.; RAJAMANI, D.; STRONG, D. (1996). Cell formation considering alternate routings. International Journal of Production Research, v.34, n.5, p ALENCAR, H.; SANTOS, W. (2003). Geometria diferencial das curvas planas. Pós-Graduação do Instituto de Matemática da UFRJ. Disponível em: < Acessado em: 08 Jun ASKIN, R. G.; CIARALLO, F. W.; LUNDGREN, N. H. (1999). An empirical evaluation of holonic and fractal layouts. International Journal of Production Research, v. 37, n. 5, p BAKER, K. R. (1974). Introduction to sequencing and scheduling. John Wileys & Sons, Inc. New York. BARRON, D. W. (1970). Recursive techniques in programming. Fourth impression. American Elsevier Publishing Company, Inc., New York. BAYKASOGLU, A. (2003). Capability-based distributed layout approach for virtual manufacturing cells. International Journal of production Research, v. 41, n. 11, p

293 261 BAYKASOGLU, A; GINDY, N. N. Z. (2001). A simulated annealing algorithm for dynamic layout problem. Computers & Operations Research, v.28, p (2004). Erratum to A Simulated annealing algorithm for dynamic layout problem (2001) [Computers & Operations Research, v.28, p ]. Computers & Operations Research, v.31, p BENJAAFAR, S. (1994). Models for performance evaluation of flexibility in manufacturing systems. International Journal of Production Research, v.32, n.6, p BENJAAFAR, S. (1995). Design of flexible layouts for manufacturing systems. IEEE - Engineering Management Conference, p BENJAAFAR, S.; HERAGU, S. S.; IRANI, S. A. (2002). Next generation factory layouts: research challenges and recent progress. Interfaces, v. 32, n. 6, p , Nov-Dec. BENJAAFAR, S.; RAMAKRISHNAN, R. (1996). Modeling, measurement and evaluation of sequencing flexibility in manufacturing systems. International Journal of Production Research, v.34, n.5, p BENJAAFAR, S.; SHEIKHZADEH, M. (1996). Design of flexible layouts for manufacturing systems. Proceedings of the IEEE International Conference on Robotics and Automation, Minneapolis, Minnesota, Apr. BENJAAFAR, S., SHEIKHZADEH, M. (2000). Design of flexible plant layouts. IEE Transactions, n.32, p BLACK, J. T. (1991). O projeto da fábrica com futuro. Ed. Artes Médicas Sul Ltda., Porto Alegre, RS.

294 262 BLAZEWICZ, J.; ECKER, K. H.; PESCH, E.; SCHMIDT, G.; WEGLARZ, J. (1996). Scheduling computer and manufacturing processes. Springer-Verlag Berlin Heidelberg New York. BORENSTEIN, D. (2000). A direct acyclic graph representation of routing manufacturing flexibility. European Journal of Operational Research, n.127, p BROWNE, J.; DUBOIS, D.; RATHMILL, K.; SETHI, S.; STECKE, K. E. (1984). Classification of flexible manufacturing systems. The FMS Magazine, p , Apr. BUSSMANN, S.; MCFARLANE, D. C. (1999). Rationales for holonic manufacturing control. Second International Workshop on Intelligent Manufacturing Systems, Leuven, Belgium, Sep BUZZO, W. R.; MOCCELLIN, J. V. (2000). Programação da produção em sistemas flow shop utilizando um método heurístico híbrido algoritmo genéticosimulated annealing. Revista Gestão & Produção, v.7, n.3, p , dez. CERVO, A. L.; BERVIAN, P. A. (1983). Metodologia científica. 3. ed., McGraw- Hill do Brasil, São Paulo. CHANDRA, P.; TOMBAK, M. M. (1992). Models for the evaluation of routing and machine flexibility. European Journal of Operational Research, v.60, p CHEN, I. J.; CHUNG, C. H. (1996). An examination of flexibility measurement and performance of flexible manufacturing systems. International Journal of Production Research, v.34, n.2, p

295 263 CHENG, F.; CHANG, C.; WU, S. (2004). Development of holonic manufacturing execution systems. Journal of Intelligent Manufacturing, n. 15, p CHIZZOTTI, A. (1991). Pesquisa em ciências humanas e sociais. Cortez Editora (Biblioteca da educação. Série 1. Escola, v. 16). São Paulo. COUTO, J. F. (1961). Manual de desenho de letras. Grupo Ediouro Grupo Coquetel, Ed. Tecnoprint S/A, Distribuidora Record de Serviços de Imprensa S/A, Rio de Janeiro. FERREIRA, A. B. H. (1988). Dicionário Aurélio básico da Língua Portuguesa. Folha de São Paulo, Ed. Nova Fronteira S/A, Rio de Janeiro, RJ. FISCHER, D. (2000). Transformação de um sistema de manufatura linear em celular segundo os aspectos micro e macro da ergonomia. Dissertação (Mestrado), programa de pós-graduação em Engenharia de Produção, Escola de Engenharia, Universidade Federal do Rio Grande do Sul, Porto Alegre. FOÀ, N. (1978). Henry Ford em 100 Eventos que abalaram o mundo. V. II, Raul de Polillo (tradutor). Edições Melhoramentos, São Paulo. FRAMINAN, J. M.; LEISTEN, R.; RAJENDRAN, C. (2003). Different initial sequences for the heuristic of Nawaz, Enscore and Ham to minimize makespan, idletime or flowtime in the static permutation flowshop sequencing problem. International Journal of Production Research, v.41, n.1, p FRANCIS, R. L.; WHITE, J. A. (1974). Facility layout and location an analytical approach. Prentice-Hall International Series in Industrial and Systems Engineering, Englewood Cliffs, New Jersey. FRENCH, S. (1982). Sequencing and scheduling: an introduction to the mathematics of the job-shop. John Wiley & Sons, New York.

296 264 GEWANDSZNAJDER, F. (1989). O que é o método científico. Livraria Pioneira Editora, São Paulo. GIL, A. C. (1987). Como elaborar projetos de pesquisa. Editora Atlas S.A. São Paulo. GOLDBERG, D. E. (1989). Genetic algorithms in search, optimization, and machine learning. Addison-Wesley Publishing Company, Inc, New York. GONDRAN, M.; MINOUX, M.; VAJDA, S. (1984). Graphs and algorithms. John Wiley & Sons Ltd., New York. GOMES, M. C.; BARBOSA-PÓVOA, A. P.; NOVAIS, A. Q. (2005). Optimal scheduling for flexible job shop operation. International Journal of Production Research, v.43, n.11, p , Jun. GRAVEL, M.; NSAKANDA, A. L.; PRICE, W. (1998). Efficient solutions to the cell-formation problem with multiple routings via a double-loop genetic algorithm. European Journal of Operational Research, n.109, p GROOVER, M. P.; ZIMMERS, E. W. JR. (1984). CAD/CAM: computer-aided design and manufacturing. Prentice-Hall, Inc., Englewood Cliffs, New Jersey. GROOVER, M. P. (1987). Automation, production systems, and computerintegrated manufacturing. Ed. Prentice-Hall do Brasil Ltda., Rio de Janeiro. HAM, I.; HITOMI, K.; YOSHIDA, T. (1985). Group technology Applications to production management. International Series in Management Science/Operations Research, The Pennsylvania State University, U.S.A. HANCOCK, T. M. (1989). Effects of alternate routings under variable lot-size conditions. International Journal of Production Research, v.27, n.2, p

297 265 HERGERT, D. (1989). Introdução ao Turbo Basic. Tradução de Ana Beatriz G. Rodrigues Silva. Editora Campus Ltda, Rio de Janeiro - RJ. HUBERMAN, L. (1985). História da riqueza do homem. Zahar Editores S.A., 20ª ed., Rio de Janeiro, Monthly Review Press, New York, EUA. HUTCHINSON, G. K.; PFLUGHOEFT, K. A. (1994). Flexible process plans: their value in flexible automation systems. International Journal of Production Research, v.32, n.3, p IRANI, S. A.; CAVALIER, T. M.; COHEN, P. H. (1993). Virtual manufacturing cells: exploiting layout design and intercell flows for the machine sharing problem. International Journal of Production Research, v. 31, n. 4, p IRANI, S. A.; HUANG, H. (2000). Custom design of facility layouts for multiproduct facilities using layout modules. IEEE Transactions on Robotics and Automation, v. 16, n. 3, June. IRANI, S. A.; SUBRAMANIAN, S.; ALLAN, Y. S. (1999). Introduction to cellular manufacturing systems. Handbook of Cellular Manufacturing Systems, Shahrukh A. Irani (Ed.), John Wiley & Sons, Inc. KNUTH, D. E. (1972). The art of computer programming. Addisom-Wesley Publishing Company, v.1 Fundamental Algorithms. KRIZ, D. (1995). Holonic Manufacturing Systems: Case Study of an IMS Consortium. Georgetown University. Disponível em: < Acesso em: 31 mar KO, K. C.; EGBELU, P. J. (2003). Virtual cell formation. International Journal of Production Research, v. 41, n. 11, p

298 266 KOO, P. H.; TANCHOCO, J. M. A. (1999). Real-time operation and tool selection in single stage multimachine systems. International Journal of Production Research, v.37, n.5, p KOCHIKAR, V. P.; NARENDRAN, T. T. (1992). A framework for assessing the flexibility of manufacturing systems. International Journal of Production Research, v.30, n.12, p LACERDA, E. G. M.; CARVALHO, A. C. P. L. F. (1999). Introdução aos algoritmos genéticos. Em Sistemas Inteligentes Aplicações a recursos Hídricos e Ciências Ambientais, Coleção ABRH (Associação Brasileira de Recursos Hídricos) de Recursos Hídricos, v.7, Editora da Universidade, Universidade Federal do Rio Grande do Sul. LAHMAR, M.; BENJAAFAR, S. (2001). Design of dynamic distributed layouts. INFORMS Fall Meeting, Session TC17 (Advances in Factory Layouts), Miami, Florida, Nov. LAHMAR, M.; BENJAAFAR, S. (2002a). Design of dynamic distributed layouts. Proceedings of the 11 th Annual Industrial Engineering Research Conference (IERC), May 19-21, Orlando, Fl. LAHMAR, M.; BENJAAFAR, S. (2002b). Design of dynamic distributed layouts. Working Paper, Department of Mechanical Engineering, University of Minnesota, Minneapolis, MN. Disponível em: < Acesso em: 06 abr LAHMAR, M., BENJAAFAR, S. (2005). Design of distributed layouts. IEE Transactions, v.37, p LAKATOS, E. M.; MARCONI, M. A. (1991). Fundamentos de metodologia científica. 3. ed., Editora Atlas S.A., São Paulo.

299 267 LANDMANN, R. (2005). Um modelo heurístico para a programação da produção em fundições com utilização da lógica fuzzy. Tese (Doutorado), programa de pós-graduação em Engenharia de Produção da Universidade Federal de Santa Catarina. Florianópolis, Jun. LEE, Y. H.; JEONG, C. S.; MOON, C. (2002). Advanced planning and scheduling with outsourcing in manufacturing supply chain. Computers & Industrial Engineering, n. 43, p LIU, Y.; SNOEYINK, J. (2003). Computing the Delaunay triangulation for PDB data. ITR PI Meeting and NFS Site Visit, Duke University, Nov Disponível em: < ppt>. Acesso em: 14 Jun LUCERO, A. G. R. (2001). Um método de otimização para a programação da manufatura em pequenos lotes. Dissertação (Mestrado), programa de pósgraduação em Engenharia Mecânica, Universidade Federal de Santa Catarina, Florianópolis, fev. MARTINS, C. B. (2004). Apostila da disciplina análise de algoritmos. Departamento de Informática da Faculdade de Filosofia, Ciências e Letras de Mandaguari (Fundação FAFIMAN), Mandaguari, PR. MARTINS, V. C.; COELHO, L. S.; CÂNDIDO, M. A. B; PACHECO, R. F. (2003). Otimização de layouts industriais com base em busca tabu. Revista Gestão & Produção, v. 10, n. 1, p , abr. MCFARLANE, D. (1995). Holonic manufacturing systems in continuous processing: concepts and control requirements. Proceedings of Advanced Summer Institute (ASI) on Life Cycle Approaches to Production Systems, Lisbon, Portugal, Jun.

300 268 MCLEAN, C. R.; BLOOM, H. M.; HOPP, T. H. (1982). The virtual manufacturing cell. Proceedings of the 4 th IFAC/IFIP Conference on Information Control Problems in Manufacturing Technology, Gaithersburg, MD, p , Oct.. MELLO, L. F. O. (2002). Curvas planares, da intuição à perplexidade. Semana da Matemática da UNIFEI (Universidade Federal de Itajubá). Disponível em: < Acesso em: 08 Jun MONTREUIL, B.; LEFRANÇOIS, P.; MARCOTTE, S.; VENKATADRI, U. (1993). Layout for chaos Holographic layout of manufacturing systems operating in highly volatile environments. Document de Travail 93-53, Groupe de Recherche en Gestion de La Logistique, Faculté des Sciences de L Administration, Université Laval, Québec, Canada. MONTREUIL, B.; VENKATADRI, U. (1991). Scattered layout of intelligent job shops operating in a volatile environment. Proceedings of the International Conference on Computer Integrated Manufacturing, ICCIM, Singapore. 29 MONTREUIL, B.; VENKATADRI, U.; LEFRANÇOIS, P. (1991). Holographic layout of manufacturing systems. Document de travail (Technical Report) 91-76, Faculty of Management, Université Laval, Montreal, Québec, Canada, Oct. MONTREUIL, B.; VENKATADRI, U.; RARDIN, R. (1999). Fractal layout organization for job shop environments. International Journal of Production Research, v.37, n.3, p NAGANO, M. S.; MOCCELLIN, J. V.; LORENA, L. A. N. (2004). Programação da produção flow shop permutacional com minimização do tempo médio de 29 Na literatura este mesmo artigo também é referenciado como: MONTREUIL, B.; VENKATADRI, U.; LEFANÇOIS, P. (1991). Holographic layout of manufacturing systems. 19th IIE Systems Integration Conference, Orlando, Florida, USA, Oct., p.1-13.

301 269 fluxo. XXXVI SBPO (Simpósio Brasileiro de Pesquisa Operacional). São João Del Rei, MG, 23-26, nov. NAÚS, R. A. S.; PINHO, A. F. (2002). Seqüenciamento da produção em sistemas de apenas uma máquina. Trabalho de formatura. Instituto de Engenharia de produção e Gestão da Universidade Federal de Itajubá. NAWAS, M.; ENSCORE, E.; HAM, I. (1983). A heuristic algorithm for the m- machine, n-job flow shop sequencing problem. OMEGA The International Journal of Management Systems, v.11, p NOMDEN, G. SLOMP, J. (2003). The operation of virtual manufacturing cells in various physical layout situations. Group Technology/Cellular Manufacturing World Symposium, Columbus, Ohio, July OLIVERIO, J. L. (1985). Projeto de fábrica. Produtos, processos e instalações industriais. Apostila, IBLC - Instituto Brasileiro do Livro Científico Ltda., São Paulo. OZCELIK, F.; ISLIER, A. A. (2003). Novel approach to multi-channel manufacturing system design. International Journal of Production Research, v. 41, n. 12, p PINEDO, M. (1995). Scheduling: theory, algorithms, and systems. Prentice-Hall, Inc, Englewood Cliffs, New Jersey. PORTO, A. J. V.; SOUZA, M. C. F.; RAVELLI, C. A.; BATOCCHIO, A. (2002). Manufatura virtual: conceituação e desafios. Revista Gestão & Produção, v. 9, n. 3, p , dez. QUARESMA, I. M. M.; OLIVEIRA, J. M. D. M.; FARIA, P. C. R. P. (2000). O mundo dos fractais. Disponível em:

302 270 < Acesso em: 04 abr RHEAULT, M.; DROLET, J. R.; ABDULNOUR, G. (1995). Physically reconfigurable virtual cells: a dynamic model for a highly dynamic environment. Computers Industrial Engineering, v. 29, n. 1-4, p ROHDE, L. R. (2002). Representação na forma normal disjuntiva para flexibilidade de seqüência na manufatura. Dissertação (Mestrado) Programa de Pós-Graduação em Administração da Universidade Federal do Rio Grande do Sul, Porto Alegre. ROHDE, L. R.; BORENSTEIN, D. (2004). Representação em espaço de estados para a flexibilidade de roteamento. Revista Gestão & Produção, v.11, n.2, p RIBEIRO, J. F. F.; MEGUELATI, S. (2002). Organização de um sistema de produção em células de fabricação. Revista Gestão & Produção, v. 9, n. 1, p , abr. RODRIGUES, G. S.; BRANCO, R. M.; ROSA, L. C. (2003). Tecnologia de grupo: algoritmos genéticos na solução de problemas de agrupamentos celulares de máquinas e peças. XXIII Encontro Nacional de Engenharia de Produção (ENEGEP), Ouro Preto-MG, out SAAD, S. M.; LASSILA, A. M. (2004). Layout design in fractal organizations. International Journal of Production Research, v. 42, n. 17, p SAGAN, H. (1991). Space-filling curves. Universitext, Springer-Verlag, New York.

303 271 SALOMON, D. V. (1973). Como fazer uma monografia. 3. ed., Interlivros, Belo Horizonte, MG. SALVADOR, O. (2005). Introdução a algoritmos genéticos. Curso de Ciência da Computação da Universidade de Pelotas, Pelotas-RS. Disponível em: < Acesso em: 04 jul SARKER, B. R.; LI, Z. (2001). Job routing and operations scheduling: a network-based virtual cell formation approach. Journal of the Operational Research Society, n. 52, p SETHI, A. K.; SETHI, S. P. (1990). Flexibility in manufacturing: a survey. The International Journal of Flexible Manufacturing Systems, v.2, p SILVA, P. P. (2005). Métodos heurísticos construtivos para o problema de programação de operações flow shop híbrido com estágio de produção dominante. Dissertação (Mestrado), programa de pós-graduação em Engenharia de Produção da Escola de Engenharia de São Carlos (EESC). SIMON, A. (2000). A verdadeira ciência por trás do Arquivo X. Tradução de Judit Gizella Pely. Editora Unicórnio Azul. São Paulo. SLACK, N.; CHAMBERS, S.; HARLAND, C.; HARRISON, A.; JOHNSTON, R. (1996). Administração da produção, Ed. Atlas S.A., São Paulo. TAVARES, J. A. R. (2000). Geração de configurações de sistemas industriais com o recurso à tecnologia das restrições e computação evolucionária. Tese (Doutorado), Universidade do Minho, Portugal, Dez.

304 272 TOMPKINS, J. A.; WHITE, J. A.; BOZER, Y. A.; FRAZELLE, E. H.; TANCHOCO, J. M. A.; TREVINO, J. (1996). Facilities planning. 2. ed., John While & Sons, Inc. SIQUEIRA, L.; TORIHARA, R. T.; PINHO, A. F. (2002). Otimização de seqüenciamento de tarefas. Trabalho de formatura, Instituto de Engenharia de Produção e Gestão da Universidade Federal de Itajubá. TORRES, I. (2001). Integração de Ferramentas Computacionais Aplicadas ao Projeto e Desenvolvimento de Arranjo Físico de Instalações Industriais. Dissertação (Mestrado), programa de pós-graduação em Engenharia de Produção, Universidade Federal de São Carlos, dez. UFMG (2004). Curso de linguagem C. Apostila do curso de ensino a distância mantido pelo Núcleo de Ensino à Distância da Escola de Engenharia da Universidade Federal de Minas Gerais. Disponível em: VALCKENARES, P.; BRUSSEL, H. V.; WYNS, J.; BONGAERTS, L.; PEETERS, P. (1998). Designing holonic manufacturing systems. Robotic and Computer-Integrated Manufacturing, n. 14, Issues 5-6, p VENKATADRI, U.; RARDIN, R. L.; MONTREUIL, B. (1997). A design methodology for fractal layout organization. IEE Transactions, n. 29, p WANG, L. (2001). Integrated design-to-control approach for holonic manufacturing systems. Robotics and Computer Integrated Manufacturing, n. 17, Issues 1-2, p Na literatura este mesmo artigo também é referenciado como: VENKATADRI, U.; RARDIN, R. L/; MONTREUIL, B. (1995). A design methodology for the fractal layout organization. Technical Report, Department of Industrial Engineering, Purdue University.

305 273 WEIGEL, R. A. (2005). Desenhando placas de circuito impresso com Eagle Parte 4. Revista Mecatrônica Fácil, n. 21, p , mar./abr. WENG, M. X. (2000). Scheduling flow-shops with limited buffer spaces. Proceedings of the 2000 Winter Simulation Conference, J. A. Joines, R. R. Barton, K. Kang, and P. A. Fishwick, eds. WOO, H. S.; YIM, D. S. (1998). A heuristic algorithm for mean flowtime objective in flowshop scheduling. Computers & Operations Research, v.25, n.3, p WULLINK, G.; GIEBELS, M. M. T.; KALS, H. J. J. (2002). A system architecture for holonic manufacturing planning and control (EtoPlan). Robotics and Computer Integrated Manufacturing, n. 18, Issues 3-4, p YANG, S.; WANG, D. (2001). A new adaptive neural network and heuristics hybrid approach for job-shop scheduling. Computers & Operations Research, n.28, p ZATTAR, I. C. (2004). Análise da aplicação dos sistemas baseados no conceito de capacidade finita nos diversos níveis da administração da manufatura através de estudos de caso. Dissertação (Mestrado), programa de pósgraduação em Engenharia Mecânica, Universidade Federal de Santa Catarina, Florianópolis, ago. ZHAO, C.; WU, Z. (2000). A genetic algorithm for manufacturing cell formation with multiple routes and multiple objectives. International Journal of Production Research, v. 38, n. 2, p

306 274 BIBLIOGRAFIA CONSULTADA ANGSTER, S.; JAYARAM, S. (1996). VEDAM: virtual environments for design and manufacturing. Symposium on Virtual Reality in Manufacturing Research and Education, Chicago, Oct 7-8. BANERJEE, A.; BANERJEE, P.; MEHROTRA, S. (1996). An enabling environment for inputting qualitative information in manufacturing systems layout design. Proceedings of Symposium on Virtual Reality in Manufacturing Research and Education, University of Illinois at Chicago, Oct. 7-8, p BORENSTEIN, D. (1998). Combinando simulação e sistemas baseados em conhecimento para o projeto de sistemas avançados de manufatura. Gestão & Produção, v.5, n.2, p , Ago. CHAN, D. S. K. (2003). Simulation modeling in virtual manufacturing analysis for integrated product and process design. Assembly Automation, v.23, n.1, p CO, H. C.; ARAAR, A. (1998). Configuring cellular manufacturing systems. International Journal of Production Research, v.26, n.9, p COLIN, E. C.; QUINTINO, R. C.; SHIMIZU, T. (1997). Manufatura ágil: um novo conceito na produção industrial. 5ª Reunião Anual da Sociedade Brasileira de Pesquisadores Nikkeis.

307 275 DAITA, S. T. S.; IRANI, S. A.; KOTAMRAJU, S. (1999). Algorithms for production flow analysis. International Journal of Production Research, v.37, n.11, p DUFFY, V. G.; WU, F. F.; NG, P. P. W. (2002). Development of an internet virtual layout system for improving workplace safety. Computers in Industry, n.50, p DURAN, O.; BATOCCHIO, A. (2001). Na direção da manufatura enxuta através da J4000 e o LEM. Proceedings do IV Congreso Chileno de Investigación Operativa, Talca, Chile, Out EREL, E.; GHOSH, J. B.; SIMON, J. T. (2003). New heuristic for the dynamic layout problem. Journal of the Operational Research Society, n.54, p FERREIRA, J. C. E.; ANDRIOLLI, G. F. (2001). Programas para a Internet visando a determinação do tamanho de lote ótimo e o balanceamento de linha. ENEGEP, 17 a 19 de Out, Salvador-BA 31. FERREIRA, J. C. E.; ANDRIOLLI, G. F. (2001). Uma metodologia para a fabricação de peças à distância. COBEM, Uberlândia, Nov. FERREIRA, J. C. E.; ANDRIOLLI, G. F. (2002). Planos de processos contendo alternativas: uma implementação voltada para a internet. ENEGEP, Curituba- PR, Out. 31 Esse mesmo artigo é reverenciado na literatura como: FERREIRA, J. C. E.; ANDRIOLLI, G. F. (2003). Programas para a Internet visando a determinação do tamanho de lote ótimo e o balanceamento de linha. Revista O Mundo da Usinagem, Sandivik Coromant do Brasil, 2ª Ed, p

308 276 FILHO, G. R. (2000). Melhoramentos no algoritmo genético construtivo e novas aplicações em problemas de agrupamento. Tese (Doutorado), programa de pós-graduação em Computação Avançada do Instituto Nacional de Pesquisas Espaciais. São José dos Campos, Dez. GINFY, N. N. Z.; RATCHEV, T. M.; CASE, K. (1996). Component grouping for cell formation using resource elements. International Journal of Production Research, v.34, n.3, p GOPALAKRISHNAN, B.; WENG, L.; GUPTA, D. P. (2003). Facilities design using a split departmental layout configuration. Facilities, v.21, n.3/4, p GOPALAKRISHNAN, B.; TURUVEKERE, R.; GUPTA, D. P. (2004). Computer integrated facilities planning and design. Facilities, v.22, n.7/8, p HALEVI, G. (1993). The magic matrix as a smart scheduler. Computers in Industry, n.21, p HALEVI, G. (1997). The magic matrix as a smart machine evaluator: machine performance measurement, level of competitiveness. Production Planning & Control, v.8, n.4, p IQBAL, M.; HASHMI, M. S. J. (2001). Design and analysis of a virtual factory layout. Journal of Materials Processing Technology, n.118, p JOINES, J. A.; KING, R. E.; CULBRETH C. T. (2000). Moving beyond the parts incidence matrix: alternative routings and operations for the cell formation problem. Engineering Valuation and Cost Analysis, v.2, p KANNAN, V. R.; GHOSH, S. (1996). Cellular manufacturing using virtual cells. International Journal of Operations & Production Management, v.16, n.5, p

309 277 KORVES, B.; LOFTUS, M. (1999). The application of immersive virtual reality for layout planning of manufacturing cells. Journal of Engineering Manufacture, Proceedings of the Institution of Mechanical Engineers Part B. v. 213, p KORVES, B.; LOFTUS, M. (2000). Designing an immersive virtual reality interface for layout planning, Journal of Materials Processing Technology, v.107, p LIMA, P. C.; LOBO, C. E. (2002). Novos requisitos para a organização e projeto das células de usinagem. Revista Máquinas e Metais, Dez., p LU, W. (1996). Graphical Simulation for Process Planning in Virtual Manufacturing. Proceedings of Symposium on Virtual Reality in Manufacturing Research and Education, University of Illinois at Chicago, 7-8 Oct, p LUCERO, A. G. R. (2001). Um método de otimização para a programação da manufatura em pequenos lotes. Dissertação (Mestrado), Universidade Federal de Santa Catarina, Florianópolis, Fev. LUCERO, A. G. R.; QUEIROZ, A. A. (2001). Uma aplicação da matriz de Halevi para otimizar a programação da manufatura. 1º COBEF Congresso Brasileiro de Fabricação, Curitiba-PR, Abr. LUCERO, A. G. R.; QUEIROZ, A. A. (2001). Um método para otimizar a programação dos sistemas de manufatura que produzem em pequenos lotes. ISA Show Brasil, Out. LUCERO, A. G. R.; QUEIROZ, A. A. (2002). A method to optimize scheduling in small batch manufacturing. 5 th IFIP, Cancun-Mexico, p , Set.

310 278 MONTREUIL, B.; LAFORGE, A. (1992). Dynamic layout design given a scenario tree of probable futures. European Journal of Operational Research, v.63, p MOREIRA, M. P.; FERNANDES, F. C. F. (2001). Análise da produção enxuta pelo fluxo de valor. Revista Máquinas e Metais, Ago, p NETTO, A. V.; TAHARA, C. S.; FILHO, E. V. G. (1998). Realidade virtual e suas aplicações na área de manufatura, treinamento, simulação e desenvolvimento de produto. Gestão e Produção, v.5, n.2, p , Ago. NOMURA, J.; SAWADA, K. (1999). Virtual reality technology and its industrial applications. Control Engineering Practice, v.7, p PENG, Q.; HALL, F. R.; LISTER, P. M. (2000). Application and evaluation of VR-based CAPP system. Journal of Materials Processing Technology, v. 107, p PRINCE, J.; KAY, J. M. (2003). Combining lean and agile characteristics: creation of virtual groups by enhanced production flow analysis. International Journal of Production Economics, n.85, p RAMUDHIN, A.; LEFRANÇOIS, P.; D AMOURS, S.; MONTREUIL, B. A decision support system for operations scheduling in a distributed environment. Revue des Systèmes de Décision, v.5, n.1-2, p SAAD, S. M. ; BAYKASOGLU, A. ; GINDY, N. N. Z. (2002). An integrated framework for reconfiguration of cellular manufacturing systems using virtual cells. Production Planning & Control, v.13, n.4, p TAM, C. M.; LEUNG, A. W. T. (2002). Genetic algorithm modeling aided with 3D visualization in optimizing construction site facility layout. International

311 279 Council for Research and Innovation in Building and Construction, Aarthus School of Architecture, Jun UDDIN, M. K.; SHANKER, K. (2002). Grouping of parts and machines in presence of alternative process routes by genetic algorithm. International Journal of Production Economics, n.76, p VAKHARIA, A.; MOILY, J.; HUANG, Y. (1999). Evaluating virtual cells and multistage flow shops: an analytical approach. The International Journal of Flexible Manufacturing Systems, v.11, p VIEIRA, S. (1996). Como escrever uma tese. 3ª ed. Livraria Pioneira Editora, São Paulo. WEI, Y.; EGBELU, P. J. (2000). Process alternative generation from product geometric design data. IIE Transactions, v.32, p YANG, T.; KUO, C. (2002). A hierarchical AHP/DEA methodology for the facilities layout design problem. European Journal of Operational Research, n.147, p ZEYDAN, M.; GOLEÇ, A. (2004). Plant layout and design through the simulation and increasing the capacity of metal workshop of a furniture factory. YA/EM' Yöneylem Araştırması/Endüstri Mühendisliği - XXIV Ulusal Kongresi, Gaziantep Adana. ZETU, D.; SCHNEIDER, P.; BANERJEE, P. (1996). A fast data input model for virtual reality-aided factory layout and material handling decision support. Proceedings for the Symposium on Virtual Reality in Manufacturing Research and Education, Chicago, IL, Oct. 7-8.

312 280 APÊNDICE A - Arranjos Físicos Clássicos

313 281 A.1 Desenvolvimento dos arranjos físicos clássicos Em toda a história da humanidade, cita Huberman (1936, p.51), o crescimento do mercado constitui sempre um tremendo incentivo ao crescimento da produção. Sendo assim o desenvolvimento de novos arranjos físicos ocorre pela necessidade de adaptação a novas realidades. O surgimento da indústria foi um processo lento. Do século XVI ao XVIII os artesões independentes da Idade Média desapareceram e em seu lugar surgiram os assalariados. Os trabalhadores eram divididos em grupos de acordo com o tipo de técnica necessária para operar os processos (BLACK, 1991, p.47). Essa organização é denominada atualmente como arranjo físico funcional, por processo ou departamental (OLIVERIO, 1985, p.174). Grandes produtos como embarcações e motores a vapor necessitam de uma disposição diferente devido à sua inerente dificuldade de movimentação. Nesta situação a organização é denominada arranjo físico de posição fixa (GROOVER, 1987, p.28) ou arranjo físico posicional (OLIVERIO, 1985, p.174). No início do século XX o industrial Henry Ford ( ) desejava executar grandes produções de automóveis com sua empresa Ford Motor Company, fundada em Entre 1905 e 1908, inspirado por F. W. Taylor, introduziu a linha de montagem, implantando a subdivisão do trabalho, a análise dos movimentos e o seqüenciamento das operações. Foà (1978, p.699) cita que a montagem de um componente requeria 20 minutos quando executada por um único operário e apenas 5 minutos depois de dividida e organizada em 29 operações. Conforme Tompkins et al. (1996, p.288) essa forma de organização é denominada de arranjo físico linear ou por produto. Até a década de 1980 esses três leiautes atenderam às necessidades do mercado e são citados tanto por Groover (1987, p.27) quanto por Oliverio (1985, p.173) como sendo os tipos clássicos de arranjo físico. A partir dessa época, citam Ham, Hitomi e Yoshida (1985, p.1), o desejo do consumidor em possuir produtos individualizados aumentou e o ciclo de vida dos produtos diminuiu e neste novo cenário nenhum dos arranjos físicos atendia satisfatoriamente aos requisitos de produção. A aplicação da filosofia denominada Tecnologia de Grupo foi uma das formas de se adaptar a essa

314 282 nova realidade, permitindo atingir altos volumes de produção com lotes reduzidos e grande variedade de produtos. A idéia básica em tecnologia de grupo, segundo Black (1991, p.54), é encontrar peças similares que são agrupadas em famílias. Se esta família possui similaridade de processo de fabricação então teria o mesmo grupo de máquinas, que passa a ser denominado como célula de fabricação. Sendo assim o arranjo físico é denominado leiaute celular, por grupo ou por família de produtos. Atualmente diversos autores, como Tompkins et al. (1996, p.288) e Slack et al. (1996, p.212), acrescentam o arranjo físico celular como o quarto tipo clássico de configuração do chão de fábrica. Slack et al. (1996, p.217) lembra que é prática comum que as empresas adotem leiautes mistos que combinem elementos de algum ou de todos os arranjos físicos clássicos ou, alternativamente, usam mais de um tipos clássico de arranjo físico de forma pura em diferentes partes da instalação. A.2 Características dos arranjos físicos clássicos A.2.1 Arranjo físico posicional Também é chamado de arranjo físico de posição fixa ou project shop. Devido ao seu peso e/ou tamanho o produto permanece fixo em determinada posição enquanto materiais, máquinas e pessoas são trazidos até o local onde são necessários. Os exemplos de uso deste arranjo citados por Oliverio (1985, p.174) são montagem de navios e de grandes alternadores, Groover (1987, p.28) cita aviões de grande porte (Figura A.1) e Black (1991, p.53) acrescenta locomotivas, prédios, pontes e represas. Outros exemplos são grandes motores à explosão, transformadores elétricos de grande potência etc. Black (1991, p.53) lembra que, devido a grande complexidade do projeto, um arranjo físico posicional costuma ser servido por outros tipos de leiautes onde seus componentes são processados.

315 283 Adaptado de Groover (1987, p.29) Figura A.1 - Arranjo físico posicional. Em resumo este arranjo físico tem as seguintes características: Movimentação reduzida de material; Aumento da movimentação de pessoal e equipamentos; Pode resultar em equipamentos duplicados; Requer grande habilidade do pessoal; Requer supervisão geral; Pode resultar em aumento de espaço e grande material em processo; Requer grande atenção no controle e na programação da produção. Produção pequena; Grande flexibilidade que permite alterações no projeto do produto, no volume da produção e até no tipo de produto. A.2.2 Arranjo físico funcional Este arranjo físico também é referenciado como arranjo físico departamental, por processo, process layout e job shop. Sua característica fundamental é o agrupamento de operações de um mesmo tipo (OLIVERIO, 1985, p.174). Black (1991, p.56) destaca que devido a sua alta flexibilidade este arranjo físico trabalha na produção de uma grande variedade de produtos

316 284 em pequenos lotes, normalmente atendendo a pedidos específicos de clientes (produção sob encomenda). Os equipamentos de fabricação são de uso genérico e os trabalhadores devem possuir nível técnico relativamente alto para realizar tarefas diferentes. Outra característica importante, ressaltada por Tompkins et al. (1996, p.288), relaciona-se ao fluxo de peças, que é pequeno dentro de cada departamento (intradepartamental) e grande entre eles (interdepartamental). O controle da produção é complexo devido à simultaneidade de diferentes lotes sendo executados ao mesmo tempo em setores distintos e para clientes variados. Em compensação a elaboração do processo de fabricação é uma atividade simples já que basta definir a rota pelos departamentos que executarão cada etapa do processo 32 (Groover, 1987, p.28). A Figura A.2 mostra uma representação deste arranjo. Departamento de tornos Departamento de fresadoras Departamento de furadeiras T1 T2 Fr1 Fr2 Fu1 Fu2 T3 T4 Fr3 Fr4 Fu3 Fu4 T5 T6 Fr5 Fr6 Departamento de retíficas T7 T8 Departamento de montagem R1 R2 M1 M2 R3 R4 Recebimento e Expedição M3 M4 R5 R6 Adaptado de Black (1991, p.55) Figura A.2 - Arranjo físico funcional 32 Deve ficar claro que a elaboração de um processo de fabricação exige muito mais que a simples definição da rota. Para cada etapa o processista deve definir: tipo de máquina, ferramental, dispositivos de sujeição, parâmetros de corte e meios de controle do resultado da operação.

317 285 Entre as principais limitações está o elevado tempo necessário para completar cada lote. Doumeingts 33 (1984 apud RIBEIRO e MEGUELATI, 2002, p.63) descreve que do tempo total consumido na produção de uma peça cerca de 5% são destinados à execução em máquina e os 95% restantes são gastos em movimentações e filas de espera. Além disso, dentro desses 5% apenas 30% do tempo é usinagem propriamente dita, uma vez que a preparação das máquinas e outras tarefas consomem a maior parte do tempo. Os mesmos dados são apresentados por Carter 34 (1972 apud HAM, HITOMI e YOSHIDA, 1985, p.8) e estão representados na Figura A.3. Adaptado de Ham, Hitomi e Yoshida (1985, p.8) Figura A.3 - Distribuição do tempo de produção de uma peça Em resumo este arranjo físico tem as seguintes características: Manuseio elevado de material; Complexo controle de produção; Grande quantidade de material em processo; Máquinas de uso geral; Pequeno investimento total inicial; Grande flexibilidade; Baixa produtividade; 33 DOUMEINGTS, G., La production assistée par ordinateur, Bulletion de Reserche en Informatique et Automatique, CARTER, C. F., Jr., Trends in machine tool Development and applications, Proceedings of 2 nd International Conference on Product Development and Manufacturing Technology, 1971, London: MacDonald & Co., 1972.

318 286 Facilidade de contornar quebras de equipamentos; O pessoal deve ter maiores habilidades; Grande utilização das máquinas. A.2.3 Arranjo físico em linha Também é denominado de arranjo físico linear, arranjo físico por produto, product-flow layout, product layout e flow shop. Black (1991, p.58) acrescenta que quando o volume de produção se torna muito grande, especialmente na linha de montagem, este arranjo físico é chamado de produção em massa. A disposição dos locais de trabalho obedece a seqüência de processamento do produto buscando otimizar a movimentação de material (OLIVERIO, 1985, p.175). Os equipamentos são especializados para se dedicarem à fabricação de um produto em particular e também é comum existirem máquinas duplicadas para balancear o fluxo (BLACK, 1991, p.58). Esse balanceamento significa que o tempo total de trabalho em cada estação é praticamente o mesmo, reduzindo o tempo ocioso. Groover (1987, p.28) destaca a grande rigidez deste arranjo físico, adotado somente quando o volume de produção justifica o investimento, que é extremamente alto. Enquanto um arranjo físico funcional pode ser elaborado aos poucos o arranjo físico em linha deve ser implantado de uma só vez. A Figura A.4 apresenta uma representação para este arranjo físico. Adaptado de Groover (1987, p.29) Figura A.4 - Arranjo físico em linha

319 287 Em resumo este arranjo físico tem as seguintes características: Manuseio reduzido de material; Simples controle de produção; Pequena quantidade de material em processo; Uso de equipamentos especiais; Investimento total inicial elevado; Baixa flexibilidade (mudanças no produto podem levar a obsolescência da linha); Grande produtividade; Se uma máquina para a linha toda interrompe suas atividades; Requer menor habilidade do pessoal (as atividades são específicas e repetitivas). A.2.4 Arranjo físico celular Este arranjo físico também é denominado de group technology layout, cellular layout e group layout. Está ligado à filosofia denominada Tecnologia de Grupo (TG) e, segundo Irani, Subramanian e Allam (1999, p.1) seu conceito foi originalmente proposto por Mitrofanov (1966) 35. Nesta filosofia, segundo Groover e Zimmers (1984, p.275), as peças com similaridades são identificadas e agrupadas com o objetivo de buscar vantagens no projeto e na manufatura. Esses grupos são denominados de famílias. Se o objetivo é a manufatura então as peças de uma mesma família terão necessidades de processamento similares, levando a formação de um grupo de máquinas responsáveis pela sua fabricação. Esse grupo de máquinas é denominado de célula de fabricação. Black (1991, p.64) comenta que a disposição das máquinas de uma célula se parece com o arranjo físico em linha, mas é projetada para ter flexibilidade. Além disso, normalmente a célula inclui todos os processos necessários para concluir as peças de sua família. Esse autor destaca os seguintes pontos chave: As máquinas são dispostas na seqüência do processo; 35 MITROFANOV, S. P., Scientific principles of group technology, Volumes I, II e III (English translation), National Lending Library for Science and Technology, Yorkshire, England, 1966

320 288 Normalmente a célula é projetada em forma de U; Um tipo de peça é feito de cada vez dentro da célula; Os trabalhadores são treinados para lidar com mais de um tipo de processo; O tempo de ciclo para o sistema dita a taxa de produção para a célula; Os operadores trabalham em pé e caminhando; São usadas máquinas mais lentas e específicas, que são menores e mais baratas. Na Figura A.5 é apresentado o esquema de uma célula de manufatura contendo oito postos de trabalho e operada por dois funcionários. Neste exemplo cada operário possui tarefas em quatro máquinas. A matéria-prima entra na célula e movimenta-se no sentido horário, conforme as setas azuis. Ao final as peças acabadas são dispostas em um transportador. Fresadora Horizontal Fresadora Vertical Torno Atuação do Operador 1 Fresadora Vertical Torno Atuação do Operador 2 Retífica Inspeção Final Serra Carro de matériaprima ENTRADA Carro de peças prontas SAÍDA Adaptado de Black (1991, p.93) Figura A.5 - Arranjo físico celular

321 289 Em resumo este arranjo físico tem as seguintes características: Alta utilização de máquinas; Atmosfera de equipe; Boa flexibilidade e produtividade; Equipamentos de uso geral com eventuais máquinas específicas; Operadores executam mais de uma atividade ao mesmo tempo; Redução do material em processo; Redução do manuseio de material; Redução dos tempos de preparação.

322 290 APÊNDICE B - Curvas de Preenchimento Espacial

323 291 B.1 Introdução Segundo Sagan (1991, p.1) as curvas de preenchimento espacial (space-filling curves) também são chamadas de curvas de Peano, em homenagem ao matemático italiano Giuseppe Peano ( ). Mello (2002) cita que por volta de 1890 Peano exibiu um exemplo de curva planar contínua e sem cruzamento, cujo traço é todo o quadrado de lado unitário ([0,1]x[0,1] R 2 ). Outros pesquisadores, como David Hilbert, deram continuidade à pesquisa dessas curvas estendendo-as para espaços n-dimensionais (ALENCAR e SANTOS, 2003, p.24). B.2 A curva de Peano A curva de Peano é construída a partir de um bloco básico gerado em um quadrado dividido em nove partes, ou seja, cada face é dividida em três partes, como mostra a Figura B.1. A numeração mostrada indica a seqüência pela qual as regiões do quadrado são percorridas Figura B.1- Mapeamento e curva de Peano A divisão do quadrado em múltiplos de 3 permite a construção da curva pela repetição do padrão básico com pequena alteração na seqüência. Na Figura B.2 tem-se um quadrado com seus lados divididos em 6 partes. O padrão básico é apresentado em preto enquanto os percursos de conecção estão em azul para dar maior destaque.

324 Figura B.2 - Curva de Peano com 6 divisões por lado Na Figura B.3 pode-se observar a curva de Peano com o quadrado tendo suas faces divididas em 9 e 27 partes. Figura B.3 - Curvas de Peano com 9 e 27 divisões nas faces B.3 Variações da curva de Peano Sagan (1991, p.44) mostra que o matemático Walter Wunderlich ( ), entre diversas outras contribuições, enumerou outras três curvas que satisfazem as condições para a geração de curvas de preenchimento espacial. Na Figura B.4 tem-se a curva Peano-S (switch-back type). Na Figura B.5 é exibida a curva Peano-R (também denominada switch-back type). A curva da Figura B.6 é denominada Meander type (Peano-M).

325 293 Figura B.4 - Curva de Peano Switch-back Type (Peano-S) Figura B.5 - Curva de Peano Switch-back Type (Peano-R) Figura B.6 - Curva de Peano Meander Type (Peano-M)

326 294 B.4 Outras curvas de preenchimento Embora Peano tenha descoberto a primeira curva de preenchimento espacial foi o matemático David Hilbert ( ) que difundiu esse campo da geometria (SAGAN, 1991, p.10). A Figura B.7 mostra a geração da curva de Hilbert e onde pode-se perceber que o lado do quadrado é dividido em múltiplos de 2. Figura B.7 - Criação da curva de preenchimento espacial de Hilbert Na Figura B.8 tem-se a construção da curva de Moore que recebeu esse nome em homenagem ao matemático Eliakim Hastings Moore ( ). Segundo Sagan (1991, p.24) Moore mostrou que o caminho de Hilbert não era o único para alinhar os subquadrados após sucessivos particionamentos em 2 2n réplicas. Nota-se que enquanto a curva de Hilbert parte do extremo de uma face e termina no extremo oposto da mesma face, a curva de Moore parte do centro de uma face e encerra na mesma posição. Figura B.8 - Criação da curva de preenchimento de Moore O matemático russo Waclaw Sierpinski ( ) introduziu um outro tipo de curva de preenchimento espacial, como mostra a Figura B.9.

327 295 Figura B.9 - Construção da curva de Sierpinski Tanto a Figura B.10 quanto a Figura B.11 apresentam variações da curva de Sierpinski. Figura B.10 - Construção da curva modificada de Sierpinski Figura B.11 - Construção da curva modificada de Sierpinski Sagan (1991, p.26) também cita definições tridimensionais das curvas de Peano, Hilbert e Sierpinski. A Figura B.12 apresenta a construção da curva de Hilbert no espaço 3D.

328 296 Fonte: Liu e Snoeyink (2003, p.7) Figura B.12 - Construção da curva de Hilbert em 3D B.5 Implementação Foi implementado em Visual Basic 6.0 o procedimento baseado na curva de Peano tipo Switch-back (Peano-R) para a distribuição das máquinas em arranjos físicos funcionais, parcialmente distribuídos e aleatoriamente distribuídos, da forma usada por Askin, Ciarallo e Lundgren (1999, p.964), Benjaafar e Sheikhzadeh (2000, p.317), Lahmar e Benjaafar (2002b, p.16), Benjaafar, Heragu e Irani (2002, p.72) e Lahmar e Benjaafar (2005, p.311). A Figura B.13 mostra a tela principal do programa com uma curva gerada. Os parâmetros informados foram: 15 linhas, 10 colunas e 3 faixas. Um detalhe importante a ser destacado é a impossibilidade de gerar a curva com mais de duas faixas se o número de colunas for par. Figura B.13 - Tela do programa SFC

329 APÊNDICE C - Cálculo do Grau de Distribuição 297

330 298 C.1 Introdução O objetivo deste apêndice é mostrar em detalhes a forma de cálculo do grau de distribuição de departamentos por meio de um exemplo simples. Como citado no texto principal o método usado para este cálculo é o mesmo adotado por Benjaafar e Sheikhzadeh (2000, p.317). Esse procedimento é quase o mesmo adotado por Montreuil, Venkatadri e Lefrançois (1991, p.7) e Montreuil e Venkatadri (1991, p.297). A diferença está no fato desses dois trabalhos usarem uma probabilidade de movimentação entre os diferentes tipos de máquinas. Removendo-se estas probabilidades tem-se o mesmo resultado entre as duas formas de cálculo. C.2 Exemplo Como mostra a Figura C.1 será usado um arranjo físico funcional composto por quatro departamentos e nove máquinas. O departamento 1 possui apenas uma máquina, o departamento 2 possui duas e os departamentos 3 e 4 possuem três máquinas cada um. Figura C.1 - Arranjo físico funcional com 4 processos e 9 máquinas O procedimento calcula a média da distância retilinear de cada máquina para a máquina mais próxima dos demais tipos, ou seja, é a média da distância mínima.

331 299 Processo 1 Suponha uma peça que saia da máquina 1.01 e necessite de uma máquina do processo 2. A máquina que está mais próxima é a 2.02, com apenas 1 unidade de distância. Caso fosse uma máquina do processo 3 o destino seria a máquina 3.02, também com 1 unidade de distância. Para o processo 4 a distância mínima é 1 unidade e tem-se a opção entre as máquinas 4.01 e Sendo assim a soma das distâncias mínimas partindo da máquina 1.01 é 3. O somatório das distâncias mínimas de cada máquina é denominada soma da máquina. Como o processo 1 tem apenas uma máquina a soma do processo, bem como a média das distâncias mínimas também é 3. O Quadro C.1 resume o processo de cálculo. Quadro C.1 - Cálculo partindo do processo 1 Origem Destino Distância Soma da Soma do Processo Máquina Processo Máquina Mínima Máquina Processo Média Processo 2 Seguindo o mesmo raciocínio do processo 1 tem-se no Quadro C.2 os valores usados no cálculo para o processo 2. Como esse processo possui duas máquinas (duas origens) a média é o resultado da soma do processo dividido por 2. Quadro C.2 - Cálculo partindo do processo 2 Origem Destino Distância Soma da Soma do Processo Máquina Processo Máquina Mínima Máquina Processo Média

332 300 Processos 3 e 4 No Quadro C.3 apresenta-se os valores os processos 3 e 4. Nota-se que para a obtenção da média dividiu-se a soma do processo por 3 pois tanto o processo 3 quanto o processo 4 possuem três máquinas. Quadro C.3 - Cálculo partindo dos processos 3 e 4 Origem Destino Distância Soma da Soma do Processo Máquina Processo Máquina Mínima Máquina Processo Média O resultado final é o somatório das médias de cada processo ( ) dividido pelo número de processos (4) que, neste caso, resulta em 4.458, como mostra Figura C.2. Figura C.2 - Janela com o resultado do cálculo

333 APÊNDICE D - Grafos 301

334 302 D.1 Introdução Segundo Gondran, Minoux e Vajda (1984, p.ix) o primeiro artigo sobre grafos foi escrito por Euler em 1736 com o título Solutio problematis ad geometriam situs pertinentis. Desde então a linguagem dos grafos ajuda a colocar uma idéia em prática: um bom desenho tem mais valor do que uma longa leitura 36. A linguagem dos grafos torna possível representar a estrutura de um grande número de situações de uma simples maneira, tendo como exemplos: rotas em um mapa, estradas de ferro, linhas telefônicas, redes elétricas e o fluxo de informações dentro de uma organização, entre outros. D.2 Conceitos básicos Um grafo G=[X, U] é definido por um conjunto X cujos elementos são denominados vértices (ou nós) e por um conjunto U, cujos elementos u U são pares ordenados de vértices, denominados arcos ou arestas (GONDRAN, MINOUX e VAJDA, 1984, p.2). Graficamente os vértices são representados por pontos e as arestas por linhas que conectam os pontos. A Figura D.1 apresenta um grafo com 5 nós e 9 arestas. 2 U 3 3 U 4 4 U 9 U 1 U 2 U 7 1 U 5 5 U 8 Fonte: Gondran, Minoux e Vajda (1984, p.2) Figura D.1 - Exemplo de grafo 36 Provavelmente a expressão uma imagem vale mais que mil palavras tenha derivado dessa frase.

335 303 Martins (2004, p.9) cita que um grafo é denominado dirigido (ou dígrafo) quando suas arestas possuem orientação, caso contrário o grafo é denominado não dirigido. Outros termos importantes são: Laço ou aresta paralela: aresta que parte e chega a um mesmo nó. Em inglês é denominado loop ou circuit. Grafo rotulado: quando seus vértices e/ou arestas são distinguidos uns dos outros por rótulos. Caso contrário o grafo é não rotulado. Multígrafo: quando há laços. Grafo simples: quando o grafo não possui nenhum laço. Grafo completo: quando existe uma aresta entre cada par de vértices. Nós ancestrais: é o conjunto de todos os nós acima de um dado nó, em direção a raiz. Tem-se que Γ 1 i representa matematicamente o conjunto de ancestrais do nó i. Nós descendentes: é o conjunto de todos os nós abaixo de um dado nó. Tem-se que Γ representa o conjunto de descendentes do nó i. i Γ i 1 Nó raiz: nó inicial de um grafo (não tem ancestrais, ou seja, = ). Nó pai: nó ao qual um outro nó está diretamente ligado. Nó filho: cada um dos nós derivados de um nó pai. Nós irmãos: nós com o mesmo pai. Nó folha ou terminal: nó sem filho (sem descendentes, isto é, Γi = ). D.3 Algoritmo para determinação de níveis em grafos sem laços O algoritmo para determinação de níveis em grafos sem laços, apresentado por Gondran, Minoux e Vajda (1984, p.55) é, entre os demais algoritmos detalhados na obra, o mais importante para o desenvolvimento deste trabalho. Os autores simplesmente o denominaram de Algoritmo 8, por ser o oitavo algoritmo apresentado. O tipo de grafo analisado por esse algoritmo (Quadro D.1) representa bem os processos de fabricação, pois além de não possuir laços é orientado, possui ao menos um nó raiz e pelo menos um nó folha. A determinação de níveis explicita as relações de precedência e permite identificar cada conjunto

336 304 de operações que devem ser executadas (em qualquer ordem) para que as operações do nível seguinte sejam habilitadas. Quadro D.1 - Algoritmo para determinação de níveis (a) Faça d - i = Γ -1 i para todo i, k=0, S 0 ={1} (b) (S k é o conjunto de vértices tal que d -1 i =0) S k+1 = Para todo i S k faça r(i)=k Para todo j Γ i faça d -1 j = d -1 j -1 Se d - j =0 então S k+1 =S k+1 +j (c) Faça k=k+1 Se S k =0 então encerra senão vai para (b) Adaptado de Gondran, Minoux e Vajda (1984, p.55) Por ser muito simplificado o algoritmo não é de compreensão imediata. O vetor d - i possui dimensão igual ao número de nós do grafo e seus elementos contém o número de predecessores diretos de cada nó. A variável k, que é iniciada com valor zero, é incrementada a cada vez que um novo nível é definido. O vetor S recebe em cada etapa os nós que compõe cada nível e que serão os precedentes do nível seguinte. O vetor r tem dimensão igual ao número de nós do grafo e ao final do algoritmo cada elemento seu indicará a que nível o nó pertence. Os autores apresentam o grafo da Figura D.2 para exemplificar o funcionamento do algoritmo Figura D.2 - Grafo exemplo

337 305 Neste exemplo o algoritmo encontra 6 níveis como mostra a Figura D.3. Considerando que cada nó representa uma operação em uma peça nota-se que há duas seqüências possíveis: ou Nível 0 Nível 1 Nível 2 Nível 3 Nível 4 Nível 5 6 Figura D.3 - Grafo separado em níveis D.4 Representação do grafo Além da forma gráfica pode-se representar um grafo usando a matriz de adjacência ou a matriz de incidência. Porém, os grafos dirigidos e sem circuitos podem ser representados simplesmente pelas suas relações de precedência, como mostram Gondran, Minoux e Vajda (1984, p.65). A Tabela D.1 apresenta as relações de precedência para a construção de uma casa de campo enquanto a Figura D.4 mostra o grafo em sua forma gráfica (já dividida em níveis pelo Algoritmo 8). Tabela D.1 - Representação de grafo por precedências Tarefa Descrição Tarefas precedentes A Alvenaria - B Carpintaria do telhado A C Telhado B D Instalações elétricas e sanitárias A E Fachada C, D F Janelas C, D G Jardim C, D H Teto F I Pintura H J Mudança E, G, I

338 306 B C G A D E J F H I Nível 0 Nível 1 Nível 2 Nível 3 Nível 4 Nível 5 Nível 6 Figura D.4 - Grafo referente à Tabela D.1 D.5 Implementação do algoritmo O algoritmo 8 foi implementado em Visual Basic 6 e sua tela está apresentada na Figura D.5. O programa lê um arquivo com os dados (operação e precedentes) e apresenta os níveis. Figura D.5 - Implementação do Algoritmo 8 Nota-se que o programa já informa o número total de seqüências possíveis. Esse valor é o resultado da multiplicação do fatorial do número de operações que existem em cada nível. No exemplo da Figura D.5 tem-se o seguinte cálculo: 1! 2! 1! 3! 1! 1! 1!=12. De forma genérica tem-se a eq.(d.1).

339 307 nn ( nop(i)! ) NTS = (D.1) i= Π 0 Onde: NTS = Número Total de Seqüências nn = número de níveis-1 nop(i) = número de operações do nível i Em uma primeira implementação as precedências eram representadas por uma cadeia de caracteres onde cada elemento representava uma operação (por exemplo, ABF). Porém isso impedia o uso de elementos numéricos para representar as operações já que não haveria como identificar que significa Poderia ter sido definida uma quantidade fixa de dígitos para cada elemento, porém optou-se por adicionar o caractere - após cada elemento para servir como identificador. Isso possibilita o uso de elementos numérico e/ou combinações de letras. A Figura D.6 mostra a tela do programa com elementos numéricos. Figura D.6 - Exemplo com elementos numéricos

340 308 APÊNDICE E - Algoritmo Genético

341 309 E.1 Introdução Um algoritmo genético (AG, ou GA - Genetic Algorithm) é um procedimento computacional baseado nos mecanismos genéticos da seleção natural e seu objetivo é obter a otimização global de um problema. Segundo Goldberg (1989, p.1) esse procedimento foi criado por John Holland juntamente com colegas e alunos da Universidade de Michigan. Lacerda e Carvalho (1999, p.99) acrescentam que sua popularização ocorreu com a publicação do livro de Goldberg (1999), que foi aluno de Holland. O problema é codificado de forma que cada possível solução seja representada por uma cadeia de caracteres que é denominada de cromossomo e onde cada caractere é denominado de gene. Salvador (2005, p.2) cita que tradicionalmente os indivíduos são representados por vetores binários, onde cada elemento de um vetor denota a presença (1) ou ausência (0) de uma determinada característica (o genótipo). Assim os elementos são combinados para formar as características do indivíduo (o fenótipo). Problemas mais complexos, como mostram Lacerda e Carvalho (1999, p.141), são representadas por cadeias de caracteres compostas por mais de dois tipos de elementos. Além disso, citam que muitos trabalhos têm mostrado preferência ao uso de representação com números reais ao invés de números binários. O procedimento inicia-se com uma população inicial contendo um conjunto de indivíduos, ou seja, um conjunto de cromossomos. Na grande maioria das implementações o tamanho da população mantêm-se fixo durante todo o procedimento. Em seguida, citam Gravel, Nsakanda e Price (1998, p.286), cada indivíduo é avaliado por uma função de aptidão, sendo que os mais aptos são levados diretamente para a próxima geração (processo de seleção natural dos indivíduos mais aptos). Lacerda e Carvalho (1999, p.108) citam que esse procedimento é denominado elitismo. Para completar a nova população são selecionados indivíduos da população inicial para sofrerem modificações, denominadas de cruzamento (partes de dois cromossomos pais são trocadas para gerar dois cromossomos filhos) e mutação (alterações aleatórias nos genes). Quando a nova população está completa ela toma o lugar da geração anterior e o ciclo se reinicia até que

342 310 uma condição de encerramento seja satisfeita (LACERDA e CARVALHO, 1999, p.101). A Figura E.1 apresenta a estrutura geral do funcionamento do algoritmo genético. INÍCIO Gerar população inicial Ordenar pela função de aptidão Atingiu condição de encerramento? S Nova População substitui a população da geração anterior. N Nova População recebe os n elementos mais aptos. Selecionar o indivíduo melhor avaliado. FIM S Completou Nova População? Nova População recebe novos elementos. N Seleciona elementos para sofrer cruzamento e mutação. Executa cruzamento e mutação Figura E.1 - Estrutura geral de um algoritmo genético As principais características dos algoritmos genéticos, segundo Goldberg (1989, p.5), são: paralelismo, direcionamento e aleatoriedade. O paralelismo vem do fato do procedimento realizar a busca em um conjunto de pontos de forma simultânea (os elementos da população). O direcionamento relaciona-se com a passagem dos melhores elementos, sem alteração, para a geração seguinte (manutenção do ótimo atual). A aleatoriedade vem do fato

343 311 das alterações realizadas entre uma geração e outra e que tem dois diferentes níveis: a mutação realiza uma pequena alteração que pode resultar na melhoria do ótimo atual (e, por isso, possui uma probabilidade de ocorrência relativamente alta) enquanto o cruzamento realiza uma alteração mais drástica, buscando fugir do ótimo atual (que pode ser um ótimo local) e encontrar outros ótimos (que podem levar ao ótimo global). E.2 Exemplo Para demonstrar a funcionalidade do algoritmo implementado será usado o exemplo apresentado por Montreuil et al. (1993, p.5) que contém 150 máquinas divididas em 30 tipos. Em uma primeira execução o arranjo físico inicial é do tipo funcional, como mostra a Figura E.2. Figura E.2 - Arranjo físico funcional adotado para iniciar para o AG A Figura E.3 mostra a tela ao final da execução do algoritmo genético e a Figura E.4 mostra o arranjo físico obtido. Esse exemplo foi rodado em um Pentium III operando em 650 Mhz e com 256 Mb de memória RAM.

344 312 Figura E.3 - Tela após a execução do algoritmo genético Figura E.4 Arranjo físico obtido pelo algoritmo genético

345 APÊNDICE F - Estruturas de Precedência 313

346 314 F.1 Introdução Para a geração automática de peças com flexibilidade de seqüência foram criadas estruturas de precedência para peças com número de operações variando de 3 até 15. Os quadros a seguir apresentam graficamente as relações de precedência elaboradas para cada número de operações. Quadro F.1 - Relações de precedência para peças com 3 operações Modelo Estrutura A Número de Seqüências 1 B 6 C

347 315 Quadro F.2 - Relações de precedência para peças com 4 operações Modelo Estrutura A Número de Seqüências 1 B D 6 C B 2 A C 6 D A 3 B C D 24

348 316 Quadro F.3 - Relações de precedência para peças com 5 operações Modelo Estrutura Número de Seqüências B 1 A C D E 6 B 2 A A C D E 24 3 B C D E 24

349 317 Quadro F.4 - Relações de precedência para peças com 6 operações Modelo Estrutura Número de Seqüências B 1 A C D E F 12 2 A B C D E F 12 B 3 A C D E F 24 4 A B C D E F 12

350 318 Quadro F.5 - Relações de precedência para peças com 7 operações Modelo Estrutura Número de Seqüências 1 A B C D E G 12 F 2 A B C D E F G 24 B 3 A C D F G 24 E A E 4 B D F 36 C G 5 A B E C G 12 F D

351 319 Quadro F.6 - Relações de precedência para peças com 8 operações Modelo Estrutura Número de Seqüências 1 A B E C G H 12 F D B 2 A C D F G H 48 E 3 A B C D E F G H 24 A E 4 B D F H 36 C G 5 A B C D E F G H 72

352 320 Quadro F.7 - Relações de precedência para peças com 9 operações Modelo Estrutura Número de Seqüências 1 A B C D E F G H I 12 B 2 A C D F G H I 48 E B F 3 A C E G I 36 D H 4 A B C D E F G H I 24 5 A B C D E F G H I 72

353 321 Quadro F.8 - Relações de precedência para peças com 10 operações Modelo Estrutura Número de Seqüências 1 A D B E F C G H I J 72 2 A D B E F C G H I J 48 3 A D B E F C G H I J 96 4 A D B E F C G H I J 72 5 A D B E F C G H I J 24

354 322 Quadro F.9 - Relações de precedência para peças com 11 operações Modelo Estrutura Número de Seqüências B D G 1 A F H J K 24 C E I C G I 2 A B D F K 24 E H J B F I 3 A D E G K 24 C H J E 4 A B C D F G I J K 24 H B E I 5 A D F H K 24 C G J

355 323 Quadro F.10 - Relações de precedência para peças com 12 operações Modelo Estrutura Número de Seqüências B E I 1 A D F H K L 24 C G J B E H J 2 A D F L 48 C G I K C F I 3 A B E G K L 24 D H J D F H 4 A B C I K L 24 E G J C F H 5 A B D J K L 24 E G I

356 324 Quadro F.11 - Relações de precedência para peças com 13 operações Modelo Estrutura Número de Seqüências

357 325 Quadro F.12 - Relações de precedência para peças com 14 operações Modelo Estrutura Número de Seqüências

358 326 Quadro F.13 - Relações de precedência para peças com 15 operações Modelo Estrutura Número de Seqüências

359 APÊNDICE G - Modelos para posicionamento de máquinas 327

360 328 G.1 Introdução A etapa de cálculo da posição ideal para máquinas no algoritmo ALVO faz uso de posições pré-definidas. As figuras a seguir apresentam as dimensões adotadas para cada situação apresentada no Capítulo Figura G.1 - Dimensões para 3 máquinas Figura G.2 - Dimensões para 4 máquinas

361 Figura G.3 - Dimensões para 5 máquinas Figura G.4 - Dimensões para 6 máquinas Figura G.5 - Dimensões para 7 máquinas

362 Figura G.6 - Dimensões para 8 máquinas Figura G.7 - Dimensões para 9 máquinas Figura G.8 - Dimensões para 10 máquinas

363 APÊNDICE H - Exemplos de roteamento 331

364 332 H.1 Introdução Este apêndice mostra em detalhes as análises envolvidas no procedimento de roteamento descrito no Capítulo 5 (item 5.6), tanto no modo rígido quanto no flexível. O exemplo usa 4 peças (P1, P2, P3 e P4) que possuem, cada uma, 4 operações com duração de 10 unidades de tempo. O arranjo físico usado no exemplo está representado na Figura H Figura H.1 - Arranjo físico As possíveis rotas para cada seqüência de fabricação dependem do número de operações da peça e também do número de máquinas que podem executar cada operação. Por exemplo, supondo que a seqüência seja a árvore de busca obtida está representada na Figura H.2 com suas 18 rotas possíveis. Outras seqüências para as mesmas 4 operações neste mesmo arranjo físico também irão levar a 18 rotas, porém a forma da árvore será diferente Figura H.2 - Árvore de rotas

365 333 H.2 Roteamento rígido O roteamento rígido considera somente a primeira seqüência de fabricação de cada peça e, neste caso, a seqüência será para as quatro peças. A Figura H.3 mostra o gráfico de Gantt e sua matriz de alocação correspondente obtida pelo roteamento rígido. P1 P2 P3 P P1 P2 P3 P , 10 10, 20 20, 30 30, P1 P2 P3 P , 20 20, 30 30, 40 40, P1 P2 P3 P , 30 30, 40 40, 50 50, P1 P2 P3 P , 40 40, 50 50, 60 60, Figura H.3 - Gráfico de Gantt e matriz de alocação (rígido) A listagem a seguir é o conteúdo do arquivo detalhado de alocação. A parte inicial apresenta informações tais como: dia e hora em que o roteamento foi executado, detalhes sobre o arranjo físico (quantidade, nome do arquivo, descrição do arquivo, modo de geração e grau de distribuição), modo de roteamento, número de peças e diretório onde os arquivos de peças estavam localizados. Nota-se que para cada peça, neste caso, é analisada somente uma seqüência (Seq 1). Como as peças possuem 4 operações o roteamento requer 3 etapas. Ao final do roteamento de cada peça a listagem apresenta: Melhor seqüência: que neste caso será sempre a primeira. Término: instante de encerramento da última operação. Distância percorrida: é a distância retilinear entre as máquinas usadas. Processo: mostra a seqüência de máquinas a ser usada. Alocação: mostra detalhes de cada operação (máquina selecionada, instante de início, duração e instante de finalização da operação). O final da listagem mostra as informações gerais do roteamento.

366 334 Gerado em 28/06/2006 às 16:18:37 Arranjo: 1 de 1 Exemplo.ARR Exemplo de roteamento para Apêndice H Edição manual GdD= Roteamento sem flexibilidade de seqüência. Número de peças roteadas: 4 Diretório das peças: D:\Exemplo apêndice H\Pecas_01 ===================================================================== Peça: P1.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Melhor Seqüência= 1 ( ) Término= 40 Distância percorrida= 5 Processo: 1.1-> 2.2-> 3.1-> 4.1 Alocação Op1 na máquina 1.1 (Início= 0 Duração= 10 Final= 10) Op2 na máquina 2.2 (Início= 10 Duração= 10 Final= 20) Op3 na máquina 3.1 (Início= 20 Duração= 10 Final= 30) Op4 na máquina 4.1 (Início= 30 Duração= 10 Final= 40) ===================================================================== Peça: P2.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 3) Rota 3=> > (Término= 40 Distância= 4) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 6) Rota 3=> > (Término= 50 Distância= 5) Melhor Seqüência= 1 ( ) Término= 50 Distância percorrida= 5 Processo: 1.1-> 2.2-> 3.1-> 4.1 Alocação Op1 na máquina 1.1 (Início= 10 Duração= 10 Final= 20) Op2 na máquina 2.2 (Início= 20 Duração= 10 Final= 30)

367 335 Op3 na máquina 3.1 (Início= 30 Duração= 10 Final= 40) Op4 na máquina 4.1 (Início= 40 Duração= 10 Final= 50) ===================================================================== Peça: P3.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 4) Etapa 3 Rota 1=> > (Término= 60 Distância= 5) Rota 2=> > (Término= 60 Distância= 6) Rota 3=> > (Término= 60 Distância= 5) Melhor Seqüência= 1 ( ) Término= 60 Distância percorrida= 5 Processo: 1.1-> 2.2-> 3.1-> 4.1 Alocação Op1 na máquina 1.1 (Início= 20 Duração= 10 Final= 30) Op2 na máquina 2.2 (Início= 30 Duração= 10 Final= 40) Op3 na máquina 3.1 (Início= 40 Duração= 10 Final= 50) Op4 na máquina 4.1 (Início= 50 Duração= 10 Final= 60) ===================================================================== Peça: P4.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 1) Etapa 2 Rota 1=> > (Término= 60 Distância= 2) Rota 2=> > (Término= 60 Distância= 3) Rota 3=> > (Término= 60 Distância= 4) Etapa 3 Rota 1=> > (Término= 70 Distância= 5) Rota 2=> > (Término= 70 Distância= 6) Rota 3=> > (Término= 70 Distância= 5) Melhor Seqüência= 1 ( ) Término= 70 Distância percorrida= 5 Processo: 1.1-> 2.2-> 3.1-> 4.1 Alocação Op1 na máquina 1.1 (Início= 30 Duração= 10 Final= 40) Op2 na máquina 2.2 (Início= 40 Duração= 10 Final= 50) Op3 na máquina 3.1 (Início= 50 Duração= 10 Final= 60) Op4 na máquina 4.1 (Início= 60 Duração= 10 Final= 70) ============================================ == MakeSpan Total= 70 == == Distância total percorrida= 20 == == Tempo de processamento= 00h 00m 00.02s == ============================================

368 336 H.3 Roteamento flexível Neste modo de roteamento cada peça terá 24 seqüências a serem avaliadas (4!). Cada seqüência terá três etapas. O resultado desse procedimento pode ser melhor visualizado pelo gráfico da Figura H.4, juntamente com a matriz de alocação. P1 P2 P3 P P3 P1 P2 P , 20 20, 30 0, 10 30, P2 P , 10 30, P1 P , 10 20, P3 P , 40 10, P4 P ,40 0, P2 P , 20 20, P4 P , 30 10, Figura H.4 Gráfico de Gantt e matriz de alocação (flexibilidade) As informações da listagem a seguir são as mesmas apresentadas anteriormente. Observando essas informações é possível compreender a dimensão do processo e as vantagens que essa maior quantidade de análises obtém sobre o roteamento rígido. É interessante lembrar que este exemplo possui apenas 4 peças com 4 operações em um arranjo físico com somente 9 máquinas. Isso permite compreender algumas simulações realizadas nesta pesquisa consumiram mais de 15 horas de processamento: arranjos físicos com 80 máquinas e 150 peças (algumas com até 72 seqüências de fabricação). Gerado em 28/06/2006 às 16:18:43 Arranjo: 1 de 1 Exemplo.ARR Exemplo de roteamento para Apêndice H Edição manual GdD= Roteamento com flexibilidade de seqüência. Número de peças roteadas: 4 Diretório das peças: D:\Exemplo apêndice H\Pecas_01

369 ====================================================================== Peça: P1.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 2=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 6) Rota 4=> > (Término= 40 Distância= 6) Rota 5=> > (Término= 40 Distância= 5) Rota 6=> > (Término= 40 Distância= 4) Seq 3=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 4=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 6) Rota 4=> > (Término= 40 Distância= 5) Seq 5=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) 337

370 338 Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 6) Seq 6=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 4) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 40 Distância= 5) Seq 7=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 4) Seq 8=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 5) Rota 4=> > (Término= 40 Distância= 5) Rota 5=> > (Término= 40 Distância= 4) Rota 6=> > (Término= 40 Distância= 3) Seq 9=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 3) Rota 3=> > (Término= 20 Distância= 4) Rota 4=> > (Término= 20 Distância= 1) Rota 5=> > (Término= 20 Distância= 2) Rota 6=> > (Término= 20 Distância= 3) Etapa 2

371 Rota 1=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 4) Seq 10=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 3) Rota 3=> > (Término= 20 Distância= 4) Rota 4=> > (Término= 20 Distância= 1) Rota 5=> > (Término= 20 Distância= 2) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 5) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 5) Seq 11=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 3) Rota 3=> > (Término= 40 Distância= 4) Seq 12=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 13=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 4) Seq 14=>

372 340 Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 5) Rota 4=> > (Término= 40 Distância= 4) Seq 15=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Seq 16=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 4) Seq 17=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 3) Seq 18=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3)

373 Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 19=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 30 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 5) Rota 4=> > (Término= 40 Distância= 3) Rota 5=> > (Término= 40 Distância= 4) Rota 6=> > (Término= 40 Distância= 5) Seq 20=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 30 Distância= 3) Rota 4=> > (Término= 30 Distância= 3) Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 5) Rota 4=> > (Término= 40 Distância= 4) Seq 21=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 5) 341

374 342 Seq 22=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 5) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Seq 23=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 4) Seq 24=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 5) Rota 2=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Melhor Seqüência= 8 ( ) Término= 40 Distância percorrida= 3 Processo: 2.02-> 1.01-> 4.03-> 3.03 Alocação Op1 na máquina 2.02 (Início= 0 Duração= 10 Final= 10) Op2 na máquina 1.01 (Início= 10 Duração= 10 Final= 20) Op3 na máquina 4.03 (Início= 20 Duração= 10 Final= 30) Op4 na máquina 3.03 (Início= 30 Duração= 10 Final= 40) ===================================================================== Peça: P2.PEC Número de Operações: 4 Seq 1=> Etapa 1

375 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 2=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 50 Distância= 6) Seq 3=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 4=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Seq 5=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 50 Distância= 6) Seq 6=>

376 344 Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 4) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 40 Distância= 5) Seq 7=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 4) Seq 8=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 3) Rota 3=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) Rota 4=> > (Término= 50 Distância= 5) Rota 5=> > (Término= 50 Distância= 4) Rota 6=> > (Término= 50 Distância= 3) Seq 9=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 3) Rota 3=> > (Término= 20 Distância= 4) Rota 4=> > (Término= 30 Distância= 1) Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 10=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 3) Rota 3=> > (Término= 20 Distância= 4) Rota 4=> > (Término= 30 Distância= 1)

377 Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 5) Rota 2=> > (Término= 30 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Seq 11=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 3) Rota 3=> > (Término= 50 Distância= 4) Seq 12=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 13=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 1) Rota 3=> > (Término= 30 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 4) Seq 14=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 1) Rota 3=> > (Término= 30 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 3) Rota 3=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) 345

378 346 Rota 4=> > (Término= 50 Distância= 4) Seq 15=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Seq 16=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 17=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 3) Seq 18=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4)

379 Seq 19=> Etapa 1 Rota 1=> > (Término= 30 Distância= 1) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 30 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 40 Distância= 3) Rota 4=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) Rota 4=> > (Término= 50 Distância= 3) Rota 5=> > (Término= 50 Distância= 4) Rota 6=> > (Término= 50 Distância= 5) Seq 20=> Etapa 1 Rota 1=> > (Término= 30 Distância= 1) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 30 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Rota 4=> > (Término= 40 Distância= 3) Rota 5=> > (Término= 40 Distância= 2) Rota 6=> > (Término= 50 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) Rota 4=> > (Término= 50 Distância= 4) Seq 21=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) Seq 22=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 5) Etapa 3 347

380 348 Rota 1=> > (Término= 40 Distância= 5) Seq 23=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 4) Seq 24=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 5) Rota 2=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Melhor Seqüência= 11 ( ) Término= 40 Distância percorrida= 3 Processo: 2.01-> 4.01-> 1.01-> 3.02 Alocação Op1 na máquina 2.01 (Início= 0 Duração= 10 Final= 10) Op2 na máquina 4.01 (Início= 10 Duração= 10 Final= 20) Op3 na máquina 1.01 (Início= 20 Duração= 10 Final= 30) Op4 na máquina 3.02 (Início= 30 Duração= 10 Final= 40) ====================================================================== Peça: P3.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 2=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2)

381 Rota 2=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 6) Seq 3=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Rota 2=> > (Término= 40 Distância= 6) Rota 3=> > (Término= 40 Distância= 5) Seq 4=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Seq 5=> Etapa 1 Rota 1=> > (Término= 30 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 6) Seq 6=> Etapa 1 Rota 1=> > (Término= 30 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 2) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 40 Distância= 5) Seq 7=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) 349

382 350 Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Etapa 3 Rota 1=> > (Término= 60 Distância= 4) Rota 2=> > (Término= 60 Distância= 5) Rota 3=> > (Término= 60 Distância= 4) Seq 8=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 5) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 5) Rota 5=> > (Término= 60 Distância= 4) Rota 6=> > (Término= 60 Distância= 3) Seq 9=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 1) Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 4) Seq 10=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 1) Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 2 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 4) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 5) Seq 11=> Etapa 1 Rota 1=> > (Término= 30 Distância= 1) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 40 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 40 Distância= 2) Etapa 2

383 Rota 1=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 4) Seq 12=> Etapa 1 Rota 1=> > (Término= 30 Distância= 1) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 40 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 4) Etapa 3 Rota 1=> > (Término= 50 Distância= 6) Seq 13=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Rota 3=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 4) Rota 2=> > (Término= 60 Distância= 5) Rota 3=> > (Término= 60 Distância= 4) Seq 14=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Rota 3=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 3) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 4) Seq 15=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 3) Seq 16=> Etapa 1 351

384 352 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 17=> Etapa 1 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 30 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 3) Seq 18=> Etapa 1 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 30 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 30 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 19=> Etapa 1 Rota 1=> > (Término= 40 Distância= 1) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Rota 4=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 3) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 3) Rota 5=> > (Término= 60 Distância= 4) Rota 6=> > (Término= 60 Distância= 5)

385 Seq 20=> Etapa 1 Rota 1=> > (Término= 40 Distância= 1) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Rota 4=> > (Término= 50 Distância= 3) Rota 5=> > (Término= 50 Distância= 2) Rota 6=> > (Término= 50 Distância= 3) Etapa 3 Rota 1=> > (Término= 60 Distância= 5) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 4) Seq 21=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) Seq 22=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 5) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Seq 23=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 4) 353

386 354 Seq 24=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 5) Rota 2=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Melhor Seqüência= 4 ( ) Término= 40 Distância percorrida= 4 Processo: 1.01-> 3.02-> 4.01-> 2.01 Alocação Op1 na máquina 1.01 (Início= 0 Duração= 10 Final= 10) Op2 na máquina 3.02 (Início= 10 Duração= 10 Final= 20) Op3 na máquina 4.01 (Início= 20 Duração= 10 Final= 30) Op4 na máquina 2.01 (Início= 30 Duração= 10 Final= 40) ====================================================================== Peça: P4.PEC Número de Operações: 4 Seq 1=> Etapa 1 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 1) Etapa 2 Rota 1=> > (Término= 60 Distância= 2) Rota 2=> > (Término= 60 Distância= 3) Rota 3=> > (Término= 60 Distância= 4) Etapa 3 Rota 1=> > (Término= 70 Distância= 5) Rota 2=> > (Término= 70 Distância= 6) Rota 3=> > (Término= 70 Distância= 5) Seq 2=> Etapa 1 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 1) Etapa 2 Rota 1=> > (Término= 60 Distância= 3) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 3) Etapa 3 Rota 1=> > (Término= 70 Distância= 6) Rota 2=> > (Término= 70 Distância= 5) Rota 3=> > (Término= 70 Distância= 6) Rota 4=> > (Término= 70 Distância= 6) Rota 5=> > (Término= 70 Distância= 5) Rota 6=> > (Término= 70 Distância= 4) Seq 3=> Etapa 1 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 1) Rota 3=> > (Término= 50 Distância= 2)

387 Etapa 2 Rota 1=> > (Término= 60 Distância= 4) Rota 2=> > (Término= 60 Distância= 3) Etapa 3 Rota 1=> > (Término= 70 Distância= 5) Rota 2=> > (Término= 70 Distância= 6) Rota 3=> > (Término= 70 Distância= 5) Seq 4=> Etapa 1 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 1) Rota 3=> > (Término= 50 Distância= 2) Etapa 2 Rota 1=> > (Término= 60 Distância= 3) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 3) Etapa 3 Rota 1=> > (Término= 70 Distância= 4) Rota 2=> > (Término= 70 Distância= 5) Rota 3=> > (Término= 70 Distância= 6) Rota 4=> > (Término= 70 Distância= 5) Seq 5=> Etapa 1 Rota 1=> > (Término= 50 Distância= 1) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 1) Etapa 2 Rota 1=> > (Término= 60 Distância= 2) Rota 2=> > (Término= 60 Distância= 3) Rota 3=> > (Término= 60 Distância= 4) Rota 4=> > (Término= 60 Distância= 3) Etapa 3 Rota 1=> > (Término= 70 Distância= 4) Rota 2=> > (Término= 70 Distância= 5) Rota 3=> > (Término= 70 Distância= 6) Seq 6=> Etapa 1 Rota 1=> > (Término= 50 Distância= 1) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 1) Etapa 2 Rota 1=> > (Término= 60 Distância= 4) Rota 2=> > (Término= 60 Distância= 3) Rota 3=> > (Término= 60 Distância= 4) Rota 4=> > (Término= 60 Distância= 4) Rota 5=> > (Término= 60 Distância= 3) Rota 6=> > (Término= 60 Distância= 2) Etapa 3 Rota 1=> > (Término= 70 Distância= 6) Rota 2=> > (Término= 70 Distância= 5) Seq 7=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Etapa 3 Rota 1=> > (Término= 60 Distância= 4) Rota 2=> > (Término= 60 Distância= 5) 355

388 356 Rota 3=> > (Término= 60 Distância= 4) Seq 8=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 5) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 5) Rota 5=> > (Término= 60 Distância= 4) Rota 6=> > (Término= 60 Distância= 3) Seq 9=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 1) Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 4) Seq 10=> Etapa 1 Rota 1=> > (Término= 30 Distância= 2) Rota 2=> > (Término= 30 Distância= 3) Rota 3=> > (Término= 30 Distância= 4) Rota 4=> > (Término= 30 Distância= 1) Rota 5=> > (Término= 30 Distância= 2) Rota 6=> > (Término= 30 Distância= 3) Etapa 2 Rota 1=> > (Término= 40 Distância= 4) Rota 2=> > (Término= 40 Distância= 5) Rota 3=> > (Término= 40 Distância= 4) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 5) Seq 11=> Etapa 1 Rota 1=> > (Término= 40 Distância= 1) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 40 Distância= 3) Rota 4=> > (Término= 40 Distância= 2) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 4) Etapa 3 Rota 1=> > (Término= 50 Distância= 6) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 6) Seq 12=> Etapa 1

389 Rota 1=> > (Término= 40 Distância= 1) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 40 Distância= 3) Rota 4=> > (Término= 40 Distância= 2) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 6) Rota 2=> > (Término= 50 Distância= 5) Rota 3=> > (Término= 50 Distância= 4) Etapa 3 Rota 1=> > (Término= 50 Distância= 8) Seq 13=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Rota 3=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 4) Rota 2=> > (Término= 60 Distância= 5) Rota 3=> > (Término= 60 Distância= 4) Seq 14=> Etapa 1 Rota 1=> > (Término= 40 Distância= 2) Rota 2=> > (Término= 40 Distância= 1) Rota 3=> > (Término= 40 Distância= 2) Etapa 2 Rota 1=> > (Término= 50 Distância= 2) Rota 2=> > (Término= 50 Distância= 3) Rota 3=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 3) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 4) Seq 15=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 3) Seq 16=> Etapa 1 Rota 1=> > (Término= 20 Distância= 2) Rota 2=> > (Término= 20 Distância= 1) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 2) Rota 5=> > (Término= 20 Distância= 4) Rota 6=> > (Término= 20 Distância= 3) Etapa 2 357

390 358 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 6) Seq 17=> Etapa 1 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 40 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 40 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 2) Etapa 3 Rota 1=> > (Término= 50 Distância= 4) Rota 2=> > (Término= 50 Distância= 3) Seq 18=> Etapa 1 Rota 1=> > (Término= 40 Distância= 3) Rota 2=> > (Término= 20 Distância= 4) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 40 Distância= 2) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 40 Distância= 3) Rota 8=> > (Término= 20 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 4) Rota 2=> > (Término= 30 Distância= 3) Etapa 3 Rota 1=> > (Término= 40 Distância= 4) Seq 19=> Etapa 1 Rota 1=> > (Término= 40 Distância= 1) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 3) Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Rota 4=> > (Término= 50 Distância= 2) Etapa 3 Rota 1=> > (Término= 60 Distância= 3) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 3) Rota 5=> > (Término= 60 Distância= 4) Rota 6=> > (Término= 60 Distância= 5) Seq 20=> Etapa 1 Rota 1=> > (Término= 40 Distância= 1) Rota 2=> > (Término= 40 Distância= 2) Rota 3=> > (Término= 40 Distância= 1) Etapa 2 Rota 1=> > (Término= 50 Distância= 3)

391 Rota 2=> > (Término= 50 Distância= 2) Rota 3=> > (Término= 50 Distância= 3) Rota 4=> > (Término= 50 Distância= 3) Rota 5=> > (Término= 50 Distância= 2) Rota 6=> > (Término= 50 Distância= 3) Etapa 3 Rota 1=> > (Término= 60 Distância= 5) Rota 2=> > (Término= 60 Distância= 4) Rota 3=> > (Término= 60 Distância= 5) Rota 4=> > (Término= 60 Distância= 4) Seq 21=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 4) Rota 3=> > (Término= 50 Distância= 5) Seq 22=> Etapa 1 Rota 1=> > (Término= 20 Distância= 1) Rota 2=> > (Término= 20 Distância= 2) Rota 3=> > (Término= 20 Distância= 2) Rota 4=> > (Término= 20 Distância= 3) Rota 5=> > (Término= 20 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Etapa 2 Rota 1=> > (Término= 30 Distância= 3) Rota 2=> > (Término= 30 Distância= 4) Rota 3=> > (Término= 30 Distância= 5) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Seq 23=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 30 Distância= 3) Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 30 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 40 Distância= 3) Etapa 3 Rota 1=> > (Término= 50 Distância= 5) Rota 2=> > (Término= 50 Distância= 4) Seq 24=> Etapa 1 Rota 1=> > (Término= 20 Distância= 3) Rota 2=> > (Término= 30 Distância= 2) Rota 3=> > (Término= 20 Distância= 3) Rota 4=> > (Término= 20 Distância= 4) Rota 5=> > (Término= 30 Distância= 3) 359

392 360 Rota 6=> > (Término= 20 Distância= 2) Rota 7=> > (Término= 20 Distância= 3) Rota 8=> > (Término= 30 Distância= 2) Rota 9=> > (Término= 20 Distância= 1) Etapa 2 Rota 1=> > (Término= 30 Distância= 5) Rota 2=> > (Término= 30 Distância= 4) Etapa 3 Rota 1=> > (Término= 40 Distância= 5) Melhor Seqüência= 18 ( ) Término= 40 Distância percorrida= 4 Processo: 3.03-> 4.03-> 2.02-> 1.01 Alocação Op1 na máquina 3.03 (Início= 0 Duração= 10 Final= 10) Op2 na máquina 4.03 (Início= 10 Duração= 10 Final= 20) Op3 na máquina 2.02 (Início= 20 Duração= 10 Final= 30) Op4 na máquina 1.01 (Início= 30 Duração= 10 Final= 40) ============================================ == MakeSpan Total= 40 == == Distância total percorrida= 14 == == Tempo de processamento= 00h 00m 00.10s == ============================================

393 APÊNDICE I - Permutação 361

394 362 I.1 Introdução Permutações simples de n elementos distintos são os agrupamentos formados com todos os n elementos de modo que cada agrupamento difira do outro apenas pela ordem de seus elementos. Knuth (1972, p.44) apresenta dois métodos para gerar todas as combinações provenientes da permutação de n elementos. O método 1, que foi adotado neste trabalho, diz: para cada permutação a 1 a 2...a n-1 de (n-1) elementos, forme n outros conjuntos pela inserção do elemento a n em todos os lugares possíveis obtendo: a n a 1 a 2...a n-1, a 1 a n a 2...a n-1, a 1 a 2...a n a n-1 e a 1 a 2...a n- 1 a n. Por exemplo, seja gerar as permutações do seguinte conjunto de elementos {A, B, C, D}. No primeiro passo tem-se apenas o primeiro elemento: A O segundo passo consiste em colocar o próximo elemento (B) em todas as possíveis posições em relação ao primeiro elemento. Neste caso há apenas duas posições: antes e depois de A. O número de elementos gerados em cada fase é igual ao fatorial do número do elemento a ser inserido. Como neste caso trata-se do segundo elemento tem-se 2! = 2. BA AB O elemento seguinte (C) deverá ser colocado nas 3 possíveis posições em cada uma das 2 seqüências anteriores, totalizando 6 agrupamentos. CBA BCA BAC CAB ACB ABC Finalmente o elemento D é colocado nas 4 possíveis posições em cada uma das 6 seqüências da terceira etapa, resultando nas 24 permutações possíveis para o conjunto de 4 elementos. DCBA CDBA CBDA CBAD DBCA BDCA BCDA BCAD DBAC BDAC BADC BACD DCAB CDAB CADB CABD DACB ADCB ACDB ACBD DABC ADBC ABDC ABCD

395 363 I.2 Recursividade Por tratar-se de um procedimento repetitivo é comum encontrar na literatura rotinas que usam a técnica de programação denominada recursividade. Segundo Herget (1989, p.363) recursividade é a técnica através da qual uma rotina faz chamadas a si mesma durante a realização de uma determinada tarefa. O autor ainda acrescenta que essa técnica pode resultar em algoritmos de difícil compreensão e depuração, apesar de poder realizar as tarefas de forma mais elegante e veloz. UFMG (2004, p.77) alerta que todo cuidado é pouco ao se fazer funções recursivas, sendo que a primeira providência é determinar um critério de parada. É esse critério que vai definir quando a função deverá parar de chamar a si mesma, impedindo que entre em um ciclo infinito. Um ponto importante a ser considerado ao criar algoritmos recursivos é a quantidade de memória destinada à pilha. A pilha é um bloco de memória onde o programa controla as repetidas chamadas à função (HERGET, 1989, p.363). Quando a função é chamada ela deve ter um conjunto de diferentes registradores de trabalho que devem ser alocados e também um lugar diferente para armazenar seu resultado (BARRON, 1970, p.34). Quando sair, antes de transferir o controle para o endereço de retorno, o ambiente (registradores de trabalho etc) devem restaurar a condição existente quando a função foi chamada. Apesar de certos algoritmos serem mais eficientes quando feitos de maneira recursiva, UFMG (2004, p.77) destaca que é interessante evitar essa técnica sempre que possível, pois, se usada incorretamente, tende a consumir muita memória, tornar-se lenta ou levar ao travamento do sistema. Além disso, segundo Barron (1970, p.7), todas as relações recursivas podem ser reduzidas para definições interativas. I.3 Técnica adotada Para evitar as dificuldades decorrentes da recursividade elaborou-se um procedimento para a geração de todas as combinações de n elementos usando um único vetor com dimensão n!.

396 364 A idéia é gerar as novas seqüências da parte inferior do vetor para a superior, sobrepondo as seqüências do passo anterior. Basicamente o que o procedimento faz é realizar o sincronismo entre a célula de origem (seqüência anterior) e a célula destino (nova seqüência). O pseudocódigo do Quadro I.1 ilustra o procedimento elaborado. Os n elementos a serem permutados são armazenados no vetor E que possui dimensão n e é do tipo caractere. As permutações serão realizadas no vetor P de dimensão n! e também do tipo caractere. A variável e é o contador de elementos enquanto a variável i é o contador de inserções. A variável ni recebe o número de inserções de cada elemento. A variável O identifica a célula de origem e a D a célula de destino. Quadro I.1 - Pseudocódigo do gerador de permutações P(1) = E(1) Para e de 2 até n O = Fatorial(e - 1) D = Fatorial(e) ni = D / O Faça Para i de 1 até ni Se i = 1 então P(D)=E(e) + P(O) Primeira inserção Se i = ni então P(D)=P(O) + E(e) Última inserção Se i > 1 e i < ni então 'Demais inserções A= i primeiros caracteres de P(O) B= do caractere i + 1 até o final de P(O) P(D) = A + E(e) + B Fim-se D = D - 1 Fim-para O = O - 1 Enquanto O > 0 Fim-para Um exemplo de aplicação torna mais simples a compreensão do procedimento. Supondo n=3 e E={A, B, C} tem-se que o vetor P tem dimensão 6. A primeira linha do pseudocódigo coloca o primeiro elemento de E no primeiro elemento de P, como mostra a Figura I.1. A Figura I.1 - Vetor P com o primeiro elemento

397 365 Entrando pela primeira vez no ciclo de contagem de elementos faz-se e=2. A célula de origem será O=1 e a célula de destino será D=2. O número de inserções do elemento B será ni=2. Na seqüência entra-se no ciclo que controla a célula de origem do vetor P (Faça... Enquanto O>0). O valor de O só é atualizado após o ciclo interno de inserção (Para i de 1 até ni... Fim-para). O ciclo de inserção é executado 2 vezes pois ni=2. Na primeira execução tem-se i=1 e a regra de primeira inserção é disparada, gerando a primeira seqüência desta fase, como mostra a Figura I.2. Origem Destino A E(2)=B A BA Figura I.2 - Vetor P antes e depois da primeira inserção do elemento B Após a primeira inserção a célula de destino é atualizada em direção ao topo do vetor por meio da declaração D=D-1. Isso fará com que na próxima execução do ciclo de inserção tanto a origem quanto o destino sejam a primeira célula de P. Nota-se também que a regra de inserção que será disparada é a que adiciona o elemento B no final do conteúdo da célula de origem, como mostra a Figura I.3. Origem Destino A E(2)=B AB BA Figura I.3 - Vetor P antes e depois da segunda inserção do elemento B Após essa operação a variável D é atualizada para zero devido a declaração D=D-1 e, em seguida, encerra-se o ciclo de inserções do segundo elemento (B) e faz-se O=O-1. Como o valor de O será zero o ciclo de controle

398 366 de origem também é encerrado, retornando o controle para o ciclo principal que fará e=3. Na seqüência tem-se O=2, D=6 e, conseqüentemente, ni=3. O ciclo de inserção será executado 3 vezes mantendo como origem a célula 2 (BA). Os destinos serão as células 6, 5 e 4 (Figura I.4). Origem AB BA AB BA Destino 3 Destino 2 Destino 1 E(3)=C BAC BCA CBA Figura I.4 - Inserções do elemento C na primeira origem Após a terceira inserção tem-se D=3, a origem é atualizada (O=1) e o ciclo de inserção será executado novamente 3 vezes. Nota-se que os três destinos serão agora as células 3, 2 e 1. Quando a célula 2 for atualizada o seu conteúdo anterior será perdido, porém como já foi usado nas inserções anteriores não fará falta. A Figura I.5 mostra as 3 últimas inserções do último elemento. Origem Destino 3 Destino 2 Destino 1 AB BA E(3)=C ABC ACB CAB BAC BAC BCA BCA CBA CBA Figura I.5 - Últimas 3 inserções do elemento C Nota-se que a cada novo elemento a ser inserido a primeira célula de origem é onde foi colocada à última seqüência gerada na etapa anterior e que a primeira célula de destino é a mais inferior necessária para a etapa. Tanto origem como destino vão sendo atualizadas em direção ao topo do vetor de forma que quando os dados da etapa anterior forem sobrepostos é porque já foram usados. Essa sobreposição dos elementos anteriores fica clara pela observação da Figura I.6. Essa figura mostra a subida das origens e dos destinos com a

399 367 inserção de um quarto elemento (D). A quinta inserção sobrepõe as duas primeiras origens. A última inserção as quatro últimas. ABC ABC ABC ABC ACB ACB ACB ACB CAB CAB CAB CAB BAC BAC BAC BAC BCA BCA BCA ACBD CBA CBA CBA ACDB ADCB DACB CABD CABD CADB CADB CDAB CDAB DCAB DCAB BACD BACD BADC BADC BDAC BDAC DBAC DBAC BCAD BCAD BCAD BCDA BCDA BCDA BDCA BDCA BDCA DBCA DBCA DBCA CBAD CBAD CBAD CBDA CBDA CBDA CDBA CDBA CDBA DCBA DCBA DCBA Figura I.6 - Passos para inserção de um quarto elemento I.4 Implementação computacional Os exemplos apresentados consideram que cada elemento é representado por um único caractere. Porém, para os propósitos deste trabalho, esses elementos serão os números que representam os processos que, em geral, são representados numericamente e com mais de um algarismo. Sendo assim, para permitir que os elementos a serem permutados possuam mais de um caractere optou-se por adotar o sinal - para indicar o final de cada elemento. A adoção deste indicador levou a inclusão de uma rotina que separa corretamente os elementos quando uma inserção ocorre no meio dos mesmos. A Figura I.7 mostra a tela do programa que foi implementado para testar o procedimento de permutação.

400 368 Figura I.7 - Tela do programa de permutação No campo superior digitam-se os elementos a permutar. O botão Analisa verifica quantos elementos existem, calcula o número de permutações e libera o botão Gerar. Essas informações são apresentadas abaixo dos botões. O botão Gerar executa o procedimento proposto anteriormente e, ao final, gera um arquivo tipo TXT com o resultado (Figura I.8). Também foi implementada uma rotina de ordenação do tipo Bubble Sort para facilitar a análise dos resultados. A implementação desse algoritmo é simples, porém obtém um baixo desempenho, consumindo muito tempo. Figura I.8 - Permutação dos elementos da Figura I.7

401 369 Para verificar seu desempenho o programa foi testado com um número de elementos maior do que os que serão usados na pesquisa. A Figura I.9 mostra que a permutação de 10 elementos consumiu 23 segundos enquanto que a gravação do arquivo demorou 7 segundos. Esses tempos foram obtidos em um Athlon XP operando a 2.08 GHz e com 1 Gb de memória Ram. Nota-se no lado superior esquerdo da figura que o arquivo com as permutações ficou com mais de 81 Mb. Figura I.9 - Teste de permutação com 10 elementos

402 370 APÊNDICE J - Gerador de seqüências

403 371 J.1 Introdução Este apêndice apresenta o procedimento elaborado para gerar as seqüências de fabricação a partir das relações previstas no diagrama de precedência das peças. Trata-se da união dos procedimentos descritos nos apêndices D e I. No apêndice D foi apresentada a rotina que lê o arquivo da peça, define o número de níveis e em a qual nível cada operação pertence. Com base nessa informação basta executar a permutação das operações de cada nível usando a rotina descrita no apêndice I. J.2 Procedimento básico O procedimento básico é dividir as operações em níveis e realizar as permutações entre as operações de cada nível para, em seguida, agrupá-las nas seqüências finais. Um exemplo auxilia a compreender o raciocínio. Na Figura J.1 vê-se as relações de precedência para uma peça com 7 operações divididas em 4 níveis. Estas relações permitem obter 12 seqüências. Figura J.1 - Relações de precedência de uma peça Os níveis 1 e 4 possuem apenas uma operação cada um. Como resultado suas permutações são os próprios elementos. O nível 2 possui três operações que levam a 6 permutações e o nível 3, com duas operações, terá 2 permutações. O Quadro J.1 mostra as permutações de cada um dos quatro níveis (observa-se que as operações são separadas pelo caractere -, como discutido no Apêndice I).

404 372 Quadro J.1 - Permutações de cada nível Nível Permutações A- B-C-D- B-D-C- C-B-D- C-D-B- D-B-C- D-C-B- E-F- F-E- G- A união dos níveis leva à composição das seqüências finais. No Quadro J.2 tem-se a combinação dos dois primeiros níveis. O número de novas combinações é igual à multiplicação do número de seqüências de cada nível. Quadro J.2 - Composição dos níveis 1 e 2. Nível Permutações A-B-C-D- A-B-D-C- A-C-B-D- A-C-D-B- A-D-B-C- A-D-C-B- E-F- F-E- G- O Quadro J.3 mostra inicialmente a composição dos dois primeiros níveis com o nível 3 e, no lado direito, a composição dos 4 níveis. Quadro J.3 - Composições finais Nível Permutações A-B-C-D-E-F- A-B-D-C-E-F- A-C-B-D-E-F- A-C-D-B-E-F- A-D-B-C-E-F- A-D-C-B-E-F- A-B-C-D-F-E- A-B-D-C-F-E- A-C-B-D-F-E- A-C-D-B-F-E- A-D-B-C-F-E- A-D-C-B-F-E- G- A-B-C-D-E-F-G- A-B-D-C-E-F-G- A-C-B-D-E-F-G- A-C-D-B-E-F-G- A-D-B-C-E-F-G- A-D-C-B-E-F-G- A-B-C-D-F-E-G- A-B-D-C-F-E-G- A-C-B-D-F-E-G- A-C-D-B-F-E-G- A-D-B-C-F-E-G- A-D-C-B-F-E-G-

405 373 J.3 Implementação computacional Dependendo das relações de precedência o procedimento tem que manipular um grande número de seqüências, podendo consumir toda a memória do sistema. Assim, nesta implementação, optou-se por armazenar as permutações dos níveis em arquivos ao invés de manter os dados na memória. O fluxograma da Figura J.2 mostra em sua parte superior o ciclo que gera as permutações de cada nível e seus respectivos arquivos. O ciclo da parte inferior do fluxograma representa a manipulação dos arquivos de níveis para gerar as seqüências. INÍCIO Leitura das relações de precedência da peça Divide as operações em níveis Nível=1 Nível=Nível+1 Gera as permutações das operações deste nível e grava em um arquivo N Último nível? S Nível=1 Combina as seqüências do Nível com as do Nível+1 e grava em um arquivo temporário Apaga o arquivo do Nível e do Nível+1. Renomeia o arquivo temporário para Nível+1 Nível=Nível+1 N Penúltimo nível? S Renomeia arquivo Nível+1 para Seqüências FIM Figura J.2 - Fluxograma do gerador de seqüências

406 374 O procedimento foi implementado em um programa protótipo para que sua funcionalidade fosse verificada. Na Figura J.3 tem-se a tela do programa onde é possível observar, do lado esquerdo, as relações de precedência da peça mostrada pela Figura J.1 e do lado direito as informações referentes à execução do procedimento. Figura J.3 - Tela do programa protótipo Como as relações de precedência geram apenas 4 níveis e 12 seqüências o tempo de processamento é desprezível. O programa cronometra o tempo consumido no procedimento de permutação de cada nível, o tempo de composição de um nível com o nível seguinte e o tempo total gasto em todo processo. A Figura J.4 mostra os arquivos gerados após a execução do programa, para o exemplo da Figura J.1. O arquivo AL8 contém as informações de precedência da peça e o arquivo LOG traz os mesmos dados mostrados no lado direito da janela do programa. No arquivo PRO estão todos os processos gerados pelo procedimento. Há também um arquivo TXT com as permutações de cada nível. Esses arquivos são cópias dos arquivos que são apagados durante o procedimento de composição, como descrito no fluxograma. Na realidade o único arquivo de interesse é o PRO, porém, durante a fase de depuração do programa, os demais arquivos são necessários para acompanhar a execução do algoritmo e avaliar seu funcionamento.

407 375 Figura J.4 - Arquivos gerados para a peça da Figura J.1 Depois de confirmada a correta operação usando exemplos pequenos realizou-se um teste para verificar se o programa poderia trabalhar com peças que geram muitas seqüências. Adotou-se como teste o exemplo apresentado por Groover (1987, p.169) que é composto por 24 operações. O algoritmo dividiu essas operações em 10 níveis que geram seqüências. As relações de precedência dessa peça são mostradas pela Figura J.5. A Figura J.6 mostra a tela do programa após a conclusão do processo que levou pouco mais de 50 minutos. O tempo gasto na geração dos níveis é desprezível pois o maior número de permutações foi 120 (5!). Nota-se que o processo de composição dos níveis é o grande consumidor de tempo. Os arquivos gerados para esse exemplo são mostrados pela Figura J.7. Enquanto os arquivos de níveis são pequenos o arquivo com todos os processos tem um tamanho considerável, atingindo quase 429 MB ou, mais exatamente, KB (1 MB = 1024 KB por usar base 2 sistema binário).

408 376 Figura J.5 - Exemplo de Groover (1987, p.169) Figura J.6 - Tela com os dados do exemplo de Groover (1987, p.169)

409 377 Figura J.7 - Arquivos gerados para o exemplo de Groover (1987, p.169) J.4 Comentários sobre o desempenho computacional O computador possuía processador Athlon XP2600+ (2.08 Ghz), 1 GB de RAM, HD Maxtor 6L040J2 (PATA 37, 40GB, 7200 rpm, 2Mb de buffer) formatado em FAT32 38 e modo de transferência UltraDMA-6. O disco foi desfragmentado antes do programa ser executado (Windows 98 SE2). Na geração de um número elevado de seqüências a composição dos níveis é o grande consumidor de tempo porque os tempos de acesso de uma unidade de disco rígido são extremamente superiores aos da memória RAM. Soma-se a isso o fato da composição manipular 3 arquivos simultaneamente e que o tamanho desses arquivos eleva-se rapidamente. O tempo da composição 1 foi desprezível e gerou combinações. O Quadro J.4 mostra os seguintes detalhes: nome do arquivo, número de elementos armazenados e tamanho real (o tamanho mostrado pelo gerenciador de arquivos é arredondado e depende do tamanho do cluster 39 ). 37 PATA significa Parallel ATA. É um dos tipos de interface de unidades de disco rígido. 38 FAT significa File Allocation Table (tabela de alocação de arquivos). É uma espécie de tabela que contém as indicações de onde estão localizados cada arquivo em uma unidade de disco. 39 Cluster é o nome da menor unidade de alocação de arquivos que pode ser reconhecido pelo sistema operacional e seu tamanho depende do tamanho da partição e do tipo de formatação.

410 378 Quadro J.4 - Composição dos níveis 1 e 2 Arquivo 1 Arquivo 2 Arquivo 3 Tempo Nível_1.txt bytes Nível_2.txt bytes Temp.txt ,7 Kb 00s Os detalhes das demais composições estão detalhados pelo Quadro J.5, lembrando que após completada cada composição os Arquivos 1 e 2 são apagados e o Arquivo 3 recebe o nome do Arquivo 2 para iniciar a composição seguinte. Os valores mostram que cada uma das cinco últimas composições movimentou aproximadamente 800 MB de dados e, sendo assim, os tempos foram similares. Quadro J.5 - Dados das composições Composição Arquivo 1 Arquivo 2 Arquivo 3 Tempo Nível_2.txt ,7 Kb Nível_3.txt ,6 MB Nível_4.txt MB Nível_5.txt MB Nível_6.txt MB Nível_7.txt MB Nível_8.txt MB Nível_9.txt MB Nível_3.txt bytes Nível_4.txt 2 18 bytes Nível_5.txt 2 18 bytes Nível_6.txt 1 7 bytes Nível_7.txt 1 7 bytes Nível_8.txt 1 7 bytes Nível_9.txt 1 7 bytes Nível_10.txt 1 7 bytes Temp.txt ,6 MB Temp.txt MB Temp.txt MB Temp.txt MB Temp.txt MB Temp.txt MB Temp.txt MB Temp.txt MB 00m 15s 02m 25s 04m 44s 08m 26s 08m 29s 08m 32s 08m 34s 08m 36s

411 379 J.5 Comentários finais sobre o gerador de seqüências O procedimento implementado mostrou-se bastante robusto e funcional apesar do baixo desempenho obtido devido a opção de armazenamento de dados em arquivos de disco. Porém, como as peças a serem roteadas na simulação não geram um número elevado de seqüências, optou-se, na implementação final, por não usar armazenamento de dados em arquivos, ou seja, todos os dados são manipulados em vetores diretamente na memória RAM, oferecendo um desempenho superior. Essa implementação não foi testada com exemplos grandes como o apresentado neste apêndice devido a grande probabilidade de ser necessária mais memória RAM e, provavelmente, extrapolar os limites gerenciáveis pelo Visual Basic. A implementação do procedimento usando outra linguagem de programação pode contornar essa barreira. Um outro limitante, que não foi atingido pelo exemplo testado, é o tamanho máximo do arquivo a ser manipulado. Na formatação FAT32 o sistema operacional pode manipular arquivos de até 4GB enquanto que não existe limite na formatação NTFS. Foi notada uma possibilidade de melhoria no desempenho do programa mas, por ser desnecessário para o trabalho, não foi implementada. Trata-se da união de níveis que são compostos por poucas operações antes do procedimento de composição. No exemplo de Groover (1987, p.169) os últimos 5 níveis são compostos por apenas 1 operação cada, cuja seqüência será a mesma em todos os processos: Unidas elas formariam o Nível_6 e o processo todo seria reduzido em 34 minutos aproximadamente. Uma opção ainda melhor seria se os últimos 7 níveis fossem processados antes dos demais, formando um novo Nível_4 que teria apenas 4 seqüências com as 9 operações finais:

412 380 Nessa situação é provável que todo o processo fosse encerrado em menos de 5 minutos. Usando discos rígidos de rpm, interface SATA-II 40, 16MB de buffer e configuração RAID 41 a taxa de transferência seria ainda maior aumentando o desempenho e diminuindo o tempo consumido. 40 SATA-II significa Serial ATA versão 2. É uma interface de unidades de disco lançada entre 2002 e 2003 que possui taxa de transferência teórica de 300 MB/s (com previsão de atingir 600 MB/s em 2007). 41 RAID significa Redundant Array of Independent Drives. Trata-se de uma técnica pela qual vários discos rígidos físicos são associados logicamente de modo a prover tolerância a falhas e/ou melhorar o desempenho do sistema (aumentando a taxa de transferência e reduzindo os tempos de acesso).

413 APÊNDICE K - Estrutura do arquivo SCH 381

414 382 K.1 O arquivo SCH O arquivo SCH é um arquivo de texto puro (ASCII) que contém todas as informações necessárias para gerar o gráfico de Gantt, ou seja, dados do arranjo físico, dados das peças e dados do roteamento. Com relação ao arranjo físico apenas os nomes das máquinas são necessários, mas optou-se por armazenar também a disposição das mesmas permitindo recuperar essa informação sem a necessidade de outro arquivo. Antes de cada informação gravada há uma linha explicativa sobre o dado, facilitando o entendimento do arquivo quando aberto em um editor de textos. Essas linhas explicativas iniciam-se com os caracteres =>. Para facilitar a compreensão da estrutura adotada para o arquivo SCH será usado o mesmo exemplo do Apêndice H, cujo arranjo físico é mostrado pela Figura K.1 e gráfico de Gantt pela Figura K.2, lembrando que trata-se do roteamento de 4 peças com 4 operações que duram 10 unidades de tempo na seguinte ordem de processos: No Quadro K.1 tem-se o arquivo SCH correspondente Figura K.1 - Arranjo físico P1 P2 P3 P P1 P2 P3 P , 10 10, 20 20, 30 30, P1 P2 P3 P , 20 20, 30 30, 40 40, P1 P2 P3 P , 30 30, 40 40, 50 50, P1 P2 P3 P , 40 40, 50 50, 60 60, Figura K.2 - Gráfico de Gantt e matriz de alocação

415 383 Quadro K.1 - Arquivo SCH -- Arquivo SCH versão 2 -- => Descrição Gerado em 28/06/2006 às 16:18:37 => Tipo de roteamento Roteamento sem flexibilidade de seqüência. => DADOS DO ARRANJO FÍSICO Exemplo de programação => Número de linhas do arranjo 3 => Número de colunas do arranjo 3 => Número de processos 4 => Método de geração do arranjo Edição manual => Grau de distribuição => Disposição das máquinas 2.01, 4.01, , 1.01, , 3.02, 3.03 Fim dos dados do arranjo. => DADOS DAS PEÇAS => Diretório das peças E:\Exemplo SCH\Pecas_01 => Número de peças 4 P1.PEC 10, 10, 10, 10 P2.PEC 10, 10, 10, 10 P3.PEC 10, 10, 10, 10 P4.PEC 10, 10, 10, 10 Fim dos dados das peças. => DADOS DO ROTEAMENTO => INÍCIOS 0, 0, 10, 20, 0, 0, 30, 0, 0 10, 0, 20, 30, 0, 0, 40, 0, 0 20, 0, 30, 40, 0, 0, 50, 0, 0 30, 0, 40, 50, 0, 0, 60, 0, 0 => FINAIS 10, 0, 20, 30, 0, 0, 40, 0, 0 20, 0, 30, 40, 0, 0, 50, 0, 0 30, 0, 40, 50, 0, 0, 60, 0, 0 40, 0, 50, 60, 0, 0, 70, 0, 0 Fim dos dados de roteamento. => MakeSpan 70 => Distâncias percorridas => Distância total 20 => Tempo de processamento 00h 00m 00.02s Fim do arquivo SCR.

416 384 A primeira linha é um identificador de arquivo. Quando o arquivo é aberto verifica-se se contém exatamente esse texto. Caso a comparação seja verdadeira o processo de leitura continua e, no caso contrário, uma mensagem de erro é apresentada ao usuário. Essa verificação impede que um arquivo qualquer seja renomeado com extensão SCH e gere erros no programa. O primeiro bloco de informações traz dois dados: data e hora em que foi gerado e o tipo de roteamento usado (com ou sem flexibilidade de seqüenciamento de operações). O segundo bloco traz os dados do arranjo físico: nome (definido pelo usuário no programa gerador de arranjos físicos), número de linhas e colunas, número de processos, forma de geração, grau de distribuição e disposição das máquinas. Para simplificar a visualização adotou-se armazenar cada linha do arranjo físico em uma linha do arquivo SCH usando o caractere vírgula como separador 42. Comparando estes dados e o arranjo físico da Figura K.1 verificase a correlação direta dos dados. O segundo bloco encerra-se com uma linha de verificação (Fim dos dados do arranjo.) que é comparada no processo de leitura do arquivo. Caso haja uma edição manual dos dados e estes fiquem inconsistentes, como a alteração do número de linhas ou colunas por exemplo, uma mensagem de erro será apresentada. O bloco de dados seguinte traz informações sobre as peças, sendo as primeiras o diretório onde os arquivos estavam localizados e sua quantidade. Em seguida vem uma seqüência de linhas onde a primeira traz o nome do arquivo da peça e a segunda traz a duração de cada operação em cada um dos processos do arranjo físico. O bloco também é encerrado com uma linha de verificação. A compreensão desses dados pode ficar prejudicada pois o exemplo adotado traz peças que usam todos os processos e cujos tempos são iguais. Tomemos então como exemplo duas peças em um arranjo físico que possua 15 processos, como mostra a Figura K Em um arquivo seqüencial os dados devem estar em linhas distintas ou separados por vírgulas (ou outro caractere determinado pela linguagem de programação usada).

417 385 Figura K.3 - Peças para arranjo com 15 processos Essas duas peças seriam armazenadas no arquivo SCH da forma mostrada pelo Quadro K.2. Como o arranjo físico possui 15 processos cada peça é representada por 15 valores. Cada valor corresponde ao tempo da operação no processo definido pela ordem dos dados, ou seja, o primeiro dado é o tempo da operação que usa o processo 1 e o último é o tempo da operação que usa o processo 15. Quadro K.2 - Dados das peças P001.PEC 0, 0, 0, 0, 0, 27, 0, 92, 27, 0, 62, 0, 14, 36, 0 P002.PEC 39, 0, 0, 0, 66, 0, 15, 0, 0, 88, 0, 28, 0, 0, 95 Como a peça P001 não usa os processos 1, 2, 3, 4, 5, 7, 10, 12 e 15 os tempos referentes a eles são representados por 0. Não são armazenadas informações sobre as relações de precedência e nem sobre a seqüência adotada pelo roteamento. O quarto bloco de dados traz as informações do roteamento, mais especificamente, da matriz de alocação. Esses dados são divididos em duas partes. A primeira traz os instantes de início das operações e a segunda os instantes de finalização. O bloco também é encerrado com a linha de verificação Fim dos dados de roteamento.. Cada parte das informações de roteamento é representada por uma matriz cujo número de linhas corresponde ao número de peças roteadas e o número de colunas corresponde ao número de máquinas do arranjo físico.

418 386 A Figura K.4 mostra a matriz de alocação da Figura K.2 e sua versão transposta que possibilita uma comparação direta com os valores armazenados no arquivo SCH do Quadro K.1, cujo quarto bloco de dados também está representado P1 P2 P3 P P P P3 P => INÍCIOS 0, 0, 10, 20, 0, 0, 30, 0, 0 10, 0, 20, 30, 0, 0, 40, 0, 0 20, 0, 30, 40, 0, 0, 50, 0, 0 30, 0, 40, 50, 0, 0, 60, 0, 0 => FINAIS 10, 0, 20, 30, 0, 0, 40, 0, 0 20, 0, 30, 40, 0, 0, 50, 0, 0 30, 0, 40, 50, 0, 0, 60, 0, 0 40, 0, 50, 60, 0, 0, 70, 0, 0 Figura K.4 - Organização dos dados de roteamento O bloco de dados final contém 5 informações: tempo total consumido pelas peças (makespan), distância percorrida por cada peça, distância total percorrida pelo conjunto de peças e o tempo de processamento do conjunto de peças no arranjo físico. A última linha do arquivo também é usada na verificação ( Fim do arquivo SCH. ).

419 APÊNDICE L - Testes de Hipótese 387

420 388 L.1 Comentários iniciais Neste apêndice estão os testes de hipótese realizados para confirmar que as diferenças percentuais detectadas entre os roteamentos rígidos e flexíveis são estatisticamente relevantes. Para cada teste é apresentada a fonte dos dados (quadro de origem, do capítulo 8) e uma figura que resume todo o procedimento. No lado esquerdo das figuras estão os dados de cada população, o tipo de teste adotado e o nível de significância escolhido. Ainda do lado esquerdo um gráfico apresenta a curva normal padrão, a região de rejeição (em cinza) e também o valor da estatística de teste Z (linha vermelha). Do lado direito das figuras estão os detalhes do procedimento do teste, desde a formulação das hipóteses nula e alternativa até a conclusão final, que é a mesma em todos os casos. Todos os testes utilizaram o nível de significância de 5%, mas a observação dos gráficos mostra que qualquer outro valor levaria a mesma conclusão. Ao teste de hipótese do arranjo físico desequilibrado pequeno também foi incluído neste apêndice apesar de ter sido apresentado no capítulo 9.

421 389 L.2 Arranjos físicos desequilibrados pequenos A Figura L.1 apresenta o teste de hipótese para os arranjos físicos desequilibrados pequenos, cujos dados originais são provenientes do Quadro 8.1 (roteamento rígido - população 1) e Quadro 8.3 (roteamento flexível - população 2). Figura L.1 - Teste de hipótese (AFDP)

Análise do desempenho dos arranjos físicos distribuídos operando sob roteamento de peças com flexibilidade de seqüenciamento

Análise do desempenho dos arranjos físicos distribuídos operando sob roteamento de peças com flexibilidade de seqüenciamento Análise do desempenho dos arranjos físicos distribuídos operando sob roteamento de peças com flexibilidade de seqüenciamento José Hamilton Chaves Gorgulho Júnior (UNIFEI) gorgulhojunior@ig.com.br Eduardo

Leia mais

ANÁLISE DO DESEMPENHO DOS ARRANJOS FÍSICOS DISTRIBUÍDOS OPERANDO SOB ROTEAMENTO DE PEÇAS COM FLEXIBILIDADE DE SEQÜENCIAMENTO

ANÁLISE DO DESEMPENHO DOS ARRANJOS FÍSICOS DISTRIBUÍDOS OPERANDO SOB ROTEAMENTO DE PEÇAS COM FLEXIBILIDADE DE SEQÜENCIAMENTO Universidade Tecnológica Federal do Paraná - UTFPR Campus Ponta Grossa - Paraná - Brasil ISSN 1808-0448 / v. 03, n. 01: p. 01-12, 2007 ANÁLISE DO DESEMPENHO DOS ARRANJOS FÍSICOS DISTRIBUÍDOS OPERANDO SOB

Leia mais

Nova abordagem na geração de arranjo físico maximamente distribuído

Nova abordagem na geração de arranjo físico maximamente distribuído Nova abordagem na geração de arranjo físico maximamente distribuído José Hamilton Chaves Gorgulho Júnior (UNIFEI) gorgulhojunior@ig.com.br Eduardo Vila Gonçalves Filho (EESC-USP) evila@sc.usp.br Resumo

Leia mais

Uma solução computacional para geração automática de peças com flexibilidade de processo para simulação

Uma solução computacional para geração automática de peças com flexibilidade de processo para simulação Uma solução computacional para geração automática de peças com flexibilidade de processo para simulação José Hamilton Chaves Gorgulho Júnior (UNIFEI) gorgulhojunior@ig.com.br Eduardo Vila Gonçalves Filho

Leia mais

Curvas de Preenchimento Espacial

Curvas de Preenchimento Espacial Universidade Federal de Itajubá - UNIFEI Instituto de Engenharia de produção e Gestão - IEPG EPR-0 Automação da Manufatura Notas sobre: Curvas de Preenchimento Espacial http://people.csail.mit.edu/jaffer/geometry/hilbert-play.jpg

Leia mais

Flexibilidade de Sequenciamento

Flexibilidade de Sequenciamento Universidade Federal de Itajubá - UNIFEI Instituto de Engenharia de produção e Gestão - IEPG EPR-03 Automação da Manufatura Notas sobre: Flexibilidade de Sequenciamento Prof. José Hamilton Chaves Gorgulho

Leia mais

Uma solução computacional para geração automática de peças com flexibilidade de processo para simulação

Uma solução computacional para geração automática de peças com flexibilidade de processo para simulação Uma solução computacional para geração automática de peças com flexibilidade de processo para simulação Eduardo Vila Gonçalves Filho (EESC USP) evila@sc.usp.br José Hamilton Chaves Gorgulho Júnior (UNIFEI)

Leia mais

RESOLUÇÃO Nº 005/2013 CONSEPE

RESOLUÇÃO Nº 005/2013 CONSEPE RESOLUÇÃO Nº 005/2013 CONSEPE Aprova alteração curricular do Curso de Engenharia de Produção Habilitação Mecânica, do Centro de Educação do Planalto Norte - CEPLAN, da Fundação Universidade do Estado de

Leia mais

1.1 o que é um algoritmo... 6

1.1 o que é um algoritmo... 6 sumário introdução 1 1 fundamentos 5 1.1 o que é um algoritmo... 6 1.1.1 algoritmos executados por um computador...7 1.1.2 comandos básicos executados por um computador...11 1.1.3 da necessidade do desenvolvimento

Leia mais

FORMAÇÃO ESPONTÂNEA DE CÉLULAS FRACTAIS NA MAXIMIZAÇÃO DA DISTRIBUIÇÃO DE MÁQUINAS EM ARRANJOS FÍSICOS

FORMAÇÃO ESPONTÂNEA DE CÉLULAS FRACTAIS NA MAXIMIZAÇÃO DA DISTRIBUIÇÃO DE MÁQUINAS EM ARRANJOS FÍSICOS FORMAÇÃO ESPONTÂNEA DE CÉLULAS FRACTAIS NA MAXIMIZAÇÃO DA DISTRIBUIÇÃO DE MÁQUINAS EM ARRANJOS FÍSICOS José Hamilton Chaves Gorgulho Júnior Universidade Federal de Itajubá (UNIFEI) Av. BPS, 1303, Bairro

Leia mais

Novos métodos para a elaboração de layouts distribuídos visando minimizar o grau de distribuição a um tempo computacional satisfatório

Novos métodos para a elaboração de layouts distribuídos visando minimizar o grau de distribuição a um tempo computacional satisfatório Novos métodos para a elaboração de layouts distribuídos visando minimizar o grau de distribuição a um tempo computacional satisfatório Shih Yung Chin (USP-São Carlos, EESC, Depto. Engenharia Mecânica,

Leia mais

TG: Tecnologia de Grupo (Group Technology)

TG: Tecnologia de Grupo (Group Technology) UNIFEI EME006 - Automação Industrial TG: Tecnologia de Grupo (Group Technology) Aula 02 Prof. José Hamilton Chaves Gorgulho Júnior 1 TG Conjunto de métodos e técnicas que buscam obter famílias de peças

Leia mais

PLANO DE ENSINO. 2. OBJETIVO GERAL Permitir ao aluno compreender os conceitos fundamentais relacionados ao desenvolvimento de aplicações para a Web.

PLANO DE ENSINO. 2. OBJETIVO GERAL Permitir ao aluno compreender os conceitos fundamentais relacionados ao desenvolvimento de aplicações para a Web. INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA DE SANTA CATARINA IFSC Departamento Acadêmico de Saúde e Serviços - DASS Núcleo de Informática e Sistemas Curso Superior de Tecnologia em Gestão da Tecnologia

Leia mais

Engenharia de Materiais e Manufatura SISTEMAS DE MANUFATURA

Engenharia de Materiais e Manufatura SISTEMAS DE MANUFATURA Engenharia de Materiais e Manufatura SISTEMAS DE MANUFATURA Tópicos da Aula 1. Introdução 2. Arquiteturas dos Sistemas de Manufatura 3. Flexibilidade na Manufatura e sua Importância 4. Tipos de Flexibilidade

Leia mais

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo

Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Um Algoritmo Genético para o Problema de Roteamento de Veículos com Janelas de Tempo Francisco Henrique de Freitas Viana Pontifícia Universidade Católica do Rio de Janeiro PUC-Rio Departamento de Informática

Leia mais

Gustavo Simão Rodrigues

Gustavo Simão Rodrigues Gustavo Simão Rodrigues O Problema do Sequenciamento em Uma Única Máquina, com Tempos de Preparação Dependentes da Sequência e Penalidades por Antecipação e Atraso: Estudo de Caso de um Processo de Fabricação

Leia mais

Algoritmo genético para formação de células de fabricação

Algoritmo genético para formação de células de fabricação Algoritmo genético para formação de células de fabricação Eduardo Vila Gonçalves Filho (EESC-USP) evila@sc.usp.br José Hamilton Chaves Gorgulho Júnior (UNIFEI) gorgulhojunior@ig.com.br Ana Rita T. Terra

Leia mais

Localização e arranjo físico de unidades da rede de operações

Localização e arranjo físico de unidades da rede de operações Localização e arranjo físico de unidades da rede de operações Profa. Dra. Márcia Mazzeo Grande RAD1512 Administração: gestão e logística Ambiente Estratégia de operações Estratégia Recursos de entradas

Leia mais

RESOLUÇÃO Nº 030/2012 CONSEPE (Vide Resolução nº 007/2013-CONSEPE)

RESOLUÇÃO Nº 030/2012 CONSEPE (Vide Resolução nº 007/2013-CONSEPE) RESOLUÇÃO Nº 030/2012 CONSEPE (Vide Resolução nº 007/2013-CONSEPE) Aprova alteração curricular do Curso de Licenciatura em Teatro, do Centro de Artes - CEART, da Fundação Universidade do Estado de Santa

Leia mais

Estudo da localização de maternidades em Sergipe através de simulação Monte Carlo

Estudo da localização de maternidades em Sergipe através de simulação Monte Carlo Estudo da localização de maternidades em Sergipe através de simulação Monte Carlo João Batista dos Santos-Filho 1, Tatiana Santos de Araujo Batista 2, José Carlos Rodrigues Oliveira 3,Maria Letícia da

Leia mais

RESOLUÇÃO Nº 021/2010 CONSEPE (Alterada pela Resolução nº 032/2010 CONSEPE)

RESOLUÇÃO Nº 021/2010 CONSEPE (Alterada pela Resolução nº 032/2010 CONSEPE) RESOLUÇÃO Nº 021/2010 CONSEPE (Alterada pela Resolução nº 032/2010 CONSEPE) Aprova alterações curriculares no Programa de Pós Graduação em Ciências do Movimento Humano do Centro de Ciências da Saúde e

Leia mais

MATRIZ CURRICULAR DO CURSO DE ENGENHARIA ELÉTRICA

MATRIZ CURRICULAR DO CURSO DE ENGENHARIA ELÉTRICA 1- BACHARELADO EM ENGENHARIA ELÉTRICA MATRIZ CURRICULAR DO CURSO DE ENGENHARIA ELÉTRICA 1º TERMO Aulas Teóricas Práticas Total Comunicação e Expressão 36-36 Cálculo Diferencial e Integral I 72-72 Informática

Leia mais

parte I Uma estrutura para planejamento e controle, 5

parte I Uma estrutura para planejamento e controle, 5 Prefácio, xiii Nota à Quinta Edição, xv Nota à Quarta Edição, xvii Nota à Terceira Edição, xix Nota à Segunda Edição, xxi Introdução, 1 parte I Uma estrutura para planejamento e controle, 5 1 Contabilidade

Leia mais

TABELA DE CONTRIBUIÇÃO DO SEGURADO EMPREGADO, DOMÉSTICO E AVULSO

TABELA DE CONTRIBUIÇÃO DO SEGURADO EMPREGADO, DOMÉSTICO E AVULSO TABELA DE CONTRIBUIÇÃO DO SEGURADO EMPREGADO, DOMÉSTICO E AVULSO A PARTIR DE 1º DE JANEIRO DE 2010 Salário-de-contribuição (R$) INSS até 1.040,22 8,00% de 1.040,23 até 1.733,70 9,00% de 1.733,71 até 3.467,40

Leia mais

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR

GUIA DE FUNCIONAMENTO DA UNIDADE CURRICULAR Curso Engenharia civil Ano letivo 2013/2014 Unidade Curricular Tecnologia das construções ECTS 4 Regime Obrigatório Ano 2º Semestre 1º semestre Horas de trabalho globais Docente (s) Maria de Jesus de Almeida

Leia mais

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS

ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS ESTÁGIOS DOMINANTES FLEXÍVEIS EM SISTEMAS DE PRODUÇÃO FLOW SHOP HÍBRIDOS João Vitor Moccellin Departamento de Engenharia de Produção Escola de Engenharia de São Carlos, Universidade de São Paulo. Av. Trabalhador

Leia mais

Cadeia de caracteres (strings)

Cadeia de caracteres (strings) BCC 201 - Introdução à Programação I Cadeia de caracteres (strings) Guillermo Cámara-Chávez UFOP 1/1 Cadeia de caracteres I Definição: são seqüências de letras, números ou símbolos onde o último caracter

Leia mais

ANEXO I. Tabela I Reitoria. Nível Cargo Vagas

ANEXO I. Tabela I Reitoria. Nível Cargo Vagas ANEXO I Tabela I Reitoria Nível C Auxiliar em Assuntos Educacionais 1 Nível C Auxiliar de Administração 4 Assistente em Administração 12 Técnico em Arquivo 2 Informática 1 Técnico em Secretariado 3 Técnico

Leia mais

MINISTÉRIO DA EDUCAÇÃO INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA PORTARIAS DE 22 DE JUNHO DE 2012

MINISTÉRIO DA EDUCAÇÃO INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA PORTARIAS DE 22 DE JUNHO DE 2012 MINISTÉRIO DA EDUCAÇÃO INSTITUTO NACIONAL DE ESTUDOS E PESQUISAS EDUCACIONAIS ANÍSIO TEIXEIRA PORTARIAS DE 22 DE JUNHO DE 2012 O Presidente do Instituto Nacional de Estudos e Pesquisas Educacionais Anísio

Leia mais

M a n u e l C e l e s t i n o V i l e l a T e i x e i r a d e A l m e i d a

M a n u e l C e l e s t i n o V i l e l a T e i x e i r a d e A l m e i d a M a n u e l C e l e s t i n o V i l e l a T e i x e i r a d e A l m e i d a AV A L I A Ç Ã O D O E F E I T O D E F O G O S F L O R E S T A I S N O R E G I M E D E E S C O A M E N T O E N A Q U A L I D

Leia mais

Conceitos Básicos de Programação

Conceitos Básicos de Programação BCC 201 - Introdução à Programação Conceitos Básicos de Programação Guillermo Cámara-Chávez UFOP 1/53 Conceitos básicos I Variável 2/53 Conceitos básicos II Posição de memoria, identificada através de

Leia mais

LEI Nº 4.035. De: 04 de julho de 2014. A CÂMARA MUNICIPAL DE UMUARAMA, ESTADO DO PARANÁ, aprovou, e eu, Prefeito Municipal, sanciono a seguinte Lei:

LEI Nº 4.035. De: 04 de julho de 2014. A CÂMARA MUNICIPAL DE UMUARAMA, ESTADO DO PARANÁ, aprovou, e eu, Prefeito Municipal, sanciono a seguinte Lei: LEI Nº 4.035 De: 04 de julho de 2014. Desafeta do domínio público os imóveis localizados no CONJUNTO HABITACIONAL SONHO MEU, na cidade de Umuarama - PR. A CÂMARA MUNICIPAL DE UMUARAMA, ESTADO DO PARANÁ,

Leia mais

Um novo olhar... Um novo olhar...

Um novo olhar... Um novo olhar... PROJETO: PROJETO: REGULARIZAÇÃO REGULARIZAÇÃO AMBIENTAL AMBIENTAL NA NA PERSPECTIVA PERSPECTIVA DO DO DESENVOLVIMENTO DESENVOLVIMENTO TERRITORIAL TERRITORIAL AGROECOLÓGICO AGROECOLÓGICO DOS DOS ASSENTAMENTOS

Leia mais

Alexandre Roberto Rentería ESTIMAÇÃO DE PROBABILIDADE FUZZY A PARTIR DE DADOS IMPRECISOS. Tese de Doutorado

Alexandre Roberto Rentería ESTIMAÇÃO DE PROBABILIDADE FUZZY A PARTIR DE DADOS IMPRECISOS. Tese de Doutorado 1 Alexandre Roberto Rentería ESTIMAÇÃO DE PROBABILIDADE FUZZY A PARTIR DE DADOS IMPRECISOS Tese de Doutorado Tese apresentada ao Programa de Pós-graduação em Engenharia Elétrica da PUC-Rio como requisito

Leia mais

Figura I Experiência prévia em Teatro dos alunos do 1º período do Curso de Graduação em Teatro da EBA/UFMG no 1º semestre de 2009.

Figura I Experiência prévia em Teatro dos alunos do 1º período do Curso de Graduação em Teatro da EBA/UFMG no 1º semestre de 2009. Lista de Figuras Figura I Experiência prévia em Teatro dos alunos do 1º período do Curso de Graduação em Teatro da EBA/UFMG no 1º semestre de 2009. Figura 2- Local onde os alunos, com experiência prévia,

Leia mais

3. Resolução de problemas por meio de busca

3. Resolução de problemas por meio de busca Inteligência Artificial - IBM1024 3. Resolução de problemas por meio de busca Prof. Renato Tinós Local: Depto. de Computação e Matemática (FFCLRP/USP) 1 Principais Tópicos 3. Resolução de problemas por

Leia mais

Iam Vita Jabour. O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML. Dissertação de Mestrado

Iam Vita Jabour. O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML. Dissertação de Mestrado Iam Vita Jabour O Impacto de Atributos Estruturais na Identificação de Tabelas e Listas em Documentos HTML Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de

Leia mais

MATRIZ CURRICULAR DE PSICOLOGIA MÓDULO FUNÇÕES SUB-FUNÇÕES C/H Bases Humanas e Ciências Humanas MÓDULO I Sociais Ciências Sociais Comportamento

MATRIZ CURRICULAR DE PSICOLOGIA MÓDULO FUNÇÕES SUB-FUNÇÕES C/H Bases Humanas e Ciências Humanas MÓDULO I Sociais Ciências Sociais Comportamento INSTITUTO DE ENSINO SUPERIOR DE LONDRINA - INESUL CARGA HORÁRIATOTAL DO CURSO 4250 horas relógio CARGA HORÁRIA DE ESTÁGIO 700 horas relógio CARGA HORÁRIA DAS ATIVIDADES COMPLEMENTARES 350 horas relógio

Leia mais

PROJETO DE ARRANJO FÍSICO MODULAR: UMA ABORDAGEM POR ALGORITMO GENÉTICO DE AGRUPAMENTO

PROJETO DE ARRANJO FÍSICO MODULAR: UMA ABORDAGEM POR ALGORITMO GENÉTICO DE AGRUPAMENTO ! "#$ " %'&)(*&)+,.- /10.2*&4365879&4/1:.+58;.2*=?5.@A2*3B;.- C)D 5.,.5FE)5.G.+ &4- (IHJ&?,.+ /?=)5.KA:.+5MLN&OHJ5F&4E)2*EOHJ&)(IHJ/)G.- D - ;./);.& PROJETO DE ARRANJO FÍSICO MODULAR: UMA ABORDAGEM

Leia mais

CAPÍTULO 1. Conceitos sobre Planeamento e Escalonamento

CAPÍTULO 1. Conceitos sobre Planeamento e Escalonamento CAPÍTULO 1 Conceitos sobre Planeamento e Escalonamento Eugénio Oliveira and Scheduling, FEUP/PRODEI /MIEIC 1 Planeamento e Escalonamento : Processo de tomada de decisão quanto à selecção e (sequenciação)/ordenação

Leia mais

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO PESQUISA ADEMI DO MERCADO IMOBILIÁRIO RELATÓRIO DE ABRIL DE 2014 I INTRODUÇÃO O objetivo deste relatório é analisar os resultados da Pesquisa ADEMI no mês de abril de 2014 no que diz respeito ao VSO (Vendas

Leia mais

4 Implementação Computacional

4 Implementação Computacional 4 Implementação Computacional 4.1. Introdução Neste capítulo é apresentada a formulação matemática do problema de otimização da disposição das linhas de ancoragem para minimizar os deslocamentos (offsets)

Leia mais

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO

UNIVERSIDADE DO ESTADO DO RIO DE JANEIRO DELIBERAÇÃO Nº 26/2014 Estabelece a estrutura departamental do Instituto de Ciências Sociais. O CONSELHO SUPERIOR DE ENSINO, PESQUISA E EXTENSÃO, no uso da competência que lhe atribui o parágrafo único

Leia mais

MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática

MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática MATRIZ DE REFERÊNCIA-Ensino Médio Componente Curricular: Matemática Conteúdos I - Conjuntos:. Representação e relação de pertinência;. Tipos de conjuntos;. Subconjuntos;. Inclusão;. Operações com conjuntos;.

Leia mais

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO PESQUISA ADEMI DO MERCADO IMOBILIÁRIO RELATÓRIO DE MAIO DE 2014 I INTRODUÇÃO O objetivo deste relatório é analisar os resultados da Pesquisa ADEMI no mês de maio de 2014 no que diz respeito ao VSO (Vendas

Leia mais

Fundamentos de Programação

Fundamentos de Programação Fundamentos de Programação CP41F Apresentação do Plano de Ensino Aula 1 Prof. Daniel Cavalcanti Jeronymo Universidade Tecnológica Federal do Paraná (UTFPR) Engenharia de Computação 1º Período 1/16 Professor

Leia mais

XXII CONGRESSO NACIONAL DO CERIMONIAL PÚBLICO XXII CONCEP REGRAS PARA ENVIO E APRESENTAÇÃO TRABALHOS CIENTÍFICOS ORAL E POSTÊR

XXII CONGRESSO NACIONAL DO CERIMONIAL PÚBLICO XXII CONCEP REGRAS PARA ENVIO E APRESENTAÇÃO TRABALHOS CIENTÍFICOS ORAL E POSTÊR 1 XXII CONGRESSO NACIONAL DO CERIMONIAL PÚBLICO XXII CONCEP REGRAS PARA ENVIO E APRESENTAÇÃO TRABALHOS CIENTÍFICOS ORAL E POSTÊR CONGRESSO O XXII Congresso Nacional do Cerimonial Público a ser realizado

Leia mais

FCA - Editora de Informática xv

FCA - Editora de Informática xv Índice Geral Agradecimentos ix Prefácio xi Índice das Simulações xxv 1 - Introdução ao mundo dos computadores 1 1.1 O computador como ferramenta... 2 1.2 A importância dos computadores... 4 1.3 Processamento

Leia mais

EEL - USP. Tipos de produção e Tipos de Arranjo Físico. Prof. Dr. Geronimo

EEL - USP. Tipos de produção e Tipos de Arranjo Físico. Prof. Dr. Geronimo EEL - USP Tipos de produção e Tipos de Arranjo Físico Prof. Dr. Geronimo Sistema de produção Sistema de produção é o conjunto de atividades e operações interrelacionadas envolvidas na produção de bens

Leia mais

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid

Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid 1 Um Algoritmo Genético com Aprendizado por Reforço Simples aplicado ao problema do Mundo de Grid Luciana Conceição Dias Campos Resumo Este trabalho consiste da aplicação de um algoritmo genético ao método

Leia mais

Introdução Capítulo 1: Um Olhar sobre as Funcionalidades e Interface do Microsoft Excel

Introdução Capítulo 1: Um Olhar sobre as Funcionalidades e Interface do Microsoft Excel Introdução... 25 1. Que Usos para o Microsoft Excel?...25 2. Funcionalidades Disponibilizadas pelo Microsoft Excel...25 3. Tabelas e Gráficos Dinâmicos: As Ferramentas de Análise de Dados Desconhecidas...26

Leia mais

MUNICÍPIO DE JUAZEIRO ESTADO DA BAHIA

MUNICÍPIO DE JUAZEIRO ESTADO DA BAHIA LEI Nº 2.293 / 2012 Dispõe sobre a instituição do Bairro Monte Castelo no âmbito urbano do Município de Juazeiro Bahia e dá outras providências. O PREFEITO MUNICIPAL DE JUAZEIRO, Estado da Bahia, no uso

Leia mais

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO PESQUISA ADEMI DO MERCADO IMOBILIÁRIO RELATÓRIO DE OUTUBRO DE 213 I INTRODUÇÃO O objetivo deste relatório é analisar os resultados da Pesquisa ADEMI no mês de outubro de 213 no que diz respeito ao VSO

Leia mais

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA

ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Patrocínio, MG, outubro de 2016 ENCONTRO DE PESQUISA & EXTENSÃO, 3., 2016, Patrocínio. Anais... Patrocínio: IFTM, 2016. ALGORITMO GENÉTICO COMO REPRESENTAÇÃO DAS MUTAÇÕES NA BIOLOGIA Igor Acassio Melo

Leia mais

FACULDADE METODISTA GRANBERY - MATRIZ CURRICULAR - CURSO DE ADMINIS

FACULDADE METODISTA GRANBERY - MATRIZ CURRICULAR - CURSO DE ADMINIS FACULDADE METODISTA GRANBERY - MATRIZ CURRICULAR - CURSO DE ADMINIS 1º PERÍODO MÓDULOS (Hora/Aula) TEMAS Teorias da Administração I - EVOLUÇÃO DA ADMINISTRAÇÃO II - RESPONSABILIDADE CORPORATIVA Adm. Contemporânea

Leia mais

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO

Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO Pós-Graduação em Engenharia de Automação Industrial SISTEMAS INTELIGENTES PARA AUTOMAÇÃO AULA 06 Algoritmos Genéticos Sumário Introdução Inteligência Artificial (IA) Algoritmos Genéticos Aplicações de

Leia mais

Resolução Numérica de Equações Parte I

Resolução Numérica de Equações Parte I Cálculo Numérico Resolução Numérica de Equações Parte I Prof Reinaldo Haas Cálculo Numérico Objetivos 2 Estudar métodos numéricos para a resolução de equações não lineares (determinar a(s) raiz(es) de

Leia mais

Biblioteca de auxílio ao uso de elementos gráficos

Biblioteca de auxílio ao uso de elementos gráficos UFU Universidade Federal de Uberlândia Faculdade de Computação Biblioteca de auxílio ao uso de elementos gráficos Caio de Oliveira Campos Orientador: André Ricardo Backes Uberlândia Março de 2014 Introdução

Leia mais

INTRODUÇÃO À SOCIOLOGIA Turma I - 3as e 5as feiras - 8 h

INTRODUÇÃO À SOCIOLOGIA Turma I - 3as e 5as feiras - 8 h UNIVERSIDADE DE BRASÍLIA INSTITUTO DE CIÊNCIAS SOCIAIS DEPARTAMENTO DE SOCIOLOGIA Disciplina: INTRODUÇÃO À SOCIOLOGIA Turma I - 3as e 5as feiras - 8 h Professor: Prof. Dr. Sergio B. F. Tavolaro sergiotavolaro@unb.br

Leia mais

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO PESQUISA ADEMI DO MERCADO IMOBILIÁRIO RELATÓRIO DE NOVEMBRO DE 2013 I INTRODUÇÃO O objetivo deste relatório é analisar os resultados da Pesquisa ADEMI no mês de novembro de 2013 no que diz respeito ao

Leia mais

Projeto em administração da produção.

Projeto em administração da produção. MKT-MDL-06 Versão 00 Projeto em administração da produção. Aula 05 Sazonalidade Sazonalidade nada mais é que as variações de demanda que se repetem com o passar do tempo. As variações não são aleatórias,

Leia mais

SQLLOMining: Obtenção de Objetos de Aprendizagem utilizando técnicas de Aprendizado de Máquina

SQLLOMining: Obtenção de Objetos de Aprendizagem utilizando técnicas de Aprendizado de Máquina Susana Rosich Soares Velloso SQLLOMining: Obtenção de Objetos de Aprendizagem utilizando técnicas de Aprendizado de Máquina Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção

Leia mais

O CONSELHO REGIONAL DE CONTABILIDADE DO CEARÁ, no exercício de suas atribuições legais e regimentais,

O CONSELHO REGIONAL DE CONTABILIDADE DO CEARÁ, no exercício de suas atribuições legais e regimentais, RESOLUÇÃO CRCCE N.º 0654/2016 NOMEIA CONTABILISTAS PARA O CARGO DE DELEGADOS DO CRCCE E DÁ OUTRAS PROVIDÊNCIAS O CONSELHO REGIONAL DE CONTABILIDADE DO CEARÁ, no exercício de suas atribuições legais e regimentais,

Leia mais

CAPÍTULO 5 RESULTADOS. São apresentados neste Capítulo os resultados obtidos através do programa Classific, para

CAPÍTULO 5 RESULTADOS. São apresentados neste Capítulo os resultados obtidos através do programa Classific, para CAPÍTULO 5 RESULTADOS São apresentados neste Capítulo os resultados obtidos através do programa Classific, para as imagens coletadas no verão II, período iniciado em 18/01 e finalizado em 01/03 de 1999,

Leia mais

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO

PESQUISA ADEMI DO MERCADO IMOBILIÁRIO PESQUISA ADEMI DO MERCADO IMOBILIÁRIO RELATÓRIO DE DEZEMBRO DE 2013 I INTRODUÇÃO O objetivo deste relatório é analisar os resultados da Pesquisa ADEMI no mês de dezembro de 2013 no que diz respeito ao

Leia mais

4 Cálculo de Equivalentes Dinâmicos

4 Cálculo de Equivalentes Dinâmicos 4 Cálculo de Equivalentes Dinâmicos 4.1. Introdução Os sistemas de potência interligados vêm adquirindo maior tamanho e complexidade, aumentando a dependência de sistemas de controle tanto em operação

Leia mais

METODOLOGIA DE PROJETO ORIENTADO PARA A MANUFATURA INTEGRADA A UM SISTEMA DE PROJETO ASSISTIDO POR COMPUTADOR

METODOLOGIA DE PROJETO ORIENTADO PARA A MANUFATURA INTEGRADA A UM SISTEMA DE PROJETO ASSISTIDO POR COMPUTADOR PONTIFÍCIA UNIVERSIDADE CATÓLICA DO PARANÁ PRÓ-REITORIA DE PESQUISA E PÓS-GRADUAÇÃO PROGRAMA INSTITUCIONAL DE BOLSAS DE INICIAÇÃO CIENTÍFICA PIBIC/PIBITI 2017/2018 (OSIRIS CANCIGLIERI JUNIOR) METODOLOGIA

Leia mais

RESOLUÇÃO Nº 084/2015 CONSU/IFAC.

RESOLUÇÃO Nº 084/2015 CONSU/IFAC. RESOLUÇÃO Nº 084/2015 CONSU/IFAC. Dispõe sobre o Regulamento das Atribuições da Coordenação Técnico Pedagógica COTEP do Instituto Federal de Educação, Ciência e Tecnologia do Acre IFAC. O PRESIDENTE SUBSTITUTO

Leia mais

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan

Exemplo de Aplicação de Algoritmos Genéticos. Prof. Juan Moisés Mauricio Villanueva cear.ufpb.br/juan Exemplo de Aplicação de Algoritmos Genéticos Prof. Juan Moisés Mauricio Villanueva jmauricio@cear.ufpb.br cear.ufpb.br/juan Estrutura do Algoritmo Genético Algoritmo genético Inicio t = 0 inicializar P(t)

Leia mais

Algoritmos Genéticos

Algoritmos Genéticos Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Algoritmos Genéticos Aluno: Fabricio Aparecido Breve Prof.: Dr. André Ponce de Leon F. de Carvalho São Carlos São Paulo Maio

Leia mais

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado

Carlos Roberto da Costa Ferreira. Interpolação Modificada de LSF's. Dissertação de Mestrado Carlos Roberto da Costa Ferreira Interpolação Modificada de LSF's Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau de Mestre pelo Programa de Pósgraduação em

Leia mais

AULA 1/4 ASSUNTOS ABORDADOS:

AULA 1/4 ASSUNTOS ABORDADOS: AULA 1/4 ASSUNTOS ABORDADOS: Gestão de sistemas de produção e operações. Planejamento, Programação e controle da produção. 27/07/2013 9:00 10:30 Assunto: Gestão de sistemas de produção e operações Classificação

Leia mais

Comparação de estratégias de construção de poços marítimos incorporando incertezas

Comparação de estratégias de construção de poços marítimos incorporando incertezas 1 Mariana Monteiro Martins Comparação de estratégias de construção de poços marítimos incorporando incertezas Dissertação de Mestrado Dissertação apresentada como requisito parcial para obtenção do grau

Leia mais

DECRETO N , DE 18 DE FEVEREIRO DE 2008 Cria os Conselhos Tutelares de José Bonifácio e Jardim São Luiz e reorganiza os demais Conselhos

DECRETO N , DE 18 DE FEVEREIRO DE 2008 Cria os Conselhos Tutelares de José Bonifácio e Jardim São Luiz e reorganiza os demais Conselhos DECRETO N 49.228, DE 18 DE FEVEREIRO DE 2008 Cria os Conselhos Tutelares de José Bonifácio e Jardim São Luiz e reorganiza os demais Conselhos Tutelares no Município de São Paulo; altera o Anexo Único integrante

Leia mais

Parte I Administração de Produção e Operações fundamentos estratégicos, 1

Parte I Administração de Produção e Operações fundamentos estratégicos, 1 Sumário Prefácio, xv Agradecimentos, xxi Parte I Administração de Produção e Operações fundamentos estratégicos, 1 1 Introdução e Evolução Histórica da Gestão de Produção e Operações, 3 1.1 Introdução,

Leia mais

Determinação de vícios refrativos oculares utilizando Support Vector Machines

Determinação de vícios refrativos oculares utilizando Support Vector Machines Determinação de vícios refrativos oculares utilizando Support Vector Machines Giampaolo Luiz Libralão, André Ponce de Leon F. de Carvalho, Antonio Valerio Netto, Maria Cristina Ferreira de Oliveira Instituto

Leia mais

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP

ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP ESTUDO DOS PARAMETROS DE UM ALGORITMO GENÉTICO PARA POSTERIOR USO NA SOLUÇÃO DE PROBLEMAS DO TIPO JOB-SHOP Gilson Rogério Batista, Gideon Villar Leandro Universidade Regional do Noroeste do Estado do Rio

Leia mais

Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques.

Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques. Marcelo Maciel Monteiro Um Modelo Integrado para o Projeto de Redes Logísticas com Decisões de Localização de Instalações, Produção, Transporte e Estoques. Tese de Doutorado Tese apresentada ao Programa

Leia mais

UNIVERSIDADE FEDERAL DO AMAZONAS CONSELHO DE ADMINISTRAÇÃO

UNIVERSIDADE FEDERAL DO AMAZONAS CONSELHO DE ADMINISTRAÇÃO RESOLUÇÃO Nº 003/2005 Disciplina a remuneração de pessoal sem vínculo empregatício com a UFAM e os serviços extraordinários prestados por professores e servidores técnico-administrativos e marítimos da

Leia mais

Sumário. Prefácio à 8 a Edição, xvii Prefácio à 1 a Edição, xix Agradecimentos, xxi

Sumário. Prefácio à 8 a Edição, xvii Prefácio à 1 a Edição, xix Agradecimentos, xxi Sumário Prefácio à 8 a Edição, xvii Prefácio à 1 a Edição, xix Agradecimentos, xxi 1 Contabilidade: Sistema de Informação Gerencial, 1 1.1 Histórico, 2 1.2 Objetivos e finalidade da contabilidade gerencial,

Leia mais

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão

Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional Catalão 5 CAPÍTULO BUSCA EM VIZINHANÇA VARIÁVEL PARA LOCALIZAÇÃO E ROTEAMENTO Silva, Lorrany Cristina da 1 *; Queiroz, Thiago Alves de 2 1 Unidade de Matemática e Tecnologia, Universidade Federal de Goiás Regional

Leia mais

Arranjo Físico e Fluxo

Arranjo Físico e Fluxo Arranjo Físico e Fluxo Projeto de produtos e serviços Geração do conceito Projeto de processos Projeto da rede Triagem Projeto preliminar Avaliação e melhoria Arranjo físico e fluxo Prototipagem e projeto

Leia mais

GESTÃO DE PROCESSOS PRODUTIVOS E QUALIDADE. 7º aula

GESTÃO DE PROCESSOS PRODUTIVOS E QUALIDADE. 7º aula GESTÃO DE PROCESSOS PRODUTIVOS E QUALIDADE 7º aula Prof. Alexandre Gonçalves alexandre.goncalves@uninove.br ARRANJO FÍSICO - LAYOUT Planejar o arranjo físico de uma certa instalação significa tomar decisões

Leia mais

MANUAL DO PARTICIPANTE

MANUAL DO PARTICIPANTE MANUAL DO PARTICIPANTE 1. DA ORGANIZAÇÃO DO CONGRESSO I. O Congresso Empreende Litoral, é o maior evento de empreendedorismo da Região Meio Norte do Brasil, voltado para estudantes e comunidade de um modo

Leia mais

PLANO DE OPERAÇÃO PROMOÇÃO COMERCIAL

PLANO DE OPERAÇÃO PROMOÇÃO COMERCIAL PLANO DE OPERAÇÃO PROMOÇÃO COMERCIAL I. Razão Social : VIPWAY Telecomunicações Ltda II. Nome Fantasia : VIPWAY Telecom III. IV. Endereço: Av. Cons. Rodrigues Alves, 371/375 Macuco Cidade/UF: Santos/SP

Leia mais

SPRINGS GLOBAL PARTICIPAÇÕES S.A. CNPJ/MF nº / NIRE nº Companhia Aberta

SPRINGS GLOBAL PARTICIPAÇÕES S.A. CNPJ/MF nº / NIRE nº Companhia Aberta SPRINGS GLOBAL PARTICIPAÇÕES S.A. CNPJ/MF nº 07.718.269/0001-57 NIRE nº 3130002243-9 - Companhia Aberta MAPA SINTÉTICO DE VOTAÇÃO (ESCRITURADOR) (Boletim de Voto a Distância) Assembleia Geral Extraordinária

Leia mais

INTRODUÇÃO À SOCIOLOGIA Turma I - 3as e 5as feiras, às 8 h

INTRODUÇÃO À SOCIOLOGIA Turma I - 3as e 5as feiras, às 8 h UNIVERSIDADE DE BRASÍLIA INSTITUTO DE CIÊNCIAS SOCIAIS DEPARTAMENTO DE SOCIOLOGIA Disciplina: INTRODUÇÃO À SOCIOLOGIA Turma I - 3as e 5as feiras, às 8 h Professor: Prof. Dr. Sergio B. F. Tavolaro sergiotavolaro@unb.br

Leia mais

Cadastramento do curso de Eng. Mecânica, seguida da correspondente concessão-padr. padrão o de atribuiçõ

Cadastramento do curso de Eng. Mecânica, seguida da correspondente concessão-padr. padrão o de atribuiçõ EXEMPLO ILUSTRATIVO Cadastramento do curso de Eng. Mecânica, seguida da correspondente concessão-padr padrão o de atribuiçõ ções para seus egressos. Análise a partir do projeto pedagógico, gico, constando

Leia mais

REGULAMENTO DOS PROCEDIMENTOS RELATIVOS ÀS ATIVIDADES COMPLEMENTARES CAPÍTULO I DA APRESENTAÇÃO CAPÍTULO II DOS OBJETIVOS

REGULAMENTO DOS PROCEDIMENTOS RELATIVOS ÀS ATIVIDADES COMPLEMENTARES CAPÍTULO I DA APRESENTAÇÃO CAPÍTULO II DOS OBJETIVOS REGULAMENTO DOS PROCEDIMENTOS RELATIVOS ÀS ATIVIDADES COMPLEMENTARES CAPÍTULO I DA APRESENTAÇÃO Art. 1º O Presente regulamento tem como finalidade normatizar as Atividades Complementares, previstas no

Leia mais

LEI Nº 9.665, DE 13 DE DEZEMBRO DE Autor: Poder Executivo

LEI Nº 9.665, DE 13 DE DEZEMBRO DE Autor: Poder Executivo LEI Nº 9.665, DE 13 DE DEZEMBRO DE 2011. Autor: Poder Executivo Fixa o subsídio da carreira dos Profissionais do Serviço de Trânsito do Estado de Mato Grosso do Departamento Estadual de Trânsito - DETRAN/MT

Leia mais

4 Análise de Dados. 4.1.Procedimentos

4 Análise de Dados. 4.1.Procedimentos 4 Análise de Dados 4.1.Procedimentos A idéia inicial para a comparação dos dados foi separá-los em series de 28 ensaios, com a mesma concentração, para depois combinar esses ensaios em uma única série.

Leia mais

4. BASES TECNOLÓGICAS

4. BASES TECNOLÓGICAS Instituto Federal de Educação, Ciência e Tecnologia de Santa Catarina IFSC Departamento Acadêmico de Saúde e Serviços - DASS Curso Superior de Tecnologia em Gestão da Tecnologia da Informação PLANO DE

Leia mais

Victor Kraemer Wermelinger Sancho Araujo. Avaliação de custos para a produção de biodiesel a partir de óleos residuais fritura

Victor Kraemer Wermelinger Sancho Araujo. Avaliação de custos para a produção de biodiesel a partir de óleos residuais fritura Victor Kraemer Wermelinger Sancho Araujo Avaliação de custos para a produção de biodiesel a partir de óleos residuais fritura Dissertação de Mestrado Dissertação apresentada como requisito parcial para

Leia mais

Red Hat System Administration I

Red Hat System Administration I Red Hat System Administration I Objetivos Gerais: Este curso e pretende dotar todos os participantes dos conhecimentos e técnicas de administração do sistema Red Hat Linux para empresas. Objetivos Específicos:

Leia mais

Arranjo Físico (Layout) Arranjo Físico 1

Arranjo Físico (Layout) Arranjo Físico 1 Arranjo Físico (Layout) Arranjo Físico 1 Projeto do Arranjo Físico (Layout) Projetar um arranjo físico é decidir onde colocar todas as instalações, máquinas, equipamentos e pessoal de produção. O arranjo

Leia mais

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo

Prototipação de Sistemas Digitais. Síntese Lógica Cristiano Araújo Prototipação de Sistemas Digitais Síntese Lógica Cristiano Araújo Mapeamento de Tecnologia Definição: Dada uma estrutura lógica multi-nível independente da tecnologia, uma biblioteca de células, na qual

Leia mais

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29

2.1 Circuitos electrónicos analógicos Circuitos electrónicos digitais...29 Índice Geral Agradecimentos... vii Prefácio... ix Índice Geral... xiii Índice das Simulações... xxiii Índice das Figuras... xxvii Índice das Tabelas... xli Índice dos Programas... li 1 - Introdução ao

Leia mais