D02 · L3 · 03 — Supply Planning & SchedulingSupply Planning & Scheduling

Production scheduling & sequence optimizationProgramación de producción y optimización de secuencia

The sequence is a decision, not an arrival order. When setups are sequence-dependent, FIFO quietly donates a fifth of capacity to avoidable changeover — and the only thing standing between that loss and reclaimed capacity is treating the order of jobs as the optimization it is.

La secuencia es una decisión, no un orden de llegada. Cuando los setups dependen de la secuencia, FIFO dona en silencio una quinta parte de la capacidad a changeover evitable — y lo único entre esa pérdida y la capacidad recuperada es tratar el orden de los trabajos como la optimización que es.

01What it isQué es

Production scheduling and sequence optimization order the jobs on each resource to minimize sequence-dependent setup and changeover time while meeting due dates — treating the sequence itself as a decision variable — instead of running jobs first-in-first-out by order date and absorbing whatever changeover the arbitrary order happens to cost.

La programación de producción y optimización de secuencia ordenan los trabajos en cada recurso para minimizar el tiempo de setup y changeover dependiente de la secuencia mientras cumplen fechas — tratando la secuencia misma como variable de decisión — en vez de correr trabajos primero-en-entrar-primero-en-salir por fecha de pedido y absorber cualquier changeover que el orden arbitrario resulte costar.

02Why it mattersPor qué importa

Johnson 1954 (Johnson, 1954 — peer-reviewed) founded production scheduling by proving that the sequence of jobs through stages is itself optimizable and that the right order materially reduces total completion time — the sequence is a lever, not a given. When changeovers are sequence-dependent (a common case: color, grade, temperature, or tooling transitions cost different amounts depending on what ran before), FIFO scheduling leaves large amounts of avoidable setup time on the floor. That lost time is lost capacity: changeover that could be 8% of available hours under a good sequence can balloon to 20%+ under FIFO, and the plant pays for capacity it sets up and tears down instead of producing.

Johnson 1954 (Johnson, 1954 — peer-reviewed) fundó la programación de producción al probar que la secuencia de trabajos a través de etapas es en sí optimizable y que el orden correcto reduce materialmente el tiempo total de terminación — la secuencia es una palanca, no un dato. Cuando los changeovers dependen de la secuencia (caso común: transiciones de color, grado, temperatura o herramental cuestan distinto según lo que corrió antes), la programación FIFO deja grandes cantidades de tiempo de setup evitable en el piso. Ese tiempo perdido es capacidad perdida: un changeover que podría ser 8% de las horas disponibles bajo una buena secuencia puede inflarse a 20%+ bajo FIFO, y la planta paga por capacidad que monta y desmonta en vez de producir.

03How it is doneCómo se hace

1
Build the sequence-dependent setup matrix. Quantify the changeover time and cost for each transition from product A to product B on each resource. Without this matrix the scheduler is blind to the very cost it should be minimizing — the matrix is the prerequisite, not a refinement.
2
Treat the sequence as the decision variable. Optimize the order of jobs to minimize total setup subject to due dates, not the other way around. FIFO and earliest-due-date are heuristics that ignore changeover entirely; the sequence is where the capacity is won or lost.
3
Balance setup minimization against due-date adherence. The shortest-setup sequence may miss promises; the objective is the best total of changeover plus tardiness, not setup alone. A schedule that saves changeover by being chronically late has optimized the wrong thing.
4
Identify and protect the bottleneck. Sequence the constraint resource first and subordinate the rest to it. An hour of changeover saved at the bottleneck is an hour of plant capacity gained; an hour saved at a non-bottleneck is free time that changes nothing.
5
Use campaign and wheel logic where transitions are costly. Group like products into runs or a fixed production wheel to amortize expensive changeovers, accepting some inventory in exchange for reclaimed capacity. Size the campaign against the changeover-to-holding trade-off, not by habit.
6
Re-optimize on disruption, not on a fixed timer. When a rush order, breakdown, or material delay hits, re-sequence the affected horizon rather than forcing the old sequence. A scheduler that cannot re-optimize quickly defaults back to FIFO under pressure — exactly when sequence matters most.
Worked example — illustrativeA process plant scheduled a multi-grade line FIFO by order date — baseline: changeover consuming 19% of available hours, frequent grade thrashing, due-date attainment 86%. It built the setup matrix, sequenced the bottleneck to minimize transitions subject to due dates, and adopted campaign logic for the costliest changeovers. Results: changeover 19% → 9% of available hours, effective capacity up ~12% with no capital, and due-date attainment 86% → 93% — capacity reclaimed from the sequence, not bought.
1
Construye la matriz de setup dependiente de secuencia. Cuantifica el tiempo y costo de changeover para cada transición de producto A a producto B en cada recurso. Sin esta matriz el programador es ciego al costo mismo que debería minimizar — la matriz es el prerrequisito, no un refinamiento.
2
Trata la secuencia como la variable de decisión. Optimiza el orden de los trabajos para minimizar el setup total sujeto a fechas, no al revés. FIFO y fecha-más-próxima son heurísticas que ignoran el changeover por completo; la secuencia es donde la capacidad se gana o se pierde.
3
Balancea minimización de setup contra cumplimiento de fechas. La secuencia de menor setup puede incumplir promesas; el objetivo es el mejor total de changeover más tardanza, no el setup solo. Un programa que ahorra changeover siendo crónicamente tardío optimizó lo equivocado.
4
Identifica y protege el cuello de botella. Secuencia primero el recurso restricción y subordina el resto a él. Una hora de changeover ahorrada en el cuello de botella es una hora de capacidad de planta ganada; una hora ahorrada en un no-cuello-de-botella es tiempo libre que no cambia nada.
5
Usa lógica de campaña y rueda donde las transiciones son caras. Agrupa productos similares en corridas o una rueda de producción fija para amortizar changeovers caros, aceptando algo de inventario a cambio de capacidad recuperada. Dimensiona la campaña contra el trade-off changeover-a-mantener, no por costumbre.
6
Re-optimiza ante disrupción, no por un timer fijo. Cuando llega un pedido urgente, una avería o un retraso de material, re-secuencia el horizonte afectado en vez de forzar la secuencia vieja. Un programador que no puede re-optimizar rápido regresa a FIFO bajo presión — justo cuando la secuencia más importa.
Ejemplo trabajado — ilustrativoUna planta de proceso programaba una línea multi-grado FIFO por fecha de pedido — base: changeover consumiendo 19% de las horas disponibles, thrashing frecuente de grados, cumplimiento de fechas 86%. Construyó la matriz de setup, secuenció el cuello de botella para minimizar transiciones sujeto a fechas, y adoptó lógica de campaña para los changeovers más caros. Resultados: changeover 19% → 9% de las horas disponibles, capacidad efectiva arriba ~12% sin capital, y cumplimiento de fechas 86% → 93% — capacidad recuperada de la secuencia, no comprada.

04The concept in depthEl concepto a fondo

🔢Sequence-dependent setup›
When the changeover cost from one job to the next depends on what ran before — color light-to-dark, grade transitions, tooling swaps — the sequence directly determines total setup time. This is the case that makes scheduling an optimization rather than a sort; the setup matrix is the data that makes it solvable.
🚧The bottleneck governs›
Capacity is set by the constraint resource, so setup saved at the bottleneck is real capacity gained and setup saved elsewhere is cosmetic. Effective scheduling subordinates the whole line to the bottleneck's sequence — optimizing non-constraints in isolation produces local efficiency and no plant gain.
🎡Campaigns and production wheels›
Where transitions are expensive, grouping like products into campaigns or a fixed production wheel amortizes the changeover across a longer run, trading some inventory for reclaimed capacity. The campaign length is itself a trade-off — too short wastes setups, too long over-inventories — and should be sized against the changeover-to-holding economics.
🔢Setup dependiente de secuencia›
Cuando el costo de changeover de un trabajo al siguiente depende de lo que corrió antes — color claro-a-oscuro, transiciones de grado, cambios de herramental — la secuencia determina directamente el tiempo total de setup. Este es el caso que hace de la programación una optimización en vez de un ordenamiento; la matriz de setup es el dato que la hace resoluble.
🚧El cuello de botella manda›
La capacidad la fija el recurso restricción, así que el setup ahorrado en el cuello de botella es capacidad real ganada y el ahorrado en otro lado es cosmético. La programación efectiva subordina toda la línea a la secuencia del cuello de botella — optimizar no-restricciones en aislamiento produce eficiencia local y cero ganancia de planta.
🎡Campañas y ruedas de producción›
Donde las transiciones son caras, agrupar productos similares en campañas o una rueda de producción fija amortiza el changeover a lo largo de una corrida más larga, cambiando algo de inventario por capacidad recuperada. La longitud de campaña es en sí un trade-off — muy corta desperdicia setups, muy larga sobre-inventaría — y debe dimensionarse contra la economía changeover-a-mantener.

05In practiceEn la práctica

🗃️Maintain the setup matrix›
Keep the sequence-dependent changeover times current as products, tooling, and processes change. A scheduler optimizing against a stale matrix produces a confident, wrong sequence — the matrix is master data and decays like all master data.
⚖️Multi-objective scheduling›
Optimize setup, due-date adherence, and WIP together rather than any one alone. The right schedule is the best total, and weighting the objectives is a business decision — a pure setup-minimizer that misses promises is as broken as a pure due-date sort that thrashes changeover.
🎯Schedule to the constraint›
Identify the bottleneck and build the schedule around its optimal sequence, subordinating upstream and downstream resources to feed and follow it. Capacity gains come from the constraint; effort spent optimizing non-constraints is motion without movement.
⚡Fast re-sequencing on disruption›
Build the capability to re-optimize the affected horizon in minutes when reality diverges. A scheduler that takes hours to rebuild gets bypassed in a disruption, and the floor reverts to FIFO precisely when an optimized sequence would matter most.
🗃️Mantén la matriz de setup›
Mantén los tiempos de changeover dependientes de secuencia actuales conforme cambian productos, herramental y procesos. Un programador optimizando contra una matriz rancia produce una secuencia segura y equivocada — la matriz es dato maestro y decae como todo dato maestro.
⚖️Programación multi-objetivo›
Optimiza setup, cumplimiento de fechas y WIP juntos en vez de cualquiera solo. El programa correcto es el mejor total, y ponderar los objetivos es una decisión de negocio — un minimizador puro de setup que incumple promesas está tan roto como un ordenamiento puro por fecha que hace thrashing de changeover.
🎯Programa al cuello de botella›
Identifica el cuello de botella y construye el programa alrededor de su secuencia óptima, subordinando los recursos upstream y downstream para alimentarlo y seguirlo. Las ganancias de capacidad vienen de la restricción; el esfuerzo gastado optimizando no-restricciones es movimiento sin avance.
⚡Re-secuenciación rápida ante disrupción›
Construye la capacidad de re-optimizar el horizonte afectado en minutos cuando la realidad diverge. Un programador que toma horas en reconstruir es ignorado en una disrupción, y el piso regresa a FIFO justo cuando una secuencia optimizada más importaría.

06What you would useQué se usa

📌 PRODUCTION SCHEDULING / APS
🟦Blue Yonder / SAP PP-DS / o9 — enterprise tier-1›
Finite-capacity scheduling with sequence-dependent setup optimization, bottleneck modeling, and fast re-optimization. (Blue Yonder, SAP, o9 — vendor) The choice when scheduling must integrate with the broader supply plan and execution.
🟩Siemens Opcenter / dedicated APS-scheduling›
Strong detailed-scheduling engines with rich setup-matrix and shop-floor modeling. (Siemens, dedicated APS vendors — vendor) A strong fit where the scheduling complexity (sequence-dependent setups, complex routings) is the core problem.
🟥Scheduling-optimization / solver specialists›
Specialist scheduling and optimization-solver tools for highly constrained or custom sequencing problems. (specialized vendors — vendor) The vertical option when the sequencing problem is unusual enough that packaged APS heuristics fall short.
⬜For operations that don't need a platform›
A setup matrix plus campaign/wheel logic applied by a planner in a scheduling spreadsheet, focused on the bottleneck. Even a manual sequence built from a real setup matrix beats FIFO decisively; the matrix and the bottleneck focus, not the solver, deliver the first and largest gain.
📌 PROGRAMACIÓN DE PRODUCCIÓN / APS
🟦Blue Yonder / SAP PP-DS / o9 — enterprise tier-1›
Programación de capacidad finita con optimización de setup dependiente de secuencia, modelado de cuello de botella y re-optimización rápida. (Blue Yonder, SAP, o9 — vendor) La opción cuando la programación debe integrarse con el plan de suministro y la ejecución más amplios.
🟩Siemens Opcenter / APS-scheduling dedicado›
Motores sólidos de programación detallada con matriz de setup rica y modelado de piso. (Siemens, vendors APS dedicados — vendor) Un buen ajuste donde la complejidad de programación (setups dependientes de secuencia, ruteos complejos) es el problema central.
🟥Especialistas en optimización de programación / solvers›
Herramientas especialistas de programación y solvers de optimización para problemas de secuenciación muy restringidos o a la medida. (vendors especializados — vendor) La opción vertical cuando el problema de secuenciación es lo bastante inusual que las heurísticas de APS empaquetado se quedan cortas.
⬜Para operaciones que no necesitan plataforma›
Una matriz de setup más lógica de campaña/rueda aplicada por un planeador en una hoja de cálculo de programación, enfocada en el cuello de botella. Incluso una secuencia manual construida desde una matriz de setup real le gana a FIFO decisivamente; la matriz y el foco en el cuello de botella, no el solver, entregan la primera y mayor ganancia.
The bottom lineEn corto

Operations that optimize the sequence reclaim the capacity FIFO spends on avoidable changeover; operations that schedule by arrival order pay for setup time they could have eliminated. Sequence-dependent setup is the most overlooked source of free capacity on the floor — no capital, no headcount, just the order of the jobs. The plant that schedules FIFO is buying capacity it already owns and throws away every shift.

Las operaciones que optimizan la secuencia recuperan la capacidad que FIFO gasta en changeover evitable; las que programan por orden de llegada pagan por tiempo de setup que pudieron eliminar. El setup dependiente de secuencia es la fuente de capacidad gratis más pasada por alto en el piso — sin capital, sin headcount, solo el orden de los trabajos. La planta que programa FIFO compra capacidad que ya posee y tira cada turno.

All D02 componentsTodos los componentes de D02D02 artifactsArtifacts de D02SCRA