Maximum flow is a key measurement for the capacity of a flow network. When malfunction or damage occurs in branches of a dynamic network, it is urgent in many applications to identify whether the damaged network is still able to transfer demanded flow d. Obviously, recalculating maximum flow in the new network with the traditional algorithm is not a recommended solution for its higher time-complexity. As is known, in many existing maximum flow algorithms, the search for augmenting paths is critical but highly time-consuming. Thus, this paper proposes an incremental maximum flow algorithm based on augmented routing tree (IMFA_ART), directly producing augmenting paths without complex calculation. The algorithm caches the information of simple paths during calculating maximum flow in the original network. The cached data will be utilized to get the augmenting paths whenever network topology changes, without any complex calculation in residual network. In addition, in order to avoid traversing those invalid simple paths that contain saturated edges, an augmented routing tree is proposed to index all simple paths. With the aid of this tree, the next augmenting paths can be found sequentially to achieve maximum flow by traversing from the root to a leaf. The time complexity is determined by the height of ART, which is far less than the number of augmenting paths. Therefore, the algorithm performance can be improved significantly. Experiments show that IMFA_ART has greater advantage in time performance over Dinic, the most famous maximum flow algorithm.
展开▼