| 研究生: |
李俊賢 Lee, Chun-Hsien |
|---|---|
| 論文名稱: |
應用子網路擴張流量方法求解最大流量問題之研究 Solving The Maximum Flow Problem by Augmenting Flows on Subnetworks |
| 指導教授: |
王逸琳
Wang, I-Lin |
| 學位類別: |
碩士 Master |
| 系所名稱: |
管理學院 - 工業與資訊管理學系 Department of Industrial and Information Management |
| 論文出版年: | 2009 |
| 畢業學年度: | 97 |
| 語文別: | 英文 |
| 論文頁數: | 89 |
| 中文關鍵詞: | 最大流量問題 、網路最佳化 、擴張流量 、克西荷夫定律 、最小平方對偶-主 、等比例擴張 |
| 外文關鍵詞: | network optimization, maximum flow problem, augmenting flow, Kirchhoff's circuit laws, least-squares dual-primal algorithm, proportional arc augmenting |
| 相關次數: | 點閱:209 下載:1 |
| 分享至: |
| 查詢本校圖書館目錄 查詢臺灣博碩士論文知識加值系統 勘誤回報 |
最大流量問題為一基本之網路最佳化問題,旨在於一具有流量上限的網路中尋找從起點到訖點間可流通之最大可能流量,此問題已有超過五十年以上的研究歷史。傳統的最大流量演算法大致可分為兩大類:其一為不斷自起點找出一條可擴張流量至訖點之擴張路徑來擴張流量;而另一則為先塞滿起點連結出去之弧,允許節點暫存流量,再將具有暫存流量的節點沿其鄰近之一條可行弧逐次擴張流量於其鄰近點,直至所有之暫存流量擴張至訖點或返回起點而止。這些解法在每次擴張流量時,皆僅能沿網路圖之單一路徑或單一弧進行,本論文以能一次即利用網路中所有的可行弧來擴張流量為目標,使用最短路徑所建構之子網路架構來擴張流量,提出三個新的具多項式時間複雜度之最大流量演算法。
第一個最大流量演算法根據可行子網路中各弧殘餘流量上限的比例來分配每次之擴張流量,稱為proportional arc augmenting (PAA) 演算法。PAA演算法依據可行子網路中各節點所連結出去之可行弧的殘餘流量上限比例,計算出該子網路所有弧之擴張流量向量δ,再根據此擴張流量向量計算出該次從起點到訖點之擴張流量,此種等比例擴張流量方式符合具較大流量上限之弧能擴張更多流量的直覺,並保證每次至少可塞滿一個節點。在一個具有n個節點及m條弧的網路上,PAA演算法可在O(n^2m)時間內算出其最大流量。此外,本論文亦提出一些加速PAA演算法實作效率之方法。
第二個最大流量演算法稱為flow splitting augmenting (FSA) 演算法,旨在以平分流量的方式,快速地將子網路中各節點所接收之流量依其連結出去之弧個數來平均分配,如此可保證每次擴張流量時至少會塞滿一條可行弧。在理論複雜度上,FSA演算法可在O(nm^2)時間內算出其最大流量。
第三個最大流量演算法以求解線性規劃時可避免退化問題之最小平方對偶-主 (least-squares dual-primal, LSDP)演算法為基礎,在最短路徑所建構之子網路架構上使用電路學的克西荷夫定律,計算子網路中每弧應該推送之單位流量比例以擴張流量,稱modified least-squares dual-primal (MLSDP)演算法。此演算法每次亦可保證塞滿一條節線,並可在O(nm^5)時間內算出其最大流量,解決了先前文獻中無法推估如何運用LSDP法求解最大流量問題之理論複雜度問題。由於此法必須重複計算克西荷夫定律之稀疏矩陣線性聯立方程式,因此在實作上我們亦使用專業的聯立方程式求解軟體以加快求解效率。
本論文所提出之三種最大流量演算法皆可能會得到非整數之最佳流量,因此我們提出一個流量分解的方式,以在O(m^2)時間內將其轉換為整數最佳流量。在求解效率測試上,我們將所提出之演算法與現今最常見之數種最大流量演算法在不同的模擬測試網路上做求解時間及運算次數之比較。測試結果顯示,雖然此三種新的演算法在平均求解表現上並不十分突出,我們仍可發現其求解機制可能會對某些特殊網路架構有利。最後,我們提出數種演算法效率改善之可能作法,並建議一些具挑戰性的未來研究方向。
The s-t maximum flow problem is a fundamental network optimization problem which computes for the largest amount of flow sent through a network from a source node s to a sink node t. This problem often appears in many business applications as an optimization subproblem, and has been investigated extensively over the recent five decades. Conventional maximum flow algorithms either augment flow via a simple path to t, or via admissible arcs from those nodes of excess flow to their neighbors at each iteration. In this thesis, we propose three new maximum flow algorithms that ship flow via all the arcs in an admissible subnetwork composed by shortest augmenting paths at each iteration.
With the intuition to ship more flow along more spacious admissible arcs at each iteration, our proposed proportional arc augmenting algorithm (PAA) calculates an
augmenting-flow vector δ along all arcs in an admissible subnetwork based on the proportion of the residual capacity for each arc emanating from a node to their sum. In particular, PAA ships as much flow as possible along the augmenting-flow vector until one admissible arc is saturated, then all of its neighbor admissible arcs are saturated as well. PAA iteratively saturates at least one node at each iteration, and calculates the maximum flow in polynomial time. Several speed-up techniques are also proposed to improve the practical efficiency of PAA.
In order to save more overhead than PAA in calculating a different δ while still shipping flow via all the admissible arcs at each iteration, we proposed flow splitting augmenting algorithm (FSA) which equally distributes all the flow entering a node to each of its outgoing arcs in an admissible subnetwork. FSA saturates at least one arc at each iteration, instead of one node as PAA. We also show FSA calculates the maximum flow in polynomial time.
Our third algorithm, called as modified least-squares dual primal algorithm(MLSDP), exploits the least-squares primal-dual algorithm that was designed for solving LPs without degenerate pivots. In particular, the augmenting-flow vector calculated by MLSDP guarantees nondegenerate pivots at each iteration, which may lead to fewer iterations of flow augmentation than other algorithms. Instead of solving a quadratic nonnegative least squares problem for calculating an augmenting-flow vector, MLSDP solves systems of linear equations composed by Kirchhoff's circuit laws. We show the polynomial-time complexity for MLSDP, and also suggest more efficient implementation that exploits sparse matrix operations.
All of our proposed maximum flow algorithms give fractional optimal flow, which can be further converted into integral optimal flow within polynomial-time by techniques based on flow decomposition. Comprehensive computational experiments have been conducted to analyze the practical efficiency of our proposed algorithms in comparison to several state-of-the-art maximum flow algorithms over several families of simulated networks. Although the results indicate our current implementations on proposed algorithms perform less efficient than the state-of-the-art preflow-push algorithms, we observe that our proposed algorithms tend to terminate in fewer iterations and make several speed-up suggestions for future research.
Ahuja, R. K., Magnanti, T. L. and Orlin, J. B. Network flows: theory, algorithms, and applications, Prentice-Hall, New Jersey, 1993
Ahuja, R. K. and Orlin, J. B. A fast and simple algorithm for the maximum flow problem. Operations Research, 37, 748-759, 1989
Ahuja, R. K. and Orlin, J. B. Distance-directed augmenting path algorithms for maximum flow and parametric maximum flow problems. Naval Research Logistics, 38, 413-430, 1991
Ahuja, R. K., Orlin, J. B. and Tarjan, R. E. Improved time bounds for the maximum flow problem. SIAM Journal on Scientific Computing. 18, 939-954, 1989
Armstrong, R. D., Chen, W., Goldfarb, D. and Jin, Z. Strongly polynomial dual simplex methods for the maximum flow problem. Mathematical Programming, 80, 17-33, 1998
Barnes, E., Chen, V., Gopalakrishnan, B. and Johnson, E. L. A least-squares primal-dual algorithm for solving linear programming problems. Operations research letters, 30, 289-294, 2002
Cerulli, R., Gentili, M. and Iossa, A. Efficient preflow-push algorithms. Computers and Operations Research, 35, 2694-2708, 2008
Chang, J. H. 2006. Solving the network flow problem by a least-squares primal-dual method. Unpublished master's thesis, National Chen Kung University.
Cheriyan, J., Hagerup, T. and Mehlhorn, K. An O(n^3/logn)-time maximum-flow algorithm. SIAM Journal on Scientific Computing. 25, 1144-1170, 1996
Cheriyan, J. and Maheshwari, S. N. Analysis of Preflow Push Algorithms for Maximum Network Flow. SIAM Journal on Computing, 6, 1057-1086, 1989
Cherkassky, B.V. and Goldberg A.V. On Implementing the Push-Relabel Method for the Maximum Flow Problem. Algorithmica, 19, 390-410, 1997
Cheung, T. Y. Computational Comparison of Eight Methods for the Maximum Network Flow Problem. ACM Transactions on Mathematical Software, 6, 1-16, 1980
Davis, T. A. and Duff, I. S. An unsymmetric-pattern multifrontal method for sparse LU factorization. SIAM Journal on Matrix Analysis and Applications, 18, 140-158, 1997
Davis, T. A. and Duff, I. S. A combined unifrontal/multifrontal method for unsymmetric sparse matrices. ACM Transactions on Mathematical Software, 25, 1-19,1999
Davis, T. A. A column pre-ordering strategy for the unsymmetric-pattern multifrontal method. ACM Transactions on Mathematical Software, 30, 165-195, 2004
Davis, T. A. Algorithm 832: UMFPACK, an unsymmetric-pattern multifrontal method. ACM Transactions on Mathematical Software, 30, 196-199, 2004
Davis, T. A. unsymmetric multifrontal sparse LU factorization package. available: http://www.cise.ufl.edu/research/sparse/umfpack
Dinic, E. A. Algorithm for solution of a problem of maximum flow in networks with power estimation. Soviet Mathematics Doklady, 11, 1277-1280, 1970
Dinitz, Y. Dinitz' Algorithm: The Original Version and Even's Version. Lecture Notes in Computer Science, 3895, 218-240, 2006
Edmonds, J. and Karp, R. M. Theoretical improvements in algorithmic efficiency for network flow problems. Journal of the Association for Computing Machinery, 19, 248-264, 1972
Even, S. Graph algorithms. Rockville, M.D.: Computer Science Press, 1979
Ford, L. R. and Fulkerson, D. R. Maximal flow through a network. Canadian Journal of Mathematics, 8, 399-404, 1956
Ford, L. R. and Fulkerson, D. R. Flows in networks. Princeton, N.J.: Princeton University Press, 1962
Fulkerson, D. R. and Dantzig, G. B. Computation of maximum flow in networks. Naval Research Logistics Quarterly, 2, 277-283, 1955
Fujishige, S. A maximum flow algorithm using MA ordering. Operations Research Letters, 31, 176-178, 2003
Fujishige, S. and Isotani, S. New maximum flow algorithms by MA orderings and scaling, Journal of the Operations Research, 46, 243-250, 2003
Gabow, H. N. Scaling Algorithms for Network Problems. Journal of Computer and System Sciences, 31, 148-168, 1985
Galil, Z. An O(V^(5/3)E^(2/3)) algorithm for the maximal flow problem, Acta Informatica, 14, 221-242, 1980
Galil, Z. and Naamad, A. An O(EVlog^2V) Algorithm for the Maximal Flow Problem, Journal of computer and system sciences, 21, 203-217, 1980
Gopalakrishnan, B., Barnes, E., Johnson, E. and Sokol, J. A least-squares network flow algorithm. Tech. Rep., Georgia Institute of Technology, 2004
Goldberg, A. V. 1985. A New Max-Flow Algorithm. Technical Report MIT/LCS/TM-291, Laboratory for Computer Science, M.I.T., Cambridge, MA
Goldberg, A.V. Network Optimization Library. available: http://www.avglab.com/andrew/soft.html
Goldberg, A.V. Synthetic Maximum Flow Families. available: http://www.avglab.com/andrew/CATS/maxflow_synthetic.html
Goldberg, A. V., Grigoriadis, M. D. and Tarjan, R. E. Use of dynamic trees in a network simplex algorithm for the maximum flow problem. Mathematical Programming, 50, 277-290, 1991
Goldberg, A. V. and Tarjan, R. E. A new approach to the maximum-flow problem. Proceedings of the 18th Association for Computing Machinery Symposium on the Theory of Computing, 136-146, 1986. Full paper in Journal of the Association for Computing Machinery, 35, 921-940, 1988
Goldfarb, D. and Grigoriadis, M. D. A computational comparison of the dinic and network simplex methods for maximum flow. Annals of Operations Research, 13, 83-123, 1988
Goldfarb, D. and Hao, J. A primal simplex algorithm that solves the maximum flow problem in at most nm pivots and O(n^2m) time. Mathematical Programming, 47, 353-365, 1990
Hu, T. C. Minimum-cost flows in convex-cost networks. Naval Research Logistics Quarterly, 13, 1-9, 1966
Johnson, D.S. and McGeoch, C.C. Network Flows and Matching: First DIMACS Implementation Challenge, American Mathematical Society, Providence, RI, 1993
Karzanov, A. V. Determining the maximal flow in a network by the method of preflows. Soviet Mathematics Doklady, 15, 434-437, 1974
Matsuoka, Y. and Fujishige, S. Practical efficiency of maximum flow algorithms using MA ordering and preflows. Journal of the Operations Research Society of Japan, 48, 297-307, 2005
Malhotra, V., Kumar, M. P. and Maheshwari, S. N. An O(|V|^3) algorithm for finding maximum flows in networks. Information Processing Letters, 7, 277-278, 1978
Nagamochi, H. and Ibaraki, T. Computing edge-connectivity in multigraphs and capacitated graphs. SIAM Journal on Discrete Mathematics, 5, 54-66, 1992
Nagamochi, H. and Ibaraki, T. Graph connectivity and its augmentation: applications of MA orderings. Discrete Applied Mathematics, 123, 447-472, 2002
Sedeño-Noda, A. and González-Martín, C. A O(nmlog(U/n)) Time Maximum Flow Algorithm. Naval Research Logistics, 47, 511-520, 2000
Setubal, J. S. Implementations and variations of a maximum-flow algorithm. Doctoral Thesis. UMI Order Number: UMI Order No. GAX93-12742., University of Washington, 1992
Shioura, A. The MA-ordering max-flow algorithm is not strongly polynomial for directed networks. Operations Research Letters, 32, 31-35, 2004
Sleator, D. D. and Tarjan, R. E. A data structure for dynamic trees. Journal of Computer and system Sciences, 24, 362-391, 1983
Tarjan, R. E. A simple version of Karzanov's blocking flow algorithm. Operations Research Letters, 2, 265--268, 1984
Wang, I.-L. On solving shortest paths with a least-squares primal-dual algorithm, Asia Pacific Operations Research, 2008 (to appear)
Wang, I.-L., Chang, C.H., Chen, Y.Y, and Kang, Y.C. A least-squares dual-primal algorithm for the maximum flow problem, Proceedings of the 3rd Annual Conference of the Operations Research Society at Taiwan (ORSTW), Chun-li, Taiwan, 2006.
The first DIMACS international algorithm implementation challenge: Network Flows and Matching, 1990, Available: ftp://dimacs.rutgers.edu/pub/netflow/.