SciELO - Scientific Electronic Library Online

 
vol.18 número1Otimização da localização das bases de ambulâncias e do dimensionamento das suas regiões de cobertura em rodoviasUm modelo de otimização inteira mista e heurísticas relax and fix para a programação da produção de fábricas de refrigerantes de pequeno porte índice de autoresíndice de assuntospesquisa de artigos
Home Pagelista alfabética de periódicos  

Serviços Personalizados

Journal

Artigo

Indicadores

Links relacionados

Compartilhar


Production

versão impressa ISSN 0103-6513versão On-line ISSN 1980-5411

Prod. v.18 n.1 São Paulo  2008

https://doi.org/10.1590/S0103-65132008000100005 

Tratamento de um problema de escalonamento considerando datas de entrega, turnos de produção e trocas de ferramentas via Busca Tabu

 

Scheduling problem treatment considering due dates, production turns and toll switching constraints using Tabu Search

 

 

Antonio Gabriel Rodrigues; Arthur Tórgo Gómez

Unisinos

 

 


RESUMO

Neste trabalho é abordado o Problema de Escalonamento em um Job Shop aplicado a um Sistema de Manufatura Flexível (SMF), sendo consideradas restrições de datas de entrega, turnos de produção e trocas de ferramentas. O SMF considerado é composto de uma máquina versátil, um sistema de transporte e manuseio de materiais e um sistema computacional. O problema é representado por uma função objetivo f, na qual é possível definir três políticas de minimização: (i) tempo de atraso, (ii) tempo de parada para a troca de ferramentas e (iii) tempo de trocas de ferramentas. A aplicação das políticas é feita pela definição de pesos às variáveis de decisão de f. A busca pelo escalonamento que minimiza f é feita utilizando a técnica de Busca Tabu (BT). Foram realizados experimentos onde é observado o impacto de cinco regras de geração de soluções iniciais no desempenho da Busca Tabu. Também foram realizados experimentos nos quais se verifica o comportamento da busca frente à escolha das políticas de minimização. Nestes experimentos notou-se o conflito entre a política de minimização de atraso e as de minimização de trocas de ferramentas e de paradas para trocas de ferramentas. O aumento dos parâmetros da BT, nbmax (número máximo de iterações sem encontrar melhora no resultado global da busca) e tamanho da Lista Tabu, melhora o desempenho da busca para encontrar melhores resultados na minimização do atraso.

Palavras-chave: Problema de Escalonamento, Problema de Seleção de Partes, Busca Tabu, Sistema de Manufatura Flexível.


ABSTRACT

In this paper is studied the Job Shop Scheduling Problem applied to a Flexible Manufacturing System (FMS) environment, considering due dates, production turns and tool switching constraints. The FMS is composed by a versatile machine, a system for transport, handling and storage of materials and a computational system. This problem is represented through an objective function f, in which is possible to define three minimization policies: (i) tardiness time, (ii) stop time and (iii) switching tools time. The implementation of these policies is made through the definition of weights to the decision variables of f. The search for the schedule which minimizes is made through the Tabu Search (TS) technique. It was made experiments in which the impact of five initial solution rules is verified in the TS performance. Experiments with the objective of analyze the behavior of the search considering the minimization policies were performed. In these experiments, it was noticed that tardiness minimization conflicts with tool switching and stops minimization. The Increasing of TS parameters nbmax (number of iterations with no improvement in the global result of the search) and Tabu List size increasing the performance of the search in finding good solutions for tardiness minimization.

Key words: Scheduling Problem, Part Selection Problem, Tabu Search, Flexible Manufacturing System


 

 

INTRODUÇÃO

O Problema de Escalonamento é clássico da área de Pesquisa Operacional, possuindo diversas variações, de acordo com o sistema fabril considerado. O Problema de Escalonamento em um Job Shop é um dos mais conhecidos e estudados, onde um conjunto de produtos deve ser processado por um conjunto de máquinas, sendo que cada produto possui uma rota diferente no sistema fabril (PINEDO, 1995; JAIN, 1999). O objetivo clássico deste problema é a minimização do tempo total de produção. Vários trabalhos que abordam o problema em sua forma clássica, como Nowicki e Smutnicki (2005), Zhang et al. (2006), Pezzella e Merelli (2000), os quais utilizam híbridos de Busca Tabu com técnicas como Têmpera Simulada e Shiffting Bottleneck. Steinhöfel, Albrecht e Wong (1999), Wang e Zeng (2001) utilizam a Têmpera Simulada para tratar esse problema. Park, Choi e Kim (2003), Gonçalvez, Mendes e Resende (2005) utilizam Algoritmos Genéticos como geradores de escalonamentos que minimizam o tempo total de produção.

Neste trabalho é abordado o Problema de Escalonamento em Job Shop considerando as restrições de datas de entrega, dos turnos de produção e de trocas de ferramentas. No item "Problemas abordados" são descritos os problemas abordados no escopo do modelo proposto neste trabalho: o Problema de Escalonamento e o Problema de Seleção de Partes. No item "Técnicas utizadas" é feita a descrição da técnica de Busca Tabu e do Algoritmo de Seleção de Partes Modificado, utilizados para resolver os Problemas de Escalonamento e de Seleção de Partes. No item "Definição do Modelo" é apresentada a função objetivo e a arquitetura do modelo computacional proposto. Os experimentos com a geração das soluções iniciais, com as políticas de minimização de tempos e com a variação dos parâmetros da Busca Tabu são apresentados no item "Experimentos". Finalmente, são apresentadas as conclusões.

 

PROBLEMAS ABORDADOS

O Problema de Escalonamento (PE) visa alocar recursos limitados às tarefas que ocorrem no tempo (PINEDO, 1995). A definição clássica do Problema de Escalonamento, em um Job Shop, considera três elementos principais: um conjunto de partes (jobs) a serem processadas, um conjunto de operações referentes às partes e um conjunto de máquinas capazes de realizar o processamento dessas operações (HERTZ, 1996). O objetivo é produzir todas as partes de forma que seja mínimo o tempo total de produção (makespan).

Neste trabalho considera-se o PE aplicado a um Sistema de Manufatura Flexível composto de: (i) uma máquina versátil, dotada de um magazine com capacidade limitada e um sistema de troca de ferramentas automático; (ii) um sistema de transporte e manuseio de materiais para o carregamento e descarregamento das partes; (iii) um sistema computacional que controla (i) e (ii) (GROOVER, 2001).

As seguintes restrições são consideradas no PE:

• Restrições de datas de entrega: cada parte possui uma data de entrega. Deve ser definida uma seqüência de processamento das partes de modo que o atraso seja mínimo.

• Restrições de turnos de produção: turno de produção é um período de tempo no qual se admite a ocorrência de processo produtivo, ou seja, o processamento de uma parte deve ser finalizado antes do término do turno.

• Restrições de trocas de ferramentas: cada parte necessita de um grupo de ferramentas para seu processamento. Se o conjunto de ferramentas carregado no magazine para processar uma parte i é diferente do conjunto de ferramentas requerido pela parte i+1, a máquina deve parar para trocar ferramentas. A essa parada é chamada de setup e pode ser dividida em dois tempos: a + br, onde a é o tempo de limpeza da área de serviço e carregamento das partes, b é o tempo de troca de uma ferramenta e r é o número de ferramentas trocadas (GÓMEZ, 1996; HERTZ, 1996).

Para tratar a restrição de trocas de ferramentas, utilizam-se técnicas de abordagem ao Problema de Seleção de Partes (PSP). Esse problema consiste em agrupar partes a serem produzidas em Famílias de Partes (FPs), segundo um determinado critério de similaridade. As partes são agrupadas segundo o tipo de ferramenta necessário para seu processamento. A formação de FPs permite que se trabalhe com lotes de partes. Um lote é um conjunto de partes de mesma FP que é processado seqüencialmente pela máquina versátil, sem que esta precise realizar um setup, em um mesmo turno de produção.

O PE é um problema de difícil solução, com complexidade computacional NP-Difícil (JAIN; meeran, 1999). A alta complexidade deste problema torna os métodos exatos (baseados em branch-and-bound e programação linear) inviáveis de serem utilizados, motivando os autores a aplicarem heurísticas e meta-heurísticas no seu tratamento (BLAZEWICZ et al, 1996; JAIN, 1999). No seguinte são descritas as técnicas aqui utilizadas para o tratamento do PE e do PSP.

 

TÉCNICAS UTILIZADAS

O PE é abordado em duas etapas: formação das Famílias de Partes e geração do escalonamento final.

Para a geração das FPs é utilizado o Algoritmo de Seleção de Partes Modificado (ASPM) de Gómez (1996) que realiza o agrupamento das partes que possuem ferramentas similares.

O ASPM utiliza uma matriz binária A[i, j] do tipo partes versus ferramentas, onde aij = 1 se a parte i utiliza a ferramenta j, e aij = 0 caso contrário. A formação das FPs se dá nos seguintes passos:

Passo 0: atualize a iteração k=1;

Passo 1: selecione a linha i da matriz A(k) que possui o menor número de aij = 1 e trace uma linha horizontal hi sobre ela;

Passo 2: para cada j, tal que aij = 1 cruzado pela linha horizontal hi, trace uma linha vertical vj;

Passo 2a: verificar se o número de linhas verticais traçadas supera o limite do magazine; SE superar ENTÃO selecione de maneira crescente, em relação ao número de linhas verticais vj traçadas, todas as linhas horizontais hi traçadas tal que o limite do magazine seja respeitado (número de linhas verticais traçadas). Vá ao Passo 5.

Passo 3: Para cada i, tal que aij=1 cruzado pela linha vertical vj, trace uma linha horizontal hi;

Passo 4: Repita os passos 2 e 3 até não restar nenhum aij = 1 a ser cruzado. Todas as linhas horizontais e verticais correspondem a uma Família de Partes;

Passo 5: Transforme a matriz incidente A(k) em A(k+1) pela remoção das linhas e colunas traçadas nos passos 1 a 4;

Passo 6: SE a matriz A(k+1) = 0, ENTÃO pare; Caso contrário faça k=k+1 e volte ao passo 1.

O algoritmo gera uma matriz bloco-diagonal, onde cada bloco representa uma FP. O ASPM considera o compartilhamento de ferramentas entre FPs, permitindo que possa ser aplicada ao modelo a política KTNS (Keep Tool Needed Soonest) de Tang e Denardo (1988). A Figura 1 mostra em (A) uma matriz inicial de 10 partes e 9 ferramentas e em (B) a matriz bloco-diagonal correspondente ao agrupamento das partes de (A) em FPs.

 

 

O Problema de Escalonamento é abordado através da Busca Tabu (BT). BT é uma técnica de resolução de problemas de otimização combinatória criada por Glover (GLOVER, 1997; HERTZ,1996). Considera-se uma função objetivo f a ser minimizada/maximizada e uma solução inicial s viável. É gerada uma vizinhança V(s) de possíveis soluções a partir de s, através de uma operação denominada movimento. O melhor vizinho s' de V(s) é escolhido, servindo de ponto de partida para a geração de uma nova vizinhança na iteração seguinte. Para escapar dos ótimos locais é implementada uma lista de movimentos proibidos (Lista Tabu). A cada movimento s' selecionado, verifica-se se este movimento reverso não se encontra na Lista Tabu. Dado que o armazenamento apenas dos movimentos pode não ser suficiente para determinar se a busca está voltando para uma determinada solução já visitada, implementa-se um Critério de Aspiração A(s). Esse critério verifica se o valor de f(s') é melhor que f(s*), que é a melhor solução até então encontrada. Caso seja, o movimento é admitido. Existem dois critérios de parada para a BT: (i) caso seja executado um determinado número nbmax de iterações sem encontrar melhora em s*; (ii) caso a busca alcance o resultado ótimo conhecido para o problema.

 

DEFINIÇÃO DO MODELO

Para tratar o PE foi desenvolvido um modelo computacional em três módulos: módulo de geração de FPs, módulo de Solução Inicial e módulo de Busca Tabu. O PE é representado por uma função objetivo com três variáveis de decisão:

• Atraso: representada pela variável Atraso, é o tempo total de atraso das partes a serem produzidas;

• Tempo de Parada para a Troca de Ferramentas: representada pela variável de decisão Parada, é referente ao tempo de limpeza da área de serviço e carregamento das partes;

• Tempo de Trocas de Ferramentas: representada pela variável de decisão Trocas, é referente ao tempo gasto com troca de ferramentas.

A importância da contribuição das variáveis de decisão na função objetivo pode ser gerenciada através da atribuição de pesos a cada uma delas. A função objetivo, representada pela equação (1), considera duas dimensões do PE: dimensão de tempo t (referente às datas de entrega) e dimensão física p (referente às Famílias de Partes). O valor da função objetivo f é calculado através da multiplicação do valor das parcelas Atraso, Parada e Troca pelos seus respectivos pesos.

Considere: N o número de partes; L o número de setups possíveis; U o número máximo de trocas de ferramentas; Dei a data de entrega planejada para a parte i; Dti a data de término do processamento da parte i; Tr o tempo de limpeza da área de trabalho e carregamento das partes; Te o tempo de troca de uma ferramenta; Tfi é o número de ferramentas trocadas no instante de parada i; Pri é o instante de parada para troca de ferramentas i.

Minimize

Onde

A equação (2) define que o atraso é a soma da diferença positiva da data de entrega predefinida e a data de término do processamento de cada parte. A equação (3) define o tempo total de parada para a troca de ferramentas como o número total de paradas multiplicado pelo tempo gasto em uma parada. A equação (4) representa o tempo total de trocas de ferramentas através da soma da quantidade de ferramentas trocadas em todos os instantes de parada, multiplicada pelo tempo de troca de uma ferramenta. A equação (5) define que os pesos das variáveis de decisão devem ser positivos e a equação (6) refere-se à não-negatividade das variáveis de decisão.

Os módulos que compõem o modelo computacional são descritos a seguir.

• Módulo Gerador de Instâncias: Para a geração das instâncias do PE utilizadas nos experimentos, foi desenvolvido um módulo de geração de partes. Esse módulo gera as partes com os seguintes atributos: data de entrega, tempo de processamento e ferramentas requeridas.

• Módulo ASPM: as partes são agrupadas em FPs segundo as ferramentas necessárias para processá-las.

• Módulo de Solução Inicial: Este módulo gera o escalonamento inicial para a Busca Tabu. As soluções são geradas segundo Regras de Despacho, que são políticas bem definidas de despacho das partes no sistema produtivo. Foram implementadas as seguintes regras de geração de escalonamento inicial: (i) Solução Inicial Randômica (SIR), que gera uma seqüência aleatória de partes; (ii) Recursos Mais Dissimilares (RMD), que prioriza partes que possuam a maior quantidade de ferramentas diferentes; (iii) Ordenação por FPs (FAM), prioriza o seqüenciamento de partes de mesma FP; (iv) Recursos de FPs Mais Similares (RFMS), que prioriza as partes pertencentes a FPs que compartilham ferramentas; (v) Processos Mais Longos Primeiro (PMLP) que prioriza os maiores tempos de processamento.

• Módulo de Busca Tabu: A BT implementada para tratar o PE considera a função objetivo apresentada anteriormente. São utilizados dois critérios de geração de vizinhança baseados em movimentos distintos:

- Movimento de troca de lotes: dois lotes são escolhidos e têm suas posições trocadas. Esse procedimento é realizado para todos os lotes, combinados dois a dois. A cada troca feita, verifica-se em cada turno se existem dois lotes de uma mesma FP sendo processados um após o outro. Caso existam, esses dois lotes são considerados como um único lote. As partes dentro de um lote são organizadas em ordem crescente de data de entrega.

- Movimento de retirada e inserção de uma parte: Cada uma das partes é retirada de seu lote de origem e inserida na primeira posição de todos os lotes, sendo que esses são diferentes do lote do qual a parte foi retirada.

A Figura 2 mostra os quatro módulos que compõem o modelo computacional, e os parâmetros de entrada de cada módulo.

 

 

EXPERIMENTOS

O objetivo dos experimentos é verificar a influência dos pesos das variáveis de decisão da função objetivo no comportamento dinâmico do modelo. Ou seja, qual a conseqüência da adoção de políticas de minimização do atraso, das paradas e das trocas de ferramentas no escalonamento obtido pela busca. Além disso, os experimentos têm por objetivo avaliar o impacto da variação dos parâmetros da BT no resultado obtido. O modelo computacional foi implementado utilizando linguagem C e C++. Os experimentos foram executados em um computador Pentium III, 833Mhz, 256Mb de RAM.

No presente trabalho, para avaliar o impacto da escolha de determinada política de minimização, foi utilizada uma instância de pequeno porte. A seguir serão apresentados os parâmetros dos experimentos realizados.

- um conjunto de 10 partes e 9 tipos de ferramentas. Esse conjunto de partes é apresentado na Tabela 1.

 

 

- a capacidade do magazine das máquinas é de 4 ferramentas;

- o tempo para a troca de ferramentas é de 4 minutos por ferramenta;

- o tempo de reinício de operação da máquina é de 5 minutos;

- o turno de produção possui 480 minutos;

- a Lista Tabu armazena cinco movimentos proibidos (LT = 5);

- o número de iterações sem encontrar melhora no melhor resultado da busca (nbmax) é de 100 iterações;

O conjunto de partes foi agrupado em 5 FPs pelo Módulo ASPM: FP(1)={3, 4, 5}, FP(2)={1}, FP(3)={7, 9}, FP(4)={2, 6, 8}, FP(5)={10}. A partir de uma solução inicial gerada pela regra SIR (sinic = (6, 3, 4, 5, 2, 8, 9, 7, 10, 1)), utilizou-se o módulo de BT para definir uma solução não-tendenciosa (SNT), onde todas as parcelas da função objetivo têm a mesma contribuição para o resultado da função. Foram realizados 100 experimentos, nos quais foram definidos diferentes valores para os pesos das variáveis de decisão, sendo que esses valores foram gerados aleatoriamente, segundo uma distribuição normal no intervalo de 0 a 100. Nestes experimentos não foram utilizadas políticas de otimização, apenas foi observado o comportamento dos resultados frente a diferentes situações. Nestes experimentos notou-se que a parcela Atraso ficou um valor maior que a Parada e Trocas.

De modo a obter uma solução em que nenhuma das parcelas de f fosse privilegiada, dividiu-se a média do tempo da parcela Atraso encontrada nos experimentos realizados pela média dos tempos das parcelas Parada e Trocas. A proporção entre os pesos é a seguinte: Patraso = PParada * 17,27 e Patraso = Ptroca * 9.89. O valor de cada parcela da função objetivo é apresentado na Tabela 2.

 

 

Os pesos da SNT foram utilizados nos experimentos onde se verifica a influência da regra de geração da solução inicial no desempenho do módulo de BT.

Experimentos com Módulo de Soluções iniciais

Foram geradas soluções iniciais para o Módulo de BT, com cada uma das regras implementadas no Módulo de Solução Inicial. Foi analisada a quantidade de iterações até o encontro da melhor solução pela busca e o valor da função objetivo. Os resultados dos experimentos realizados foram resumidos na Tabela 3.

 

 

Para todas as soluções, o valor do f* encontrado pela busca foi 1389. Nota-se que a regra de geração de soluções iniciais RFMS forneceu a melhor solução inicial, fazendo que, com poucas iterações, o módulo de BT encontre o melhor resultado da busca. Isso se deve ao fato de que a função objetivo possui duas variáveis de decisão que representam o setup. Assim sendo, uma regra de solução inicial que leve em conta o compartilhamento de recursos propicia um melhor ponto de partida para a busca.

Experimentos com Módulo de Busca Tabu

A partir dos pesos definidos para a solução não-tendenciosa, são analisadas as diferentes políticas de otimização pelo gerenciamento dos pesos da Função Objetivo.

Minimização do tempo de Troca de Ferramentas

O objetivo deste experimento é minimizar o tempo de troca de ferramentas, privilegiando o peso da variável de decisão Trocas. Os pesos das variáveis de decisão Atraso e Paradas são mantidos constantes com os valores da SNT. Os resultados abaixo correspondem a 20 execuções do Módulo de BT.

Para valores de Ptroca superiores a 50, os valores das parcelas de f mantêm-se inalterados. A adoção de uma política de minimização de Troca contribui para a minimização da variável de decisão Parada. O valor da variável de decisão Atraso aumenta de 397 para 891, mostrando o conflito existente entre respeitar as datas de vencimento e minimizar a troca de ferramentas. Foram realizados experimentos onde o atraso foi desconsiderado (Patraso = 0) e o valor de Pparada foi mantido em 17,27. Nestes experimentos, para valores de Ptroca maiores que 9,89 o tempo de trocas de ferramentas e de paradas é baixo (28 e 20 minutos, respectivamente), sendo que o atraso aumenta para 1029 minutos.

Minimização do tempo de Paradas

O objetivo deste experimento é minimizar a variável de decisão Parada. Os pesos Patraso e Ptroca são mantidos constantes com o valor utilizado na solução não tendenciosa, enquanto que Pparada é aumentado. Foram realizados 20 experimentos nos quais Pparada foi variado de 17,27 a 1000, e os resultados obtidos são mostrados, de maneira resumida, na tabela a seguir.

Na solução inicial, as partes foram agrupadas em cinco FPs, ou seja, o número mínimo de lotes é igual ao número de FPs. Entre o processamento destes lotes se faz necessária a troca de ferramentas, sendo então realizadas quatro paradas para o processamento de todas as partes. Neste caso, considerando a função objetivo, o tempo das paradas seria igual a 20 minutos. Com o valor de Pparada > 30, as seqüências geradas têm um tempo mínimo de parada. Apesar do valor da variável de decisão Parada (resultante do aumento de Pparada) ter sido o mesmo que o encontrado com o aumento de Ptroca (no experimento anterior), o valor de Trocas encontrado com Pparada é maior. Foi identificada, nos experimentos com Ptroca, a existência de uma relação entre a minimização das variáveis de decisão Troca e Parada. Essa relação foi identificada por Gómez (1996) em seus experimentos. Nesses, nota-se que a política de minimização de Paradas não faz com que Troca tenha um resultado mínimo.

Esse comportamento pode ser observado nos experimentos realizados aqui, dados os resultados mostrados nas Tabelas 4 e 5. Na Tabela 4 nota-se que os valores de Parada e Troca são mínimos para Ptroca > 50 (Parada = 20 minutos e Troca = 28 minutos). Na Tabela 5, com Pparada > 50 apresenta o valor mínimo para Parada, porém o valor de Troca é maior (Parada = 20 minutos e Troca = 36 minutos). Isso se deve ao fato de que, para um determinado número de paradas, existem diferentes possibilidades de trocas de ferramentas, o que resulta em diferentes valores para essas variáveis de decisão. Na Tabela 6 pode ser visto um exemplo disso.

 

 

 

 

 

 

Nos resultados dos experimentos apresentados na Tabela 4, nota-se o comportamento similar do atraso observado nos experimentos com Ptroca.

Experimentos com Tempo de Atraso

Esse experimento tem por objetivo mostrar o comportamento das variáveis de decisão da função objetivo frente à adoção de uma política de minimização do atraso. Da mesma forma que nos experimentos anteriores, o peso Patraso é aumentado, enquanto que os pesos das outras variáveis de decisão são mantidos constantes. Com os parâmetros de BT utilizados nos experimentos anteriores, não foi possível encontrar um valor melhor de tempo de atraso, permanecendo como melhor valor o apresentado pela solução obtida com os pesos da SNT (Atraso = 397, Paradas = 25 e Trocas = 44). Experimentos preliminares foram feitos, variando os parâmetros nbmax e tamanho da Lista Tabu.

Experimentos com variação dos parâmetros da Busca Tabu

Variando o tamanho LT da Lista Tabu e o número nbmax de iterações sem encontrar uma melhor solução, foram feitos experimentos onde se verifica o comportamento das parcelas de f frente a essa variação. Para as políticas de minimização das paradas e das trocas de ferramentas, o aumento do valor de LT e nbmax não contribuiu para melhorar os resultados já obtidos nos experimentos anteriores.

Para a política de minimização do tempo de atraso, a variação desses parâmetros teve um impacto positivo, como mostrado na Tabela 7. O melhor resultado na minimização do atraso é obtido com nbmax = 700 e LT = 350.

 

 

A fim de determinar o parâmetro dominante na obtenção de um melhor resultado para o atraso, foram realizados experimentos com a variação de nbmax e LT separadamente. Foram utilizados os pesos da política de minimização do atraso (Patraso = 100, Pparada = 18 e Ptroca = 10).

Na variação do tamanho da Lista Tabu, nbmax tem seu valor fixo em 1000, enquanto que a LT varia de 10 a 1000. Nestes experimentos o melhor resultado foi obtido na iteração 1712, com Atraso = 311 minutos, Parada = 30 minutos e Troca = 56 minutos, com LT = 500. As Figuras 3 e 4 mostram os gráficos da variação do tempo total de atraso e do número da iteração em que o melhor resultado foi encontrado, dado a variação do tamanho da Lista Tabu.

 

 

 

 

Observando as Figuras 3 e 4, nota-se que tanto o valor do atraso quanto o valor do número da iteração em que o melhor resultado é encontrado sofrem oscilações, dada a variação do tamanho da Lista Tabu.

Na variação do nbmax, LT foi mantido constante com o valor da melhor solução obtida nos experimentos anteriores (LT=500). Os valores de nbmax variaram de 100 a 1500, sendo que o melhor resultado foi obtido pela BT na iteração 1712, com nbmax superior a 900. Os valores encontrados para as variáveis de decisão são os mesmos encontrados no experimento anterior. As Figuras 5 e 6 mostram o gráfico dos valores de atraso e do número da interação em que a melhor solução foi encontrada, dada a variação do nbmax.

 

 

 

 

Nos gráficos das Figuras 5 e 6 nota-se que tanto o valor do atraso quanto o valor do número da iteração em que foi encontrado o melhor resultado permanecem os mesmos, sofrendo alteração apenas quando nbmax se torna maior que 500. Considerando que neste experimento o tamanho da Lista Tabu utilizado é o que proporciona o melhor resultado na minimização do atraso nos experimentos anteriores, pode-se dizer que a dimensão da Lista Tabu é o fator que contribui para a obtenção de um resultado melhor na minimização do atraso.

 

CONCLUSÕES

Neste trabalho foi abordado o Problema de Escalonamento considerando datas de entrega, turnos de produção e as ferramentas requeridas pelas partes. Foi desenvolvido um modelo computacional que permite que possam ser definidas estratégias de minimização através do gerenciamento dos pesos da função objetivo f, que representa o problema.

Considerando a restrição de ferramentas, foi estudado o Problema de Seleção de Partes e implementado o Algoritmo de Seleção de Partes Modificado, que agrupa as partes em Famílias de Partes, possibilitando o processamento de lotes de partes.

Dado que a Busca Tabu necessita de uma solução inicial, foi construído um módulo de geração de soluções iniciais baseado em regras de prioridade. Experimentos foram realizados para verificar a influência da qualidade das soluções iniciais no desempenho da Busca Tabu. Nesses experimentos verificou-se que as soluções iniciais FAM e RFMS permitem que a Busca Tabu encontre o melhor resultado para a função objetivo em um número menor de iterações.

Foram realizados também experimentos que refletem três políticas de minimização de tempos: de atraso, de paradas e de trocas de ferramentas. Para realizar as comparações com os resultados obtidos com cada política de minimização, foi definida uma solução não-tendenciosa, na qual todas as variáveis têm a mesma contribuição para o valor de f.

Na minimização do tempo de trocas de ferramentas, identificou-se a obtenção do valor mínimo para o tempo de parada e o aumento do tempo de atraso. A desconsideração do atraso na função objetivo (Patraso = 0) tem impacto positivo na minimização das variáveis Parada e Troca, onde melhores resultados são obtidos com valores menores para os pesos Pparada e Ptroca.

Na minimização da variável Parada, também foi identificado o conflito com o atraso. O aumento do peso Pparada leva Parada ao seu valor mínimo, mas não leva ao número mínimo de trocas de ferramentas. Isso se deve ao fato de que, para um mesmo tempo de parada, pode haver diferentes arranjos de trocas de ferramentas.

A minimização do atraso foi verificada com o aumento do nbmax e da Lista Tabu. Da mesma forma que nos experimentos anteriores, os tempos de trocas de ferramentas e de paradas aumentam à medida que Patraso tem seu valor aumentado. Nestes experimentos, o aumento de nbmax e do tamanho da lista tabu tem efeito positivo para a redução do tempo de atraso.

Notou-se que o tamanho da Lista Tabu tem influência maior na obtenção de um melhor resultado para a minimização do atraso que o nbmax. Isso porque uma Lista Tabu maior age como fator de diversificação da busca, fazendo a pesquisa ser executada em regiões da vizinhança que dificilmente seriam exploradas.

 

Referências

BLAEWICZ, J.; DOMSCHKE, W.; PESCH, E. The job shop scheduling problem: Conventional and new solution techniques. European Journal of Operations Research, n. 93, p. 1–33, 1996.         [ Links ]

GLOVER, F.; LAGUNA, M. Tabu search. Boston: Kluwer Academic, 1997, 382 p.         [ Links ]

GÓMEZ, A. T. Modelo para Seqüenciamento de Partes e Ferramentas em um Sistema de Manufatura Flexível com restrições às datas de vencimento e à capacidade do Magazine, São Paulo, 1996. Tese (Doutorado), Instituto Nacional de Pesquisas Espaciais, São José dos Campos, São Paulo, 1996.         [ Links ]

GONÇALVES, J. F.; MENDES, J. J. de Magalhães; RESENDE, M. G. C. A hybrid genetic algorithm for the job shop scheduling problem. European Journal of Operational Research, v. 167, p. 77–95, 2005.         [ Links ]

GROOVER, M. P. Automation, Production Systems, and Computer-Integrated Manufacturing, United States: Prentice Hall, 2001, Segunda Edição, 856 p.         [ Links ]

HERTZ, A.; WIDMER, M. An Improved Tabu Search Approach for solving the Job Shop Scheduling Problem with Tooling Constraints, Discrete Applied Mathematics, n. 65, p. 319-345, Elsevier Science, 1996.         [ Links ]

JAIN, A. S.; MEERAN, S. Deterministic job shop scheduling: Past, present and future. European Journal of Operations Research, v. 113, p. 390-434, 1999.         [ Links ]

NOWICKI, E.; SMUTNICKI, C. An advanced tabu search algorithm for the job shop scheduling problem, Journal of Scheduling, v. 8, p. 145-159, 2005.         [ Links ]

PEZZELLA, F.; MERELLI, E. A tabu search method guided by shifting bottleneck for the job shop scheduling problem. European Journal of Operational Research, v. 120, n. 2, p. 297-310, janeiro 2000.         [ Links ]

PINEDO, M. Scheduling: Theory, algorithms and Systems. Englewood Cliffs: Prentice-Hall, 1995. 378 p. ISBN 0-13-706757-7.         [ Links ]

STEINHÖFEL, K.; ALBRECHT, A.; WONG, C. K. Two simulated annealing-based heuristics for the job shop scheduling problem. European Journal of Operations Research, v. 118, p. 524-548, 1999.         [ Links ]

TANG, C. S.; DENARDO, E. V. Models arizing Flexible Manufacturing Machine Part II: Minimization of the number of switching instants. Operations Research, v. 36, n. 5, 1988.         [ Links ]

WANG, L.; ZHENG, D.-Z. An effective hybrid optimization strategy for job-shop scheduling problems. Computer & Operations Research, v. 28, p. 585–596, 2001.         [ Links ]

ZHANG, C. Y. et al. A very fast TS/SA algorithm for the job shop scheduling problem. European Journal of Operations Research. Article in press. abril 2006. Disponível em: <www.sciencedirect.com>         [ Links ].

 

 

Artigo recebido em 02/08/2006
Aprovado para publicação em 25/10/2007

 

 

Sobre os autores
Antonio Gabriel Rodrigues
Universidade do Vale do Rio dos Sinos – Unisinos
Mestre em Computação Aplicada pelo Programa Interdisciplinar de Pós-graduação em Computação Aplicada da Unisinos
End.: Av. Unisinos, 950 – São Leopoldo – RS – CEP 93022-000
Tel.: (61) 3590-8161, Fax: (61) 3590-8162
E-mail: antonio.gabriel@gmail.com

Arthur Tórgo Gómez
Universidade do Vale do Rio dos Sinos – Unisinos

Doutor em Pesquisa Operacional e Coordenador do Programa Interdisciplinar de Pós-graduação em Computação Aplicada da Unisinos
End.: Av. Unisinos, 950 – São Leopoldo – RS – CEP 93022-000
Tel.: (61) 3590-8161, Fax: (61) 3590-8162
E-mail: breno@unisinos.br

Creative Commons License Todo o conteúdo deste periódico, exceto onde está identificado, está licenciado sob uma Licença Creative Commons