ArticlePDF Available

Network Flows

Authors:

Abstract

"August 1988. Revised: December, 1988."
NETWORK FLOWS
Theory, Algorithms,
and Applications
RAVINDRA
K.
AHUJA
Department
of
Industrial
&
Management Engineering
Indian Institute
of
Technology, Kanpur
THOMAS L. MAGNANTI
Sloan School
of
Management
Massachusetts Institute
of
Technology, Cambridge
JAMES B. ORLIN
Sloan School
of
Management
Massachusetts Institute
of
Technology, Cambridge
TECHNISCHE HOCHSCHULE DARMSTADT
Fort therein
1
G e
s
o
m
t
b
i
b
I i
o
t
h
e
k
BetMeh-vwirtscricittslehre
InveMcr-fJi. ...fflL
Abstoil-r-'r.
Sactigebiete:...
PRENTICE HALL, Englewood Cliffs,
New
Jersey 07632
CONTENTS
PREFACE, xi
INTRODUCTION, 1
1.1 Introduction, 1
1.2 Network Flow Problems,
1.3 Applications, 9
1.4 Summary, 18
Reference Notes, 19
Exercises, 20
2 PATHS, TREES, AND
CYCLES,
23
2.1 Introduction, 23
2.2 Notation and Definitions, 24
2.3 Network Representations, 31
2.4 Network Transformations, 38
2.5 Summary, 46
Reference Notes, 47
Exercises, 47
ALGORITHM DESIGN AND'ANALYSIS, 53
3.1 Introduction, 53
3.2 Complexity Analysis, 56
3.3 Developing Polynomial-Time Algorithms, 66
3.4 Search Algorithms, 73
3.5 Flow Decomposition Algorithms, 79
3.6 Summary, 84
Reference Notes, 85
Exercises, 86
SHORTEST
PATHS:
LABEL-SETTING
ALGORITHMS,
93
4.1 Introduction, 93
4.2 Applications, 97
4.3 Tree of Shortest Paths, 106
4.4 Shortest Path Problems in Acyclic Networks, 107
4.5 Dijkstra's Algorithm, 108
4.6 Dial's Implementation, 113
4.7 Heap Implementations, 115
4.8 Radix Heap Implementation, 116
4.9 Summary, 121
Reference Notes, 122
Exercises, 124
5 SHORTEST PATHS: LABEL-CORRECTING ALGORITHMS, 133
5.1 Introduction, 133
5.2 Optimally Conditions, 135
5.3 Generic Label-Correcting Algorithms, 136
5.4 Special Implementations of the Modified Label-Correcting Algorithm, 141
5.5 Detecting Negative Cycles, 143
5.6 All-Pairs Shortest Path Problem, 144
5.7 Minimum Cost-to-Time Ratio Cycle Problem, 150
5.8 Summary, 154
Reference Notes, 156
Exercises, 757
6 MAXIMUM
FLOWS:
BASIC IDEAS, 166
6.1 Introduction, 766
6.2 Applications, 769
6.3 Flows and Cuts, 777
6.4 Generic Augmenting Path Algorithm, 180
6.5 Labeling Algorithm and the Max-Flow Min-Cut Theorem, 184
6.6 Combinatorial Implications of the Max-Flow Min-Cut Theorem, 188
6.7 Flows with Lower Bounds, 797
6.8 Summary, 196
Reference Notes, 797
Exercises, 795
7 MAXIMUM
FLOWS;^POLYNOMIAL
ALGORITHMS, 207
7.1 Introduction, 207
7.2 Distance Labels, 209
7.3 Capacity Scaling Algorithm, 270
7.4 Shortest Augmenting Path Algorithm, 213
7.5 Distance Labels and Layered Networks, 221
7.6 Generic Preflow-Push Algorithm, 223
7.7 FIFO Preflow-Push Algorithm, 231
7.8 Highest-Label Preflow-Push Algorithm, 233
7.9 Excess Scaling Algorithm, 237
7.10 Summary, 241
Reference Notes, 241
Exercises, 243
8 MAXIMUM
FLOWS:
ADDITIONAL
TOPICS,
250
8.1 Introduction, 250
8.2 Flows in Unit Capacity Networks, 252
8.3 Flows in Bipartite Networks, 255
8.4 Flows in Planar Undirected Networks, 260
8.5 Dynamic Tree Implementations, 265
Contents
8.6 Network Connectivity, 273
8.7 All-Pairs Minimum Value Cut Problem, 277
8.8 Summary, 285
Reference Notes, 287
Exercises, 288
9 MINIMUM COST
FLOWS:
BASIC ALGORITHMS, 294
9.1 Introduction, 294
9.2 Applications, 298
9.3 Optimality Conditions, 306
9.4 Minimum Cost Flow Duality, 310
9.5 Relating Optimal Flows to Optimal Node Potentials, 315
9.6 Cyclie-Canceling Algorithm and the Integrality Property, 317
9.7 Successive Shortest Path Algorithm, 320
9.8 Primal-Dual Algorithm, 324
9.9 Out-of-Kilter Algorithm, 326
9.10 Relaxation Algorithm, 332
9.11 Sensitivity Analysis, 337
9.12 Summary, 339
Reference Notes, 341
Exercises, 344
10 MINIMUM COST
FLOWS:
POLYNOMIAL ALGORITHMS, 357
10.1 Introduction, 357
10.2 Capacity Scaling Algorithm, 360
10.3 Cost Scaling Algorithm, 362
10.4 Double Scaling Algorithm, 373
10.5 Minimum Mean Cycle-Canceling Algorithm, 376
10.6 Repeated Capacity Scaling Algorithm, 382
10.7 Enhanced Capacity Scaling Algorithm, 387
10.8 Summary, 395
Reference Notes, 396 .
Exercises, 397
11 MINIMUM COST
FLOWS:
NETWORK SIMPLEX ALGORITHMS, 402
11.1 Introduction, 402
11.2 Cycle Free and Spanning Tree Solutions, 405
11.3 Maintaining a Spanning Tree Structure, 409
11.4 Computing Node Potentials and Flows, 411
11.5 Network Simplex Algorithm, 415
11.6 Strongly Feasible Spanning Trees, 421
11.7 Network Simplex Algorithm for the Shortest Path Problem, 425
11.8 Network Simplex Algorithm for the Maximum Flow Problem, 430
11.9 Related Network Simplex Algorithms, 433
11.10 Sensitivity Analysis, 439
11.11 Relationship to Simplex Method, 441
11.12 Unimodularity Property, 447
11.13 Summary, 450
Reference Notes, 451
Exercises, 453
Contents
12 ASSIGNMENTS AND MATCMNGS, 461
12.1 Introduction, 461
12.2 Applications, 463
12.3 Bipartite Cardinality Matching Problem, 469
12.4 Bipartite Weighted Matching Problem, 470
12.5 Stable Marriage Problem, 473
12.6 Nonbipartite Cardinality Matching Problem, 475
12.7 Matchings and Paths, 494
12.8 Summary, 498
Reference Notes, 499
Exercises, 507
13
MINIMUM
SPANNING TREES, 510
13.1 Introduction, 570
13.2 Applications, 572
13.3 Optimality Conditions, 576
13.4 Kruskal's Algorithm, 520
13.5 Prim's Algorithm, 523
13.6 Sollin's Algorithm, 526
13.7 Minimum Spanning Trees and Matroids, 528
13.8 Minimum Spanning Trees and Linear Programming, 530
13.9 Summary, 533
Reference Notes, 535
Exercises, 536
14 CONVEX
COST
FLOWS,
543
14.1 Introduction, 543
14.2 Applications, 546
14.3 Transformation to a Minimum Cost Flow Problem, 557 -
14.4 Pseudopolynomial-Time Algorithms, 554
14.5 Polynomial-Time Algorithm, 556
14.6 Summary, 560
Reference Notes, 567
Exercises, 562
15 GENERALIZED
FLOWS,
566
15.1 Introduction, 566
15.2 Applications, 568
15.3 Augmented Forest Structures, 572
15.4 Determining Potentials and Flows for an Augmented Forest Structure, 577
15.5 Good Augmented Forests and Linear Programming Bases, 582
15.6 Generalized Network Simplex Algorithm, 583
15.7 Summary, 597
Reference Notes, 597
Exercises, 593
viii
Contents
16 LAGRANGIAN RELAXATION AND NETWORK OPTIMIZATION, 598
16.1 Introduction, 598
16.2 Problem Relaxations and Branch and Bound, 602
16.3 Lagrangian Relaxation Technique, 605
16.4 Lagrangian Relaxation and Linear Programming, 675
16.5 Applications of Lagrangian Relaxation, 620
16.6 Summary, 635
Reference Notes, 637
Exercises, 638
17 MULTICOMMODTTY FLOWS, 649
17.1 Introduction, 649
17.2 Applications, 653
17.3 Optimality Conditions, 657
17.4 Lagrangian Relaxation, 660
17.5 Column Generation Approach, 665
17.6 Dantzig-Wolfe Decomposition, 677
17.7 Resource-Directive Decomposition, 674
17.8 Basis Partitioning, 678
17.9 Summary, 682
Reference Notes, 684
Exercises, 686
18 COMPUTATIONAL TESTING OF ALGORITHMS, 695
18.1 Introduction, 695
18.2 Representative Operation Counts, 698
18.3 Application to Network Simplex Algorithm, 702
18.4 Summary, 713
Reference Notes, 713
Exercises, 775
19 ADDITIONAL APPLICATIONS, 717
19.1 Introduction, 777
19.2 Maximum Weight Closure of a Graph, 779
19.3 Data Scaling, 725
19.4 Science Applications, 728
19.5 Project Management, 732
19.6 Dynamic Flows, 737
19.7 Arc Routing Problems, 740
19.8 Facility Layout and Location, 744
19.9 Production and Inventory Planning, 748
19.10 Summary, 755
Reference Notes, 759
Exercises, 760
Contents
APPENDIX A DATA STRUCTURES, 765
A.I Introduction, 765
A.2 Elementary Data Structures, 766
A.3 </-Heaps, 773
A.4 Fibonacci Heaps, 779
Reference Notes, 787
APPENDIX B ^^-COMPLETENESS, 788
B.I Introduction, 788
B.2 Problem Reductions and Transformations, 790
B.3 Problem Classes 9\
X<3>,
.KS'-Complete, and .ATSP-Hard, 792
B.4 Proving XSP-Completeness Results, 796
B.5 Concluding Remarks, 800
Reference Notes, 801
APPENDIX C LINEAR PROGRAMMING, 802
C.I Introduction, 802
C.2 Graphical Solution Procedure, 804
C.3 Basic Feasible Solutions, 805
C.4 Simplex Method, <S70
C.5 Bounded Variable Simplex Method, 814
C.6 Linear Programming Duality, #76
Reference Notes, 820
REFERENCES, 821
INDEX,
840
Contents
Article
Minimum flow decomposition (MFD) is a common problem across various fields of Computer Science, where a flow is decomposed into a minimum set of weighted paths. However, in Bioinformatics applications, such as RNA transcript or quasi-species assembly, the flow is erroneous since it is obtained from noisy read coverages. Typical generalizations of the MFD problem to handle errors are based on least-squares formulations or modelling the erroneous flow values as ranges. All of these are thus focused on error handling at the level of individual edges. In this paper, we interpret the flow decomposition problem as a robust optimization problem and lift error-handling from individual edges to solution paths . As such, we introduce a new minimum path-error flow decomposition problem, for which we give an Integer Linear Programming formulation. Our experimental results reveal that our formulation can account for errors significantly better, by lowering the inaccuracy rate by 30–50% compared to previous error-handling formulations, with computational requirements that remain practical.
Article
COVID-19 has had a significant impact on urban pick-up and delivery services, including meal delivery and online ride-hailing. In this article, we propose a decision framework for minimizing the indirect contact in pick-up and delivery services as a way to control the cost of precautionary measures, manage the risk of resurgence, and contain the spread of COVID-19. We present integer linear programming models of the order assignment and vehicle routing problems to minimize indirect contact as well as its extension with multiple objectives. We prove that the problem is NP-hard even with a fixed number of drivers, but polynomial under two special cases that are commonly seen in real-life situations. Exact methods with dominance rules and a heuristic algorithm for the dynamic problem are proposed. We conducted an extensive numerical study on real-world meal delivery data. Apart from the computational advancement of our algorithms, the experimental results also show that minimizing indirect contact does not significantly increase the transportation cost and is applicable to the vehicle routing system of service providers.
Article
Distributed computing, in which a resource-intensive task is divided into subtasks and distributed among different machines, plays a key role in solving large-scale problems. Coded computing is a recently emerging paradigm where redundancy for distributed computing is introduced to alleviate the impact of slow machines (stragglers) on the completion time. We investigate coded computing solutions over elastic resources, where the set of available machines may change in the middle of the computation. This is motivated by recently available services in the cloud computing industry (e.g., EC2 Spot, Azure Batch) where low-priority virtual machines are offered at a fraction of the price of the on-demand instances but can be preempted on short notice. Our contributions are three-fold. We first introduce a new concept called transition waste that quantifies the number of tasks existing machines must abandon or take over when a machine joins/leaves. We then develop an efficient method to minimize the transition waste for the cyclic task allocation scheme recently proposed in the literature (Yang et al . ISIT’19). Finally, we establish a novel solution based on finite geometry achieving zero transition wastes given that the number of active machines varies within a fixed range.
Article
We present novel on-the-fly abstraction-based controller synthesis algorithms for two fundamental specifications - invariance and optimal reachability. In contrast to existing methods, the algorithms we propose do not require pre-computation or storage of any large abstraction parts. This translates to orders of magnitude of reduction in memory consumption compared to standard methods. Moreover, our algorithms fully apply to general non-linear systems and provide controllers that do not posses any additional conservatism. We demonstrate the successful synthesis of controllers for a problem that was previously unsolvable due to excessive memory and time consumption.
Article
Arithmetic block identification in gate-level netlists plays an essential role for various purposes, including malicious logic detection, functional verification, or macro-block optimization. However, current methods usually suffer from either low performance or poor scalability. To address the issue, we come up with a novel framework based on graph learning and network flow analysis, that extracts desired logic components from a complete circuit netlist. We design a novel asynchronous bidirectional graph neural network (ABGNN) dedicated to representation learning on directed acyclic graphs. In addition, we develop a convex cost network-flow-based datapath extraction approach to match the predicted block inputs with predicted block outputs. Experimental results on open-source RISC-V CPU designs demonstrate that our proposed solution significantly outperforms several state-of-the-art arithmetic block identification flows.
ResearchGate has not been able to resolve any references for this publication.