Schedule Optimization

The On-Time-First Optimizer Preset Explained

User Solutions TeamUser Solutions Team
|
8 min read

On-time first is the default EDGEBIC optimizer goal, and it protects due dates above everything else. It ranks every candidate schedule by weighted tardiness first, then by how many jobs are late, then by how much the plan disturbs your committed schedule, and only then by how fast the plant finishes overall. The optimizer does whatever it can to land every job by its due date, even at the cost of a slightly later plant-wide finish. On a typical planning day, when hitting customer dates is what matters most, it is the right choice, which is why it is the one already selected when you open the Optimizer tab.

EDGEBIC by User Solutions expresses every optimizer goal as an ordered list of tiers, compared one at a time. This post walks through the four tiers of the On-time first preset, shows how they decide a winner, and gives a worked example so you can read the result with confidence. For the full menu of goals, see how to choose an optimizer goal in EDGEBIC.

The four tiers, in order

A goal preset is not a single score. It is a priority list of measures, and the optimizer compares two plans by walking the list from the top until it finds a tier where they differ by more than a small tolerance. On-time first lists these four:

TierMeasureWhat it protects
1Weighted tardinessTotal lateness, scaled by job priority
2Late job countThe number of jobs finishing after their due date
3InstabilityHow much the plan disturbs your committed schedule
4MakespanThe overall span from first start to last finish

The order is the whole point. Weighted tardiness comes first because it captures both how many jobs are late and how badly, weighted by how much each job matters. Late job count breaks ties when two plans have the same weighted tardiness. Instability keeps the optimizer from shuffling a committed floor for a marginal gain. Makespan is the final tiebreaker, taken only when the plans are otherwise equal on delivery.

How the tiers pick a winner

Two candidate plans are compared like a phone book. The optimizer looks at tier one, weighted tardiness. If plan A has less, plan A wins, full stop, no matter what the lower tiers say. Only if the two plans are effectively tied on weighted tardiness does the comparison move to tier two, late job count, and so on down.

This is why On-time first will happily accept a later overall finish. Makespan is tier four. If a plan finishes the plant later but gets one more job in on time, it wins on tier one and the later makespan never even enters the decision. That is the goal doing exactly what its name promises.

Weighted tardiness, in plain terms

Weighted tardiness deserves its own moment because it drives the whole preset. For each job, tardiness is the hours it finishes past its due date, floored at zero (an early job is not credited). The weight is derived from the job's priority: a top-priority job counts at full weight, a second-priority job at half, and so on, with a floor so nothing counts as zero. Sum the weighted tardiness across all jobs and you have the tier-one number.

The practical effect: set your job priorities honestly, and On-time first will protect your important customers first. A late priority-1 job hurts the score more than a late priority-3 job, so the optimizer favors sequences that keep the important jobs on time. The related concept of weighted tardiness sits at the heart of most due-date-driven scheduling.

A worked example

One shared day shift, Monday 08:00 to 16:00, one saw and one mill. Three scheduled jobs, hours including setup:

JobRoutingDuePriority
0121Saw 6 h then Mill 2 hFriday1
0122Saw 2 h then Mill 8 hWednesday2
0123Saw 3 h then Mill 6 hWednesday3

The current plan runs the jobs in priority order 0121, 0122, 0123. Job 0121's long six-hour cut holds the saw all Monday morning while the mill sits idle until the afternoon. The mill then backs up: 0123 finishes a day late. Weighted lateness is 4.7 hours and one job of three is late.

Run the optimizer with On-time first. It finds that the short cuts should go first so the mill never starves, ordering the jobs 0122, 0123, 0121. Now 0122's two-hour cut feeds the mill by mid-morning, 0123 finishes on time, and 0121's mill work slides to Wednesday, still comfortably ahead of its Friday due date.

MeasureCurrentProposedChange
Weighted lateness (h)4.70.04.7 better
Late jobs101 better
Makespan (h)22.018.04 better

Here every tier improves at once, so the win is clean. Notice the trade the goal was willing to make even though it did not need to: job 0121 gives way to a later slot, which On-time first accepts because 0121 stays on time and the tier-one number falls to zero. That is the reorder no one-job-at-a-time scheduler can find. Walk through the whole screen in how to run and read an optimization in EDGEBIC.

When On-time first is the wrong pick

On-time first is the default because it fits most days, but it is a trade-off like every goal, and sometimes another goal fits better:

  • Clearing a backlog: Fastest overall finish ranks makespan first, freeing capacity sooner even if a single job finishes later.
  • A changeover-heavy shop: Least setup time ranks setup first and turns wasted changeover into production.
  • A committed mid-week floor: Fewest changes ranks stability first so supervisors keep the day they already planned.

Every goal carries the same never-worse guarantee, so trying On-time first, reading the result, and switching costs nothing. Run, look, Discard, try another. See what the never-worse guarantee means for planners.

Why the lower tiers still matter

It would be easy to think that because weighted tardiness sits on top, the other three tiers are decorative. They are not, and understanding why makes On-time first more useful. Most real schedules have many job orderings that tie on the top tier: several plans get everyone on time, or several are equally late. The lower tiers are what break those ties, and they break them in the order that serves a plant best.

Late job count breaks the first tie: among plans with equal weighted tardiness, prefer the one with fewer distinct late jobs, because one badly late job is often easier to manage than three slightly late ones. Instability breaks the next tie: among equally on-time, equally few-late plans, prefer the one that disturbs your committed floor least, so supervisors keep their day. Makespan breaks the last tie: all else equal, finish the plant sooner and free capacity. Each tier only speaks when the ones above it are silent, so On-time first never trades a delivery date for a shorter plan, but it does quietly pick the tidiest, most stable, fastest plan among the ones that all protect your dates equally. That layered tie-breaking is why the default so often produces a plan a planner would have chosen by hand, only faster.

Where it lives

On-time first is the preset already selected in the Goal dropdown on the Optimizer tab. Pick a time budget, click Run, and read the verdict and the key performance indicator table. Because its top tier is weighted tardiness, the verdict usually leads with the lateness it removed and the extra jobs it made on time. Nothing is saved until you Accept, and the whole proposal is clamped never-worse than your current plan.

For the full optimizer picture, see the EDGEBIC optimizer guide and the optimizer goals and presets overview. To explore the platform, visit EDGEBIC.

The bottom line

On-time first is the default for a reason: on most days, protecting delivery promises is the job. It ranks weighted tardiness first, late job count second, stability third, and makespan last, so it will accept a slower plant to keep customers on time. Set your priorities honestly, run it, and read the top row of the comparison. When the week calls for speed, setup savings, or stability instead, switch goals, knowing the never-worse promise holds no matter which you pick.

Expert Q&A: Deep Dive

Q: Two jobs are tied on due date but one is a key customer. Does On-time first respect that?

A: Yes, because its first tier is weighted tardiness, not raw lateness. A priority-1 job's lateness counts fully while a priority-2 job's lateness counts at half, so the optimizer will favor a sequence that keeps your key customer on time even if it means the lower-priority job absorbs a small slip. Set the job priorities correctly and the preset does the rest, ranking the plan that protects the jobs that matter most.

Q: On-time first proposed a plan where the plant finishes later overall. Is that a bug?

A: No, that is the goal working as designed. On-time first ranks due dates above makespan, so it will accept a slightly later overall finish if that is what gets every job in on time. If a later plant-wide finish bothers you and no job is at risk, switch to Fastest overall finish, which ranks makespan first. The two goals genuinely trade off, and the preset you pick decides which one wins.

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