Repository navigation
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
For the entire problem setup and reproduce, see repro_break_dim_bugs.py.
| Setup | Observed | Expected | |
|---|---|---|---|
| A | unreachable break TW [5, 5], break loc 200 s away |
status 0, route 0→1→0 (break silently missing) |
status 1 INFEASIBLE |
| B | break TW [100, 200], customer at t=10, route can finish at t=20 |
status 0, route 0→2→1→0, cost 410.25 |
status 0, route 0→1→0, cost 20 |
Both stem from a single design assumption: every route has exactly N breaks. The cost formula max(0, breaks − N) only penalizes excess; squeeze unconditionally inserts every dim; eject_until_feasible protects breaks; find_break_insertions only moves existing breaks.
Observed
expect status 1 since the problem is infeasible
A: cost=20.00 vehicles=1
vehicle 0: 0(Depot) -> 1(Delivery) -> 0(Depot)
expect status 0 and no break in solution since it is not needed
B: cost=410.25 vehicles=1
vehicle 0: 0(Depot) -> 2(Break) -> 1(Delivery) -> 0(Depot)
Expected
expect status 1 since the problem is infeasible
A: INFEASIBLE (status=1)
expect status 0 and no break in solution since it is not needed
B: cost=20.00 vehicles=1
vehicle 0: 0(Depot) -> 1(Delivery) -> 0(Depot)
Why it matters
This issue negatively affects UX and is a blocker for feature development.
Case A is a bug with straightforward fix.
Case B appears to be a solver/design limitation rather than a simple feasibility bug.
Environment
- cuOpt:
b311a990(main), built from source (Release). - Single A100 80 GB PCIe
- Driver Version: 580.65.06, CUDA Version: 13.0, nvcc V13.1.115
- Linux 5.15.179, Python 3.14, miniconda.
Notes
- Adding distance breaks semantics forces EVs travel around chargers to comply with the required breaks due to issue B.
- To fix case A override
inf_cost[BREAK]in route_t::compute_cost withmax(0, required - breaks)using a dynamic required-count derived from the route's actual arrival_at_depot. Squeeze still inserts every dim so no construction path changes; all 83 routing tests pass. - an attempt to add in-LS eject-only candidate to fix case B perturbed LS convergence (heterogenous_breaks became flaky).
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working
Activity
[-][BUG][/-][+][BUG] Routing solver: non-deterministic infeasibility and SIGFPE on break dimensions[/+][-][BUG] Routing solver: non-deterministic infeasibility and SIGFPE on break dimensions[/-][+][BUG] Routing solver: break-dimension bugs[/+]np96 commentedon May 11, 2026
I've reframed the issue. Initially had bad setup with cached builds.
@rg20 @anandhkb, please check case B.
github-actions commentedon Jun 2, 2026
🔔 Hi @anandhkb @rg20, this issue has had no activity for 21 days. Please update or let us know if it can be closed. Thank you!
If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.
github-actions commentedon Jun 24, 2026
🔔 Hi @anandhkb @rg20, this issue has had no activity for 21 days. Please update or let us know if it can be closed. Thank you!
If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.
github-actions commentedon Jul 16, 2026
🔔 Hi @anandhkb @rg20, this issue has had no activity for 21 days. Please update or let us know if it can be closed. Thank you!
If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.
github-actions commentedon Aug 6, 2026
🔔 Hi @anandhkb @rg20, this issue has had no activity for 21 days. Please update or let us know if it can be closed. Thank you!
If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.
github-actions commentedon Aug 27, 2026
🔔 Hi @anandhkb @rg20, this issue has had no activity for 21 days. Please update or let us know if it can be closed. Thank you!
If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.
routing: add distance breaks (#1196)
np96 commentedon Sep 11, 2026
@rg20 I've updated a fix PR, I believe this should both issues: unnecessary break enforcement and false feasibility.
github-actions commentedon Oct 3, 2026
🔔 Hi @anandhkb @rg20, this issue has had no activity for 21 days. Please update or let us know if it can be closed. Thank you!
If this is an "epic" issue, then please add the "epic" label to this issue.
If it is a PR and not ready for review, then please convert this to draft.
If you just want to switch off this notification, then use the "skip inactivity reminder" label.