ri = 0 ,
Flowshop
i=1,2,,n
Restries tecnolgicas
Tarefa 1 Ordem de Processamento
M1 M1 M1
M2 M2 M2
L L L
Mm Mm Mm
2
M
M1 M2
7.1
Teorema 7.1 : Para o problema n/m/F/B, onde B uma medida regular de desempenho, suficiente considerar programas com a mesma sequncia de processamento nas duas primeiras mquinas M1 e M 2 .
M1 M2
K K I
7.2
Exemplo
M1 M2
2 3 2 1
M1 M2
3 3
2 2 1
M1 M2
2 3
1 2 1
7.3
Teorema 7.2 : Para o problema n / m / F / Cmax basta considerar programas com a mesma sequncia de processamento nas duas ltimas mquinas M m -1 e M m .
e Mm .
M m-1 Mm
K K I
7.4
EXEMPLO
2 3 2 7 2 2 5 6 2 3 5 7 2 8 7 3 9 8 1 11
2 1 3 1 2 1 3 1 2
Corolrio 7.3 : suficiente considerar programas de permutao para o problema n/2/F/B, onde B regular.
7.5
Idia intuitiva do algoritmo 1) Iniciar a sequncia com a tarefa que tem o menor tempo de processamento em M1 ; isto permite que o processamento
em M 2 comece o mais cedo possvel.
2) Terminar a sequncia com a tarefa que tem o menor tempo de processamento em M 2 ; isto porque M1 deve estar ociosa durante esse intervalo de tempo.
M1
M1 deve estar ociosa
M2
7.6
Algoritmo de Johnson
Passo 1. k = 1 ; l = n Passo 2. Lista corrente das tarefas no sequenciadas = {1, 2, , n}. Passo 3. Encontre o mnimo dos tempos a i , bi associados s tarefas no sequenciadas. Passo 4. Se o tempo mnimo a i , Coloque a tarefa i na k-sima posio da sequncia (ii) Retire a tarefa i da lista corrente de tarefas no sequenciadas (iii) k = k + 1 (iv) V para o passo 6 (i)
7.7
Passo 5. Se o tempo mnimo bi , Coloque a tarefa i na l-sima posio da sequncia (ii) Retire a tarefa i da lista corrente de tarefas no sequenciadas (i) (iii) l = l - 1 (iv) V para o passo 6 Passo 6. Se ainda existem tarefas no sequenciadas, v para o passo 3. Caso contrrio, pare.
Nota : Se o tempo mnimo ocorre para mais de uma tarefa no passo 3, escolha a tarefa i arbitrariamente.
7.8
Exemplo
Seja o problema 7 / 2 / F / Cmax
Tarefa 1 2 2 9 3 4 3 4 1 8 5 7 1 6 4 5 7 7 6
Aplicando o algoritmo 4 4 4 4 4 4 4 2 2 2 2 2 6 6 7 1 1 1 3 3 3 3 5 5 5 5 5 5
sequncia tima
Teorema 7.5 : O algoritmo de Johnson gera um programa timo para o problema n / 2 / F / Cmax .
7.9
Passo 1. Particione o conjunto de tarefas 1, 2, , n em 4 classes: Classe A : tarefas processadas somente na mquina M1 Classe B : tarefas processadas somente na mquina M 2 Classe C : tarefas processadas primeiro em M1 e depois em M2 Classe D : tarefas processadas primeiro em M 2 e depois em M1 Passo 2.
Sequencie as tarefas das classes A e B em qualquer ordem, obtendo as sequncia SA e SB Sequencie as tarefas das classes C e D de acordo com o algoritmo de Johnson para o problema n / 2 / F / Cmax
7.10
Mquina
Ordem de Processamento
M1 M2
(SC , SA , SD ) (SD , SB , SC )
aquele gerado por uma operao O com incio na segunda mquina bloqueada pelo trmino da operao predecessora PO na primeira mquina (ver figura). Este tempo ocioso mnimo pelo algoritmo de Johnson para n / 2 / F / Cmax .
PO PO
O O
7.11
Exemplo
Seja o problema 9 / 2 / G / C max Ordem e Tempos de Processamento
Tarefa 1 2 3 4 5 6
1 Mquina ( M1 ,8) ( M1 ,7) ( M1 ,9) ( M1 ,4) ( M 2 ,6) ( M 2 ,5) 2 Mquina ( M 2 ,2) ( M 2 ,5) ( M 2 ,8) ( M 2 ,7) ( M1 ,4) ( M1 ,3)
Tarefa 1 Mquina
SA = 7 SC = (4, 3, 2, 1)
; ;
M1 (4, 3, 2, 1, 7, 5, 6) M 2 (5, 6, 8, 9, 4, 3, 2, 1)
7.12
M1
4 4
3 13
2 20
1 28
7 37
6 41 44
M2
5 6
8 9 11 12 17
4 24
3 32
1 37 39
Cmax = 44
7.13
e obtenha um programa timo ao se aplicar o algoritmo de Johnson, onde a i o tempo de processamento da tarefa i na primeira mquina e bi o tempo de processamento da tarefa i na segunda mquina.
7.14
Exemplo
Seja o problema 6 / 3 / F / Cmax
Tempos de Processamento
Tarefa
Tempos de Processamento
(a i , b i )
1 Mquina 5 8 4 8 10 5 2 Mquina 4 11 3 10 8 2
1 2 3 4 5 6
M1 M 2 M3 4 1 3 6 2 9 3 1 2 5 3 7 8 2 6 4 1 1
Portanto, a) verdadeiro. Aplicando algoritmo de Johnson para (a i , bi ) obtm-se o programa timo (2, 4, 5, 1, 3, 6).
7.15