• Nenhum resultado encontrado

1Este cap´ıtulo trata do problema de Sequenciamento em Flowshop, cuja carac-

ter´ıstica principal ´e a separa¸c˜ao das tarefas em fam´ılias. Esta ´e uma situa¸c˜ao bastante comum uma vez que empresas sempre buscam tirar vantagem do que se convencionou chamar de group technology (GT) [66]. Neste problema, uma fam´ılia ´e composta por v´arias tarefas que possuem necessidades semelhantes em termos de ferramentas, setup e sequˆencias de opera¸c˜oes. Normalmente, as fam´ılias s˜ao designadas para uma determinada c´elula de manufatura com base nas sequˆencias de opera¸c˜oes de forma que o fluxo de materiais e o sequencia- mento em si sejam simplificados. Este processo pode resultar em uma situa¸c˜ao em que cada fam´ılia seja processada por um conjunto de m´aquinas e todas as tarefas sejam processadas seguindo a mesma rota tecnol´ogica.

Neste ambiente de produ¸c˜ao, as c´elulas de manufatura lembram os tradi- cionais flowshops, a menos da existˆencia de fam´ılias de tarefas. Como as tarefas pertencentes `a mesma fam´ılia possuem necessidades semelhantes de recursos, pode-se deduzir que o tempo gasto em setup entre elas ´e m´ınimo, sendo nesse caso inclu´ıdo no pr´oprio tempo de processamento da tarefa. Por outro lado, um tempo de setup consider´avel deve ser necess´ario para mudar a produ¸c˜ao de uma fam´ılia para outra, e assim ele precisa ser tratado separadamente.

O flowshop com fam´ılias de tarefas ´e um problema combinatorial perten- cente `a classe NP-hard. De fato, quando cada fam´ılia ´e composta por uma

1Este cap´ıtulo ´e baseado nos artigos:

P. Fran¸ca, J. Gupta, A. Mendes, P. Moscato e K. Veltink. Metaheuristic Approaches for the Pure Flowshop Manufacturing Cell Problem. Proceedings do PMS2000 - 7th International Workshop On Project Management and Scheduling, p´ag. 128-130, Osnabr¨uck, Alemanha, Abril, 2000.

P. Fran¸ca, J. Gupta, A. Mendes, P. Moscato e K. Veltink. Evolutionary Algorithms for Flowshop Scheduling with Family Setups. Aceito para publica¸ao na Computers and Industrial Engineering, 2003.

´

unica tarefa, o problema se torna um flowshop tradicional com tempos de prepara¸c˜ao dependentes da sequˆencia. Problema este que j´a foi provado ser NP-hard quando o n´umero de m´aquinas ´e maior que um [34].

Devido `a natureza NP-hard do problema geral de flowshop, grande parte dos pesquisadores se concentrou no desenvolvimento de procedimentos heur´ısticos que fornecessem boas sequˆencias permutacionais (onde a ordem de processa- mento das tarefas ´e a mesma em todas as m´aquinas) em um tempo computa- cional razo´avel. Por´em, n˜ao h´a nenhuma garantia de que uma sequˆencia per- mutacional seja ´otima em um ambiente composto por v´arias m´aquinas. Na realidade ´e muito prov´avel que o sequenciamento ´otimo seja composto por distintas permuta¸c˜oes de tarefas para cada m´aquina. Por´em, considerar per- muta¸c˜oes distintas para cada m´aquina aumenta tremendamente a complexidade computacional tornando o problema intrat´avel mesmo para instˆancias muito pequenas. A solu¸c˜ao ent˜ao se torna considerar a mesma sequˆencia de tarefas para todas as m´aquinas, ao custo da inclus˜ao de uma restri¸c˜ao desnecess´aria, mas que reduz a complexidade do problema a n´ıveis mais razo´aveis.

Revis˜oes bibliogr´aficas recentes [3, 12] mostram que at´e o momento, as pesquisas se concentraram mais no caso de tempos de setup independentes da sequˆencia. Para o problema considerando tempos dependentes da sequˆencia, temos o trabalho de Hitomi et al. [36], onde um modelo de simula¸c˜ao ´e descrito mostrando que regras de sequenciamento que consideravam setups dependentes da sequˆencia explicitamente tiveram melhores resultados que regras que n˜ao faziam essa considera¸c˜ao. Tendo isso em vista, Schaller et al. [66] desenvolve- ram e testaram v´arias heur´ısticas para minimizar o makespan em um ambiente de flowshop com tempos de setup entre fam´ılias de tarefas dependentes da sequˆencia.

6.2

Descri¸ao do problema

A descri¸c˜ao do problema de Sequenciamento em Flowshop ser´a dividida em duas partes. A primeira estabelece como se caracteriza uma instˆancia do mesmo. A segunda por sua vez descreve a fun¸c˜ao objetivo a ser minimizada - no caso o makespan - que ´e traduzido como o tempo decorrido entre o in´ıcio do processamento da primeira tarefa na primeira m´aquina e o final do proces- samento da ´ultima tarefa na ´ultima m´aquina.

Entrada: Seja n o n´umero de tarefas a serem processadas e m o n´umero de m´aquinas utilizadas na produ¸c˜ao. Todas as tarefas s˜ao processadas seguindo a mesma rota tecnol´ogica, criando assim a estrutura do flowshop. Seja f o n´umero de fam´ılias de tarefas. Considere tamb´em o tempo de setup para mudar a produ¸c˜ao de uma fam´ılia para outra, representado por{Sl

ij}, onde o elemento

sl

i,j ´e o tempo de setup da fam´ılia j depois que a fam´ılia i foi processada, na

aquina l. Finalmente, seja {Pij} a matriz de tempos de processamento, onde

o elemento pi,j´e o tempo de processamento da tarefa i na m´aquina j.

Objetivo: Encontrar a permuta¸c˜ao das fam´ılias, e das tarefas dentro de cada fam´ılia, que minimize o makespan.

O c´alculo do makespan para esse problema n˜ao ´e uma tarefa simples. Assim, vamos descrevˆe-lo pouco a pouco, come¸cando com a nomenclatura utilizada. Suponha que em uma dada solu¸c˜ao, as fam´ılias estejam sequenciadas na ordem {π(1), π(2), . . . , π(f)}, e que a ordem das tarefas dentro de cada fam´ılia seja dada pela sequˆencia{σf(1), σf(2), . . . , σf(nf)}, onde nf ´e o n´umero de tarefas

na fam´ılia f . Al´em disso, seja ttmσf(i)o tempo total de processamento dentro da

fam´ılia f at´e a tarefa σf(i), na m´aquina m; ou seja, o intervalo de tempo entre

o momento em que a m´aquina terminou o seu setup, ficando assim pronta para processar a primeira tarefa da fam´ılia f , e o instante em que a tarefa σf(i) ´e

completada. Este valor ttm

σf(i) pode ser calculado seguindo a Equa¸c˜ao 6.1.

ttmσf(i)= to m σf(i)+ i z=1 pσf(z),m, (6.1) onde tom

σf(i)´e o tempo ocioso - idle time - dentro da fam´ılia f , na m´aquina m,

acumulado at´e a tarefa σf(i). O tempo ocioso ocorre sempre que a m´aquina est´a

parada, sem operar, aguardando a pr´oxima tarefa ficar dispon´ıvel. Na primeira m´aquina n˜ao h´a tempo ocioso, e a sua produ¸c˜ao segue sem interrup¸c˜oes. Isso simplifica a Equa¸c˜ao 6.1, fazendo-a ser apenas a soma dos tempos de proces- samento dentro da fam´ılia f , representada pelo segundo termo da soma. Mas nas outras m´aquinas, podem ocorrer tempos ociosos, dependendo da sequˆencia adotada. O tempo de t´ermino da i-´esima tarefa da f -´esima fam´ılia na m´aquina m, representado por cm

σπ(f)(i)pode assim ser calculado pela Equa¸c˜ao 6.2.

cmσπ(f)(i)= f−1 z=1  ttmσπ(z)(nπ(z))+ smπ(z),π(z+1)    

tempo total antes da f amilia π(f )

+ ttmσπ(f)(i)

  

tempo total dentro da f amilia π(f )

(6.2) A primeira parte da Equa¸c˜ao 6.2 calcula o tempo total de processamento antes da f -´esima fam´ılia, levando em considera¸c˜ao todos os tempos de setup, de processamento e ociosos antes dela. O segundo termo calcula o tempo total de processamento dentro da fam´ılia π(f ) (tempos de processamento + tempos ociosos) at´e a tarefa σπ(f )(i). Agora, falta apenas explicitar o c´alculo dos tem-

pos ociosos. Os tempos ociosos ocorrem sempre que uma m´aquina termina de processar uma tarefa, ou completa o setup de uma fam´ılia, e a pr´oxima tarefa ainda est´a sendo processada pela m´aquina anterior. Isso cria um gap no sequenciamento, for¸cando a m´aquina a esperar at´e que a pr´oxima tarefa fique dispon´ıvel. O tempo ocioso dentro da fam´ılia π(f ), acumulado at´e a tarefa σπ(f )(i) pode ser calculado pela Equa¸c˜ao 6.3.

tomσπ(f)(i)= max(0, cm−1σπ(f)(1)− c

m

σπ(f−1)(nπ(f−1))+ smπ(f −1),π(f ))

  

tempo ocioso logo antes da 1a taref a da f−esima familia

+ + i z=1 max(0, cm−1σπ(f)(z)− c m σπ(f)(z−1))   

tempos ociosos entre as taref as anteriores a σπ(f)(i)

Documentos relacionados