Gaja Velkavrh (2012) The maximum-flow problem. EngD thesis.
Maximum flow problem is one of the fundamental problems in network flow theory and has been extensively investigated. In this work we describe the development of efficient algorithms for the maximum flow problem and the current situation in this area. For each algorithm, we describe the main idea, which is used to achieve a better time complexity and the relationship with previous algorithms. We did not describe algorithms in more detail, because some, especially more recent, are very complicated. Therefore, we mentioned literature where algorithms are described in more detail. The problem was first defined by Dantzig (1951) and solved by Ford and Fulkerson (1956), using the augmenting paths method. Since then has been an increasing number of algorithms. Edmonds and Karp (1968) showed that the algorithm of Ford - Fulkerson has time complexity O(nm^2), if the flow is increased firstly on shortest paths. Independently Dinitz (1970) demonstrated the concept of networks with the shortest paths - multi-layered networks - and reached the time complexity O(n^2 m). This limit was improved by Karzanov (1974), who introduced the concept of preflows in multi-layer networks. This time complexity was later improved by Goldberg and Tarjan (1986). Their algorithm sends preflow from the nodes that are closest to the sink. Information about the distance is better than a multi-layered network, because it is simpler to understand and easier to use in parallel algorithms. By using excess scaling Orlin and Ahuja (1988) improved Goldberg - Tarjan's algorithm. With progressive combination of blocking backflow and preflow Waisse (1992) showed the fastest algorithm for the maximum flow problem. With storage of the list of neighbor nodes heights for each node Pham, Lavallee, Bui and Do (2005) improved Goldberg - Tarjan's algorithm. Currently the fastest approximation algorithm is envisioned by Christiano, Kelner, Mandry and Spielman (2010).
Actions (login required)