- Home
- Blog
- Schedule Optimization
- What Happens When the CP-SAT Solver Is Not Install…
What Happens When the CP-SAT Solver Is Not Installed
When the CP-SAT component is not installed, EDGEBIC falls back to the multi-run search rather than failing the run, so a proposal still appears but the badge reads best of N schedules tried instead of proven within a percentage of optimal. In EDGEBIC by User Solutions the engine selection in Options is a request; the badge on the result is the receipt. A mismatch between them is a deployment condition, not a defect, and every safety guarantee survives it.
The symptom
You set Options to Schedule and then Optimizer Engine to the mathematical solver. You run the optimizer. The result arrives normally, the comparison and move list look right, and the badge says something like best of six schedules tried in two seconds.
That badge belongs to the multi-run search. Selecting the solver did not take effect because the component is not present in this deployment, and rather than fail, the optimizer quietly used the engine it has.
Why the fallback is the right behavior
It helps to imagine the alternative. A planner presses Run before a shift meeting. An optional component is missing. Instead of a plan, a failure dialog appears, and the improvement they would have accepted is never produced at all.
The fallback keeps the useful part and gives up only the optional part. You still get a complete, constraint-respecting plan that was genuinely searched for, and you still get every protection. What you do not get is the mathematical certificate.
What you keep and what you lose
| Multi-run search | Mathematical solver | |
|---|---|---|
| Complete constraint-respecting plan | Yes | Yes |
| Never worse than your current plan | Yes | Yes |
| Nothing saved until you press Accept | Yes | Yes |
| Completed and in-progress work untouched | Yes | Yes |
| Reorders whole jobs regardless of routing features | Yes | Some jobs are kept as-is and listed as locked |
| A bound and a gap percentage | No | Yes |
| Badge language | Best of N schedules tried | Proven within a percentage of optimal |
Read that table the right way round. The fallback costs you a claim, not a capability. The multi-run engine is an honest search that tries many job orderings through the real scheduler and keeps the best complete result, which is exactly what how the multi-run optimizer searches schedules describes.
There is even one respect in which the multi-run engine is broader: it reorders whole jobs whatever routing features they use, whereas the solver keeps some jobs exactly as the scheduler planned them and reports them as locked. That is a safety design in the solver, covered in how the optimizer locks features it does not model, but it does mean a solver run can sometimes change less.
Confirming the fallback rather than guessing
Three checks, in order of speed:
- Read the badge. Best of N tried means multi-run. Proven within a percentage, or proven optimal, means CP-SAT.
- Open Explain. Only solver results list locked jobs with per-job reasons such as multi-instance work center or parallel processing. No locked-job section is a strong signal.
- Ask your administrator whether the CP-SAT component is deployed here. That is the actual fix, and it is an installation question rather than a configuration one.
Make the badge glance a habit on every run. It costs a second and it is the only place the truth is reported, which matters because the Options setting will keep showing your preference regardless.
What this is not
Worth ruling out explicitly, because teams tend to chase the wrong cause:
- Not a permission issue. Running and accepting are permission-controlled, but the engine choice is not gated that way.
- Not a data issue. Missing setup data hides the Least setup time goal, which is a different symptom entirely.
- Not a time budget issue. A short budget affects how much gets explored and can leave a wider gap, but it does not change the badge language.
- Not a licensing tier. This is a component present or absent in the deployment.
If your badge instead reads that there is nothing to optimize because some jobs use features not yet solver-optimized, that is the opposite situation: the solver is running, and every job in scope is locked. Open Explain for the per-job reasons.
While you wait for the component
Keep optimizing. The routine does not change, and neither does anything you have configured. When the component arrives, the same problem, the same goals and the same screen produce the same kind of proposal with better badge language, so nothing you build now is wasted.
Two habits are worth adopting in the meantime. Give the run a longer time budget when you want a harder search, since more alternatives get tried. And when someone asks whether the plan could be better, answer with what the badge actually supports: this is the best of the schedules we tried, not a proof. Overclaiming here is the one thing that would cost you the credibility the proof badge is meant to buy, which is why how a proven optimality gap builds trust treats the distinction as the whole point.
The takeaway
A multi-run badge after selecting the mathematical solver means the CP-SAT component is not installed in this deployment, and EDGEBIC deliberately falls back rather than fail the run. You keep the complete plan, the never-worse clamp, the untouched recorded work and the explicit Accept step; you lose only the bound and the gap percentage. Confirm by reading the badge and checking Explain for locked jobs, then treat it as an installation request. See the platform on the EDGEBIC overview, the upgrade path on the RMDB to EDGEBIC guide, and pair this with choosing the optimizer engine and the two layers of the EDGEBIC optimizer.
Expert Q&A: Deep Dive
Q: Our team spent a week arguing about whether our schedule could be better. We chose the solver for exactly that reason and got a multi-run badge. What now?
A: You are one deployment task away from the answer you wanted, and in the meantime the plan on your screen is not worse for it. The reason the solver ends that argument is that it computes a bound, meaning the best any schedule could theoretically achieve on your chosen goal, and reports the gap between that and what it found. A badge reading proven within two percent of optimal is a mathematical statement, so the discussion moves from opinion to a number. Without the component you still get a real improvement, just without the proof: the multi-run search genuinely reordered whole jobs through the real scheduler and kept the best complete schedule it found. Take the badge to whoever owns your installation and ask for the CP-SAT component. Nothing about your data, masks, goals or routine changes when it arrives, because both engines consume the same problem and present the same screen. The only visible difference is the badge language and the appearance of locked-job reasons in Explain.
Q: Is the fallback silent, and should it be?
A: It is silent in the sense that no error appears, but not in the sense that it hides anything, because the badge always names the engine that produced the result. That is the right trade for a planning tool. Consider the alternative: a planner presses Run before a shift meeting, an optional component is missing, and instead of a plan they get a failure dialog. The schedule they would have accepted, which was guaranteed not to be worse than the current one, never gets produced. The design choice keeps you working and tells you the truth in the one place you are already reading. The practical habit worth building is to glance at the badge every run rather than assuming it matches Options, and to treat a mismatch as a deployment question rather than a scheduling one.
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 Nearest Challenger Line in an Optimizer Result
When the optimizer says your plan is still the best, it often names the runner-up and how far behind it was. That one line tells you how close the decision was and whether to look again.
What the Optimizer Needs Before Its First Run
Four prerequisites, only one of which is mandatory. Here is the short checklist before your first optimizer run, and the two messages that tell you a prerequisite is missing.
Why Optimizer Changes Show an Arrow and a Word
Every Change cell in the optimizer comparison carries a direction arrow and the word better or worse, never a color alone. Here is why that matters and how to read the table quickly.
