Liga-se a sistemas ERP e MES como

recursos

Programação job shop: definição, exemplo e métodos

Compreenda a programação job shop com um exemplo de duas tarefas, compare métodos e veja como o SkyPlanner recalcula o trabalho em máquinas partilhadas.

Jussi Mäntylä Especialista em Planeamento de Produção, SkyPlanner Atualizado 4 de Outubro, 2026 19 min de leitura
Two batches follow opposite routes between shared milling and drilling workstations
Neste artigo
  1. O que decide a programação job shop
  2. Job shop, flow shop, flexible job shop e produção por encomenda
  3. Um exemplo de programação job shop: as gamas operatórias das tarefas A e B cruzam-se
  4. Onde surge a programação job shop no SkyPlanner
  5. Os dados de entrada que tornam utilizável uma programação job shop
  6. Ligar os dados das encomendas ao modelo de programação
  7. Métodos de programação e o objetivo que servem
  8. O que muda quando B é urgente ou uma máquina está indisponível?
  9. O que verificar antes de abandonar a folha de cálculo
  10. Perguntas frequentes
  11. O que é a programação job shop?
  12. Qual é a diferença entre a programação job shop e a programação flow shop?

Início » Recursos » Programação job shop: definição, exemplo e métodos

Tempo de leitura estimado: 15 minutos

A programação job shop atribui horas de início e recursos partilhados a tarefas cujas operações seguem gamas operatórias específicas e diferentes entre si. Mantém a ordem das etapas do processo de cada tarefa e impede que operações concorrentes utilizem o mesmo recurso em simultâneo. O resultado indica às equipas de produção o que pode avançar a seguir e o que tem de aguardar.

Pontos-chave

Uma programação job shop liga a gama operatória de cada tarefa à disponibilidade partilhada dos centros de trabalho, e não apenas à posição da tarefa numa lista de encomendas.

Máquinas diferentes podem processar tarefas diferentes em paralelo, mas cada tarefa tem de respeitar a sua sequência de operações.

O menor tempo total de conclusão e o prazo de um cliente urgente podem exigir programações diferentes.

No SkyPlanner, as etapas de trabalho ordenadas e os centros de trabalho elegíveis fornecem o modelo de gama operatória; o Arcturus, o motor de programação do SkyPlanner, recalcula o trabalho programado e o Gantt apresenta-o.

Verifique a colocação das tarefas e os dados das gamas operatórias antes de usar Reschedule all: este botão reotimiza as tarefas que já estão no Gantt.

O que decide a programação job shop

Numa oficina de maquinação, uma encomenda pode exigir fresagem seguida de furação, enquanto outra exige furação antes da fresagem. Ambas as encomendas disputam as mesmas máquinas, mas a próxima máquina utilizável é diferente. Ordenar as encomendas por data de entrega não diz, só por si, ao operador de fresagem qual operação pode começar.

Uma programação resolve três decisões interligadas: que operação está pronta, que recurso a pode processar e quando pode ser executada. A prontidão depende das operações anteriores e dos materiais necessários à produção. A disponibilidade do recurso depende do restante trabalho já atribuído a esse recurso. Alterar uma atribuição pode, por isso, afetar várias encomendas mais adiante nas respetivas gamas operatórias.

A programação job shop é um problema específico dentro da programação da produção. A programação da produção abrange também contextos com gamas operatórias mais simples ou mais repetitivas. A distinção job shop é importante porque uma única sequência de encomendas para toda a fábrica não consegue descrever por completo a sequência ao nível da operação em cada centro de trabalho.

Job shop, flow shop, flexible job shop e produção por encomenda

ConceitoO que descreveQuestão prática
Job shopAs tarefas seguem as suas próprias sequências de operações específicas através de recursos partilhadosComo podem gamas operatórias diferentes usar as mesmas máquinas sem conflitos?
Flow shopAs tarefas seguem a mesma sequência de máquinasEm que sequência devem as tarefas percorrer essa gama operatória comum?
Flexible job shopUma operação pode usar uma de várias máquinas elegíveisQue máquina elegível e que hora de início deve receber cada operação?
Produção por encomendaUma encomenda de cliente desencadeia a produçãoQuando deve ser lançada a produção de uma determinada encomenda?

O modelo job shop clássico atribui uma máquina especificada a cada operação. A programação flexible job shop acrescenta ao problema de temporização a escolha da máquina. A produção por encomenda descreve o fator que desencadeia a produção, pelo que uma fábrica pode ser, em simultâneo, de produção por encomenda e organizada como job shop.

A documentação do OR-Tools da Google mostra com clareza as duas restrições fundamentais: uma operação segue a sua antecessora e uma máquina só trata uma operação de cada vez. No chão de fábrica, os calendários de trabalho, os materiais e as pessoas acrescentam outras condições a esse modelo básico.

Um exemplo de programação job shop: as gamas operatórias das tarefas A e B cruzam-se

Os números seguintes são ilustrações hipotéticas. Dois centros de trabalho, fresagem M e furação D, estão disponíveis desde o instante 0. Cada um trata uma operação de cada vez. Para maior clareza, este exemplo não tem tempo de preparação, pausas de calendário, falta de material nem operador partilhado, e cada operação decorre sem interrupções.

O conflito é simples: A e B precisam das mesmas máquinas em ordem oposta, pelo que B tem de esperar pela fresagem mesmo com a furação livre.

TarefaPrimeira operaçãoSegunda operaçãoTempo total de processamento
AFresagem M: 2 unidades de tempoFuração D: 1 unidade de tempo3 unidades de tempo
BFuração D: 1 unidade de tempoFresagem M: 1 unidade de tempo2 unidades de tempo

Se o planeador concluir toda a tarefa A antes de iniciar B, A usa a fresagem de 0 a 2 e a furação de 2 a 3. B usa depois a furação de 3 a 4 e a fresagem de 4 a 5. As tarefas terminam no instante 5, embora a furação estivesse disponível durante a operação inicial de fresagem de A.

Permitir que as gamas operatórias se sobreponham dá origem a esta programação viável:

Centro de trabalhoTempo 0 a 1Tempo 1 a 2Tempo 2 a 3
Fresagem MA, primeira parteA, segunda parteB
Furação DBParadoA

Todo o trabalho termina agora no instante 3. Este é o makespan mínimo para o modelo ilustrado: a fresagem tem de processar 3 unidades de tempo de trabalho numa só máquina, pelo que nenhuma programação viável pode terminar mais cedo. B conclui a furação no instante 1, mas não pode iniciar a fresagem até A libertar M no instante 2. O intervalo de inatividade da furação não significa que o planeador se esqueceu de uma operação: A ainda está a ser fresada e B já usou a furação.

O tempo total de processamento é de 5 unidades, mas está distribuído por duas máquinas. Essa soma não é o tempo decorrido até à conclusão na fábrica. Inversamente, colocar as duas tarefas no instante 0 numa folha de cálculo, sem verificar as operações individuais, ocultaria a sua concorrência posterior pela fresagem.

O tempo até à conclusão da última tarefa chama-se makespan. É uma medida útil quando o objetivo é concluir rapidamente todo este conjunto de trabalho. Não indica se a encomenda de um cliente específico termina a tempo. Essa distinção torna-se importante quando B tem um prazo urgente.

Onde surge a programação job shop no SkyPlanner

No SkyPlanner, as gamas operatórias de A e B tornam-se etapas de trabalho ordenadas com centros de trabalho elegíveis: A precisa de fresagem e depois furação, e B precisa de furação e depois fresagem. Configure no modelo de produção os centros de trabalho, os turnos, os operadores, as prioridades e os materiais, e indique as gamas operatórias e as durações das tarefas. O programador respeita a sequência de etapas de trabalho definida e seleciona o melhor centro de trabalho elegível disponível para cada passo. O software de programação da produção do SkyPlanner programa automaticamente o trabalho de fabrico discreto, tendo em conta a disponibilidade de materiais, os turnos, as prioridades e as datas de entrega. Os planeadores decidem, a IA obedece através de prioridades predefinidas.

Depois de A e B estarem colocadas no Gantt, Reschedule all, o botão de recálculo do SkyPlanner também conhecido como King button, aciona o Arcturus para recalcular o trabalho programado; o Gantt mostra as atribuições e a sequência resultantes. Reschedule all não move tarefas do separador Não programadas para a programação. Estabeleça a colocação inicial das tarefas antes de avaliar a reprogramação. Para explorar o fluxo de trabalho, experimente o SkyPlanner com dados de demonstração ou use os Primeiros passos assistidos por IA no SkyPlanner Assistant; marque uma demonstração para falar das suas gamas operatórias e prioridades.

Os dados de entrada que tornam utilizável uma programação job shop

Um algoritmo consegue sequenciar o modelo de produção que recebe. A primeira tarefa do planeador é garantir que esse modelo reflete a realidade da fábrica. Para A e B, comece pelas gamas operatórias e teste depois a disponibilidade e a informação das encomendas que vai influenciar a programação.

Dado a verificarO que estabelecerDiagnóstico de A e B
Ordem do processoA sequência de operações reflete as dependências reais de fabricoA exige fresagem antes da furação; B exige o inverso
DuraçõesCada operação ativa tem uma duração positiva e credívelA duração da fresagem de A não pode ficar por preencher ao avaliar a sua data de conclusão
Elegibilidade dos centros de trabalhoCada etapa de trabalho tem pelo menos um centro de trabalho elegívelA etapa de fresagem de B precisa de um centro de trabalho capaz de executar essa operação
Disponibilidade de trabalhoOs turnos e a disponibilidade dos recursos correspondem ao tempo de produção executávelM tem de estar efetivamente disponível durante o intervalo atribuído a A
OperadoresO modelo de produção reflete a disponibilidade relevante dos operadoresNão se pode assumir que A e B decorrem de forma independente se a mesma pessoa for necessária para ambos
MateriaisA disponibilidade dos materiais necessários está representadaB pode não conseguir iniciar a furação mesmo quando D está livre
Prioridades e datas de entregaA preferência pretendida pelo negócio e a data prometida estão registadasSe B for urgente, essa preferência tem de estar visível antes do recálculo

No SkyPlanner, uma tarefa não pode ser programada se alguma etapa de trabalho tiver zero centros de trabalho elegíveis. Se a etapa de fresagem de B não tiver nenhum centro de trabalho elegível, recalcular repetidamente a programação não resolve o percurso em falta. Verifique primeiro a elegibilidade dessa etapa. Verifique também se B continua como Não programada, o que é uma questão distinta da reordenação do trabalho já programado.

O Getting Started cria centros de trabalho, produtos e fluxos. Os fluxos ligam as etapas do processo por ordem, as durações e a gama operatória por centro de trabalho. Um produto fabricado preparado para o fluxo precisa de durações positivas e de gama operatória para as suas operações ativas. Valide estas bases antes de usar o Gantt resultante para avaliar a qualidade da programação.

Em seguida, verifique a programação a capacidade finita: o trabalho atribuído precisa de capacidade disponível. Uma máquina registada como disponível durante todo o dia dará uma imagem diferente da de uma máquina disponível apenas num determinado turno. Se um operador for partilhado, o exemplo ilustrativo de programação em paralelo de A e B exige também essa verificação adicional de capacidade.

Ligar os dados das encomendas ao modelo de programação

Os sistemas ERP e MES existentes fornecem o contexto de dados das encomendas, dos produtos e da produção. O SkyPlanner integra-se com qualquer sistema ERP ou MES através da sua REST API aberta. Utilize o caminho de integração para definir como os dados de produção relevantes chegarão ao programador e qual o sistema que os mantém.

Para A e B, defina de onde provêm os seus percursos, durações, informação sobre materiais e datas de entrega. Se uma data de entrega no ERP mudar e o modelo de planeamento mantiver a data anterior, o planeador está a avaliar uma questão de produção diferente. A titularidade dos dados e a consistência das atualizações fazem parte da avaliação da programação, a par do resultado visual.

Métodos de programação e o objetivo que servem

Os métodos de programação diferem na parte do problema que consideram. Um método de despacho local escolhe a próxima operação pronta com base num critério. Um modelo de otimização matemática considera restrições e um objetivo especificados. Um programador automático da produção liga os cálculos de programação ao modelo de produção mantido pela fábrica.

AbordagemPonto de partida útilCompromisso a analisar
Primeiro a chegar, primeiro a ser servidoManter a ordem de chegada compreensívelUma operação longa no início pode atrasar trabalho urgente posterior
Data de entrega mais próximaDar atenção aos prazos que se aproximamUma tarefa urgente pode ainda estar à espera de uma predecessora ou de um recurso indisponível
Menor tempo de processamentoFazer avançar as operações curtas que estão prontasO trabalho mais longo pode ficar a aguardar mesmo quando o compromisso com o cliente é importante
Rácio críticoComparar o tempo até à data de entrega com o tempo de processamento restanteO rácio precisa de estimativas atualizadas do trabalho restante
FolgaComparar o tempo até à data de entrega menos o tempo de processamento restanteUma folga pequena sinaliza urgência, mas não elimina os conflitos de recursos
Otimização matemáticaExplorar um objetivo definido, como o makespanA resposta depende das restrições e do objetivo incluídos no modelo
Programação automática da produçãoRecalcular as atribuições com base em percursos, disponibilidade e prioridades mantidosDados de entrada incorretos continuam a produzir uma imagem incorreta do chão de fábrica

O menor tempo de processamento (SPT) tem uma garantia específica no modelo básico de uma única máquina: quando tarefas independentes estão disponíveis em simultâneo, os tempos de processamento são conhecidos e o trabalho decorre sem interrupções e sem tempos de preparação dependentes da sequência, minimiza o tempo médio de fluxo e o inventário médio de produção em curso. Essa garantia não se estende automaticamente a um job shop com percursos cruzados. As notas de ensino sobre programação job shop da Universidade de Washington explicam o resultado para uma única máquina e o papel do SPT na redução do inventário de produção em curso.

No exemplo de A e B, escolher primeiro a operação curta de furação de B é apenas parte da decisão. A pode ainda estar a ocupar a fresagem quando B lá chegar. O planeador tem de olhar à frente para o próximo recurso partilhado, e não avaliar a sequência apenas pela hora de conclusão da primeira operação.

Para uma carga de trabalho estável e simples, uma abordagem de despacho transparente pode ser útil. Com percursos cruzados e alterações frequentes, o planeador precisa de uma forma de avaliar repetidamente os efeitos a jusante.

Antes de comparar resultados, defina o objetivo de forma explícita. Além do makespan, os objetivos incluem o atraso (quanto as tarefas terminam depois das respetivas datas de entrega) e o tempo de fluxo (tempo desde a libertação até à conclusão, incluindo as esperas). Pretende terminar rapidamente todo este conjunto, proteger a data de entrega de B ao cliente, ou descobrir que promessa a capacidade disponível consegue suportar? Compare as programações com o mesmo objetivo e os mesmos dados de produção. Um melhor makespan, por si só, não responde às três perguntas.

O que muda quando B é urgente ou uma máquina está indisponível?

Suponha que B tem entrega no instante 2, no mesmo exemplo hipotético. Na programação com sobreposição apresentada acima, B termina no instante 3. Para cumprir o prazo mais cedo, o planeador pode dar-lhe a fresagem antes de A:

TarefaPrimeira operaçãoSegunda operaçãoConclusão
BFuração D: 0 a 1Fresagem M: 1 a 2Instante 2
AFresagem M: 2 a 4Furação D: 4 a 5Instante 5

A fresagem espera deliberadamente de 0 a 1, para estar disponível quando B terminar a furação. B cumpre o prazo ilustrativo, mas o conjunto termina mais tarde. Manter todas as máquinas ocupadas o mais cedo possível nem sempre é, por isso, a decisão certa para uma encomenda urgente.

Trata-se de um compromisso entre prioridades. O planeador escolhe que compromisso é mais importante e verifica o efeito em A. No SkyPlanner, as prioridades predefinidas dão essa orientação à programação automática; o planeador analisa depois o Gantt face ao objetivo de produção e aos recursos disponíveis.

Suponha agora que M fica indisponível durante o intervalo de fresagem planeado para A. A atualização da disponibilidade altera as opções viáveis tanto para A como para B, mesmo sem qualquer alteração nos percursos. Se existir outra máquina realmente elegível, a escolha da máquina passa a ser relevante. Se nenhuma for elegível, é preciso resolver a falta de capacidade de fresagem antes de qualquer uma das tarefas poder concluir o seu percurso.

O recurso limitativo também pode mudar consoante a mistura de encomendas. A fresagem condiciona a sobreposição no exemplo, mas acrescentar trabalho com muita furação altera a carga de D. Analise os gargalos de produção no contexto da carga de trabalho atual. Não deduza o próximo gargalo apenas a partir da máquina mais ocupada na programação da semana passada.

Ao rever uma programação atualizada, acompanhe a tarefa afetada ao longo das operações que lhe restam. Para B, terminar a furação mais cedo só ajuda se a fresagem puder seguir-se. Para A, uma janela de furação disponível só ajuda depois de a fresagem estar concluída.

O que verificar antes de abandonar a folha de cálculo

Uma folha de cálculo consegue representar a ordem das operações, as durações e a ocupação dos centros de trabalho de A e B. Com um modelo pequeno e estável, o planeador pode inspecionar os conflitos diretamente. O trabalho torna-se mais difícil de manter quando uma alteração obriga a rever muitas operações dependentes, calendários de recursos e prioridades de clientes.

Utilize um cenário de produção representativo para avaliar a próxima ferramenta. Inclua percursos cruzados como os de A e B, um prazo urgente e uma alteração de disponibilidade. Inspecione primeiro o modelo de dados de entrada; depois, inspecione a programação. Uma cronologia bem apresentada não compensa uma gama operatória de fresagem em falta ou um turno incorreto.

Uma sequência de avaliação útil é:

1. Associe cada operação à sua antecessora, à sua duração e ao centro de trabalho elegível.

2. Confirme a disponibilidade de materiais e de recursos para o período de produção previsto.

3. Confirme como as novas tarefas passam a ficar programadas, separadamente do recálculo do trabalho existente.

4. Defina as prioridades e as datas de entrega que determinam a decisão.

5. Reveja a progressão de cada tarefa no Gantt e a carga dos recursos partilhados.

6. Altere um dado de entrada e analise as consequências tanto para a encomenda urgente como para o restante trabalho.

O caso da Eskomatic, de maquinagem por contrato, que foi publicado, oferece uma observação operacional útil: as filas de trabalho geridas manualmente eram apenas parte da dificuldade. A visibilidade limitada dos materiais tornava mais difícil antecipar faltas. A Eskomatic descreve filas de trabalho mais claras no Gantt e uma programação automática da carga que apoiam a definição das datas de entrega. No seu caso, ver o trabalho que se avizinha e as condições necessárias para o executar foi importante em conjunto.

Na sua própria avaliação, junte estas duas vertentes: a equipa consegue compreender a fila e a fila representa os materiais e a capacidade realmente disponíveis? Para A e B, isso significa explicar tanto porque é que B espera por M como se alguma das tarefas pode arrancar com os elementos de que já dispõe.

Comece um período de teste do SkyPlanner para explorar dados de demonstração ou os primeiros passos assistidos por IA. Agende uma demonstração com gamas operatórias representativas, disponibilidade de centros de trabalho e uma alteração de prioridade, para ver como o fluxo de programação se aplica à sua produção.

Perguntas frequentes

O que é a programação job shop?

A programação job shop determina quando é executada cada operação num recurso partilhado, respeitando a sequência da gama operatória de cada tarefa. O seu desafio distintivo é a interação entre gamas operatórias diferentes: no exemplo, B pode terminar a furação e, ainda assim, esperar pela fresagem porque A ocupa o centro de trabalho. Avalie a calendarização ao nível da operação, e não apenas as datas ao nível da encomenda.

Qual é a diferença entre a programação job shop e a programação flow shop?

Um modelo flow shop atribui às tarefas a mesma sequência de máquinas. Um modelo job shop atribui a cada tarefa a sua própria sequência especificada. Se A e B precisassem ambas de fresagem seguida de furação, partilhariam uma gama operatória de flow shop. As suas gamas operatórias opostas, neste artigo, criam o conflito de programação job shop no centro de trabalho de fresagem.

O que é a programação job shop flexível?

A programação job shop flexível permite que uma operação seja executada numa máquina à escolha entre várias máquinas elegíveis. A decisão inclui tanto a atribuição da máquina como a calendarização. Se B puder usar um segundo centro de trabalho de fresagem adequado, isso cria uma opção de programação adicional. A elegibilidade tem de descrever uma máquina que consiga de facto executar a operação, e não apenas uma que tenha tempo livre.

A produção em job shop é o mesmo que a produção por encomenda?

Não. A produção por encomenda descreve a produção desencadeada pela encomenda de um cliente, ao passo que o job shop descreve o trabalho organizado em torno de gamas operatórias de operações diferentes e de recursos partilhados. A e B, específicas de clientes, poderiam ser tarefas de produção por encomenda com gamas operatórias de job shop. Uma fábrica de produção por encomenda também pode usar uma gama operatória comum, pelo que o fator desencadeador da encomenda não define a topologia de programação.

Que dados precisa uma programação job shop?

Comece pelas operações ordenadas, durações positivas e centros de trabalho elegíveis e, depois, acrescente a disponibilidade de trabalho, os operadores, os materiais, as prioridades e as datas de entrega. No SkyPlanner, uma etapa sem centro de trabalho elegível impede que a tarefa seja programada. Se B não aparecer no Gantt, analise a gama operatória e a colocação inicial antes de avaliar o resultado da reprogramação.

Que método de programação job shop deve usar um planeador de produção?

Escolha um método em função do objetivo e da frequência de alteração. Os métodos simples de despacho podem apoiar decisões estáveis; as gamas operatórias que interagem exigem atenção aos conflitos de recursos a jusante. Para A e B, a programação com menor duração total (makespan) é diferente da que protege o prazo mais cedo de B. Compare os métodos usando os mesmos dados de entrada e a mesma prioridade do cliente.

É possível construir uma programação job shop em Excel?

Sim, uma folha de cálculo consegue representar gamas operatórias, durações e a ocupação dos centros de trabalho, mas tem de verificar as sequências de operações e os conflitos de recursos, e não apenas datas de encomenda sobrepostas. Quando as alterações afetam repetidamente operações dependentes, avalie quanta reconciliação manual o modelo exige e se o planeador consegue explicar de forma fiável as atribuições de recursos e as datas de conclusão atualizadas.

O Reschedule all programa as tarefas do separador Não programadas?

Não. O Reschedule all recalcula as tarefas já colocadas no Gantt; não coloca tarefas do separador Não programadas. Para A e B, verifique primeiro a colocação: consegue ver ambas as tarefas no Gantt? Se B continuar não programada, resolva a sua colocação inicial antes de comparar as duas gamas operatórias. Isto separa uma tarefa em falta de uma questão de sequenciação, de modo que o planeador avalia o trabalho que realmente está incluído no recálculo.

Jussi Mäntylä

Especialista em Planeamento de Produção, SkyPlanner

Crie um calendário de produção mais claro com o SkyPlanner

Ligue os seus dados, reveja o primeiro plano e mantenha os planeadores no controlo de cada programação que for lançada.