Problems and warnings, explainedCopy link
A fresh optimization respects your constraints: rather than break a rule, the solver leaves an order unassigned. Red problem lines therefore almost always come from manual work. When you edit routes by hand, the engine applies your change and flags any rule it breaks instead of refusing it.
Problems surface at three levels:
- # PROBLEMS in the top metrics strip: the count across the whole plan, shown only when it is above zero.
- PROBLEMS on a route card, in red: how many of them sit on that route.
- A red line under the affected stop with the specific message.
Every problem messageCopy link
| Message | What it means | How to fix it |
|---|---|---|
| The vehicle may not visit this location (tags / restrictions) | The order's required or forbidden tags do not match this vehicle | Move the stop to a compatible vehicle, or change the tags. See Tags |
| No drivable road connection to this location | The pin sits somewhere the road network cannot reach | Fix the address or drag the pin to the street. See Fix mislocated addresses |
| Overloaded by N | The vehicle carries N units more than its capacity at some point on the route | Move a stop to another route, raise capacity, or add a reload. See Capacity, deliveries, and pickups |
| Misses a delivery time window by X | The vehicle arrives X after the order's window closed | Move the stop earlier in the route or to an earlier vehicle, or widen the window |
| Exceeds the shift duration limit by X | The route runs X longer than the vehicle's maximum duration | Move stops off the route, or raise the limit. See Shifts and working hours |
| Exceeds the distance limit by X km/mi | The route drives X farther than the vehicle's maximum distance | Move stops off the route, or raise the limit |
| Misses the depot's opening hours by X | A depot visit (start, reload, or return) falls X outside the depot's hours | Adjust the depot's hours or the shift, or reorder the route |
| Runs past the vehicle's shift end by X | The route finishes X after the shift ends | Start earlier, move stops off the route, or extend the shift |
| Pickup & delivery order out of sequence | A transfer's pickup and delivery are on different routes or the delivery comes first | Keep both halves on one route, pickup before delivery. See Pickup & delivery transfers |
| Exceeds the driver's remaining driving allowance by X | The route drives X more than the hours left in the driver's period budget | Move stops off the route, or correct Driving limit per period (h) / Already driven (h). See Driver breaks |
| Violates the driver-break rules by X | The break the rule requires cannot be placed in this route as it stands | Reorder or shorten the route, widen the windows around the break, or relax the rule. See Driver breaks |
| Break taken at a stop where breaks are not allowed | The only place the break fits is a stop marked "No driver breaks at this stop" | Allow breaks at that stop, or reorder the route so the break lands elsewhere |
| Sequence group broken (its orders run on one route, in their given order) | The group's orders are split across routes or run out of rank order | Put every member on one route in rank order. See Order sequences |
| Mixes incompatible product classes on one vehicle (A, B) | Two of the named classes sit in one of this vehicle's Do not mix load classes groups and share the route | Move one of the classes to another vehicle, or drop the pair from the vehicle's Do not mix load classes groups. See Product segregation |
| Delivered X past its max time in vehicle | The order's ride ran X longer than its Max time in vehicle allows, counting from its release time on a plain order and from the pickup on a transfer. A driver break taken between pickup and delivery counts toward the ride | Serve the order earlier in the route, raise Max time in vehicle (or Max ride overtime on a transfer), allow breaks at more stops, or move it to a vehicle that reaches it sooner. See Max time in vehicle |
The X amounts are the size of the violation, not of the whole constraint: a window missed "by 5 min" may be worth accepting; "by 2 hrs" probably is not.
The blue wait lineCopy link
"Waits 25 min for the window to open" is not a problem, and is shown in blue rather than red. The vehicle arrives before the order's window and idles until it opens. The plan is valid; the line marks where paid time goes to idling. Lots of waiting on one route usually means a window or the shift start can move, or that stops with similar windows belong together. See Time windows, service time, priority, and load.
Shipping with problems, or notCopy link
Problems do not block anything: a plan with problems can still be exported or shared. Options, in order of preference:
- Undo the edit that caused it.
- Fix it with another edit, using the table above.
- Run Optimize stop order on the affected route: it re-sequences the stops and clears any violation that a better order can absorb.
- Accept it knowingly. The export and driver views show the plan as it is.
If problems appear without any manual editing, check the inputs first: an impossible combination you forced with hand-placed orders, or stale routes marked NOT SYNC after input changes. A fresh optimizer run rebuilds the plan and drops what does not fit.
The two driver-break problems can appear on a fresh solve, and re-running does not clear them: an order that does not fit can be dropped, but a mandatory break cannot. A rule requiring a break after 4.5 hours of driving cannot be satisfied on a 6-hour drive between two stops, because a break is taken at a stop and that drive has none. Add a stop along the way, relax the rule, or accept the plan as reported. The same applies to a break placed on a stop marked "no breaks" when no other stop could host it.
When the rules themselves are the problemCopy link
The table above fixes one problem at a time. Sometimes the problem is not one stop but the rule set: the 11:00 window, the 16:30 shift end, the reefer tag, and the 18-pallet capacity are individually reasonable and jointly impossible, and the question is which rule do I relax, and what does relaxing it buy me.
An AI assistant can work on that question, because it receives everything on this page as structured data rather than as an image: every problem with its type, its route, its stop and the size of the violation; for every hand-placed order, whether it would break a rule anywhere or only where you put it; for every unassigned order, its category, its blockers, and the levers that would let it in; and the cost, distance, and problem-count difference against the last full optimization. It can read all of that across the whole plan at once.
Route 2 has four problems and three orders are unassigned. Go through
the plan and tell me which of my constraints are actually in conflict,
which single rule I should relax, and what it would cost me. Do not
change anything yet.
Run it three ways and compare: shift end at 17:30 instead of 16:30,
capacity 20 instead of 18, and the pharmacy window widened to 12:00.
Which one clears the most problems for the least money?
In the second prompt each variant is a real solve on your data, so a claim like "we need a bigger van" is answered with measured cost and problem counts. Query, edit, and export a plan with AI covers reading and editing a plan this way, and Describe constraints in plain language covers expressing the rules in the first place.
Next stepCopy link
If re-runs feel slow on large plans, read Optimization tips for large datasets.