Otimização de uma célula de manufatura utilizando simulação computacional Wesley Alves da Silva (UNIFEI) alves@unifei.edu.br Mariana Rocha Galhardo (UNIFEI) mrgcps@unifei.edu.br José Arnaldo Barra Montevechi (UNIFEI) montevechi@unifei.edu.br Resumo O presente trabalho apresenta a otimização de uma célula produtiva através do software SimRunner, que tem como técnica de processamento o algoritmo evolutivo. São mostrados, também, os principais conceitos relacionados à simulação computacional, à otimização e à combinação das duas técnicas. Como resultado, veremos o potencial para redução de custos que a otimização da célula oferece. Palavras chave: Otimização, Simulação, Algoritmos evolutivos. 1. Introdução As constantes evoluções nos processos produtivos têm procurado atender, em grande parte, às necessidades dos clientes. De modo a se adequar ao atual mercado altamente competitivo, as empresas necessitam de respostas rápidas, fazendo uso de técnicas de tomada de decisão que pondere todos os fatores críticos, a fim de que a decisão tomada seja a melhor possível. Neste contexto a simulação computacional e os algoritmos de otimização se mostram técnicas eficazes na tomada de decisão e na busca da otimização de recursos escassos. Segundo Pereira (2000), simulação computacional é a representação de um sistema real através de um modelo utilizando o computador, trazendo a vantagem de se poder visualizar este sistema, implementar mudanças e responder a questões do tipo: o que aconteceria se (what-if), minimizando gastos e tempo. A utilização conjunta da simulação e de métodos de otimização é recente, sendo mais difundida com a vinculação por parte dos fornecedores de pacotes de simulação de softwares de otimização. Segundo Fu (2002), esse uso conjunto se mostra bastante eficaz, cujo uso em empresas vem crescendo nos últimos anos. O presente trabalho busca realizar um estudo de otimização em uma célula de produção através da simulação de elementos discretos, utilizando o pacote de simulação ProModel, apresentando conceitos, tipos e o método utilizado na otimização bem como a integração entre a simulação e a otimização. As respostas para o caso estudado, modelado e validado por Oliveira (2003), será apresentada e analisada após a aplicação da otimização no modelo. Ao final do trabalho poder-se-á verificar se o uso combinado da simulação e da otimização pode trazer resultados significativos para a empresa. 2. Simulação e Otimização Um sistema é um conjunto de elementos distintos, que exercem entre si interações e/ou relações de interdependência, com o objetivo de executar uma função ou processo. A maioria dos sistemas reais não pode ser simulada através de métodos matemáticos clássicos, devido a sua grande complexidade, como é o caso de um sistema de manufatura, em que se tem um grande número de entidades. Assim, a simulação nasceu da busca por soluções para esses ENEGEP 2004 ABEPRO 3062
problemas de maior dificuldade, tendo um grande avanço com o advento dos computadores e suas linguagens de programação. Segundo Harrel et al. (1996), a simulação computacional se torna bastante adequada quando: É difícil, ou talvez impossível o desenvolvimento de um modelo matemático; O sistema possui variáveis aleatórias; Há complexidade na dinâmica do processo; Deseja-se observar o comportamento do sistema em um determinado período; O uso da animação é importante para visualizar o processo. O objetivo da simulação é estudar o comportamento de um sistema, sem que seja necessário modificá-lo ou mesmo construí-lo fisicamente. Com a modelagem a interatividade com o modelo (representação de um sistema real, na qual somente os aspectos relevantes são considerados) fica clara, trazendo vantagens como: facilidade na modificação do modelo, rapidez na obtenção de resultados e a possibilidade de se verificar, através da animação, como o processo está sendo conduzido (PEREIRA, 2000). Segundo Shannon (1975), a simulação não é uma teoria, mas uma metodologia de resolução de problemas, é um método de modelagem utilizado para implementar e analisar um procedimento real (físico), proposto em um computador (de forma virtual) ou em protótipos (ensaios), ou seja, simulação é o ato de imitar um procedimento real em menor tempo e com menor custo, permitindo um estudo detalhado de acontecimentos passados, presentes e futuros. Já a otimização, segundo Harrel et al. (2000), é o processo de tentar diferentes combinações de valores para variáveis que podem ser controladas (variáveis dependentes), buscando uma combinação de valores que provê a saída mais desejada de um modelo de simulação. Conforme Protil (2001), a definição de sistema pode ser descrita como uma relação inputoutput, e conforme mostrado na Figura 1, onde X é o input, Y o output e M é uma representação a qual correlaciona as informações de entrada e saída. Formalmente o sistema S pode ser descrito através da função S = (X,Y, M). Segundo o mesmo autor, a partir do sistema principal podem-se definir três subsistemas com questionamentos diferentes (Figura 1). Assim, no primeiro (modelagem) busca-se as interrelações existentes entre os dados de entrada e de saída de um determinado sistema, buscando uma representação que possa reproduzir o comportamento deste modelo; o segundo (simulação) busca respostas do tipo what if, manipulando as entradas de um modelo e verificando sua saída; finalmente no terceiro (otimização) deseja-se obter um output ótimo alterando-se a composição dos inputs já definidos no modelo. Fonte: (Adaptado de Protil, 2001) Figura 1 - Questionamentos na modelagem, simulação e otimização ENEGEP 2004 ABEPRO 3063
Até o fim do último milênio, simulação e otimização eram mantidas bem separadas na prática, embora houvesse pesquisas para a combinação dessas duas técnicas (FU, 2002). Porém, a partir da última década foram desenvolvidos softwares que executam a otimização a partir da simulação. Dentre outros podemos citar o AutoStat, o OptQuest, o OPTIMIZ, o SimRunner, e o WITNESS Optimizer, que já estão incorporados a alguns pacotes comerciais de simulação. Essa incorporação fez aumentar o seu uso. Segundo Fu (2002), na interação entre simulação e otimização, a ultima deve ser vista como uma ferramenta complementar à simulação. Assim, a simulação fornece informações para que a otimização seja feita, além de fornecer possíveis soluções para a otimização do modelo proposto. O modelo é então atualizado com os novos valores propostos e uma nova simulação é feita. Este ciclo, representado na Figura 2, é repetido até sua parada que é definida de acordo com método de otimização (pequena variação entre as ultimas respostas, número de simulações e tempo). Soluções candidatas Simulação de elementos discretos Resultados Otimização Fonte: (Adaptado de Fu, 2002) Figura 2 Otimização e simulação De acordo com Harrel et al. (2000), existem diversos métodos de otimização de modelos de simulação, métodos como Newton-Rapson e Programação Linear. Porém, a maioria dos problemas reais apresenta uma alta complexidade, assim, uma possível solução para problemas desse tipo é a aplicação das técnicas heurísticas de otimização. Técnicas heurísticas são técnicas que proporcionam soluções boas, bem próximas da solução ótima. Contudo não se assegura que as soluções encontradas sejam ótimas. Os softwares de otimização usado na maioria dos pacotes de simulação se baseiam em Algoritmos Genéticos, um tipo específico de Algoritmo Evolutivo. Algoritmos Evolutivos (AEs) são algoritmos heurísticos que buscam soluções quase-ótima, imitando o processo de evolução natural das espécies, manipulando uma população de possíveis soluções de tal modo que as piores soluções desaparecem enquanto que as melhores continuam a evoluir em busca de uma solução ótima. Os AEs diferenciam-se em vários aspectos das tradicionais técnicas de otimização nãolineares, pois empregam estratégias de busca paralela e estruturada em direção a uma solução ótima, explorando informações históricas na busca de melhores indivíduos a cada geração. Trabalhando com uma população de possíveis soluções, os AEs podem explorar, simultaneamente, diversas áreas do espaço de busca, tentando minimizar ou maximizar o valor, conforme o objetivo do problema. ENEGEP 2004 ABEPRO 3064
Os Algoritmos Genéticos (AGs) necessitam somente de informação sobre o resultado da função objetivo para cada membro da população para sua aplicação, ou seja, não necessitam de uma função matematicamente explícita, tornando o algoritmo bastante aplicável na otimização de modelos de simulação, já que estes não apresentam funções matemáticas explícitas. Os AGs diferenciam-se dos outros AEs (Programação Evolutiva e Estratégia Evolutiva) pela sua representação e pelos operadores genéticos. Todo AEs necessita ser representado por um alfabeto, o que de uma forma metafórica, representa a codificação genética de um indivíduo. Nos AGs essa representação é usualmente feita através do alfabeto binário. Os indivíduos, ou possíveis soluções, de uma dada população são classificados quanto sua adaptabilidade através de uma função de aptidão (em inglês, fitness). O valor de aptidão de cada indivíduo é calculado através de uma função definida pelo usuário para cada problema que se pretende solucionar, esta por sua vez é calculada a partir da função objetivo. A evolução da população é feita através operadores genéticos. Os operadores genéticos utilizados pelo AGs são: Seleção: oferece aos melhores indivíduos da população corrente preferência para o processo de reprodução, permitindo que estes indivíduos passam suas características às próximas gerações. Entre os métodos de seleção encontra-se o método da Roleta, a Amostragem Universal Estocástica, Seleção Elitista, Seleção Baseada na Posição, Seleção por Torneio, Seleção Estado Estável, Seleção por Truncatura e Seleção local (SIMÕES, 1999), sendo o método de Roleta o mais utilizado; Cruzamento: ou crossover, cria novos indivíduos através da combinação de dois ou mais indivíduos. A idéia intuitiva por trás deste operador é a troca de informação entre diferentes soluções candidatas; Mutação: alterar aleatoriamente a característica de um individuo, através da mudança do valor de um gene. Esta alteração garante que a probabilidade de chagar a qualquer ponto da superfície de resposta nunca seja zero, alem de contornar o problema de ótimos locais (IZIDORO, 2001). Um fator importante a ser considerado é o critério de parada, que depende do problema e do esforço computacional exigido. Em face do tempo e dos recursos disponíveis, é necessário definir qual a qualidade da solução desejada, podendo ser o número máximo de gerações em que a evolução deve ocorrer, um valor mínimo para o desvio padrão do valor de aptidão dos indivíduos. 3. Objeto de estudo O estudo em questão foi realizado numa empresa do ramo de autopeças, que fabrica anéis de pistão para motores de combustão interna. A organização da planta esta baseada no conceito de mini fábricas, onde cada uma possui um gestor responsável por: custo, qualidade, manutenção, processo e programação da sua área. A estrutura funcional utilizada pela fábrica é a estrutura celular de produção, sendo que a célula estudada foi a célula XV (Figura 3). Essa escolha se deu porque a célula é considerada de fase única, ou seja, o anel entra bruto e sai acabado, necessitando apenas das operações de inspeção, pintura e embalagem, que não serão analisadas neste estudo. Nesta célula, os produtos a serem processados chegam em lotes e ficam armazenados nos volantes móveis; a seguir um operador monta o pacote de produtos e os processa no torno de forma vertical (TFV 1 ou TFV 2 ). Após as transformações ocorridas, as peças são enviadas para a gravação (GRAV 1 e GRAV 2 ), onde um operador é responsável pelas duas máquinas, e o transporte das peças para o volante fixo. Dois operadores são responsáveis pela retirada das peças do carrossel e montagem de um conjunto de peças (árvores), que são processadas nos tornos acabados (TAC 1 e TAC 2 ). Depois de usinadas as peças são enviadas para as operações ENEGEP 2004 ABEPRO 3065
de chanfro e rebaixo (REB 1 e REB 2 ), sendo um operador responsável pelos dois equipamentos. Após sofrerem este processo as peças são enviadas para a topejadora (TPJ) e após isto, sofrem o processo de escovamento (ESCO), sendo um operador responsável pelos dois últimos processos. Para 70% das peças, o processo produtivo encerra-se nesse ponto, os outros 30% passam pelo processo de Bombeamento (BOMB 1, BOMB 2 e BOMB 3 ). Figura 3 - Célula de manufatura XV O objetivo do estudo é a maximização da utilização dos recursos disponíveis, mão de obra e máquina, mantendo as mesmas ordens de produção. As ordens a serem executadas estão descritas na Tabela 1. Estas ordens foram executadas no período de 35 dias. Produto Quantidade AN 15617 76374 AN 18388.49 5580 AN 18388.950 5084 AN 18446 1376 AN 19858 21519 AN 20680 35306 AN 20859 8994 AN 21137 17078 AN 21139 5661 Tabela 1- Ordem de produção A partir do modelo da célula XV, foi executada uma simulação utilizando o software ProModel. A Figura 4 mostra o resultado da simulação com relação ao percentual de tempo em que cada máquina ficou em operação (Operation), em preparação (Setup), inativa (Idle), bloqueada (Blocked) e fora de operação (Down). A Figura 5 mostra o percentual de tempo em que cada operador esteve trabalhando na produção. Pode-se verificar um grande percentual de tempo em inatividade tanto para os operadores quanto para as máquinas. ENEGEP 2004 ABEPRO 3066
Figura 4 - Taxa de utilização das máquinas na célula original. Figura 5 - Taxa de utilização dos operadores na célula original. A Tabela 2, apresentada pelo software, mostra o custo da produção total das peças dividas, bem como o número de lotes dessas peças, de modo a satisfazer a ordem de produção. Peça Qt lotes $ Total % Total Anel 15617 1006 11144.47 25.65 Anel 18388.49 98 1258.60 2.90 Anel 18388.950 29 1380.73 3.18 Anel 18446 41 986.06 2.27 Anel 19858 237 7750.72 17.84 Anel 20680 657 5541.12 12.75 Anel 20859 222 6459.61 14.87 Anel 21137 188 4650.24 10.70 Anel 21139 96 2901.68 6.68 Refugo 159 1376.13 3.17 SUM - 43449.40 100.00 Tabela 2 - Custo das peças 4. Otimização Após a determinação dos resultados da célula original, foi feita a otimização do modelo tendo como objetivo a maximização das taxas de utilização das máquinas e dos operadores. O software utilizado para a otimização foi o SimRunner, incorporado ao pacote ProModel. Tal software tem como principal algoritmo de otimização os Algoritmos Genéticos. Para a realização da otimização são necessários: Modelo validado, elaborado no ProModel; Variáveis a serem determinadas (variáveis de decisão ou input). Neste caso as variáveis foram: número de operadores responsável pelos tornos acabados, número de tornos verticais, gravadoras, tornos acabados, rebaixo/chanfro, e número de bombeadoras; ENEGEP 2004 ABEPRO 3067
O objetivo a ser alcançado com a otimização (Função Objetivo ou output). Neste estudo a função objetivo foi definida como a utilização máxima de cada variável descrita anteriormente; Escolha dos parâmetros a serem utilizados para a otimização. Esses parâmetros são selecionados de acordo com a confiabilidade e a validade desejadas para as respostas da otimização. A otimização foi executada, após 52 experimentos o software encontrou o seguinte resultado como sendo o melhor: 1 operador, 1 torno vertical, 1 gravadora, 1 torno acabado, 1 reb/chan e 1 bombeadora. Após a execução da otimização repetiu-se a simulação, agora com as variáveis recomendadas pela otimização (número de máquinas e operadores), de modo a fazer uma análise entre os resultados antes e após a otimização. Comparando a Figura 4 com a Figura 6, pode-se verificar uma sensível diminuição no percentual em inatividade e um aumento no percentual de uso em praticamente todas as máquinas. Já comparando a Figura 5 com a Figura 7, pode-se verificar um aumento no percentual de tempo em operação do operador 3, uma vez que este operador agora acumula o trabalho dos operadores 3 e 4 na configuração anterior. Figura 6 - Taxa de utilização das máquinas na célula otimizada Figura 7 - Taxa de utilização dos operadores na célula otimizada A Tabela 3, apresentada pelo software, mostra o custo total de produção das peças, para a célula otimizada. Pode-se verificar que houve uma redução de custo para todos os produtos, conseqüentemente, redução no custo total final. Peça Qt lotes $ Total % Total Anel 15617 903 10000.00 23.84 Anel 18388.49 97 1149.63 2.74 Anel 18388.950 28 1033.73 2.46 Anel 18446 37 966.62 2.30 Anel 19858 237 7070.55 16.85 Anel 20680 658 6553.19 15.62 Anel 20859 223 4392.14 10.47 Anel 21137 187 6485.65 15.46 Anel 21139 94 3025.04 7.21 Refugo 160 1278.27 3.05 SUM - 41954.86 100.00 Tabela 3 - Custo das peças ENEGEP 2004 ABEPRO 3068
5. Conclusão Inicialmente o resultado obtido parece obvio (apenas um operador e uma máquina de cada tipo), porém, é conveniente lembrar que o resultado obtido foi o melhor encontrado que respeita a ordem de produção definida, deste modo fica claro que existe um excesso de capacidade de mão de obra e um excesso de capacidade instalada para atender a demanda solicitada na configuração original da célula. No estudo, a redução do custo da produção das peças foi de $ 1.494,54, ou 3,44%, causado pela redução de um operário. O cálculo dos custos da utilização dos equipamentos feito pelo software de simulação não leva em consideração custos indiretos como espaço físico e depreciação do maquinário. Desta forma, a redução de custos proporcionada pela eliminação das máquinas (um torno vertical, um torno acabado, uma máquina de rebaixo/chanfro, uma gravadora e duas máquinas de bombeamento) foi zero, pois estes custos são definidos pelo tempo de operação, assim, na eliminação de um equipamento outro toma o seu lugar com a mesma quantidade de tempo, passando os gastos de uma máquina para outra. A combinação da simulação com a otimização mostrou-se uma técnica bastante eficaz e devia ser utilizada na análise de todos os investimentos em novas unidades/células de fabricação a fim de se determinar a real necessidade de máquinas, equipamentos e operadores visando à determinação do menor custo necessário antes que qualquer investimento seja feito. Fica como proposta para trabalhos futuros a analise dos custos indiretos de produção e sua redução causada com a eliminação de recursos, e a verificação de mudanças no sistema de custeio por atividades (ABC). Referências FU, Michael C. - Optimization for Simulation: Theory vs. Practice. Journal on Computing, vol. 14, n 3, 2002. HARREL, C. R.; GHOSH, B. K., BOWDEN, R. - Simulation Using Promodel - McGraw-Hill, 4ª edição, 2000. HARREL, C. R.; GHOSH, B. K.; BOWDEN, R. - Simulation Using Promodel. McGraw-Hill. 1996. IZIDORO, Sandro C. Determinação do número de agrupamentos em conjunto de dados multidimensionais utilizando Algoritmos Genéticos. Dissertação (Mestrado em Engenharia Elétrica), Itajubá, MG, UNIFEI, 2001. OLIVEIRA, F. A. - A Gestão Baseada em Atividade aplicada em ambientes celulares: uma abordagem metodológica. Dissertação (Mestrado em Engenharia de Produção) Programa de Pós-Graduação em Engenharia de Produção, Itajubá, MG, UNIFEI, 2003. PEREIRA, I. C. - Proposta de sistematização da simulação para fabricação em lotes. Dissertação (Mestrado em Engenharia de Produção) Programa de Pós-Graduação em Engenharia de Produção, UNIFEI, Itajubá, MG, 2000. PROTIL, R. M. - Otimização do Processo Decisório Utilizando Simulação Computacional. Simpósio Brasileiro de Pesquisa Operacional, 2001. SHANNON, Robert E. Systems simulation: the art and science. Englewood Cliffs: Prentice-Hall, 1975. SIMÕES, Anabela B. Transposição: estudo de um novo operador genético inspirado biologicamente. Dissertação (mestrado em engenharia informática), Coimbra, Portugal, Universidade de Coimbra, 1999. ENEGEP 2004 ABEPRO 3069