- Home
- Blog
- Glossary (EDGEBIC)
- What Is an Optimizer Sidecar in Scheduling?
An optimizer sidecar is an optimization component that runs beside the standard scheduling engine rather than being built into it: the everyday engine still produces every plan, and the optimizer sits alongside, using that plan as a starting point, proposing a better one, and handing it back for the planner to accept or discard. It is a navigator suggesting a faster route while the driver keeps driving: the car's controls are never touched.
This entry is part of the EDGEBIC by User Solutions glossary; the broader dictionary lives in the manufacturing glossary.
Why a Sidecar and Not an Overhaul
A production scheduling engine is not a small thing. It handles shifts and calendars, multiple machine instances, parallel and synchronized operations, lot streaming, transit time, sequence-dependent setup, and dozens of edge cases that only surfaced after years of real shop use. That accumulated logic is the reason the plans it produces are trustworthy.
Turning that engine into an optimizer by rewriting its core would put every one of those hard-won behaviors at risk. The sidecar pattern refuses the trade. Instead of changing the engine, the optimizer is placed next to it. The engine remains three things at once: the default scheduler that produces plans, the warm-start seed the optimizer improves from, and the fallback the result is measured against.
How It Works
The engine and the optimizer stay separate, and they communicate through one deliberately narrow seam: the optimizer can supply the global order in which jobs are scheduled for a given run. That is the only hook.
The multi-run search layer uses this seam directly. It feeds the engine different candidate job orderings (earliest due date, shortest processing time, longest processing time, critical ratio, exhaustive orderings for small job counts, and seeded shuffles), lets the untouched engine schedule each one, and scores every resulting plan. The mathematical solver layer models the problem formally on a compressed time axis, warm-starts from the engine's plan, and returns a plan plus a proof of how close it sits to the theoretical best.
Whichever layer runs, the engine's own scheduling behavior is unchanged. Optimization is layered on top through that single seam, not stitched through the engine's internals.
A Concrete Example
Imagine a shop that has run the standard engine for a year with no complaints. The plans are solid; the floor trusts them. Now the shop wants to squeeze out late deliveries.
With a sidecar, nothing about the trusted engine changes. The planner opens the optimizer, which asks the engine to produce its normal plan, then explores alternate job orderings against that plan and returns the best improvement it found. If the planner never opens the optimizer, every schedule is exactly what it was before. If they do, the engine still did all the actual scheduling; the optimizer only chose a better order to feed it and proved the result was an improvement before proposing it.
How EDGEBIC Uses It
In EDGEBIC, the sidecar rule is architectural: all optimization runs beside the standard scheduling engine, and the engine is never modified to serve it. The one sanctioned seam is the injectable job-ordering hook; with no optimizer attached, the engine sorts jobs exactly as it always has.
That containment enables the rest of the optimizer's safety contracts. Nothing is written automatically: a run is held as a proposal until you press Accept. The result can only help, because a never-worse clamp compares it against the engine's plan and keeps the engine's plan if the candidate does not strictly beat it. And jobs using features the mathematical model does not yet handle natively are reproduced exactly as the engine scheduled them. You can even choose which optimizer implementation runs, and if the mathematical solver is not available in your build, the selector quietly falls back to the multi-run search, so choosing it can never break scheduling. The mathematical solver measures the plant week in working-hour ticks, hundredths of an hour on a calendar with closed time cut out, so it reasons in whole numbers rather than floating point. For the full pipeline, see the optimizer guide and where it fits in the scheduling engine guide.
An optimizer sidecar is an optimization component that runs beside the standard scheduling engine rather than being wired into it. The everyday engine still produces every schedule, and the optimizer sits alongside it: it uses the engine's plan as a starting point, proposes a better arrangement, and hands it back for review. Because the engine is never modified, optimization adds capability without adding risk to the code that runs production every day.
The standard engine is thousands of lines of hard-won logic covering shifts, instances, parallel machines, lot streaming, and constraints that took years to get right. Rewriting it to be an optimizer would put all of that at risk. A sidecar keeps the engine untouched as the default scheduler, the warm-start seed, and the fallback, so the optimizer can be added, tuned, or swapped without any chance of breaking the plans the shop relies on.
The sidecar reaches into the engine through exactly one injectable hook: the ability to supply the global order in which jobs are scheduled for a run. The multi-run layer feeds different candidate orderings through this seam and scores each resulting plan. Everything else, from shift allocation to instance selection, runs exactly as it always has, which is what keeps the engine's behavior identical whether or not the optimizer is used.
Expert Q&A: Deep Dive
Q: We are wary of a scheduling tool that reinvents its own engine every release. How does the sidecar design protect the plans we already trust?
A: The sidecar design means the engine that produces your daily schedule is never rewritten to accommodate optimization. In EDGEBIC the standard engine remains the default scheduler and the warm-start seed, and the optimizer is a separate component that proposes improvements against the engine's own plan. If you never open the optimizer, your schedules are byte-for-byte what they always were. Turn it on, and the worst case is still the engine's plan, because that plan is the floor the result is measured against.
Q: Does a sidecar mean the optimizer is bolted on and shallow, or can it still do serious math?
A: Serious math sits comfortably in a sidecar. EDGEBIC's sidecar hosts both a multi-run search and a mathematical solver that models the problem formally and proves how close its answer is to the theoretical best. The sidecar boundary is about where the code lives and how it is contained, not about how deep the optimization goes. It gets the full benefit of a rigorous solver while keeping the production engine isolated and safe.
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
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.
Share this article
Related Articles
The EDGEBIC Scheduling Glossary Index
A themed index to the EDGEBIC glossary: scheduling engine, capacity and calendars, materials and planning, shop floor, reporting, quoting, and data import terms, defined in plain language.
What Is the Critical Chain in Manufacturing Scheduling?
The critical chain is the longest dependent path through a plan once shared machine contention is counted, not just step precedence. Here is how it differs from the critical path.
What Does Finite Capacity Mean in EDGEBIC?
Finite capacity means the scheduler refuses to book more hours on a machine than that machine actually has. See exactly how EDGEBIC enforces it, day by day and shift by shift.
