Escolar Documentos
Profissional Documentos
Cultura Documentos
SEQUENCIAMENTO
DA PRODUÇÃO
Hélio Y. Fuchigami
versão 8.0
Como referenciar este trabalho:
PARTE IV – META-HEURÍSTICAS
10 Principais Meta-heurísticas ............................................................................................... 108
10.1 Algoritmo Genético ................................................................................................ 108
10.2 Simulated Annealing .............................................................................................. 110
10.3 Busca Tabu ........................................................................................................... 111
10.4 Outras meta-heurísticas ......................................................................................... 112
SUPLEMENTO
Exercícios Selecionados ......................................................................................................... 115
Referências .............................................................................................................................. 126
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 5
PARTE I – INTRODUÇÃO
1 PROGRAMAÇÃO DA PRODUÇÃO
1.1 Definições
▪ Recursos:
▪ máquinas em uma fábrica
▪ pistas em um aeroporto
▪ trabalhadores em construções
▪ unidades de processamento em ambiente computacional
▪ Tarefas:
▪ pedidos de produção (ordens de serviço ou de produção)
▪ decolagens e aterrissagens de aviões
▪ estágios de um projeto de construção
▪ execuções de programas computacionais
Pesquisa Operacional
(Engenharias, Computação,
Matemática Industrial, Administração)
Planejamento e
Otimização
Controle da Produção
Combinatória
(Engenharia de Produção,
(Matemática Aplicada)
Matemática Industrial)
GRÁFICO DE GANTT
▪ Importante ferramenta visual para programação da produção
▪ Inventado em 1917 por Henry Laurence Gantt (1861-1919)
▪ Representa por barras o tempo de processamento das tarefas
▪ Indica início e fim das atividades e o seu progresso
▪ Vantagem: representação visual simples de cada operação
Figura 1.2 – Exemplo de gráfico de Gantt de programação com três máquinas em série e quatro tarefas
DADOS
Tarefas J1 J2 J3 J4 J5 J6
Tempo de processamento 2 2 3 3 1 4
Prazo 4 3 12 7 4 6
Sequência Total
Término (fluxo)
Adiantamento
Atraso
0 5 10 15
8 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
DADOS
Tarefas J1 J2 J3 J4 J5 J6
Tempo de processamento 2 2 3 3 1 4
Prazo 4 3 12 7 4 6
Sequência Total
Término (fluxo)
Adiantamento
Atraso
0 5 10 15
Sequência Total
Término (fluxo)
Adiantamento
Atraso
0 5 10 15
0 5 10 15
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 9
DADOS
Tarefas J1 J2 J3 J4 J5 J6
Tempo de processamento 2 2 3 3 1 4
Prazo 4 3 12 7 4 6
Folga (prazo menos proc.)
Sequência Total
Término (fluxo)
Adiantamento
Atraso
0 5 10 15
EXERCÍCIO:
Sequência 1 (aleatória)
Figura 1.2 – Exemplo de programação de quatro tarefas em três máquinas usando uma nova sequência
aleatória
▪ duração da programação: 27
▪ tempo total de espera das máquinas para início da 1ª tarefa: 16
▪ tempo total de máquina ociosa: 22
▪ vantagens:
▪ se as primeiras tarefas tiverem menor prazo de entrega
▪ se quiser reduzir tempo ocioso entre as operações (no-idle)
Sequência 2 (aleatória)
Figura 1.3 – Exemplo de programação de quatro tarefas em três máquinas usando uma sequência aleatória
▪ duração da programação: 21
▪ tempo total de espera das máquinas para início da 1ª tarefa: 6
▪ tempo total de máquina ociosa: 14
EXERCÍCIO: a) Existe outra sequência com duração da programação menor que 21?
b) Compare o tempo médio de fluxo das duas sequências.
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 11
10) As operações de cada tarefa não podem ser subdivididas (no splitting).
12 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
▪ g operações que compõem uma tarefa Jj: {opj1, opj2, ..., opjg}
M1 J1
s1=2 p1=6
M1 J2 J3 J1
F1=14
MAKESPAN
▪ Duração total da programação: Cmax = max Cj
▪ Apenas para problemas com várias máquinas (em máquina única Cmax é constante)
TEMPO DE FLUXO
▪ Tempo total de fluxo (flowtime): F = Fj
▪ Tempo médio de fluxo (flowtime médio): F = (F j ) / n
▪ Equivale à minimização do estoque em processamento (work-in-process – WIP)
ADIANTAMENTO E ATRASO
▪ Soma dos adiantamentos e atrasos: ET = (Ej+Tj)
▪ Equivale à filosofia Just-in-Time
▪ Geralmente com pesos globais (Ej+Tj) ou por tarefas (jEj+jTj)
▪ Adiantamento e atraso máximos: Emax+Tmax
▪ Maximização do número de tarefas just-in-time (pontuais)
▪ Contribui para reduzir custos: adiantamentos produzem estoques e atrasos geram
multas
Observação: não faz sentido somar os desvios de pontualidade (lateness) Lj, pois os
adiantamentos anulariam os atrasos.
EXERCÍCIO: Para o problema com quatro tarefas e duas máquinas em série (flow shop),
calcule o makespan e o flowtime médio da sequência apresentada na tabela:
J1 J2 J3 J4
pj1 4 3 5 2
pj2 2 6 1 2
M1
Cmax =
M2 F=
0 5 10 15
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 15
ATRASO
▪ Atraso máximo (tardiness): Tmax = max Tj
▪ Atraso total (total tardiness): T = Tj
▪ Número de tarefas atrasadas (tardy jobs): Uj
▪ Contribui para reduzir tempo e custo (multas) e melhorar a qualidade do serviço
▪ Tipos de prazos:
Datas de entrega diferentes (dj)
Datas de entrega comuns (dj = d)
Entrega com janelas de tempo ou tolerância ( d j inicial e d j final)
Duas datas de entrega (interna e externa)
Tarefas J1 J2 J3 J4 J5
Tempo de processamento 2 2 2 2 2
Prazo 4 4 6 2 9
SEQUÊNCIA 1: J4 – J2 – J3 – J1 – J5
Tarefas J4 J2 J3 J1 J5
Término
Atraso 0 5 10
SEQUÊNCIA 2: J4 – J1 – J3 – J5 – J2
Tarefas J4 J1 J3 J5 J2
Término
Atraso 0 5 10
SEQUÊNCIA 3: J2 – J4 – J1 – J3 – J5
Tarefas J2 J4 J1 J3 J5
Término
Atraso 0 5 10
Atraso máximo
Atraso total
Número de tarefas atrasadas
16 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
SUPLEMENTO -
TIPOS DE SETUP
▪ Tempo de setup independente da sequência: o tempo de setup depende apenas
da tarefa a ser processada
EXEMPLO 1: VETOR DE TEMPOS DE SETUP
J1 J2 J3 J4 J5 J6
sj 6 4 2 8 1 9
M1 s1 J1 s2 J2
M2 s1 J1 s2 J2
r1 r2
Figura 1.6 – Flow shop com setup antecipado
▪ Setup não antecipado: setup que somente pode ser realizado quando a tarefa
estiver disponível (na máquina) para ser processada
M1 s1 J1 s2 J2
M2 s1 J1 s2 J2
r1 r2
Figura 1.7 – Flow shop anterior com setup não antecipado
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 17
I11=0 I21=0
M1 J1 J2
W11=0 W21=0
M2 J1 J2
I12>0 I22>0
W22>0
W12=0
M3 J1 J2
I13>0
I23=0
Figura 1.8 – Tempo de espera das tarefas versus tempo ocioso das máquinas
RESTRIÇÃO “NO-WAIT”
M1 J1 J2
W11=0 W21=0
M2 J1 J2
W12=0 W22=0
M3 J1 J2
Figura 1.9 – Programação “no-wait” (sem tempo de espera entre as operações das tarefas)
RESTRIÇÃO “NO-IDLE”
M1 J1 J2
I21=0
M2 J1 J2
I22=0
M3 J1 J2
I23=0
Figura 1.10 – Programação “no-idle” (sem tempo ocioso de máquina entre as tarefas)
18 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
blocking blocking
M1 J1 J2 J3 J4
blocking
M2 J1 J2 J3 J4
M3 J1 J2 J3 J4
Figura 1.11 – Programação com bloqueio (“blocking” – a máquina fica bloqueada enquanto a tarefa
processada não for transferida para a próxima máquina)
U=
p j
ou U=
p j
WIP =
F j
N=
(n + 1 − j )p [ j]
Cmax p j
ET =
max(C ,d j j )
Cmax
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 19
EXERCÍCIOS: :
a) J1 J2 J3 b) J1 J2 J3 J4
rj 3 10 6 rj 1 5 9 10
pj 6 2 3 pj 2 3 2 5
dj 11 12 13 dj 2 9 7 12
2) Considere os dados de cada conjunto de tarefas abaixo para o problema com uma
única máquina. Construa o gráfico de Gantt para as sequências fornecidas indicando o
makespan, o tempo médio de fluxo, o atraso total e o número de tarefas atrasadas.
a) J1 J2 J3 J4 J5
rj 2 4 6 2 4
pj 6 5 4 6 9
dj 12 15 11 10 18
Sequência: J4 – J3 – J1 – J2 – J5
b) J1 J2 J3 J4
sj 5 7 3 2
pj 4 5 3 8
dj 16 8 17 15
Sequência: J2 – J3 – J4 – J1
3) Considere os dados de cada conjunto de tarefas abaixo para o problema com uma
única máquina.
a) J1 J2 J3 J4
pj 7 4 9 3
dj 15 30 28 18
b) J1 J2 J3 J4 J5
pj 15 30 25 10 20
dj 50 100 75 80 40
20 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
c) J1 J2 J3 J4 J5 J6
pj 5 6 4 3 2 4
dj 12 8 7 9 8 15
Para cada sequência, construa tabelas informando para cada tarefa a sua data de
término, o adiantamento e o atraso, e para cada sequência, o tempo médio de fluxo, o
atraso médio, o atraso máximo, o adiantamento máximo e número de tarefas
atrasadas.
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 21
2 CLASSIFICAÇÃO DE PROBLEMAS
... M ...
M1
... M2 ...
..
.
Mm
M1 M2 Mm
... ... ...
Estágio 1 Estágio g
...
M1 M1
JOB SHOP: cada tarefa tem seu fluxo individual ou rota específica nas máquinas
Aplicações:
▪ oficina de manutenção
▪ oficina de ferramentaria
▪ funilaria de carros
M2
... ...
M1
M3
JOB SHOP FLEXÍVEL: job shop em que existem estágios com duas ou mais
máquinas disponíveis (mas a tarefa é processada por somente uma máquina em cada
estágio)
OPEN SHOP: semelhante ao job shop, porém as tarefas não possuem uma rota
específica conhecida previamente, podendo inclusive não passar por uma ou mais
máquinas; as tarefas podem ser processadas em qualquer ordem
Aplicações:
▪ oficina de reparos específicos (em aviões)
▪ centros de controle de qualidade (com atividades simultâneas)
24 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
Figura 2.6 – Comparação entre flow shop, job shop e open shop
J4 J3 J2 J1 J4 J3 J 2 J1 J4 J3 J2 J1
J4 J3 J2 J1 M1 M2 M3 J4 J3 J2 J1
J3 J1 J4 J2 J2 J3 J1 J4 J4 J2 J1 J3
J4 J3 J2 J1 M1 M2 M3 J4 J2 J1 J3
EXEMPLO:
Construa os gráficos de Gantt com as duas
programações permutacionais e com a seguinte
pjk J1 J2
programação não permutacional:
M1 1 4
M1: J1 – J2
M2 4 1
M2: J1 – J2
M3 4 1
M3: J2 – J1
M4 1 4
M4: J2 – J1
Compare o makespan e o tempo médio de fluxo das
três programações.
FLOW LINE (ou SKIP-SHOP): flow shop em que as tarefas podem saltar
máquinas (as tarefas não são processadas em uma ou mais máquinas)
J4 J3 J1 J3 J 2 J4 J2 J1
J4 J3 J2 J1 M1 M2 M3 J4 J3 J2 J1
FLOW SHOP
uma máquina por estágio
m>1
FLOW SHOP JOB SHOP
diferentes
rotas
mk>1 mk>1
multi-máquinas
diferentes
MÁQUINAS g>1 FLOW SHOP rotas JOB SHOP
PARALELAS HÍBRIDO FLEXÍVEL
Notação de 3 campos: | |
1: máquina única
P: máquinas paralelas idênticas
Q: máquinas paralelas uniformes
R: máquinas paralelas não relacionadas
J: job shop
O: open shop
F: flow shop
HF: flow shop híbrido
FFS: flexible flow shop ou flexible flow line
: medida de desempenho
EXEMPLOS:
▪ F 2 | | Cmax : flow shop com duas máquinas e minimização do makespan
(Problema de Johnson)
EXERCÍCIOS: :
1) Considere os dados de cada conjunto de tarefas abaixo para o problema com duas
máquinas paralelas idênticas e construa o gráfico de Gantt para as sequências fornecidas
indicando o makespan, o tempo médio de fluxo, o atraso total e o número de tarefas
atrasadas.
a) J1 J2 J3 J4 J5
rj 2 4 6 2 4
pj 6 5 4 6 9
dj 12 15 11 10 18
Sequência: J4 – J3 – J1 – J2 – J5
b) J1 J2 J3 J4
sj 5 7 3 2
pj 4 5 3 8
dj 16 8 17 15
Sequência: J2 – J3 – J4 – J1
a) J1 J2 J3 J4 b) J1 J2 J3 J4
sj1 2 5 4 3 pj1 3 2 6 5
sj2 4 1 2 2 pj2 2 5 4 3
pj1 7 2 5 4 pj3 4 3 6 2
pj2 3 4 3 2 dj 17 24 21 26
dj 21 18 14 19
Flow shop com três máquinas
Flow shop com duas máquinas e setup Sequência: J4 – J3 – J1 – J2
Sequência: J2 – J3 – J4 – J1
29 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
a) 1 | sij | C max
b) P 4 | rj , d j| ET
c) Pm | s j| F
d) F 3 | rj , sijk|F
e) Fm | s jk , d j|T
f) Fm | prmu, d j |Tmax
g) Jm | sijk | C max + F
30 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
3 MÉTODOS DE SOLUÇÃO
J2–J4–J1–J3
J3–J1–J2–J4 J3–J4–J2–J1
J3–J1–J4–J2
J2–J3–J1–J4 J2–J4–J3–J1 J3–J2–J1–J4
J3–J4–J1–J2
J2–J3–J4–J1 solução inicial J1–J2–J3–J4
J4–J2–J1–J3 (aleatória) solução vizinha
J4–J1–J3–J2 J2–J1–J4–J3 J2–J1–J3–J4
J1–J4–J3–J2
J4–J1–J2–J3
J1–J4–J2–J3 J1–J2–J4–J3
J1–J3–J4–J2
solução ótima J1–J3–J2–J4
J4–J2–J3–J1 J4–J3–J1–J2
J4–J3–J2–J1
EXEMPLO 2:
Heurística “Improviso”
PASSO 1 – Sequencie as tarefas pela ordem descrecente dos índices.
PASSO 2 – Programe sequencialmente as tarefas com índice par e em seguida as
tarefas com índice ímpar.
Resolução:
n tarefas a serem programadas: J1, J2, J3, J4
PASSO 1 – Tarefas ordenadas não programadas: J4, J3, J2, J1
PASSO 2 – 1ª iteração: {J4}
2ª iteração: {J4, J2}
3ª iteração: {J4, J2, J3}
4ª iteração: {J4, J2, J3, J1} sequência completa: solução final
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 33
Heurística “Aleatória”
PASSO 1 – Associe aleatoriamente um número gerado no intervalo de 1 a 99
a cada tarefa.
PASSO 2 – Programe as tarefas pela ordem crescente do número associado.
J1 J2 J3 J4
pj 6 3 4 5
dj 8 12 7 15
EXEMPLO 3:
Heurística “Tentativa” para minimização do adiantamento total
PASSO 1 – Programe as tarefas pela ordem crescente dos prazos. Calcule o
adiantamento total das tarefas.
PASSO 2 – Execute 3 vezes o seguinte procedimento:
Selecione aleatoriamente uma tarefa e troque a sua posição com a da
tarefa seguinte. Se a solução for melhor*, mantenha; caso contrário,
volte à posição original.
[*melhor valor da medida de desempenho considerada.]
Resolução:
J1 J2 J3 J4
pj 5 8 6 2
dj 13 20 18 9
34 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
J4 J3 J1 J2
Cj 2 8 13 21 ∑Ej
Ej 7 10 0 0 17
A nova solução é melhor? Sim, então mantém.
J4 J3 J2 J1
Cj 2 8 16 21 ∑Ej
Ej 7 10 4 0 21
A nova solução é melhor? Não, então volte à anterior.
{J4, J3, J1, J2}
J3 J4 J1 J2
Cj 6 8 13 21 ∑Ej
Ej 12 1 0 0 13
A nova solução é melhor? Sim, então mantém.
Fim das iterações. Solução final: {J3, J4, J1, J2} ∑Ej = 13
1 Sistema de produção empurrado: cada estágio de produção empurra o trabalho, sem considerar se o
estágio seguinte pode realizá-lo, podendo acarretar estoque intermediário e filas.
Sistema de produção puxado: o ritmo de produção é definido pelo estágio consumidor, que puxa o
trabalho do estágio anterior (fornecedor), geralmente por meio de um kanban.
36 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
▪ LIFO (Last In First Out): “pilha”, a última que chega é a primeira a ser processada,
ou seja, ordenar pela maior data de liberação (rj)
▪ CR (Critical Ratio): menor razão crítica, ou seja, o tempo disponível dividido pelo
d j − rj
tempo de processamento
p
j
▪ SST (Shortest Setup Time): menor tempo de setup (sj)
Regras dinâmicas:
SPT e LPT
DADOS
Tarefas J1 J2 J3 J4 J5
Processamento (pj) 3 7 2 8 4
0 5 10 15 20 25
0 5 10 15 20 25
COMPARATIVO F
SPT
LPT
WSPT e WLPT
DADOS
Tarefas J1 J2 J3 J4 J5
Processamento (pj) 3 7 2 8 4
Prioridade (wj) 4 2 6 5 2
0 5 10 15 20 25
38 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
0 5 10 15 20 25
COMPARATIVO Fw
WSPT
WLPT
EDD e MST
DADOS
Tarefas J1 J2 J3 J4 J5
Processamento (pj) 3 7 2 8 4
Prazo (dj) 9 20 13 10 14
Folga (dj – pj)
Sequência EDD ∑
Adiantamento (Ej)
Atraso (Tj)
0 5 10 15 20 25
Sequência MST ∑
Adiantamento (Ej)
Atraso (Tj)
0 5 10 15 20 25
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 39
CR
DADOS
Tarefas J1 J2 J3 J4 J5
Processamento (pj) 3 7 2 8 4
Prazo (dj) 9 20 13 10 14
Liberação (rj) 4 6 1 7 5
Razão crítica [(dj – rj)/pj]
Sequência CR ∑
Adiantamento (Ej)
Atraso (Tj)
0 5 10 15 20 25
COMPARATIVO E T T Tmax nT
EDD
MST
CR
FIFO e LIFO
DADOS
Tarefas J1 J2 J3 J4 J5
Processamento (pj) 3 7 2 8 4
Liberação (rj) 4 6 1 7 5
0 5 10 15 20 25 30
0 5 10 15 20 25 30
40 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
J1 J2 J3 J4 J5
pj 7 5 6 2 8
dj 13 11 18 20 23
Figura 3.5 – Opções dos métodos (à esquerda) e do solver evolucionário (à direita) – valores padrão
42 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
b) 1 | d j| ET
b) Fm| prmu| F
c) Fm | prmu, d j|T
d) Fm | prmu, d j| nT
e) Fm | prmu , d j| ET
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 43
SUPLEMENTO -
REGRA DE PRIORIDADE ATCS (Apparent Tardiness Cost with Setups)
única (1 | sij , d j | w jT j )
▪ Combina as regras WSPT, MST e SST (Shortest Setup Time ou Vizinho Mais
Próximo)
wj max( d j − p j − t ,0) s
I ij (t ) = exp − exp − ij ,
pj K 1p K2s
- o fator de atraso T = 1 −
d j
nCmax
d − d min
- a faixa de prazos R = max
Cmax
- o fator de ponderação dos tempos de setup = s / p
n
O makespan deve antes ser estimado: Cˆ max = p
j =1
j + ns
4,5 + R, R 0,5
K1 = K 2 = T /(2 )
6 − 1R, R 0,5
próximos de 0 indicam que os prazos são largos. Altos valores de R indicam uma faixa
ampla de prazos, enquanto que baixos valores indicam uma faixa mais estreita.
44 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
EXEMPLO 6:
J1 J2 J3 J4 sij J1 J2 J3 J4
pj 13 9 13 10 J0 1 1 3 4
dj 12 37 21 22 J1 – 4 1 3
wj 2 4 2 5 J2 0 – 1 0
J3 1 2 – 3
J4 4 3 1 –
p = 11 s 2 Cˆ max = 45 + 4 * 2 = 53
Sequência final: J2 – J4 – J3 – J1 w jT j = 98
EXERCÍCIOS: :
a) J1 J2 J3 J4 J5
rj 5 2 1 4 3
sj 2 1 2 2 1
pj 3 5 2 6 1
dj 13 7 4 10 8
wj 2 1 3 2 4
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 45
b) J1 J2 J3 J4 J5
rj 2 3 6 2 4
sj 1 2 3 3 2
pj 6 2 4 2 5
dj 8 12 21 18 14
wj 2 2 1 2 1
2) Para cada problema abaixo sequencie as tarefas pelas regras SPT, LPT, EDD, FIFO,
LIFO, MST e CR e compare os desempenhos em relação ao makespan, o tempo médio
de fluxo, o atraso total e o número de tarefas atrasadas.
J1 J2 J3 J4
rj 1 5 9 10
pj 2 3 2 5
dj 2 9 7 12
a) máquina única
J1 J2 J3 J4 J5
rj 2 4 6 2 4
pj 6 5 4 6 9
dj 12 15 11 10 18
b) máquina única
J1 J2 J3 J4
sj 5 7 3 2
pj 4 5 3 8
dj 16 8 17 15
c) máquina única
J1 J2 J3 J4
pj1 7 2 5 4
pj2 3 4 3 2
dj 21 18 14 19
d) flow shop com duas máquinas
J1 J2 J3 J4
pj1 3 2 6 5
pj2 2 5 4 3
pj3 4 3 6 2
dj 17 24 21 26
e) flow shop com três máquinas
46 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
3) Uma empresa de consultoria deverá executar 7 projetos, tendo cada um sua data de
entrega estabelecida. A empresa é de pequeno porte, de modo que somente executará
um projeto de cada vez, ou seja, os projetos serão executados sequencialmente e sem
interrupção. De acordo com o contrato, a empresa receberá um prêmio de $800 para
cada projeto terminado sem atraso e pagará uma multa de $500 para cada projeto que for
concluído após a data de entrega estabelecida. As durações dos projetos e as respectivas
datas de entrega são dadas abaixo. Como deverão ser sequenciados os projetos, de
forma a maximizar o prêmio líquido? (MOCCELLIN, 1999) De acordo com a sequência
encontrada, qual será o prêmio líquido?
PARTE II – PROBLEMAS E
ALGORITMOS CLÁSSICOS
4 MÁQUINA ÚNICA
▪ Programação = sequenciamento
▪ Número de sequências possíveis para n tarefas: n!
▪ Com rj = 0 e sem setup depentente, todas as n! sequências têm o mesmo valor de Cmax
... M ...
n
j =1
Fj
▪ F =
n
▪ Problemas equivalentes: 1 | | F , 1 | | F j e 1 | | W j (tempo total de espera)
EXEMPLO 1:
J1 J2 J3 J4 J5
pj 5 6 2 5 3
SPT: ________________________________
0 5 10 15 20
F* =
48 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
w jC j w j Fj
▪ Fw = =
wj wj
▪ Solução ótima: regra WSPT
EXEMPLO 2:
J1 J2 J3 J4 J5
pj 5 6 2 5 3
wj 4 1 5 3 2
pj/wj
WSPT: ________________________________
0 5 10 15 20
Cj Fw* =
wj Cj
EXEMPLO 3:
J1 J2 J3 J4 J5
pj 4 2 3 5 3
dj 7 6 11 13 5
EDD: ________________________________
49 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
J5 J2 J1 J3 J4
Cj *
Tmax =
Tj
EXEMPLO 4:
J1 J2 J3 J4 J5 J6
pj 4 6 4 2 5 3
dj 6 20 10 5 22 9
DO EXEMPLO 3:
J1 J2 J3 J4 J5
pj 4 2 3 5 3
dj 7 6 11 13 5
dj – pj
MST: ________________________________
Cj *
Emax =
Ej
EXEMPLO 5:
J1 J2 J3 J4 J5 J6 J7 J8
pj 10 6 3 1 4 8 7 6
dj 35 20 11 8 6 25 28 9
maior pj
EDD J5 J4 J8 J3 J2 J6 J7 J1 Tarefas
removidas:
Cj 4 5 11
Tj 0 0 2 J8
JT
maior pj
J5 J4 J3 J2 J6 J7 J1 – Tarefas
removidas:
Cj 4 5 8 14 22 29
Tj 0 0 0 0 0 1 J8, J6
JT
J5 J4 J3 J2 J7 J1 J8 J6
Cj 4 5 8 14 21 31 37 45
Tj 0 0 0 0 0 0 28 20
nenhuma tarefa atrasada tarefas removidas
nT* = 2
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 51
n
a) d i j =1
pj e
n
b) pi pk , J k | d k j =i
pj .
EXEMPLO 6:
J1 J2 J3 J4 J5
pj 4 7 1 6 3
dj 16 16 8 21 9
J4
ITERAÇÃO 2: pj = 15 Candidatas para J[4] devem ter d i 15 : J1, J2 (maior pj)
J2 J4
ITERAÇÃO 3: pj = 8 Candidatas para J[3] devem ter d i 8 : J1, J3, J5 (maior pj)
J1 J2 J4
ITERAÇÃO 4: pj = 4 Candidatas para J[2] devem ter d i 8 : J3, J5 (maior pj)
J5 J1 J2 J4
ITERAÇÃO 5: J[1]
J3 J5 J1 J2 J4 Sequência ótima
J3 J5 J1 J2 J4
Cj 1 4 8 15 21 nT* = 0, F * = 9,8
Tj 0 0 0 0 0
52 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
0 5 10 15 20
EXEMPLO 7:
J1 J2 J3 J4 J5
pj 4 2 3 5 3
dj 10 10 12 18 6
▪ Heurísticas construtivas
▪ Critério de seleção míope (ou guloso), busca a melhor opção local
▪ Algoritmo do Vizinho Mais Distante tende a ser melhor que Vizinho Mais Próximo
EXEMPLO 8:
J1 J2 J3 J4
pj 2 1 2 3
sij J1 J2 J3 J4
J0 3 1 2 5
J1 – 2 9 6
J2 7 – 4 1
J3 3 8 – 2
J4 5 4 6 –
INICIALIZAÇÃO
J0
ITERAÇÃO 1
TOTAL
J0 sij
J0 TOTAL
sij
ITERAÇÃO 2
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
ITERAÇÃO 3
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
Solução:
54 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
0 5 10 15 20
Cmax =
DO EXEMPLO 8:
INICIALIZAÇÃO
J0
ITERAÇÃO 1
TOTAL
J0 sij
J0 TOTAL
sij
ITERAÇÃO 2
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 55
ITERAÇÃO 3
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
Solução: e
0 5 10 15 20
Cmax =
PASSO 1 – Para cada linha e coluna da matriz quadrada dos tempos de setup Sij(nxn),
determine uma multa subtraindo os dois menores elementos válidos
(desconsiderando a diagonal principal).
PASSO 2 – Na linha ou coluna com maior multa identifique a célula i-j com o menor
valor. Desempates são arbitrários. Selecione o par de tarefas Ji – Jj.
PASSO 3 – Cancele a linha i, a coluna j e a célula j-i. Se não houver células válidas, a
sequência circular está completa*, vá para o Passo 5. Caso contrário,
continue.
PASSO 4 – Se restar apenas linhas ou colunas com um único elemento válido,
selecione o menor elemento válido i-j da matriz e volte ao Passo 3.
Senão, volte ao Passo 1.
PASSO 5 – A partir da sequência circular formada, quebre cada elo possível (entre os
pares de tarefas) e insira a tarefa fictícia J0, formando uma sequência real
completa. Considere a sequência com o menor makespan.
* Pode haver a formação de subciclos, cuja junção para formar apenas um ciclo completo é a feita de forma arbitrária.
▪ Método de Aproximação de Vogel (MAV) original para Problemas de Transporte: Taha (2008)
▪ MAV em flow shop com setup dependente: Stinson e Smith (1982), Simons Jr. (1992)
56 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
DO EXEMPLO 8:
sij J1 J2 J3 J4 multas -
J1 – 2 9 6 -
J2 7 – 4 1
-
J3 3 8 – 2
J4 5 4 6 –
multas
Pares formados:
-
Sequência circular:
Sequências possíveis
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
TOTAL
J0 sij
Solução:
e
0 5 10 15 20
Cmax =
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 57
J1 J2 J3 J4
pj 5 4 2 6
sij J1 J2 J3 J4
J0 2 7 4 3
J1 – 1 5 2
J2 6 – 3 8
J3 9 2 – 1
J4 3 4 9 –
e 1 | r j , sij | F . Crie conjuntos de dados para cada problema e resolva-os com os métodos
criados.
EXERCÍCIOS: :
1) Considere o problema de programação em máquina única e os conjuntos de tarefas
com seus respectivos dados apresentados nas tabelas:
a) J1 J2 J3 J4
pj 6 3 4 8
dj 10 12 9 20
b) J1 J2 J3 J4 J5
pj 3 9 5 1 7
dj 11 10 24 5 12
wj 2 7 4 1 5
58 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
c) J1 J2 J3 J4 J5 J6 J7 J8
pj 5 2 4 8 2 4 7 3
dj 14 10 32 25 12 15 22 7
d) J1 J2 J3 J4 J5 J6 J7 J8
pj 8 5 2 4 3 7 3 6
dj 21 32 18 26 14 30 25 12
e) J1 J2 J3 J4 J5 J6 J7 J8
pj 5 6 9 5 11 7 3 2
dj 21 40 12 32 22 8 17 15
wj 4 8 5 3 2 1 9 3
f) J1 J2 J3 J4 J5 J6 J7 J8 J9 J10
pj 3 6 5 3 7 2 2 4 5 4
dj 15 25 14 7 22 10 12 32 26 18
wj 6 5 9 2 10 1 8 3 2 7
1.1) Sequencie as tarefas pelas regras SPT, LPT, WSPT (quando houver
prioridades), EDD, FIFO, MST e CR e compare o tempo total de fluxo, atraso
máximo, número de tarefas atrasadas e atraso total.
1.2) Resolva os problemas 1 || F , 1 | d j | Tmax e 1 | d j | nT .
2) Considerando os conjuntos de dados das tarefas, resolva o problema 1 | sij | Cmax pelo
Algoritmo do Vizinho Mais Próximo, Algoritmo do Vizinho Mais Distante e Método de
Vogel.
a) J1 J2 J3 J4 b) J1 J2 J3 J4
pj 4 3 5 2 pj 6 1 2 3
sij J1 J2 J3 J4 sij J1 J2 J3 J4
J0 1 4 5 2 J0 2 3 1 5
J1 – 1 2 4 J1 – 6 4 1
J2 6 – 3 1 J2 1 – 2 9
J3 2 4 – 5 J3 7 2 – 3
J4 3 5 6 – J4 4 5 8 –
3) Imagine que você foi indicado como gerente de operações para a Advantan Company,
que fabrica artigos usados em vários outros produtos. Atuando em um ambiente muito
competitivo, a Advantan não pode permitir que os prazos não sejam cumpridos. O gerente
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 59
Tarefas 1 2 3 4 5 6
Tempo de processamento (dias) 8 14 10 16 11 18
Prazo de entrega (dias) 13 22 10 23 21 24
Considere que a ordem de chegada destas tarefas é tal como apresentado na tabela.
Como gerente de operações, você deve determinar a sequência, o tempo médio de fluxo,
o atraso médio e o número de tarefas atrasadas no centro de trabalho. Compare o
resultado das seguintes regras de sequenciamento: FIFO, SPT, EDD e CR.
(adaptado de Kruger, De Wit e Ramdass, 2005)
Tarefas A B C D E F
Tempo de produção (horas) 2 5 3 4 6 4
Tempo de entrega prometido (horas) 4 18 8 4 20 24
Para o dia em que se deseja fazer a programação, a carteira de pedidos dos clientes é
apresentada na tabela a seguir:
Com estes dados, consegue-se definir a quantidade de horas necessárias para o dia de
produção. No tempo de produção das rodas, deve-se incluir o tempo de preparação da
máquina para cada produto. Os tempos de preparação são fixos e sem relações de
precedência, isto é, o tempo é o mesmo para qualquer combinação de entrada e saída de
produtos. Isso acontece porque ferramentas e fixadores são individuais para cada
produto, não podendo ser aproveitados de uma troca para outra.
número de produtos
tempo de produção de uma ordem = tempo de preparação +
produção horária
Considere que não haja tempo de espera entre a realização de duas ordens de produção
e que todas as ordens estejam disponíveis para o processamento antes de se iniciar a
primeira delas. Analise o desempenho das regras SPT, LPT, WSPT, EDD, MST e CR no
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 61
caso de se querer minimizar o tempo total de fluxo, o atraso máximo, o número de tarefas
atrasadas e o atraso total.
5 MÁQUINAS PARALELAS
Tipos de máquinas:
▪ Idênticas: os tempos de processamento das tarefas em quaisquer máquinas são
iguais, ou seja, as tarefas têm o mesmo pj independente da máquina (pjk=pj, k)
▪ Uniformes ou proporcionais: os tempos de processamento pjk se diferem por um
fator multiplicativo (pjk=γkpj, onde γk é o fator multiplicativo da máquina Mk)
▪ Não relacionadas: em cada máquina, as tarefas têm diferentes tempos de
processamento sem correlação (pjk)
M1
... M2 ...
..
.
Mm
EXEMPLO 1: m=2
J1 J2 J3 J4 J5 J6 J7
pj 3 2 2 1 4 6 5
LPT: ________________________________
63 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
M1
Cmax =
M2
0 5 10 15
DO EXEMPLO 1: m=2
J1 J2 J3 J4 J5 J6 J7
pj 3 2 2 1 4 6 5
SPT: ________________________________
M1
F* =
M2
0 5 10 15
AINDA DO EXEMPLO 1:
M1: ____________________
Pm | | Cmax
M2: ____________________
M1: ____________________
SPT
M2: ____________________
M1 Cmax =
M2 F=
0 5 10 15
PASSO 1 – Reduza a matriz de custos, subtraindo das linhas o menor valor de cada
linha e depois subtraindo das colunas o menor valor de cada coluna.
PASSO 2 – Cubra com traços as linhas e colunas com zeros, utilizando o menor
número de traços possível. Se o menor número de traços for igual a n,
PARE, pois a matriz contém pelo menos uma solução ótima. Senão,
prossiga ao Passo 3.
PASSO 3 – Identifique o menor elemento descoberto da matriz. Subtraia este valor de
todos os elementos descobertos e some-o a todas as células que têm
intersecção entre um traço horizontal e um vertical. Retorne ao Passo 2.
EXEMPLO 2:
Menor valor
custo J1 J2 J3 J4 das linhas custo J1 J2 J3 J4
M1 1 3 4 5 M1
M2 4 2 4 7 M2
M3 6 7 8 3 M3
M4 5 4 2 1 M4
Menor valor
das colunas
custo J1 J2 J3 J4 aloc. J1 J2 J3 J4
M1 M1
M2 M2
M3 M3
M4 M4
Z* =
EXEMPLO 3:
Menor valor
custo J1 J2 J3 J4 das linhas custo J1 J2 J3 J4
M1 94 1 54 68 M1
M2 74 10 88 82 M2
M3 62 88 8 76 M3
M4 11 74 81 21 M4
Menor valor
das colunas
Matrizes reduzidas:
Solução ótima:
aloc. J1 J2 J3 J4
M1
M2 Z* =
M3
M4
Z heur − Z * Z heur − LB
Desvio Relativo Percentual: RPD = *
.100 ou RPD = .100
Z LB
LB ruim LB C*max
Cmax (soluções)
1 m
▪ Para Cmax: LB = max p j , max p j , p[ m ] + p[ m +1]
m j =1 j
1 m
1º termo: pj
m j =1
2º termo: max p j
j
maior pj
LB LB
3º termo: p[ m ] + p[ m +1]
p[1] = maior pj
p
p[2] = p[m] p[3] = p[m+1]
LB
Referências: Baker e Trietsch (2009) e
Figura 5.5 – Ilustração do 3º termo do LB Chen (2004)
DO EXEMPLO 1:
heur
Cmax = 12
1 n 23
1º termo:
m j =1
pj =
2
= 11,5
3º termo: p[ m ] + p[ m +1] = p[ 2 ] + p[ 3] = 9
Daqui sabe-se que C max 11,5 . Como não há subdivisão de tarefas, então Cmax 12 .
* *
EXERCÍCIOS: :
J1 J2 J3 J4 J5
rj 5 2 1 4 3
pj 3 5 2 6 1
dj 13 7 4 10 8
wj 2 1 3 2 4
a) Sequencie as tarefas pelas regras SPT, LPT, WSPT (quando houver prioridades),
EDD, FIFO (ou FCFS), MST e CR. Aloque-as uma de cada vez à máquina de
menor carga em um problema com três máquinas paralelas. Compare o
makespan, tempo total de fluxo, atraso máximo, número de tarefas atrasadas e
atraso total.
b) Resolva os problemas P2 || F , P3 || F , P2 || Cmax , P3 || Cmax e
P 2 || F / min Cmax .
a) J1 J2 J3 J4 b) J1 J2 J3 J4
M1 76 37 3 35 M1 30 4 33 12
M2 23 29 1 24 M2 19 18 17 40
M3 40 62 78 36 M3 7 29 17 12
M4 55 52 31 38 M4 21 28 29 5
69 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
c) J1 J2 J3 J4 J5
M1 7 31 34 58 37
M2 18 49 33 43 44
M3 49 3 28 60 6
M4 53 54 41 32 32
M5 37 18 54 48 39
d) J1 J2 J3 J4
M1 14 6 3 14
M2 5 55 31 5
M3 84 54 71 84
M4 1 14 54 7
M5 40 22 44 40
M6 16 83 16 16
70 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
6 FLOW SHOP
M1 M2 Mm
... ... ...
EXEMPLO 1:
J1 J2 J3 J4 J5
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
Sequência: J1 – J2 – J3 – J4 – J5
M1
M2
M3
0 5 10 15 20 25
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 71
Sejam p[j]k: tempo de processamento da tarefa que ocupa a j-ésima posição na máquina Mk
C[j]k: data de término da tarefa que ocupa a j-ésima posição na máquina Mk
C[1]1 = p[1]1,
C[j]1 = C[j-1]1 + p[j]1, j = 2, …, n,
C[1]k = C[1](k-1) + p[1]k, k = 2, …, m,
Cmax = C[n]m
DO EXEMPLO 1:
C[1]1 = p[1]1: C11 = _______
C[j]1 = C[j-1]1 + p[j]1: C21 = ___________________________ (j = 2)
C31 = ___________________________ (j = 3)
C41 = ___________________________ (j = 4)
C51 = ___________________________ (j = 5)
C13 = ___________________________ (k = 3)
C23 = ___________________________________ (j = 2, k = 3)
C32 = ___________________________________ (j = 3, k = 2)
C33 = ___________________________________ (j = 3, k = 3)
C42 = ___________________________________ (j = 4, k = 2)
C43 = ___________________________________ (j = 4, k = 3)
C52 = ___________________________________ (j = 5, k = 2)
C53 = ___________________________________ (j = 5, k = 3)
FORMA 3: TABELA
Generalizando:
Cjk
DO EXEMPLO 1:
J1 J2 J3 J4 J5
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
J1 J2 J3 J4 J5
Cj1
Cj2
Cj3
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 73
prova
JOHNSON
(1954)
LB
PAGE
(1961)
ótima
PALMER
(1965)
CDS
(1970)
GUPTA
(1971)
DANNENBRING
(1977)
NEH
(1983)
HUN RAJ
(1988)
HO CHANG
(1991)
(!)
KOULAMAS
(1998)
(!)
SULIMAN
(2000)
(!)
Legenda:
A B: método B foi baseado em A
POUR
A B: método B foi comparado com A
(2001)
Figura 6.2 – Ilustração da relação entre as heurísticas clássicas em ordem cronológica (fonte: autor)
74 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
EXEMPLO 2:
J1 J2 J3 J4 J5
pj1 3 5 1 6 7
pj2 6 2 2 6 5
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 75
ITERAÇÃO 1:
J1 J2 J3 J4 J5 min{pjk}: p31M1 primeira posição
pj1 3 5 1 6 7
pj2 6 2 2 6 5 J3
ITERAÇÃO 2:
J1 J2 J3 J4 J5 min{pjk}: p22M2 última posição
pj1 3 5 1 6 7
pj2 6 2 2 6 5 J3 J2
ITERAÇÃO 3:
J1 J2 J3 J4 J5 min{pjk}: p11M1 primeira posição
pj1 3 5 1 6 7
pj2 6 2 2 6 5 J3 J1 J2
ITERAÇÃO 4:
J1 J2 J3 J4 J5 min{pjk}: p52M2 última posição
pj1 3 5 1 6 7
pj2 6 2 2 6 5 J3 J1 J5 J2
ITERAÇÃO 5:
J1 J2 J3 J4 J5 última tarefa na posição remanescente
pj1 3 5 1 6 7
J3 J1 J4 J5 J2
pj2 6 2 2 6 5
M1
M2
0 5 10 15 20 25
*
C max = 24
EXEMPLO 3:
J1 J2 J3 J4 J5
pj1 8 5 4 7 4
pj2 5 6 6 8 2
76 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
m
PASSO 1 – Sequencie as tarefas pela ordem decrescente de A j = − (m − 2k + 1) p jk ,
k =1
DO EXEMPLO 1:
J1 J2 J3 J4 J5 – (m–2k+1)
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
Aj
Sequência J3 J5 J4 J2 J1
Cj1 3 8 17 21 27
Cj2 12 18 23 24 35
Cj3 17 24 32 33 37
C max = 37
EXEMPLO 4:
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 77
.
1.2) Resolva o problema fictício pelo Algoritmo de Johnson.
1.3) Com a sequência obtida, calcule o makespan do problema original.
PASSO 2 – Das m–1 etapas, considere como solução final a sequência que forneceu o
melhor makespan.
DO EXEMPLO 1:
m = 3 máquinas ➔ h = 2 etapas
J1 J2 J3 J4 J5
pj1 6 4 3 9 5
pj3 2 1 5 8 6
Algoritmo de Johnson: J3 – J5 – J4 – J1 – J2
Sequência J3 J5 J4 J1 J2
Cj1
Cj2
Cj3 ➔ C max = ______
.
ETAPA 2: primeira e segunda máquinas X penúltima e última máquinas
J1 J2 J3 J4 J5
pj1+pj2 14 5 12 14 11
pj2+pj3 10 2 14 13 12
Algoritmo de Johnson: J5 – J3 – J4 – J1 – J2
Sequência J5 J3 J4 J1 J2
Cj1
Cj2
Cj3 ➔ C max = ______
.
Melhor programação: J3 – J5 – J4 – J1 – J2 (Etapa 1) C max = 35
EXEMPLO 4:
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 79
PASSO 2 – Calcule o makespan das três sequências e considere como solução final a
que forneceu o menor valor.
DO EXEMPLO 1:
Sequência 1:
J1 J2 J3 J4 J5 – (m–2k+1)
pj1 6 4 3 9 5 –2
pj2 8 1 9 5 6 0
pj3 2 1 5 8 6 2
Aj –8 –6 4 –2 2
Sequência 2:
J1 J2 J3 J4 J5 – (m–2k)
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
Aj
Sequência
Cj1
Cj2
Cj3 ➔ C max = ______
.
Sequência 3:
J1 J2 J3 J4 J5 – (m–2k+2)
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
Aj
Sequência
Cj1
Cj2
Cj3 ➔ C max = ______
EXEMPLO 4:
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 81
ej
PASSO 1 – Sequencie as tarefas pela ordem crescente de A j =
min p jk + p j ( k +1)
,
1k m−1
− 1 se p j1 p jm
onde e j = .
1 se p j 1 p jm
DO EXEMPLO 1:
J1 J2 J3 J4 J5
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
Aj 0,100 0,500 –0,083 0,077 –0,091
Sequência J5 J3 J4 J1 J2
Cj1
Cj2
Cj3
C max = 36
EXEMPLO 4:
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
82 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
p j1 = k =1 (m − k + 1) p jk e pj 2 = k =1 k p jk .
m m
FASES DE MELHORIA:
RACS (RAPID ACCESS WITH CLOSE ORDER SEARCH)
Gera todas as (n–1) soluções vizinhas pela troca de pares adjacentes e escolhe
a solução com menor makespan.
DO EXEMPLO 1:
J1 J2 J3 J4 J5
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 83
Problema fictício:
J1 J2 J3 J4 J5
p'j1 36 15 32 45 33
p'j2 28 9 36 43 35
Melhor programação: J3 – J4 – J5 – J1 – J2
C max = 34
EXEMPLO 4:
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
84 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
PASSO 1 – Ordene as tarefas pela regra LPT considerando a soma dos tempos de
processamento em todas as máquinas.
PASSO 2 – Com as duas primeiras tarefas da ordenação obtida, encontre a
subsequência (entre as duas possíveis) com o melhor makespan.
PASSO 3 – Para cada seguinte da ordenação inicial, insira-a em todas as posições
possíveis da subsequência e mantenha aquela com o melhor makespan.
Do EXEMPLO 1:
J1 J2 J3 J4 J5
pj1 6 4 3 9 5
pj2 8 1 9 5 6
pj3 2 1 5 8 6
∑pjk 16 6 17 22 17
LPT: J4 – J3 – J5 – J1 – J2
ITERAÇÃO 1:
J4 J3 J3 J4
Cj1 Cj1
Cj2 Cj2
Cj3 Cj3
ITERAÇÃO 2:
J3 J4 J5 J3 J5 J4 J5 J3 J4
Cj1 Cj1 Cj1
Cj2 Cj2 Cj2
Cj3 Cj3 Cj3
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 85
ITERAÇÃO 3:
J3 J4 J5 J1 J3 J4 J1 J5
Cj1 Cj1
Cj2 Cj2
Cj3 Cj3
J3 J1 J4 J5 J1 J3 J4 J5
Cj1 Cj1
Cj2 Cj2
Cj3 Cj3
ITERAÇÃO 4:
J3 J4 J5 J1 J2 J3 J4 J5 J2 J1
Cj1 Cj1
Cj2 Cj2
Cj3 Cj3
J3 J4 J2 J5 J1 J3 J2 J4 J5 J1
Cj1 Cj1
Cj2 Cj2
Cj3 Cj3
J2 J3 J4 J5 J1
Solução: J3 – J4 – J5 – J1 – J2
Cj1
Cj2 C max =
Cj3
EXEMPLO 4:
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
EXEMPLO 1 EXEMPLO 4
COMPARATIVO
Sequência Makespan Sequência Makespan
Palmer
CDS
Hundal e Rajgopal
Gupta
Dannenbring
NEH
86 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
NEH
N&M
(2002)
NEH NEH
CHAKRABORTY KK-I
NEH LAHA (2007) NEH (2007) DANN NEH
NEHT
RRB FLR
(2009)
NEH IGA
RCT
(2010)
Gupta Palmer
YING LIN
(2013)
NEH
FF
(2014)
NEH
VD
(2015)
NEH
NEH
DI
RNT
(2016)
(2016)
Legenda:
A B: método B foi baseado em A
A B: método B foi comparado com A
Figura 6.3 – Ilustração da relação entre as heurísticas modernas em ordem cronológica (fonte: autor)
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 87
Estudos comparativos: Park, Pegden Enscore (1984), Tang (2002), Ruiz e Maroto
(2005), Malik e Dhingra (2013) e Rossi, Nagano e Tavares Neto (2016)
EXERCÍCIOS: :
J1 J2 J3 J4 J5
pj1 4 8 6 5 8
pj2 7 5 3 2 3
pj3 9 2 2 4 6
a) J1 J2 J3 J4 J5
pj1 5 4 8 2 7
pj2 3 7 6 4 5
88 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
b) J1 J2 J3 J4 J5 J6
pj1 6 2 5 8 7 2
pj2 4 1 6 7 9 5
a) J1 J2 J3 J4 b) J1 J2 J3 J4 J5
pj1 13 7 26 2 pj1 2 3 1 4 3
pj2 3 12 9 6 pj2 1 2 1 2 7
pj3 12 16 7 1 pj3 2 4 2 3 5
pj4 6 10 14 4 2
c) J1 J2 J3 J4 J5 J6
pj1 13 7 9 2 10 15
pj2 8 12 10 6 5 5
pj3 14 6 7 1 12 8
7 JOB SHOP
▪ “FÁBRICA POR ROTA” ou “OFICINA DE MÁQUINAS”
▪ Produção de volume baixo e alta variedade
▪ Processos por tarefa (job) ou lote
▪ Tarefas têm rotas distintas nas máquinas
▪ Todas as máquinas podem iniciar e terminar a rota
▪ Operação i da tarefa Jj: opij
▪ Programação = sequenciamento das operações nas máquinas (sequência + rota)
M2
... ...
M1
M3
EXEMPLO 1:
J1 J2 J3 J4 J5 J6 J7
pj1 2 6 2 5 6 4 6
pj2 5 4 3 4 7 3 5
rotas J1 J2 J3 J4 J5 J6 J7
opj1 M1 M2 M2 M1 M2 M1 M1
opj2 M2 M1 M1 M2 M1 M2 M2
J1 J4 J6 J7
pj1 2 5 4 6
pj2 5 4 3 5
Algoritmo de Johnson: J1 – J7 – J4 – J6
J2 J3 J5
pj2 (M2) 4 3 7
pj1 (M1) 6 2 6
Algoritmo de Johnson: J2 – J5 – J3
Programação ótima:
M1 (S12 + S21): J1 – J7 – J4 – J6 – J2 – J5 – J3
M2 (S21 + S12): J2 – J5 – J3 – J1 – J7 – J4 – J6
M1
M2
0 5 10 15 20 25 30 35
*
C max =
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 91
EXEMPLO 2:
J1 J2 J3 J4 J5 J6
pj1 – 5 2 – 7 5
pj2 1 – 3 4 2 –
rotas J1 J2 J3 J4 J5 J6
opj1 M2 M1 M2 M2 M1 M1
opj2 – – M1 – M2 –
Programação ótima:
M1 (S12 + S1 + S21): J5 – J2 – J6 – J3
M2 (S21 + S2 + S12): J3 – J1 – J4 – J5
M1
M2
0 5 10 15 20 25 30 35
M1
M2
0 5 10 15 20 25 30 35
*
C max =
92 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
EXEMPLO 1:
J1 J2 J3 J4 rotas J1 J2 J3 J4
pj1 4 1 3 3 op1j M1 M2 M3 M2
pj2 3 4 2 3 op2j M2 M1 M2 M3
pj3 2 4 3 1 op3j M3 M3 M1 M1
M1
M2
M3
0 5 10 15 20 25
M1 : J1 M1 : J1
M2 : M2 : J2
M3 : M3 : J3
M1 : J1 – J2
M2 : J2 – J1 – J3
M3 : J3 – J2
Programação:
a13 = 9 a31 = 9 a42 = 9 M1 : J1 – J2 – J3 – J4
programar
M1 : J1 – J2
M2 : J2 – J1 – J3 – J4
M2 : J2 – J1 – J3 M3 : J3 – J2 – J1 – J4
M3 : J3 – J2 – J1
a31 = 9 a42 = 9
programar Cmax = 16
M1 : J1 – J2 – J3
M2 : J2 – J1 – J3
M3 : J3 – J2 – J1
EXERCÍCIOS: :
a) J1 J2 J3 J4 J5 rotas J1 J2 J3 J4 J5
pj1 4 3 5 6 3 op1j M1 M2 M1 M1 M2
pj2 2 5 1 2 7 op2j M2 M1 M2 M2 M1
b) J1 J2 J3 J4 J5 rotas J1 J2 J3 J4 J5
pj1 2 4 7 3 – op1j M1 M2 M1 M2 M2
pj2 – 1 – 5 2 op2j – M1 – M1 –
94 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
c) J1 J2 J3 J4 rotas J1 J2 J3 J4
pj1 5 4 6 5 op1j M2 M1 M3 M3
pj2 1 3 2 4 op2j M1 M2 M2 M1
pj3 2 2 1 3 op3j M3 M3 M1 M2
d) J1 J2 J3 J4 rotas J1 J2 J3 J4
pj1 6 – 7 3 op1j M3 M3 M1 M1
pj2 2 4 – 2 op2j M1 M2 M3 M2
pj3 3 5 6 2 op3j M2 – – M3
2) Onze pacientes passarão por uma cirurgia executada por dois médicos, Dr. A e Dr. B.
Os pacientes 1, 2, 3 e 4 querem ser operados pelo Dr. A antes do Dr. B; já os pacientes 5,
6 e 7 exigem passar primeiro pelo Dr. B e depois pelo Dr. A. Os pacientes 8 e 9 querem a
cirurgia apenas com o Dr. A e os pacientes 10 e 11 pediram que sejam operados somente
pelo Dr. B. Os tempos de cada cirurgia (em unidades de tempo padronizadas) são dados
na tabela abaixo. Encontre uma programação para esses pacientes com a menor duração
total.
Pacientes 1 2 3 4 5 6 7 8 9 10 11
Dr. A 3 2 1 1 2 4 3 1 2 – –
Dr. B 2 1 2 1 4 8 9 – – 2 1
95 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
8 MÉTODO BRANCH-AND-BOUND
▪ solução exata (ótima)
▪ método de enumeração implícita
▪ pode ser usado heuristicamente, limitando o tempo computacional
Nível 0
P[0] problema original
com n tarefas
Nível n
n! subproblemas
’
M1 q1
M2 q2
M3 q3
b1 = q1 + p j 1 + minp j 2 + p j 3 (8.1)
j '
j '
b2 = q 2 + p j 2 + minp j 3 (8.2)
j '
j '
b3 = q3 + p j 3 (8.3)
j '
LB = maxb1, b2 , b3 (8.4)
1 k m
LB = maxmax qk + min u =h p ju
h k J j '
k −1
+ J '
j
p jk + min
J j '
m
u = k +1
p ju . (8.5)
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 97
Propriedade de dominância:
Suponha que as subsequências (1) e (2) contenham as mesmas tarefas (em
ordens diferentes). Se q 2(1) q 2(2 ) e q 3(1) q 3(2 ) , então (1) domina (2), e (2) não precisa ser
▪ Aplicada apenas a nós do mesmo nível (mesmo número de tarefas) e não podem
ser filhos do mesmo pai (sequências em ordens diferentes)
EXEMPLO 1:
J1 J2 J3 J4
pj1 3 11 7 10
pj2 4 1 9 12
pj3 10 5 13 2
P [0 ]
P8[ 3 ] P9[ 3 ]
J 1J 3 J 2 J 1J 3 J 4
LB=45 LB=39
P10[ 4 ] *
Cmax = 39
J 1J 3 J 4 J 2
EXERCÍCIOS: :
1) Adaptando o Algoritmo de Ignall e Schrage para problemas com m>3, mostre como os
limitantes inferiores (bi) poderiam ser calculados.
a) J1 J2 J3 J4
pj1 13 7 26 2
pj2 3 12 9 6
pj3 12 16 7 1
b) J1 J2 J3 J4 J5 J6
pj1 6 12 4 3 6 2
pj2 7 2 6 11 8 14
pj3 3 3 8 7 10 12
100 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
▪ Seja:
J0 uma tarefa fictícia que precede imediatamente a primeira tarefa e sucede
imediatamente a última tarefa da sequência
B um número muito grande.
1 n
min C j
n j =1
(9.1)
n
s.a X
i =0 , i j
ij = 1, j=0, 1, ..., n (9.2)
n
X
j =0 , j i
ij =1, i=0, 1, ..., n (9.3)
As restrições (9.2) e (9.3) garantem que cada tarefa tenha apenas uma
predecessora imediata e uma sucessora imediata, respectivamente. Se X ij = 1 , a
restrição (9.4) é desativada. As restrições (9.5) e (9.6) indicam o tipo das variáveis.
Relembrando: a solução ótima destes dois problemas é obtida pela regra SPT.
Esta formulação serve portanto como base para modelos de outros problemas.
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 101
n
min T
j =1
j (9.11)
(E + Tj )
n
min j (9.14)
j =1
n
min U
j =1
j (9.18)
X
j =1, j i
ij = 1, i=0, 1, ..., n (9.24)
As restrições (9.23) e (9.24) garantem que cada tarefa tenha apenas uma
predecessora imediata e uma sucessora imediata, respectivamente. As restrições (9.25)
garantem que as seleções de Xij representem uma solução viável, ou seja, uma rota
completa (com todas as tarefas). Para todos os pares da sequência, ui − u j = −1 sempre
que X ij = 1 , satisfazendo a expressão (9.25) com a estrita igualdade. Por outro lado,
quando X ij = 0 , segue que ui − u j n − 1 , satisfazendo também a restrição (9.25). A
expressão (9.26) define o makespan, considerando a soma dos tempos de setup entre os
pares de tarefas da sequência e dos tempos de processamento. As expressões (9.27)
definem o domínio das variáveis.
X
j =1, j i
ij = 1, i=0, 1, ..., n (9.30)
n n
X
i =1 j =1
ij S, S J (9.31)
n n n
Cmax = sij X ij + p j ,
i =0 j =1 j =1
(9.32)
n
Cmax − p j X jk 0 , k=1, ..., m (9.36)
j =1
(E + Tj )
n
min j (9.38)
j =1
m n
s.a X
k =1 i =0
ijk = 1, j=1, ..., n (9.39)
n
X
j =1
0 jk 1, k=1, ..., m (9.40)
n n
X ihk −
i =1, i h
X
j =1, j h
hjk =0, h=1, ..., n, k=1, ..., m (9.41)
As restrições (9.39) impõem que cada tarefa tenha uma única predecessora
imediata em uma única máquina. As restrições (9.40) garantem que cada máquina, se
usada, tenha uma única sequência de processamento. As restrições (9.41) asseguram
que cada tarefa tenha uma única sucessora imediata, com exceção da tarefa fictícia J0,
que estabelece o início e o final da sequência de processamento em uma máquina. Se
X ijk = 1 , a restrição (9.42) implica que, na máquina Mk, C j Ci + p j e se X ijk = 0 , tem-se
que C j − Ci − B , ou seja, a restrição (9.42) fica desativada. As restrições (9.45) indicam o
tipo das variáveis.
I ijk Wijk = 0
Mk Ji Jj
Mk+1 Jh Ji Jj
Whi ( k +1) = 0 I ij ( k +1)
Figura 9.1 – Relações de viabilidade para duas tarefas adjacentes no flow shop permutacional (Eq. 9.47)
I ijk Wijk
Mk Ji Jj
Mk+1 Jh Ji Jj
Whi ( k +1) = 0 I ij ( k +1) = 0
Figura 9.2 – Relações de viabilidade para duas tarefas adjacentes no flow shop permutacional (Eq. 9.48)
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 105
Relações de viabilidade:
a) Iijk + pjk + Wijk = Whi(k+1) + pi(k+1) + Iij(k+1) (9.46)
b) Se Iij(k+1) > 0 então Wijk = 0 (9.47)
Se Wijk > 0 então Iij(k+1) = 0 (9.48)
Ikl Wk(l+1)
Mk p(l+1)k
Wkl I(k+1)l
Mk+1 pl (k+1)
X
=1
j =1, j=1, ..., n (9.51)
n n
I k + p jk X j ( +1) + Wk ( +1) − Wk − p j ( k +1) X j − I ( k +1) = 0 ,
j =1 j =1
l = 1, ..., n–1, k = 1, ..., m–1 (9.52)
n m−1 n−1 n
Cmax = p jk X j1 + I m + p jm , (9.53)
j =1 k =1 =1 j =1
C jk − Cik + B(1 − X ijk ) p jk , i=1, ..., n, j=1, ..., n, k=1, ..., m (9.60)
Cik − C jk + BX ijk pik , i=1, ..., n, j=1, ..., n, k=1, ..., m (9.61)
PARTE IV – META-HEURÍSTICAS
10 PRINCIPAIS META-HEURÍSTICAS
Operadores genéticos:
Seleção: mecanismo de escolha dos pais
Cruzamento/Crossover: troca de seções dos cromossomos dos pais
Mutação: modificação aleatória do cromossomo para maior variabilidade
Exemplo de cruzamento:
Seleção aleatória de 2 pontos de cruzamento
Pai 1: 4 8 3 2 5 1 7 9 6
Pai 2: 7 2 6 1 4 3 9 5 8
Filho 1: 6 4 3 2 5 1 7 9 8
Filho 2: 8 2 5 1 4 3 9 7 6
Exemplos de mutação:
CROMOSSOMO: 8 2 5 1 4 3 9 7 6
Troca: 8 2 5 1 4 3 9 7 6 8 4 5 1 2 3 9 7 6
Migração: 8 2 5 1 4 3 9 7 6 8 2 4 5 1 3 9 7 6
Inversão: 8 2 5 1 4 3 9 7 6 8 4 1 5 2 3 9 7 6
Rearranjo aleatório: 8 2 5 1 4 3 9 7 6 8 1 4 2 5 3 9 7 6
ALGORITMO GENÉTICO
▪ “Recozimento Simulado”
▪ originalmente desenvolvido por Kirkpatrick, Gelatt e Vecchi (1983)
▪ analogia com fenômeno físico da recristalização de metais (aço)
▪ aquecimento do sistema a uma temperatura efetivamente alta e então resfriá-lo em
estágios progressivos até que não haja alteração nas características do metal
▪ parte de uma solução inicial e escolhe uma solução vizinha aplicando um operador
▪ aceita nova solução melhor e nova solução pior com probabilidade e − / T , onde Δ é
a diferença de desempenho das soluções e T a temperatura atual
▪ há também um fator de resfriamento r até um critério de parada
SIMULATED ANNEALING
BUSCA TABU
❑ Busca Local Iterativa (Iterated Local Search): processo iterativo em que uma
solução é perturbada, gerando novas soluções como partida para um método de
busca local.
PARTE V – SUPLEMENTO
EXERCÍCIOS SELECIONADOS
1) A Precision Machining realiza usinagem personalizada para seus clientes. A empresa usa
atualmente a regra de sequenciamento “primeiro a entrar, primeiro a ser atendido”. Uma vez
que a empresa quer finalizar as tarefas dos clientes mais rápido, ela está considerando duas
outras regras: menor tempo de processamento e razão crítica. A empresa acha que estes
critérios são importantes na escolha de uma regra de sequenciamento: tempo médio de fluxo,
número médio de tarefas no sistema e atraso médio das tarefas. Estude a situação da
Precision e recomende uma regra de sequenciamento.
Tarefa A B C D E F
Tempo de produção (horas) 2 5 3 4 6 4
Data de entrega prometida (horas) 4 18 8 4 20 24
2) A Sure Print Company faz trabalhos de impressão personalizados para empresas, políticos
e escolas. A Sure Print está em meio ao boom de um ano eleitoral, e inúmeros cartazes de
políticos estão esperando para ser processados na máquina de offset. Alicia Smith, que faz o
planejamento de tarefas da Sure Print, está desenvolvendo atualmente um programa de
impressão semanal para a máquina de offset. Ela desenvolveu esses custos de preparação
(setup) para seis tarefas à espera. Todas as tarefas portam igual prioridade; sendo assim, o
fator decisivo para escolher uma sequência de tarefas é o custo total de preparação para as
seis tarefas. Proponha uma sequência para ajudar Alicia Smith.
B 12 – 15 30 20 25
precedem
C 15 20 – 10 25 15
D 10 20 12 – 30 25
E 35 25 20 25 – 30
F 20 20 15 30 30 –
A empresa acaba de encerrar uma semana de férias; portanto, centros de trabalho serão
introduzidos gradualmente conforme necessário. As tarefas serão sequenciadas nesta ordem:
A – B – C – D – E. Prepare um gráfico de Gantt para a empresa que exiba os programas de
cada semana para os centros de trabalho. Você proporia outra forma de sequenciamento?
5) Seis tarefas estão aguardando para ser processadas numa estação de trabalho. Seus
códigos de tarefa, tempos estimados de produção e tempos de entrega prometidos são
apresentados na tabela seguinte.
6) Sete tarefas estão aguardando para ser processadas numa estação de trabalho. Seus
códigos de tarefas, tempos estimados de produção e os tempos de entrega prometidos são
apresentados a seguir.
Pedido do Cliente A B C D
Tempo Estimado de Produção (dias) 10 21 26 19
Tempo para a Entrega Prometida (dias) 15 30 60 77
Avalie as regras FIFO, SPT e CR em três medidas de desempenho: tempo médio de fluxo,
número de tarefas no sistema e atraso médio das tarefas.
B 75 – 91 85 85
C 90 79 – 55 65
D 60 97 87 – 95
E 42 45 75 65 –
a) Use a seguinte regra para desenvolver uma sequência de tarefas: primeiro escolha
o menor custo de preparação dentre todas as possibilidades; isso define a primeira
e a segunda tarefas. A tarefa seguinte a ser escolhida terá o menor custo de
preparação entre as tarefas restantes que sucedem a tarefa anteriormente
escolhida.
b) Qual é o custo total de preparação da sequência?
c) É possível criar uma sequência melhor?
Pedido do Cliente A B C D
Inserção do componente (horas) 6,9 7,3 5,7 2,6
Solda a fluxo (horas) 5,9 6,1 4,9 3,6
118 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
10) A Oficina de Máquinas Taylor faz a retífica de blocos de motor. Atualmente, cinco blocos
de motor estão esperando por processamento. Os problemas com os motores foram
diagnosticados e os tempos de processamento para as tarefas foram estimados. Os tempos
de conclusão esperados foram combinados com os clientes. A tabela a seguir mostra a
situação a partir de segunda-feira de manhã. Como a Oficina de Máquinas Taylor está aberta
das 8h às 17h todos os dias úteis, mais horas no fim de semana se necessário, os tempos de
entrega ao cliente são medidos em termos e horário de funcionamento a partir de segunda-
feira de manhã. Determine a programação para os motores usando:
a) Regra EDD
b) Regra SPT
Para cada regra, calcule as horas de antecipação médias, as horas de atraso, o WIP e o
estoque total. Se os tempos de fluxo das tarefas e os WIP baixos são críticos, qual regra deve
ser escolhida? (Estoque total é a soma das datas de entrega reais dividida pelo makespan.)
11) A tabela a seguir contém informações sobre um conjunto de quatro tarefas (ordens de
produção) aguardando em um torno mecânico. Várias operações, inclusive a do torno
mecânico, ainda precisam ser executadas em cada ordem. Determine a programação usando
as regras SPT, EDD, CR e FIFO (chegadas em ordem dos índices).
Tarefa 1 2 3 4
Tempo de operação no torno mecânico (horas) 2,3 10,5 6,2 6,2
Data de entrega (dias) 15 10 20 8
12) A Companhia de Máquinas Morris acabou de fazer um pedido para restaurar cinco
motores de equipamento de movimentação de materiais que foram danificados em um
incêndio. Os motores serão consertados em duas estações de trabalho da seguinte maneira:
A oficina do cliente ficará fora de operação até que todos os motores tenham sido
consertados. Desse modo, o gerente da planta está interessado em elaborar uma
programação que minimize a sua duração total. O tempo estimado para consertar cada motor
é mostrado na tabela a seguir:
Tempo (horas)
Motor M1 M2 M3 M4 M5
Estação de trabalho 1 12 4 5 15 10
Estação de trabalho 2 22 5 3 16 8
Dica: o estoque total médio é o soma dos tempos no sistema dividida pelo makespan; na tabela de
solução, faça uma coluna de “Data de entrega real”, cujo total é a soma dos tempos no sistema.
14) Os dados seguintes foram relatados pelo sistema de controle de chão de fábrica para
processamento de ordens de produção no aparador de arestas. A data atual é dia 150. O
número de operações e o trabalho total restantes incluem a operação no aparador de arestas.
Todos os pedidos estão disponíveis para processamento e nenhum foi iniciado ainda.
120 ⬧ Introdução ao Sequenciamento da Produção - Hélio Fuchigami
A gerência estima que cada operação exigirá as quantidades de tempo seguintes (em dias):
Bacia de armazenamento
Operação A B C D E F G H I J
Dragar 3 4 3 6 1 3 2 1 8 4
Incinerar 1 4 2 1 2 6 4 1 2 8
18) A oficina de máquinas da empresa Bycraft funciona 24 horas por dia e usa uma máquina
de solda controlada numericamente (CN). A carga na máquina é monitorada e não são
lançadas mais de 24 horas de trabalho para os operadores de solda em um dia. Os dados
para um conjunto típico de tarefas são mostrados na tabela a seguir. A gerência investigou
procedimentos de programação que reduziriam o estoque e aumentariam o atendimento ao
cliente na oficina. Suponha que às 8h na segunda-feira, a máquina de solda CN estivesse
ociosa.
Tarefa
A Tarefa 1 Tarefa 3
2
Tarefa
B Tarefa 2 Tarefa 3
1
0 1 2 3 4 5 6 7 8 9
a) Suponha que um requisito de itinerário seja que cada tarefa deva ser processada
primeiro na máquina A. A duração total da programação pode ser melhorada?
Nesse caso, desenhe um gráfico de Gantt com a programação aperfeiçoada. Se
não, explique por quê.
b) Suponha que a sequência de máquina não tenha nenhuma restrição de itinerário;
em outras palavras, as tarefas podem ser processadas nas máquinas em qualquer
rota. Nesse caso, a duração total da programação pode ser melhorada? Em caso
afirmativo, desenhe um gráfico de Gantt com a sua programação. Caso não possa,
explique por quê.
20) Um fabricante de velas para barcos pequenos tem um grupo de velas personalizadas
aguardando as últimas duas operações de processamento antes delas serem enviadas aos
clientes. A operação 1 deve ser executada antes da operação 2, e as tarefas têm requisitos
de tempo diferentes para cada operação. As horas requeridas são as seguintes:
Tarefa 1 2 3 4 5 6 7 8 9 10
Operação 1 1 5 8 3 9 4 7 2 4 9
Operação 2 8 3 1 2 8 6 7 2 4 1
21) A Companhia de Peças McGee está sob grande pressão para concluir um contrato
governamental para seis pedidos em 31 dias úteis. Os pedidos são de peças sobressalentes
para equipamentos de manutenção de estradas. De acordo com o contrato governamental,
uma multa por atraso de mil dólares é imposta para cada dia de atraso do pedido. Devido a
um aumento de âmbito nacional na construção de estradas, a Peças McGee recebeu muitos
pedidos de substituição de peças sobressalentes e a oficina tem ficado extremamente
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 123
ocupada. Para concluir o contrato governamental, as peças devem ter as rebarbas removidas
e tratadas com temperaturas elevadas. O gerente de controle de produção sugeriu a
programação seguinte:
Tarefa 1 2 3 4 5 6 7 8
Departamento 12 2 4 7 5 4 10 8 2
Departamento 22 3 6 3 8 2 6 6 5
a) Compare o desempenho relativo das regras FIFO, SPT, LPT, EDD, CR e MST.
b) Discuta a seleção de uma das regras para essa empresa. Que critérios você
considera mais importantes na seleção de uma regra nessa situação?
Fabricação Montagem
Preparação Tempo de Tempo de
Modelo Quantidade (h) execução execução
(h/unidade) (h/unidade)
1 200 2 0,050 0,04
2 300 3 0,070 0,10
3 100 1 0,050 0,12
4 250 2 0,064 0,60
25) Oito tarefas devem ser processadas em três máquinas na sequência M1, M2 e M3. Os
tempos de processamento (em horas) são:
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 125
Tarefa 1 2 3 4 5 6 7 8
Máquina M1 2 5 2 3 1 2 4 2
Máquina M2 4 1 3 5 5 6 2 1
Máquina M3 6 4 5 2 3 2 6 2
M1 M2 M3 Data de entrega
Tarefa (horas a partir de agora)
1 6 – 4 13
2 2 – 1 18
3 4 – 7 22
4 5 – 3 16
5 7 – 4 30
6 3 – 1 29
7 – 4 6 42
8 – 2 10 31
9 – 6 9 48
10 – 8 2 40
a) Programe esta oficina usando as seguintes regras: SPT, LPT, EDD, CR, MST e
FIFO.
b) Discuta as implicações operacionais e cada uma das programações elaboradas por
meio das regras.
REFERÊNCIAS
LIVROS DE SCHEDULING:
ALHARKAN, I.M. Algorithms for sequencing and scheduling. Riyadh: King Saud University,
2010.
BAKER, K.R. Introduction to sequencing and scheduling. New York: John Wiley & Sons, 1974.
BAKER, K.R.; TRIETSCH, D. Principles of sequencing and scheduling. New York: John Wiley
& Sons, 2009.
BLAZEWICZ, J.; ECKER, K.H.; PESCH, E.; SCHMIDT, G.; WEGLARZ, J. Handbook of
scheduling: from theory to applications. Berlin Heidlberg: Springer-Verlag, 2007.
CONWAY, R.W.; MAXWELL, W.L.; MILLER, L.W. Theory of scheduling. Reading: Addison-
Wesley, 1967.
LAWLER, E.L.; LENSTRA, J.K.; RINNOOY KAN, A.H.G.; SHMOYS, D.B. Sequencing and
scheduling: algorithms and complexity. Amsterdam, 1989.
LEUNG, J.Y.-T. Handbook of scheduling: algorithms, models, and performance analysis. Boca
Raton: Chapman & Hall/CRC, 2004.
MORTON, T.E.; PENTICO, D.W. Heuristic scheduling systems: with applications to production
systems and project management. New York: John Wiley & Sons, 1993.
PINEDO, M. Planning and scheduling in manufacturing and services. New York: Springer,
2009. 2ª ed.
PINEDO, M. Scheduling: theory, algorithms and systems. New Jersey: Prentice-Hall, 2012. 4ª ed.
RÍOS-MERCADO, R.Z.; RÍOS-SOLÍS, Y.A. Just-in-time systems. New York: Springer, 2012.
CAMPBELL, H.G.; DUDEK, R.A.; SMITH, M.L. A heuristic algorithm for the n job m machine
sequencing problem. Management Science, Rhode Island, v. 16, p. B630-637, 1970.
CHEN, B. Parallel scheduling for early completion. In: LEUNG, J. Y. T. Handbook of scheduling:
algorithms, models, and performance analysis. Boca Raton: Champan & Hall/CRC, 2004.
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 127
DONG, X.; HUANG, H.; CHEN, P. An improved NEH-based heuristic for the permutation flowshop
problem. Computers & Operations Research, v. 35, p. 3962-3968, 2008.
FERNANDEZ-VIAGAS, V.; FRAMINAN, J.M. On insertion tie-breaking rules in heuristics for the
permutation flowshop scheduling problem. Computers & Operations Research, v. 45, p. 60-67,
2014.
GLOVER, F. First comprehensive description of tabu search, “Tabu Search — Part I”. ORSA
Journal on Computing, v. 1, n. 3, p. 190-206, 1989.
GLOVER, F. The second part of this comprehensive description of tabu search introduces
additional mechanisms such as the reverse elimination method, “Tabu Search — Part II”. ORSA
Journal on Computing, v. 2, n. 1, p. 4-32, 1990.
GUPTA, J.N. A functional heuristic algorithm for the flowshop scheduling problem. Operational
Research Quarterly, v. 22, n. 1, p. 39-47, 1971.
HO, J.C.; CHANG, Y.-L. A new heuristic for the n-job, mmachine flow-shop problem. European
Journal of Operational Research, v. 52, p. 194-202, 1991.
HODGSON, T.J. A note on single machine sequencing with random processing times.
Management Science, v. 23, n. 10, p. 1144-1146, 1977.
HOLLAND, J. H. Adaptation in Natural and Artificial Systems. Ann Arbor, MI: The University of
Michigan Press, 1976.
HUNDAL, T.S.; RAJGOPAL, J. An extension of Palmer’s heuristic for the flow shop scheduling
problem. International Journal of Production Research, v. 26, n. 6, p. 1119-1124, 1988.
IGNALL, E.; SCHRAGE, L. Application of the branch and bound technique to some flow-shop
scheduling problems. Operations Research, v. 13, n. 3, p. 400-412, 1965.
JACKSON, J.R. An extension of Johnson’s results on job lot scheduling. Naval Research
Logistics Quarterly, v. 3, p. 201-203, 1956.
JOHNSON, S.M. Optimal two- and three-stage production schedules with setup times included.
Naval Research Logistics Quarterly, v. 1, p. 61-68, 1954.
KALCZYNSKI, P.J.; KAMBUROWSKI, J. On the NEH heuristic for minimizing the makespan in
permutation flowshop. Omega, v. 35, p. 53-60, 2007.
KIRKPATRICK, S.; GELATT, D.C.; VECCHI, M.P. Optimization by simulated annealing. Science,
v. 220, p. 671-680, 1983.
KOULAMAS, C.. A new constructive heuristic for the flowshop scheduling problem. European
Journal of Operational Research Society, v. 105, p. 66-71, 1998.
KRUGER, D.; DE WIT, P.; RAMDASS, K. Operations Management. Southern Africa: Oxford
University Press, 2005.
LIU, G.; SONG, S.; WU, C. Two techniques to improve the NEH algorithm for flow-shop scheduling
problems. Advanced Intelligent Computing Theories and Applications: with aspects of artificial
intelligence, v. 6839, p. 41-48, 2011.
MALIK, A.; DHINGRA, A.K. Comparative analysis of heuristics for makespan minimising in flow
shop scheduling. International Journal of Innovations in Engineering and Technology, v. 2, n.
4, p. 263-269, 2013.
NAGANO, M.S.; BRANCO, F.J.C.; MOCCELLIN, J.V. Soluções de alto desempenho para a
programação da produção flow shop. GEPROS, p. 11-23, 2009.
NAGANO, M.S.; MOCCELLIN, J.V. A high quality solution constructive heuristic for flow shop
sequencing. Journal of the Operational Research Society, v. 53, p. 1374-1379, 2002.
NAWAZ, M.; ENSCORE JR., E.E.; HAM, I. A heuristic algorithm for the m-machine n-job flow-shop
sequencing problem. OMEGA – The International Journal of Management Science, v. 11, n. 1,
p. 91-95, 1983.
NEARCHOU, A.C. Flowshop sequencing using hybrid simulated annealing. Journal of Intelligent
Manufacturing, v. 15, p. 317-328, 2004.
PAGE, E.S. An approach to the scheduling of jobs on machines. Journal of the Royal Statistical
Society, B Series, v. 23, n. 2, p. 484-492, 1961.
PALMER, D. Sequencing jobs through a multi-stage process in the minimum total time - a quick
method of obtaining a near optimum. Operational Research Quarterly, v. 16, n. 1, p. 101-107,
1965.
PARK, Y.B.; PEGDEN, C.D.; ENSCORE, E.E. A survey and evaluation of static flowshop
scheduling heuristics. International Journal of Production Research, v. 22, n. 1, p. 127-141,
1984.
POUR, H.D. A new heuristic for the n-job, m-machine flow-shop problem. Production Planning
and Control, v. 12, n. 7, p. 648-653, 2001.
Introdução ao Sequenciamento da Produção - Hélio Fuchigami ⬧ 129
RAD, S.F.; RUIZ, R.; BOROOJERDIAN, N. New high performing heuristics for minimizing
makespan in permutation flowshops. Omega, v. 37, p. 331-345, 2009.
REEVES, C.R. A genetic algorithm for flowshop sequencing. Computers & Operations
Research, Oxford, v. 22, n. 1, p. 5-13, 1995.
RIBAS, I.; COMPANYS, R.; TORT-MARTORELL, X. Comparing three-step heuristics for the
permutation flow shop problem. Computers & Operations Research, v. 37, p. 2062-2070, 2010.
ROCHA, M.N.; RAGGI, L.A.; SANTOS, H.N. Pesquisa Operacional I. Universidade Federal de
Viçosa, Departamento de Informática, 2005.
ROSSI, F.L.; NAGANO, M.S.; TAVARES NETO, R.F. Evaluation of high performance constructive
heuristics for the flow shop with makespan minimization. The International Journal of Advanced
Manufacturing Technology, p. 1-12, 2016.
SIMONS JR., J.V. Heuristics in flow shop scheduling with sequence dependent setup times.
OMEGA – International Journal of Management Science, v. 20, n. 2, p. 215-225, 1992.
STINSON, J.P.; SMITH, A.W. A heuristic programming procedure for sequencing the static
flowshop. International Journal of Production Research, v. 20, n. 6, p. 753-764, 1982.
TAHA, H.A. Pesquisa Operacional: uma visão geral. São Paulo: Pearson Prentice Hall, 2008. 8ª
ed.
TANG, H.-C. Experimental comparison of heuristics for flow shop scheduling. Journal of
Information and Optimization Sciences, v. 23, n. 2, p. 313-321, 2002.
TUBINO, D.F. Manual de Planejamento e Controle da Produção. São Paulo: Atlas, 2006. 2ª ed.
VASILJEVIC, D.; DANILOVIC, M. Handling ties in heuristics for the permutation flow shop
scheduling problem. Journal of Manufacturing Systems, v. 35, p. 1-9, 2015.
YING, K.-C.; LIN, S.-W. A high-performing constructive heuristic for minimizing makespan in
permutation flowshops. Journal of Industrial and Production Engineering, v. 30, n. 6, p. 355-
362, 2013.
YOON, S.H.; LEE, I.S. New constructive heuristics for the total weighted tardiness problem.
Journal of the Operational Research Society, v. 62, p. 232-237, 2011.