ESCALONAMENTO DE TAREFAS Orientadora: Profª. D.Sc Rosiane de Freitas. Elton Carlos Costa Lever Manoel Sócrates Costa Lever
Introdução Escalonamento de tarefas: Os problemas de escalonamento de tarefas que consistem em determinar uma atribuição das tarefas para processadores de forma a otimizar o tempo de execução total destas tarefas. No caso, as máquinas que vão executar determinadas tarefas... Alocar recurso em função.
Introdução Os problemas de programação de tarefas em sistemas de produção são, tradicionalmente, classificados em função do fluxo das operações nas máquinas, conforme segue: • Job Shop − 𝑱 𝒎 : cada tarefa tem sua própria sequência de processamento no conjunto de máquinas; • Open Shop − 𝑶 𝒎 : não há uma sequência específica ou preestabelecida para o processamento das tarefas nas máquinas; • Flow Shop − 𝑭 𝒎 : todas as tarefas têm a mesma sequência de processamento no conjunto de máquinas; cada tarefa é processada nas máquinas 1, 2, ...,m, nesta ordem, mas as tarefas não são necessariamente processadas na mesma sequência em cada máquina; • FlowShop Permutacional: é um FlowShop no qual em cada máquina a sequência das tarefas é a mesma. • FlowShop não Permutacional: é um FlowShop no qual a sequência das tarefas podem mudar nas máquinas seguintes. JobShop - Ambiente com m máquinas, onde cada tarefa tem seu próprio roteiro de fabricação, diferentes entre si (há diferentes sequências pré-determinadas de máquinas p/ cada tarefa). OpenShop - Semelhante ao Job Shop(Jm), porém não há roteiro (não há sequência pré-determinada de máquinas p/ cada tarefa). FlowShop - cada tarefa é processada nas máquinas 1, 2, ...,m, nesta ordem, mas as tarefas não são necessariamente processadas na mesma sequência em cada máquina;
Flow Line É o arranjo físico das máquinas, o layout a ser utilizado na fábrica, logo é uma particularização do FlowShop. Os equipamentos ou as estações de trabalho são colocados de acordo com a sequência de montagem, sem caminhos alternativos para o fluxo produtivo; O material percorre um caminho previamente determinado dentro do processo;
Flow Line Alguns exemplos de utilização deste tipo de arranjo: linhas de montagem, fábricas de produtos químicos, logística, alimentícias, frigoríficos, serviço de restaurante a quilo etc. Job Quando se fala em arranjo em linha, não se trata necessariamente de uma disposição em linha reta. Uma linha de produção retilínea tende a ficar muito longa exigindo áreas de longo comprimento, o que nem sempre é possível.
Outros arranjos físicos Arranjo por processo ou funcional (Job Shop)
Flow Shop Definições: Flow Shop ocorre sempre que necessário para programar um conjunto de n tarefas em m máquinas, para que cada trabalho visite todas as máquinas com o fim de otimizar uma ou mais funções objetivas. O problema de programação de operações em um ambiente Flowshop é um problema de programação de produção no qual n tarefas devem ser processadas por um conjunto de m máquinas distintas, tendo o mesmo fluxo de processamento nas máquinas.
Flow Shop Permutacional Definição O problema de programação de operações Flow Shop é um problema da produção, no qual n tarefas devem ser processadas, na mesma sequência, em cada máquina de um conjunto de m máquinas distintas. Um caso específico de programação Flow Shop, denominado Permutacional, é quando em cada máquina mantém-se a mesma ordem de processamento das tarefas. Escalonamento Flow Shop Permutacional é um problema NP-completo de otimização combinatória já para m = 3 máquinas (Garey, Johnson, & Sethi, 1976). Outros autores dizem ser NP-Hard ou NP-Difícil.
Flow Shop Permutacional Definição Um problema de programação Flow Shop Permutacional envolvendo apenas 10 tarefas apresenta 3.628.800 soluções possíveis, existem (n!) sequências possíveis. A solução consiste em determinar dentre as (n!) sequências possíveis das tarefas, a otimização do tempo total do processamento (Makespan). É classificado como NP-Difícil, de forma que pode ser resolvido, eficientemente, de maneira ótima (solução exata), somente em casos de pequeno porte
𝛼 𝛽 𝛾 Notação Usando a notação de Graham descrito por um trio 𝛼 𝛽 𝛾 Ambientes de máquinas, denota o layout do sistema e do tipo de fluxo de produção indica as características de operação (pode ser vazio) Função Objetivo. denota os índices de desempenho adotados
FlowShop Permutacional Modelagem 𝑭 𝒎 |𝒑𝒆𝒓𝒎𝒖| 𝑪 𝒎𝒂𝒙 𝒋 𝟏 𝒋 𝟐 𝒋 𝟑 𝒋 𝟒 𝒎 𝟏 5 4 7 𝒎 𝟐 15 3 1 𝒎 𝟑 2 GRÁFICO DE GANTT 1 2 3 4 Máquina (i-1) Máquina (i) Máquina (i+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Permutacional 4 3 2 1 Máquina (i-1) Máquina (i) Máquina (i+1) • Cada máquina está disponível continuamente, sem interrupções; • Cada operação tem, no máximo, uma sucessora e uma precedente (fluxo unidirecional); • Cada operação pode ser executada por apenas uma máquina; • Sempre que uma operação é iniciada, é finalizada, sem que haja interrupção no seu processamento; • Cada máquina processa apenas uma tarefa de cada vez e cada tarefa é processada por apenas uma máquina de cada vez. 1 2 3 4 Máquina (i-1) Máquina (i) Máquina (i+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Permutacional 4 3 2 1 Bloq Máquina (i-1) Máquina (i) Máquina (i+1) 1 2 3 4 Máquina (i-1) Máquina (i) Máquina (i+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Permutacional 4 3 2 1 Wait = 5 Wait = 3 Wait = 2 Wait = 4 Wait = 3 Máquina (i-1) Máquina (i) Máquina (i+1) 1 2 3 4 Máquina (i-1) Máquina (i) Máquina (i+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Permutacional 1 4 2 3 2 3 1 1 2 3 4 1 2 3 4 1 2 3 4 4 Máquina (i-1) Máquina (i) Máquina (i+1) 1 2 3 4 Máquina (i-1) Máquina (i) Máquina (i+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Não Permutacional 𝐹 𝑚 | 𝐵 𝑖 = 𝑛−2| 𝐶 𝑚𝑎𝑥 onde 𝐹 𝑚 significa flowshop com 𝒎 máquinas, 𝑩𝒊 denota a presença de buffers; um buffer de capacidade ilimitada ( 𝐵 ∆ =+∝) permite permutações e; uma capacidade limitada 𝐵 𝑖 = 𝑛−2; 𝐶 𝑚𝑎𝑥 denota a minimização makespan como critério de otimização. Menor makespan implica outros benefícios, tais como menor tempo ocioso, maior utilização da máquina e maior eficiência.
Flow Shop Não Permutacional Modelagem 𝑭 𝒎 | 𝑩 𝒊 = 𝒏−𝟐| 𝑪 𝒎𝒂𝒙 𝒊 𝟏 𝒊 𝟐 𝒊 𝟑 𝒊 𝟒 𝒎 𝟏 5 4 7 𝒎 𝟐 15 3 1 𝒎 𝟑 2 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Não Permutacional 𝐹 𝑚 | 𝐵 𝑖 = 𝑛−2| 𝐶 𝑚𝑎𝑥 Buffer (j-1) Buffer (j) Buffer (j+1) 4 3 2 1 Máquina (j-1) Máquina (j) Máquina (j+1) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Não Permutacional 𝐹 𝑚 | 𝐵 𝑖 = 𝑛−2| 𝐶 𝑚𝑎𝑥 Buffer (j-1) Buffer (j) Buffer (j+1) 4 3 1 2 Máquina (j-1) Máquina (j) Máquina (j+1) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Não Permutacional 𝐹 𝑚 | 𝐵 𝑖 = 𝑛−2| 𝐶 𝑚𝑎𝑥 Buffer (j-1) Buffer (j) Buffer (j+1) 4 3 2 1 Máquina (j-1) Máquina (j) Máquina (j+1) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Não Permutacional 𝐹 𝑚 | 𝐵 𝑖 = 𝑛−2| 𝐶 𝑚𝑎𝑥 Buffer (j-1) Buffer (j) Buffer (j+1) 4 3 1 2 Máquina (j-1) Máquina (j) Máquina (j+1) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Flow Shop Não Permutacional 𝐹 𝑚 | 𝐵 𝑖 = 𝑛−2| 𝐶 𝑚𝑎𝑥 1 3 2 Buffer (j-1) Buffer (j) Buffer (j+1) 4 1 2 3 4 1 2 3 4 1 2 3 4 4 3 2 1 1 2 3 4 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A programação linear inteira mista (PLIM), modelada para o problema NPFS é o seguinte: 𝑙 𝑒 𝑙 ′= as posições sequenciais, 𝑙, 𝑙 ′ = 1, 2, . . ., 𝑛; 𝐵𝑖𝑔𝑀 = o valor positivo suficientemente grande; 𝑍 𝑖𝑙𝑗 =1, se a tarefa 𝑖 é atribuída na sequencia da posição 𝑙 na máquina 𝑗; caso contrário é 0.
Modelagem Matemática Flow Shop Não Permutacional Função objetivo: 𝑴𝒊𝒏 𝑪 𝒎𝒂𝒙 Sujeito a: 𝑖=1 𝑛 𝑍 𝑖𝑙 𝑗 =1 𝑙=1,…,𝑛 𝑗=1,…,𝑚 (2) 𝑙=1 𝑛 𝑍 𝑖𝑙 𝑗 =1 𝑖=1,…,𝑛 (3) j=1 𝑚 𝑍 𝑖𝑙 𝑗 ≤𝑚∧ j=1 𝑚 𝑍 𝑖′𝑙 𝑗 <𝑚 𝑖=1,…,𝑛,𝑖≠𝑖′ (4) 𝑆 1𝑗 + 𝑖=1 𝑛 𝑃 𝑖𝑗 𝑍 𝑖1𝑗 ≤ 𝑆 1(𝑗+1) 𝑗=1,…,𝑚−1 (5) 𝑆 𝒍𝑗 + 𝑖=1 𝑛 𝑃 𝑖𝑗 ⋅𝑍 𝑖1𝑗 ≤ 𝑆 𝒍(𝑗+1) 𝑖=1,…,𝑛−1 (6) 𝐵𝑖𝑔𝑀 2− 𝑍 𝑖𝑙𝑗 − 𝑍 𝑖 𝑙 ′ 𝑗+1 ≥ 𝑆 𝑙𝑗 + 𝑃 𝑙𝑗 + 𝑆 𝑙′(𝑗+1) 𝑖,𝑙, 𝑙 ′ =1,…,𝑛 (7) 𝑖=1,…,𝑛,𝑖≠ 𝑖 ′ : 𝑆 1𝑗 < 𝑆 𝑙𝑗 ⋅ 𝑍 𝑖𝑙𝑗 ≤ 𝑆 1𝑗 + 𝑃 𝑖 ′ 𝑗 𝑍 𝑖 ′ 𝑙 𝑗 ′ 𝑙=2,…,𝒏 |≤n−2 𝑗=2,…,𝑚 (8)
Modelagem Matemática Flow Shop Não Permutacional A função objetivo (1) tem por finalidade minimizar o makespan ou seja reduzir o tempo total de processamento de todas as tarefas nas máquinas. 𝑴𝒊𝒏 𝑪 𝒎𝒂𝒙 (𝟏) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A restrição (2) garante que cada tarefa é atribuído a exatamente uma posição da sequência de trabalho em cada máquina. 𝑖=1 𝑛 𝑍 𝑖𝑙 𝑗 =1 𝑙=1,…,𝑛 𝑗=1,…,𝑚 (2) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A restrição (3) afirma que cada posição da sequência de tarefa processa exatamente uma tarefa em cada máquina. 𝑙=1 𝑛 𝑍 𝑖𝑙 𝑗 =1 𝑖=1,…,𝑛 𝑗=1,…,𝑚 (3) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional Restrição (4) indica que, considerando-se todas as sequências da máquina, cada tarefa pode ser no máximo 𝑚 vezes na mesma posição e, pelo menos, um desses pode ser inferior a 𝑚 vezes na mesma posição (restrição não Permutacional). j=1 𝑚 𝑍 𝑖𝑙 𝑗 ≤𝑚∧ j=1 𝑚 𝑍 𝑖′𝑙 𝑗 <𝑚 𝑖=1,…,𝑛,𝑖≠𝑖′ 𝑙=1,…,𝑛 (4) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A restrição (5) denota os tempos a partir do primeira tarefa em cada máquina. 𝑆 1𝑗 + 𝑖=1 𝑛 𝑃 𝑖𝑗 . 𝑍 𝑖1𝑗 ≤ 𝑆 1(𝑗+1) 𝑗=1,…,𝑚−1 (5) S é o tempo de início. P é o tempo total de processamento da tarefa em uma máquina. 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A restrição (6) garante que o (𝑙 + 1) 𝑡ℎ trabalho na sequência da máquina 𝑗 não comesse até que a tarefa 𝑙 𝑡ℎ na sequência da máquina 𝑗 seja concluído. 𝑆 𝒍𝑗 + 𝑖=1 𝑛 𝑃 𝑖𝑗 ⋅𝑍 𝑖1𝑗 ≤ 𝑆 𝒍(𝑗+1) 𝑖=1,…,𝑛−1 𝑗=1,…,𝑚 (6) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A restrição (7) garante que o momento de início da tarefa 𝑖, o que é atribuído à posição 𝑙 na sequência na máquina 𝑗 + 1 não é anterior ao seu termino na máquina 𝑗. 𝐵𝑖𝑔𝑀 2− 𝑍 𝑖𝑙𝑗 − 𝑍 𝑖 𝑙 ′ 𝑗+1 ≥ 𝑆 𝑙𝑗 + 𝑃 𝑙𝑗 + 𝑆 𝑙′(𝑗+1) 𝑖,𝑙, 𝑙 ′ =1,…,𝑛 𝑗=1,…,𝑚−1 (7) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Modelagem Matemática Flow Shop Não Permutacional A restrição (8) assegura que o tamanho do buffer da máquina 𝑗(2 ≤ 𝑗 ≤ 𝑚) é, pelo menos, (𝑛−2). 𝑖=1,…,𝑛,𝑖≠ 𝑖 ′ : 𝑆 1𝑗 < 𝑆 𝑙𝑗 ⋅ 𝑍 𝑖𝑙𝑗 ≤ 𝑆 1𝑗 + 𝑃 𝑖 ′ 𝑗 𝑍 𝑖 ′ 𝑙 𝑗 ′ 𝑙=2,…,𝑛 𝑖=1,…,𝑛,𝑖≠ 𝑖 ′ : 𝑆 1𝑗 < 𝑆 𝑙𝑗 ⋅ 𝑍 𝑖𝑙𝑗 ≤ 𝑆 1𝑗 + 𝑃 𝑖 ′ 𝑗 𝑍 𝑖 ′ 𝑙 𝑗 ′ 𝑙=2,…,𝑛 |≤n−2 𝑗=2,…,𝑚 (8) 1 2 3 4 Máquina (j-1) Máquina (j) Máquina (j+1) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 30 31 32 33 34 35 5 7 15
Referências KING, R.; SPACHIS, A. S. Heuristics for flowShop scheduling. International Journal of Production Research, v. 18, p. 343-357, 1980. Rossi, A. Lanzetta, M; Scheduling flow lines with buffers by ant colony digraph. journal homepage: www.elsevier.com/locate/eswa, acesso 05/2014. Lin, SW. Ying, K; Minimizing makespan and total flowtime in permutation flowshops by a bi objective multi-start simulated-annealing algorithm. journal homepage: www.elsevier.com/locate/eswa, acesso 05/2014.
Escalonamento de Tarefas Orientadora: Profª. D.Sc Rosiane de Freitas. Elton Carlos Costa Lever Manoel Sócrates Costa Lever