- Home
- Blog
- Schedule Optimization
- Optimizer Messages and What They Mean
Every message the optimizer shows has one specific cause and one specific fix, and none of them put your plan at risk. The optimizer writes nothing until you press Accept, so a message during a run is at worst a prerequisite you have not met yet. This post lists the messages you can encounter, what each one is telling you, and what to do about it.
EDGEBIC by User Solutions deliberately phrases these messages in plain language rather than error codes, because the person reading them is a planner in the middle of a shift, not a support engineer. Use this page as the reference behind them.
Prerequisite messages
"There are no open manufacturing orders to optimize." The optimizer improves an existing plan rather than building one from nothing. With no open orders in scope, there is nothing to reorder. Create and schedule orders, then return to the Optimizer tab. Nothing is broken.
The Least setup time goal is missing from the goal list. This goal is data gated. It appears once sequence-dependent setup data exists, because without a setup matrix there are no changeover hours to minimize. The list shows On-time first, Fastest overall finish, and Fewest changes until then, and the missing goal returns on its own once the matrix has data. See the Least setup time preset.
Result messages that are not problems
"We tried 24 alternative schedules, your current plan is still the best." This is a real answer and a good one. Your plan beat every alternative built under the goal you chose. Often it is accompanied by a nearest challenger line naming the best losing alternative and how far behind it fell. If you want a harder search, raise the time budget or try a different goal. Repeating the same run reproduces the same candidates, because the search is deterministic. See when the optimizer says your plan is already the best.
"No operations move, your current plan stands." The move list is empty because the proposal is identical to your plan. Same meaning as above, seen from the changes list instead of the verdict.
"Nothing to optimize, some jobs use features not yet solver-optimized." This badge appears with the mathematical solver when every job in scope uses a capability the solver reproduces exactly rather than rearranging: multi-instance work centers, one-per-day work centers, transit days, lot streaming, parallel processing, alternate work centers, or an ineligible setup matrix. The solver verified the plan and changed nothing, and it claims no optimality gap in that state, which is the honest report. Open the Explain dialog for the reason on each job. If you want those jobs reordered, switch to the multi-run search, which reorders whole jobs regardless of the routing features they use. See how the optimizer locks features it does not model.
Messages during a run
"Trying schedules..." The run is in progress and will finish within the time budget you selected, which is 10, 30, or 60 seconds. Nothing is locked while it thinks, and jobs and capacity stay exactly as they are.
"Stopped, nothing was changed." You canceled the run. Cancel is always harmless because the run holds its work in memory and had written nothing. See stopping the optimizer early.
Messages at Accept time
"Changes arrived while you reviewed, re-run to include them." The plan moved underneath your proposal while you were reading it, typically a colleague rescheduling or actuals landing from the kiosk. Rather than overwrite that work, Accept refuses and offers a Re-run button that solves again on the latest data. This is never a data loss situation. See optimizer staleness protection.
"Plan accepted and saved. Schedule views are refreshing." The proposal was persisted through the same pipeline a normal scheduling run uses, and every schedule view is updating. One audit record was written capturing the goal, the numbers, the moves, and the seed. Find it later through the job's audit trail.
Failure messages
"Optimization failed" or "No plan could be produced." This means the underlying engine could not schedule the current orders at all, which is a scheduling problem rather than an optimizer problem. The usual causes are a missing routing, no shifts defined for a required work center, or a work center with no capacity in the horizon. Fix the scheduling issue first, confirm a normal Generate Schedule run succeeds, then optimize.
A result that looks worse on one row. Not a failure. Goals are ranked, so a small loss on a lower ranked measure can buy a large win on the measure you asked for. The change column always spells the direction out in words as well as an arrow, so nothing is hidden. If the trade offends you, Discard costs nothing and picking another goal takes seconds. See why an optimized plan can look worse on one measure.
Quick reference
| Message | Cause | What to do |
|---|---|---|
| No open manufacturing orders | Nothing scheduled in scope | Create and schedule orders first |
| Least setup time missing | No sequence-dependent setup data | Populate the setup matrix |
| Your current plan is still the best | No alternative beat it | Keep the plan, or try another goal or a longer budget |
| Nothing to optimize, jobs use unmodeled features | Solver engine, every job locked | Open Explain, or switch to the multi-run search |
| Stopped, nothing was changed | You canceled | Rerun when ready |
| Changes arrived while you reviewed | The plan moved during review | Click Re-run and review the fresh result |
| Optimization failed | The engine could not schedule at all | Fix the scheduling problem, then optimize |
| Accept moved less than expected | Only move list rows move | Reread the changes count |
The one thing to remember
None of these messages can leave your plan in a bad state. A proposal lives only on the screen until you press Accept, and closing the application drops it, which is always safe because nothing was saved. Discard leaves the database exactly as it was. And any proposal you are shown has already been measured against your current plan, so a downgrade never reaches the Accept button in the first place.
The bottom line
Optimizer messages fall into four groups: prerequisites you have not met, honest results that are not problems, run-state notices, and genuine scheduling failures that belong upstream. Match the message to the row in the table above and act on the fix. Everything short of Accept is reversible by doing nothing. To try a run, open the Optimizer tab in Schedule Jobs. For the wider picture, read the EDGEBIC optimizer guide and how to turn on the optimizer, and explore the platform at EDGEBIC.
Expert Q&A: Deep Dive
Q: A banner says changes arrived while I reviewed. Did I lose my proposal?
A: No, and no data is at risk. The banner means the plan moved underneath your proposal while you were reading it, usually a colleague rescheduling or actuals landing from the kiosk. Rather than overwrite someone else's work, Accept refuses and offers a Re-run button that solves again on the latest data. Click it, review the fresh result, and accept that instead.
Q: Accept ran but far less moved than I expected. What happened?
A: Only the operations listed in the move list ever move, and everything else stays exactly where it was by contract, including all recorded work. If the move list showed six rows, six operations moved. Reread the changes list header, which states the count. A short move list on a large plan is normal: the optimizer found a small set of reorderings that helped and left the rest alone.
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 Happens When the CP-SAT Solver Is Not Installed
You selected the mathematical solver in Options but the badge still says best of N tried. That is a deliberate fallback, not a fault, and here is how to confirm it and what you keep.
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.
