Parcel delivery and logistics

Fleet sizing and route optimisation for a parcel delivery company

By Data Department

Data Department worked on fleet sizing and route assignment for a parcel delivery company. We combined custom clustering with mixed-integer programming to respect delivery windows, priorities and vehicle capacity. The analysis showed that the same service level could be met with about 30% fewer vehicles.

The decision

A parcel delivery company makes two linked decisions. The first is strategic: how many vehicles does the operation need? The second is operational: which vehicle serves which deliveries, in what order?

Both decisions are usually made with rules of thumb and experience. That works, but it tends to build in slack. Extra vehicles absorb the cost of routes that were never optimised. Every extra vehicle carries fixed costs: lease or depreciation, driver, insurance, maintenance.

The question we worked on was: what is the smallest fleet that still meets the service level the company has promised its customers?

What we built

We built an optimisation model in two layers.

Layer Method What it does
Grouping Custom clustering Groups deliveries into sensible areas so the optimisation problem stays solvable
Assignment MIP (mixed-integer programming) Assigns deliveries to vehicles and sizes the fleet, subject to the constraints below

The constraints the model had to respect:

  • Delivery windows: each delivery must arrive within its promised time window.
  • Priorities: some deliveries matter more than others and must be served first.
  • Capacity: each vehicle can carry only so much.

Mixed-integer programming is a mathematical optimisation method for decisions that are yes-or-no or whole numbers, such as "does this vehicle serve this stop?" or "how many vehicles do we need?". It finds the best answer that satisfies every constraint, rather than an answer that only looks good on average.

Clustering came first for a practical reason. A full routing problem over every parcel at once grows very large very quickly. Breaking it into well-chosen groups keeps solve times workable without throwing away the structure of the problem. The clustering was built for this operation rather than taken off the shelf.

Results

  • About 30% fewer vehicles: the analysis showed that the same service level could be met with about 30% fewer vehicles.
  • The model respected delivery windows, priorities and capacity in its plans.

Lessons

Optimisation, not prediction, was the right tool. This problem did not need a forecast. It needed the best decision under hard constraints. Not every AI (artificial intelligence) project is a machine learning project; operations research methods such as mixed-integer programming are often the better fit for planning problems.

Define the service level first. A smaller fleet is easy if you are allowed to deliver late. Fixing the service level as a constraint made the ~30% figure meaningful: same promise to customers, fewer vehicles.

Decomposition makes large problems practical. Clustering before optimisation is a deliberate trade-off between theoretical optimality and solve time. For a daily operational tool, a very good plan available in minutes beats a perfect plan that arrives too late.

Plans meet reality on the road. The ~30% figure comes from the model's plans. Real routes meet traffic, failed deliveries and driver knowledge. That is why, in general, we recommend confirming any planning result with a controlled trial on part of the operation before changing the whole fleet.

We apply the same methods in our optimisation and simulation work, and they are often a strong first project for distribution and logistics companies.

Frequently asked questions

What is mixed-integer programming?

Mixed-integer programming is a mathematical optimisation method for decisions that involve yes-or-no choices or whole numbers, such as how many vehicles to run. It finds the best solution that satisfies all stated constraints.

Does a smaller fleet mean worse service?

Not in this model. The service level was a constraint: delivery windows, priorities and capacity had to be respected. The analysis showed the ~30% reduction with the same service level held fixed.

Why cluster deliveries before optimising?

A routing problem over every parcel at once grows very large very quickly. Grouping deliveries into well-chosen areas first keeps solve times workable while preserving the structure of the problem.

Not sure where AI would pay off? Ask us.

Book a free 30-minute AI opportunity review. A senior consultant looks at the decision you want to improve and tells you honestly whether AI fits, what data it needs and what a first step would look like. We reply within two working days.

Get a free AI opportunity review
Free AI assessment