Table of Contents
Fetching ...

Parallel $(1+ε)$-Approximate Multi-Commodity Mincost Flow in Almost Optimal Depth and Work

Bernhard Haeupler, Yonggang Jiang, Yaowei Long, Thatchaphol Saranurak, Shengzhe Wang

TL;DR

This work delivers the first parallel $(1+\varepsilon)$-approximate algorithm for undirected multi-commodity mincost flow with vertex capacities, achieving almost-optimal work $\widehat{O}(m)$ and depth $\widehat{O}(1)$ for $\varepsilon>1/\mathrm{polylog}(m)$. The central technical advance is a length-constrained flow shortcut with length slack $(1+\varepsilon)$, congestion slack $\widehat{O}(1)$, and step $\widehat{O}(1)$, enabling near-linear-size augmentations that preserve flow properties while keeping the depth small. A close-to-linear time LC-vertex expander decomposition and a low-step multi-commodity maxflow framework are developed and integrated via a flow-boosting template to obtain a $\hat{O}(m k)$-work, $\hat{O}(1)$-depth algorithm for the $k$-commodity setting. The results imply near-optimal parallel performance for a broad class of mincost-flow problems on undirected graphs with vertex and edge capacities and costs, with potential extensions to distributed settings.

Abstract

We present a parallel algorithm for computing $(1+ε)$-approximate mincost flow on an undirected graph with $m$ edges, where capacities and costs are assigned to both edges and vertices. Our algorithm achieves $\hat{O}(m)$ work and $\hat{O}(1)$ depth when $ε> 1/\mathrm{polylog}(m)$, making both the work and depth almost optimal, up to a subpolynomial factor. Previous algorithms with $\hat{O}(m)$ work required $Ω(m)$ depth, even for special cases of mincost flow with only edge capacities or max flow with vertex capacities. Our result generalizes prior almost-optimal parallel $(1+ε)$-approximation algorithms for these special cases, including shortest paths [Li, STOC'20] [Andoni, Stein, Zhong, STOC'20] [Rozhen, Haeupler, Marinsson, Grunau, Zuzic, STOC'23] and max flow with only edge capacities [Agarwal, Khanna, Li, Patil, Wang, White, Zhong, SODA'24]. Our key technical contribution is the first construction of length-constrained flow shortcuts with $(1+ε)$ length slack, $\hat{O}(1)$ congestion slack, and $\hat{O}(1)$ step bound. This provides a strict generalization of the influential concept of $(\hat{O}(1),ε)$-hopsets [Cohen, JACM'00], allowing for additional control over congestion. Previous length-constrained flow shortcuts [Haeupler, Hershkowitz, Li, Roeyskoe, Saranurak, STOC'24] incur a large constant in the length slack, which would lead to a large approximation factor. To enable our flow algorithms to work under vertex capacities, we also develop a close-to-linear time algorithm for computing length-constrained vertex expander decomposition. Building on Cohen's idea of path-count flows [Cohen, SICOMP'95], we further extend our algorithm to solve $(1+ε)$-approximate $k$-commodity mincost flow problems with almost-optimal $\hat{O}(mk)$ work and $\hat{O}(1)$ depth, independent of the number of commodities $k$.

Parallel $(1+ε)$-Approximate Multi-Commodity Mincost Flow in Almost Optimal Depth and Work

TL;DR

This work delivers the first parallel -approximate algorithm for undirected multi-commodity mincost flow with vertex capacities, achieving almost-optimal work and depth for . The central technical advance is a length-constrained flow shortcut with length slack , congestion slack , and step , enabling near-linear-size augmentations that preserve flow properties while keeping the depth small. A close-to-linear time LC-vertex expander decomposition and a low-step multi-commodity maxflow framework are developed and integrated via a flow-boosting template to obtain a -work, -depth algorithm for the -commodity setting. The results imply near-optimal parallel performance for a broad class of mincost-flow problems on undirected graphs with vertex and edge capacities and costs, with potential extensions to distributed settings.

Abstract

We present a parallel algorithm for computing -approximate mincost flow on an undirected graph with edges, where capacities and costs are assigned to both edges and vertices. Our algorithm achieves work and depth when , making both the work and depth almost optimal, up to a subpolynomial factor. Previous algorithms with work required depth, even for special cases of mincost flow with only edge capacities or max flow with vertex capacities. Our result generalizes prior almost-optimal parallel -approximation algorithms for these special cases, including shortest paths [Li, STOC'20] [Andoni, Stein, Zhong, STOC'20] [Rozhen, Haeupler, Marinsson, Grunau, Zuzic, STOC'23] and max flow with only edge capacities [Agarwal, Khanna, Li, Patil, Wang, White, Zhong, SODA'24]. Our key technical contribution is the first construction of length-constrained flow shortcuts with length slack, congestion slack, and step bound. This provides a strict generalization of the influential concept of -hopsets [Cohen, JACM'00], allowing for additional control over congestion. Previous length-constrained flow shortcuts [Haeupler, Hershkowitz, Li, Roeyskoe, Saranurak, STOC'24] incur a large constant in the length slack, which would lead to a large approximation factor. To enable our flow algorithms to work under vertex capacities, we also develop a close-to-linear time algorithm for computing length-constrained vertex expander decomposition. Building on Cohen's idea of path-count flows [Cohen, SICOMP'95], we further extend our algorithm to solve -approximate -commodity mincost flow problems with almost-optimal work and depth, independent of the number of commodities .
Paper Structure (153 sections, 72 theorems, 218 equations, 3 figures, 3 algorithms)

This paper contains 153 sections, 72 theorems, 218 equations, 3 figures, 3 algorithms.

Key Result

theorem 1.1

Given a graph $G$, cost budget $B$, two vertices $s,t\in V$, and a precision parameter $1/\mathrm{polylog}(n)< \epsilon<1$, there exists a parallel $(1+\epsilon)$-approximate mincost flow algorithm with $\hat{O}(m)$ work and $\hat{O}(1)$ depth.

Figures (3)

  • Figure 1: An example for the forward mapping in LC-expanders. Given flow path $P = P_{u,v}$, the red path is the output of the forward mapping. We only draw few subpaths on $P$ and omit others for simplicity. We note that the routing given in the small-cluster part is only for illustration, which represents the inductive forward mapping results.
  • Figure 2: An example of a two-level expander decomposition hierarchy with shortcuts over large-clusters. For simplicity, we omit small-clusters and inter-cluster edges. (b) Dashed edges represent cut edges $e$ with $C_{1}(e) = 1$ (in this figure, we assume each $C_{1}(e)$ is either $0$ or $1$). (c) Vertices are not in the support set of $A_{2}$ is marked with hollow circles.
  • Figure 3: An example of the jumping subpath between heavy large-cluster subpaths. The blue region marks $Y_{L}$ and $Y_{R}$ in the leftmost and rightmost heavy large-cluster subpaths, respectively. The black dashed arrows represent the relocation using the first-level shortcut $H_{1}$, where we omit for simplicity.

Theorems & Definitions (150)

  • theorem 1.1
  • theorem 1.2
  • theorem 2.1
  • theorem 2.2
  • theorem 2.3
  • definition 3.1: Neighborhood covers
  • theorem 3.2
  • proof
  • lemma 3.2
  • definition 3.3
  • ...and 140 more