• Nenhum resultado encontrado

2 FUNDAMENTAÇÃO TEÓRICA

2.2 JOB SHOP

Segundo Beemsterboer et al. (2017) a oferta de produtos diferenciados é fundamental para a sobrevivência de muitas empresas. Neste sentido, o job shop apresenta grande relevância por ser um ambiente de manufatura que possibilita grande variedade de produção, com os pedidos passando por diferentes rotas e em máquinas com propósitos diferentes. Muitos produtos manufaturados neste ambiente são únicos em função da política de tratamento da demanda make-to-

order, isto é, o processo produtivo de um item se inicia somente após a efetivação do pedido pelo cliente.

De acordo com Pinedo (2016) o job shop é um ambiente de produção onde há um conjunto finito M de m máquinas e que cada tarefa, de um conjunto J, possui uma rota predeterminada a seguir. Para cada tarefa j ∈ J é dada uma lista (𝜎1𝑗,...,𝜎𝑗, … , 𝜎𝑚𝑗) de máquinas que representa a sequência de processamento da tarefa j. Dessa forma, tem-se que 𝜎𝑗 é a h-ésima operação da tarefa j, enquanto 𝜎𝑚𝑗é a última operação da tarefa j, isto é, a última máquina em que a tarefa j é processada. Nos casos em que uma tarefa precisa visitar uma máquina mais de uma vez, atribui-se ao job shop a característica de recirculação. Além disso, para cada tarefa j e cada máquina i é dado um tempo de processamento 𝑝𝑖𝑗que assume valores inteiros não negativos.

O problema de sequenciamento de job shop apresenta diferentes formulações na literatura. Manne (1960) propôs um modelo com restrições disjuntivas e uma constante com valor relativo alto. Liao e You (1992) adicionaram variáveis contínuas de excesso ao modelo disjuntivo de Manne com o objetivo de aumentar o desempenho da resolução do problema. Bowman (1959) e Kondili, Pantelides e Sargent (1993) desenvolveram um modelo com variáveis indexadas no tempo, enquanto Wagner (1959) elaborou um modelo baseado nas posições das máquinas.

Ku e Beck (2016) realizaram extensivos testes e análises computacionais para definir qual modelo apresentava o melhor desempenho na resolução de problemas para minimização do makespan. Neste estudo, cada máquina era capaz de processar somente uma tarefa por vez e, uma vez iniciado o processamento de uma tarefa em uma máquina, não poderia haver interrupções. Os pesquisadores concluíram que o modelo disjuntivo proposto por Manne em 1960 é amplamente mais eficiente que os demais. Problemas com instâncias de tamanho moderado, isto é, com 15 tarefas e 15 máquinas podem ser resolvidos, se formulados com as restrições disjuntivas de Manne, na média, em pouco mais de 15 minutos. Problemas com instâncias menores, abaixo de 12 tarefas e 12 máquinas, podem ser resolvidos praticamente de forma instantânea.

O modelo disjuntivo de Manne será chamado de modelo disjuntivo original neste trabalho. Essa formulação possui as seguintes variáveis de decisão:

 𝑠𝑖𝑗: variável contínua que representa o tempo de início da tarefa j na máquina i;

 𝑧𝑖𝑗𝑘: variável binária que assume o valor 1 quando a tarefa j precede a tarefa k na máquina i.

A seguir, a formulação do modelo pode ser observada:

Min 𝐶𝑚𝑎𝑥 (1) Sujeito a 𝑠𝜎 ℎ𝑗,𝑗 ≥ 𝑠𝜎ℎ−1𝑗 ,𝑗+ 𝑝𝜎ℎ−1𝑗 ,𝑗, ∀𝑗 ∈ 𝐽, ℎ = 2, … , 𝑚 (2) 𝑠𝑖𝑗 ≥ 𝑠𝑖𝑘+ 𝑝𝑖𝑘− 𝑉. 𝑧𝑖𝑗𝑘, ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (3) 𝑠𝑖𝑘 ≥ 𝑠𝑖𝑗+ 𝑝𝑖𝑗 − 𝑉. (1 − 𝑧𝑖𝑗𝑘), ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (4) 𝐶𝑚𝑎𝑥 ≥ 𝑠𝜎 𝑚𝑗,𝑗+ 𝑝𝜎𝑚𝑗,𝑗, ∀𝑗 ∈ 𝐽 (5) 𝑠𝑖𝑗 ≥ 0, ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (6) 𝑧𝑖𝑗𝑘 ∈ {0,1), ∀𝑗, 𝑘 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (7)

A função objetivo do modelo, que consiste em minimizar o makespan do problema, está definida em (1). As Equações (2) são as restrições de precedência e têm a função de assegurar que as operações das tarefas sejam executadas na

ordem preestabelecida. As Equações (3) e (4) são as restrições disjuntivas e são responsáveis por garantir que somente uma tarefa é alocada em uma máquina de cada vez. Para que as Restrições (3) e (4) estejam corretas e funcionem adequadamente, é necessário que V seja um valor grande o suficiente. Na versão de Ku e Beck (2016), definiu-se que 𝑉 = ∑𝑗∈𝐽∑𝑖∈𝑀𝑝𝑖𝑗, pois o tempo de conclusão de

qualquer operação não pode ser maior que o somatório do tempo de processamento de todas as operações. As Restrições (5) expressam que o makespan deve ser no mínimo igual ao maior tempo de conclusão das últimas operações de todos as tarefas. As Restrições (6) definem que os tempos de início de cada tarefa são maiores ou iguais a zero. As Restrições (7) garantem a característica binária das variáveis utilizadas nas restrições disjuntivas. Pan (1997) complementa que essas variáveis estabelecem uma relação “um ou outro” para as restrições de não interferência em máquinas individuais.

Liao e You (1992) propuseram uma nova versão do modelo disjuntivo ao adicionar variáveis contínuas de excesso às Restrições (3). Dessa forma, as Restrições (3) e (4) passam a ser escritas como:

𝑉. 𝑧𝑖𝑗𝑘+ (𝑠𝑖𝑗 − 𝑠𝑖𝑘) − 𝑝𝑖𝑘 = 𝑞𝑖𝑗𝑘, ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (8)

𝑞𝑖𝑗𝑘 ≤ 𝑉 − 𝑝𝑖𝑗− 𝑝𝑖𝑘, ∀𝑗, 𝑘 ∈ 𝐽, 𝑗 < 𝑘, ∀𝑖 ∈ 𝑀 (9)

Outra formulação analisada no estudo de Ku e Beck (2016) foi a com variáveis indexadas no tempo proposta inicialmente por Kondili, Pantelides e Sargent em um simpósio em Sydney, Austrália no ano de 1988, após desenvolvimentos da formulação original introduzida por Bowman em 1959. Neste trabalho, a formulação desenvolvida pelo trio será chamada de modelo de Kondili original. A variável de decisão deste modelo é 𝑥𝑖𝑗𝑡, que é binária e tem valor igual a 1, se a tarefa j começa seu processamento na máquina i no tempo t. O conjunto 𝑈 é definido como {1, … , 𝐻}, onde H indica o horizonte de tempo, ou seja, o maior tempo em que uma tarefa pode começar seu processamento, sem o risco de perder a solução ótima. O modelo matemático pode ser observado a seguir:

Min 𝐶𝑚𝑎𝑥 (10) Sujeito a ∑ 𝑥𝑖𝑗𝑡 = 1 𝑡∈𝑈 , ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (11) ∑(𝑡 + 𝑝𝑖𝑗). 𝑥𝑖𝑗𝑡 ≤ 𝐶𝑚𝑎𝑥, 𝑡∈𝑈 ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (12) ∑ ∑ 𝑥𝑖𝑗𝑡 ≤ 1 𝑡∈𝑇𝑖𝑗𝑡 𝑗∈𝐽 , ∀𝑖 ∈ 𝑀, 𝑡 ∈ 𝑈, 𝑜𝑛𝑑𝑒 𝑇𝑖𝑗𝑡 = {𝑡 − 𝑝𝑖𝑗 + 1, … , 𝑡} (13) ∑ (𝑡 + 𝑝𝜎 ℎ−1𝑗 ,𝑗) . 𝑥𝜎ℎ−1𝑗 ,𝑗𝑡 ≤ ∑ 𝑡. 𝑥𝜎ℎ𝑗,𝑗𝑡 𝑡∈𝑈 𝑡∈𝑈 , ∀𝑗 ∈ 𝐽, ℎ = 2, … , 𝑚 (14) 𝑥𝑖𝑗𝑡 ∈ {0,1} ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽, ∀𝑡 ∈ 𝑈 (15)

A função objetivo está declarada em (10). As Restrições (11) garantem que cada tarefa comece exatamente uma única vez em cada máquina. As Equações (12) asseguram que o makespan é no mínimo equivalente ao tempo de conclusão mais longo da última operação de todas as tarefas. As Restrições (13) fazem com que as capacidades das máquinas sejam respeitadas ao longo de todo o período. As Restrições (14) são responsáveis por manter a ordem das operações de cada tarefa conforme definição prévia. As Restrições (15) impõem que a variável de decisão seja binária.

O modelo de Wagner (1959) também foi analisado nos estudos de Ku e Beck (2016) e baseia-se na alocação das tarefas em posições das máquinas. As variáveis de decisão dessa formulação podem ser observadas a seguir:

 𝑥𝑖𝑗𝑘: variável binária que tem valor 1, se a tarefa j é sequenciada na k-

ésima posição da máquina i;

 ℎ𝑖𝑘: representa o tempo de início do processamento da tarefa na k-

ésima posição da máquina i.

O modelo matemático define-se da seguinte forma:

Min 𝐶𝑚𝑎𝑥 (16) Sujeito a ∑ 𝑥𝑖𝑗𝑘 = 1 𝑗∈𝐽 , ∀𝑖 ∈ 𝑀, ℎ = 1, … 𝑛 (17) ∑ 𝑥𝑖𝑗𝑘 = 1 𝑛 𝑘=1 , ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽 (18) ℎ𝑖𝑘 + ∑ 𝑝𝑖𝑗𝑥𝑖𝑗𝑘 ≤ ℎ𝑖,𝑘+1, 𝑗∈𝐽 ∀𝑗 ∈ 𝐽, ∀𝑖 ∈ 𝑀 (19) ∑𝑖∈𝑀𝑟𝑖𝑗𝑙𝑖𝑘+ ∑𝑖∈𝑀𝑟𝑖𝑗𝑙𝑝𝑖𝑗 ≤ 𝑉. (1 − ∑𝑖∈𝑀𝑟𝑖𝑗𝑙𝑥𝑖𝑗𝑘)+ 𝑉. (1 − ∑𝑖∈𝑀𝑟𝑖𝑗,𝑙+1𝑥𝑖𝑗𝑘′) + ∑𝑖∈𝑀𝑟𝑖𝑗,𝑙+1𝑖𝑘′, ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽 𝑘, 𝑘′= 1, … , 𝑛 𝑙 = 1, … , 𝑚 − 1 (20) ℎ𝑖𝑛+ ∑ 𝑝𝑖𝑗𝑥𝑖𝑗𝑛 ≤ 𝐶𝑚𝑎𝑥, 𝑗∈𝐽 ∀𝑖 ∈ 𝑀 (21) ℎ𝑖𝑘 ≥ 0, ∀𝑖 ∈ 𝑀, 𝑘 = 1, … , 𝑛 (22) 𝑥𝑖𝑗𝑘 ∈ {0,1}, ∀𝑖 ∈ 𝑀, ∀𝑗 ∈ 𝐽, 𝑘 = 1, … , 𝑛 (23)

O parâmetro 𝑟𝑖𝑗𝑘 é igual a 1, se a k-ésima operação da tarefa j for

processada na máquina i e 0, caso contrário. A função objetivo é declarada em (16). As Restrições (17) garantem que cada posição em cada máquina é reservada somente para uma tarefa. As Restrições (18) impõem que cada tarefa ocupe somente uma posição em uma máquina. As Restrições (19) declaram que o tempo de início de uma tarefa em uma máquina deve ser maior que o tempo de finalização da tarefa alocada na posição anterior. As Restrições (20) são responsáveis por manter a ordem de precedência conforme estabelecido. As Restrições (21) fazem com que o makespan seja, no mínimo, igual ao maior tempo de finalização da última tarefa de todas as máquinas. As Equações (22) definem que os tempos de início de todas as tarefas em todas as posições das máquinas são maiores ou iguais a zero. As Restrições (23) conferem a característica binária à variável que indica se a tarefa j é sequenciada na k-ésima posição da máquina i.

Documentos relacionados