ejercicios resueltos de programación de producción

28
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

Upload: jesus

Post on 23-Jan-2016

66 views

Category:

Documents


0 download

DESCRIPTION

Ejercicios Resueltos de Programación de Producción

TRANSCRIPT

Page 1: Ejercicios Resueltos de Programación de Producción

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

Page 2: Ejercicios Resueltos de Programación de Producción

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

Page 3: Ejercicios Resueltos de Programación de Producción

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)

Page 4: Ejercicios Resueltos de Programación de Producción

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.

Page 5: Ejercicios Resueltos de Programación de Producción

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.

Page 6: Ejercicios Resueltos de Programación de Producción

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.

Page 7: Ejercicios Resueltos de Programación de Producción

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

Page 8: Ejercicios Resueltos de Programación de Producción

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.

Page 9: Ejercicios Resueltos de Programación de Producción

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.

Page 10: Ejercicios Resueltos de Programación de Producción

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.

Page 11: Ejercicios Resueltos de Programación de Producción

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.

Page 12: Ejercicios Resueltos de Programación de Producción

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

Page 13: Ejercicios Resueltos de Programación de Producción

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.

Page 14: Ejercicios Resueltos de Programación de Producción

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

Page 15: Ejercicios Resueltos de Programación de Producción

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.

Page 16: Ejercicios Resueltos de Programación de Producción

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

Page 17: Ejercicios Resueltos de Programación de Producción

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

Page 18: Ejercicios Resueltos de Programación de Producción

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.

Page 19: Ejercicios Resueltos de Programación de Producción

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

Page 20: Ejercicios Resueltos de Programación de Producción

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 ’.

Page 21: Ejercicios Resueltos de Programación de Producción

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}

Page 22: Ejercicios Resueltos de Programación de Producción

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

Page 23: Ejercicios Resueltos de Programación de Producción

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

Page 24: Ejercicios Resueltos de Programación de Producción

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.

Page 25: Ejercicios Resueltos de Programación de Producción

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.

Page 26: Ejercicios Resueltos de Programación de Producción

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

Page 27: Ejercicios Resueltos de Programación de Producción

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.

Page 28: Ejercicios Resueltos de Programación de Producción

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.