Industry Applications (EDGEBIC)

Job Shop Mixed-Priority Scheduling: Rush, Standard, and Stock in One Plan

User Solutions TeamUser Solutions Team
|
10 min read

Job shop mixed-priority scheduling sequences a mixed backlog of rush, standard, and build-to-stock orders by priority, then start time, then due date, and EDGEBIC by User Solutions can go further and search job orderings for a provably better plan that is never worse than that baseline. For a job shop, the daily fight is which of a hundred competing orders runs next on shared machines, and a whiteboard just records whoever moved a magnet last. This post is about turning that fight into a deterministic sequence, and optionally letting an optimizer improve it.

The everyday difficulty this addresses is laid out in job shop scheduling challenges, and the foundation of loading work against real capacity is what is production scheduling. Here we focus on the sequencing decision: given more work than capacity, what runs first.

Why the whiteboard sequence is indefensible

A job shop's backlog is a mix. Rush orders that jumped the queue for a key customer. Standard work that has to ship on time. Build-to-stock jobs that fill the shelf when there is room. On a whiteboard, the sequence is whatever the last person decided, and nobody can reconstruct why job B is ahead of job A. When priorities shift, and they shift constantly, the board is re-juggled by hand and the reasoning is lost.

That is not just untidy; it is expensive. Without a defensible sequence, the shop cannot tell a customer why their job sits where it does, cannot see which downstream deliveries a change puts at risk, and cannot trust that the plan reflects real intent rather than the last argument won at the board. The fix is a rule the whole shop can see and rely on.

The sequencing rule: priority, then start, then due date

The scheduler sequences orders by priority first, then start time, then due date. Priority is an integer where a lower number means higher priority, matching the drag-to-reorder convention in the orders grid, so setting one order to priority one and another to priority two says plainly which matters more. Within a priority band, start time and then due date break ties, so equal-priority orders run in a meaningful, repeatable order.

Take three orders competing for the same machines:

OrderPriorityDue datePosition
MO-1021June 15First
MO-1012June 15Second
MO-1032June 16Third

The rush order MO-102 leads because priority one beats priority two, even though it shares a due date with MO-101. Then the two standard jobs fall into due-date order, the fifteenth before the sixteenth. The sequence is deterministic, so it does not depend on who touched the board last, and anyone can read why each job sits where it does. Priority is the lever you pull to promote a strategic job without changing its due date; due date orders everything within a priority band.

One useful refinement: when a build-to-stock job produces inventory that a make-to-order job will consume in the same run, the producer is sequenced ahead of the consumer regardless of priority, so the consumer does not run first and find an empty shelf. The sequence respects real material dependencies, not just the priority numbers.

Searching for a better ordering, safely

Priority and due date give you a sound, explainable baseline. Some days that baseline leaves easy gains on the table, a different ordering that ships more jobs on time or cuts total lateness. An optional optimizer looks for those gains without risking the plan you rely on.

The first engine runs a multi-run search. It re-runs the scheduling engine many times with different global job orderings, exhaustive permutations for small sets, then heuristics, earliest-due-date, shortest-processing-time, longest-processing-time, critical-ratio, plus targeted shuffles, and scores every complete schedule. The score is a weighted-tardiness measure that respects your priorities: a priority-one job's lateness counts full weight, a priority-two job's counts less, so protecting due dates on your most important work dominates. It returns the best schedule found, and it is clamped to be never worse than the priority sort. Turning it on can only help; the worst case is that it hands your baseline back.

The second engine goes further. It encodes the whole scheduling problem mathematically and solves it, returning a plan together with a proven optimality gap, a guarantee of how close to the mathematical optimum the plan is. That is honest mathematical optimization with a measured bound, not a black box that claims to be always optimal. The gap concept is explained in what an optimality gap is.

Optimization you stay in control of

Two properties keep optimization safe for a real shop. First, both engines are clamped to be no worse than the baseline, so your priorities and due dates always define the floor. Second, nothing is applied automatically. The optimizer proposes a plan; you see the difference against the current schedule, which jobs moved and how the on-time picture changes, and you accept or discard it. Completed work is never moved by an optimization run, just as it is never moved by a reschedule.

So the optimizer is a proposal on top of a plan you control, not a replacement for your judgment. You run it when you suspect there is room to improve, review what it found, and take it only if it genuinely helps. The downside is bounded to zero and the upside is capacity you were leaving unscheduled.

Mixed-priority sequencing in a real job shop

Set priorities on your orders and the daily fight becomes a readable, repeatable sequence that the whole shop can trust. Rush jobs lead, standard work orders by due date, stock fills the gaps, and material dependencies are respected so a consumer never beats its producer. When you want more, the optimizer searches for a better ordering and shows you the improvement before you accept it, with a mathematical guarantee available when you need to know how close to optimal you are.

This sits on top of everything else a job shop plan does: the finite-capacity loading that makes the dates real, described in finite versus infinite capacity scheduling; the bottleneck focus that decides where sequencing matters most, in bottleneck identification; and the multi-shift and machine-pool models that give the sequence somewhere to run. It is the sequencing discipline User Solutions has brought to job shops since 1991, the kind of structured priority that took GE Railcar from 30 percent on-time delivery to 90 percent and let Cummins run the same methods across dozens of locations.

See your backlog turn into a defensible sequence. Bring a day's worth of competing orders to a demo and watch the plan sequence them by priority and due date, then let the optimizer show you what a better ordering is worth. The EDGEBIC by industry guide maps this to the rest of a job shop's plan, and what a work center group is covers the machine-pooling that gives a busy sequence more places to run.

Expert Q&A: Deep Dive

Q: Every day is a fight between rush jobs, standard work, and building to stock. The whiteboard just shows whatever the last person moved. How do we get a defensible sequence?

A: You set a priority on each order and let the scheduler sequence by priority, then start time, then due date. Take three orders: a priority-two standard job due the fifteenth, a priority-one rush due the fifteenth, and a priority-two standard due the sixteenth. The plan runs the rush first because priority one leads, then the two standard jobs in due-date order, the fifteenth before the sixteenth. That sequence is deterministic and repeatable, so it does not depend on who touched the board last, and everyone can see why each job sits where it does. When priorities and dates alone are not enough, the optimizer can search for a better ordering on top of that baseline.

Q: We suspect our default sequence leaves easy improvements on the table, but we cannot afford a plan that gets worse. Is optimization safe to turn on?

A: Yes, because it is clamped to never be worse than your baseline and it never applies itself. The multi-run optimizer re-runs the engine with different orderings, earliest-due-date, shortest-processing-time, critical-ratio, and shuffles, scores each complete schedule against a weighted-tardiness measure that respects your priorities, and returns the best. If nothing beats your priority sort, you get your priority sort back. The second engine goes further and returns a plan with a proven optimality gap, so you know how close to optimal it is. Either way you review the proposed plan and its difference from the current one before accepting, so the downside is bounded and the upside is real capacity.

Frequently Asked Questions

Ready to Transform Your Production Scheduling?

User Solutions has been helping manufacturers optimize their production schedules for over 35 years. One-time license, 5-day implementation.

User Solutions Team

User Solutions Team

Manufacturing Software Experts

User Solutions has been developing production planning and scheduling software for manufacturers since 1991. Our team combines 35+ years of manufacturing software expertise with deep industry knowledge to help factories optimize their operations.

Let's Solve Your Challenges Together