Programação da Produção
Transcript of 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
Agenda
Programação da Produção
Máquinas Simples e Paralelas
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
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.
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:
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.
É 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
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
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
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.
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.
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
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.
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.
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.
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
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)
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
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.
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
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
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.