You are on page 1of 9
THE SCALING NETWORK SIMPLEX ALGORITHM RAVINDRA K. AHUJA Indian Instuute of Technology, Kanpur, India JAMES B. ORLIN Massachusetts Institue of Technology, Cambridge, Massachusetts (Received November 1988; revisions received December 1989, July 1990; accepted October 1990) In this paper, we present a new primal simplex pivot rule and analyze the worst case complexity of the resulting simplex algorithm for the minimum cost flow, the assignment, and the shortest path problems. We consider networks with 1 ‘odes, m arcs, integral arc capacities bounded by an integer number U, and integral arc costs whose magnitudes are bounded by an integer number C, Our pivot rule may be regarded as a scaling version of Dantzig's pivot rule. Our pivot rule defines a threshold value A, which is initially at most 2C, and the rule permits any arc with a violation of at least 4/2 t0 be the editing variable. We select the leaving arc so that strong feasibility of the basis is maintained, When there is no arc satisfying this rule, then we replace by 4/2 and repeat the process. The algorithm terminates when 4 < 1 We show that the simplex algorithm using this rule performs O(wmt U log C) pivots and can be implemented to run in O(n? U log C) time. Specializing these results for the assignment and shortest path problems we show that the simplex algorithm solves these problems in O(n log C) pivots and O(nm log C) time. [I this paper, we present a new primal simplex pivot rule and analyze the worst case behavior of the resulting simplex algorithm for the minimum cost flow, the assignment, and the shortest path problems. We consider a directed network G = (N, A) with node set Nand are set 4. Each arc (i, j) € A has a nonnega- tive integer capacity w, and an integer cost c,. We denote by n, m, U, and C, the number of nodes, number of arcs, maximum arc capacity, and maxi- mum absolute value of an arc cost, respectively. We represent by A(i) the set of arcs incident on node i, which includes the set of incoming and outgoing arcs at node i. Let deg(i) = |A(i)| denote the degree of node i for each 7 J We will first present a brief survey of the literature on primal simplex algorithms for network flow prob- lems. For a detailed survey of other algorithms for network flow problems, we refer the reader to the paper of Ahuja, Magnanti and Orlin (1989). The primal simplex algorithm for the minimum cost flow problem, subsequently referred to as the network sim- plex algorithm, has been studied extensively in the literature. Researchers have been interested in devel- oping polynomial time network simplex algorithms for the minimum cost flow problem and its special cases. Though there exist several polynomial time combinatorial algorithms for the minimum cost flow problem (see, ¢.g., Goldberg and Tarjan 1987, Ahuja et al. 1988, and Orlin 1988), developing a polynomial time network simplex algorithm for itis still an open problem. Some partial success in this direction is due to Goldfarb and Hao (1989) and Tarjan (1991), Tarjan obtained a subexponential bound on the number of pivots for a version of the primal network simplex algorithm. Tarjan and, independently, Goldfarb and Hao developed a polynomial time primal network simplex algorithm, where they occasionally allow pi- vots to increase the objective function value, We point, out, however, that genuinely polynomial dua! simplex algorithms have been developed by Orlin (1985) and Plotkin and Tardos (1989). The algorithm of Orlin performs O(min {m? log U, m*}) pivots, whereas the algorithm of Plotkin and Tardos performs O(m! log n) pivots. Though developing a (genuinely) polynomial time network simplex algorithm appears to be a difficult ‘Subject classification’ Networks/eraphs: improved simplex algorithms for network flow problems, ‘Area of review. OPTIMIZATION. Operations Research Vol. 40, Supp. No. 1, January-February 1992 (0030.364x,/92/4001-0085 $01.25 $5 (© 1992 Operations Research Society of America Copyright © 2001 All Rights Reserved $6 / AHUIA AND ORLIN problem, such algorithms have been developed for special cases of the minimum cost flow problem. For the shortest path problem with nonnegative arc lengths, Dial et al. (1979) and Zadeh (1979) showed that Dantzig’s pivot rule (ie., pivoting in the arc with a maximum violation of the optimality condition) performs O(n) pivots when started from an all- artificial basis. For the shortest path problem with arbitrary are lengths, Goldfarb, Hao and Kai (1990) and Akgul (1985a) have given polynomial time net- work simplex algorithms. Polynomial time network simplex algorithms for the assignment problem have been developed by Roohey-Laleh (1980), Hung (1983), Orlin (1985) and Akgul (1985b). Much of this work relies on Cunningham’s (1976) analysis of sim- plex rules that maintain “strong feasibility.” Currently, the best polynomial time network simplex algorithms for the shortest path problem (with arbitrary are lengths) and the assignment problem are due to Akgul (1985a,b). Both of these algorithms perform O(n") pivots and run in O(nm + rPlog n) time using the Fibonacci heap data structure due to Fredman and Tarjan (1984). Unfortunately, the entering variable rule used in these algorithms is more restrictive than what is expected from a “natural” pivot rule and the Fibonacci heap data structure is burdensome in prac- tice due to difficulty in implementation and large overheads. The network simplex algorithm for the minimum cost flow problem maintains strongly feasible bases uns in pseudopolynomial time. This conclusion relies ‘on Cunningham’s work on maintaining strongly fea- sible bases and its equivalence with the pertubation technique. These results imply a straightforward bound of O(m CU) on the number of pivots (see ‘Ahuja, Magnanti and Orlin). Subsequently, Orlin (1985) showed that the network simplex algorithm with Dantzig’s pivot rule performs O(umU' log (mCU)) pivots. We are not aware of any other pivot rule in the published literature for the minimum cost flow problem that performs a lesser number of pivots than Dantzig’s pivot rule. In this paper, we suggest a new pivot rule and analyze the worst case complexity of the resulting, network simplex algorithm for the minimum cost flow, the assignment, and the shortest path problems. Our pivot rule can be regarded as a scaling version of Dantzig’s pivot rule, That rule is to pivot in an arc whose violation is maximum. Our pivot rule defines a threshold value A, which is initially at most 2C, and permits any arc with a violation of at least 4/2 to be pivoted. When there is no arc satisfying this rule, then we replace A by A/2 and repeat the process. We terminate the algorithm when A < 1. We call this pivot rule the scaling pivot rule and the net- work simplex algorithm using the scaling pivot rule the scaling network simplex algorithm. We show that the scaling network simplex algorithm performs O(nmU log C) pivots and its running time is O(nFU log C). The scaling network simplex algorithm has the fol- lowing nice features: 1. The scaling pivot rule is simple and intuitive, both in its description and in its ease of implementation. 2, The scaling pivot rule is comparable to Dantzig's pivot rule in its worst case number of pivots (which has far fewer pivots in the worst case than the pivot rules commonly used in practice). However, its worst case complexity is better than that of Dantzig’s pivot rule by a factor of 7. 3. The scaling pivot rule is also similar in spirit to the candidate list strategy (due to Mulvey 1978), which is a widely used pivot rule to implement the net- work simplex algorithm. 4, The scaling pivot rule is a flexible pivot rule. The algorithm specifies that the violation of the entering. are should be at least 4/2 and any arc satisfying this criteria can be selected. Another possible flex- ibility in the algorithm is the choice of the scale ‘factor, the ratio by which A is reduced in successive scaling phases. The algorithm as stated uses a scale factor of 2, but the algorithm can use any constant scale factor 8, In practice, the best value of may be determined through empirical testings. 5, When specialized to the assignment and shortest path problems, the scaling network simplex algo- rithm performs O(7 log C) pivots and runs in O(nm log C) time. This running time is within a factor of log C of the best other network simplex algorithms for these problems due to Akgul (1985a, b). However, Akgul’s algorithms are quite unnatural, inflexible and use complex data structures. 1. THE MINIMUM COST FLOW PROBLEM In this section, we describe a network simplex algo- rithm that solves the minimum cost flow problem in O(nmU log C) pivots and can be implemented to run in O(rn? U log C) time. The analysis of this algorithm, as specialized to the assignment and the shortest path problems, is presented in Section 2.

You might also like