Partial Implementation of Max Flow and Min Cost Flow in Almost-Linear Time
Nithin Kavi
TL;DR
This work translates the near-linear-time max-flow/min-cost-flow framework of Chen et al. into a concrete implementation effort, assembling and partially implementing core components such as dynamic trees, low-stretch decomposition, and a rebuilding game. It provides detailed rationale for design choices, reports empirical validations for LSST and HLD, and offers heuristic IPM experiments to gauge practicality. While several subparts remain stubbed (notably expander decomposition and a fully correct IPM), the study clarifies the practical challenges and lays a roadmap for completing the implementation, with a clear analysis of the theoretical time bounds and where they manifest in practice. Overall, the paper contributes both a partial realizing of the algorithmic blueprint and a critical assessment of its near-linear-time promises, informing future work toward a fully operational, scalable solver.
Abstract
In 2022, Chen et al. proposed an algorithm in \cite{main} that solves the min cost flow problem in $m^{1 + o(1)} \log U \log C$ time, where $m$ is the number of edges in the graph, $U$ is an upper bound on capacities and $C$ is an upper bound on costs. However, as far as the authors of \cite{main} know, no one has implemented their algorithm to date. In this paper, we discuss implementations of several key portions of the algorithm given in \cite{main}, including the justifications for specific implementation choices. For the portions of the algorithm that we do not implement, we provide stubs. We then go through the entire algorithm and calculate the $m^{o(1)}$ term more precisely. Finally, we conclude with potential directions for future work in this area.
