The old TSP code-base is still called when we encounter a specific case of CVRP that has only one vehicle, no skills and no amount.
This was fine when we only had jobs in input. But now when inputting a problem with shipments (and only one vehicle, no skills and no amount), then it's solved as a plain TSP so we don't guarantee the precedence constraints for shipments tasks. This results in hitting various asserts or simply crashing with NDEBUG.
One might argue that having shipments without amounts sounds weird, but the current code-base does support this (when solving appropriately) and it's a totally valid way of modelling same-route precedence constraints without any capacity constraint.
The old TSP code-base is still called when we encounter a specific case of CVRP that has only one vehicle, no skills and no amount.
This was fine when we only had
jobsin input. But now when inputting a problem withshipments(and only one vehicle, no skills and no amount), then it's solved as a plain TSP so we don't guarantee the precedence constraints forshipmentstasks. This results in hitting various asserts or simply crashing withNDEBUG.One might argue that having
shipmentswithoutamountssounds weird, but the current code-base does support this (when solving appropriately) and it's a totally valid way of modelling same-route precedence constraints without any capacity constraint.