View
66
Download
0
Category
Preview:
DESCRIPTION
Ejercicios Resueltos de Programación de Producción
Citation preview
LICENCIATURA EM
ENGENHARIA E GESTÃO INDUSTRIAL (4º ANO)
EXERCÍCIOS RESOLVIDOS DA DISCIPLINA DE
ORGANIZAÇÃO E GESTÃO DA PRODUÇÃO II
Programação de curta duração (parte 3):
Programação em máquina única
Programação em máquinas paralelas
Programação em linhas de produção
Programação em oficinas de produção
2
PROGRAMAÇÃO EM MÁQUINA ÚNICA
Sequenciação de n trabalhos em máquina única com custos/tempos de preparação fixos
Regras de Prioridade
Os programas de produção são normalmente avaliados por medidas de desempenho. Algumas das
típicas medidas de desempenho são:
1. Tempo de percurso médio: F Fn
Fmed ii
n
1
1
2. Atraso médio: A An
Amed ii
n
1
1
3. Tempo de percurso máximo: F Fi n
imax max 1
4. Atraso máximo: A Ai n
imax max 1
5. Número de entidades atrasadas: N Aa ii
n
( )1
onde ( )x =1 se x>o
e ( )x =0 caso contrário
Minimização de algumas medidas de desempenho
Para certas medidas de desempenho, existem algoritmos de optimização, de aplicação expedita
pelo que não se torna necessário fazer enumeração completa e avaliação de todas as sequências
possíveis. Assim, em máquina única, quando se pretende minimizar o atraso médio (Amed)
relativamente às datas de entrega das entidades, podemos aplicar o seguinte teorema:
Minimização do atraso médio: O atraso médio, Amed, das entidades a processar em máquina
única é minimizado ordenando as entidades por ordem crescente dos seus tempos de
processamento. Uso da regra SPT (Shortest Processing Time). A ordenação também é óptima
quanto ao tempo de percurso médio, Fmed, de fabrico de entidades em máquina única.
Assim podemos dizer que:
Minimização do tempo de percurso médio: O tempo de percurso médio Fmed, das entidades a
processar em máquina única é minimizado ordenando as entidades por ordem crescente dos
tempos de processamento. Uso da regra SPT.
Minimização do atraso máximo: O atraso máximo, Amax, é minimizado através da ordenação
das entidades pela ordem crescente das datas de entrega. Uso da regra EDD (Earliest due date).
ti - Tempo de processamento para a
entidade i.
ri - Tempo para o qual a entidade i
está disponível para processamento.
di - Data de entrega da entidade i -
Ponto no tempo a que a entidade i
deve estar concluída.
Ci - Tempo ao qual a entidade i
acabou de ser processada
(Completion time).
Fi - Tempo de percurso (Flowtime) -
Tempo que a entidade i demora no
sistema: Fi = Ci - ri
Ai - Atraso - Tempo em que o fim
do processamento da entidade i
excedeu a data de entrega:
Ai = Ci - di
3
Processador único com trabalhos independentes em ambiente de programação estática da
produção
Exercício 1. Suponha o seguinte conjunto de lotes a serem processados em processador único.
Lote 1 2 3 4 5 6
Data de entrega 24 35 5 40 24 15
Tempo de processamento 8 10 5 4 3 7
1.1. Defina a sequência para estes lotes se o objectivo for minimizar o tempo de percurso médio.
1.2. Se o objectivo for minimizar o atraso médio a sequência é a mesma? Diga qual é o atraso
médio e o tempo de percurso médio.
1.3. Estabeleça a sequência óptima para lançamento dos lotes, de modo a minimizar o atraso
máximo e diga qual o tempo de percurso médio obtido.
Resolução
1.1. Regra SPT
Lote i 5 4 3 6 1 2
ti 3 4 5 7 8 10 ---
di 24 40 5 15 24 35 ---
Fi 3 7 12 19 27 37 Fi=105
Ai -21 -33 7 4 3 2 Ai=-38
Fmed=105/6=17.5 U.T. Amed=-38/6=-6.3(3) U.T. Fmax = 37 U.T.
1.2. Regra SPT
Sim, a sequência mantém-se, com os anteriores valores de Fmed e Amed.
1.3. Regra EDD
Lote i 3 6 1 5 2 4
ti 5 7 8 3 10 4 ---
di 5 15 24 24 35 40 ---
Fi 5 12 20 23 33 37 Fi=130
Ai 0 -3 -4 -1 -2 -3 Ai=-13
Fmed=21.67 U.T. Amed=-2.17 U.T. Amax=0 U.T.
37 27 7 Lotes na
máquina
tempo
5 (3) 4 (4) 6 (7) 3 (5) 2 (10)
3 19 12
1 (8)
4
Algoritmo de Hodgson
Minimização do número de entidades com atraso. O algoritmo de Hodgson minimiza o
número de entidades em atraso, Na e tem os seguintes passos de resolução:
1. Colocar todas as entidades no conjunto E ordenando-as pela ordem crescente das suas datas
de entrega (regra EDD). Criar um conjunto L vazio.
2. Se nenhuma entidade em E tem atraso, termina aqui: E é óptimo. Caso contrário, identificar a
primeira entidade de E que tem atraso. Vamos supor que é a entidade k.
3. Identificar a entidade com tempo de processamento maior nas primeiras k entidades do
conjunto E. Tirar essa entidade do conjunto E colocando-a no conjunto L. Recalcular os
tempos de conclusão das entidades que restam no conjunto E. Voltar ao passo 2.
5
Exercício: Minimize o número de trabalhos em atraso no seguinte conjunto de lotes e diga qual o
valor de atraso desses lotes.
Lote 1 2 3 4 5 6
Data de entrega 15 6 9 23 20 30
Tempo de processamento 10 3 4 8 10 6
Resolução
Passo 1) E={2,3,1,5,4,6} (Regra EDD) L={}
Passo 2)
Lote i 2 3 1 5 4 6
ti 3 4 10 10 8 6
di 6 9 15 20 23 30
Fi 3 7 17 27 35 41
Ai -3 -2 2 7 12 11
Passo 3) E={2,3,5,4,6} L={1}
Lote i 2 3 5 4 6
ti 3 4 10 8 6
di 6 9 20 23 30
Fi 3 7 17 25 31
Ai -3 -2 -3 2 1
Passo 2) i=4
Passo 3) E={2,3,4,6} L={1,5}
Lote i 2 3 4 6
ti 3 4 8 6
di 6 9 23 30
Fi 3 7 15 21
Ai -3 -2 -8 -9
Sequência óptima: 2-3-4-6-1-5 Na=2 lotes atrasados
Lote i 2 3 4 6 1 5
ti 3 4 8 6 10 10
di 6 9 23 30 15 20
Fi 3 7 15 21 31 41
Ai -3 -2 -8 -9 16 26
O lote 1 tem um atraso de 16 U.T.
O lote 5 tem um atraso de 26 U.T.
6
Técnica de Pesquisa na Vizinhança
Procedimento de NST (Neighborhood Search Techniques)
1. Seleccionar uma sequência semente avaliando-a em relação à medida de desempenho.
2. Gerar e avaliar as sequências da vizinhança da semente. Se nenhuma das sequências produz
melhor desempenho do que a semente, então termina a busca. Doutra forma continuar.
3. Seleccionar a sequência da vizinhança que melhora o desempenho para ser a nova semente.
Além disto é necessário especificar as seguintes opções:
1. Um método para obter a semente.
2. Um particular mecanismo de geração de vizinhança.
3. Um método para seleccionar a sequência que irá ser a próxima semente.
A sequência gerada pelo procedimento NST é um óptimo local (em relação à estrutura da
vizinhança). Não há, em geral, forma de saber se o óptimo local é também o óptimo global (a
melhor solução de todas). Pode-se melhorar o procedimento NST, com vista a encontrar o óptimo
global, sem no entanto garantir que foi encontrado.
7
Exercício: Utilize a Técnica de Pesquisa de Vizinhança (NST) para minimizar o número de
trabalhos em atraso (Na) no seguinte conjunto de lotes:
Lote 1 2 3 4 5 6
Data de entrega 3 9 10 2 8 11
Tempo de processamento 2 4 5 1 6 7
Para aplicar a técnica utilize:
a regra SPT para seleccionar a 1ª semente
como mecanismo de geração de vizinhança a troca entre pares adjacentes
a 1ª sequência que melhorar o desempenho será a nova semente
Resolução
Passo 1) Selecção da 1ª semente (regra SPT) e avaliação da semente.
Semente: 4,1,2,3,5,6
Lote i 4 1 2 3 5 6
ti 1 2 4 5 6 7
di 2 3 9 10 8 11
Fi 1 3 7 12 18 25
Ai -1 0 -2 2 10 14
Na=3
Passo 2) Geração e avaliação das novas sequências da vizinhança
S1)
Lote i 1 4 2 3 5 6
ti 2 1 4 5 6 7
di 3 2 9 10 8 11
Fi 2 3 7 12 18 25
Ai -1 1 -2 2 10 14
Na=4
S2)
Lote i 4 2 1 3 5 6
ti 1 4 2 5 6 7
di 2 9 3 10 8 11
Fi 1 5 7 12 18 25
Ai -1 -4 4 2 10 14
Na=4
S3)
Lote i 4 1 3 2 5 6
ti 1 2 5 4 6 7
di 2 3 10 9 8 11
Fi 1 3 8 12 18 25
Ai -1 0 -2 3 10 14
Na=3
8
S4)
Lote i 4 1 2 5 3 6
ti 1 2 4 6 5 7
di 2 3 9 8 10 11
Fi 1 3 7 13 18 25
Ai -1 0 -2 5 8 14
Na=3
S5)
Lote i 4 1 2 3 6 5
ti 1 2 4 5 7 6
di 2 3 9 10 11 8
Fi 1 3 7 12 19 25
Ai -1 0 -2 2 8 17
Na=3
Conclusão: Como nenhuma das novas sequências geradas produz um Na melhor do que 3 termina
a busca.
Foram encontradas 3 soluções alternativas à semente, para Na=3.
9
PROGRAMAÇÃO EM MÁQUINA ÚNICA
Sequenciação de n trabalhos em máquina única com custos/tempos de preparação variáveis
Método Little et all
Um dos primeiros estudos de investigação abordando branch and bound foram levados a cabo
por Little et al (1963). Este método cria dois subproblemas em todos os níveis, um subproblema
contendo um par como solução parcial para a sequência e um outro subproblema em que o
mesmo par é proibido como parte da sequência.
Lower bounds para uma dada matriz são calculados por um método chamado de redução. Como
qualquer que seja a solução, tem sempre um elemento de cada linha, então pode ser subtraída
uma constante de qualquer linha sem que isso afecte o seu peso relativo no custo final. Por outras
palavras isto reduz a distância numa constante entre as cidades. A constante a reduzir em cada
linha será o menor valor da mesma linha pois de contrário iria resultar um ou mais valores
negativos. De seguida o mesmo é feito para as colunas.
O algoritmo considera os pares que têm zero na matriz e selecciona o par que não sendo
escolhido incorreria no maior custo. Assim, cada zero é etiquetado com a soma do menor da linha
e o menor da coluna correspondes (…).
Algoritmo heurístico da “cidade mais próxima ainda não visitada”
Passos de resolução do algoritmo:
1. Seleccionar aleatoriamente uma cidade para cidade de origem.
2. Determinar qual a cidade, das ainda não visitadas, que lhe fica mais próxima.
3. Das cidades não visitadas determinar a que fica mais próxima da seleccionada anteriormente.
4. Repetir o ponto 3 até que todas as cidades sejam visitadas.
Método de Karg and Thompson
O método começa com a selecção aleatória de um par de cidades, constituindo uma trajectória de
comprimento 2. Depois uma terceira cidade é inserida por forma a minimizar a trajectória
resultante das 3 cidades. Depois a quarta cidade é inserida pela mesma lógica e assim por diante.
10
Exercício: Considere que um fabricante produz 4 tipos de gasolina, cujos tempos de preparação
da unidade de produção são os indicados no quadro:
De corrida Super Normal Sem chumbo
De corrida ------- 30 50 90
Super 40 ---- 20 80
Normal 30 30 ---- 60
Sem chumbo 20 15 10 ----
1.1. Determine a sequência óptima que minimiza o tempo total de preparação utilizando o método
de Little et al e diga qual o seu valor.
1.2. Determine uma sequência possível utilizando o heurístico da “cidade” mais próxima ainda
não visitada e diga qual o tempo total de preparação.
1.3. Determine ainda uma sequência da fabricação das gasolinas utilizando o heurístico de Karg
& Thompson e diga qual o tempo total de preparação.
11
Resolução
1.1. Método B&B de Little et all
i j 1 2 3 4 u
1 --- 30 50 90 30
2 40 --- 20 80 20
3 30 30 --- 60 30
4 20 15 10 --- 10
v --- --- --- 30 120
i j 1 2 3 4
1 --- 0 20 60
2 20 --- 0 60
3 0 0 --- 30
4 10 5 0 ---
i j 1 2 3 4
1 --- 020 20 30
2 20 --- 020 30
3 010 00 --- 030
4 10 5 05 ---
Max(rij) = r34 = 30
i j 1 2 3 4 u
1 --- 0 20 --- ---
2 20 --- 0 --- ---
3 --- --- --- --- ---
4 10 5 --- --- 5
v 5 --- --- --- 10
Max(rij) = r23 = 35
1 2 3 4
1.2. Método heurístico da “cidade mais próxima ainda não visitada”
Uma das soluções possíveis é a seguinte:
i j 1 2 3 4
1 --- 020 20 ---
2 15 --- 035 ---
3 --- --- --- ---
4 015 00 --- ---
i j 1 2 3 4
1 --- 00 --- ---
2 --- --- --- ---
3 --- --- --- ---
4 00 0 --- ---
20 1234
30 20 60
Total = 130 U.T.
150
165
130
130
130
130
120
Todos
12P
34
__
P
23
__
P
12
__
P
41
__
P
23P
34P
41P
130 U.T.
12
1.3 Método heurístico de Karg & Thompson
Ilustração do método para uma selecção aleatória do par de “cidades” (gasolinas) 1 e 2 e uma
escolha, também aleatória de uma 3ª “cidade”, a gasolina 3.
12
Tempo total de preparação = 130 U.T.
60 4123
20 20
Total = 130 U.T.
30
30 1423
90 20
Total = 155 U.T.
15
30 1243
30 10
Total = 150 U.T.
80
312 30
Subtotal = 60 U.T.
30
132 50
Subtotal = 80 U.T.
30
123 30
Subtotal = 50 U.T.
20
13
PROGRAMAÇÃO EM MÁQUINAS PARALELAS
Processadores paralelos com trabalhos independentes, em que é permitida a interrupção
Minimizar Makespan (Tempo de percurso total)
Uma resolução ao problema de minimização do makespan em processadores paralelos foi
proposto por McNaughton, 1959, onde as entidades são independentes e a interrupção da
entidade é permitida. O processamento de uma entidade pode ser interrompido para ser concluído
noutra máquina. A propriedade central está no facto de que o makespan, M*, mínimo é dado por:
M t tm i ii
n
* max ,max
1
1
Não deve ser difícil compreender a razão pela qual esta equação é válida. Esta equação diz que ou
as máquinas são utilizadas completamente através de uma programação óptima, ou, a duração da
entidade com maior tempo de processamento determinará o makespan.
O método de construção do programa óptimo é o seguinte.
Algoritmo de McNaughton
1. Seleccionar uma entidade para começar na máquina 1 ao tempo zero.
2. Escolher qualquer entidade ainda não seleccionada e colocá-la o mais cedo possível na
mesma máquina. Repetir este passo até que a máquina fique ocupada até ao tempo M*
(ou até todas as entidades fiquem atribuídas).
3. Pegar na parte da entidade que ficou por completar na máquina anterior e atribuí-la à
próxima máquina. Voltar ao passo 2.
14
Exercício: Considere ter de processar 8 trabalhos independentes que permitem interrupção em 3
processadores paralelos cujos tempos de processamento se apresentam na tabela seguinte:
Lote 1 2 3 4 5 6 7 8
Tempo de processamento 2 10 12 5 7 3 13 4
1.1. Utilize o algoritmo de McNaughton para determinar a sequência que minimiza o tempo total
de produção (makespan).
1.2. Calcule o tempo de percurso médio associado a essa sequência.
1.3. Aplique novamente o algoritmo, sabendo que o tempo de processamento do lote 8 é de 30
unidades de tempo.
Resolução
1.1. Algoritmo de McNaughton
m=3 máquinas, n=8 lotes M*=max{m
1
n
jjt
1
, max{ jt }} = max{18.67, 13} 19 U.T.
1.2. Fmed=117/814.63 U.T.
1.3. t8=30 U.T. m=3 n=8 M*=max{m
1
n
jjt
1
, max{ jt }} = max{27.3, 30} = 30 U.T.
19
17 10 19
Máquinas
tempo
L6 L7 L8
L3 L5
L1
L4 L6
L2
L2
1 14 18
5
L3
2 12 19
M1
M2
M3
30 22
6
2 30 24 12 29
22 9 30
Máquinas
Tempo
(U.T.)
L1 L2 L3
L5 L7
L8
L6 L8
M1
M2
M3
L4 L5
15
PROGRAMAÇÃO EM MÁQUINAS PARALELAS
Processadores paralelos com trabalhos independentes, em que não é permitida a
interrupção
Se a interrupção das entidades é proibida, o problema de minimização do makespan é algo mais
complicado. Não há conhecimento de algum algoritmo que encontre a solução óptima embora
haja um procedimento heurístico para a construção de um programa envolvendo o uso da regra
LPT (Longest Processing Time) como um mecanismo de prioridade.
Procedimento heurístico para minimização do M
1. Ordenar as entidades pelo seu tempo de processamento mais longo (LPT).
2. Programar essas entidades por ordem, atribuir a entidade à máquina que fica livre mais
cedo.
3. Este heurístico não garante um makespan óptimo.
Procedimento para minimização do Fmed
1. Ordenar as entidades pelo seu tempo de processamento mais curto (SPT).
2. Atribuir o próxima entidade à máquina que fique livre mais cedo. Repetir até que
todos as entidades estejam atribuídas.
16
Exercício: Considere ter de processar 8 trabalhos independentes que não permitem interrupção
em 3 processadores paralelos cujos tempos de processamento se apresentam na tabela seguinte:
Lote 1 2 3 4 5 6 7 8
Tempo de processamento 2 10 12 5 7 3 13 4
1.1.Determine a sequência que minimiza o tempo total de produção (makespan) e diga qual o seu
valor.
1.2. Calcule o tempo de percurso médio associado à sequência obtida em 1.1.
1.3. Como poderia minimizar o tempo de percurso médio na solução obtida no exercício 1.1.?
Calcule novamente o seu valor.
1.4. Determine a sequência que minimiza o tempo médio de percurso por trabalho e calcule o seu
valor.
Resolução
1.1. Regra de sequenciação LPT: L7 L3 L2 L5 L4 L8 L6 L1
1.2. Fmed=125/815.63 U.T.
1.3. Regra de sequenciação SPT aplicada à solução obtida por LPT
Fmed=82/8=10.25 U.T.
1.4. Regra SPT: L1 L6 L8 L4 L5 L2 L3 L7
20 3
2
7
20
17 20
7
7 19
Máquinas
Tempo (U.T.)
L2 L5
L3 L4
L7 L8
L1
M1
M2
M3 L6
20 13
12
10
20
17 20
17
17 19
Máquinas
Tempo
(U.T.)
L2 L5
L3 L4
L7 L8
L1
M1
M2
M3 L6
17
Fmed=82/8=10.25 U.T.
19 2
3
4
23
14 23
7
10
23
Máquinas
Tempo
(U.T.)
L2 L8
L7 L5
L3 L4
L6
M1
M2
M3 L1
18
PROGRAMAÇÃO EM LINHAS DE PRODUÇÃO
Programação em linhas de produção com 2 máquinas
Método de Johnson
É conhecido pelo problema de Johnson, o problema de linha de fabrico com duas máquinas com
o objectivo de minimizar o makespan. Os resultados originalmente obtidos por Johnson, 1954,
são agora fundamentos normalizados na teoria de programação da produção. A regra de Johnson
diz que a entidade i precede a entidade j numa sequência óptima se:
min{ti1,tj2} min{ti2,tj1}
A implementação desta regra segue os seguintes passos:
Passo 1. Encontrar min {ti1,ti2}
Passo 2a. Se o menor tempo de processamento requer a 1ª máquina, colocar a entidade
respectiva na primeira posição disponível. Ir para o passo 3.
Passo2b. Se o menor tempo de processamento requer a 2ª máquina, colocar a entidade
respectiva na última posição disponível. Ir para o passo 3.
Passo 3. Retirar a entidade atribuída e voltar ao passo 1 até que todos as entidades sejam
atribuídas.
19
Exercício: Suponha que tem de produzir 5 lotes numa linha de produção com 2 máquinas. A
primeira operação de cada lote é feita na máquina 1 (M1) e a segunda operação na máquina 2
(M2). Os tempos de processamento de cada lote em cada máquina apresentam-se na tabela
seguinte:
Lote
1
2
3
4
5
ti1 (M1) 5 1 9 3 10
ti2 (M2) 2 6 7 8 3
1.1. Determine a sequência que minimiza o tempo total de produção.
1.2. Através de um diagrama de Gantt mostre a sequência dos lotes em cada máquina e diga qual
o valor do tempo total de produção.
Resolução
1.1 Método de Johnson
Sequência de produção: L2, L4, L3, L5, L1
1.2 Diagrama de Gantt e determinação do makespan
R: Tempo total de produção (makespan) = 30 U.T.
30 28 23 1
28 23
7
1
22
4 30
15
Máquinas
Tempo
(U.T.)
L4 L2
L3 L4
L2
M1
M2
13
L3 L5 L1
26
L5 L1
20
PROGRAMAÇÃO EM LINHAS DE PRODUÇÃO Programação em linhas de produção com m2 máquinas
Algoritmo de Ignall-Schrage
Este algoritmo aplica-se a problemas de programação da produção em linha de fabrico e encontra
o programa com menor makespan de entre todos os programas ordenados.
Para ilustrar o procedimento para m=3 considere-se o seguinte:
m - número de máquinas.
tij - tempo de processamento da entidade j na máquina i.
- Conjunto de entidades consideradas na sequência parcial.
’ - Conjunto de entidades ainda não consideradas na sequência parcial.
Para uma dada sequência parcial considere que:
q1 - o tempo de conclusão mais tardio na máquina 1 entre as entidades em (este o tempo
mais cedo a partir do qual alguma entidade de ’ pode ser processada).
q2 - o tempo de conclusão mais tardio na máquina 2 entre as entidades em .
q3 - o tempo de conclusão mais tardio na máquina 3 entre as entidades em .
A quantidade de tempo de processamento ainda requerido na máquina 1 é de: t jj
1
'
....
…....
…...
1
2
3
q1
q2
q3
tk1
tk2
tk3
´
b1
…...
2
3
q2
q3
tk2
tk3
b2
(a)
(b)
…...
Para além disso, suponham que uma dada entidade k é a ultima da sequência. Depois da entidade
k ter sido concluída na máquina 1, um intervalo de pelo menos (tk2 + tk3) é necessário antes toda o
programa possa ser concluído, como mostra a figura 2.5a. Na situação mais favorável, a última
entidade
(1) não tem de esperar entre a conclusão de uma operação e o começo da próxima, e
(2) tem a soma mínima (tj2 + tj3) entre as entidades de ’.
21
O cálculo de q1, q2 e q3 quando o conjunto é apenas composto de uma entidade, é feito da
seguinte forma:
q1 = t11
q2 = t11 + t12
q3 = t11 + t12 + t13
O cálculo de q1, q2 e q3 fica um pouco complexo quando o conjunto tem mais do que uma
entidade. Neste caso o cálculo é feito da seguinte forma:
q1 = q1(anterior) + ti1
q2 = max{q1 , q2(anterior)}+ ti2
q3 = max{q2 , q3(anterior)}+ ti3
O índice (anterior) refere-se à entidade seleccionada na iteração anterior.
Assim, um dos limites inferiores (lower bound) do makespan é:
b q t t tj
jj
j j1 1 1 2 3
'
'min
Um raciocínio similar é também aplicado ao processamento requerido na máquina 2 (figura 2.5b)
resultando no segundo limite inferior do makespan:
b q t tj
jj
j2 2 2 3
'
'min
Finalmente, um limite inferior baseado no processamento ainda requerido pela máquina 3 é:
b q t j
j
3 3 3
'
O limite inferior da cada alternativa é dado por: B=max{b1, b2, b3}
22
Exercício: Considere ter de processar 4 lotes numa linha de produção com 3 máquinas, cujos
tempos de processamento estão na tabela seguinte:
L1 L2 L3 L4
M1 3 11 7 10
M2 4 1 9 12
M3 10 5 13 2
Encontre a sequência que minimiza o tempo total de produção (makespan), diga qual o seu valor e
construa o diagrama de Gantt.
1º Nível
Lote 1: (M1) b1 = 3 + (11+7+10) + (5+1) = 37
(M2) b2 = (3+4) + (1+9+12) + 2 = 31
(M3) b3 = (3+4+10) + (5+13+2) + 0 = 37
Lote 2: (M1) b1 = 11 + 20 + 14 = 45
(M2) b2 = 12 + 25 + 2 = 39
(M3) b3 = 17 + 25 + 0 = 42
Lote 3: (M1) b1 = 7 + 24 + 6 = 37
(M2) b2 = 16 + 17 + 2 = 35
(M3) b3 = 29 + 17 + 0 = 46
Lote 4: (M1) b1 = 10 + 21 + 5 = 37
(M2) b2 = 22 + 14 + 6 = 41
(M3) b3 = 24 + 28 + 0 = 52
2º Nível
Lote 12: (M1) b1 = 14 + (7 +10) + (12+2) = 45
(M2) b2 = 15 + (9+12) + 2 = 38
(M3) b3 = 22 + (13+2) + 0 = 37
Lote 13: (M1) b1 = 10 + 21 + 6 = 37
(M2) b2 = 19 + 13 + 2 = 34
(M3) b3 = 32 + 7 + 0 = 39
Lote 14: (M1) b1 = 13 + 18 + 6 = 37
(M2) b2 = 25 + 10 + 5 = 40
(M3) b3 = 27 + 18 + 0 = 45
3º Nível
Lote 132: (M1) b1 = 21 + 10 + 14 = 45
(M2) b2 = 22 + 12 + 2 = 36
(M3) b3 = 37 + 2 + 0 = 39
23
Lote 134: (M1) b1 = 20 + 11 + 6 = 37
(M2) b2 = 32 + 1 + 5 = 38
(M3) b3 = 34 + 5 + 0 = 39
Cálculos auxiliares
A primeira parcela dos valores de bi, para os lotes combinados, que ocorrem a partir do 2º nível
de ramificação da árvore é obtida através dos seguintes cálculos auxiliares.
2º Nível
(M1) 14 = Max{3,0} + 11
(M2) 15 = Max{7,14} + 1
(M3) 22 = Max{17,15} + 5
Lote 13: (M1) 10 = Max{3,0} + 7
(M2) 19 = Max{7,10} + 9
(M3) 32 = Max{17,19} + 13
Lote 14: (M1) 13 = Max{3,0} + 10
(M2) 25 = Max{7,13} + 12
(M3) 27 = Max{17,25} + 2
3º Nível
Lote 132: (M1) 21 = Max{10,0} + 11
(M2) 22 = Max{19,21} + 1
(M3) 37 = Max{32,22} + 5
Lote 134: (M1) 20 = Max{10,0} + 10
(M2) 32 = Max{19,20} + 12
(M3) 34 = Max{32,32} + 2
Ou seja, para cada uma das sequências parciais geradas obtêm-se os dados resumidos na tabela
seguinte:
Sequência
parcial
(q1, q2, q3) (b1, b2, b3) B
1 (3, 7, 17) (37, 31, 37) 37
2 (11, 12, 17) (45, 39, 42) 45
3 (7, 16, 29) (37, 35, 46) 46
4 (10, 22, 24) (37, 41, 52) 52
12 (14, 15, 22) (45, 38, 37) 45
13 (10, 19, 32) (37, 34, 39) 39
14 (13, 25, 27) (37, 40, 45) 45
132 (21, 22, 37) (45, 36, 39) 45
134 (20, 32, 34) (37, 38, 39) 39
24
A correspondente árvore de pesquisa para o problema é:
2
2
45 46 5237
1 2 3 4
39 45
3 4
45
2
45
39
39
4
A sequência óptima (ordenada) para este problema, que minimiza o tempo máximo de percurso
dos 4 lotes na linha (Cmax) é
1 3 4 2
O valor da medida de desempenho a optimizar: Cmax = 39 U.T. (valor dado pelo LB
correspondente ao último ramo explorado).
Diagrama de Gantt
O Diagrama de Gantt para a sequência de lotes obtida é o seguinte. Maq
Y-A
xis
5 10 15 20 25 35 40 45 tempo0 30
L1 L3
L1
L3 L4 L2
L4L3
L2
L4
M1
M2
M3
39
33
3110 203
3
7
7 10
17 19
19 20 32
33 34
L1
L2
Este diagrama permite confirmar o valor de Cmax anteriormente obtido e ilustra o funcionamento
da linha, indicando os instantes de início e de fim de cada lote em cada máquina da linha, assim
como os tempos de inactividade do sistema para este caso particular.
25
PROGRAMAÇÃO EM OFICINAS DE PRODUÇÃO Programação em oficinas de fabrico com m=2 máquinas
Método de Jackson
Este método tem como objectivo a minimização do makespan em problemas de programação da
produção em oficinas de fabrico com apenas 2 máquinas e qualquer número de entidades.
Aplicação do método:
{A} => Conjunto de entidades processadas só na máquina A.
{B} => Conjunto de entidades processadas só na máquina B.
{A,B} => Conjunto de entidades processadas primeiro em A e depois em B.
{B,A} => Conjunto de entidades processadas primeiro em B e depois em A.
Aplicar o método de Johnson aos conjuntos: {A,B} e {B,A}
O programa para as máquinas será:
Na máquina A: {A, B} {A} {B, A}
Na máquina B: {B, A} {B} {A, B}
Nota: A ordem para as entidades dos conjuntos {A} e {B} é arbitrária.
A visualização do programa pode fazer-se através de um diagrama de Gantt, de onde podemos
também obter o valor de makespan.
26
Exercício: Considere que numa pequena oficina tem 2 máquinas (A e B) e há necessidade de
produzir 7 lotes, cada um exigindo uma ou duas operações a serem executadas naquelas
máquinas. O tempo de processamento das operações de cada lote e a máquina onde são
executadas estão na tabela seguinte:
Lote L1 L2 L3 L4 L5 L6 L7
1ª oper. B 5 A 7 B 2 A 4 B 6 A 3 B 5
2ª oper. - - - - - - B 5 A 2 B 7 A 3
1.1. Determine a sequência que minimiza o tempo total de produção (makespan).
1.2. Construa o diagrama de Gantt e diga qual o valor do tempo total de produção.
Resolução
1.1 Método de Jackson
{A, B} = {L4, L6}
{B, A} = {L5, L7}
Aplicação do método de Johnson aos conjuntos {A,B} e {B,A}:
{A, B} = {L6, L4}
{B, A} = {L5, L7}
A ordem para as entidades dos conjuntos {A} e {B} é arbitrária:
{A} = {L2}
{B} = {L1, L3}
Logo o programa para as máquinas poderá ser:
Na máquina A: L6 L4 L2 L7 L5
Na máquina B: L7 L5 L1 L3 L6 L4
1.2 Diagrama de Gantt
Maq. A L6 L4 L2 L7 L5
Maq. B L7 L5 L1 L3 L6 L4
3 5 7 11 14 16 17 18 19 25
R: O tempo total de produção (makespan) é de 30 U.T.
30
27
PROGRAMAÇÃO EM OFICINAS DE PRODUÇÃO
Programação em oficinas de fabrico com m2 máquinas
Diagrama de Gantt e Regras de Prioridade
Procedimentos heurísticos
Para problemas com grandes dimensões, o enorme esforço computacional requerido torna
proibitiva a enumeração completa de todos programas semi-activos, mesmo que essa enumeração
seja truncada por um esquema de Branch and Bound.
Regras de prioridade
Algumas regras de prioridade estudadas por Jeremiah, Lalchandani and Schrage:
SPT (Shortest Processing Time): Selecciona a operação com menor tempo de processamento.
FCFS (First Come First Served): Selecciona a operação que chegou primeiro.
MWKR (Most Work Remaining): Selecciona a operação associada à entidade que tem maior
tempo de processamento a ser processado em operações a efectuar.
MOPNR (Most Operations Remaining): Selecciona a operação que tem o maior numero de
operações sucessoras.
LWKR (Least Work Remaining): Selecciona a operação associada à entidade que tem menor
tempo de processamento a ser processado em operações a efectuar.
RANDOM (Random): Selecciona operações aleatoriamente.
28
Exercício: Suponha ter de produzir, numa oficina, 4 lotes (L1 a L4) em 3 máquinas (M1 a M3),
de acordo com as sequências operatórias apresentadas na tabela. Utilizando a regra de prioridade
MWRT e a regra SPT para desempate, resolva o problema da afectação e sequenciação dos lotes
nas máquinas e diga qual o valor do tempo total de produção.
Operações Op.1 Op.2 Op.3
L1 M1 4 M2 3 M3 2
L2 M2 1 M1 4 M3 4
L3 M3 3 M2 2 M1 3
L4 M2 3 M3 3 M1 1
Resolução
M1 L1 L2 L3 L4
M2 L2 L4 L3 L1
M3 L3 L4 L2 L1
1 3 4 6 7 8 9 11 12 14
R: O tempo total de produção (makespan) é de 14 U.T.
Recommended