Já faz mais de cinco anos que me formei na universidade e entrei no mundo corporativo. Desde então, tenho dedicado a maior parte do meu tempo ao planejamento da produção e da cadeia de suprimentos. Além de implementações de modelos baseados em ERP, como, por exemplo, otimização de tamanho de lote ou nivelamento de produção em SAP, sempre estive fortemente envolvido com modelagem de simulação de eventos discretos. Trabalhei com várias ferramentas e, neste artigo, resumirei uma ferramenta de análise de cadeia de suprimentos de aves baseada em simulação de ponta a ponta que implementei em Python.
A simulação promove uma melhor compreensão das lógicas de controle
A ferramenta de simulação descrita por mim neste artigo ajudou o usuário de várias maneiras:
- Melhor compreensão dos processos e dependências existentes em toda a cadeia de suprimentos
- Referência comum para discussão entre os vários grupos internos de stakeholders
- Prever o impacto de certos ajustes de política e fluxo de controle
- Transparência de custos da cadeia de suprimentos de ponta a ponta
- Ferramenta para treinamento de novos gerentes da cadeia de suprimentos
A ferramenta otimizou um negócio de processamento de carne de aves verticalmente integrado na região do Mediterrâneo. A estrutura regulatória para a criação de carne de aves é abrangente e, embora as autoridades reguladoras não estejam envolvidas no desenvolvimento e implantação dessa ferramenta de simulação, ela poderia muito bem servir às autoridades reguladoras de maneiras semelhantes. Restrições regulatórias, como por exemplo as regras All-In All-Out (também conhecidas, por exemplo, na produção de suínos), foram, no entanto, consideradas fora do curso pelo modelo e implementadas de acordo.
Descrição do modelo conceitual da cadeia de suprimentos de aves
A cadeia de abastecimento de aves compreende muitas etapas. A figura abaixo fornece uma visão geral.
As entidades relevantes que gostaria de destacar para uma visão geral conceitual são as seguintes:
- Criador de ovos. Produz e fornece ovos para o incubatório.
- Incubadora. Choca ovos em uma série de processos, ou seja, incubação, eclosão e choca.
- Fazendeiro. Recebe as galinhas da chocadeira e as cria em galinheiros.
- Instalação de abate. Recebe ou recolhe os frangos dos galinheiros quando atingem o peso para abate.
- Processador de carnes. Puxa a demanda de carcaça para processamento de carne do armazenamento de produtos acabados do matadouro.
- Distribuidor. Coloca pedidos de produtos acabados no processador de carne, armazena temporariamente e redistribui carne processada aos mercados.
- Mercado. Faz os pedidos no distribuidor e vende a carne processada no mercado para o consumidor final.
O desenho do modelo conceitual abaixo fornece outra visão geral dos processos considerados pela ferramenta de simulação da cadeia de suprimentos de aves.
A cadeia de abastecimento de aves é uma cadeia de abastecimento altamente regulamentada. Conforme mencionado, as restrições regulatórias fazem parte do modelo. Tais regras, por exemplo, visam reduzir o risco de propagação de doenças e são comuns à produção de carne além da produção de carne de aves (por exemplo, produção de suínos).
Lógicas de controle, regulamentos e modelos de fluxo de informações
O modelo de simulação compreende uma ampla gama de lógicas de controle, regras e fluxos de informações relacionados ao pedido. A tabela abaixo fornece uma visão geral.
ETAPA, CATEGORIA | DESCRIÇÃO | IMPLEMENTAÇÃO |
Fornecedor de ovos, lógica de pedido do cliente | O fornecedor de ovos envia com base no registro de pedidos | Com um intervalo especificado, o fornecedor de ovos verifica o livro de pedidos e despacha a quantidade solicitada |
Fornecedor de ovos, lógica de envio de pedidos | Quantidade total do pedido enviada | A quantidade total é enviada no mesmo dia, mas chega depois de um prazo de entrega especificado |
Incubatório, lógica de gerenciamento de estoque | Inventário de ovos recebidos antes da incubadora | As políticas de ponto de pedido controlam o estoque de ovos. Quando a demanda cai abaixo de um nível especificado, um pedido é feito ao fornecedor de ovos que visa um nível de estoque fixo mais alto |
Processo de incubação, incubação e eclosão | Processos de caixa preta de incubação e eclosão | A incubação e a eclosão têm uma duração especificada e uma capacidade de produção especificada. Há também uma taxa de sucesso de eclosão especificada e uma taxa de mortalidade especificada |
Incubadora, incubadora na incubadora | O processo de incubadora segue a incubação e a eclosão bem-sucedida | Antes de os pintinhos serem enviados para um galinheiro, eles ficam na chocadeira por um período especificado. As taxas de mortalidade também são definidas para esse processo |
Incubatório, designação de lote para gaiolas de incubação | Depois que os pintinhos permanecerem na chocadeira por um período mínimo de tempo especificado, eles serão encaminhados para um galinheiro | As gaiolas da fazenda devem estar prontas para um novo rebanho, e machos e galinhas não podem ser misturados. As cooperativas agrícolas têm diferentes capacidades, pois estão localizadas em diferentes fazendas. As galinhas devem ser designadas para galinheiros com o mínimo de excesso de capacidade |
Cooperativas agrícolas, crescimento de galinhas | O crescimento das galinhas no galinheiro difere da espécie e do sexo das galinhas | As galinhas, dependendo do sexo e da espécie, ficam no galinheiro por um determinado período de tempo. Este tempo de duração modela o crescimento do frango até o peso pronto para abate |
Galinheiros de fazenda, encaminhando frango peru para abate | Frangos encaminhados ao matadouro quando maduros | Uma vez que os frangos atingem o peso para abate, eles são encaminhados se o abatedouro tiver capacidade. Caso contrário, eles esperam no galinheiro da fazenda. Depois disso, o galinheiro da fazenda é higienizado. Nesta fase, as regras regulatórias relevantes consideradas e incorporadas ao modelo de simulação |
Matadouro, processo de abate | Processo de abate diário | Matadouro abate frango até uma capacidade máxima de produção diária especificada |
Matadouro, inventário de carcaças | Produção em estoque, mas estoque puxado pela demanda | O processador de carne extrai sua demanda de carcaça do estoque do matadouro |
Matadouro, carteira de pedidos | Processador de carnes acumula estoque no matadouro se o estoque de carcaças não for suficiente | A carteira de pedidos é atendida no próximo ciclo de produção e a carcaça só é produzida em estoque se não houver pedidos em carteira em aberto |
Matadouro, compra externa de frango | Frangos externos são comprados se o estoque do matadouro e o volume atual do processo de abate forem muito baixos | Se a demanda por carcaça de frango for maior que o estoque de carcaça e a carcaça atualmente em produção, aves externas são compradas e abatidas, ocupando a capacidade de produção correspondente. As aves compradas externamente são sempre abatidas primeiro |
Processador de carne, demanda de carcaça | Distribuição da demanda de carcaça, a ser retirada do estoque de carcaça do abatedouro | Diferentes modelos de demanda podem ser implementados. Por exemplo, uma programação de demanda determinística ou estocástica pode ser implementada com demanda especificada por período |
Toda a lógica resumida na tabela acima foi parametrizada. Os valores relacionados são ajustáveis em um arquivo de configuração. Isso permite que os usuários executem diferentes cenários, obtendo assim uma melhor compreensão da cadeia de suprimentos.
Implementação do modelo de simulação em Python usando SimPy
Ao longo dos últimos 5 anos de desenvolvimento de modelos, trabalhei com várias ferramentas e softwares para modelagem de simulação de eventos discretos. Algumas ferramentas populares são FlexSim, simio, AnyLogic, SIEMENS Plant Simulation, VisualComponents, Simul8 e muitas outras. Existem muitas ferramentas de simulação comercial , e todas as que acabamos de mencionar são softwares comerciais. Esse modelo, no entanto, desenvolvi em SimPy , um framework de simulação de eventos discretos em Python. Esse framework é gratuito – mas não foi por isso que o escolhi.
SimPy é código puro. Ele não tem uma interface gráfica do usuário (GUI). Ou seja, o desenvolvedor do modelo não pode usar uma GUI para implementação do modelo. Além disso, o SimPy não possui nenhuma visualização de modelo embutida. Em outras palavras, construir e verificar um modelo no SimPy é altamente abstrato – mas, como é código Python puro, também é altamente flexível. Para modelagem da cadeia de suprimentos, com muitas entidades diferentes e uma ampla gama de lógicas de controle possíveis, isso torna o SimPy uma boa escolha. Em combinação com a programação orientada a objetos, claro. A programação orientada a objetos é um requisito neste caso, pois permite o desenvolvimento de frameworks e a estruturação adequada da tarefa muito complexa de modelar uma cadeia de suprimentos com todos os seus processos e entidades. Os usuários do modelo, no entanto, precisam ter algum conhecimento de Python.
Saída e resultados exemplares do modelo
Nesta seção, mostro alguns exemplos de saída do modelo que foram produzidos pelo simulador da cadeia de suprimentos de aves. Os dados são coletados e exibidos em unidades de frango, ou seja, unidades neutras. Isso fornece uma base sólida para o cálculo de KPIs relevantes. KPIs relevantes podem ser custos e pesos (por exemplo, de frango ou carcaça). Esses KPIs podem ser implementados para usuários sob demanda, adicionando algumas poucas linhas de código ao simulador da cadeia de suprimentos – ou ajustando (ou seja, substituindo) algumas linhas de código existentes.
O gráfico abaixo mostra a evolução do estoque no abatedouro, ou seja, o estoque de carcaças. Muito estoque resultaria em altos custos de manutenção e, em última análise, significaria que a carcaça teria que ser descartada devido a datas de vencimento e políticas relacionadas.
O gráfico acima mostra a evolução do estoque no matadouro ao longo de um ano simulado com 52 semanas (períodos de simulação). Nesta execução, cada semana foi uma iteração da execução da simulação. O desenvolvimento do estoque no matadouro está diretamente ligado ao desenvolvimento da carteira. Este desenvolvimento pode ser visto no gráfico abaixo.
Como fica claro no gráfico acima, não há estoque de carcaça acumulado no matadouro. Isso porque o abatedouro estava sempre atrás da demanda do processador de carne, resultando em acúmulos significativos.
Devido às políticas de pedidos existentes relacionadas à carteira de pedidos no abatedouro, uma alta carteira de pedidos desencadeia pedidos de compra de alto volume em granjas externas. Como as aves adquiridas externamente são sempre abatidas primeiro, isso resulta em um estoque significativo na chocadeira. A chocadeira está esperando a limpeza dos galinheiros e, nesta simulação, não há restrições de capacidade a esse respeito.
Como a própria chocadeira não tem limite de capacidade, o incubatório não foi afetado pelo gargalo de produção a jusante. Isso fica claro no gráfico abaixo, que visualiza o estoque de ovos no incubatório.
O desenvolvimento do estoque de ovos no incubatório foi estável durante toda a execução da simulação.
Considerações finais sobre a simulação da cadeia de suprimentos de aves
Neste artigo, demonstrei como a simulação de eventos discretos é uma ferramenta poderosa para modelar e analisar cadeias de suprimentos de aves. Os benefícios da implantação de um simulador de cadeia de suprimentos são múltiplos, com todos os benefícios voltados para a redução de custos da cadeia de suprimentos e melhoria da disponibilidade (ou seja, satisfação do cliente). Isso é especialmente importante em uma cadeia de abastecimento de aves, pois altos estoques resultam, por exemplo, na expiração e descarte de carcaças. A implantação de um simulador de cadeia de suprimentos ajudou meus usuários a obter uma melhor compreensão sobre as lógicas e políticas existentes de controle da cadeia de suprimentos e equipou a equipe de gerenciamento da cadeia de suprimentos com uma ferramenta eficaz de comunicação, treinamento e análise.
Se você estiver interessado em simulação de eventos discretos, também poderá se interessar por algumas das seguintes publicações relacionadas:
- Link: Modelo de procedimento de simulação de eventos discretos
- Link: Aprendizado de máquina e simulação de eventos discretos
- Link: Simmer em R para simulação de eventos discretos
- Link: Simulação de pátio de guindaste em AnyLogic
- Link: Simulação AGV de roteamento de peças em AnyLogic
Cientista de dados com foco em simulação, otimização e modelagem em R, SQL, VBA e Python
Leave a Reply