Dewey HD28 .MA14 no. 96 A Scaling Algorithm for Multicommodity Flow Problems by Rina R. Schneur James B. Orlin WP #3808-95 April 1995 A SCALING ALGORITHM FOR MULTICOMMODITY FLOW PROBLEMS Rina R. Schneur i/ASSAOHUSSrrS INSTITUTE OF TECHNOLOGY PTCG Inc. Burlington, Massachusetts MAY 3 1995 LIBRARIES James B. Orlin Massachusetts Instittite of Technology Cambridge, Massachusetts Abstract We present a penalty-based algorithm that solves the multicommodity flow problem as a sequence of a fmite number of scaling phases. In the 8-scaling phase the algorithm determines an e- are satisfied to within 8. optimal solution, that is, one in which complementary slackness conditions We analyze the performance of the algorithm from both the theoretical and practical perspectives. Introduction 1. Multicommodity flow problems arise whenever commodities, vehicles, or messages are to be shipped or transmitted simultaneously from certain origins to certain destinations along arcs of an underlying network. These problems find applications in the study of urban traffic, railway systems, logistics, communication systems, and al. many other areas as well (see for example Ali [1984], Schneur [1991], Ahuja, Magnanti and Oriin [1993]). et. The multicommodity flow problem is a generalization of the single commodity network flow problem in which different commodities share a common network, and interact with each other typically through common capacity constraints. In the absence of any interaction among the commodities, the problem can be solved as separate single commodity flow problems. The interaction between the commodities, however, requires one to solve all the single commodity problems concurrently and, therefore, makes multicommodity flow problems much more difficult to solve than the corresponding set of single commodity problems. Linear multicommodity flow problems can be formulated as linear programs and solved by bound for linear programming problems is due to Vaidya [1989]. Many applications of multicommodity flow problems, however, lead to linear programs which are too large to solve by a direct application of linear programming software. Researchers have therefore developed specialized adaptations of linear programming algorithms which exploit the special structure and the sparsity inherent in multicommodity network the simplex algorithm or by interior point methods. The best time flow problems. Three "classical" approaches to multicommodity flow problems are price-directive decomposition, resource-directive decomposition, and partitioning. These approaches are all based on the simplex method. Assad [1978], Kennington [1978], and Ali, Helgason, Kennington and Lall [1980] review these methods and their computational performance. Recent research has focused mainly on the development of interior point methods, the development of parallel algorithms, and the solution of large-scale problems. Examples of interior point algorithms may be found m Choi and Goldfarb [1989], and Bertsimas and Oriin [1991]. Multicommodity flow problems reveal inherent parallelism. Choi and Goldfarb [1989] as well as Pinar and Zenios [1990] exploited this characteristic in their parallel algorithms. In this paper optimal if it is we latter uses linear and quadratic penalty functions. present a scaling-based approximation algorithm. possible to perturb so that the solution x The is some cost coefficients or capacity constraints by at P. Start called e- is most e by solving P(A) is different by at units may be optimal for the perturbed problem. The scaling approach summarized as follows. Let P(A) be a problem which problem A solution x most A from the original for a sufficiently large A, such that P(A) is relatively easy to solve. some scalmg factor F>1, and modify A to be A/F. Keep iterating until the value of A is sufficiently small. Edmonds and Karp [1972] and Dinic [1973] developed the first scaling algorithms for the minimum cost single commodity network flow problem. Gabow [1985] showed the application of scaling to several problems, including the shortest path, matching and maximum flow problems. Scaling algorithms which use the idea of s- Then, lise the solution to P(A) to solve P(A/F) for optimality are theoretically the most efficient algorithms for various network flow problems. Prominent among these are single commodity network flow problems such as minimum cost flow (Goldberg and Tarjan [1987], Ahuja, Goldberg, Orlin and Tarjan [1992|, and Orlin [1988]) and maximum flow (Ahuja, Orlin and Tarjan [1989]) In this paper we develop a cost scaling algorithm approach to solve multicommodity network flow problems. Other researchers have developed eoptimal algorithms (the traditional notion) for multicommodity flow problems. Such approximation algorithms are described and analyzed in the papers by Grigoriadis and Khachiyan [1991], Klein, Agrawal, Ravi, and Rao [1990], Leighton [1991], Klein, Plotkin, Stein, et. al. and Tardos [1990], Shahrokhi and Matula [1990]. The last two focus on the maximum concurrent flow problem which is a special case of the multicommodity flow problem. In all these cases the focus of the research has been on obtaining good worst case bounds. Our research focuses more on computational performance in practice. Our algorithm is simple, and yet robust. sequence of penalty problems, each of which is It solves the multicommodity flow problem as a constructed by relaxing the capacity constraints and adding a term for theh violation to the objective flinction. (For detailed description of penalty methods see Fiacco and McCormick [1968].) Each penalty problem is solved to s-optimality using a network-based scaling algorithm. Since the parameters of real-world multicommodity problems, such as cost and capacity, are typically approximate in practice, the algorithm presented here often up finds an optimal solution to the accuracy consists of moving flow around cycles. Thus, the The efficiency of the algorithm is The main component of the algorithm algorithm focuses on cycles rather than on paths. of the data. a result of usmg the scaling approach and of exploiting the network structure of the problem. In subsequent sections we present convergence results and prove that the algorithm has some interesting theoretical characteristics. The computational testing provides insight into the behavior of the algorithm and shows that the algorithm and worthy of theoretical fiirther consideration. bounds are observed The computational in practice, while in other cases the conservative than the practical performance. The testing is quite efficient some cases the bounds are much more results also reveal that in shows that the run time of the algorithm is competitive with the run time of recent algorithms for large scale multicommodity flow problems. These algorithms by Bamhart [1993], Bamhart and Sheffi [1993], and Farvolden, Powell and Lustig [1993] are based on dual ascent methods, the primal-dual approach and partitioning method respectively. The general fi-amework of our algorithm can be used A variation multicommodity flow problems. of it we focus on the algorithm for the problem. In the next section, formulate it we We we develop introduce and prove presented in Section 5, and different types of is minimum a special case (see Schneur cost multicommodity flow apply a penalty method to the multicommodity flow problem, and as a penalty problem. algorithm. In Section 3, Section 4, we solve also be used for various network flow problems with side constraints of which the muhicommodity flow problem [1991]). In this paper to the optimality conditions for the penalty problem, some of in Section 6 other network flow problems and also present in this section a detailed description of the we its theoretical properties. Numerical briefly discuss possible extensions make some concluding remarks. and in results are of our algorithm to The Scaling Algorithm 2. We commodity for the Penalty consider linear multicommodity there Problem flow problems on directed networks. For each We an associated vector of supply/demand. is observe that a multicommodity flow problem on an undirected network with multiple sources and multiple sinks for each commodity can be transformed to a single source-single sink multicommodity flow problem on a done by adding a super-source and a super-sink node for each commodity. The super-source node is connected to each supply node of that commodity with an outgoing arc from the super-source node whose capacity equals the supply at the node and whose directed network. This can be cost is zero. Similar arcs are added from each demand node of node. The capacity of each such arc equals the we consider only cases in which there is demand at the that commodity node and its cost is to the super-sink zero. Henceforth, a single source node and a single sink node for each commodity. Let N be a set commodity k A be a set of m directed arcs, which together form a network K commodities sharing the capacity Uy of each arc (ij) in the network. For each of n nodes and G=(N,A). There are there is a required flow of b units from cost of a unit flow of dl* d!' commodity k on arc (ij) be the flow balance of commodity k at is node clj i. its source node s(k) to and the amount of flow Thus, d!' = b its is if i=s(k); d!' smk node denoted as = -b The t(k). xlj if i=t(k); • Let and =0 otherwise. Using these notations, the minimum-cost multicommodity flow problem[MM] may be formulated as follows: [MM] Min (1) Vi6N,Vk=l,...,K (2) In order to formulate the multicommodity flow problem using a penalty function method, we relax the capacity bundle constraints and add a penalty function term of their violation to the objective function. K Let eij (x) = max{0, (^ xlj - uy)} be k= its capacity. A the amount by which quadratic penalty fiinction with a penalty parameter p violated capacity constraint and a penalty term p(eij(x)) The resulting penalty Mm(f^(x)= p X the total flow on arc (ij) exceeds l problem [PMM(p)] added to the objective function. is: Zp(e,Mf i^4x^+ is associated with each is (5) ) s.t. Z4-Z4-^' VieN,Vk=l,...,K (2) V(ij)eA,Vk=l,...,K (4) jtj))tA J:{l.j)tA 4>0 [PMM(p)] decompose After relaxing the bundle constraints, the remaining constraints in into the constraints of K single commodity flow problems. The objective flmction, however, separable and nonlinear. Hence, we is non- eliminate the complicating constraints, but introduce nonlinear (convex) and non-separable terms into the objective function. A sequence of solutions to the penalty problem with an increasing penalty parameter converges to the optimal solution of the original problem as long as the penalty parameter increases without bound (Avriel [1976] and Luenberger [1984]). Penalty methods using the Hessian to solve may the penalty problems fail conditioned (Avriel [1976]). when We the penalty parameter is too large because the Hessian is ill- present a scaling algorithm which utilizes the special network of the penalty problem and does not require the computation of the Hessian. The structure algorithm finds an approximately optimal solution to the penalty problem and successively improves the quality of the solution Let but Q Q k around a cycle we forward arcs and send denote it iteration. it Q is the arcs in (^ follow in a particular direction. to increase the on each backward as y(6, all Q ). The arc of Q'' fp(x) < 0, we We Since G=(N,A) the same units. We cost of a 5-flow around refer to Q direction. Q*' is the net fp(x). In When we by 5 send flow follow that direction arcs. units To send 5 and to decrease flow as a b-flow around Q*' and change in the objective function fp(x+ y(5, Q"")) - fp(x). If order to detect these fp(x+ we refer to cycles, we build as a negative cost h-cycle with respect to fp(x), and a negative cost d-flow with respect to a directed network backward arc of Q*' refer to this is, it is is call the arcs that flow on each forward by 8 obtained by sending the flow around the cycle. That - k. the arcs that are opposite to the direction of the flow units of flow around the flow each denote an undirected cycle of commodity an undirected cycle, not is at fp y(8, Q*')) y(6, Q ) as a residual network (also called the b-residual netM'ork) which an arc from node potentially node to i j is constructed as follows. Let arc in the residual network. For each arc have two oppositely directed arcs cost represents increasing the flow represents decreasing the flow on on arc in the residual arc (ij) (i j) by 6 by 5 (i j) network: ^t forward arc backward units; the backward units; the arc (],ii arc is flow), is, if x!) >6 we can write . Using our notations the cost of each arc (c is the cost vector, x is represent (j,i)' we whose whose cost (ij)' included in the 5- residual network of commodity k only if we can decrease the flow of commodity k units, that (ij)' of the original network on the flow and e is arc (ij) by 5 the excess of on the 5-residuaI network as follows. -* The change ~* d cost of each forward arc (iJ) in fp obtained on the residual by increasing the flow on arc (iJ) ^* = c*5 + p(26e,(x)+ 6') network for commodity by 6 units. That k, c,j , the net is is: \/{i,j)eA:eoix)>0 (6) V(/,7)e^:-5<Xx*-M,<0 (7) V(/,7)€^:Xx^M,<-5 (8) keK and -* The = c*5 cost of each in fp obtained ~* arc (j,i) on the residual network for by decreasing the flow on c, „* = -c*5 + c*, = -4 5 backward - p(-2de,j(x) arc (i j) by 6 units. + 6') commodity That k, Cj, the net change is: yiJ,i)eA:e,{x)>d p(e,j(x)/ is (9) \fU,i)^A:0<eJx)<6 (10) ^U,i)eA:J^4-u,<0 (11) and -c*5 For example, consider a part of the network as represent the unit cost for flow on each arc (which commodity k on each is arc, illustrated in Figure 1(a). and the numbers in ( ) The numbers in [ ] represent the excess of a result of the flow of commodity k as well as the other commodities in the problem). The cycle, or arc (1,3) calculation of the costs of arc (1,3), is when a backward arc on the cycle (that is, arc (3J is ) either a forward arc on a 5- of the residual network) are 6=2.0 and p=1.0. The costs of the other arcs in the network are calculated shown in Figure 1(b) for in the same way and appear cycle. Sending 2 units of flow around that 1-2-3. That improves the penalty objective ftinction by 2.0 The arc (1,3) The (clockwise) cycle 1-2-3-1 is a negative cycle means to shift 2 units of flow from path 1 -3 in Figure 1(c). scaling algorithm for solving the penalty cost 6to path units. problem consists of repeatedly sending flow around negative cost cycles. At each scaling phase, 5 has a fixed value and at each iteration we send 5 units of flow around a negative cost 5-cycle of some commodity. When there is no negative cost 6-cycle we decrease the value of 6 by a factor of 2. (Dividing 6 by a factor other than 2 leads to the same theoretical analysis as the alternative in practice.) one presented in the next section, At the end of each phase, we parameter by some scaling factor less that 2. and may be a reasonable also increase the value of the penalty 8 = 2.0 p= 1.0 2 + 16 + 4 = 22 -2 -16 + 4 = -14 Figure lb: Calculating the cost of the residual arcs Figure Ic: A negative cost 5-cycIe We problem if say that a flow x x is is (b,p)-optimal for the penalty version of the a feasible flow for the penalty problem and there is muhicommodity flow no negative cost 5-cycle with ; respect to the function fp. We present the following motivation behind our algorithm. Theorem We prove it Theorem here since it helps to understand the in the next section. 1: A flow X optimal for is PMM(p) if and only if x (8,p)-optimal for is all sufficiently small positive values of 5. The scaling algorithm for the penalty algorithm in which the step size at each phase problem can be viewed as a nonlinear programming fixed at a value of 5. is We try to find a "direction" (a vector of flow modifications) such that by moving 6 units in this direction the penalty objective fiinction decreases. When we can not find an improving direction with a step size 5, we decrease the step size to 5/2. An which we alternative approach, in then determine the step size, is first detect the improving direction described in Schneur [1991]. In the remainder of this section and we outline the scaling algorithm. The scaling algorithm for the minimum cost multicommodity flow problem may be described in the general form of a scaling algorithm as follows. Given: cjj Ujj b = cost ofunit flow = = capacity of arc on arc (ij) for commodity k (i J) amount of supply/demand of commodity k. Objective: Find a minimum cost flow which satisfies the flow requirements for each commodity without violating the capacity constraints. SAM.M: a Scaling Algorithm for Multicommodity Minimum cost flow problems. begin determine an choose initial initial feasible solution x; values for 5 and p; until 5 and p satisfy the termination criteria do begin while there is a negative cost 5-cycle with respect to fp do begin Q send 5 units of flow around Q find a negative cost 5-cycle for some commodity k with ; end 5: end end = 5/2; p: = p*R; (R is a constant with 1<R<2) respect to fp We now discuss some practical issues related to the various elements of the algorithm. Initial solution: An initial solution may be any which solution satisfies the supply/demand constraints. For example, one can satisfy the supply/demand of each commodity by sending b units on the shortest path from s(k) to Parameter We henceforth assume that we initialize the solution in this way. t(k). setting: we In our implementation up to the nearest power of 2, i.e., let the initial value of 5 be the size of the largest =2 5o: where B = max{b °^ , k=l,...,K}. Since 5 is halved at : each successive scaling phase, within [log b1 additional phases 5=1, a subsequent analysis. The best initial penalty parameter value and demand rounded modification its needed fact rate, R, in the may be empirically determined. Observe that 5 and p are modified simultaneously. For theoretical purposes which are discussed later, we need 5*p to decrease decreases by a factor of 2 at each phase, we by a constant require that R€[1.6,1.7] to be good choices for the problems that R < factor in each phase. Since 5 We 2. have found Po=0.3 and we have tested. Termination rules for the algorithm: The termination the dual solution is criteria of the algorithm depend on the values of 5 and obtained, the criteria may values of 5 and p are chosen to ensure that 5 is numerical bound on stability or to cases in which depend on the value of the duality gap.) The "sufficiently" small and p one may bound the penalty parameter value from above practice, ensure faster termination of the algorithm. is "sufficiently" large. In in order to help We final let maintain p^ denote our upper p. For each solution penalty problem. fiinction also p. (In The to the penalty duality gap and the value of this dual is problem, we also derive a solution to the dual of the the difference between the value of the penalty objective solution. We refer to this dual induced dual solution and the induced duality gap, respectively. in Section 4. Let The induced GAP duality gap may be used solution and this duality gap as the We describe these terms in details in the termination criteria. be the current value of the induced duality gap, and values set by the user. Then, the algorithm terminates let when one of g and 8 be small positive the following conditions is satisfied: 6*p < e or ii) GAP < g and p = Py. The values of 6*p and the duality gap indicate how close the solution is to optimality. The lower bounds on those values provide the user the option of terminating with a pre-specified level of i) solution quality. 10 When we may search for negative cycles we concentrate at one commodity at say that the algorithm uses the concept of coordinate optimization methods. a time. Thus, one We comment on the selection of commodities and the search for improving cycles in Section 5. Our scaling algorithm for the penalty problem similar to the "Discretized Descent is Algorithm" described in Section 9 of Rockafellar [1984] for solving convex cost network flow problems. Rockafellar describes an algorithm in which the step size cycles. He also suggests solving the problem is fixed and flow iteratively with a decreasing is sent around sequence of step sizes. If the algorithms are viewed at a high level, the primary differences between Rockafellar's algorithm and ours are that we use this algorithm within the fi-amework of a penalty method in order to solve multicommodity flow problems; we decrease the step size by a fixed factor of two, and we simultaneously increase the penalty parameter by a fixed multiplier at each phase. At a more detailed level, the two approaches differ in the choice of negative cycle detection algorithms and We the analysis of the convergence, errors and running time. in have also performed an extensive computational testing to support our theoretical results and to investigate the behavior of the algorithm in practice. Algorithm SAM.M assumes that there a feasible solution to the multicommodity problem is we in hand. To determine which specialized to the feasibility multicommodity flow problem. is if the problem is indeed feasible, detects infeasibility are described briefly in Section 6 Algorithm run a version of the scaling algorithm and in SAM.M is illustrated in Figure 2. calculate excess of flow on choose commodity k; each arc calculate costs of modifying flow of k by 6 units on each arc 5= 5/2 p = p*R send 5 units around negative cost 5-cycle increase (decrease) flow on forward (backward) arcs Figure 2: A flow chart of algorithm SAM.M 11 The algorithm and the way it more details in Schneur [1991]. We have developed also an optimal-shift version of the scaling algorithm (Schneur [1991]). The algorithm is motivated by Frank- Wolfe gradient-based algorithm for quadratic programming (Frank and Wolfe [1956]). Among other problems, Frank- Wolfe algorithm The equilibrium multicommodity flow problems (Sheffi [1976]). is viewed as a network-based scaling version of Frank- Wolfe algorithm. While we first in algorithm traffic may be SAM.M determine the step size and then look for an improving direction, the optimal-shift scaling algorithm is used to solve optimal-shift algorithm is more similar to conventional nonlinear algorithms. First the direction of determined. Then, the optimal step size along this direction improvement is A calculated. improvement direction of found by detecting a negative cost cycle in the residual network of each is commodity. The costs of the residual network of commodity k represent the derivative of the commodity on each penalty objective fianction with respect to the flow of that different residual network than the one used SAM.M. Once in algorithm arc. This is a negative cycle a is we shift the optimal amount of flow around it, i.e., the amount which results in the maximum improvement of the penalty objective fianction. The optimal amount is the amount which detected, drives the cycle derivative cost to zero. The optimal amount to shift on a cycle can be calculated using a binary search technique. Optimality Conditions 3. The optimality conditions problem are derived from the Kuhn-Tucker for the penalty optimality conditions for nonlinear programming. Since the objective function constraints are linear, the Kuhn-Tucker conditions is convex and the are sufficient for optimality (see, for example, Avriel [1976]). For a general nonlinear programming problem {min f(x): x> q(x)=0, 0}, the Kuhn-Tucker optimality conditions for a feasible solution x are (A denotes derivative): x(^x(f) some for -^ vector Ax(/) + ^iAx(q)> and \'^x(^)= (12) |i. Applied to a feasible solution for the penalty problem [PMM(p)], the optimality conditions for each arc (ij) xUcl + for and commodity k 2pey(x) + some values of Let * j^, ^i* and xfj ^])= - jJ.* - and c* ^; (iJ) and commodity k which => e* - is [i' defmed > (13) as (14) . optimality conditions for a feasible solution x > + 2pe,j(x) + ^f . be the reduced cost of arc e* = cj + 2peo(x) + ^' The are: may now be = written as (15) and 12 => = xfj G* > 0. The optimality conditions reduced costs equal Lemma (16) indicate that in the optimal solution, flow is assigned only to arcs whose 0. 1: Let X be a (5,p)-optimai solution to the penalty problem. Then, there exists a vector \x. of simplex multipliers, such that the following conditions hold: X* > 5 => -6p < e* < 6 => -5p < e*. < 5p (17) and 4 (18) Proof: Let us define a cost vector h as follows. For each forward arc for commodity (ij)' of the 5-residual network k: A* = and for each A* = -c* - 2pe,(x) + 6p We first + 2pe.j(x) + 5p c,; backward arc claim that there (19) of the 5-residual network of commodity (j,i)^ is k: (20) . no negative cost cycle within the 5-residual network commodity k for with respect to h''. To see this claim, let y denote a unit flow around some cycle Q in the 5-residual network for commodity k, and consider [fp(x + 5y) - fp(x)] along that cycle. The contribution fi-om each forward arc (i J)' to [fp (x + 5y) - fp backward The contribution -6 - 25p ey (x)+d^p which equals c-j eij(x+6y) > 0; in all other -fp(x)]>O.Thus, Let from |i * each . arc c* (],[)' + 25p gy (x) + d^p which equals 5 [fp(x+6y)-fp(x)] to (These contributions are achieved is smaller.) Ss/2,; >fp(x + 6y)-fp(x) >Oand By is when the (6,p)-optimality of x, X [fp . most at eij(x) /?* > and (x + 5y) h^ >0. denote the negative of the length of the shortest path from the source node of the original network strongly connected. is respect to the arc costs /j * . We assume without loss of generality that commodity strongly connected, and hence the residual network for each Given that and the no negative cost cycle, fact that there is |i * is is well-defined. the optimality conditions for the shortest path problem (see, for example, Ahuja, Magnanti and Orlm ;,* 5/j * cases the contribution commodity k to node i with By most 5 (x)] is at [1993]) + ^if it follows that for each arc (ij)' - ^; > (21) and thus 4 + 2pe,j(x) + 5p+^,* -p* >0. Using the definition in (14), network for commodity the condition in (18) is k. it (22) follows fi-om (22) that 0* When at * <5 proved. Moreover, arc (ij)^ if jc,* is >6 13 > - 5p for each arc the only residual arc , then both (ij)^ and (i j)*^ between in the 5-residual i and j, and thus Q,i)' are in the 5-residual network, and thus thus the condition We = - 6 * ^ -Sp *, is (17) have shown cost 6-cycles, Lemma we can bound 1 that at the (in the algorithm, for example, we can replace the conditions 4 < 5p and * end of each 5p-phase, when there are no negative this When problem with E=5p. occurs when 5 =1/2" for some integer n) the 6-residual network 1 -8p < 6 the violation of the optimality condition by 5p. That finds an s-optimal solution to the penalty of 6 , proved as well. is in >5 follows that for arcs where x* .It in (1 7)-(l 8) the algorithm is, the flow values are multiples demand of each commodity is integral and the same as the residual network. In Lemma the is by -6p < 0* < 5p > => = => -5p < 0*. (23) and X* Corollary (24) I: Suppose that x is a (6,p)-optimal solution and xj exists a marginal cost vector p with < 5p |/?*| a multiple of 6 for is for all ij,k such that x is all ij,k . Then there an optimal flow for the penalty problem with the cost vector c replace by c+p. Proof: The Kuhn-Tucker conditions are satisfied by x if c in (23)-(24) is replaced by c+p, where p k , is defined as follows. For arc (ij) and commodity k for which Xy (ij) and commodity k for which Xy and the Kuhn-Tucker conditions are We are now as in (24), p* = satisfied for vector ready to prove Theorem 1. >0 = -min{0, * }. = -0 If y. For arc In each case, |p*| < 5p, as in (23), p,j \i. Theorem Recall the as stated in the previous section. Theorem 1: A flow X is optimal for the penalty problem PMM(p) if and only if x is sufficiently small positive values of (5,p)-optimal for all 6. Proof: By value of 5 the definition of a (5,p)-optimal solution, if x then x , is infeasible or there for the penalty problem, (5,p)-optimal for Lemma by and 1, \i all is not (5,p)-optimal for positive values of 5. Let the vectors h and with 5=0 it shows The same proof shows that x some a cost-improving 5-cycle. In either case, x and thus the only //part of the theorem but with the value 6=0. , is is , \i is true. and positive not optimal Suppose conversely that x is be defined as in the proof of that the optimality conditions are satisfied optimal. Thus, the //part of the theorem 14 is is true as well. The Lagrangian Dual and Performance Analysis 4. In this section, we focus on deviation from optimality. In Section 4.2 we assume analysis, the simplify We commodities. start In Section 4.1 we focus on worst case time complexity. To provide worst case performance for algorithm = 2 with 5 algorithms runs at least until 5 < 1 supply/demand values are the that ^ '°s and ' we SAM.M. for the sake for integral of the analysis, we assume all the that the The following lemma shows that under these assumptions . the flows are multiples of 6 in the phases all where 5<1, and therefore the optimality conditions in (23)-(24) are satisfied. Lemma 2: flow X* If a a) is a multiple of 5 at the beginning of a 5-scaling phase, then it is a multiple of 5' during any subsequent 5'-scaling phase of the algorithm. b) The flows during c) When 5<1 all , the algorithm are integral multiples of 5 on all for which the initial flow is 0. the arc flows are integral multiples of 5. Proof: Suppose a) of 5. sent >'* multiple of 5 at for the rest beginning of a 5-scaling phase, and the flow on (i is is on sent halved, then ;^* is an integral multiple of j)'' is (ij) it , is an integral multiple then 5 units of flow are also an integral multiple of the 5, it continues to be an integral subsequent phases. all shows Part (a) b) at the also an integral multiple of 5. If 6 is Thus once revised 5. flow be the flow after one additional phase. If flow >'* Let and that x* is the that once a flow of algorithm. Therefore is all an integral multiple of 5, arcs (iJ)'' whose initial it remains an integral multiple of 5 flow is have flows that are integral multiple of 5. Since c) we start the [logSl phases part (a) shows we algorithm with 5 = T°^ and halve the value of 5 at each phase, after have 5=1. Since the supply/demand values are integers, the same argument as in that all the arc flows are integral at multiple of 5. Using the results in (a), we each phase. So when 6=1, conclude that at all flows are integral any subsequent phase when 5<1, all the flows are multiples of 6. 4. 1 The Lagrangian dual and the duality gap Let ay be the slack variable of the bundle capacity constraint of arc problem (2),(4),(5) may be rewritten (iJ). The penalty as: [PMM(p)] s.t. E 4- Z 4 = d1 Vi€N,Vk=l,...,K 15 (2) - V(ij)eA (25) e^>0,a*>0 V(ij)eA (26) 4>0 V(iJ)eA,Vk=l,...,K (4) + l;^* a, e,j = u,j i.i Constraints (25) are derived from the definitions of Cy and of constraints (25), Hie, p,x,X)= S and let H(c,p,x,A.) 2^44 + S CTy. Let Xy be the dual variables be defined as follows: P(e//)' + Hh (L4+<yu-eu-t^-j) (27) We now relax constraints (25) and obtain the Lagrangian relaxation: [LPMM(p,X)] v(c,p,>.) = Min {H(c,p,xA)} (28) s.t. Z 4 - Z 4 = df Vi€N, Vk=l,...,K (2) e^>0,(j*>0 V(io)€A (26) xfj>0 V(iJ)€A,Vk=l,...,K (4) ;:(ij)ev< ;:(y;)€y( The Lagrangian dual problem can be formulated as: [LDPMM(p)] MaxUv(c,p,X)J (29) The problem LPMM(p,X,) is separable with respect to the variables fixed value of >., the solution to [LPMM(p,A,)] * Gy is chosen to minimize can be arbitrarily large Z if A,y < ^ij^ij 0. is CT,e and x. For each therefore determined as follows: > 0. if A.y < subject to ay Consequently, Thus, ay for is set some to if A.y > 0, and arc (ij), then v(c,p,X,) = it - co; * Cy is chosen to minimize ey(2pey - >,y) = 0. That is, X (p(^\}f either Cy = - ^ij^ij) 0, or Cy 16 = subject to Cy X,y/2p; > 0. Thus, Cy is chosen such that . * X* chosen to minimize 2^ z^icy + hj) is '-' i=i subject to (2),(4). Thus, x* is the flow resulting {,.1)1* from sending the demand of each commodity along the shortest path from sink, with respect to the costs (cj Note that for each fixed value of objective fimction is (at + X, the x. source to its X,j) time required to determine the value of the Lagrangian most) the time required to solve K shortest path problems. PMM(p) and Let X be a solution to the penalty problem generated by its Associated with the primal solution (x,e) is let e be the vector of excess a dual solution (A,°,e'',x°,a°), determined as follows: * X°: * e : = 2pe; = e; * CT° is the slack variable of the capacity bundle constraint; * x° the flow is source to its which results from sending each commodity along the shortest path from sink with respect to the costs (c + 2pe). We have selected X° to be a vector such that the optimal choice of e" is x° is the flow the costs (c + and therefore which results [LPMM(p,X°)]. = 2pea° = 0. The value of the primal Z(l]4 {.i.JliA Thus, GAP(c.p) = = X,°/2p = e. Also be positive only for arcs with a zero excess, = (e,x°,CT°) solves the Lagrangian problem We refer to this associated dual solution as the induced dual solution. Z(Z4 + 2pe,>1 z{c,x,9)= may Thus, (e°,x°,a°) The value of the induced dual v(c,p,r)= e" from sending each commodity along the shortest path with respect to X°). In addition, the slack variables X,°ct° its solution v(c,p,>-°) can be calculated as: -P(e,y -2pe,M,; solution z(c,x,p) (30) is: (31) 4+P(^i,)') *.l we can calculate the induced duality gap GAP(c,p) z(c,x,p) - v^c.p.r; as: (32) The Lagrangian dual defined here is only one way to defme the dual problem. In addition there are various methods to solve that problem (e.g. subgradient method). Here we present a very simple and fast method for computing a dual solution. The method appears to be very good in practice (see the results of Section 5), and is usefiil in proving bounds. We next give some bounds on the size of the induced duality gap. This allows us to use the value of the induced duality gap as a possible termination criterion and for performance analysis. 17 Theorem 2: an optimal solution to the penalty problem PMM(p), then the induced duality gap If x=x* is is zero. Proof: Let X be a feasible solution to general x° x (x ?t PMM(p) any feasible solution is and let (X°,e°,x°,a°) to the penalty problem). be the induced dual solution. In However, when x solution x*. the optimality conditions (23)-(24) hold with 6=0. For each conditions become = in this case x° the duality gap x*. is same the By as the conditions for substituting 2] jc* - the optimality the shortest path problem with costs c+2pe. Thus by uij commodity the optimal is Cy in (30) we get v(c,p,A,°) = z(c,x*,p), and so zero. In the next Theorem we develop an upper bound on the value of the induced duality gap for any (5,p)-optimal solution. Theorem 3: Suppose that y is a (5,p)-optimal solution determined by the algorithm value of the induced duality gap is at most 26pnD, where D= 2j^* is the when sum of all Then 5<1. the the demands. Proof: Let y be a most 1, and let (6,p)-optimal solution to the penalty problem for some value of 6 which is at e* and a* denote the excess and slack vectors associated with y, respectively. Let X* = 2pe,j. Let (>,*,w,e*,a*) denote the induced dual solution. We now want evaluate to H(c,p,y,X*)-H(c,p,w,X*). Let 6 and all arcs (ij) yl be vectors chosen as in the proof of Lemma \x . Moreover, by Lemma Thus 0y = c* + 1. Xij + M, - M-^ for 1, -5p < 0* < 6p > => = => -6p < 0* and yl The effect . ^^ of including the dual variables term only a constant which commodity k. This is out. i^'! ~ 1^*) ^ the objective function equal to /)*|i,(4)for each commodity, where t(k) is the sink is node of because the flow of each commodity can be decomposed into paths from s(k) to t(k) (s(k) is the source nodes cancel is yl node of commodity k) Thus the value H(c,p,y,>,*) is , b'' |^*(A)=0, and the dual variable terms at all other equal to (33) and therefore 18 - H(c,p,y,X *^)-H(c ,p,w,X*)= Zl]e*(>'*-w*) U.j)iA < (34) t=] Zl][Sp(>^*)-5p(wJ)] •J' t l&pnb" <25p«D The second to last inequality follows from the fact that for each commodity k, the flow in y (and also in w) may be written as the sum of at most b units of flow on paths, each of which has fewer than n arcs, (in fact, one may restrict attention to the case in which the flow is b units along a single path.) Worst Case Computational Analysis 4.2 we limit the negative cycle search in the algorithm to 6-cycles whose mean cost is at most -5 p. The mean cost of each cycle is greater than -5 p if and only if adding 5^p units to the cost of each arc results in no negative cost cycle. Since we always send 5 units of flow around a cycle, one way to avoid detecting cycles whose mean cost is greater than -5^p (and thus limit the search to cycles whose mean cost is at most -5 p) is to add 5p to the unit cost of each arc. When we replace the unit cost vector c by c+6p the bound on the optimality In order to derive a worst case bound, Lemma condition violation in optimal for costs c+p where Theorem 3 1 |p| becomes 25p. Also, in Corollary 1 the (5,p)-optimal solution < 25p. As a result, the bound on the induced duality gap is in becomes 45pnD. Lemma 3: Suppose Then the that we improvement limit the search in the algorithm to 5-cycles in the objective ftmction after each iteration whose mean is at least 25 is at most -5 p. p. Proof: When 5 units are sent around a cycle in the objective ftinction number of arcs each 6-shift Theorem which equals the Q whose mean cost is at most of that cycle total cost in the cycle. Since there are at least is at least 25 two is at least -5 p, the improvement 5 p|Q|, where arcs in each cycle, the |Q| is improvement the after p. 4: When we limit the search number of negative m the algorithm to 6-cycles cost cycles found in each phase is at whose mean is at most -5 p, the most 2nD/6. Proof: Theorem 3 modified to the case when the mean cost of each cycle is at most -5^p, we get that the bound on the induced duality gap is at most 46pnD. Since the improvement per sending flow around a negative 5-cycle is at least 25 p, the number of negative From the results of cost cycles detected in each phase is bounded by 45pnD/25 p = 2nD/6. 19 Let 4 be a lower bound on the value of cycles throughout the algorithm is Then 6. 2nD/^ = 0(nD/ the bound on the total number of negative ^). Schneur [1991] presents a more detailed analysis of the bounds on the number of algorithmic operations. Under some (not very limiting) assumptions, we can show that the number of operations performed by algorithm the bound of Theorem 4 are not as SAM.M good as is 0(n mK It, the ones given ). Note, however, that this bound and by Klein, Plotkin, Stein, and Tardos [1990]. Computational Results 5. We have performed extensive computational tests and have analyzed algorithm SAM.M on a variety of problem instances. These tests have included the investigation of different implementation ideas and the testing of the sensitivity of the algorithm to various data parameters, such as the number of arcs, the number of commodities, and the congestion in the network. have also compared the practical behavior of the algorithm, as observed in the computational we have with the theoretical characteristics and bounds We tests, derived. These results are presented in Schneur [1991]. In this paper, provide some we and discuss running time (A) (B) its bottleneck operations and practical convergence . We also report results. The test problem instances has been acquired from three sources: The published literature on multicommodity flow problems (Assad [1976]). These instances have medium size directed networks (up to 100 nodes and 200 arcs), with a relatively small number of commodities (up to 35). An industrial application which models a communication problem. The number of commodities (C) focus on results which highlight certain features of the algorithm, and insight regarding in this problem is Randomly generated problem relatively large (around 600). instances. These instances were generated by RAMGEN, a random multicommodity flow problem generator developed by us. We generated networks of various sizes, different number of commodities eind different levels of congestion. Each generated network has an underlying grid form. The length L (the number of arcs in each horizontal line) and the height H (the number of arcs in each vertical line) are userdefmed. Each network is derived from an undirected network, that is, there are two oppositely directed arcs between each pair of connected nodes. Thus, n= (L+1)*(H+1) and m = 2*[ L*(H+I) + H*(L+1) ]. To increase the number of arcs in some networks, the generator connects each node i with two randomly selected nodes from the column on the right-hand side of node i. An example with L=5 and H=3 is illusfrated in Figure 3. In this case n remains the same as in the pure grid network, and m = 2*[ L*(H+1) + H*(L+1) + 2*L*(H+1)]. 20 The cost on each arc is user-defined parameter The user K selects randomly chosen from a uniform distribution between 0.0 and a Cn,ax. number of commodities, denoted as K. Then, the generator randomly source-sink pairs. The source and smk nodes can be unrestricted, or else limited sets the only to the boundary nodes of the grid. The demand for each commodity is randomly chosen from a uniform distribution between 0.0 and a user-defined parameter Bn,^^- The capacity on each arc is randomly selected from a uniform distribution between bounds which depend on the size of the network, the number of commodities and the demand values. Figure 3: A A network generated by RAM_GEN detailed description of the problem instances from all three sources is given in Schneur[1991]. 5.1 Bottleneck Operations and Negative Cycles Detection The bottleneck operation of the algorithm is the detection of negative present here an average distribution of the time the algorithm spends performs. The algorithm consists of the following components: Initializing the variables and setting the parameters 21 cost 5-cycles. We on each type of operation it Calculating the costs of the residual arcs at the beginning of each phase Searching for a negative cost cycle until one is detected (successful iterations) Searching for a negative cost cycle and concluding that no such cycle exists (an unsuccessful iteration which occurs once at the end of each phase) Modifying the flow, the excess and cost of each arc around a negative cost cycle. ^^^^^^^^H at each iteration, when 5 units are sent may become negative, and if so are used in subsequent iterations. As long as there is a cycle in C we do not search for another negative cost cycle. The collection C uses a data these cycles negative of the cycles' structure that enables a fast update is cost. Storing these cycles and updating their cost time consuming, but the saving in overall cycles detection time more than compensates for this computational expense. In fact, in our computational testing about 50% of all negative cycles used for shifting flow^ were fi^om the collection C, while managing the collection added only about the running time cycles. Moreover, we 3% to limit our search only to "sufficiently negative" cycles in order to eliminate the detection of negative cost cycles with very small absolute cost, and improve shown in Section 4). Since a cycle corresponds to a choose a commodity at each iteration. The order in which the theoretical convergence of the algorithm (as particular commodity, we need to commodities are considered does not influence the theoretical worst case performance of the algorithm. show It does that scanning the provides a faster moving 5.2 affect, however, the performance of the algorithm in practice. Empirical results commodities in a cyclic order convergence than searching for to the next all and detecting one cycle for each commodity negative cycles for one one (Schneur [1991]). Practical convergence In any approximation algorithm, there are various solution. In general, to commodity and then ways of evaluating the quality of the one would want an algorithm based on a scaling and penalty function method have the following properties: (1) As the penalty parameter increases and the scaling parameter decreases, the flow cost ^ ^(cj Xy) associated with the algorithm's solution converges to the cost of the optimal solution to the original problem. (2) As the penalty parameter increases and the scaling parameter decreases, the penalty cost (excess cost) converges to zero, and thus the total cost (flow cost to the cost (3) As + excess cost) converges of the optimal solution to the original problem. the penalty parameter increases, the value of the maximum excess (max^ij^ eij(x)) converges to zero. In our computational testing, our algorithm. In Figures 5 and problem instance from excess cost is set (A). 6, The we found the above properties to be typical to the behavior of we illustrate a typical convergence, which corresponds to a results were similar for the problems in set (B) the difference between the total cost and the flow cost in Figure 23 5. and set (C). The 537 T total cost -flow cost -optimal cost 532 527 522 517 512 4 Figure 7 , 5: The typical cost at the Phase 5 end of each 5p-phase have at each phase a solution that is closer to the optimal tests the total cost usually problem. In our penalty parameter increases, we that this is indeed the case. This decrease, the penalty cost (which go up or down. An is is it finally converges to the a product of an excess term and a penalty parameter. expect the excess to decrease, and however, is the excess term multiplied we see from Figure 6 not always sufficient to lead to a decrease in by the penalty parameter). The flow cost may increased penalty parameter typically leads to an increase in the flow cost, whereas a decreased scaling parameter 5 typically leads that the for the corresponding penalty decreases between phases until optimal solution. Note that the excess cost When the one flow cost and total cost to a decrease in the flow both converge to the optimal solution value cost. at the We observe end of the algorithm and thus, the excess cost converges to zero. A typical curve of the total cost at each iteration during the fu-st four phases of the algorithm is illustrated iteration in Figure 7. because flow is During each 5p-phase of the algorithm, the sent around negative cost cycles. total cost When a phase penalty parameter; therefore, the total cost which corresponds to the increases. The a 5p-phase is total decreases at each terminates new cost decreases again during the next 6p-phase. Thus, the we increase the penalty parameter total cost at the end of not necessarily smaller than the total cost at the end of the previous phase. Nevertheless, as illustrated in Figures 7, the total cost typically decreases between phases. difference between the two graphs is which gives us an upper bound on the value of the duality gap, we the distance of the solution from the optimal value. In general, decrease between phases (this is also suggested by Theorem expect the duality gap to From Figure 3). 8 we see that this is typically the case. —>- total cost -*-dual cost optimal cost The duality gap at the end of each Figure 8: 5.3 Running time We report here data sources. The some numerical £, , results for representative problems from the three different correspond to s-optimal solutions, where the values of 6p and 6 are results bounded by user-defined values values of e and 5p - phase 8 and respectively. In addition to the size of the problem, the t,, and the value of the optimal solution when available, Table 1 contains the following results: * % 6-saturated arcs. The percentage of saturated arcs the congestion level of the saturated arc is problem (in 8-optimal solution usually reflects at the term of demand-to-capacity an arc for which the flow is within 5 units ratio). For our purposes a a 6- flow cost (FC) of the s- from the capacity (we call it saturated arc). Once we know * Costs. the optimal solution, optimal solution. Note that we have its can compare it to the be smaller than the optimal solution (by a small amount) since The excess cost (EC) which is the value of the penalty (TC=FC+EC), provide us information about the deviation relaxed the capacity constraints. term, and from FC may we proportion of the total cost feasibility. 26 * Maximum excess. The maximum value of the excess (e^ax) and the maximum excess-to-capacity maximum violation of the capacity constraints. The number of times we search for a negative cost cycle is highly ratio ((e/u)n,ax) represent the * # of searches. number cycles of operations required to find the reported solution. This is number of flow # of iterations. This * # of phases. The number of 6p-phases performed. Running time. The computational testing was performed 1. A is UNIX-based the VAX Station 3100, compiler of the Athena project were measured by the 2. correlated to the because the search for negative the primary time-consuming operation in the algorithm (Figure 8). * * is 'time( )' at the shifts around negative cost cycles. in three environments: The algorithm was coded using the 'C Massachusetts Institute of Technology. Running times model 30. function of the utilities library 'sys/times.h'. A DOS-based PC IBM compatible, AT 386/ 33 Mhz. The algorithm was coded using Running times were measured by the 'timeQ' function in the utility Borland's 'Turbo C library 'time.h'. 3. An IBM RISC 6000, model 530. The algorithm was coded in 'C. Running times were measured by the 'time( Due to some problems )' memory (RAM) in data set ftmction in the utility library 'time.h'. limitations, C on the AT we could not 386. 27 test the problems from data set B and Problem In order to evaluate the performance of the algorithm in terms of running time, compared it knowledge, there is no A by Assad (our The initially of problem instances. To the best of our set of problem instances which has been widely used single set multicommodity flow algorithms. theoretical same to other algorithms for the set A). for testing other quite popular (and available) set of problems algorithms for was that used multicommodity flow problems with the performance are based on more general algorithms for linear programming. "classical" decomposition we Among the and partitioning algorithms, Assad found price-directive decomposition (Dantzig- Wolfe) to have the best performance in practice, at least for his data set (Assad [1976]). primal-dual network algorithm [PDN] for large-scale A multicommodity flow problems has been developed by Bamhart [1988] and has been tested using Assad's test A problems. primal partitioning algorithm based on price directive decomposition [PPLP] (Farvolden and Powell [1991] and Farvolden, Powell and Lustig [1993]), aiming to solve large-scale problems in the Lessthan Truck-Load industry, has been tested on Assad's problems as well. This algorithm has also LP outperformed general purpose algorithms (MINOS and OBI). We compare our algorithm (as problem instances) with the corresponding results for PDN, PPLP, and a implementation by Bamhart[1988]. These comparisons provide some sense Wolfe (DW) Dantzigrestricted to Assad's for the relative computational performance and do not provide a complete The algorithms been tested on a VAX Micro VAX Israel Station all the VAX II. PPLP algorithms. comparison tables provided by least as has been programmed VAX We Digital, the CPU performance of the 3100 in running time of algorithm algorithm on the in VAX was SAM.M the and have 77 and tested on a common computational need, however, to interpret our results based on the According to performance CPU performance of the VAX Station 3100 is 2.8 times VAX Station II VAX VAX Therefore, the results for algorithm SAM.M on Micro II, and the performance of the II. Table 2 and Figure 9 are multiplied by PC AT 386 FORTRAN computational environments. high as the one for the Micro Station however, limited in scope DW and PDN have been programmed in VAX FORTRAN 4.5 performance of the different is at are, picture. (Farvolden and Powell [1991]). The environment used by higher than the of the algorithm. They on the PC AT 386/33 Mhz. 2.8. In addition, A we provide the special implementation of the has led to further improvement in the running time of the algorithm. The only means of comparison between the PC or RISC 6000 and the other computers are MIPS (Million Instructions Per Second), which is the most common means of comparison in the computer industry. The PC AT 386/33 Mhz has about the same value of MIPS as the Micro VAX II (around 5 MIPS), and the RISC is about 7 times faster (34.5 MIPS). We feel, however, that the comparison with the VAX Station 3100 is a more accurate one, and therefore the other results in Table 2 are reported only for future comparisons. This running time evaluation is approximate, and it is used only to provide a sense of the performance of our scaling algorithm relative to other recent algorithms and more traditional ones. may be which influence the running time, such as the amount of available RAM, the compiler and the programming language. In general, FORTRAN compilers may be better than 'C compilers, but we do not have information about the specific compilers. The compiler optimizer has not been used for SAM.M, or PDN but may have been used for PPLP. There other factors DW 29 In addition, the other algorithms have found an optimal solution in the cases reported here, while the solutions found by algorithm SAM.M While such violations may be acceptable violate the capacity constraints in most applications, it may by up to 0.2%- 1.0%. give our algorithm an unfair advantage. The running time for the different algorithms are reported in Figure 9a,b. All the problems have 85 nodes and 204 DW, 85 arcs. The implementation of algorithm for all the instances. Al have 47 nodes and 98 total seconds for algorithm implementation of algorithm p in set running time for PDN, SAM.M and the problems Table 2 and illustrated in all is the problems in set it is 39 for the VAX multiplied by 2.8), and 10 seconds for the running time on the A3 83 seconds for algorithm 42 seconds for algorithm PPLP, (after SAM.M. The all arcs, RISC 6000 was less than 1 PC second SAM.M-PC 10 9 8 7 dsam.m-vax Hpplp Dpdn dw 6 T 5 4 3 2 1 A1.2 A1.1 Figure 9(a): A1.4 A1.3 Comparison of running time A1.5 for set A1.6 Al 35 / SAM.M-PC 71 dsam.m-vax 30 Hpplp Dpdn dw 251- 20 15 10 5|- A3.2 Figure 9(b): A3.6 A3.5 Comparison of running time for set 31 A3 Extensions and 6. Summary We have presented in this paper a simple and yet robust algorithm for multicommodity flow problems. The algorithm consists of solving a sequence of penalty problems by repeatedly sending flow around negative cost cycles. Two parameter control the solution process: the penalty parameter p which specifies the cost of a unit penalty function for violating the capacity constraints, and the scaling parameter S which govern the amount of flow sent around cycles. These parameters also control the We maximum deviation fi-om optimality at the end of each phase of the algorithm. have analyzed our algorithm from both theoretical and practical perspectives. The computational results seem not only to support the theoretical properties to demonstrate that our algorithm has merit for we have derived, but also solving multicommodity flow problems of various types and sizes. minimum This paper focus on the scaling algorithm for cost multicommodity flow problems. The general scheme, however, can be used to solve other types of multicommodity flow problems as well as network flow problem with side constraints of which the multicommodity problem is a special case. For example, the feasibility multicommodity flow problem is similar to the minimum cost multicommodity problem, except that the penalty terms are the only the unit flow costs are zero. all components of the objective fiinctions no influence on the solution of the penalty problem and can be As a result and the penalty parameter has arbitrarily set to 1 . Thus, only one penalty problem needs to be solved with a decreasing scaling parameter. The feasibility scaling algorithm may also be used as a subroutine in an algorithm which solves the maximum concurrent flow problem. This problem is a special case of multicommodity flow problems in which we need to send commodities along a capacitated network. In order to be "fair" to all commodities, the same ratio of each commodity's demand should be sent, and the objective (Shahrokhi and Matula [1990]). Observe that for each fixed ratio in the problem we can solve a feasibility a binary search to determine the each iteration by algorithm. found in A problem maximum to determine maximize to maximum if this ratio is feasible. feasible ratio, detailed description is where a feasibility and analysis of all this ratio concurrent flow Thus, we problem is can apply solved at these algorithms may Schneur[1991]. Acknowledgment Many thanks to Cham Aggarwal and Hitendra Wadhwa for all Prof Cindy Bamhart contract for providing us with data sets. Part #ONR:N000 14-94- 1-0099. 32 their usefial comments, and to of this work has been done under be References Ahuja, R.K., A.V. Goldberg, J.B. Orlin, and R.E. Tarjan. 1992. Finding Minimum-Cost Flows by Double Scaling. Math. Programming 53, 243-266. Ahuja, R.K., T.L. Magnanti, and J.B. Orlin. 1993. Network Flows Applications. Prentice-Hall, Inc., Englewood Cliffs, - Theory, Algorithms, and NJ. Ahuja, R.K., J.B. Orlin, and R.E. Tarjan. 1989. Improved Time Bounds for the Maximum Flow Problem. SIAMJ. on Computing 18, 939-954. Ali, I., D. Bamett, K. Farhangian, 1984. Multicommodity J. Kennington, B. Patty, B. Shetty, B. McCarl, and Network Problems: Applications and Computations. HE Trans. P. Wong. 16, 127- 134. Ali, A., R. Helgason, J. Kennington, and H. Lall. 1980. Computational Comparison Among Three Multicommodity Network Flow Algorithms. Opns. Res. 28, 995-1000. Assad, A.A. 1976. Multicommodity Network Flows - Computational Experience. Working Paper OR-058-76, Operations Res. Center, M.I.T., Cambridge, Assad, A.A. 1978. Multicommodity Network Flows Avriel, Cliffs, M. - 1976. Nonlinear Programming: Analysis MA. a Survey. Networks and Methods. 8, 37-91. Prentice-Hall, Inc., Englewood NJ. A Network-Based Primal-Dual Solution Methodology for the Multicommodity network Flow Problem. PhD Thesis, Department of Civil Engineering, Massachusetts Institute of Technology, Cambridge, MA. Bamhart, C. 1988. Bamhart, C. 1993. Dual- Ascent Methods for Large-Scale Multicommodity Flow Problems. Naval Res. Log Bamhart, Quart. 40, 305-324. C, and Y. Sheffi. 1993. A Network-Based Multicommodity Network Flow Problems. Trans. Bertsimas, D., and J.B. Orlin. 1991. Primal-Dual Heuristic for the Solution of Sci. 27(2), 102-1 17. A Technique for Speeding Up the Solution of the Lagrangean Dual. Working Paper No. 3278-91, Sloan School of Management, Massachusetts Institute of Technology, Cambridge, MA. 33 Choi, I.e., Interior Point Method. In Proc. of the Coleman and Q. Dinic. E.A. Network Flow Problems by an Workshop on Large-Scale Numerical Optimization, T. 1989. Solving Multicommodity and D. Goldfarb. SLAM Li (eds.) 1973. The Method of Scaling and Transportation Problems. Issledovaniya po Diskretnoi Matematike, Science, Moscow (Russian). Edmonds, J., and R.M. Karp. 1972. Theoretical Improvements Network Flow Problems. J. of the ACM 19, 248-264. Fiacco, A.V. and G.P. in Algorithmic Efficiency for McCormick. 1968. Nonlinear Programming: Sequential Unconstrained Minimization Techniques. John- Wiley & Sons, New- York. W.B. Powell. 1990. A Primal Partitioning Solution for Multicommodity Network Flow Problems. Working Paper #90-04, Department of Industrial Engineering, University Farvolden, J.M., and of Toronto, Toronto, Canada. Farvolden, J.M., W.B. Powell, and I.J. Lustig. 1993. A Primal Partitioning Solution for the Arc- Chain Formulation of a Multicommodity Network Flow Problem. Opns. Res. 41(4), 669-693. Ford, L.R., and D.R. Fulkerson. 1962. Flows in Networks. Princeton University Press, Princeton, NJ. Frank, M., and P. Wolfe. 1956. An Algorithm for Quadratic Programming. Naval Res. Log. Quart. 3,95-110. Gabow, H. 1985. Scaling Algorithms for Network Problems. J. ofComput. Goldberg, A.V., and R.E. Tarjan. 1987. Solving Approximation. Proc. of the 1 9th ACM Symp. on Minimum the Sys. Sci. 31, 148-168. Cost Flow Problems by Successive Theory of Comp., 7-18. Schemes for Convex Programs Technical Report DCS-TR-273, Department of Grigoriadis, M.D., and L.G. Khachiyan. 1991. Fast Approximation with Many Blocks and Coupling Constraints. Computer Science, Rutgers Univ., Kennington, J.L. 1978. A New Brunswick, NJ. Survey of Line£ir Cost Multicommodity Network Flows. Opns. Res. 26, 209-236. Klein, P., A. Agrawal, R. Ravi, and S. Rao. 1990. Approximation In Proc. Through Multicommodity Flow. of the 31st Annual Symp. on Foundations of Computer Science, 726-727. Klein, P., S.A. Plotkin, C. Stein, and E. Tardos. 1990. Fast Approximation Algorithms for the Unit Capacity Concurrent Flow Problem with Application to Routing and Finding Sparse Cuts. In Proc. 34 of the 22nd Annual ACM Symp. on Theory of Computing, 310-321 Also Technical Report 961, School of Operations Research and Industrial Engineering, Cornell Univ., NY, 1991. Leighton, T., F. Makedon, Approximation Algorithms Plotkin, S. C. Stein, E. Tardos, and S. Tragoudas. 1991. Fast Multicommodity Flow Problems. In Proc. of the 23rd Annual ACM for Symp. on Theory of Computing, 101-111. and Nonlinear Programming. Addison- Wesley, Luenberger, D.G. 1984. Linear Orlin, J.B. 1988. ACM Symp. A Faster Strongly Polynomial Minimum reading, MA. Cost Flow Algorithm. Proc. of the 20th on the Theory ofComp., 377-387. Pinar, M.C., and S.A. Zenios. 1990. Using Smooth Penalty Parallel Decomposition of Multicommodity Network Flows Functions. Report 90-12-06, Decision Sciences Department, The Wharton School, Univ. of Pennsylvania, Philadelphia, PA. Plotkin, S., D.B. Shmoys, and E. Tardos. 1991. Fast Approximation Algorithms for Packing and Covering Problems. In Proc. of the 32nd Annual Symp. on Foundations of Computer Science. Rockafellar, R.T. 1984. Network Flows and Monotropic Optimization. John Wiley an Sons, New York, 420-425. Schneur, R. 1991. Scaling Algorithms for Multicommodity Flow Problems Problems with Side Constraints. Shahrokhi F., PhD Thesis, and D.W. Matula. 1990. The and Network Flow MIT, Cambridge, MA. Maximum Concurrent Flow Problem. J. of the ACM 37, 318-334. Sheffi, Y. 1976. Urban Transportation Networks: Equilibrium Analysis with Mathematical Programming Methods. Prentice-Hall Inc., New- Jersey. Vaidya, P.M. 1989. Speeding Of the 30th Annual Symp. Up Linear Programming Using Fast Matrix Multiplication. In Proc. On Foundations of Computer Sci., 35 > - D J D i 'D 332-337. Date Due MIT LIBB ABIES ,., ,1.1 M uinll 4467 3 9080 00922 II