O Simio é um mecanismo de simulação de programação avançada. Não oferecemos suporte à programação retroativa. Descobrimos que a abordagem de programação retroativa não representa a realidade, gerando um plano inviável que não é útil para os planejadores. Muitos de nossos clientes aprenderam essa lição da maneira mais difícil.
O princípio subjacente da programação progressiva é a viabilidade em primeiro lugar. Um cronograma é construído olhando para frente, considerando todas as restrições e condições do sistema (por exemplo, disponibilidade de recursos, níveis de estoque, trabalho em andamento), A programação é otimizada em tempo de execução, considerando apenas o conjunto de opções viáveis disponíveis naquele momento. As decisões são tomadas de acordo com as regras de despacho especificadas pelo usuário (o mesmo que a programação regressiva).O resultado é um cronograma detalhado que reflete o que é possível e informa ao planejador como alcançá-lo. Como na vida real, um planejador só pode escolher quando iniciar uma operação. A data de conclusão é um resultado, não uma entrada especificada pelo usuário.
A diferença técnica mais importante entre as duas abordagens é a disponibilidade de materiais (tanto materiais brutos quanto materiais manufaturados intermediários). Um cronograma prospectivo não faz suposições. Se os materiais estiverem disponíveis, um produto acabado poderá ser produzido. Caso contrário, não poderá. Se os materiais precisarem ser encomendados ou fabricados, o sistema os encomendará ou fabricará antes que o produto acabado possa ser iniciado. Uma programação regressiva planeja a última operação primeiro, presumindo que os materiais estarão disponíveis (*ainda não encontramos um ambiente em que o estoque futuro possa ser previsto com precisão).Se os materiais precisarem ser produzidos ou comprados, ele tentará programá-los ou encomendá-los antes, esperando que a data de início não seja ontem. Se o relógio for atrasado da data de vencimento até o momento presente, o cronograma resultante mostrará ao planejador qual teria de ser o estoque atual e o estoque em pedido para executar o plano idealizado. Ele não informa ao planejador o que ele poderia fazer com o estoque atual e o estoque em pedido.
Em seguida, considere uma situação em que a demanda excede a capacidade da fábrica (essa é a realidade para a maioria dos nossos clientes). A fábrica não pode produzir tudo o que o planejador deseja. O planejador deve escolher entre as alternativas e enfrentar as compensações. A programação progressiva lida com essa situação continuando a programar para o futuro, após a data de vencimento, mostrando ao planejador quais pedidos estarão atrasados. Ajustando as regras de expedição, as prioridades e as datas de liberação, o planejador pode melhorar a programação até chegar a uma alternativa satisfatória.Cada alternativa é uma escolha válida e viável para execução. A programação regressiva lida com essa situação continuando a programar no passado, mostrando ao planejador quais pedidos deveriam ter sido produzidos ontem. O planejador deve ajustar as regras de expedição e as datas de vencimento até encontrar uma alternativa viável. Em nossa experiência, o planejador pode tomar a melhor decisão comparando vários planos viáveis, em vez de procurar um único.
Qualquer solução de programação completa também deve ser capaz de reprogramar. A reprogramação pode ser acionada por qualquer número de eventos aleatórios que ocorram diariamente. Na reprogramação, a saída deve respeitar o trabalho em andamento. A programação progressiva carrega o WIP primeiro, tornando o recurso indisponível até que o WIP seja concluído.Imagine criar uma programação semanal de trás para frente no tempo, esperando que o ponto "final" seja exatamente igual ao WIP atual da fábrica. O resultado geralmente é inviável.
Em termos de viabilidade, as vantagens da programação progressiva são claras, mas também recebemos perguntas sobre otimização, principalmente em relação à entrega JIT. Uma rápida pesquisa no Google sobre programação progressiva revela literatura e postagens em blogs que descrevem a programação progressiva "o mais cedo possível" (o que significa que uma programação progressiva inicia uma operação assim que um recurso está disponível, independentemente da data de vencimento do pedido).Isso é falso. A programação progressiva gerencia o estoque de produtos acabados da mesma forma que a fábrica. Um planejador especifica uma data de liberação em função da data de vencimento (ou, em alguns casos, especifica datas de liberação individuais para cada pedido). Na programação progressiva, nenhum pedido é iniciado antes da data de liberação.O poder dessa abordagem é a experimentação. Alterar o prazo de entrega é tão fácil quanto digitar um número inteiro diferente e reprogramar. Como acima, o resultado é uma alternativa viável diferente que torna a troca transparente. Prazos de entrega mais curtos minimizam o estoque de produtos acabados, mas aumentam as entregas atrasadas e vice-versa.Descobrimos que muitos clientes se concentram em prazos de entrega curtos com base em metas financeiras, em vez de metas operacionais. O estoque imobiliza o caixa. Normalmente, a decisão de se concentrar no caixa é tomada sem quantificar a compensação. Fornecemos aos tomadores de decisão diferenças claras entre as estratégias operacionais para que eles possam escolher com base em informações completas.
A programação progressiva é a realidade. Ela representa adequadamente os fluxos e as restrições de materiais, a capacidade da fábrica e o trabalho em andamento. Ela gerencia a fábrica da mesma forma que um planejador. Dessa forma, gera conjuntos de alternativas viáveis que quantificam as compensações para planejadores e tomadores de decisões executivas.Ele responde à pergunta "O que a fábrica deve fazer em seguida?" em vez de "O que a fábrica deveria ter feito antes?" Descobrimos que a abordagem de viabilidade em primeiro lugar é a mais útil para um planejador e, portanto, a mais valiosa para uma empresa.