Ir para o conteúdo
IMAM Consultoria
IMAM Consultoria
  • ESTRATÉGIAS E OPERAÇÕES
  • Desenvolvimento Organizacional
  • SUPPLY CHAIN E LOGÍSTICA
  • Fale Conosco
  • Sites
    • IMAM Consultoria
    • Quem somos
    • HOME IMAM
  • Nossos treinamentos
IMAM Blog Engenharia de Produção e Operações Sequenciamento da produção com Python: case de automação na indústria química

Engenharia de Produção e Operações

Sequenciamento da produção com Python: case de automação na indústria química

DC
  • Por Danilo Carajiliascov
  • Publicado em 19/04/2024
  • Atualizado em 15/10/2026
  • 6 min de leitura
Planejamento e Controle da Produção
Sumário executivo

Sequenciamento da produção com Python em resumo: No case, o sequenciamento da produção de algumas centenas de ordens em dezenas de tanques e tachos levava horas por cenário. Assim, a planilha do Excel virou base de dados, e o Python passou a sequenciar considerando datas do Comercial, recurso, matéria-prima e capacidade diária. Além disso, vários cenários passaram a sair em minutos.

Recebemos do PCP (departamento de Planejamento e Controle da Produção) o desafio de automatizar o sequenciamento das ordens de produção (OP’s) em uma indústria química.

Eram algumas centenas de OP’s para algumas dezenas de recursos (equipamentos produtivos – no caso eram tanques e tachos), que precisavam ser sequenciadas todos os dias. O que permitia uma visão de aprox. 45 dias de produção e entregas. A sequência de produção nessa empresa era a seguinte: dispersão, moagem, completagem, teste de laboratório e envase. No total levava em torno de 5 a 8 dias úteis.

O problema era o tempo que demorava para se montar um cenário: algo em torno de algumas horas de trabalho.

Várias restrições precisavam ser consideradas:

  • Datas acordadas com os clientes – pelo Comercial. Nessa data o produto deveria estar pronto para entrega e servia como ordem de prioridade.
  • O recurso no qual a OP seria produzida.
  • Se a matéria-prima estava disponível ou se precisava aguardar a chegada.
  • Restrição de capacidade de alguns processos (quantidade de completagens por dia e envazes por dia).

Uma reunião de situação ou um email de algum departamento poderiam levar ao programador do PCP a refazer o sequenciamento. Na prática as datas de conclusão das OP’s acabavam sendo mais estimadas do que calculadas por falta de tempo.

Veja também: Ferramentas de PPCP no Caminho da Indústria 4.0

Ferramentas para Automação

Após observarmos como era feito o trabalho e qual era a necessidade ficou claro que não seria possível fazer tudo em uma planilha no Excel.

Optamos por utilizar a planilha como uma base de dados e em uma linguagem de programação faríamos o sequenciamento. No caso, optamos pelo Python.

A Automação

Das planilhas no Excel o Python carregava:

Lista de OP’s.
Datas do comercial.
O recurso em que a OP seria feita.
Datas de chegada da MP, caso não estivesse disponível.
Capacidade por dia (dos processos Completagem e Envaze)
Lista de dias trabalhados para cada recurso

Em um cenário livre de restrições as OP’s seriam sequenciadas seguindo o recurso e a ordem das datas do Comercial, ou seja, assim que uma OP em um determinado recurso fosse concluída logo em seguida entraria a próxima. Os recursos nunca ficariam parados e as datas de conclusão sempre seriam anteriores às datas do Comercial.

Só que não.

Quando a matéria-prima não está disponível a programação faz a próxima OP’s passar na frente até que a matéria-prima chegue.

Após este primeiro sequenciamento conferimos se a capacidade de completagem e envaze foi ultrapassada. Nas datas em que se ultrapassa a capacidade do processo as OP’s, seguindo a prioridade das datas do Comercial – quanto mais para o futuro menor a prioridade –, vai sendo adicionado 1 dia trabalhado. E esta rotina entra em looping até que em nenhum dia a capacidade seja ultrapassada. Ou seja, as OP’s de menor prioridade vão tendo seu leadtime de produção aumentado.

As datas trabalhadas servem para que todas as datas geradas no sequenciamento sejam datas válidas. Ou seja, realmente existem aquelas datas disponíveis para trabalhar.

Após concluído todas essas etapas adicionamos um texto “parado” para os dias em que a OP teve seu tempo de produção aumentado. Por ex.: se o envaze precisou esperar 3 dias aparece o texto “parado” no lugar do processo “envaze”.

No final a programação exporta uma tabela em formato de planilha (xlsx) para que o PCP possa confrontar as datas de término das OP’s com as datas do Comercial e assim fornecer um cenário mais realista. Com a vantagem de poder ser feito diversos cenários – alterando os parâmetros na planilha – em minutos.

A programação em Python foi convertida em um executável (exe) para que pudesse entrar em produção.

Adicionamos uma tela de conclusão no final da programação.

Ficou assim:

Sequenciamento de OP's

Muito obrigado por ler o artigo

Até o próximo!

Como o sequenciamento da produção tratou cada restrição

Em resumo, a lógica da automação descrita no post, restrição por restrição:

RestriçãoComo a automação tratou
Datas acordadas pelo ComercialPor isso, serviram como ordem de prioridade das OPs
Recurso da OPAssim, a sequência segue o recurso, e a próxima OP entra logo que a anterior termina
Matéria-prima indisponívelNesse caso, a OP seguinte passa na frente até a matéria-prima chegar
Capacidade de completagem e envaseEntão as OPs de menor prioridade ganham 1 dia trabalhado até nenhum dia passar da capacidade
Dias trabalhados por recursoDessa forma, todas as datas geradas são datas válidas

Conteúdos complementares recomendados

  • O que é PCP na empresa: Além disso, o departamento que recebeu a automação.
  • Programação da produção via APS: Ou seja, outra forma de sequenciar a produção.
  • Dashboard em Python com Dash: Por fim, outro uso de Python na gestão.

Perguntas frequentes sobre sequenciamento da produção com Python

O que é sequenciamento da produção?

Sequenciamento da produção é definir a ordem em que as ordens de produção (OPs) serão feitas em cada recurso produtivo. No case, eram algumas centenas de OPs para algumas dezenas de tanques e tachos, sequenciadas todos os dias para uma visão de cerca de 45 dias, considerando as datas prometidas aos clientes, a matéria-prima disponível e a capacidade dos processos.

Por que não fazer o sequenciamento só no Excel?

Depois de observar como o trabalho era feito, ficou claro que não seria possível fazer tudo em uma planilha. Montar um cenário levava algumas horas, e as datas de conclusão acabavam mais estimadas do que calculadas. A solução foi usar a planilha como base de dados e fazer o sequenciamento em uma linguagem de programação, o Python.

Quais restrições o sequenciamento precisava considerar?

As datas acordadas com os clientes pelo Comercial, que serviam como ordem de prioridade; o recurso em que cada OP seria produzida; a disponibilidade da matéria-prima ou a data de chegada; a capacidade diária de completagem e de envase; e a lista de dias trabalhados de cada recurso, para gerar apenas datas válidas.

Como o programa em Python tratava a falta de matéria-prima e de capacidade?

Quando a matéria-prima não estava disponível, a OP seguinte passava na frente até a chegada do material. Depois, o programa conferia se a capacidade de completagem e envase era ultrapassada e, nessas datas, adicionava um dia às OPs de menor prioridade, em looping, até nenhum dia passar da capacidade. Os dias de espera apareciam como parado.

Qual foi o resultado da automação do sequenciamento?

A programação passou a exportar uma tabela em xlsx para o PCP confrontar as datas de término das OPs com as do Comercial e oferecer um cenário mais realista. Diversos cenários podiam ser feitos em minutos, alterando os parâmetros na planilha, em vez de horas. O programa foi convertido em executável para entrar em produção.

DC

Por

Danilo Carajiliascov

No Blog IMAM, Danilo Carajiliascov escreve sobre análise de dados aplicada à gestão: tratamento de dados com Power Query, dashboards em Power BI e Python, automação de relatórios e projeção de vendas no S&OP, sempre com casos práticos.

79 visualizações
Tags: automação, controle, excel, planejamento, Produção, python, química

Leia também

Capa do artigo do acervo técnico da IMAM sobre princípios ergonômicos

Engenharia de Produção e Operações

Princípios ergonômicos para a movimentação manual de materiais

Por IMAM · 14/10/2026

Capa do artigo do acervo técnico da IMAM sobre contentor colapsível

Engenharia de Produção e Operações

Contentor colapsível: o caso que reduziu custos com segurança

Por IMAM · 14/10/2026

Capa do artigo do acervo técnico da IMAM sobre uso de talhas

Engenharia de Produção e Operações

Uso de talhas: o que fazer e o que evitar na operação

Por IMAM · 14/10/2026

Deixe um comentário Cancelar resposta

Buscar no blog

E-book Grátis

automacao_na_intralogistica
gestao_competitiva
customer_service
entendendo_a_logistica
cta_guia-para-treinar-e-desenvolver-equipe-de-logistica_01-1


ctas_300x300_azul_foto-9

Posts populares

  • Alta Performance x Sobrevivência Operacional
    Alta Performance x Sobrevivência Operacional
  • Os Heróis da Supply Chain que Ninguém Vê
    Heróis da logística: os profissionais da supply chain que ninguém vê
  • Engenharia logistica: Engenheiro logistico em armazem
    Engenharia Logística: O Que Faz, Áreas de Atuação E Salário

Sobre o blog

O IMAM leva você mais longe!
Acompanhe aqui as principais tendências da área de capacitação profissional, logística e supply chain.

Categorias

  • Desenvolvimento Organizacional
  • Embalagem
  • Engenharia de Produção e Operações
  • Estratégias e operações
  • Estratégias e Performance (Lean, Toc, 6 Sigma)
  • Série Armazenagem
  • Supply Chain e Logística

Entre em contato

  • Rua Machado Bitencourt, 190 Conj 606/607 Metrô Sta. Cruz, Vila Mariana, 04044-000, São Paulo/SP

  • (11) 5575-1400

  • imam@imam.com.br

  •  (11) 97550-8384

Autores do Blog IMAM

Nossos treinamentos