NOVAS REGRAS DE SEQUENCIAMENTO PARA PROGRAMAÇÃO DE FLOW SHOP COM DATAS DE LIBERAÇÃO E TEMPOS DE SETUP Caio Soares de Araujo (UFG ) caio.ufg@gmail.com Helio Yochihiro Fuchigami (UFG ) heliofuchigami@yahoo.com.br Neste artigo são apresentadas e avaliadas oito regras de sequenciamento para programação da produção em sistemas flow shop permutacional com tempos de setup independentes da sequência de execução das tarefas. Foram consideradas também as datas de liberação das tarefas, buscando simular uma realidade mais próxima de um ambiente de produção numa organização em que as tarefas geralmente chegam de forma dinâmica e não simultaneamente. Palavras-chaves: Programação da produção. Flow Shop Permutacional; Setup independente.
1. Introdução A Administração da Produção desempenha um papel fundamental para que sejam alcançadas as metas e os objetivos estratégicos de uma empresa. Um eficiente processo produtivo requer um gerenciamento dinâmico por meio do Planejamento e Controle da Produção (PCP). O PCP é responsável pelo planejamento, execuc a o e controle das atividades realizadas no sistema de produc a o, ou seja, desenvolver os planos que ira o guiar a produc a o, além de realizar o controle. Dentro das diversas funções do PCP encontra-se a atividade de programação da produção. Para Baker (1974), o problema de programação da produção em geral, requer decisões de seqüenciamento e alocac a o de recursos. Tais recursos podem ser ferramentas, materiais, máquinas, etc. O sequenciamento da produção (scheduling) é um problema de priorização de atividades. Nesse contexto, incorpora-se o ambiente flow shop. O flow shop trata-se de uma linha de produção com fluxo numa única direção. Segundo Fuchigami (2013), cada máquina é um estágio de produção e as tarefas possuem um fluxo linear de processamento passando por várias máquinas. O problema de sequenciamento no flow shop clássico consiste em um conjunto de n tarefas (J 1, J 2,..., J j,..., J n ), que tem que ser seqüenciado em estações m (I 1, I 2,..., I i,..., I m ), dispostos em série. Cada trabalho tem m conjuntos de operações e requer o seu primeiro conjunto de operações na estação 1, sua segunda na estação 2, e assim por diante (Farber e Coves, 2005). A seguir, a figura 1 melhor ilustra um ambiente de flow shop simples num processo produtivo. 2
Figura 1 Fluxo de trabalho num flow shop simples Fonte: Baker e Trietsch (2009) Nesse contexto, é necessário ressaltar algumas informações importantes: a). Cada máquina pode processar apenas uma tarefa de cada vez; b). As operações nas diversas máquinas, uma vez iniciadas não devem ser interrompidas; c). Os tempos de processamento das tarefas são fixos e determinados; d). As tarefas têm diferentes datas de liberação; e). Os tempos de setup das operações nas diversas máquinas são antecipados e independentes da sequência de operações em cada máquina e podem iniciar antes da liberação da operação; f). Não há quebra de máquinas; máquinas estão sempre disponíveis para processamento; g). Não há outros recursos limitantes, como mão de obra ou material. Resumindo, neste estudo serão propostas e testadas regras de prioridade para programação da produção em sistemas flow shop permutacional com o objetivo minimizar o makespan (duração total da programação) e o tempo médio de fluxo das tarefas. 3
2. Referencial teórico 2.1 Análise histórica dos artigos bicritério makespan e tempo médio de fluxo Por uma sólida e estruturada pesquisa, realizou-se uma busca na literatura sobre os problemas bicritérios, tendo como função objetivo a minimização do makespan e do tempo médio de fluxo. Além disso, é importante ressaltar que essa revisão se aplicou apenas para problemas em ambiente flow shop, com número mínimo de 3 máquinas, independente das restrições. Isto porque existem propriedades específicas e resultados aplicados particularmente aos problemas com duas máquinas, como pode ser encontrado em algumas publicações, porém não é o caso desta pesquisa. Ho e Chang (1991) criaram uma heurística baseada nas lacunas (gaps) entre a última tarefa da primeira máquina com as últimas das máquinas seguintes, ou seja, uma solução baseada em relações nos tempos de processamento das tarefas. Rajendran (1995) tentou resolver o problema de sequenciamento bicritério, buscando minimizar o makespan e o flow time propondo um novo algoritmo. O algoritmo proposto foi avaliado em um grande número de problemas aleatórios e de grande porte, e se mostrou eficaz. Sridhar e Rajendran (1996) propuseram um algoritmo que apresenta um bom desempenho para a programação num sistema de manufatura celular baseado no tempo médio de fluxo (flowline). Já Framinan et al. (2002) se basearm na heurística NEH (Nawaz et al., 1983) para construir dois algoritmos propostos para a escolha de uma sequência que minimiza os custos associados ao makespan e ao flowtime. Rajendran e Ziegler (2004) propuseram um algotirmo de colônias de formigas, onde a ideia principal simular o rastro de feromônio utilizado pelas formigas reais como um meio de 4
comunicação e feedback entre formigas. Ravidran et al. (2005) criam os algoritmos HAMC1, HAMC2 e HAMC3 para a análise de eficácia. Os resultados dos problemas são comparados com os procedimentos de soluções propostas pelo Rajendran (1995) e apresentam melhor desempenho. No mesmo ano, Varadharajan e Rajendran (2005) criaram o Multi-Objective Simulatedannealing Algorithm (MOSA), que visa obter soluções eficientes por meio da implementação de uma função de probabilidade. Pasupathy et al. (2006) analisaram o algoritmo genético denominado PAG ALS Este algoritmo faz uso de um arquivo de soluções melhoradas por meio de busca local. Tasgetiren et al (2007) apresentaram uma heurística PSO (particle swarm optimization) para os mesmos problemas apresentados por Rajendran e Ziegler (2004). Eles desenvolvem uma meta-heurística chamada de SPV (smallest position value), para habilitar o PSO, que aplicado nos problemas de sequenciamento minimizaria o makespan e o flow time. Branco et al. (2008) apresentam o método MC-FS (Multi - Critério Flow Shop) para solução do problema multicritério a programação da produção em sistemas no-wait flow shop (situação onde as operações de uma determinada tarefa uma vez iniciada são processadas sem interrupções nas consecutivas máquinas). Rajkumar et al. (2009) apresentam o algoritmo de melhoria genética (IGA). Baseado no algoritmo NEH devido ao bom desempenho em relação ao makespan, o algoritmo IGA é testado e o seu desempenho resulta em bons resultados. O algoritmo IGA foi comparado com os algoritmos HAMC1, HAMC2 e HAMC3 (Varadharajan e Ravidran, 2005) e apresentou melhores resultados. Por fim, Eren (2010) desenvolveu um modelo de programação linear e 5
os resultados dos testes computacionais mostraram que o modelo proposto é eficaz na resolução de problemas com até 18 postos de trabalho e seis máquinas. A figura 2 apresenta a organização dos trabalhos citados em ordem cronológica e a relação entre eles. As setas indicam quando um trabalho serviu como base de comparação para o desenvolvimento de outro. Figura 2 Árvore de artigos bicritério 6
Fonte: Elaborada pelos autores (2014) 2.2 Notação de um problema de produção Pinedo (2010) organiza esses parâmetros em um trio α β γ que auxilia a classificão de um problema de sequenciamento. O trio determina o problema, descrevendo α como o ambiente de produção com o número de máquinas ou estágios, β fornecendo detalhes das propriedades e limitações dos recursos e tarefas e γ que contém o objetivo a ser minimizado (medida de desempenho). Numa notação de três campos, o problema é o seguinte: onde indica que é um ambiente flow shop para qualquer número de máquinas, indica que é um flow shop permutacional, ou seja, a sequência que entra na maquina é a mesma que sai dela;, indica que há restrição de liberação e indica que há restrição de 7
setup. A expressão sinaliza que o alfa representa o peso dos componentes da função objetivo. 3. Regras de prioridade propostas As regras de prioridades definem a ordem que as tarefas serão realizadas nas máquinas. Para o problema em estudo, foram definidas oito regras, fundamentadas nas reconhecidas regras SPT (Shortest Processing Time) e LPT (Longest Processing Time). Os valores de ordenação definidos para cada tarefa j são apresentados na tabela 1 a seguir. Tabela 1 Regras de prioridade propostas Fonte: Elaborada pelos autores (2014) Uma expressão utilizada em várias regras é aquela para o cálculo do maior valor entre a data de liberação e o setup da tarefa na primeira máquina (max{r j, s j1 }), que representa o instante 8
mais cedo de início do processamento da tarefa j. Esta expressão já desconsidera a parte antecipada do tempo de setup para que este intervalo não seja somado duas vezes. O critério utilizado em cada regra é explicado a seguir. R 1 : Ordenação em fila (crescente) pela data de liberação; R 2 : Ordenação crescente pela data de término da primeira operação considerada na primeira posição da sequência, ou seja, a soma do instante mais cedo de início da tarefa j com o tempo de processamento na primeira máquina; R 3 : Ordenação crescente pela soma dos tempos de processamento e de setup da tarefa j na primeira máquina; R 4 : Ordenação crescente pela soma do instante mais cedo de início da tarefa j e os tempos de setup da segunda máquina em diante; R 5 : Ordenação crescente pela soma do instante mais cedo de início da tarefa j e os tempos de processamento em todas as máquinas; R 6 : Ordenação crescente pela soma do instante mais cedo de início da tarefa j, os tempos de processamento em todas as máquinas e os tempos de setup da segunda máquina em diante; R 7 : Ordenação decrescente pela soma dos tempos de processamento e de setup da tarefa j na última máquina; R 8 : Ordenação aleatória, para fins de comparação. Os desempates ocorrem pela menor soma dos tempos de processamento (p j ) em todas as máquinas. 9
4. Experimentação computacional e resultados 4.1 Parâmetros de experimentação Na experimentação computacional foram testados e avaliados 39.600 problemas, definidos pelo número de tarefas (n), número de máquinas (m), intervalos de tempos de liberação das tarefas (r) e intervalos de tempos de setup (s). Os problemas foram divididos em dois grupos, sendo o primeiro com problemas de pequeno porte, tendo sido encontrada a solução ótima por meio de enumeração completa, e o segundo com problemas de médio e grande porte. É importante salientar que a principal característica que difere o grupo 1 do grupo 2 é a comparação com a solução ótima e não o número de tarefas. No grupo 1, foram gerados aleatoriamente 18.000 problemas, cujos parâmetros foram: 5, 6, 7, 8 e 10 tarefas e 2, 3, 5 e 10 máquinas. E no grupo 2, foram gerados aleatoriamente 21.600 problemas, cujos parâmetros foram: 15, 20, 30, 50, 80 e 100 tarefas e 5, 10, 15 e 20 máquinas. Em ambos os grupos, foram considerados três intervalos de datas de liberação, U[1, 49], U[1,99] e U[1,199], três intervalos de tempos de setup, U[1, 49], U[1, 99] e U[1, 149] e um intervalo fixo para os tempos de processamento, com valores inteiros uniformemente distribuídos entre 1 e 99. Também em ambos os grupos, foram utilizadas cinco opções de valores para o parâmetro α, que, conforme já mencionado, representa o peso das medidas da função objetivo. A tabela 2 apresenta os valores considerados. Tabela 2 Variações de valores de alfa 10
Fonte: Elaborada pelos autores (2014) Na opção 1, temos peso zero (α = 0) para o critério makespan e peso 1 (1 α = 1) para o critério flow time. Isso resulta no problema monocritério (apenas flow time) com a notação. Nas opções 2, 3 e 4, o problema continua bicritério, alternando os pesos nas opções 2 e 4, e com o mesmo peso na opção 3. Já na opção 5, ocorre o oposto da opção 1, ou seja, o makespan tem peso 1 (α = 1) e o flow time com peso zero (1 α = 0), resultando no problema de minimização do makespan com notação. Os resultados obtidos na experimentação computacional foram analisados por meio de Desvio Relativo Percentual - RPD (relative percentage deviation). O desvio relativo mede a variação correspondente à melhor solução obtida pelos métodos. Se o desvio relativo da solução de um método é igual a zero para um determinado problema, significa que tal método forneceu o menor valor da função objetivo, ou seja, o algoritmo apresentou a melhor programação. A RPD para um determinado método no grupo 1 foi assim calculado:, onde Z R é o valor da função objetivo do método e o Z* é o valor da solução ótima. Enquanto para o grupo 2, o cálculo foi elaborado da seguinte forma:, onde Z R é o valor da função objetivo e o Z b a solução do melhor método. De acordo com esses parâmetros, todos os problemas foram gerados aleatoriamente e 11
resolvidos por meio de um software construído especificamente para esta finalidade. Este software gera os arquivos de entrada com os dados dos problemas e produz a saída de arquivos comparativos com o makespan/flow time e o tempo de computação de cada método. Utilizou-se o sistema operacional Windows e a linguagem de programação Delphi. As configurações da máquina são as seguintes: processador Pentium Dual - Core da Intel com 2 GHz de frequência e 3 GB de memória RAM. 5. Análise dos resultados 5.1 Análise dos resultados para = 0 Para alfa igual a zero, a regra R 5 forneceu os menores valores, e consequentemente as melhores porcentagens de desvio relativo em todos os parâmetros referentes ao grupo 1. A medida que o número de tarefas e intervalos de data de liberação aumentavam, os valores do RPD também aumentavam. Já no que diz respeito ao aumento do número de máquinas e aos intervalos setup, o efeito foi o contrário, ou seja, a medida que aumentavam, os valores do RPD iam diminuindo. No grupo 2, em geral a regra R 5 também mostrou um bom desempenho, com algumas exceções. Com o aumento do número de tarefas, a regra R 6 vai melhorando os resultados, até ultrapassar a regra R 5 em problemas com 80 e 100 tarefas. Na análise dos problemas por número de máquinas e dos intervalos de datas de liberação e de setup, embora haja variação nos resultados dos métodos nos diferentes valores destes parâmetros, em todos os casos a ordem de superioridade se manteve com a regra R 5 em primeiro lugar, a R 6 em segundo e a R 2 em terceiro. Figura 3 Valores para alfa igual a zero 12
Fonte: Elaborada pelos autores (2014) 5.2 Análise dos resultados para = 0,25 Neste caso, a regra R 2 possui a grande maioria dos melhores desempenhos, enquanto a regra R 5 obteve melhor desempenho em apenas dois casos: quando o número de máquinas é igual a 10 e no maior intervalo de tempos de setup [1,149]. Isso mostra que a medida que o número de máquinas ou intervalo de setup for aumentado, a regra R 5 apresenta os melhores resultados no grupo 1. Ainda neste grupo, quanto maior o número de tarefas, maior o valor do RPD, e isso se repete nos intervalos de data de liberação, ou seja, a medida que aumentamos o intervalo, os valores também aumentam. Com alfa igual a 0,25 para as tarefas do grupo 2, a regra R 5 conseguiu as melhores porcentagens de desvio relativo e obteve os melhores resultados em todos os parâmetros. Os valores do RPD decrescem a medida que o número de tarefas, máquinas e intervalos de setup vão aumentando. Já nos intervalos de liberação, a medida que são maiores, os valores do RPD também aumentam. Figura 4 Valores para alfa igual a 0,25 13
Fonte: Elaborada pelos autores (2014) 5.3 Análise dos resultados para = 0,5 Quando aumentamos o valor de alfa é igual a 0,5, o desempenho da regra R 2 é o melhor em todos os RPD do grupo 1. Os valores do RPD são crescentes a medida que aumentam o número de tarefas, o número de máquinas e os intervalos de data de liberação. Nos intervalos de setup, ocorre o contrário, a medida que são maiores, os valores do RPD vão diminuindo. No grupo 2, a regra R 5 obteve os melhores resultados, mas a regra R 2 conseguiu se sobressair nos seguintes critérios: quando o número de máquinas é o menor (m = 5); quando o intervalo das datas de liberação é o maior [1,199] e quando o intervalo dos tempos de setup é o menor [1,49]. Apenas nesses 3 casos a R 2 foi superior. A medida que o numero de tarefas e máquinas vão aumentando, os valores do RPD diminuem. Figura 5 Valores para alfa igual a 0,5 14
Fonte: Elaborada pelos autores (2014) 5.4 Análise dos resultados para = 0,75 Para alfa igual a 0,75, regra R 2 teve o melhor desempenho. Esta regra conseguiu os melhores resultados perante as demais regras e venceu em todas as opções do número de tarefas ou máquinas e também em intervalos de data de liberação ou setup em ambos os grupos. Percebe-se no grupo 1 que, a medida que os números de tarefas, máquinas e intervalo de data de liberação vão aumentando, os valores do RPD também vão aumentando. No caso dos intervalos de setup, ocorre o contrário, os valores do RPD diminuem a medida que o intervalo vai aumentando. Já no grupo 2, quando o número de máquinas e o intervalo de data de liberação vão aumentando, os valores vão decrescendo. Em relação ao intervalo de setup, quanto maior o intervalo, menor é o valor do RPD correspondente àquele intervalo. Figura 6 Valores para alfa igual a 0,75 15
Fonte: Elaborada pelos autores (2014) 5.5 Análise dos resultados para = 1 Quando aumentamos o valor de alfa, ou seja, com o valor igual a 1,0, a situação em relação à anterior (alfa = 0,75) não se difere, ou seja, a regra R 2 permanece com os melhores resultados, conforme é demostrado na figura 7. Nota-se no grupo 1 que, a medida que os números de tarefas, máquinas e intervalo de data de liberação vão aumentando, os valores do RPD também crescem. No caso dos intervalos de setup, os valores do RPD diminuem a medida que o intervalo vai aumentando. Já no grupo 2, quando o número de máquinas e o intervalo de data de liberação vão aumentando, os valores vão decrescendo. Em relação ao intervalo de setup, quanto maior o intervalo, maior é o valor do RPD correspondente àquele intervalo. 16
Figura 7 Valores para alfa igual a 1 Fonte: Elaborada pelos autores (2014) A seguir é apresentada a tabela 3 que ilustra numericamente as três regras que apresentaram o melhor desempenho e os seus respectivos valores do RPD, para cada opção dos valores de alfa. Consta apenas uma única exceção: para alfa igual 0,5, no grupo 2, em problemas com 100 tarefas, a regra que ficou em segundo lugar foi a R 4, com RPD de 1,6, que não consta na tabela. Portanto, neste caso, a ordem de superioridade foi: R 5, R 4, R 2 e R 3. Na tabela 3, a regra que obteve o melhor resultado está identificada em azul e a que ficou em segundo lugar em verde. Tabela 3 Valores do RPD por alfa 17
Fonte: Elaborada pelos autores (2014) 6. Considerações finais Neste trabalho, foi estudado o desempenho de oito regras de prioridade para o sequenciamento em flow shop permutacional com diferentes datas de liberação, tempos de setup explícitos e objetivo bicritério (makespan e flowtime). Foram resolvidos 21.600 problemas, divididos em dois grupos: de pequeno porte, tendo sido encontrada a solução ótima por meio de enumeração completa, e de médio e grande porte, com comparação relativa do desempenho. Diferentes pesos para os dois critérios de desempenho foram utilizados. De forma geral, a regra de prioridade R 2, que faz a ordenação crescente pela soma do instante mais cedo de início da tarefa com o tempo de processamento na primeira máquina, obteve os melhores resultados. A regra R 5, que ordena as tarefas de forma crescente pela soma do instante mais cedo de início e dos tempos de processamento em todas as máquinas, ficou em segundo lugar. E a regra R 6, que difere da R 5 apenas por considerar também a soma dos tempos de setup em todas as máquinas, ficou em terceiro lugar. Estes resultados recomendam 18
que no problema tratado, é importante considerar o instante mais cedo de início da tarefa, ou seja, a data de término da primeira operação considerada na primeira posição da sequência. Podem indicar também que é preferível utilizar os tempos de processamento das tarefas, e não tanto os de setup, no critério de ordenação. A análise detalhada por parâmetros confirmou as observações dos resultados globais, acrescentando a informação de que a regra R 5 supera a R 2, em ambos os grupos, especialmente no caso em que o peso do makespan é zero na medida de desempenho, convertendo o problema em monocritério, de minimização apenas do flow time. Foi utilizada também como base de comparação uma regra de ordenação aleatória, que obteve resultados piores do que as demais, sugerindo a aplicabilidade das sete primeiras regras propostas. Além disso, o tempo de computação na resolução do problema foi desprezível. Para futuros trabalhos, sugere-se a utilização de outros métodos, como as meta-heurísticas, na resolução do problema, e a utilização de novas medidas no critério de desempenho, como as relacionadas ao atraso das tarefas. Referências BAKER, K. R.; TRIETSCH, D. Sequencing for Stochastic Scheduling, in Principles of Sequencing and Scheduling, John Wiley & Sons, Inc., Hoboken, NJ, USA, 2009. BAKER, K.R. Introduction to sequencing and scheduling. New York: John Wiley & Sons, Inc, 1974. BRANCO, F. J. C., NAGANO, M. S., & MOCCELLIN, J. V. Análise multicritério na programação da produção em sistemas no-wait flow shop. Revista Gestão Industrial, 4(2), 2008. EREN, T. A bicriteria M-machine flow shop scheduling with sequence-dependent setup times, Applied Mathematical Modelling, Vol. 34, No.2, pp. 284 293, 2010. 19
FARBER, G; COVES, A. Overview on sequencing in mixed model flowshop production line with static and dynamic context. Universitat Politècnica de Catalunya, 2005. FRAMINAN, J.M,, LEISTEN, R., RUIZ-USANO, R. Efficient Heuristics For Flowshop Sequencing With The Objectives Of Makespan And Flowtime Minimization. European Journal Of Operational Research 141, P. 559-569, 2002. FUCHIGAMI, H.Y. Introdução ao Sequenciamento da Produção. Catalão: UFG, 2013. Material didático. Versão 5.0. HO, J.C., CHANG, Y.-L., A new heuristic for the n-job, m-machine flowshop problem, European Journal of Operational Research 52 (1991) 194-202. M. NAWAZ, E.E. ENSCORE, I. HAM,. A heuristic algorithm for the m-machine, n-job flowshop sequencing problem, OMEGA 11 (1983) 91 95. PASUPATHY, T., RAJENDRAN, C., & SURESH, R.K. A multi-objective genetic algorithm for scheduling in flow shops to minimize the makespan and total flow time of jobs, 2006. PINEDO, M. L. Scheduling: Theory, Algorithms, and Systems. New York: Springer, 2010. RAJENDRAN, C. Heuristics for scheduling in flowshop with multiple objectives. European Journal of Operational Research 82, 540 555, 1995. RAJENDRAN, C.; ZIEGLER, H. Ant-colony algorithms for permutation flowshop scheduling to minize makespna/total flowtime of jobs. European Journal of Operation Research, Amsterdam, v. 155, n.2, p. 426-436, June, 2004. RAJKUMAR, R.; SHAHABUDEEN, P.; NAGARAJ, P.; ARUNACHALAM, S.; PAGE, T. A Bi-criteria Approach to the M-machine Flowshop Scheduling Problem. Studies in Informatics and Control, Vol. 18, Nº 2, June, 2009. RAVINDRAN D., NOORUL HAQ A., SELVAKUAR S.J. AND SIVARAMAN R. Flow shop scheduling with multiple objective of minimizing makespan and total flow time, International Journal of Advanced Manufacturing Technology, Vol. 25, pp.1007 1012, 2005. SRIDHAR, J., RAJENDRAN, C. Scheduling In Flowshop And Cellular Manufacturing Systems With Multiple Objectives A Genetic Algorithm Approach. Production Planning And Control, 7, P. 374-382, 1996. TASGETIREN, M. F., LIANG, Y. C., SEVKLI, M. E GENCYILMAZ, G. (2007), A particle swarm optimization algorithm for makespan and total flowtime minimization in the 20
permutation flowshop sequencing problem, European Journal of Operational Research, 177, (2007). VARADHARAJAN, T. K.; RAJENDRAN. A multi-objective simulated-annealing algorithm for scheduling in flowshops to minimize the makespan and total flowtime of jobs. European Journal of Operational Research, n.167, p. 772-795, 2005. 21