CENTRO DE INFORM ´
ATICA
PROGRAMA DE P ´
OS-GRADUA ¸
C ˜
AO EM INFORM ´
ATICA
KATYANNE FARIAS DE ARA´
UJO
FORMULA ¸
C ˜
OES MATEM ´
ATICAS PARA O PROBLEMA DE SEQUENCIAMENTO
DE LOTES COM PENALIDADES POR ATRASO
FORMULA ¸
C ˜
OES MATEM ´
ATICAS PARA O PROBLEMA DE SEQUENCIAMENTO
DE LOTES COM PENALIDADES POR ATRASO
Disserta¸c˜ao apresentada ao Programa de
P´os-Gradua¸c˜ao em Inform´atica do
Cen-tro de Inform´atica da Universidade
Fe-deral da Para´ıba, como requisito parcial
para obten¸c˜ao do Grau de Mestre em
In-form´atica.
Orientador: Prof. Dr. Anand Subramanian
A663f Araújo, Katyanne Farias de.
Formulações matemáticas para o problema de
sequenciamento de lotes com penalidades por atraso /
Katyanne Farias de Araújo.- João Pessoa, 2016.
190f. : il.
Orientador: Anand Subramanian
Dissertação (Mestrado) - UFPB/CI
1. Informática. 2. Processamento em lotes.
3. Sequenciamento. 4. Atraso ponderado. 5. Formulação
matemática.
la force sans la justice est tyrannique.”
Ao professor e “coorientador” Artur Pessoa, por todo conhecimento transmitido e
pela aten¸c˜ao fornecida ao longo do desenvolvimento deste trabalho.
Ao professor Anand Subramanian, pela orienta¸c˜ao e pelos conhecimentos
transmi-tidos ao longo da minha trajet´oria acadˆemica.
A minha fam´ılia, em especial a minha m˜ae Angela Farias, meu tio ´
Alvaro Farias e
minha irm˜a Kelyanne Farias, pelo apoio, compreens˜ao e s´abios conselhos.
O problema de sequenciamento de lotes da produ¸c˜ao em uma m´aquina,
compro-vadamente tido como
N P
-dif´ıcil, consiste na defini¸c˜ao do agrupamento de tarefas em lotes
e da sequˆencia em que estes ser˜ao processados em uma m´aquina. Cada tarefa est´a
asso-ciada a uma data de libera¸c˜ao, um tempo de processamento, uma data de entrega, um
n´ıvel de prioridade em rela¸c˜ao `as demais, e um tamanho. A m´aquina ´e capaz de processar
um conjunto de tarefas (lote) simultaneamente, contanto que a soma dos tamanhos das
tarefas pertencentes ao referido lote respeite a capacidade da m´aquina. Cada tarefa deve
ser processada apenas uma vez e somente um lote ´e processado por vez na m´aquina. Neste
trabalho, considera-se como objetivo a minimiza¸c˜ao do total de atrasos ponderados, onde
o atraso de uma tarefa ´e igual ao seu tempo de t´ermino menos a sua data de entrega,
caso o processamento da tarefa seja finalizado ap´os a sua data da entrega e, portanto, em
atraso, e ´e igual a zero, caso contr´ario. Na literatura, este problema ´e geralmente
referen-ciado como 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. Quando todas as tarefas est˜ao dispon´ıveis para
serem processadas no instante de tempo zero, o problema ´e usualmente representado por
1
|
batch, s
j, compt
|
P
w
jT
j. Estes s˜ao problemas ainda pouco investigados na literatura
e, al´em disso, abordam uma grande quantidade de variantes. Existem poucos trabalhos
envolvendo a aplica¸c˜ao de m´etodos exatos para a resolu¸c˜ao de ambos. Apenas uma
for-mula¸c˜ao matem´atica foi identificada na literatura para estes problemas. Dessa forma,
quatro formula¸c˜oes matem´aticas com vari´aveis indexadas no tempo foram desenvolvidas
para resolver os problemas mencionados anteriormente, das quais uma ´e capaz de tratar de
ambos os problemas. Os resultados alcan¸cados por meio dos modelos desenvolvidos foram
comparados entre si e com os resultados do modelo dispon´ıvel na literatura. Tais
resulta-dos computacionais demonstram que dois resulta-dos modelos propostos obtiveram desempenho
superior tanto em termos de qualidade da solu¸c˜ao, em especial em rela¸c˜ao aos limites
in-feriores alcan¸cados, quanto em n´
umeros de n´os abertos e quantidade de solu¸c˜oes ´otimas
comprovadas.
The problem of scheduling on a single machine, proven to be
N P
-hard, consists of
defining the job grouping in batches and of the sequence in which these batches will be
processed on a machine. Each job is associated with a release date, a processing time, a
due date, a priority level in relation to the others and a size. The machine is able to process
a group of jobs (batch) simultaneously, provided that the sum of the job sizes belonging to
the referred batch does not exceed the machine capacity. Each job must be processed only
once and only one batch is processed at a time on the machine. In this work, we consider
the objective as the minimization of total weighted tardiness, where the tardiness of a job
is the difference between its completion time and its due date, in case the job processing
is finished after its due date and hence is late, or equals zero, otherwise. In the literature,
this problem is usually referred to as 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. When all jobs are
available to be processed at time zero, the problem is usually represented as 1
|
batch, s
j,
compt
|
P
w
jT
j. These problems are still poorly explored in the literature and in addition,
cover a large number of variant forms. There are few studies involving the application of
exact methods for solving both. Only one mathematical formulation was identified in the
literature for these problems. Hence, four time-indexed formulations were developed to
solve the aforementioned problems, one of which is capable of dealing with both problems.
The results achieved by the developed models were compared between themselves and with
the results of the model available in the literature. These computational results reveal that
two of the proposed models obtained higher performance both in terms of quality of the
solution, particularly regarding the achieved lower bounds, and in numbers of open nodes
and of proven optimal solutions.
SUM ´
ARIO
1
INTRODU ¸
C ˜
AO
15
1.1
DEFINI ¸
C ˜
AO DO TEMA . . . .
15
1.2
JUSTIFICATIVA . . . .
19
1.3
OBJETIVOS . . . .
21
1.3.1
Objetivo Geral . . . .
21
1.3.2
Objetivos Espec´ıficos . . . .
21
1.4
ESTRUTURA DO TRABALHO . . . .
22
2
FUNDAMENTA ¸
C ˜
AO TE ´
ORICA E DESCRI ¸
C ˜
AO DO PROBLEMA
23
2.1
ESCALONAMENTO DA PRODU ¸
C ˜
AO . . . .
23
2.1.1
Configura¸c˜ao da(s) M´aquina(s) . . . .
25
2.1.2
Caracter´ısticas das Tarefas . . . .
26
2.1.3
Fun¸c˜ao Objetivo . . . .
28
2.2
PROBLEMA ABORDADO . . . .
29
3
TRABALHOS RELACIONADOS
32
3.1
FAM´ILIAS DE TAREFAS COMPAT´IVEIS
. . . .
32
3.1.1
Tamanhos de Tarefas Idˆenticos . . . .
33
3.1.2
Tamanhos de Tarefas Distintos . . . .
41
3.1.3
Capacidade Ilimitada . . . .
46
3.2
FAM´ILIAS DE TAREFAS INCOMPAT´IVEIS . . . .
49
3.2.1
Tamanhos de Tarefas Idˆenticos . . . .
50
3.2.2
Tamanhos de Tarefas Distintos . . . .
53
3.2.3
Capacidade Ilimitada . . . .
55
4
ASPECTOS METODOL ´
OGICOS
58
4.1
Formula¸c˜ao Matem´atica I (Chou e Wang, 2008) . . . .
59
4.4
Formula¸c˜ao Matem´atica IV . . . .
64
4.5
Formula¸c˜ao Matem´atica V . . . .
66
5
RESULTADOS
72
5.1
Grupo de Instˆancias . . . .
73
5.2
Resultados do Problema 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. . . .
74
5.2.1
Capacidade da M´aquina Igual a 20 . . . .
75
5.2.2
Capacidade da M´aquina Igual a 40 . . . .
80
5.2.3
S´ıntese dos Resultados de 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. . . .
81
5.3
Resultados do Problema 1
|
batch, s
j, compt
|
P
w
jT
j. . . .
86
5.3.1
Capacidade da M´aquina Igual a 20 . . . .
86
5.3.2
Capacidade da M´aquina Igual a 40 . . . .
91
5.3.3
S´ıntese dos Resultados de 1
|
batch, s
j, compt
|
P
w
jT
j. . . .
95
6
CONCLUS ˜
AO
97
A Apˆ
endice
110
A.1 Resultados por instˆancia do 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. . . 110
A.1.1 Capacidade igual a 20 . . . 110
A.1.2 Capacidade igual a 40 . . . 126
A.2 Resultados por instˆancia do 1
|
batch, s
j, compt
|
P
w
jT
j. . . 142
A.2.1 Capacidade igual a 20 . . . 142
1.1
Exemplo de uma solu¸c˜ao do 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. . . .
18
4.1
Representa¸c˜ao de uma solu¸c˜ao vi´avel . . . .
67
4.2
Solu¸c˜oes vi´aveis utilizando
F.IV
. . . .
67
4.3
Representa¸c˜ao de solu¸c˜oes vi´aveis . . . .
70
LISTA DE TABELAS
1.1
Exemplo de uma instˆancia do 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. . . .
17
3.1
Resumo dos trabalhos com
compt,
Q < n,
s
j=
cte,
∀
j
∈
J
. . . .
41
3.2
Resumo dos trabalhos com
compt,
Q < n,
s
jdistintos,
∀
j
∈
J
. . . .
47
3.3
Resumo dos trabalhos com
compt
e
Q
≥
n
. . . .
49
3.4
Resumo dos trabalhos com
incompt,
Q < n
e
s
j=
cte,
∀
j
∈
J
. . . .
53
3.5
Resumo dos trabalhos com
incompt,
Q < n,
s
jdistintos,
∀
j
∈
J
. . . .
55
3.6
Resumo dos trabalhos com
incompt
e
Q
≥
n
. . . .
57
4.1
Dados do exemplo . . . .
66
5.1
Distribui¸c˜ao dos Parˆametros . . . .
73
5.2
Grupos de instˆancias por configura¸c˜ao . . . .
73
5.3
Resultados de instˆancias“pequenas”para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . .
77
5.4
Resultados de instˆancias “m´edias” para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . .
78
5.5
Resultados de instˆancias “grandes” para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . .
79
5.6
Resultados de instˆancias“pequenas”para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . .
82
5.7
Resultados de instˆancias “m´edias” para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . .
83
5.8
Resultados de instˆancias “grandes” para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . .
84
5.9
M´edias por tamanho de instˆancia para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. . . .
85
20 . . . .
89
5.12 Resultados de instˆancias “grandes” para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . .
90
5.13 Resultados de instˆancias “pequenas” para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . .
92
5.14 Resultados de instˆancias “m´edias” para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
=
40 . . . .
93
5.15 Resultados de instˆancias “grandes” para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . .
94
5.16 M´edias por tamanho de instˆancia para 1
|
batch, s
j, compt
|
P
w
jT
j. . . .
96
A.1 Resultados de
F
1 para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 110
A.2 Resultados de
F
2 para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 118
A.3 Resultados de
F
4 para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 119
A.4 Resultados de
F
1 para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . 126
A.5 Resultados de
F
2 para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . 134
A.6 Resultados de
F
4 para 1
|
batch, r
j, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . 135
A.7 Resultados de
F
1 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 142
A.8 Resultados de
F
3 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 150
A.9 Resultados de
F
4 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 153
A.10 Resultados de
F
5 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 20 . . . 159
A.11 Resultados de
F
1 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . 168
A.12 Resultados de
F
3 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . 176
A.13 Resultados de
F
4 para 1
|
batch, s
j, compt
|
P
w
jT
j, com
Q
= 40 . . . 177
LISTA DE ABREVIA ¸
C ˜
OES
ACO
Ant Colony Optimization
AG
Algoritmo Gen´etico
ARB
Attribute Ratio of Batch
BATC
Batch Apparent Tardiness Cost
ATC
Apparent Tardiness Cost
BFF
Batch First-Fit
B&B
Branch-and-Bound
B&P
Branch-and-Price
DH
Decomposition Heuristic
EDD
Earliest Due Date
FF
First Fit
FBLPT
Full Batch Largest Processing Time
GC
Gera¸c˜ao de Colunas
ILS
Iterated Local Search
JIT
Just-In-Time
LB
Lower Bound
LPT
Longest Processing Time
MBS
Minimum Batch Sized
MARB
Minimum Attribute Ratio of Batch
OC
Otimiza¸c˜ao Combinat´oria
PO
Pesquisa Operacional
PD
Programa¸c˜ao Dinˆamica
PI
Programa¸c˜ao Inteira
PIM
Programa¸c˜ao Inteira Mista
PSH
Pairwise Swapping Heuristic
PLI
Programa¸c˜ao Linear Inteira
PLIM
Programa¸c˜ao Linear Inteira Mista
PBR
Population-Based Reasoning
RL
Relaxa¸c˜ao Linear
1.1 DEFINI ¸
C ˜
AO DO TEMA
O escalonamento da produ¸c˜ao ´e um problema de Otimiza¸c˜ao Combinat´oria (OC)
amplamente estudado na literatura. Trata-se da aloca¸c˜ao de atividades a recursos,
po-dendo se referir, segundo Pinedo (2008), a decolagens e aterrizagens em uma pista de um
aeroporto, enfermeiras em setores do hospital, aloca¸c˜ao de opera¸c˜oes de um processo de
produ¸c˜ao a m´aquinas, entre outros. Quando apenas um recurso ´e considerado, como por
exemplo a utiliza¸c˜ao de exatamente uma m´aquina, alguns autores denominam o problema
de
sequenciamento
da produ¸c˜ao.
Dentre os principais problemas de escalonamento estudados, est˜ao:
job shop
,
flow
shop
,
open shop
, sequenciamento em uma m´aquina, escalonamento em m´aquinas paralelas,
entre outros. Alguns desses problemas s˜ao descritos brevemente na Se¸c˜ao 2.1. A
depen-der das caracter´ısticas do sistema produtivo, particularidades s˜ao inclu´ıdas ao problema
considerado e, consequentemente, s˜ao identificadas diversas variantes. Uma caracter´ıstica
poss´ıvel de ser considerada ´e a penalidade por atraso, com a imposi¸c˜ao de prioridades
distintas para cada tarefa/atividade.
O problema de sequenciamento da produ¸c˜ao com penalidades por atraso pode ser
definido da seguinte forma: sendo
J
=
{
1, ..., n
}
o conjunto de
n
tarefas a serem processadas
em uma m´aquina, de modo que apenas uma tarefa pode ser processada por vez. Cada
tarefa possui um determinado tempo de processamento
p
j, um certo n´ıvel de prioridade
w
je uma data de entrega
d
j. Al´em disso, pode-se considerar um tempo de in´ıcio
r
ja
a sequˆencia que minimize o total de atrasos ponderados, onde o atraso de uma tarefa ´e
igual ao seu tempo de t´ermino menos a data de entrega, caso essa tarefa termine de ser
processada ap´os a sua data de entrega, e ´e igual a zero caso contr´ario. Dessa forma, s˜ao
definidos os tempos de in´ıcio de processamento de cada tarefa, obtendo a ordem em que as
tarefas ser˜ao executadas. Em problemas de sequenciamento, diversos objetivos podem ser
considerados, como a minimiza¸c˜ao do tempo de t´ermino da ´
ultima tarefa (
makespan
), a
minimiza¸c˜ao do n´
umero de tarefas completadas ap´os seu prazo de entrega, a minimiza¸c˜ao
da soma dos atrasos das tarefas, etc.
Buscando reduzir os custos da produ¸c˜ao, uma segunda caracter´ıstica pode ser
in-corporada ao problema. Trata-se do processamento simultˆaneo de um conjunto de tarefas
em uma m´aquina, denominado lote, o qual geralmente torna mais barato e/ou r´apido o
processamento da totalidade das tarefas. Uma descri¸c˜ao do processamento em lotes ´e
encontrada em Pinedo (2008). Desse modo, cada tarefa
j
∈
J
possui um tamanho
s
je
o conjunto de tarefas processadas simultaneamente n˜ao deve exceder a capacidade
Q
da
m´aquina, ou seja, a soma dos
s
jdas tarefas processadas no lote deve ser menor ou igual `a
Q.
De acordo com Potts e Kovalyov (2000), todas as tarefas pertencentes a um
deter-minado lote iniciam e concluem seu processamento no mesmo instante de tempo. Portanto,
o tempo de processamento
p(B
i) de um lote
i
´e igual ao maior tempo de processamento
dentre o de todas as tarefas pertencentes ao lote, pois uma tarefa s´o se torna dispon´ıvel
quando o processamento de todas as tarefas do lote ao qual ela pertence for finalizado. Da
mesma forma, a data de libera¸c˜ao
r(B
i) de um lote ´e igual a maior dentre as das tarefas
do referido lote, j´a que as tarefas alocadas em um determinado lote n˜ao podem iniciar o
processamento simultaneamente sem que isso seja permitido para todas elas.
S´o ´e permitido processar um lote por vez na m´aquina. Sendo assim, seu tempo
de t´ermino ´e definido como sendo
C(B
i) =
max
{
r(B
i);
C(B
i−1)}
+
p(B
i). Logo, uma
tarefa
j
pertencente ao lote
i
possui como tempo de t´ermino
C
j=
C(B
i). O atraso dessa
tarefa ´e definido como sendo
T
j=
max
{
C
j−
d
j; 0
}
. Quando o objetivo considerado ´e a
desse problema ´e determinar os lotes de tarefas e sequenci´a-los, visando a minimiza¸c˜ao do
P
w
jT
j.
Neste problema, restri¸c˜oes adicionais podem ser consideradas definindo conjuntos
de tarefas as quais podem ser processadas simultaneamente, denominados fam´ılias de
tare-fas. Tarefas pertencentes a fam´ılias distintas s˜ao ditas incompat´ıveis. Como exposto por
M¨onch et al (2011), nesta configura¸c˜ao, apenas as tarefas que pertencem `a mesma fam´ılia
podem ser processadas simultaneamente, contanto que respeite a capacidade m´axima da
m´aquina. Entretanto, a existˆencia de tarefas incompat´ıveis e a determina¸c˜ao de fam´ılias de
tarefas n˜ao s˜ao consideradas no problema tratado neste trabalho. A caracter´ıstica de
in-compatibilidade de tarefas em fam´ılias distintas ´e normalmente referenciada como
incompt,
enquanto que a inexistˆencia de incompatibilidade de tarefas ´e indicado por
compt.
Este trabalho aborda o problema de sequenciamento de lotes em uma m´aquina,
com tarefas compat´ıveis, tamanhos de tarefas distintos e a existˆencia de datas de libera¸c˜ao
diferentes de zero, visando minimizar o atraso ponderado total. Dessa forma, segundo a
nomenclatura proposta por Graham et al (1979), o problema abordado neste trabalho pode
ser representado por 1
|
batch, r
j, s
j, compt
|
P
w
jT
j. Visando tornar mais claro o
entendi-mento deste problema, ´e apresentada na Tabela 1.1 uma instˆancia pequena, com apenas
10 tarefas, em que a capacidade da m´aquina ´e igual a 10. A Figura 1.1 ilustra uma solu¸c˜ao
vi´avel desta instˆancia, em que as tarefas est˜ao agrupadas e sequenciadas em 3 lotes.
Tabela 1.1: Exemplo de uma instˆancia do 1
|
batch, r
j, s
j, compt
|
P
w
jT
jj
r
jp
js
jd
jw
j1
3
4
4
14
2
2
3
4
3
9
3
3
2
6
3
11
5
4
11
8
1
22
1
5
6
7
2
16
4
6
4
5
2
13
2
7
12
4
3
23
3
8
10
8
3
19
1
9
5
3
4
19
5
10
15
5
2
16
1
Figura 1.1: Exemplo de uma solu¸c˜ao do 1
|
batch, r
j, s
j, compt
|
P
w
jT
jsemelhante, a data de libera¸c˜ao de um lote ´e a maior dentre as das tarefas que fazem parte
do lote. Logo,
r(B1) = 4,
r(B2) = 6 e
r(B3) = 15. Consequentemente, o primeiro lote
finalizar´a seu processamento em
C(B1) = 10, o segundo lote em
C(B2) = 17 e, por fim, o
tempo de t´ermino do ´
ultimo lote ´e igual a
C(B3) = 25.
Como as tarefas de um determinado lote se tornam dispon´ıveis apenas quando o
processamento do lote for finalizado, o tempo de t´ermino de uma tarefa ´e igual ao tempo
de t´ermino do lote no qual a tarefa est´a alocada. Tendo em vista que, neste trabalho,
considera-se como fun¸c˜ao objetivo a minimiza¸c˜ao do atraso ponderado total, na solu¸c˜ao
vi´avel apresentada, o valor da fun¸c˜ao objetivo ´e dado por:
P
1≤j≤10
w
j(max
{
C
j−
d
j,
0
}
),
ou ainda, 2(max
{
17
−
14,
0
}
) + 3(max
{
10
−
9,
0
}
) + 5(max
{
10
−
11,
0
}
) + 1(max
{
25
−
22,
0
}
) + 4(max
{
17
−
16,
0
}
) + 2(max
{
10
−
13,
0
}
) + 3(max
{
25
−
23,
0
}
) + 1(max
{
25
−
19,
0
}
) + 5(max
{
17
−
19,
0
}
) + 1(max
{
25
−
16,
0
}
). O custo desta solu¸c˜ao ´e, portanto, igual
a 37.
Os autores destacam que para determinar uma solu¸c˜ao ´otima, pode-se enumerar todas as
poss´ıveis solu¸c˜oes; entretanto, para instˆancias de tamanho moderado, um n´
umero elevado
de solu¸c˜oes pode inviabilizar sua enumera¸c˜ao completa.
Em problemas de minimiza¸c˜ao, a solu¸c˜ao ´otima ser´a dada pela escolha das vari´aveis
que forne¸ca o menor valor poss´ıvel para a fun¸c˜ao objetivo, de forma que as restri¸c˜oes n˜ao
sejam violadas. Nestes m´etodos, limites inferiores e superiores podem ser obtidos quando
utilizado um crit´erio de parada, como por exemplo um intervalo de tempo m´aximo de
execu¸c˜ao, e a execu¸c˜ao do modelo ´e interrompida sem que tenha sido necessariamente
encontrada uma solu¸c˜ao comprovadamente ´otima.
Este trabalho prop˜oe diferentes formula¸c˜oes matem´aticas para o problema de
se-quenciamento de lotes com penalidades por atraso, considerando datas de libera¸c˜ao,
tama-nhos diferentes de tarefas e tendo como objetivo minimizar a soma dos atrasos ponderados.
1.2 JUSTIFICATIVA
´
E not´avel o impacto do sequenciamento da produ¸c˜ao, tanto nos sistemas de
manufa-tura quanto de servi¸cos, e sua influˆencia direta no prazo de entrega acordado com os clientes
e no custo final dos produtos. Consequentemente, encontrar solu¸c˜oes eficientes para os
problemas de sequenciamento constitui um importante diferencial econˆomico. Tendo em
vista o exposto, ´e cada vez mais comum a aplica¸c˜ao de t´ecnicas modernas de
gerenci-amento para a resolu¸c˜ao desses problemas. Somado a isso, a utiliza¸c˜ao de ferramentas
computacionais no aux´ılio `a tomada de decis˜ao podem garantir e facilitar a obten¸c˜ao em
tempo h´abil de solu¸c˜oes satisfat´orias.
dos materiais a serem processados; entre outros.
A fabrica¸c˜ao de itens em grande quantidade e/ou a existˆencia de etapas iguais na
produ¸c˜ao de itens distintos tornam poss´ıvel a realiza¸c˜ao de atividades da fabrica¸c˜ao por
meio de lotes de produ¸c˜ao. A fabrica¸c˜ao de lotes gera, normalmente, uma redu¸c˜ao do
custo e do tempo total de processamento, quando comparado a fabrica¸c˜ao individual de
itens. Um dos problemas que motivou o estudo acerca do sequenciamento de lotes da
produ¸c˜ao diz respeito `a fabrica¸c˜ao de semicondutores, especificamente no sequenciamento
da etapa de queima no forno. A fase final da produ¸c˜ao de circuitos integrados ´e a opera¸c˜ao
de queima, na qual os
chips
s˜ao alocados em placas e, em seguida, estas s˜ao colocadas em
um forno e expostas a altas temperaturas. O objetivo da opera¸c˜ao de queima ´e sujeitar os
chips
ao estresse t´ermico por um longo per´ıodo de tempo, a fim de visualizar os defeitos
latentes. Esse problema e algumas de suas variantes foram abordados por Uzsoy et al
(1992, 1994).
Outro exemplo pr´atico se refere ao problema de entrega com um ´
unico ve´ıculo, como
descrito em Ikura e Gimple (1986). Apenas um ve´ıculo ´e usado para transportar itens
(tare-fas) de um local de coleta A para um ponto de entrega B. Os itens chegam dinamicamente
no ponto A em hor´arios fixos, ou seja, com datas de libera¸c˜ao pr´e-determinadas, possuindo
cada item uma data ideal para ser entregue no ponto B. O ve´ıculo tem uma capacidade
referente ao n´
umero m´aximo de itens que podem ser transportados por vez e um intervalo
de tempo fixo ´e necess´ario para realizar o percurso de ida e volta entre A e B. A finalidade
´e determinar os itens transportados em cada percurso e a sequˆencia de viagens do ve´ıculo,
visando minimizar o tempo de t´ermino.
De acordo com Lopez e Roubellat (2008), alguns desses problemas pertencem `a
classe
N P
-dif´ıcil e, apesar de ser relativamente simples formular problemas como esse,
nem sempre ´e poss´ıvel resolver instˆancias de dimens˜oes maiores por meio de m´etodos
exatos. O problema de sequenciamento de lotes da produ¸c˜ao abordado neste trabalho ´e
considerado
N P
-dif´ıcil, por incluir como caso especial o problema 1
|
batch, compt
|
P
w
jT
j,
exatos desenvolvidos para a resolu¸c˜ao desse problema.
Por esse motivo, optou-se por elaborar diferentes modelos matem´aticos
relativa-mente eficientes, com o intuito de resolver instˆancias de pequeno porte, bem como
determi-nar limites inferiores para instˆancias maiores. Com base no exposto, esse trabalho pretende
desenvolver formula¸c˜oes matem´aticas para o problema 1
|
batch, r
j, s
j, compt
|
P
w
jT
j.
1.3 OBJETIVOS
1.3.1 Objetivo Geral
Desenvolver diferentes formula¸c˜oes matem´aticas para o problema de
sequencia-mento de lotes em uma m´aquina, com fam´ılia de produtos compat´ıveis, tamanhos de
tarefas distintos e datas de libera¸c˜ao, com o objetivo de minimizar o atraso ponderado
total.
1.3.2 Objetivos Espec´ıficos
•
Realizar revis˜ao da literatura sobre o problema abordado, englobando trabalhos que
consideram restri¸c˜oes de fam´ılias de tarefas incompat´ıveis.
•
Identificar instˆancias dispon´ıveis na literatura.
•
Identificar formula¸c˜oes matem´aticas existentes na literatura para o problema tratado.
•
Desenvolver formula¸c˜oes matem´aticas distintas.
•
Implementar e validar as formula¸c˜oes propostas.
•
Implementar formula¸c˜oes matem´aticas dispon´ıveis na literatura, em caso de
consi-dera¸c˜ao de instˆancias diferentes.
•
Comparar os resultados obtidos pelas formula¸c˜oes desenvolvidas entre os mesmos,
como tamb´em com os resultados dispon´ıveis ou obtidos por formula¸c˜oes existentes
na literatura.
1.4 ESTRUTURA DO TRABALHO
Neste cap´ıtulo s˜ao apresentados alguns conceitos e defini¸c˜oes relacionados ao
pro-blema de escalonamento da produ¸c˜ao. Em seguida, s˜ao especificadas as caracter´ısticas do
problema abordado neste trabalho.
2.1 ESCALONAMENTO DA PRODU ¸
C ˜
AO
De acordo com Pinedo (2009), um sistema de manufatura pode conter uma
varie-dade de fatores, como por exemplo: o n´
umero de recursos ou m´aquinas existente;
carac-ter´ısticas particulares de cada um dos recursos; o tipo de material processado no sistema;
restri¸c˜oes inerentes `a capacidade de processamento; entre tantos outros. Dada a enorme
quantidade de fatores poss´ıveis de serem considerados, existe um grande n´
umero de
vari-antes do problema de escalonamento da produ¸c˜ao. Em um processo de manufatura, os
recursos podem ser referenciados como “m´aquinas”, e as atividades realizadas em uma
m´aquina s˜ao tidas como “tarefas”.
•
Tempo de processamento
p
jk, ou seja, o tempo que a tarefa
j
necessita permanecer
na m´aquina
k. Quando apenas uma m´aquina est´a dispon´ıvel para o processamento
das tarefas, ou quando o tempo de processamento de uma tarefa n˜ao depende da
m´aquina, o ´ındice
k
´e omitido.
•
Data de libera¸c˜ao (em inglˆes
release date
)
r
jda tarefa
j, referente ao instante de
tempo a partir do qual a tarefa
j
est´a dispon´ıvel para ser processada no sistema.
•
Data de entrega
d
jda tarefa
j, a qual diz respeito, por exemplo, ao prazo de conclus˜ao
definido junto ao cliente.
•
Data de vencimento ¯
d
jda tarefa
j, isto ´e, o prazo acordado com o cliente que deve
ser obrigatoriamente cumprido.
•
Peso ou penalidade
w
j, tido como um fator de prioridade da tarefa
j
em rela¸c˜ao `as
demais. Esse dado pode tamb´em ser entendido como o custo proporcional ao tempo
em que a tarefa
j
permaneceu no sistema.
Os dados listados acima s˜ao chamados dados est´aticos, pois s˜ao independentes da
sequˆencia. Por outro lado, de acordo com o mesmo autor, quando os dados n˜ao s˜ao
fixos a princ´ıpio e dependem do sequenciamento, denominam-se dados dinˆamicos. Dois
importantes dados dinˆamicos para esse tipo de problema s˜ao:
•
Tempo de in´ıcio
S
jk, ou seja, o instante de tempo em que a tarefa
j
come¸ca a ser
processada na m´aquina
k. Desconsiderando o ´ındice
k, tem-se um tempo de in´ıcio
que independe da m´aquina.
•
Tempo de t´ermino
C
jk, que se refere ao momento em que a tarefa
j
finaliza seu
processamento na m´aquina
k. Da mesma forma que o item anterior, para o tempo
de t´ermino independente da m´aquina, basta omitir o ´ındice
k.
processamento ou restri¸c˜oes, podendo conter nenhuma, uma ou m´
ultiplas entradas. Por
fim,
γ
descreve o objetivo a ser minimizado ou maximizado com apenas uma entrada. As
principais configura¸c˜oes poss´ıveis de cada um dos campos s˜ao descritas a seguir.
2.1.1 Configura¸c˜ao da(s) M´aquina(s)
Segundo Pinedo (2008), as configura¸c˜oes
α
normalmente utilizadas no que se refere
`as m´aquinas s˜ao:
•
Uma m´aquina (1), em que apenas uma m´aquina est´a dispon´ıvel para processar todas
as tarefas. Trata-se do caso mais simples da configura¸c˜ao
α, sendo este um caso
especial dos ambientes descritos a seguir.
•
M´aquinas paralelas idˆenticas (P m), em que est˜ao dispon´ıveis
m
m´aquinas idˆenticas
em paralelo e, portanto, o tempo de processamento de uma tarefa
j
em qualquer
uma das
m
m´aquinas ´e o mesmo. Dessa forma, uma tarefa
j
pode ser processada
em qualquer uma das
m
m´aquinas ou em um subconjunto
M
jpr´e-determinado.
•
M´aquinas paralelas uniformes (Qm), ou seja, um ambiente com
m
m´aquinas em
paralelo que possuem diferentes fatores de velocidade
v
kpara cada m´aquina
k.
Por-tanto, o tempo
p
jkda tarefa
j
na m´aquina
k
´e dado por
p
j/v
k. Quando os fatores
de velocidade s˜ao iguais para todas as m´aquinas, tem-se o ambiente anterior.
•
M´aquinas paralelas n˜ao relacionadas (Rm), onde existem
m
m´aquinas diferentes em
paralelo. Trata-se de uma generaliza¸c˜ao do ambiente anterior, onde a velocidade de
processamento depende da m´aquina e da tarefa (v
jk). Logo, o tempo de
processa-mento
p
jkda tarefa
j
na m´aquina
k
´e igual a
p
j/v
jk. Se o fator de velocidade das
m´aquinas independe das tarefas, tem-se o caso anterior.
•
Job shop
(Jm), com
m
m´aquinas e cada uma das
n
tarefas possuindo sua pr´opria
rota predeterminada. Destaca-se a existˆencia de dois casos: quando cada tarefa visita
cada uma das
m
m´aquinas no m´aximo uma vez; e quando uma tarefa pode visitar
cada m´aquina mais de uma vez, ou seja, ´e permitida a existˆencia de recircula¸c˜ao
(rcrc).
•
Open shop
(Om), onde existem
m
m´aquinas e cada tarefa
j
tem que ser processada
em todas as m´aquinas. Entretanto, alguns dos tempos de processamento podem ser
iguais `a zero. Nesse ambiente, n˜ao h´a restri¸c˜oes em rela¸c˜ao `a sequˆencia em que uma
tarefa ´e processada nas
m
m´aquinas, sendo poss´ıvel que cada tarefa possua uma
sequˆencia distinta das demais.
2.1.2 Caracter´ısticas das Tarefas
As caracter´ısticas relacionadas ao processamento das tarefas s˜ao especificadas no
campo
β. Como dito anteriormente, ´e poss´ıvel que exista nenhuma, uma ou m´
ultiplas
ca-racter´ısticas descritas neste campo. Dentre as caca-racter´ısticas expostas por Pinedo (2008),
est˜ao:
•
Data de libera¸c˜ao da tarefa
j
(r
j), onde s´o ´e permitido que a tarefa
j
inicie seu
processamento ap´os o instante de tempo
r
j. Caso este item n˜ao apare¸ca em
β, as
tarefas podem come¸car a ser processadas a qualquer momento. Por outro lado, as
datas de entrega n˜ao s˜ao especificadas, pois sua existˆencia ´e facilmente identificada
a partir da fun¸c˜ao objetivo considerada.
•
Preemp¸c˜ao (pmtn), a qual ocorre quando o processamento da tarefa pode ser
inter-rompido na m´aquina e retomado ap´os um certo tempo na mesma m´aquina ou em
outra. Se essa condi¸c˜ao n˜ao for permitida pelo sistema, n˜ao constar´a no campo
β.
tem no m´aximo uma sucessora, referindo a estas restri¸c˜oes como
intree
; e no caso
em que cada tarefa possui no m´aximo uma antecessora, sendo chamado de
outtree
.
•
Tempo de
setup
dependente da sequˆencia (s
hj), isto ´e, um tempo de prepara¸c˜ao entre
o processamento da tarefa
h
seguido da tarefa
j. Note que
s0
jse refere ao tempo
de
setup
quando o item
j
´e o primeiro da sequˆencia; e
s
h0o tempo de prepara¸c˜ao
ap´os o t´ermino do processamento da tarefa
h, quando esta ´e a ´
ultima da sequˆencia.
Se o
setup
depende da m´aquina em que os itens est˜ao sendo processados, o ´ındice
k
´e inclu´ıdo (s
hjk). O
setup
pode tamb´em independer da sequˆencia e da m´aquina,
significando um tempo de preparo padr˜ao por tarefa dado por
s
j.
•
Fam´ılias de tarefas (f mls), que ocorre quando as
n
tarefas s˜ao particionadas em
F
fam´ılias. As tarefas de uma mesma fam´ılia podem ter diferentes tempos de
processa-mento, entretanto elas s˜ao processadas uma em seguida de outra sem a necessidade
de um tempo de
setup
entre as duas. Por outro lado, quando tarefas sucessivas
per-tencem a fam´ılias distintas, a execu¸c˜ao de um
setup
´e possivelmente necess´aria, o
qual pode ser dependente das fam´ılias de ambas as tarefas, de apenas uma, ou pode
ser um tempo de prepara¸c˜ao constante.
•
Processamento em lotes (batch), que ocorre quando uma m´aquina processa um
con-junto de tarefas (lote), de forma que a capacidade da m´aquina seja respeitada. Nesse
caso, para cada lote
i
do conjunto
B
de lotes, as tarefas pertencentes `a
i
s´o podem
iniciar seu processamento quando este for permitido para todas elas, e uma tarefa ´e
considerada finalizada apenas ap´os a finaliza¸c˜ao do processamento de todas as tarefas
do referido lote.
Diversos autores, como M¨onch et al (2011) e Xu et al (2012), apresentam dois tipos
de m´aquinas de processamento em lotes: sequencial (s
−
batch), em que as tarefas de um
lote s˜ao processadas em sequˆencia e o tempo de processamento do lote ´e igual `a soma de
todos os tempos de processamento das tarefas que fazem parte deste lote; e em paralelo (p
−
batch), onde a m´aquina ´e capaz de processar todas as tarefas de um lote simultaneamente,
das tarefas do referido lote. O problema estudado neste trabalho envolve a configura¸c˜ao
p
−
batch, sendo comumente referenciada apenas como
batch. Caso uma m´aquina
s
−
batch
seja considera, esta ser´a indicada explicitamente. Algumas particularidades normalmente
especificadas nos trabalhos dispon´ıveis na literatura que adotam esta caracter´ıstica em
problemas de sequenciamento s˜ao descritas a seguir.
•
A capacidade da m´aquina pode ser ilimitada ou limitada. No primeiro caso, todas
as
n
tarefas podem ser processadas ao mesmo tempo. Quando a capacidade da
m´aquina ´e limitada, s˜ao abordados em geral dois casos: quando a m´aquina ´e capaz
de processar um n´
umero m´aximo
Q
de tarefas, onde cada tarefa utiliza a mesma
fra¸c˜ao de capacidade da m´aquina; e quando cada tarefa possui um tamanho
s
j, com
a soma dos tamanhos das tarefas de um lote sendo menor que a capacidade
Q
da
m´aquina.
•
Todas as tarefas podem ainda ser compat´ıveis (compt) entre si e, portanto, serem
processadas em um mesmo lote. Quando consideradas fam´ılias de tarefas, aquelas
pertencentes a fam´ılias diferentes s˜ao incompat´ıveis (incompt) e, nesse caso, podem
ser processadas apenas em lotes diferentes.
2.1.3 Fun¸c˜ao Objetivo
A fun¸c˜ao objetivo do problema ´e descrita no ´
ultimo campo de classifica¸c˜ao (γ)
apresentado por Graham et al (1979). As principais fun¸c˜oes objetivo adotadas para o
problema de escalonamento descritas em Pinedo (2008) s˜ao apresentadas a seguir, sendo
todas fun¸c˜oes de minimiza¸c˜ao.
•
Makespan
(C
max), definido como o tempo de t´ermino da ´
ultima tarefa, ou seja,
max(C1, C2, ..., C
n). Geralmente, essa fun¸c˜ao objetivo fornece uma boa utiliza¸c˜ao
das m´aquinas.
•
Soma ponderada dos tempos de t´ermino (
P
w
jC
j). A soma dos tempos de t´ermino
´e tamb´em referenciada como o tempo de fluxo. Quando todas as tarefas possuem o
mesmo n´ıvel de prioridade, tem-se como fun¸c˜ao objetivo
P
•
M´aximo
lateness
(L
max), o qual ´e definido para uma dada tarefa
j
como
C
j−
d
j,
podendo representar o atraso ou a antecipa¸c˜ao da tarefa em quest˜ao. O m´aximo
lateness
´e dado por max(L1, L2, ..., L
n), sendo essa fun¸c˜ao objetivo equivalente a
minimizar a pior data de entrega dado o cronograma.
•
Atraso ponderado total (
P
w
jT
j), onde
T
j= max(L
j,
0), podendo assumir apenas
valores positivos. Supondo que cada tarefa tenha o mesmo peso, obt´em-se a fun¸c˜ao
objetivo de minimiza¸c˜ao do atraso total (
P
T
j).
•
Total do n´
umero ponderado de tarefas em atraso (
P
w
jU
j), sendo
U
jigual a 1
quando
C
j> d
j, e 0 caso contr´ario. Obt´em-se o
P
U
jquando os pesos das tarefas
s˜ao considerados iguais.
•
Total ponderado de antecipa¸c˜oes (
P
w
jE
j). A antecipa¸c˜ao
E
jda tarefa
j
ocorre
quando a tarefa ´e conclu´ıda antes do prazo de entrega, ou seja, quando
C
j< d
j.
Dessa forma,
E
j= max(d
j−
C
j,
0). Quando a prioridade de todas as tarefas ´e a
mesma, tem-se o
P
E
j.
•
Soma dos atrasos e antecipa¸c˜oes ponderados (
P
w
′j