A COMPUTATIONAL STUDY OF THE CONSTRAINED MAXIMUM FLOW PROBLEM

Similar documents
On the Computational Behavior of a Dual Network Exterior Point Simplex Algorithm for the Minimum Cost Network Flow Problem

Incremental Algorithms for the Minimum Cost Flow Problem

A NEW SIMPLEX TYPE ALGORITHM FOR THE MINIMUM COST NETWORK FLOW PROBLEM

Mathematics for Decision Making: An Introduction. Lecture 18

Parametric Maximum Flow Problem: Techniques and Algorithms. Deepika Sareen, Dr Deepak Garg. Thapar University, Patiala

Sequential and parallel deficit scaling algorithms for minimum flow in bipartite networks

Job Management & Network Flows

Application of Bounded Variable Simplex Algorithm in Solving Maximal Flow Model

A Faster Primal Network Simplex Algorithm

CSE 417 Network Flows (pt 4) Min Cost Flows

SEQUENTIAL AND PARALLEL ALGORITHMS FOR MINIMUM FLOWS

A Note on the Separation of Subtour Elimination Constraints in Asymmetric Routing Problems

Introduction to Mathematical Programming IE406. Lecture 16. Dr. Ted Ralphs

Chapter 5 Graph Algorithms Algorithm Theory WS 2012/13 Fabian Kuhn

Network optimization: An overview

A Parallel Genetic Algorithm for Maximum Flow Problem

and 6.855J. The Successive Shortest Path Algorithm and the Capacity Scaling Algorithm for the Minimum Cost Flow Problem

Job-shop scheduling with limited capacity buffers

EXERCISES SHORTEST PATHS: APPLICATIONS, OPTIMIZATION, VARIATIONS, AND SOLVING THE CONSTRAINED SHORTEST PATH PROBLEM. 1 Applications and Modelling

Final Exam Spring 2003

A Faster Algorithm for the Inverse Spanning Tree Problem

1 Introduction. 2 The Generic Push-Relabel Algorithm. Improvements on the Push-Relabel Method: Excess Scaling. 2.1 Definitions CMSC 29700

Sublinear-Time Parallel Algorithms. for Matching and Related Problems. Andrew V. Goldberg y. Stanford University. Stanford, CA 94305

Lecture 4. 1 Overview. 2 Preflows. COMPSCI 532: Design and Analysis of Algorithms September 4, 2015

Graphs and Network Flows IE411. Lecture 13. Dr. Ted Ralphs

Solution for Homework set 3

LECTURES 3 and 4: Flows and Matchings

Smoothed Analysis of the Minimum-Mean Cycle Canceling Algorithm and the Network Simplex Algorithm

Tutorial for Algorithm s Theory Problem Set 5. January 17, 2013

Today. Maximum flow. Maximum flow. Problem

Reducing Directed Max Flow to Undirected Max Flow and Bipartite Matching

Math 5490 Network Flows

Lecture 11: Maximum flow and minimum cut

instead of waiting till hit sink to augment, augment a s a d v ance augment ( v w ) amount is min of ow r e a c hing v and (v w ) \unaugment" when ret

x ji = s i, i N, (1.1)

The Encoding Complexity of Network Coding

The Paired Assignment Problem

Optimal network flow allocation

Instituto Nacional de Pesquisas Espaciais - INPE/LAC Av. dos Astronautas, 1758 Jd. da Granja. CEP São José dos Campos S.P.

Robust time-varying shortest path with arbitrary waiting time at vertices

Material handling and Transportation in Logistics. Paolo Detti Dipartimento di Ingegneria dell Informazione e Scienze Matematiche Università di Siena

Minimum-Cost Flow Network

Lecture 10,11: General Matching Polytope, Maximum Flow. 1 Perfect Matching and Matching Polytope on General Graphs

and 6.855J March 6, Maximum Flows 2

COS 423 Lecture 22. Robert E. Tarjan 2011

The AMPL approach. # used in distributing starting periods

CS261: Problem Set #1

Colored trees in edge-colored graphs

A Comparative study on Algorithms for Shortest-Route Problem and Some Extensions

arxiv: v2 [cs.dm] 28 Dec 2010

g(s, w) g(w, s) (in gross model).

Analysis of Link Reversal Routing Algorithms for Mobile Ad Hoc Networks

Network Design and Optimization course

Solving the Linear Transportation Problem by Modified Vogel Method

CURRENT routing schemes typically focus on discovering

Insensitive Traffic Splitting in Data Networks

Homework 3 Solutions

Maximum flows & Maximum Matchings

Searching for Shortest Path in A Large, Sparse Graph under Memory Limitation: A Successive Mixed Bidirectional Search Method

Analysis and Algorithms for Partial Protection in Mesh Networks

Adaptations of the A* Algorithm for the Computation of Fastest Paths in Deterministic Discrete-Time Dynamic Networks

An FPTAS for minimizing the product of two non-negative linear cost functions

On the Complexity of the Policy Improvement Algorithm. for Markov Decision Processes

Graph Algorithms Matching

Minimum-cost flow algorithms: An experimental evaluation

Workshop In Advanced Data Structures Push-Relabel Heuristics. Maya Orshizer Sagi Hed

2386 IEEE TRANSACTIONS ON INFORMATION THEORY, VOL. 52, NO. 6, JUNE 2006

Clustering for Faster Network Simplex Pivots

so when retreat on edge, can \delete" edge when vertex has no outgoing arcs, know it is blocked when augment along path, can also \delete" edges so to

Outline: Finish uncapacitated simplex method Negative cost cycle algorithm The max-flow problem Max-flow min-cut theorem

Solving the Large Scale Next Release Problem with a Backbone Based Multilevel Algorithm

ALGORITHMS FOR THE SIMPLE EQUAL FLOW PROBLEM

Maximum flow problem CE 377K. March 3, 2015

Jessica Su (some parts copied from CLRS / last quarter s notes)

arxiv: v2 [cs.ds] 14 Sep 2010

Seeing Around Corners: Fast Orthogonal Connector Routing

CSE 417 Network Flows (pt 3) Modeling with Min Cuts

MODERN automated manufacturing systems require. An Extended Event Graph With Negative Places and Tokens for Time Window Constraints

Solving Large Aircraft Landing Problems on Multiple Runways by Applying a Constraint Programming Approach

Notes on Network Optimization CE 4920 Stephen Boyles Fall 2009

The Job-Shop Problem: Old and New Challenges

The Encoding Complexity of Network Coding

CSC 8301 Design & Analysis of Algorithms: Linear Programming

Lecture 4: Primal Dual Matching Algorithm and Non-Bipartite Matching. 1 Primal/Dual Algorithm for weighted matchings in Bipartite Graphs

15.082J and 6.855J. Lagrangian Relaxation 2 Algorithms Application to LPs

arxiv: v1 [math.oc] 8 Oct 2018

Dual-Based Approximation Algorithms for Cut-Based Network Connectivity Problems

Copyright 2007 Pearson Addison-Wesley. All rights reserved. A. Levitin Introduction to the Design & Analysis of Algorithms, 2 nd ed., Ch.

A Computational Study of Cost Reoptimization for Min Cost Flow Problems

Improved Algorithm for Minimum Flows in Bipartite Networks with Unit Capacities

Rollout Algorithms for Discrete Optimization: A Survey

Delivery Network on the Internet

Lecture 3: Graphs and flows

A NETWORK SIMPLEX ALGORITHM FOR SOLVING THE MINIMUM DISTRIBUTION COST PROBLEM. I-Lin Wang and Shiou-Jie Lin. (Communicated by Shu-Cherng Fang)

Heap-on-Top Priority Queues. March Abstract. We introduce the heap-on-top (hot) priority queue data structure that combines the

Approximability Results for the p-center Problem

Efficient Static Timing Analysis Using a Unified Framework for False Paths and Multi-Cycle Paths

Distributed Approximate Matching

Approximation Algorithms

Graphs and Network Flows IE411. Lecture 21. Dr. Ted Ralphs

Transcription:

COMPUTTIONL STUDY OF THE CONSTRINED MXIMUM FLOW PROBLEM Cenk Çalışkan, Woodbury School of Business, Utah Valley University, 800 W. University Pkwy, Orem, UT 84058, (801) 863-6487, cenk.caliskan@uvu.edu BSTRCT The constrained maximum flow problem is to send the maximum flow from a source node to a sink node in a directed capacitated network for which the total cost of the flow is constrained by a budget limit. It has many applications in telecommunications, logistics and computer networks. We present a new polynomial cost scaling algorithm and compare its computational time against the existing polynomial combinatorial algorithms. We show that the proposed algorithm is on average 25 times faster than the double scaling algorithm, and 32 times faster than the capacity scaling algorithm. INTRODUCTION The constrained maximum flow problem is a variant of the maximum flow problem. Many algorithms were proposed to solve the maximum flow problem, but very few articles appeared in the literature for its variants. huja and Orlin [2] propose an O ( ms( n, m, nc)logu ) capacity scaling algorithm, where n is the number of nodes in the network; m, the number of arcs; C, the largest arc cost; U, the largest arc capacity; and S ( n, m, nc), the time to find a shortest path from a single source to all other nodes. Çalışkan 2 [4] proposes a double scaling algorithm that runs in O ( nm log( n / m)log mlogu log( nc)) time with the use of dynamic trees due to Goldberg and Tarjan [5]. In this research, we present a cost scaling algorithm that runs in O ( n 2 mlog( nc)) time and provide the results of computational tests that show that the new algorithm significantly outperforms the existing polynomial algorithms. PROBLEM DESCRIPTION Let G = ( N, ) be a directed network consisting of a set N of nodes and a set of arcs. In this network, the flow on each arc ( i, is represented by the nonnegative variable x with a cost c and capacity u. The constrained maximum flow problem is to send the maximum possible flow from a source node s N to a sink node t N where the total cost of flow is constrained by the budget, D. For simplicity of exposition, we assume that there is an arc ( t, s) with c = 0 and u ts = min{ u, ( s, si ( i, t) it u }, an upper bound on the maximum flow from s to t. Without loss of generality, we assume that all arc capacities and all arc costs are nonnegative integers, and there exists a directed path between every pair of nodes in the network. These assumptions are not restrictive, as transformations in huja and Orlin [2] could be applied to satisfy them. ts

The problem then can be formulated as follows: max x ts (1) s.t. x x = 0 i N (2) ( i, ( i, c x ( j, D 0 x u ( i, j (4) ) * Theorem 1 (huja and Orlin [2]) Let x be an optimal solution to the minimum cost flow problem with the same cost vector as the constrained maximum flow problem and with a source supply equal to the * optimal flow value for the constrained maximum flow problem. Then, x is also an optimal solution to the constrained maximum flow problem if cx * = D. Proof: See huja and Orlin [2], page 91. By Theorem 1, we can modify any algorithm for the minimum cost network flow problem to solve the constrained maximum flow problem. Our cost scaling algorithm for the constrained maximum flow problem is based on this idea. PRELIMINRIES We denote the largest arc capacity in G by U, the largest arc cost by C, the number of nodes by n, and the number of arcs by m. For each node i N, we call F ( i, G) ={ j N ( i, G} the forward star of i in G. Similarly, for each node i N, we call B ( i, G) ={ j N ( j, G} the backward star of i in G. The index of the node preceding a given node i in a path is denoted by pred (. flow is a function x : R {0} that satisfies Eqs. 2 and 4. The value of x ts is called the value of flow x. If a flow x also satisfies Eq. 3, it is called a feasible flow. pseudoflow is a function x : R {0} that satisfies only Eq. 4. For a pseudoflow x, we define the imbalance of node i N as follows: e( = x x. ( j, ( i, If e ( > 0 for some node i, then we call node i an excess node, and we call e (i ), the excess of node i. We also call a node that is an excess node, an active node. If e ( < 0 for some node i, then we call node i a deficit node, and we call e (, the deficit of node i. If e ( = 0 for some node i, then we call node i a balanced node. We also call a deficit or a balanced node, an inactive node. pseudoflow with e( = 0 for all i N is a flow. (3) Given a flow or pseudoflow x, the corresponding residual network G (x) is defined as follows: We replace each arc ( i, G with two arcs: ( i, and its reversal ( j,, where c = c. The residual capacity of ( i, is defined as r = u x, and the residual capacity of ( j,, as r = x. We only include in G (x) arcs with positive residual capacity. We associate a node potential ( for each node i N. With respect to a set of node potentials, we define the reduced cost of an arc ( i, as

c = c ( (. We use the concept of -optimality of the minimum cost flow problem in our cost scaling algorithm. This concept is due to Bertsekas [3], and independently, Tardos [6]. Definition 1 (Epsilon Optimality) flow x or a pseudoflow x is called -optimal for some and, if c for all ( i, in the residual network G (x). It is well-known that an -optimal flow is optimal for the minimum cost flow problem if = 0. When the arc costs are integers, any -optimal flow is optimal for < 1/ n, as the following lemma establishes: Lemma 1 For a minimum cost network problem with integer costs, if C, any flow x is -optimal. If < 1/ n, then any -optimal flow is an optimal flow. Proof: See huja et al. [2], page 363. We call an -optimal flow x that also satisfies the condition cx = D an -optimal solution (to the constrained maximum flow problem). We call an arc ( i, in the residual network G (x) an admissible arc if 2 c < 0, and a path consisting entirely of admissible arcs, an admissible path. We define / the admissible network of a given residual network as the network consisting solely of admissible arcs. We represent the outgoing arcs of a node i, i.e. the forward star of i, with F (, and the incoming arcs of node i, i.e. backward star of i, with B ( (in the residual network G (x), with respect to a flow or pseudoflow x ). We also represent the admissible paths with predecessor indices. For a given admissible path, pred ( represents the node on the path that comes immediately before node i. THE COST SCLING LGORITHM The algorithm and its procedures are formally described in Figures 1, 2 and 3. In another paper, we show that the algorithm runs in O( n 2 mlog( nc)) time. The cost scaling algorithm obtains a series of -optimal solutions with decreasing values of, starting with = C. The algorithm then performs cost scaling phases by iteratively applying the improve_approximation procedure that transforms an -optimal solution into an / 2 -optimal solution. t the end of every -scaling phase, the flow is an / 2 -optimal solution to the constrained maximum flow problem, and at the end of the last -scaling phase, < 1/ n. Thus, by Lemma 1, the algorithm terminates with an optimal solution to the constrained maximum flow problem. algorithm cost_scaling begin set := 0 ; x := 0 ; := C ; while 1 / n do improve_approximation; set := / 2 ; end Figure 1: The cost scaling algorithm

t the beginning of an -scaling phase, the solution (x, ) is -optimal for the constrained maximum flow problem by Definition 1 and Theorem 1. Procedure improve_approximation converts this -optimal solution to an / 2 -optimal solution ( by converting the flow to an / 2 -optimal pseudoflow, and then (i by converting the / 2 -optimal pseudoflow to a flow and (ii by restoring the condition cx = D via flow augmentations on admissible paths from s to t. Thus, at the end of an -scaling phase, (x, ) is an / 2 -optimal solution to the constrained maximum flow problem. procedure improve_approximation; begin for every arc ( i, do if c > / 2 then set x := 0; else if c < / 2 then set x = u ; end for while there is an active node i in the network do if there is an admissible arc ( i, in G (x) then push min{ e(, r } units of flow from node i to node j ; := else set ( i ) := ( min j F ( c / 2 ; while cx < D do P := find_admissible_path; augment := min{min i, P r,( D cx)/ c } units of flow along P and ( t, s) ; ( ( i, P end Figure 2: The procedure improve_approximation of the cost scaling algorithm The procedure improve_approximation first creates an / 2 -optimal pseudoflow from an -optimal flow, but this may create imbalances at some nodes. The procedure then pushes flows from active nodes to inactive nodes to convert the pseudoflow into a flow. fter each push, if cx < D, the procedure find_admissible_path identifies an admissible path and we push the required amount of flow from s to t to restore cx = D. When an active node contains no admissible arcs, we increase the node potential to create admissible arcs emanating from that node. Figure 2 formally describes the procedure improve_approximation, and Figure 3 describes the procedure find_admissible_path. COMPUTTIONL RESULTS In order to test the empirical performance of the cost scaling algorithm, we generated problem instances using a random network generator similar to the one that was described in Çalışkan [4] and compared the cost scaling algorithm to the capacity scaling and the double scaling algorithms. ll algorithms were

procedure find_admissible_path; begin set P := ; i := s ; while i t do j := First node in F ( for which ( i, is admissible; if ( i, is admissible then add ( i, to P ; set pred( := i; i := j; else set ( i ) := ( min j F ( c / 2 ; if i s then remove arc ( pred (, from P ; set i := pred(; return P; end Figure 3: The procedure find_admissible_path of the cost scaling algorithm coded in the same programming style, using the same network representation and data structures, so that there was no performance variation due to differences in implementation. We coded all algorithms in C++ and compiled with Microsoft Visual C++ 7.1, using the optimization option /O2. We conducted the runs on a computer with 2.0 GHz Intel Core 2 Duo processor and 2.0 GB of memory. We generated networks that have up to 16384 nodes and 524288 arcs in our experiments. The arc capacities were uniformly distributed in [1,10 4 ] and the arc costs were uniformly distributed in [1,10 2 ]. We generated 10 random instances for each combination of the parameters. Table 1 shows the average CPU times. The results in Table 1 show that the cost scaling algorithm is computationally superior. In the experiments, the cost scaling algorithm was up to 56 times faster than the double scaling algorithm with an average of 25 times faster; and up to 173 times faster than the capacity scaling algorithm with an average of 32 times faster. Furthermore, it was significantly faster than both algorithms for every instance of the test problems, with a minimum of 19 times faster than the double scaling algorithm, and a minimum of 7 times faster than the capacity scaling algorithm. Thus, the cost scaling algorithm is empirically the fastest combinatorial polynomial algorithm for the constrained maximum flow problem. CONCLUSION In this research we propose a polynomial combinatorial algorithm for the constrained maximum flow problem that runs in O ( n 2 mlog( nc)) time. The constrained maximum flow problem is important to study as it has many applications and it is related to some important classical combinatorial optimization problems. Our computational tests show that the proposed algorithm is significantly faster than the existing combinatorial polynomial algorithms for the problem: on average, 25 times faster than the double scaling algorithm, and 32 times faster than the capacity scaling algorithm.

Network CPU times (sec.) CPU Time Size Cost Double Capacity Ratios n m Scaling ( Scaling (i Scaling (ii (ii/ (iii/ 256 2048 0.012 0.470 0.140 38 11 512 4096 0.060 1.495 0.495 25 8 1024 8192 0.188 4.258 2.466 23 13 2048 16384 0.773 14.544 10.857 19 14 4096 32768 2.895 67.509 93.971 23 32 8192 65536 13.111 297.225 611.961 23 47 16384 131072 155.013 - - 256 4096 0.017 0.941 0.208 56 12 512 8192 0.078 2.206 0.569 28 7 1024 16384 0.272 7.487 7.607 27 28 2048 32768 1.110 26.189 37.608 24 34 4096 65536 4.352 104.308 294.300 24 68 8192 131072 19.102 490.647 1341.136 26 70 16384 262144 242.528 - - 256 8192 0.041 1.923 0.413 47 10 512 16384 0.122 4.603 1.639 38 13 1024 32768 0.480 14.395 13.725 30 29 2048 65536 1.687 49.539 189.025 29 112 4096 131072 6.298 167.725 1088.305 27 173 8192 262144 26.549 670.588 25-16384 524288 325.738 - - The program was stopped after 1400 seconds elapsed Table 1: CPU times of the cost scaling, double scaling and capacity scaling algorithms REFERENCES [1] huja, R.K. and Magnanti, T.L. and Orlin, J.B. Network flows: Theory, algorithms and applications. Prentice-Hall, Englewood Cliffs, NJ, 1993. [2] huja, R.K. and Orlin, J.B. capacity scaling algorithm for the constrained maximum flow problem. Networks, 1995, 25, 89-98. [3] Bertsekas, D.P. Distributed lgorithm for the ssignment Problem. Working Paper, Laboratory for Information and Decision Systems, MIT, Cambridge, M, 1979. [4] Çalışkan, C. Double Scaling lgorithm for the Constrained Maximum Flow Problem. Computers and Operations Research, 2008, 35(4), 1138-1150. [5] Goldberg,. V. and Tarjan, R. E. Finding Mimimum Cost Flow Circulations by Successive pproximation. Mathematics of Operations Research, 1990, 15, 430-466. [6] Tardos, É. Strongly Polynomial Minimum Cost Circulation lgorithm. Combinatorica, 1985, 5, 247-155.