ALGORITMO PARA AUTOMAÇÃO DOS PROCESSOS DE PLANEJAMENTO DA PRODUÇÃO NA ÁREA GRÁFICA JOB SHOP Hirlandson Ricardo Pedrosa Alexandre Alves Silva Universidade Braz Cubas Engenharia de Computação Jesus Franlin Andrade Romero Osamu Saotome Instituto Tecnológico de Aeronáutica Divisão de Engenharia Eletrônica Resumo: Neste trabalho foi desenvolvido um algoritmo para auxiliar o planejamento do programa da produção em empresas com processos do tipo Job-Shop (Sob encomenda). Mais precisamente, o processo considerado foi a industria gráfica onde foi evidenciada à carência deste tipo de ferramentas. O algoritmo proposto determina uma lista ordenada de operações para cada máquina, otimizando o tempo total de execução das tarefas (jobs) e minimizando o tempo de ociosidade das máquinas. A validação do projeto foi efetuada comparando resultados da abordagem proposta com técnicas clássicas utilizadas para resolver o problema de agendamento, Menor Tempo Acumulativo ( MTA). Abstract: In this wor a Planning Control Program support algorithm tool is proposed. The type of process considered belongs to the category Job-Shop, more precisely, the process considered is the graph industry. The proposed algorithm determines an orderly list of operations for each machine, optimizing the total tass execution time (jobs) and minimizing the machines idleness time. The project validation was made comparing the results with the Smaller Accumulative Time algorithm (MTA). 1. INTRODUÇÃO O objetivo do planejamento de processos é selecionar e definir os processos que precisam ser executados em uma peça, de forma econômica e respeitando as especificações de projeto. O resultado do planejamento é um plano de processos (roteiro de fabricação, folha de processo, folha de operações), no qual constam: seqüência de operações, máquinas, ferramentas, tempos de fabricação, centros de custo, materiais e outros itens relativos aos vários estágios na fabricação de um produto. Tais informações variam de empresa para empresa e servem para apoiar os demais departamentos ligados ao planejamento, organização e contabilidade (Rozenfeld e Módolo, 1991). O problema programação da produção do tipo Job-Shop (JSP) é um problema de alocação de um conjunto de jobs para as máquinas, de tal forma que os jobs sejam executados em um menor intervalo de tempo. Cada job pode consistir de diversas tarefas e cada tarefa deve ser processada numa máquina particular, cada máquina pode processar no máximo uma operação por vez. Além disso, as tarefas em cada job estarão sujeitas à restrições de precedência. Este trabalho tem como objetivo desenvolver um algoritmo para ser implementado em um sistema de produção sob encomenda na área gráfica, sua função será de planejar os diversos tipos de maquinas e suas tarefas com a menor ociosidade possível, garantindo assim uma confiabilidade entre o valor orçado com valor gasto na produção (custo benefício) e ganho no tempo de produção. O artigo está organizado como se segue: a seção 2 apresenta o procedimento de modelagem do problema, na seção 3 é feita uma revisão de diferentes técnicas de otimização aplicadas ao problema de agendamento. As principais características do processo de planejamento na industria gráfica é apresenta na seção 4. Na seção 5 é descrita a solução proposta neste trabalho assim como as conclusões finais. 2. MODELAGEM DO PROCESSO JOB-SHOP Formalmente, o problema de escalonamento em um ambiente Job-Shop consiste em um n conjunto finito J de n tarefas { J i } que deverão ser processadas em um grupo finito M de m i = 1
m máquinas ou equipamentos { M }. Cada tarefa j i deve ser processada em todas as máquinas = 1 conformando uma seqüência ordenada (ou não) de m i operações, O i1, Oi2,..., Oim i, que deverão ser escalonadas em uma ordem predeterminada respeitando restrições definidas como de precedência. n Assumindo N operações no total é possível definir N = i = m 1 i. O é a operação do trabalho J i que deve ser processada na máquina M por um tempo sempre contínuo τ, e é assumido que nenhuma das operações pode ser interrompida para ser complementada em um instante posterior. Cada tarefa, de forma independente, deve apresentar seu próprio modelo de fluxo para ser utilizado em todas as máquinas. Também, a resolução do problema deverá considerar restrições de capacidade ou disjuntivas entre as restrições de forma a garantir que cada máquina consiga implementar só uma operação de cada vez e que cada operação seja processada só por uma máquina em um determinado instante. Se o tempo de finalização da tarefa J i na máquina M é C, então a duração total na qual todas as operações para todas as tarefas são completadas é definida como o limiar C max. No problema de otimização do ambiente Job-Shop, portanto, o objetivo do escalonamento é determinar os tempos de inicialização de cada operação, t 0, em ordem a minimizar o limiar satisfazendo simultaneamente todas as restrições de precedência e capacidade. Ou seja, o objetivo do algoritmo pode ser expressado mediante a determinação de C max, onde, min C = min( Cmax ) = ( max( t + τ ): Ji J, M M ) max escalonamentos permitidos (1) Convém notar que a dimensão do sistema definido em (1), quando expressada em forma matricial, é igual a nxm em cada instante. N pode ser assumida como nm desde que m i =m para cada tarefa J i e desde que cada tarefa seja processada exatamente uma vez em cada máquina. 2.1 O Processo de Agendamento Segundo Ansari (1997), a ordem em que as operações se encontram agendadas nas máquinas, definem a ordem em que as operações deverão ser executadas pelas máquinas. Em toda máquina existe um número fixo de operações que devem ser executadas. A restrição de capacidade requer que apenas uma dessas operações possa ser executada em um instante. Portanto, o agendamento (scheduling) é o arranjo de todas as operações dos Jobs a serem executas pelas máquinas, na ordem estabelecida, respeitando as restrições de precedência do problema Job-Shop. As restrições de precedência estão intrínsecas nas operações de cada Job. Uma operação de um Job (trabalho) é agendada na máquina j em um tempo t se t é maior ou igual ao tempo de finalização de todas as outras operações do mesmo Job que a precedem. Existe um número infinito de agendamentos para um simples problema Job-Shop, uma vez que, o tempo de espera pode ser inserido em um dado agendamento de infinitas maneiras. Tempo de espera, é o intervalo de tempo em que uma máquina do problema fica ociosa à espera de uma operação a ser executada. Entretanto, agendamento com tempo de espera não são interessantes, pois normalmente eles não otimizam a função objetiva (não minimizam o tempo de finalização de um agendamento). 3. TÉCNICAS DE OTIMIZAÇÃO No presente trabalho a definição de otimização utilizada é relacionada com o procedimento de identificar o mínimo ou o máximo de uma função definida como função objetivo. Para que o resultado encontrado seja considerado candidato a solução ótima também deverá satisfazer um conjunto de especificações ou imposições chamadas restrições. Considerando esforços computacionais exigidos por técnicas que utilizam modelos matemáticos para a determinação de soluções ótimas, as técnicas numéricas de otimização eventualmente se apresentam como meios mais práticos para abordar o processos industriais. O progresso das técnicas de otimização numérica é recente e relacionado com o crescimento da disponibilidade de recursos computacionais. Ainda hoje estas técnicas vêm sendo aprimoradas e adaptadas.
3.1 Princípio dos Métodos Numéricos de Otimização 0 Diferentes algoritmos de otimização utilizam uma solução inicial X, que é atualizada em iterações sucessivas. A forma mais comum de se representar este procedimento iterativo é apresentada na equação 2. q q 1 q X = X + α S (2) onde q é o índice da iteração e S é a direção de busca no espaço de projeto. O escalar α define a distância que devemos nos mover segundo S. Convém observar que os algoritmos de otimização não linear baseados na equação (2) podem ser separados em duas partes principais. A primeira é a determinação da direção de S e a segunda é a determinação do parâmetro escalar α. 3.2 Método de Busca Aleatória Monte Carlo (BGMC) Os métodos de busca aleatória são considerados os menos eficientes, porém os de mais simples implementação. A quantidade de memória é requerida para o código faz deste método um candidato ideal para o uso em ambientes computacionais limitados. Um dos algoritmos mais utilizados em procedimentos de otimização aplicados em ambientes industriais é o algoritmo Busca Global de Montecarlo (Himmelblau, 1970). A técnica é considerada como de busca global devido a que mediante a geração uniforme de variáveis aleatórias é possível explorar a totalidade da superfície ou função custo. Na figura 1, onde é apresentado o digrama de fluxo do algoritmo, é possível observar que existe um refinamento na otimização em função a diminuição do espaço de busca a cada iteração. Esta característica permite ajustar um espaço de busca inicial coerente com o problema sendo otimizado, e como será verificado na seção 4, torna o algoritmo adequado a aplicações relativas a planejamento. Inicio Leitura de dados Geração de números aleatórios Inicialização do algoritmo(dados e intervalos de busca) j=1 Inicializando o contador de iterações Imprimir os valores finais (p1,i1,d1,p2,i2, d2) j<=p j=j+1 p: máximo número de iterações FIM Formação dos grupos de variáveis a otimizar: xi = xi + rand ri verificar restrições Calcular o erro para cada grupo identificar o grupo que minimiza o erro reduzir intervalos: de busca ri = 0.95 ri Figura 1 Algoritmo de Busca Monte Carlo (BGMC)
4. PLANEJAMENTO DA PRODUÇÃO NA INDÚSTRIA GRÁFICA No presente trabalho, o sistema de produção na industria gráfica foi modelado mediante algumas visitas a diferentes industrias gráficas na cidade de São José dos Campos - SP. O objetivo das visitas foi identificar os elementos típicos do processo (trabalhos, operações e máquinas) assim como o método utilizado para o agendamento das operações. Em relação aos elementos que estruturam o processo foram considerados os componentes apresentados na tabela 1. Tabela 1 Elementos do processo em industria gráfica Trabalhos (J) Operações (O) Máquinas (M) Revistas Cartões de visita Jornais Calendários Cartazes Corte Impressão Acabamento Guilhotinas Impressoras Rotativas Impressoras Planas Grampeadeiras Dobradeiras Gravadora de Chapas Nas gráficas visitadas foi verificado que a metodologia utilizada no agendamento objetiva a minimização do tempo ocioso de cada máquina ordenando as operações de forma empírica heurística manual, ou seja, o funcionário responsável sem ajuda de nenhuma ferramenta de informática ou algoritmo pré-definido estabelece a seqüência de operações. O diagrama de fluxo de dados identificado nos processos analisados é apresentado na figura 2. CLIENTE faz requisição VENDAS emite ordem de serviço Seleciona JOB de menor tempo Matriz de tarefas agendadas Seleciona JOB s sem pendências anteriores Entrega de Material ao cliente Retorna melhor seqüência para produção Figura 2 Diagrama de Fluxo de Dados na industria gráfica 4.1 Agendamento via Método Menor Tempo Acumulativo (MTA) É importante tratar com eficiência a ociosidade a fim de termos o menor tempo de espera em uma máquina. A seguir é descrito o método MTA, considerado no presente trabalho como o método representativo da heurística utilizada nos processos analisados (Pinedo and Chao, 1999). i) Cada máquina do problema JSP apresente inicialmente um conjunto formado pelas primeiras operações de cada Job a serem executadas. Esses conjuntos são chamados Conjunto de Operações Agendáveis de uma máquina. ii) São escolhidas as máquinas disponíveis no tempo corrente t. Se houver máquina disponível: Para todas as máquinas do problema, caso a última operação agendada possua tempo de finalização menor ou igual a t, busca-se então, caso exista, a operação do mesmo Job sucessora a última operação agendada à máquina e a inseri no conjunto agendável correspondente à máquina em que a operação deverá ser executada. A operação torna-se agendável a partir do instante t. Se não houver máquina disponível, vá para o Passo vi). ii) Os conjuntos de operações candidatas serão os conjuntos de operações agendáveis de cada máquina escolhida. Se um conjunto de candidatas estiver vazio, significa que não há operação a ser agendada na máquina escolhida, logo esta se tornará ociosa.
iv) Em seguida, para cada conjunto de candidatas, é escolhida uma operação do conjunto de operações candidatas não vazio a ser agendada na sua máquina, seguindo o critério de escolha Randômico ou Menor Tempo Acumulativo. Cria-se uma lista de candidatos restrita (LCR), para cada conjunto de candidatas, que irá conter as operações candidatas com Menores Tempos Acumulativos. v) Uma vez escolhida as operações dos conjuntos de operações candidatas (ou dos conjuntos LCR), essas operações são retiradas dos conjuntos agendáveis das máquinas em que elas serão atribuídas. Atribui-se as operações às máquinas. As máquinas tornam-se não disponíveis e cada máquina tornará disponível quando o tempo t atingir o tempo de finalização da operação agendada. vi) O processo percorrido para geração de solução é finalizado quando todas as operações do problema estiverem sido agendadas às suas respectivas máquinas. Se não foi finalizado o processo, avançar o tempo t e voltar ao passo ii). 4.2 Agendamento via Algoritmo de Otimização Numérica O procedimento proposto no presente trabalho consiste em inserir o conjunto de passos descrito na seção 4.1 dentro da malha de busca do método de BGMC (figura 1). É importante ressaltar que a heurística utilizada para estruturar a restrição da malha de busca permite considerar soluções globais. Ou seja, soluções onde é permitida, em determinados instantes, a escolha de operações que não apresentam o menor tempo de execução. Mais precisamente, a heurística proposta é apresentada na equação 3. min C = min max A τ U i, max escalonamentos permitidos ( C ) = ( t + : J J M M ) (3) Onde ta representa o tempo de execução da operação e τ U representa um valor que quantifica o uso da tarefa J i da máquina M. O valor de τ U, é definido de forma a priorizar as operações que pertencem às tarefas que menos utilizam uma determinada máquina. 5. RESULTADOS E CONCLUSÕES Para verificar o desempenho do método proposto, a seguir são apresentados dois estudos de caso modelados nas visitas realizadas e resolvidas mediante a implementação em MATLAB dos algoritmos MTA e BGMC. Nos dois casos, os resultados obtidos mediante o algoritmo de busca Monte Carlo apresentaram um menor tempo de ociosidade. 5.1 Estudo de Caso 1 O primeiro estudo de caso consiste em um problema 3 máquinas e 3 jobs, conforme a tabela 2. Tabela 2 Problema JS 3x3 Operação (X,Y,Z) Tempo Operação (X,Y,Z) Tempo 1,1,2 5 2,2,2 5 1,2,2 7 2,3,1 5 1,3,1 7 3,1,2 7 2,1,3 7 3,2,1 5 Onde Z máquina em que a operação deverá ser executada, Y número da operação e X job. 5.2 Estudo de Caso 2 O segundo estudo de caso considera um problema JS de 5 jobs e 12 máquinas conforme a tabela 3. Tabela 3 Problema JS 5x12 Op T Op T Op T Op T Op T Op T X,Y,Z) (X,Y,Z) (X,Y,Z) (X,Y,Z) (X,Y,Z) (X,Y,Z) 1,1,3 3 2,1,2 5 2,5,7 3 3,2,5 4 4,1,3 2 5,1,1 6 1,2,5 2 2,2,10 10 2,6,8 2 3,3,6 3 4,2,5 1 5,2,12 1 1,3,12 1 2,3,5 2 2,7,9 1.5 3,4,12 1 4,3,12 0.5 5,3,11 2 1,4,11 1 2,4,7 5 3,1,4 6 3,5,11 1 4,4,11 1 A figura 3a) apresenta o resultado obtido mediante o método MTA e a figura 3b) apresenta o obtido via o algoritmo de BGMC. Os blocos coloridos representam o tempo de ociosidade de cada
máquina e cada operação é identificada com um bloco com o respectivo conjunto (X,Y,Z). Como é possível observar o tempo ocioso, para cada máquina, apresentado pelo algoritmo de otimização é menor que o apresentado pelo método MTA. 30 Tempo Ocioso:14 2 0 15 Tempo Ocioso:12 0 0 M1 25 M1 20 2 3 1 1 3 1 3 2 1 10 1 3 1 3 2 1 2 3 1 M2 15 M2 10 1 1 2 2 2 2 1 2 2 3 1 2 5 1 1 2 1 2 2 3 1 2 2 2 2 M3 5 M3 2 1 3 0 0 5 10 15 20 25 30 2 1 3 0 0 5 10 15 20 25 30 (a) MTA (b) BGMC Figura 3 Agendamento determinado para o Estudo de Caso 1 A figura 4 apresenta o resultado relativo ao agendamento do estudo de caso 2 obtido mediante o algoritmo de otimização numérica BGMC. Como é possível observar, o método proposto também consegue manipular problemas de dimensão elevada. Figura 4 Agendamento determinado para o Estudo de Caso 2 BGMC BIBLIOGRAFIA Ansari, N. e Hou, E., Computational Intelligence for Optimization., Kluwer Academic Publishers, 1997. Edgar, T. F.; Himmelblau, D. M.; and Lasdon, L. S. Optimization of Chemical Processes, 2nd ed. New Yor: McGraw-Hill, 2001. Himmelblau, D. M. and Edgar, T. F., Optimization of Chemical Process, McGraw-Hill, 1970. Pinedo, M., Chao, X. Operations Scheduling With Applications in Manufacturing and Services. Irwin McGrawn-Hill, 1999. Rozenfeld H., Módolo, D.L., Sistema Modular do Planejamento de Processo visando Padronização e maior Velocidade ao Planejamento de Processo, Congresso Brasileiro de Engenharia Mecânica (COBEM), São Paulo SP, 1991 Zênite Sistemas LTDA, Cálculo de Custo na Indústria Gráfica, 2000. Galluzi, T., A Indústria Gráfica na era da gestão informatizada, Revista Abigraf março 2004.