Uma Fabrica Possui Duas Maquinas - Enem 2013: Uma fábrica de parafusos possui duas máquinas, I e II,
Enem 2013: Uma fábrica de parafusos possui duas máquinas, I e II,

Escalonamento de produção com duas máquinas: o que funciona na prática

Quando uma fabrica possui duas maquinas, o problema de escalonamento mais comum é definir a ordem dos trabalhos para minimizar o tempo total de conclusão. A abordagem clássica é o algoritmo de Johnson, que resolve o caso de dois trabalhadores em série em tempo polinomial. Na minha experiência, a maioria das pessoas tenta aplicar regras de prioridade genéricas como SPT ou EDD e depois se pergunta por que o chão de fábrica não se comporta como o plano.

Como resolver uma fabrica possui duas maquinas com o algoritmo de Johnson

O algoritmo funciona da seguinte forma. Você tem dois trabalhos para processar na máquina A e depois na máquina B. O objetivo é encontrar a sequência que minimiza o makespan, que é o tempo desde o início do primeiro trabalho até o final do último. O procedimento é direto: identifique o menor tempo de processamento entre todas as operações restantes. Se o menor tempo estiver na máquina A, coloque esse trabalho o mais cedo possível na sequência. Se estiver na máquina B, coloque o trabalho o mais tarde possível. Repita até que todos os trabalhos estejam posicionados. Eu já vi engenheiros tentarem implementar isso manualmente em planilhas para mais de dez trabalhos. Funciona, mas a partir de certo ponto o erro humano entra. Um campo preenchido errado e toda a sequência quebra. A solução mais prática que eu encontrei foi um script Python simples que lê um arquivo CSV com os tempos de processamento e retorna a ordem ótima. Leva cerca de três segundos rodar, contra quinze minutos tentando fazer à mão e ainda errando.

👉 Clique no botão abaixo para saber mais sobre o assunto!

Existe uma limitação importante que poucos mencionam. O algoritmo de Johnson exige que todos os trabalhos passem pelas duas máquinas na mesma ordem. Se na prática alguma peça precisa ir para a máquina B antes da máquina A, ou se há trabalhos que usam apenas uma das máquinas, o algoritmo não se aplica diretamente. Nesse caso, você pode segmentar os trabalhos que seguem a rota padrão e tratá-los separadamente, mas o makespan resultante provavelmente será maior do que o ótimo teórico.

Armadilhas comuns e ajustes do mundo real

O cenário ideal raramente existe. Eu enfrentei um problema concreto em que duas das cinco estações de trabalho tinham tempos configurados incorretos no sistema. Os tempos estavam arredondados para cima sem justificativa, o que gerava uma sequência ótima baseada em dados falsos. O resultado foi que a máquina A ficou ociosa enquanto a B trabalhava em excesso. A correção foi mapear os tempos reais com cronômetro durante três turnos completos e recalcular a sequência com os dados efetivos. Outro ponto que causa problemas é a configuração do setup. Quando há tempos de preparação que dependem da sequência de trabalhos, o problema deixa de ser resolvido por Johnson. Aí você precisa de heurísticas ou programação inteira. Em uma ocasião, tive que aceitar uma sequência subótima porque o tempo de troca entre cores de produto na máquina B era tão grande que qualquer mudança de sequência gerava perda. O melhor workaround foi agrupar trabalhos similares antes de aplicar o algoritmo, reduzindo os setups desnecessários em cerca de 40 por cento.

Não adianta ignorar a variabilidade dos tempos de processamento. Planos perfeitos calculados para tempos determinísticos frequentemente falham quando a realidade entra. Uma máquina para para troca de ferramenta, outra trava com material de má qualidade. O que eu faço atualmente é rodar o escalonamento ótimo e depois adicionar um amortecedor de dez a quinze por cento no tempo livre entre os trabalhos mais críticos. Não é elegante, mas funciona e evita gargalos em cascata.