Tree-based formulation for the multi-commodity flow problem
Simon Spoorendonk, Bjørn Petersen
TL;DR
The paper tackles the scalability bottleneck of min-cost multi-commodity flow by introducing a tree-based decomposition that represents flows as convex combinations of shortest-path trees rooted at sources, enabling column generation with a master problem size of $O(|S|+|E|)$ constraints rather than $O(|K|+|E|)$. Compared with traditional path-based column generation and direct MOSEK solves, the tree-based approach substantially reduces memory and yields significant speedups, solving instances with millions of commodities and hundreds of thousands of nodes. Key contributions include a detailed CG framework for tree pricing, multiple acceleration techniques (bounded pricing, reverse-distance bounds, lazy constraints, and slack variables), and extensive experiments across grid, planar, transportation, and intermodal networks demonstrating superior scalability and competitive runtimes. The approach is especially impactful for transportation and logistics where many demands share origins, enabling high-fidelity network optimization at unprecedented scales and opening avenues for further enhancements such as GPU acceleration and source-partitioning strategies.
Abstract
We introduce a tree-based formulation for the minimum-cost multi-commodity flow problem that addresses large-scale instances. The method decomposes the source-based model by representing flows as convex combinations of trees rooted at source nodes, and solves the resulting formulation with column generation. The number of demand constraints now depends on the number of sources $|S|$, not commodities $|K|$, yielding a compact master problem when $|S| \ll |K|$. We conduct a computational study comparing tree-based decomposition against path-based column generation and direct LP solving. The results show speed-ups of up to one order of magnitude over direct LP solving, and improved scalability compared to path-based formulations. Tree-based decomposition enables solving instances with millions of commodities and hundreds of thousands of nodes. This makes it well-suited for applications in transportation and logistics networks where multiple demands often share common origins.
