Quicopt
Case study

Case study · Vehicle routing

One truck fewer at the peak, 27 fewer hours on the road each week.

A textile-services provider sends a fleet of trucks out from a single plant every weekday: clean laundry out, dirty laundry back, several hundred stops in between. Which truck takes which customer, in what order, has to satisfy five rules at once: how much each truck holds, how long a driver may work, when each customer can be served, and, unusually, which roads a truck pulling an 18-metre trailer can physically use at all. For years, that schedule was built by hand.

With OR-Tools (open source), the manual plan already improves by three tours. Quicopt saves four more:

Manual plan

63
Tours

OR-Tools

60
Tours
−4.8% vs. manual

Quicopt

56
Tours
−11.1% vs. manual

Fleet size

13 → 12

One truck fewer on the peak day

How many trucks you have to own is set by the busiest single day, not by the weekly average. On that day the manual plan and OR-Tools each need 13 trucks. Quicopt’s plan fits into 12.

One weekday, in detail

Trailer route

One Wednesday from this week: both plans serve the same 94 locations and 105 deliveries from a single plant. Dashed lines are trailer routes, everything else runs solo trucks. Straight lines between stops, not road geometry.

Drive time per weekday, in hours

Manual plan · 185.9h per weekOR-Tools · 166.5Quicopt · 158.8
36
32
32
40
36
34
34
29
27
39
34
32
38
36
33
MonTueWedThuFri

Quicopt drives 27.1 hours less than the manual plan (−14.6%) and 7.7 hours less than OR-Tools (−4.6%).

Manual planOR-ToolsQuicopt
Depot departures (incl. reloads)766764

−12 depot departures (−16%) versus the manual plan, fewest of all three plans, on every single day.

The shape of the problem

5
Weekdays
63
Tours / week
≈340
Customers
16
Fleet
4
With trailer

Why this is not a textbook routing problem

Capacity

Each truck holds a fixed number of roll-containers. Load must never exceed it at any point of the route, not just at the start.

Driver duty day

Maximum 9h30 per driver-day, including a mandatory 45-minute break once driving reaches 4.5 hours.

Delivery windows

Some customers may only be served inside a fixed time window.

Trailer accessibility

A truck-plus-trailer holds roughly double, but is 18 metres long instead of 10 and physically cannot reach every customer: narrow access, tight yards, alpine approaches.

Multi-trip / reload

A truck can return to the plant mid-day, refill, and drive a second loop. Capacity resets at every depot visit.

Only as good as the model behind it

The model has to match the operation, not the other way round. A result is only useful if every constraint is actually represented and every solution stays feasible in practice. Miss a rule in the model, or return a solution that cannot actually run, and the result is worthless, however good the drive time looks on paper. That is why every constraint has to be feasible and realistic before the solver even starts.

Faster, and provably at the ceiling

100 seconds

for the whole week (20s per weekday), against ≈150s for OR-Tools.

Compute budget checked

36×

That much more compute we checked against (6 seeds × 120s instead of 3 seeds × 20s), on all five days. Result: 0.00% optimality gap. More compute buys nothing here. The per-day routing is at its practical ceiling, which is a strong empirical result, not a mathematical proof of optimality.

What the process would look like

Here is what that would involve:

Capture the constraints

Every rule that actually applies in the operation goes into the model: capacities, duty times, delivery windows, access restrictions. Only that way does the model return a result that can actually be driven.

Make the data usable

Spreadsheets, fleet data, and master data become a model the solver can solve directly.

Build and verify the model

The model gets built, solved, and every result checked against the relevant rules before it is presented.

Integrate it into the operation

A finished plan is worth little sitting in a notebook. The optimization connects to the existing systems, so dispatchers can use it directly.

A case study by Quicopt · quicopt.com