Simio es un motor de simulación de programación progresiva. No admite la programación regresiva. Hemos descubierto que el enfoque de programación hacia atrás no representa la realidad, generando un plan no factible que es poco útil para los planificadores. Muchos de nuestros clientes han aprendido esta lección por las malas.
El principio subyacente de la programación progresiva es primero la viabilidad. Se construye una programación mirando hacia delante teniendo en cuenta todas las restricciones y condiciones del sistema (por ejemplo, disponibilidad de recursos, niveles de inventario, trabajo en curso, etc.). La programación se optimiza en tiempo de ejecución mientras sólo tiene en cuenta el conjunto de opciones factibles disponibles en ese momento. Las decisiones se toman según las reglas de envío especificadas por el usuario (igual que la programación regresiva). El resultado es una programación detallada que refleja lo que es posible e indica al planificador cómo conseguirlo. Como en la vida real, un planificador sólo puede elegir cuándo iniciar una operación. La fecha de finalización es un resultado, no una entrada especificada por el usuario.
La diferencia técnica más destacada entre los dos enfoques es la disponibilidad de materiales (tanto materias primas como materiales intermedios fabricados ). Una programación previsora no hace suposiciones. Si los materiales están disponibles, se puede producir un producto acabado. En caso contrario, no. Si hay que pedir o fabricar los materiales , el sistema los pedirá o los fabricará antes de que pueda iniciarse el producto acabado. Una programación regresiva planifica primero la última operación , suponiendo que los materiales estarán disponibles (*todavía no hemos encontrado un entorno en el que se pueda prever con exactitud el inventario futuro). Si los materiales deben producirse o comprarse, intentará programarlos o pedirlos antes, esperando que la fecha de inicio no sea ayer. Si se hace retroceder el reloj desde la fecha de vencimiento hasta el momento presente, el programa resultante muestra al planificador cuáles deberían ser sus existencias actuales y su inventario de pedidos para ejecutar el plan idealizado. No indica al planificador lo que podría hacer con sus existencias y pedidos actuales.
A continuación, considera una situación en la que la demanda supera la capacidad de la planta (ésta es la realidad para la mayoría de nuestros clientes). La planta no puede producir todo lo que desea el planificador de . El planificador debe elegir entre las alternativas y afrontar las compensaciones. La programación prospectiva aborda esta situación continuando la programación en el futuro, más allá de la fecha de vencimiento, mostrando al planificador qué pedidos se retrasarán. Ajustando las reglas de envío, las prioridades y las fechas de entrega, el planificador puede mejorar la programación hasta llegar a una alternativa satisfactoria. Cada alternativa es una elección válida y factible para su ejecución. La programación hacia atrás trata esta situación continuando la programación hacia el pasado, mostrando al planificador qué pedidos deberían haberse producido ayer. El planificador debe retocar y ajustar las reglas de envío y las fechas de vencimiento hasta encontrar una alternativa factible. Según nuestra experiencia, el planificador puede tomar la mejor decisión comparando múltiples planes factibles, en lugar de buscar uno único.
Cualquier solución de programación completa también debe ser capaz de reprogramar. La reprogramación puede ser desencadenada por cualquier número de eventos aleatorios que se produzcan diariamente. En la reprogramación, la salida debe respetar el trabajo en curso. La programación progresiva carga WIP en primer lugar, haciendo que el recurso no esté disponible hasta que se complete el WIP. La programación regresiva carga el trabajo en curso en último lugar, si es que lo hace. Imagina construir una programación semanal hacia atrás en el tiempo, esperando que el punto «final» sea exactamente igual al WIP actual de la planta . El resultado suele ser inviable.
En términos de viabilidad, las ventajas de la programación progresiva están claras. Pero también recibimos preguntas sobre la optimización, especialmente en torno a la entrega JIT. Una rápida búsqueda en Google sobre programación progresiva revela literatura y entradas de blog que describen la programación progresiva «Tan pronto como sea posible» (lo que significa que una programación progresiva inicia una operación tan pronto como un recurso esté disponible, independientemente de cuándo venza el pedido). Esto es falso. La programación progresiva gestiona el inventario de productos acabados del mismo modo que lo hace la planta. Un planificador especifica una fecha de liberación en función de la fecha de vencimiento (o en algunos casos especifica fechas de liberación individuales para cada pedido). En la programación progresiva, ningún pedido se inicia antes de la fecha de liberación. El poder de este enfoque es la experimentación. Cambiar plazo de entrega es tan fácil como teclear un número entero diferente y reprogramar. Como en el caso anterior, el resultado es una alternativa factible diferente que hace que el compromiso sea transparente. Los plazos de entrega más cortos minimizan el inventario de productos acabados, pero aumentan las entregas tardías, y viceversa. Hemos descubierto que muchos clientes se centran en plazos de entrega cortos basándose en objetivos financieros más que en objetivos operativos. El inventario inmoviliza el efectivo. Normalmente, la decisión de centrarse en el efectivo se toma sin cuantificar la compensación. Proporcionamos a los responsables de la toma de decisiones diferencias claras entre las estrategias operativas de para que puedan elegir basándose en una información completa.
La programación progresiva es una realidad. Representa adecuadamente los flujos de materiales y las restricciones de , la capacidad de la planta y el trabajo en curso. Gestiona la planta del mismo modo que lo hace un planificador . En consecuencia, genera conjuntos de alternativas viables que cuantifican las compensaciones tanto para los planificadores como para los responsables de la toma de decisiones ejecutivas. Responde a la pregunta «¿Qué debería hacer la planta a continuación?» en lugar de «¿Qué debería haber hecho la planta antes?». Hemos descubierto que el enfoque de viabilidad en primer lugar es el más útil para un planificador y, por tanto, el más valioso para una empresa.