Regras de programação personalizadas no Preactor

Os sistemas APS (Advanced Planning and Scheduling) são ferramentas desenvolvidas e utilizadas para que se tenha uma visão realística do ambiente de produção ao realizar o sequenciamento da fábrica (saiba mais sobre sistemas APS aqui). Estes softwares permitem, ao realizar o sequenciamento, levar em conta as mais variadas restrições que encontramos na prática no ambiente fabril. Alguns exemplos são:

  • Mão de obra
  • Ferramentas e Moldes
  • Diferentes turnos de trabalho
  • Equipes de setup
  • Matéria-prima
  • Gargalos produtivos

Ao realizar o sequenciamento buscamos, em primeiro lugar, respeitar as restrições que nos são impostas pela fábrica, como as mencionadas acima. Entretanto, também desejamos que, uma vez atendidas as restrições, o sequenciamento seja realizado de maneira a otimizar nossa programação, garantindo a entrega dos pedidos dentro do prazo e otimizando a utilização das máquinas, ferramentas / moldes e mão de obra.

Neste cenário, o Preactor se destaca como um software capaz de levar em conta essas restrições produtivas e que, ao mesmo tempo, também possui um conjunto de regras de sequenciamento que permitem buscar um cenário factível de programação. O software possui um conjunto de regras nativas que permitem atender grande parte das restrições de sequenciamento e programação que vemos na prática. No entanto, muitas vezes nos deparamos com situações extraordinárias, e que nem mesmo o conjunto de regras nativas de qualquer APS de mercado consegue obter o sequenciamento desejado.

Nestes casos, o Preactor nos permite recorrer ao que chamamos de “Regras de Programação Personalizadas”, que são regras desenvolvidas especificamente para cada caso pois atendem requisitos únicos daquele ambiente de produção. Elas nos permitem um controle completo sobre o sequenciamento, gerando uma programação que respeite restrições personalizadas, e com critérios de decisões customizados segunda as necessidades do PPCP. Dessa forma, intervenções manuais na programação para ajustar o plano a estas restrições específicas podem ser eliminadas. Vamos exemplificar aqui duas situações em que apenas a aplicação de regras personalizadas no Preactor permite gerar um sequenciamento que de fato reflete as necessidades da fábrica.

Restrições Personalizadas

Uma primeira situação em que necessitamos recorrer às regras personalizadas acontece quando temos regras específicas para a utilização de determinadas restrições. Imagine uma ferramenta que é utilizada na produção de um determinado item e que, após sua utilização, necessita de um certo tempo de preparação para ser reutilizada em outro equipamento.

Na prática esta situação pode ocorrer, por exemplo, em um processo de impressão em plástico ou injeção, em que temos associada às ordens de produção dos produtos “X” e “Y” um determinado porta-clichê ou molde respectivamente. Imagine que, após a utilização desta ferramenta para produzir o produto “X”, ela deva ficar indisponível por um período de 12 horas antes que possa ser utilizada em outra máquina para produção do produto “Y”. Isto pode ser necessário para realizar uma revisão na ferramenta, uma limpeza, uma preparação ou mesmo pela simples dificuldade de movê-la fisicamente na fábrica.

É possível neste caso desenvolver uma regra personalizada para que possamos representar fielmente este cenário no Preactor. Se negligenciássemos esta restrição no sequenciamento, poderíamos acabar com uma parada de máquina no chão de fábrica devido a indisponibilidade da ferramenta necessária para a produção.

Sequenciamento Errado

Exemplo Injetora – Cenário 1: Sequenciamento sem respeitar restrição personalizada.

Podemos ver que o um sequenciamento utilizando uma regra padrão coloca a Ferramenta 1 (F1 em verde) nas Injetoras 1 e 2. O intervalo entre o fim da injetora 2 e o início da injetora 1 é de 6 horas. Na prática não será possível executar esta programação, pois sabemos que a ferramenta precisa de uma manutenção de 12 horas após sair da injetora 2 e antes de entrar na injetora 1. Neste caso, seria necessário um ajuste manual do programador para evitar uma parada de máquina. Se pensarmos em um cenário com diversas injetoras e diversas ferramentas este ajuste manual se torna custoso, ou até inviável. Na imagem abaixo temos um exemplo de como seria o sequenciamento de uma regra personalizada que já levasse em conta a restrição de 12 horas.

Sequenciamento correto

Exemplo Injetora – Cenário 2: Sequenciamento respeitando restrição personalizada.

Regras de Negócio Customizadas

Além de serem necessárias em situações de restrições personalizadas, o desenvolvimento de regras também se aplica quando desejamos realizar um sequenciamento personalizado, visando atender a necessidades específicas do PCP. Imagine o caso onde temos uma máquina que fisicamente é apenas uma, porém ela possui dois ou mais “lados” que podem produzir produtos distintos ao mesmo tempo. No entanto, esses produtos só podem ser produzidos juntos, se atenderem determinadas características.

Na prática, um exemplo é o processo de Conformação, onde encontramos máquinas com dois e as vezes quatro lados, os quais podem produzir itens distintos simultaneamente, mas com a premissa que tenham tempos de ciclo idênticos. Nos processos de tingimento no segmento têxtil também existem regras para o tingimento simultâneo de produtos diferentes, contanto que tenham atributos compatíveis de produto e processo. Outro exemplo prático é o processo de Rotomoldagem, que geralmente requer a produção de itens com um tempo de forno e peso similares em cada um dos braços do equipamento. Em ambos os casos é possível produzir produtos distintos simultaneamente, porém a escolha destes produtos no sequenciamento é bastante específica e deve respeitar as premissas do processo.

Através do desenvolvimento de uma regra personalizada, é totalmente viável gerar um sequenciamento que não só atenda estas premissas, “preenchendo” o equipamento com ordens segundo os requisitos do processo, mas que também busque otimizar a produção encontrando as melhores combinações e garantindo uma alta ocupação. Realizar um sequenciamento que não leve em conta estes fatores levará a inevitável inutilização de alguns lados do equipamento, ocasionando uma perda na capacidade produtiva.

Escolhemos aqui o exemplo da rotomoldagem para descrever as possibilidades de regras. Nas imagens abaixo ilustramos 3 cenários de como o sequenciamento de algumas ordens de produção poderiam ser feitos, considerando uma máquina de Rotomoldagem com 4 braços. As diferentes cores representam ordens de produção com diferentes tempos de forno.

Rotomoldagem Cenário 1

Exemplo Rotomoldagem – Cenário 1

Neste cenário o sequenciamento é realizado com uma regra padrão, e vemos que o resultado não pode ser utilizado no chão de fábrica, pois coloca ordens com tempos de ciclo diferentes simultaneamente nos diferentes braços da máquina.

Rotomoldagem Cenário 2

Exemplo Rotomoldagem – Cenário 2

Já neste cenário, temos uma regra personalizada que respeita a restrição de tempo de forno. Este é um cenário factível no chão de fábrica, porém todos os espaços em branco representam perdas de produtividade, ou seja, períodos em que alguns dos braços da máquina ficam ociosos.

Rotomoldagem Cenário 3

Exemplo Rotomoldagem – Cenário 3

Por fim, este cenário representa uma regra personalizada que não apenas respeita a restrição de tempo de forno, mas que também busca otimizar a utilização dos braços da máquina. Percebemos que a ocupação dos braços melhora consideravelmente em relação ao cenário 2.

Conclusão

Todos os casos aqui apresentados envolvem restrições peculiares de produção que, se não observadas no momento do sequenciamento, podem gerar um cenário que na prática acaba não sendo viável para execução no chão de fábrica. Isto pode levar a paradas de máquinas não programadas, ordens de produção atrasadas, excesso de setups, ociosidade, entre outros. Um dos diferenciais do software Preactor é justamente permitir customizações que possam atender à necessidade específicas de cada processo / indústria, gerando uma maior confiabilidade e aderência do sequenciamento por parte do PCP. Além disso, desenvolver uma regra que atenda cada uma de suas premissas de sequenciamento pode aumentar de maneira consistente a assertividade da programação, diminuindo consideravelmente a necessidade de ajustes manuais no sequenciamento automático. Isto implica em um processo mais rápido de sequenciamento, o qual pode ocorrer no limite com um único clique, o que por sua vez significa mais tempo livre para a equipe de PCP dedicar às suas demais atribuições.

Rafael Luchese
Engenheiro de computação pela UFRGS e engenheiro generalista pela École Centrale de Nantes (França). Programador full-stack, especialmente interessado em arquitetura de software e banco de dados. Aventureiro da engenharia de produção, com 3 anos de experiência em softwares APS. Motivado pela busca de soluções atualizadas e otimizadas para atender os desafios com os quais se depara. Nas horas vagas, encontra tempo para um bom livro, um bom filme / série, uma boa gastronomia, sempre em boa companhia.
Leia mais posts de Rafael Luchese