+ All Categories
Home > Documents > Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear...

Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear...

Date post: 08-Jun-2020
Category:
Upload: others
View: 8 times
Download: 0 times
Share this document with a friend
12
Strongly Polynomial and Combinatorial Algorithms in Optimization Eva Tardos School of Operations Research and Industrial Engineering Cornell University, Ithaca, NY 14853, USA 1. Introduction The input to a combinatorial optimization problem usually consists of two parts : the first part describes the combinatorial structure; the second part is a list of numerical data. For example, the input to the maximum-flow and the shortest path problems consists of a network (the combinatorial structure) and numbers that define the capacity and the length of each arc, respectively. An algorithm for these problems is polynomial if its running time can be bounded by a polynomial in the size of the underlying combinatorial structure (the number of nodes and edges) and the number of digits needed to write the numerical data. Most of the early polynomial algorithm satisfied, in fact, a stronger notion of efficiency; these algorithms are not only polynomial, but the number of arithmetic operations performed can be bounded by a polynomial in the size of the underlying combinatorial structure alone, independent of the size of the numbers involved. Such algorithms are called strongly polynomial. Strongly polynomial algorithms are more appealing theoretically and the additional insight needed to develop such algorithms can lead to practical im- provements. It is an important theoretical question to understand which problems can be solved in strongly polynomial time. In this paper we shall survey partial re- sults in this direction. We discuss some techniques to turn polynomial algorithms into strongly polynomial ones. Khachiyan's [15] proof that the linear programming problem, max (ex : Ax < b), can be solved in polynomial time has been one of the major breakthroughs in the design and analysis of algorithms in the last ten years. The first polynomial linear programming algorithm was developed using the ellipsoid method of Yudin and Nemirovskii [33] from non-linear programming. Grötschel, Lovâsz and Schrijver [11] have used the ellipsoid method to develop a powerful technique for proving that many combinatorial optimization problems can be solved in polynomial time (see also [14] and [25]). The polynomial algorithms developed using the ellipsoid method are generally not strongly polynomial. There have been several other polynomial linear programming algorithms developed in the recent years (e.g., Karmarkar's algorithm [13]), however no strongly polynomial Proceedings of the International Congress of Mathematicians, Kyoto, Japan, 1990
Transcript
Page 1: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

Strongly Polynomial and Combinatorial Algorithms in Optimization

Eva Tardos

School of Operations Research and Industrial Engineering Cornell University, Ithaca, NY 14853, USA

1. Introduction

The input to a combinatorial optimization problem usually consists of two parts : the first part describes the combinatorial structure; the second part is a list of numerical data. For example, the input to the maximum-flow and the shortest path problems consists of a network (the combinatorial structure) and numbers that define the capacity and the length of each arc, respectively. An algorithm for these problems is polynomial if its running time can be bounded by a polynomial in the size of the underlying combinatorial structure (the number of nodes and edges) and the number of digits needed to write the numerical data. Most of the early polynomial algorithm satisfied, in fact, a stronger notion of efficiency; these algorithms are not only polynomial, but the number of arithmetic operations performed can be bounded by a polynomial in the size of the underlying combinatorial structure alone, independent of the size of the numbers involved. Such algorithms are called strongly polynomial.

Strongly polynomial algorithms are more appealing theoretically and the additional insight needed to develop such algorithms can lead to practical im­provements. It is an important theoretical question to understand which problems can be solved in strongly polynomial time. In this paper we shall survey partial re­sults in this direction. We discuss some techniques to turn polynomial algorithms into strongly polynomial ones.

Khachiyan's [15] proof that the linear programming problem, max (ex : Ax < b), can be solved in polynomial time has been one of the major breakthroughs in the design and analysis of algorithms in the last ten years. The first polynomial linear programming algorithm was developed using the ellipsoid method of Yudin and Nemirovskii [33] from non-linear programming. Grötschel, Lovâsz and Schrijver [11] have used the ellipsoid method to develop a powerful technique for proving that many combinatorial optimization problems can be solved in polynomial time (see also [14] and [25]). The polynomial algorithms developed using the ellipsoid method are generally not strongly polynomial. There have been several other polynomial linear programming algorithms developed in the recent years (e.g., Karmarkar's algorithm [13]), however no strongly polynomial

Proceedings of the International Congress of Mathematicians, Kyoto, Japan, 1990

Page 2: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

1468 Eva Tardos

is known. It is an important open problem if there exists a strongly polynomial linear programming algorithm.

A somewhat related question is if the combinatorial optimization problems that were proved to be solvable in polynomial time using the ellipsoid method can be solved more efficiently using combinatorial techniques, rather than employing the analytic techniques from non-linear programming.

In this paper we shall survey two techniques for converting polynomial algorithms into strongly polynomial ones. The first one uses Diophantine ap­proximation. It replaces the numbers occurring in the problem description by small integers that define an equivalent problem. Any polynomial algorithm can be used to solve the resulting problem in strongly polynomial time. The second technique is iterative. After some preprocessing each iteration finds an approxi­mately optimal solution to the problem. From such an approximate solution the algorithm either finds an optimal solution, or it concludes that some of the defin­ing constraint are not necessary, and these are deleted before the next iteration starts.

There are further techniques known for converting some polynomial algo­rithms into strongly polynomial ones. The first such technique has been devel­oped by Megiddo [20] for solving combinatorial ratio minimization problems in strongly polynomial time. This technique can turn algorithms that use binary search (which is not strongly polynomial) into strongly polynomial algorithms. One of the most powerful application of this technique, due to Megiddo [21], is testing the feasibility of linear programs with at most two variables in each inequality. A more recent application by Norton, Plotkin and Tardos [22] gives a further extension of the class of linear programs solvable in strongly polynomial time: If a linear program is known to be solvable in strongly polynomial time, then so is its extension by a constant number of additional variables and side constraints. A nice example in this class, which we shall discuss later in more detail, is the concurrent flow problem.

2. Using Diophantine Approximation

One of the most powerful techniques for making combinatorial optimization algorithms strongly polynomial, due to Frank and Tardos [7], uses simultaneous Diophantine approximation. Many combinatorial optimization problems can be defined as a pair of a (highly structured) system of subsets J of a finite set E and weights w(e) for each e e E (e.g., perfect matchings in a graph form a system of the subsets of the edges). The weight of a set J G J is w(I) = ^eeI w(e). The problem is to find a set in J with maximum weight. Let n denote the size of the set E. The size of such the combinatorial structure J depends on the way J is specified, but generally it is at least n.

The idea of converting polynomial algorithms for problems in the above form into strongly polynomial ones is as follows. Consider first a weight function w whose coordinates are integers with size no more than a polynomial in n. For such inputs there is no distinction between polynomial and strongly polynomial

Page 3: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

Strongly Polynomial and Combinatorial Algorithms in Optimization 1469

algorithms. The key lemma is that for every weight function w there is an equivalent weight function w that consists of small integers. Furthermore, the new weight function w can be found in strongly polynomial time, The strongly polynomial algorithm first computes such an equivalent weight function w, and then uses the polynomial algorithm to find the maximum weight set subject to the new weights.

Two weight functions are equivalent for a problem J, if for every two sets 1,3 e J WG have that w(I) < w(3) if and only if w(I) < w(3). Clearly, the maximum weight set in J> is the same for any two equivalent weight functions. The existence of an equivalent weight function whose coordinates are small integers was first observed by Orlin [23], Orlin's proof is not algorithmic. Frank and Tardos [7] gave an algorithmic proof using the simultaneous Diophantine approximation technique of Lovâsz (see in [18]).

Throughout the paper we shall use different norms, For a vector x we use llxlloo to denote the maximum absolute value of a coordinate of x, and ||x||i to denote the sum of the absolute values of the coordinates of x,

Theorem 1. For a given n-dimensional vector w, and an integer N one can find an integer vector w in time polynomial in n and logiV, such that ||vv||oo < 2°^ )jV°(" * and for every integer vector a such that \\a\\\ < N, aw < 0 if and only if aw < 0.

Let w be the weight function in a combinatorial optimization problem. If Theorem 1 is applied with w and N = n + 1, we obtain an equivalent weight function w.

Next we try to give an idea of the proof of Theorem 1. Consider a vector w and an integer N. Lovâsz's [18] algorithm finds a positive integer q and an integer vector wf such that (1) \\qw - w'H«, < 1/N, and (2) q < 2°^2)Nn. This vector w' satisfies a property similar to that required by Theorem 1.

Lemma 2. Let wf be the vector obtained from w and N by the Diophantine approx­imation algorithm, and let a be an integer vector such that \\a\\\ < N. If aw < 0 then also aw' < 0.

Proof Assume aw < 0. Consider aw'. The sum of the coordinates of a is at most N. Using this fact, and the first property of Diophantine approximation we obtain that a(w' — qw) < 1. We also have that aw < 0 and q > 0, therefore aw' < 1. Since both a and w' are integral, it follows that aw' < 0. D

The lemma implies that the vector w' satisfies all the relevant non-strict inequalities satisfied by w. The vector w in Theorem 1 must also satisfy all of the strict inequalities. Theorem 1 can be proved by a procedure that uses Diophantine approximation repeatedly.

A nice application of Theorem 1 shows that a maximum weight clique in a perfect graph can be found in strongly polynomial time. The first polynomial algorithm for the problem was developed by Grötschel, Lovâsz and Schrijver [11] using the ellipsoid method. Theorem 1 can be used to convert this algorithm into a strongly polynomial one.

Page 4: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

1470 Eva Tardos

Many combinatorial optimization problems are related to linear programming. Combinatorial special cases of linear programming include several network flow problems. These problems generally have constraint matrix with small integer entries. In Section 4 we shall discuss the maximum-flow, the transshipment and the multi-commodity flow problems in more detail. The constraint matrix in these problems describes the combinatorial structure (e.g., it is the incidence matrix of the network). The simultaneous Diophantine approximation technique can be used to convert polynomial algorithms for these problems into strongly polynomial ones.

Consider the linear program max(cx : Ax < b) where A is an n by m matrix. Assume that the matrix A is integral, m>n, and let A (A) denote the maximum absolute value of a subdeterminant of A. We say that two objective functions c and c, and the right-hand sides b and b are equivalent for the constraint matrix A if the same set of inequalities are satisfied as equations at the optimal solution for the two linear programs max(cx : Ax < b) and max(cx : Ax < b). Using linear programming duality and Theorem 1 we can prove the following theorem.

Theorem 3. For any linear program max(cx : Ax < b) with an n by m integer matrix A, there is an equivalent integral right-hand side b and objective function c such that log[|&||oo and logUcH«, are polynomially bounded in n, m and logzl(^4).

Corollary 4. Linear programs where the constraint matrix A is integral and has coefficients whose size is at most polynomial in n and m, can be solved in strongly polynomial time.

3. Iterative Approach

In this section we discuss an iterative method for converting polynomial algo­rithms into strongly polynomial ones. When using the iterative technique it is possible to take advantage of additional insight into the combinatorial structure of the problem in question. In some cases this leads to very efficient algorithms. For example, highly efficient algorithms for the maximum-flow and transshipment problems have been obtained this way.

Consider a linear program max (ex : Ax <b). The dual of this problem is the problem min(by : ATy = c,y > 0). We say that x' is feasible if Ax' < b, and y' is dual feasible if yf > 0 and ATy' = c. It is well-known that the linear program and its dual have the same optimal value. Complementary slackness gives a localized condition that helps recognize a pair of primal and dual optimal solutions. A feasible solution x' and a feasible dual solution y' are optimal if and only if for every row a(x < fi\ of Ax < b and the corresponding coordinate y\ of y, we have

ant < fit => y[ = 0 . (1)

The key concept of the iterative method is e-optimality. This is a relaxation of the complementary slackness conditions. A feasible solution x' and feasible dual solution yf are e-optimal if for every row i we have that

atxf < fit - s => y\ = 0 . (2)

Page 5: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

Strongly Polynomial and Combinatorial Algorithms in Optimization 1471

Note that e-optimality with e = 0 is the same as the complementarity slackness conditions. It is not too difficult to show that an e-optimal pair (x',yf) is close to being optimal both in terms of its objective function value and in terms of the distance to an optimal solution. This was first proved by Mangasarian [19]. For our purposes it will be important that the bound on the distance of the e-optimal x' to an optimal solution is independent of the size of the numbers in the objective function. Such a bound was proven by Cook, Gerards, Schrijver and Tardos [4].

Theorem 5. Suppose x' and y' form a pair of e-optimal primal and dual solutions to the linear program max(cx : Ax < b). Then there exists an optimal x* such that \\x'-x*\\^<neA(A).

Assume that A is an integer matrix, and let a denote H^H^, the largest absolute value of a coefficient of A.

Corollary 6. Suppose that x' and y' are a pair of e-optimal solutions to the linear program max(cx : Ax <b) and its dual. Consider a constraint ax < fi. Suppose x' satisfies fi — ax' > nmA(A). The coefficient corresponding to the inequality ax <, ß is zero in every optimal dual solution, and every optimal solution is also optimal if the constraint ax < fi is deleted.

This theorem and corollary are the key of the iterative strongly polynomial algorithm. The algorithm repeatedly finds an e-optimal primal-dual solution pair, and deletes all constraints that are known (by Corollary 6) not to be tight at an optimal solution. This procedure is repeated until only the tight constraints are left. The algorithm terminates in at most as many iterations as the number of defining inequalities. There are two remaining issues that need to be discussed: how can one guarantee that at least one inequality will be deleted each iteration, and how can one find an e-optimal solution in strongly polynomial time.

In order to guarantee that at least one inequality will be deleted one has to do some preprocessing before the iteration, and choose an appropriate e. In most special cases the preprocessing is quite simple, in the general case it involves a projection. See [30, 27] for more details for the general case. After such preprocessing the appropriate choice of e turns out to be H&Hoo/^zi^)).

Next consider the issue of finding an e-optimal solution. This can be accom­plished in strongly polynomial time if A(A) is "small". Round every coordinate of b to an integer multiple of e. A pair of optimal primal and dual solutions for the rounded problem is e-optimal for the original problem. If A(A) is small then the coefficients of the rounded b are small multiples of e. If a polynomial, but not strongly polynomial, algorithm is used to solve the rounded problem, then the resulting running time will be independent of the size of the numbers in the original vector b. However, it will depend on the size of the numbers in the objective function, c. In order to get rid of the dependence on c we need to solve the rounded problem by applying the same iterative scheme to its dual. The running time of the resulting algorithm is independent of the size of the numbers in the objective function as well as in the right-hand side.

Page 6: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

1472 Eva Tardos

4. Network Flow Problems

The most well-known linear programs with small integral constraint matrices are network flow problems. These problems can be used to illustrate some of the ideas from the previous sections. By taking advantage of the special structure one can make the general algorithms simpler and more efficient.

A network is a directed graph G = (V,E). We shall use n and m to denote the number of nodes and edges, respectively. The maximum-flow problem is defined by a network, a source s G V and a sink t e V and nonnegative capacities u(v, w) associated with the edges (v, w) e E. A vector f(v, w) for (v, w) G E is a preflow if 0 < f(v, w) < u(v, w) for every e e E. Its excess at a node uGFi s defined to be

ef(v) = YJf(w,v)-YJf(v,w) . (3) w w

A preflow / is a. flow if ej(v) = 0 for every node v =f= s,t. The value of the flow is ef(t). The problem is to find a flow with maximum value.

In the transshipment problem there are costs c(v,yv) associated with the edges instead of capacities, and there are demands b(v) on the nodes v e V. A preflow / is a transshipment if ej(v) = b(v) for every node v e V. The cost of a preflow f is ^jVweE f(v,w)c(v,w). The problem is to find a transshipment of minimum cost.

Both the maximum-flow and the transshipment problems are linear programs with 0,±1 constraint matrix. The capacities and the demands form the right-hand side, the costs are the coefficients of the objective function. The strongly polynomial solvability of these problems follows, for example, from Corollary 4.

The first polynomial algorithm for the maximum-flow problem is due inde­pendently to Dinic [5] and Edmonds and Karp [6]. Both algorithms are strongly polynomial. The first polynomial algorithm for the transshipment problem is due to Edmonds and Karp [6], This algorithm is not strongly polynomial. The first strongly polynomial algorithm was developed much later [29] using the iterative method of Section 3.

The multi-commodity flow problem is defined similarly. There are k pairs of sources and sinks suU G V and each has an associated demand, d\. The prob­lem is to find flows ft from st to ti of value d\ such that a joint capacity constraint, Y<{v,w)eEfi(v>w) ^ u(v>w)> is satisfied for each edge (u,w) e E. The multi-commodity flow problem is also a linear program with 0, ±1 constraint matrix, and therefore it can be solved in strongly polynomial time.

The multi-commodity flow problem is fairly a general linear program. Dinic (see in [1]) and Itai [12] have independently proved that any linear program can be reduced to a 2-commodity flow problem in polynomial time.

4.1 Transshipment Problem

The first strongly polynomial algorithm for the transshipment problem [29] is rather slow and complicated. It is more appropriate to refer to it as a proof of solvability in strongly polynomial time, rather than as an efficient algorithm. Since then, many strongly polynomial algorithms have been discovered and some

Page 7: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

Strongly Polynomial and Combinatorial Algorithms in Optimization 1473

of them are surprisingly simple and efficient, such as the recent algorithms due to Goldberg and Tarjan [9] and Orlin [24]. Here we shall focus Orlin's algorithm.

The dual variables in the transshipment problem are prices p(v) at the nodes v e V. The dual constraints require that the reduced cost cp(v,w) = p(v)+c(v,w) — p(w) is nonnegative for every arc. The complementary slackness conditions require that the reduced cost is zero for every arc with positive flow.

Orlin's algorithm uses a variant of the e-optimality conditions that relax the flow conservation constraints rather than the complementary slackness con­straints. The algorithm maintains a preflow / and a dual feasible price function p that satisfy the complementary slackness conditions. We say that such a pair is A -optimal if \b(v) — ej(v)\ < A for every node v.

First consider a simple variant of the Edmonds and Karp algorithm. One step of the algorithm selects a node v with large excess (with ef(v) » b(v)) and a node w with large deficit (e/(w) « b(w)). It sends flow from v to w along the cheapest path between them. Such a step decreases the excess or the deficit of a node. Roughly speaking the maximum excess or deficit decreases by a constant factor after every n shortest path computations. Therefore, if B = H&lloo, then this algorithm finds an eJ5-optimal transshipment in 0(?7log(l/e)) shortest path computations. If all demands are integral, then throughout the flow is integral, and hence after at most 0(n\ogB) shortest path computations an optimal transshipment is found.

The constraint matrix, A, of the transshipment problem is totally unimodular, i.e. A(A) is 1. Therefore, the nonnegativity requirement for an edge (v,w), can be deleted if the value of a ^-optimal flow / on an arc (v, w) is at least nA. Deleting the nonnegativity requirement, f(v, w) > 0, corresponds, in graph theoretic terms, to contracting the arc (v, w).

The general iterative method starts each iteration by some preprocessing to guarantee that at least one inequality will be deleted each iteration. There is no need for preprocessing in the case of the transshipment problem. It is easy to see that a A = 5/«2-optimal flow must have an arcs that can be contracted. Indeed, let v be the node with largest demand in absolute value. In a A -optimal flow all excess or deficit is at most A, hence most of the demand of v must be satisfied, and at least one arc entering or leaving v must carry sufficient flow that it can be contracted.

The above ideas give the sketch of a strongly polynomial algorithm for the transshipment problem that consists of 0(n2logn) shortest path computations. One iteration of the algorithm computes and e-optimal solution for some e. This consists of 0(n\ogn) shortest path computations. Then some edges are contracted (at least one each iteration), and a new iteration starts. One reason why this algorithm is slow is, that it restarts the flow computation after every iteration. Orlin [24] gave a more sophisticated version of this algorithm that does not have separate iterations, but instead contracts edges and then continues the same flow computation. Amortized analysis is used to show that a minimum cost transshipment is found in 0(m log n) shortest path computations.

Let us compare running times of the resulting strongly polynomial algorithms with the algorithm of Edmonds & Karp. Note that while the iterative algorithm

Page 8: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

1474 Eva Tardos

is already strongly polynomial, its running time does not compare favorably with the Edmonds & Karp algorithm. In order to make the algorithm strongly polynomial, the Ö(logjB) in the running time had to be replaced by O(mlogn). However, in the running time of Orlin's algorithm the 0(logB) is replaced by only an O(logn), which is much more attractive.

4.2 The Maximum-Flow Problem

The first polynomial algorithms for the maximum-flow problem, due indepen­dently to Dinic [5] and Edmonds and Karp [6], were strongly polynomial. The preflow-push algorithm of Goldberg [10] is one of the biggest recent break­throughs in network algorithms. Using sophisticated data-structures Goldberg and Tarjan [10] obtained an 0(nmlog(n2/m)) implementation of this algorithm. This was the fastest known strongly polynomial algorithm for all values of n and m until very recently. Ahuja and Orlin [2] have developed a simple data-structure free version of the algorithm, that is more efficient for all but very large values of the capacities. Its running time is 0(mn + n2logU), if we assume that the capacities are integral and at most U. This algorithm was the starting point of the strongly polynomial algorithm of Cheriyan and Hagerup [3]. Combining the ideas for converting polynomial algorithms into strongly polynomial ones, the data-structures used by Goldberg and Tarjan and a very sophisticated amortized analysis, they give a maximum-flow algorithm that runs in O(mn + n2log3 n) time. This time bound is better than the Goldberg and Tarjan bound if the graph is not too sparse.

For practical problems the size of the numbers involved often compares favorably to the size of the network. Therefore, polynomial algorithms that are not strongly polynomial might be more efficient in practice. To compare polynomial algorithms with strongly polynomial ones Gabow has suggested the similarity assumption, that is, to assume that all numbers involved are integers that have size at most 0(logn). Unfortunately, algorithms whose running time depends exponentially on the size of the numbers involved appear polynomial under this assumption. A slightly weaker assumption that avoids this problem, is to assume that all numbers involved are integral of size is at most log0(1) n. Under this assumption both Orlin's transshipment algorithm and the Cheriyan & Hagerup algorithm compares favorably to its polynomial counterpart. It is an interesting open problem to see what other polynomial algorithms be converted to strongly polynomial ones by replacing the size of the numbers in the running time by 0(logcn) for some constant c where n is the combinatorial size of the problem.

4.3 Multi-Commodity Flows

There are several important special cases of the linear programming problem which have a combinatorial structure similar to the transshipment problem and also play a fundamental role in applications, but are not nearly as well understood. For many of these problems, the only known polynomial algorithm is obtained by

Page 9: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

Strongly Polynomial and Combinatorial Algorithms in Optimization 1475

using polynomial linear programming algorithms. Such algorithms use continuous methods and do not take advantage of the combinatorial structure. It is an interesting question whether some of these problems can be solved more efficiently using combinatorial techniques. The multi-commodity flow problem is an example of such a problem.

Many polynomial algorithms, if stated with an appropriate initial point, find an approximately optimal solution in time polynomial in n, m and log(l/e). If a is large this is strongly polynomial, In the definition of e-optimality used for de­signing strongly polynomial algorithms, the complementary slackness conditions have been relaxed in a one-sided way. A symmetric version would require only yi < a instead of yt = 0. Primal-dual potential reduction versions of Karmarkar's method find "e-optimal" solutions in this symmetric sense in time polynomial in n, m and log(l/e). See Todd [31] for a survey of such methods.

Recently, Klein, Stein and Tardos [16] have obtained a combinatorial algo­rithm that significantly outperforms the general purpose techniques for a special case of the multi-commodity flow problem where e is large. Consider a multi-commodity flow that satisfies the demands, but not necessarily the capacity constraints. Let f(v,w) = X/Z'O^w) denote the sum of the different commodities on an arc (v,w). We consider the maximum ratio X = m2LX(ViW)eE f(v,w)/u(v,w) as the value of the flow. The objective of the concurrent flow problem is to minimize this ratio X.

The concurrent flow problem has one variable, X whose coefficients are not 0,±1 in the corresponding linear program. The coefficients of X are the capacities. The problem is an extension with one new variable of a linear program that is known to be solvable in strongly polynomial time. This implies that the problem can be solved in strongly polynomial time [22].

Shahrokhi and Matula [28] gave a fully polynomial approximation algorithm for the special case of this problem with unit capacities, that is, an algorithm that finds a concurrent flow with value no worse than (1 -f e) times the optimal, in time polynomial in n, m and 1/e. This algorithm is quite slow, both in terms of its dependence on e and in its dependence on the other parameters. Klein, Stein and Tardos [16] gave a much faster algorithm extending the Shahrokhi & Matula technique. The algorithm uses a notion of e-optimality similar to the symmetric notion used by the general linear programming algorithms. The algorithm runs roughly (ignoring log's) in 0(e~2m2k) time. This compares quite favorably to known algorithms as long as e is large (e.g., a constant).

Approximation algorithms for the concurrent flow problem are especially interesting because several of its applications require only approximately optimal solutions. Examples of such applications are graph partitioning by Leighton and Rao [17] and VLSI routing by Raghavan and Thompson [26]. It remains a significant open problem to design algorithms for this problem that outperform general purpose linear programming techniques for the case when e is small.

The key dual variables for the concurrent flow problem are nonnegative lengths £(v, w) associated with the edges. Let X denote the value of the multi-commodity flow /. The complementary slackness conditions stated in terms of these variables require that (1) all arcs with nonzero length are fully utilized, that

Page 10: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

1476 Eva Tardos

is, for each arc (v, w) either the total flow on it is exactly X times its capacity, or the arc has zero length; and (2) for each commodity the flow can be decomposed into flows along simple paths each of which is shortest according to the length function £.

The variant of e-optimality used by the algorithm is defined by relaxing both of the above constraints. We require that (1) each arc is either almost fully utilized or has close to zero length; and (2) almost all the flow is carried on close to shortest paths. It is not too difficult to prove that these conditions imply that the value of multi-commodity flow is close to optimal.

The idea of the approximation scheme is to maintain a length function defined as a function of the flow, £(v, w) = exp(af(v, w)) for an appropriate constant a, such that the first part of the e-optimality conditions is satisfied. The second assumption is gradually enforced as flow is repeatedly rerouted from long paths to the corresponding shortest path.

5. Generalized Flow: An Open Problem

The most intriguing special case of linear programming for which no strongly polynomial algorithm is known is the generalized flow problem, which is essen­tially the problem of an arbitrager who wants to maximize his profit by converting currencies at different exchanges. The problem is defined by a network, a source s e V, capacities and positive gainfactors y(v,w) on the arcs. When x units of flow enter an arc (v, w) then xy(v, w) units leave the arc. The excess of a preflow / is defined to be ]Tw f(w, v)y(w, v) — ]TW f(v, w). A preflow is a generalized flow if all nodes, except the source, have zero excess. The problem is to find a generalized flow with maximum excess at the source.

The generalized flow problem is a linear programming problem. The constraint matrix is not 0, ±1 ; its nonzero entries are the gainfactors. The problem can also be considered as a slight generalization of the class of feasibility problems with two variables per inequality considered by Megiddo [21]. Consider the (equivalent) version of the problem with demands at the nodes instead of the capacities. The linear programming dual of this version has two variables in each inequality. However, it does not fit into Megiddo's framework, because it has an objective function with more than two variables; the demands at the nodes are the coefficients of the objective function in the dual.

The fastest known algorithm for the generalized flow problem is due to Vaidya [32]. It combines general linear programming techniques and fast matrix inversion techniques. It makes some use of the network structure by speeding up the matrix inversions involved. Goldberg, Plotkin and Tardos [8] gave two combi­natorial algorithms for this problem. One of the algorithms uses a transshipment algorithm as a subroutine, the other one combines techniques from maximum-flow and transshipment algorithms. Both run in time comparable to the fastest known algorithms for the problem. It remains an interesting open problem to find algorithms that significantly outperform general linear programming techniques.

Finally, we point out that a combination of the multi-commodity flow and the generalized flow problem covers the full generality of linear programming.

Page 11: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

Strongly Polynomial and Combinatorial Algorithms in Optimization 1477

We have mentioned in the first part of of Section 4. that every program can be reduced to an equivalent 2-commodity flow problem [1,12], However, the reduction is not strongly polynomial. The following theorem is an easy extension.

Theorem 7. Every linear program can be reduced in strongly polynomial time to an equivalent 2-commodity generalized flow problem.

References

1. G. M. Adelson-Velskii, E. A. Dinic, A. V. Karzanov: Flow algorithms. Izdatelstvo Nauka, Moskwa, 1975 (in Russian)

2. R. K. Ahuja, J. B. Orlin : A fast and simple algorithm for the maximum flow problem. Operations Res. 37, 748-759 (1989)

3. J. Cheriyan, T. Hagerup: A randomized maximum-flow algorithm. In: Proceedings of the 30st Annual Symposium on Foundation of Computer Science, 1989.

4. W. Cook, A. M. H. Gerards, A. Schrijver, E. Tardos : Sensitivity theorems in integer and linear programming. Math. Programming 34, 251-264 (1986)

5. E. A. Dinic: Algorithm for solution of a problem of maximum flow in networks with power estimation. Sov. Math. Dokl. 11, 1277-1280 (1970)

6. J. Edmonds, R. M. Karp: Theoretical improvements in algorithmic efficiency for network flow problems. J. Assoc. Comput. Mach. 19, 248-264 (1972)

7. A. Frank, E. Tardos : An application of simultaneous Diophantine approximation in combinatorial optimization. Combinatorica 7 (1) 49-65 (1987)

8. A. V. Goldberg, S. A. Plotkin, E. Tardos: Combinatorial algorithms for the general­ized circulation problem. In: Proceedings of the 29th FOCS Symposium, 1988, pp. 432-443 (to appear in Mathematics of Operations Research)

9. A. V. Goldberg, R. E. Tarjan: Finding minimum-cost circulations by canceling neg­ative cycles. J. Assoc. Comput. Mach. 36, 873-886 (1989)

10. A. V. Goldberg, R. E. Tarjan: A new approach to the maximum flow problem. J. Assoc. Comput. Mach. 35, 921-940 (1988)

11. M. Grötschel, L. Lovâsz, A. Schrijver: The ellipsoid method and its consequences in combinatorial optimization. Combinatorica 1, 169-197 (1981)

12. A. Itai: Two-commodity flow. JACM 25, 596-611 (1978) 13. N. Karmarkar: A new polynomial-time algorithm for linear programming. Combi­

natorica 4, 373-395 (1984) 14. R. M. Karp, C H. Papadimitriou : On linear characterization of combinatorial opti­

mization problems. SIAM J. Comput. 11, 620-632 (1982) 15. L. G. Khachyian: A polynomial algorithm in linear programming. Dokl. Akad.

Nauk SSSR 244, 1093-1096 (1979) [English translation: Sov. Math. Dokl. 20 (1979) 191-194]

16. P. Klein, C. Stein, E. Tardos: Leighton-Rao might be practical: Faster approximation algorithms for concurrent flow with uniform capacities. In : Proceedings of the ACM Symposium on the Theory of Computing, 1990, pp. 310-321

17. T. Leigh ton, S. Rao: An approximate max-flow min-cut theorem for uniform multi-commodity flow problems with applications to approximation algorithms. In: Pro­ceedings of the 29th Annual Symposium on Foundations of Computer Science, 1988, pp. 422-431

18. A. K. Lenstra, Jr. H. W. Lenstra, L. Lovâsz: Factoring polynomials with 'rational coefficients. Math. Ann. 261, 515-548 (1982)

19. O. L. Mangasarian: Condition number for linear inequalities and linear programs. Methods of Operations Research 43, 3-15 (1981)

Page 12: Strongly Polynomial and Combinatorial Algorithms in ... · the analytic techniques from non-linear programming. In this paper we shall survey two techniques for converting polynomial

1478 Eva Tardos

20. N. Megiddo: Combinatorial optimization with rational objective functions. Mathe­matics of Operations Research 4, 414-424 (1979)

21. N. Megiddo: Towards a genuinely polynomial algorithm for linear programming. SIAM J. Comput. 12, 3477353 (1983)

22. C. H. Norton, S. Plotkin, E. Tardos : Using separation algorithms in fixed dimension. In: Proceedings of the ACM-SIAM Symposium on Discrete Algorithms 1990, pp. 377-387

23. J. B. Orlin: On the simplex algorithm for networks and generalized networks. Math. Prog. Studies 24, 166-178 (1985)

24. J. B. Orlin: A faster strongly polynomial minimum cost flow algorithm. In: Proc. 20th ACM Symp. on Theory of Computing 1988, pp. 377-387

25. M. W. Padberg, M. R. Rao: The Russian method for linear programming III: Bounded integer programming. Technical Report 81-38, New York University, Grad­uate School of Business Administration, 1981

26. P. Raghavan, C. D. Thompson: Randomized rounding: a technique for provably good algorithms and algorithmic proofs. Combinatorica 7, 365-374 (1987)

27. A. Schrijver: Theory of integer and linear programming. Wiley and Sons, 1986 28. F. Shahrokhi, D. W. Matula: The maximum concurrent flow problem. J. ACM 37

(2), 318-334 (1990) 29. E. Tardos : A strongly polynomial minimum cost circulation algorithm. Combinator­

ica 5(3) 247-255 (1985) 30. E. Tardos: A strongly polynomial algorithm for solving combinatorial linear pro­

grams. Operations Research, pp. 250-256 (1986) 31. M. J. Todd: Recent developments and new directions in linear programming. In:

M. Iri, K. Tanabe (eds.) Mathematical Programming: Recent Developments and Applications. KKT Scientific Publishers, Tokyo 1989, pp. 109-158

32. P. M. Vaidya: Speeding up linear programming using fast matrix multiplication. In: Proc. 30th IEEE Annual Symposium on Foundations of Computer Science, 1989

33. D. B. Yudin, A. S. Nemirovskii: Evaluation of the informational complexity of math­ematical programming problems. Ekonomika i Matematicheskie Metody 12,128-142 (1976) (in Russian)


Recommended