O Simio é um mecanismo de simulação de agendamento avançado. Não oferecemos suporte à programação inversa. Descobrimos que a abordagem de programação regressiva não representa a realidade, gerando um plano inviável que é inútil para os planejadores. Muitos de nossos clientes aprenderam essa lição da maneira mais difícil.
O princípio básico da programação progressiva é primeiro a viabilidade. É criado um cronograma prospectivo, considerando todas as restrições e condições do sistema (por exemplo, disponibilidade de recursos, níveis de estoque, trabalho em andamento etc.). O cronograma é otimizado em tempo de execução enquanto considera 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 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 marcante entre as duas abordagens é a disponibilidade de material (materiais brutos e intermediários manufaturados ). 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. Se os materiais precisarem ser encomendados ou fabricados, o sistema os encomendará ou fabricará antes que o produto acabado possa ser iniciado. Um cronograma regressivo 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 tiverem de ser produzidos ou comprados, você tentará programá-los ou encomendá-los antes, esperando que a data de início não seja ontem. Se o relógio for atrasado desde a 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 no futuro, após a data de vencimento, mostrando ao planejador quais pedidos estarão atrasados. Ao ajustar as regras de despacho, as prioridades e as datas de liberação, o planejador pode melhorar a programação até chegar a uma alternativa satisfatória. Toda 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 despacho 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 completa de programação também deve ser capaz de reprogramar. O reescalonamento pode ser acionado por qualquer número de eventos aleatórios que ocorram diariamente. No reescalonamento, 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. A programação reversa carrega o WIP por último, se é que o faz . Imagine criar uma programação semanal de trás para frente no tempo, esperando que o ponto “final” seja exatamente igual ao WIP da planta atual. O resultado geralmente é inviável.
Em termos de viabilidade, as vantagens do agendamento avançado 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 estiver 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 lead time do é 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 e não em metas operacionais. O estoque imobiliza o dinheiro. Normalmente, a decisão de se concentrar no caixa é tomada sem quantificar a compensação. Oferecemos 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 é uma realidade. Ele representa adequadamente os fluxos de materiais e as restrições, a capacidade da fábrica e o trabalho em andamento. Ele gerencia a fábrica da mesma forma que um planejador faz. Dessa forma, ele gera conjuntos de alternativas viáveis que quantificam as compensações para planejadores e executivos tomadores de decisão. 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 da viabilidade em primeiro lugar é a mais útil para um planejador e, portanto, a mais valiosa para uma empresa.