Programação da Produção

24

Transcript of Programação da Produção

Page 1: Programação da Produção
Page 2: Programação da Produção

Programação da Produção Máquinas Simples

(Aula 20)

Programação e Controle da ProduçãoProf. Daniel de Oliveira Mota

Dep. Engenharia de Produção

Page 3: Programação da Produção

Agenda

Programação da Produção

Máquinas Simples e Paralelas

Page 4: Programação da Produção

Exemplo

ORDEM 1 2 3 4 5 6

Pi 5 4 3 10 2 11

Ei 20 5 7 19 12 21

0 50255 10 15 20 30 35 40 45

Page 5: Programação da Produção

O PROBLEMA DE PROGRAMAÇÃO DA PRODUÇÃO INTERMITENTE

O problema de programação da produção intermitente, também conhecido como job

shop scheduling, envolve a alocação no tempo de múltiplas ordens a recursos produtivos,

maquinas e/ou homens, ordens essas que podem sofrer números diferentes de operações

diferentes, com diferentes roteiros e tempos.

•A palavra sequenciamento envolve a ordenação ou prioridade segundo a qual

ordens deverão ser processadas em máquinas. A sequência de um centro é aquela

das operações de todas as ordens cujo roteiro passa pelo centro. Chama-se

sequência de um problema ao conjunto de sequências de todos os centros produtivos.

•A palavra programação envolve a especificação, ou consideração implícita, das

datas de ocorrência de eventos. Os principais eventos, quando tratamos de

programação da produção, são os inícios e términos de operações.

A atividade de programação costuma, às vezes, ser considerada como estratégica porque

permeia diferentes atividades como suprimentos, estoques, produção, distribuição, e

porque bom atendimento a clientes implica em atendimento de datas, objeto de estudo e

objetivo da programação. Mesmo quem não aceita que seja uma atividade estratégica,

aceita que seu desempenho pode afetar muito as estratégias das empresas, a ponto de

invalidá-las.

Page 6: Programação da Produção

O problema característico da programação da produção pode ser colocado como segue: um sistema

de produção pode ter seu estado, num instante, caracterizado como sendo um sistema de filas, como

esquematizado a seguir:

fila de início

centros

Expedição

ordens nas filas

ordens em processamento nos centros

00o0o0oo

0

o

0

0

o 00o0

o0o0

0oo

o00

0o00oo

o0oo 00

0

Suponha que, a partir desse estado inicial, o sistema físico de produção é colocado em funcionamento

ou operação. O procedimento geral de programação a seguir, colocado sob forma de pseudo-código,

ilustra o problema que deve ser resolvido para os recursos produtivos em programação da produção:

Page 7: Programação da Produção

OBJETIVOS

ATENDIMENTO DE PRAZOS. Procuram mensurar a capacidade de atendimento das datas de entrega associadas às ordens, considerando antecipações e atrasos. Exemplo: porcentagem de ordens expedidas com atraso e atraso médio; ESTOQUES (em quantidade, conteúdo de trabalho estocado, valor e custo de manutenção). Procuram medir o congestionamento do sistema físico pesquisado, através dos estoques intermediários encontrados em datas. Exemplo: estoque em processos nos fins de período e relação entre ordens nas filas e ordens em processamento nas máquinas; VELOCIDADE DE FLUXO. Os objetivos desta classe procuram medir a velocidade de passagem das ordens no sistema produtivo considerado (tempos de operação e de fila). Exemplo: tempo médio de fluxo, ponderado ou não, e variância da distribuição dos tempos de fluxos; NÍVEL DE UTILIZAÇÃO DE RECURSOS PRODUTIVOS. Procuram medir a ocupação dos recursos produtivos, humanos ou máquinas, com relação às suas disponibilidades máximas possíveis de serem obtidas, consideradas as ineficiências fora de controle ou inevitáveis. Exemplo: porcentagem de utilização dos recursos produtivos e ociosidade dos recursos nos períodos; VELOCIDADE DE GANHOS. Procuram medir o ganho obtido com a expedição das ordens, normalmente através do faturamento. Exemplo: faturamento por período. Em que pese a importância atribuída à esse último objetivo na prática, ele é desconsiderado na grande maioria dos trabalhos teóricos porque está diretamente relacionado ao de atendimento de prazos, considerado como de muito maior importância. O valor das ordens pode ser considerado na ponderação de medidas de desempenho de atendimento de datas e de outros critérios.

Page 8: Programação da Produção

É um problema de natureza combinatória bastante complexo e de difícil solução analítica. Se desejassemos enumerar, por exemplo, todas as alternativas de sequenciamento de dez ordens em cinco máquinas, cada ordem ocupando uma e uma só vez cada máquina chegaríamos a (10!)5 ou, aproximadamente, 6,3x1032 sequências. Num caso real, o número de alternativas viáveis poderia diminuir pela existência de roteiros mais simples, mas ele ainda seria provavelmente muito alto. Esse fato torna difícil a abordagem através de modelos otimizantes, e difícil a obtenção de modelos eficientes que conseguiriam a solução ótima sem passar pela desagradável enumeração total de alternativas, implicita ou explícitamente. Além disso, as restrições teóricas não podem ser aceitas em muitas aplicações reais, de forma que essa área é campo fértil para o desenvolvimento de heurísticas que consigam resolver o problema de programação adequadamente.

Restrições de PesquisaSão várias as hipóteses simplificadoras ou restrições encontradas na maioria das pesquisas com modelos de sequenciamento. Resumindo-as em palavras simples, os objetivos da programação, os atributos das ordens (roteiros, tempos de processamentos, datas de entrega e outros) e das máquinas (disponibilidades, características de operação e outros) são conhecidos no início de sua consideração na programação, não existe dependência entre ordens nem entre máquinas, e não são consideradas complicações que, infelizmente, ocorrem no mundo real. Se, por um lado, isso se justifica em pesquisa pela complexidade e dificuldade de enfrentamento do problema de programação, por outro lado gera uma distância muito grande entre o que é pesquisado e as necessidades dos usuários desse conhecimento no mundo real.

COMPLEXIDADE DO PROBLEMA DE PROGRAMAÇÃO

Page 9: Programação da Produção

Problema motivaçãoJob p d

A 4 20

B 2 20

C 9 20

D 12 20

E 15 20

F 1 20

G 5 20

H 1 20

I 3 20

J 7 20

ABCDEFGHIJ

M1

M2

M3

Obj.: Atender ao prazo d

Page 10: Programação da Produção
Page 11: Programação da Produção

algoritmootimizanteeficiente

tempo discreto

tempo contínuo

busca com intensificação

7

explícita

orientados àgargalo

inexistente

enumeraçãototal

implícita

programação inteira

branch& bound

programação dinâmica

4

2busca construtivos

busca aleatória

8em vizinhança

10local oudireta

beamsearch

5

1

sistemas especialista

s

estendida

11

simulated annealing

tabusearch

geneticalgorithm

13

orientados àsequência

6

gargaloúnico

gargalomóvel

9

12aprendidaconstruída

algoritmoheurístico eficiente

regras desequenciament

o

redes neurais

14

15

3

regras det sequenciamento sem espera

regras det sequenciamento com espera

em árvore

graspantcolony

regras probsequenciamento

sem espera

Critérios de Classificação

1 quanto à otimalidade 9 quanto ao número de gargalos

2 quanto à forma de enumerar as alternativas 10 quanto à estratégia de descarte de ramos

3 quanto ao número de passos 11 quanto à possibilidade de diversificação

4 quanto à forma de limitação de alternativas 12 quanto à origem da sequência

5 quanto à existência de intensificação 13 quanto à estratégia de intensificação e diversificação

6 quanto ao foco do procedimento 14 quanto à forma de obtenção de seqüências

7 quanto à forma de consideração do tempo 15 quanto ao uso de estatística e a inserção ou não de ociosidade ou espera

8 quanto à estrutura de dados usada para busca

Classificação Hierarquizada dos Modelos de Solução para o Problema de Job Shop Scheduling

modelos de solução para o problema de job shop scheduling

otimizantes heurísticos

Page 12: Programação da Produção

Regras de Seqüenciamento

As regras de seqüenciamento são heurísticas usadas para selecionar, a partir de informações sobre os lotes ou sobre o estado do sistema produtivo, qual dos lotes esperando na fila de um grupo de recursos terá prioridade de processamento, bem como qual recurso deste grupo será carregado com esta ordem. Geralmente, as informações mais importantes estão relacionadas com o

tempo de processamento (leadtime) e com a data de entrega, que podem ser estabelecidos tendo por base as informações dos produtos finais ou dos lotes individualmente.

Soluções otimizadas empregam a Pesquisa Operacional.

Page 13: Programação da Produção

Regras de Sequenciamento

As regras de seqüenciamento podem ser classificadas segundo várias óticas:

Regras estáticas e regras dinâmicas;

Regras locais versus regras globais;

Regras de prioridades simples, combinação de regras de prioridades simples, regras com índices ponderados e regras heurísticas sofisticadas.

Não existem regras de seqüenciamento que sejam eficientes em todas as situações. Geralmente, a eficiência de um seqüenciamento é medida em termos de três fatores:

o lead time médio

o atraso médio

o estoque em processo médio.

Porém nada substitui um bom planejamento mestre da produção e a utilização equilibrada dos recursos produtivos.

Page 14: Programação da Produção

Regras de SeqüenciamentoSigla Especificação Definição

PEPS Primeira que entra primeira

que sai

Os lotes serão processados de acordo com sua chegada no recurso.

MTP Menor tempo de

processamento

Os lotes serão processados de acordo com os menores tempos de

processamento no recurso.

MDE Menor data de entrega Os lotes serão processados de acordo com as menores datas de

entrega.

IPI Índice de prioridade Os lotes serão processados de acordo com o valor da prioridade

atribuída ao cliente ou ao produto.

ICR Índice crítico Os lotes serão processados de acordo com o menor valor de:

( )data de entrega - data atual tempo de processamento/

IFO Índice de folga Os lotes serão processados de acordo com o menor valor de:

data de entrega - tempo de processamento restante

numero de operacoes restante

IFA Índice de falta Os lotes serão processados de acordo com o menor valor de:

quantidade em estoque / taxa de demanda

Page 15: Programação da Produção

Regras de Seqüenciamento

Algumas características importantes com relação as regras

empregadas:

Simplicidade: As regras devem ser simples e rápidas de entender e

aplicar;

Transparência: A lógica por trás das regras deve estar clara, caso contrário

o usuário não verá sentido em aplicá-la;

Interatividade: Devem facilitar a comunicação entre os agentes do

processo produtivo.

Gerar prioridades palpáveis: As regras aplicadas devem gerar prioridades

de fácil interpretação.

Facilitar o processo de avaliação: As regras de seqüenciamento devem

promover, simultaneamente à programação, a avaliação de desempenho de

utilização dos recursos produtivos.

Page 16: Programação da Produção

Regras de Sequenciamento - Exemplos Aleatória;

Primeira a chegar ao centro, primeira a ser atendida;

Primeira a chegar ao sistema, primeira a ser atendida;

Última a chegar, primeira a ser atendida;

Menor tempo de processamento;

Folga estática: data de entrega menos data de chegada no centro;

Folga estática dividida pelo número de operações restantes;

Menor data de entrega;

Folga dinâmica: folga estática menos tempo de processamento restante;

Folga dinâmica dividida pelo número de operações restantes;

Folga dinâmica dividida pelo tempo das operações restantes;

Menor tempo de processamento truncado: prioridade para ordens que já esperaram mais do que t unidades de tempo;

Alternância entre menor tempo de processamento e primeira a chegar ao centro primeira a ser atendida;

Menor conteúdo de trabalho da fila subsequente;

Duas classes de menor tempo de processamento: uma classe crítica com folga dinâmica negativa e sequenciada pelo menor tempo de processamento e outra, com mesma regra de menor tempo de processamento, acionada quando a primeira estiver vazia; e

Custo/Tempo: na classe crítica e prioritária (folga dinâmica negativa), sequencia-se pelo menor tempo de processamento. Na classe com atrasos não críticos, sequencia-se pela relação custo de atraso/tempo de operação. Na classe sem atraso, pelo menor tempo de processamento.

Page 17: Programação da Produção

Medidas de desempenho Uma análise dos trabalhos publicados permite concluir, de maneira ampla, que as diferentes regras

utilizadas afetam de forma significativa as medidas de desempenho, porém, nenhuma delas pode ser

considerada superior levando-se em conta um conjunto de critérios considerados.

Além disso, não se pode garantir sem restrições o desempenho relativo de regras com respeito a um

determinado critério, pois eles são influenciados pela hipóteses e parâmetros adotados nas pesquisas,

e não se conhece claramente essa influência.

Isso sugere o uso cuidadoso dos resultados de pesquisas, mesmo porque nos mesmos nem sempre

são colocadas, detalhada e claramente, as condições experimentais.

Page 18: Programação da Produção

Modelo Misto Lead time e Carga Modelos Operacionais

Para Limitação de Estoque no Chão da Fábrica

Limitação Global de Estoques (Conwip)

KanBan (Estoque Base)

Célula de Manufatura (sem estoque intermediário)

Efeito nos múltiplos objetivos

Para Sequenciamento em Tempo Real

Sequenciamento Real Time

Necessidade de programa

Page 19: Programação da Produção

EXEMPLOS DE ALGORITMO OTIMIZANTE EFICIENTE

Um Centro/Máquina Única/N ordens

Notação

wi = peso da ordem i ti = tempos de processamento da ordem i

mtp = menor tempo de processamento mtpp = menor tempo de processamento ponderado

mtprp = menor tempo de processamento restante ponderado mde = menor data de entrega

fi = folga dinâmica = (data entrega i - instante t do cálculo - ti)

1 Otimizante/Estático ou Dinâmico

Obj = Min Tempo de Fluxo Ponderado

Se wis diferentes sequenciar por wi/ti decrescente (Regra mtpp) Se wis iguais então sequenciar por ti crescente (Regra mtp)

Page 20: Programação da Produção

2 Otimizante/Estático

Obj = Min Máximo Atraso Sequenciar por menor data de entrega (Regra mde)

3 Otimizante/ Estático/Pesos=1

Obj = Min no. de ordens atrasadas

Algoritmo de Hodgson

(1) Ordenar mde (2) Se não existir atraso => FIM

(3) Se existir encontrar a primeira atrasada na posição k (4) Mover a ordem na posição j com maior tempo de processamento

(1<=j<=k)

(5) Recalcular datas de término sem a ordem j e retornar a (2)

exemplo:

ORDEM 1 2 3 4 5 6ti 5 4 3 10 2 11ei 20 5 7 19 12 21

Page 21: Programação da Produção

Regras de Sequenciamento

Regra de Johnson minimiza o leadtime total de um conjunto de ordens processadas em dois recursos sucessivos:

Selecionar o menor tempo entre todos os tempos de processamento da lista de ordens a serem programadas nas máquinas A e B, no caso de empate escolha qualquer um;

Se o tempo escolhido for na máquina A, programe esta ordem no início. Se o tempo escolhido for na máquina B, programe esta ordem para o final.

Elimine a ordem escolhida da lista de ordens a serem programadas e retorne ao passo 1 até programar todas as ordens.

Page 22: Programação da Produção

Regras de Seqüenciamento

Exemplo

Maq.A

Maq.B

Horas2 6 9 15 20 2910 23

OF4 OF3 OF1 OF2

OF4 OF5 OF3 OF1

OF5

OF2

OF4 OF5OF2Maq.A

Maq.B

Horas2 166 23

OF3 OF1

OF4 OF5OF3 OF1 OF2

19 282511

MTP

Johnson

Regras Leadtime

Total (h)

Leadtime

Médio (h)

Atraso Médio (h) Tempo de Espera

Médio (h)

PEPS 31 31/5 = 6,2 (0+0+11+18+22)/5 = 10,2 (0+0+2+5+5)/5 = 2,4

MTP 29 29/5 = 5,8 (0+0+2+5+9)/5 = 3,2 (0+0+0+0+0)/5 = 0

MDE 29 29/5 = 5,8 (0+1+3+6+9)/5 = 3,8 (0+1+1+1+0)/5 = 0,6

IPI 31 31/5 = 6,2 (0+8+10+13+22)/5 = 10,6 (0+4+4+4+5)/5 = 4,2

ICR 32 32/5 = 6,4 (0+0+10+13+22)/5 = 9,0 (0+0+2+2+5)/5 = 1,8

IFO 29 29/5 = 5,8 (0+0+7+7+9)/5 = 4,6 (0+0+3+2+0)/5 = 1,0

Johnson 28 28/5 = 5,6 (0+0+1+5+19)/5 = 5,0 (0+0+0+0+2)/5 = 0,4

Page 23: Programação da Produção

Tres Centros/Flow Shop/Máquinas Únicas/N ordens

1 Otimizante/Chegada Estático/Disponibilidade Estático Obj = Min Horizonte de Programação

Extensão do Algoritmo de S.M. Johnson com condições:

• roteiros iguais maqA->maqB->maqC

• uma das duas condições é verdadeira:

• min tiA >= max tiB ou min tiC >= max tiB ou então • tiB <= Min (tiA;tiC) para qualquer ordem i

Algoritmo

(1) Transformar o problema no de 2 máquinas fictícias M e N, com os seguintes tempos: tiM = tiA + tiB e tiN = tiB + tiC ((2) Resolver aplicando o algoritmo de Johnson para 2 máquinas. A sequência obtida é ótima para o problema original de 3 máquinas

exemplo:

ordem A B C

1 12 3 9

2 11 7 9

3 18 6 12

4 8 2 11

5 9 8 14

min tiA = 8 max tiB = 8 min tiC = 9

Page 24: Programação da Produção

Simulação de Regras de Sequenciamento

Embora este procedimento não seja otimizante, e considere uma ou poucas das muitas alternativas de

sequenciamento possíveis, os resultados práticos e as perspectivas de aplicação são confortadores. Citaremos

algumas de suas vantagens:

Permite a consideração de um grande número de centros produtivos, limitados por homens e/ou

máquinas, e com as mais diversas configurações;

Admite tratamento estocástico aos elementos do problema, bem como a utilização de estimativas reais

determinísticas;

Permite a consideração de detalhes operacionais e restrições complexas dos problemas reais.

Permite a consideração e mensuração de múltiplos objetivos;

Pode ser utilizado em sistemas dinâmicos;

São viáveis, de maneira geral, em termos de processamento de dados.