The encyclopedia · Engineering & Operations · Operational decision · 2022-2024
Purolator's IP model saved ~$1.3M a year on US gateways
An integer program chose which US cities should be Purolator's gateways and how to route trucks; realised savings beat estimates by $500K.
Purolator International
the move
Purolator International moves freight northbound from the US to Canada, transshipping through US gateway cities before border crossings. With hundreds of possible gateway locations and thousands of US customers, decisions about where gateways should sit and which trucks should run were made case by case.
Researchers built an integer programming formulation that chooses gateways, assigns customers to them by destination, and routes trucks from gateways to major Canadian destinations. The model produced four reconfigurations, which triggered deeper process analysis and four actionable recommendations.
The recommendations were estimated to save about US$782,767 per year; after implementation, Purolator reported realised savings that surpassed the estimate by nearly US$500,000, over $1.2 million a year in total.
why it works
- Gateway location, customer assignment, and truck routing were optimised together.
- The model made the trade-off between consolidation and lead time visible.
- Recommendations came with numbers, so decision makers could commit.
- Small network changes produced savings that outran the estimate.
what transfers
Network structure questions, where to put hubs and how to assign flow, are exactly what optimisation is for. Model the whole assignment and even a mid-size carrier finds seven-figure annual savings.
what came after
Purolator implemented the recommendations, and the work appeared in the INFORMS Journal on Applied Analytics in 2025 as an example of freight gateway consolidation for a mid-size carrier.
references
- Freight Gateway Consolidation for Purolator International Using Integer Programming
- Freight Gateway Consolidation for Purolator International Using Integer Programming
spotted an error? The archive wants to know.