An O(n \(\log ^ 2n)\) algorithm for maximum flow in undirected planar networks. (English) Zbl 0565.90018

A new algorithm is given to find a maximum flow in an undirected planar flow network in O(n \(\log^ 2n)\) time, which is faster than the best method previously known by a factor of \(\sqrt{n}/\log n\). The algorithm constructs a transformation of the dual of the given flow network in which differences between shortest distances are equal, under suitable edge correspondences, to edge flows in the given network. The transformation depends on the value of a maximum flow. The algorithm then solves the shortest distances problem efficiently by exploiting certain structural properties of the transformed dual, as well as using a set of cuts constructible in O(n \(\log^ 2n)\) time by a known method which is also used to find the requisite flow value. The main result can be further improved by a factor of log n/log\({}^*n\) if a recently developed shortest path algorithm for planar networks is used in place of Dijkstra’s algorithm in each step where shortest paths are computed.


90B10 Deterministic network models in operations research
05C35 Extremal problems in graph theory
68Q25 Analysis of algorithms and problem complexity
90C35 Programming involving graphs or networks
65K05 Numerical mathematical programming methods
Full Text: DOI