Capítulo 4. Problema de minimização de trocas de ferramentas uniforme 90
91
5 Problema de sequenciamento de tarefas em máquinas paralelas com limitação de recur- sos
Este capítulo é fortemente baseado no artigo “Application of a hybrid evolutionary algorithm to resource-constrained parallel machine scheduling with setup times” de autoria de Leonardo Cabral da Rocha Soares e Marco Antonio Moreira de Carvalho, publicado no periódico Computers & Operations Research, Volume 139 de março de 2022. O artigo aborda o problema de sequenciamento de tarefas em máquinas paralelas com limitação de recursos utilizando a meta-heurística paralela algoritmo genético de chaves aleatórias viciadas e propõe um novo conjunto benchmark de instâncias para o problema. A seguir, são apresentados os fundamentos teóricos do problema abordado, os trabalhos relacionados, os métodos computacionais utilizados, os experimentos realizados e as conclusões.
O processamento de tarefas em SMFs demanda a disponibilidade de uma série de recursos, tais como máquinas flexíveis, ferramentas, paletes e manipuladores automáticos de matéria-prima, entre outros. Quando tais recursos geram limitações ao processamento de tarefas em um ambiente composto por máquinas flexíveis em paralelo, tem-se oProblema de Sequenciamento em Máquinas Paralelas com Limitações de Recursos(Resource Constrained Parallel Machine Scheduling, RCPMS). Primeiramente estudado por Garey e Graham (1975), o RCPMS pertence à classeNP-Difícil, visto que, se considerarmos cada máquina do RCPMS isoladamente, tem-se uma instância do problema de sequenciamento de tarefas em uma máquina flexível, um problema provado pertencer à classe NP-Difícil por Crama et al. (1994).
Entre os diversos exemplos de possíveis limitações de recursos em SMFs, podemos citar a indisponibilidade de matéria-prima em algum momento da produção (PINHEIRO;
ARROYO, 2020), a indisponibilidade de máquinas devido a características intrínsecas às tarefas que demandem o processamento em máquinas específicas (LI et al.,2020) ou devido a paradas para manutenção (REDDY et al.,2018) e o compartilhamento de ferramentas por máquinas flexíveis (KEUNG; IP; LEE, 2001), incluindo-se ambientes em que as máquinas flexíveis não possuem magazine (AGNETIS et al.,1997). Essas limitações podem ocorrer em conjunto ou isoladamente.
Um exemplo de aplicação prática do RCPMS pode ser encontrado nas indústrias de fabricação de componentes microeletrônicos (CHUNG et al., 2019), em especial na fabricação de microchips. Centenas de circuitos são impressos em um wafer semicondutor por um processo denominado fotolitografia. O desenho de cada circuito é criado em uma
Capítulo 5. Sequenciamento de tarefas em máquinas paralelas com limitação de recursos 92
ferramenta denominada máscara. Esta máscara é utilizada como um molde durante o processo de impressão dos circuitos. Conforme ilustrado pela Figura 19, uma luz atravessa a máscara, formando o padrão do circuito que será impresso. Através de lentes, o tamanho do padrão é reduzido e gravado sobre o wafer já revestido com material fotossensível. O mesmo padrão de circuito pode ser impresso no wafer centenas de vezes.
Figura 19 – Processo de gravação de padrão de circuito em wafer.
As máquinas e moldes utilizados na fabricação dos wafers possuem custo elevado (CHUNG et al.,2019). Considerando que toda máquina possui capacidade para produzir qualquer modelo de microchip, é comum que o número de cópias de cada molde seja inferior ao número de máquinas, implicando em compartilhamento de moldes. Em ambientes de produção em larga escala com máquinas paralelas, a utilização dos moldes deve ser planejada de forma que a produção seja otimizada, minimizando-se esperas pela liberação de moldes.
Tal aplicação prática do RCPMS é uma especificação do IPMTC, descrito na Seção 2.2. As ferramentas correspondem aos moldes, o processamento de tarefas corresponde a impressão dos circuitos no wafer e o tempo necessário para a troca de uma ferramenta corresponde ao tempo de configuração necessário para a montagem de um molde na máquina. O magazine das máquinas possui capacidade igual a um e o conjunto total de ferramentas é compartilhado por todas as máquinas. Cada tarefa utiliza apenas uma ferramenta e, exceto em caso de menções explícitas em contrário, há apenas uma cópia de cada ferramenta.
A formalização desta aplicação prática do RCPMS segue o mesmo padrão esta- belecido para o IPMTC. Dada a restrição originada pelo compartilhamento de moldes,
Capítulo 5. Sequenciamento de tarefas em máquinas paralelas com limitação de recursos 93
duas tarefas que utilizem o mesmo molde não podem ser processadas no mesmo intervalo de tempo em máquinas diferentes. De acordo com a notação fornecida por Graham et al.
(1979), esta aplicação do RCPMS é classificada como Pm|res1|Cmax, em que Pm indica o ambiente industrial composto por máquinas paralelas idênticas, res1 refere-se as restrições originadas pelo compartilhamento de moldes e Cmax à função objetivo de minimização do makespan.
Uma instância válida para esta aplicação consiste na quantidade de máquinas que compõem o ambiente de produção, uma lista de tarefas com seus respectivos tempos de processamento, o molde utilizado por cada tarefa e o tempo de configuração necessário para a montagem de cada molde. A Tabela 18 apresenta um modelo de instância válida em que se considera m= 2 e ¯p= 1.
Tabela 18 – Exemplo de instância do RCPMS.
Tarefas Tempo de processamento Moldes
1 10 1
2 4 4
3 3 2
4 1 1
5 6 3
6 5 2
7 8 3
8 4 4
9 9 1
10 3 2
A solução deste problema é composta pela lista de tarefas atribuídas e sequenciadas em cada máquina e o valor de makespan obtido. Para uma solução ser considerada viável, a restrição originada pelo compartilhamento de moldes deve ser respeitada. A Figura 20 apresenta uma solução inviável para a instância exemplificada. As tarefas são representadas por retângulos preenchidos com larguras proporcionais ao tempo de processamento das mesmas e identificadas de acordo com o número associado a elas. Os moldes utilizados são representados pelas cores dos retângulos, conforme detalhado na legenda da figura. O tempo de configuração para a troca dos moldes é representado pelo retângulo hachurado.
No exemplo mostrado na Figura20, a utilização do molde 1 por duas máquinas no intervalo de tempo contido entre 0 e 9 viola a restrição de compartilhamento de recursos.
Para que a solução seja considerada viável, o conflito gerado pela utilização simultânea do molde 1 precisa ser resolvido. Isso pode ser feito acrescentando-se a uma das máquinas um período ocioso de espera pela liberação do molde em uso ou por uma nova alocação de tarefas em intervalos de tempo que elimine o conflito.
A Figura 21, que segue o mesmo padrão descrito para a figura anterior, demonstra uma solução viável para a instância apresentada na Tabela 18. Neste exemplo, foram
Capítulo 5. Sequenciamento de tarefas em máquinas paralelas com limitação de recursos 94
Máquina 2
0 5 10 15 20 25
1
6
2 5
7 Máquina 1
Unidades de tempo
= 30 3
30 10
8 4
9
Moldes
1 2 3 4
Figura 20 – Exemplo de solução inviável para a instância apresentada na Tabela 18.
alocadas à máquina 1 as tarefas [1, 4, 5, 2, 10, 3] nesta ordem. O tempo de processamento da máquina 1 é obtido pela soma do tempo de processamento das tarefas a ela atribuídas com o número de troca de moldes necessários multiplicado pelo tempo de configuração utilizado para cada troca, ou seja, 10 + 1 + 6 + 4 + 3 + 3 + (3 × 1) = 30 unidades de tempo. Para a máquina 2 foram alocadas as tarefas [7, 8, 6, 9], resultando em um tempo de processamento igual a 29 unidades de tempo. O makespan da solução é igual ao maior tempo de processamento entre as máquinas que a constituem, neste caso, a máquina 1 com 30 unidades de tempo.
Máquina 2
0 5 10 15 20 25
1
6 5 2
7 Máquina 1
Unidades de tempo
= 30 3
30 10
8 4
9
Moldes
1 2 3 4
Figura 21 – Exemplo de solução viável para a instância apresentada na Tabela 18.
A função objetivo do RCPMS para a aplicação apresentada é a minimização do makespan, resultado da Equação (5.1). Sejam a variável Ij o tempo ocioso gerado imediatamente antes do processamento da tarefa j e a variável xij = 1 caso a tarefa j seja processada pela máquina i ou xij = 0 caso contrário. A equação realiza a soma entre
Capítulo 5. Sequenciamento de tarefas em máquinas paralelas com limitação de recursos 95
o tempo de processamento das tarefas alocadas à máquina, o tempo ocioso gerado pelo escalonamento destas destas tarefas e a multiplicação entre o número de trocas de moldes necessários e o tempo de configuração exigido para a troca de um molde. O número de trocas de moldes é determinado pela Equação (4.1) proposta originalmente para o SSP.
∆ = max
X
j∈J
xijpj +X
j∈J
xijIj +ZSSP(Ri)×p
, ∀i∈M (5.1)
Apenas configurações realizadas antes do início do tempo de processamento das máquinas, t≤0, não são consideradas. Assim, caso o processamento de uma máquina se inicie com um período ocioso, o tempo de configuração para o carregamento do primeiro molde será contabilizado.