^SKCHC^^^.^ HD28 a/0. Inverse Spanning Tree Problems: Formulations and Algorithms by P.T. Sokkalingam Ravindra K. Ahuja James B. Orlin WP #3890-96 April 1996 MASSACHUSETTS INSTITUTE «-r>' - - APR 1 1 .-v 1996 Llfci->Artlt5> INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS p. T. Sokkalingam Department of Mathematics Indian Institute of Technology, Kanpur-208 016, INDIA Ravindra K. Ahuja & Management Engg. Indian Institute of Technology, Dept. of Industrial Kanpur-208 016, INDIA James B. Orlin Sloan School of Management, Massachusetts Institute of Technology, Cambridge, MA 02139, USA (Revised March 26, 1996) INVERSE SPANNING TREE PROBLEMS: FORMULATIONS AND ALGORITHMS p. T. Sokkalingam , Ravindra K. Ahuja , and James B. Orlin ABSTRACT Given a solution x* and an a priori estimated cost vector identify another cost vector d so that x* from c is minimum. m the rectilinear distance arcs, the inverse spanning tree (that is, L, norm). We problem can be formulated as the dual of an assignment problem on - n + 1), problem, and lA we I = 0(nm). x N^. bipartite In general, IN is to I network < < IN I. network G spanning = (N property that IN^l = (n = defined by is that the inverse a bipartite satisfies the Using show and d c G - 1), this special structure of the , A tree ) with IN^I = (m assignment develop a specific implementation of the successive shortest path algorithm that solves the inverse spanning tree problem in tree The problem problem on an undirected graph and where the deviation between between the two vectors N° = N^ u N^ and A° c N^ the inverse optimization optimal with respect to the cost vector d and the deviation of d we consider In this paper, A) with n nodes and (N, is c, 0(n ) time. problem where we minimize the sum We also consider the weighted version of the inverse spanning of the weighted deviations of arcs and show that formulated as the dual of the transportation problem. problem can be solved in 0(n m iog(nC)), it Using a cost scaling algorithm, the transportation where C denotes the largest arc cost in the data. consider a minimax version of the inverse spanning tree problem and show that it Finally, Dept. of Industrial Institute of Technology, & Management Engg., Kanpur - 208 106, Indian Institute of Technology, INDIA Kanpur - 208 Sloan School of Management, Massachusetts Institute of Technology, Cambridge, we can be solved in 0(n time. Department of Mathematics, Indian can be 106, INDIA MA 02139, USA ) 1. INTRODUCTION Let X denote the set of feasible solutions of an optimization problem. X and x e all inverse optimization problem with respect paper, we to identify another cost vector such that the deviation of d from c is minimum. Roughly speaking, the nearest to a specified cost vector c and is to identify a cost vector between the cost d which is an optimal solution of the optimization problem. x* is minimum spanning study inverse problems using three different ways tree to measure deviations vectors. To our knowledge, capacitated plan location problem. optimization, although was it anticipated by Everett Inverse network optimization problems were first Bitran et [1963] al. for the introduced the concept of inverse and by the literature in numerical analysis. studied by Burton and Toint [1992, 1994]. They studied the inverse multiple-source shortest path problem with deviation between two vectors c and d measured L2 norm. They show applications of these problem a nonlinear d so In this Chandru, Sempolinski and Shapiro [1981] studied the inverse optimization Bitran, X and is the inverse optimization c, which the given solution to a solution x* e problem an a priori estimated cost vector that dx* < dx for Given programming algorithm to solve the in traffic modeling and seismic tomography, and suggest problem. Inverse and L^ norms have been studied by Sokkalingam [1995]. by the To minimum problems with Li Lo cost flow , the best of our understanding, prior to tlus research no one has studied the inverse spaiming tiee problems. Inverse optimization is an alternative approach to measure deviation from optimality. than measuring the distance of a solution x* from optimality by comparing objective value to the data so that x* optimum? This inverse perspective is measurement optimum, one poses the following question: which error, advantage that is by We 1 unit. minimum One cost flow in the usual sense, but minimum definition of e-optimality problem when of special interest it also note that the concept of e-optimality, Goldberg-Tarjan [1987] algorithm for the optimization. How much would one need to perturb the if it is the cost data is subject to changes Ln the cost data. Changing a cost coefficient by one unit can have a major impact in deviation from optimality objective function objective value to the Also, the inverse optimization objective has the typically the case. is less sensitive to it is its Rather is can only increase the inverse which cost flow problem, is the following: a solution x* possible to perturb each cost coefficient by at is a critical aspect of the closely related to inverse is called e-optimal for the most e so that x* is optimal for the perturbed problem. In this paper, with n nodes, m arcs, rectilinear distance we first and in study the inverse spanning tree problem in an undirected graph which the deviation between two between the two vectors. We show arc cost vectors c that the inverse and d sparming formulated as the dual of an assignment problem on a bipartite graph with G° = (N^, N^ and A° c N^ x N^, The bipartite network G° satisfies tiie property that IN^I = (n is tree A*^) - 1), G = (N, A) defined by the problem can be with IN^I N^ = (m - = N^ u n + 1), = Often, n < < m; hence IN < < IN Such an assignment problem and lA^I We develop a specific implementation of the well known successive shortest path algorithm O(njTi). G assignment problem on This running time often is which obtains much I / a shortest path in 0(IA better than the running time of the assignment problem, The resulting algorithm solves an amortized I), (that which is, is is called unbalanced. for the average) time of O(n^). number the and hence the inverse spanning of arcs in G^. tree problem in O(n^) time. Next we consider the weighted version of the inverse spanning between two cost vectors We show G and d is and can be solved by we Finally, largest arc cost. This paper which the deviation problem can be formulated tree m log(nC)) time, where C denotes the 0(n a cost scaling algorithm in as the dual of a transportation consider the minimax version of the iriverse spanning tree problem and minimax inverse spanning that the in defined by the weighted rectilinear distance between the two vectors. weighted spanning that the problem on c problem tree tree problem can be solved in 0(n ) time. organized as follows. Section 2 shows that the inverse sparuiing tree problem is show is the dual of an unbalanced assignment problem. Section 3 describes an algorithm for the assigiunent problem and shows how an optimal solution of the inverse spanning to obtain 2. problem from the optimal solution of and Section 5 Section 4 considers the weighted inverse sparining tree problem, the assignment problem. studies the tree minimax version of the inverse spanning tree problem. TRANSFORMATION TO THE ASSIGNMENT PROBLEM we show In this section, problem. In placing a bar on and m = G lAI. it, [1993], that We assume a assume without any (a^^, arc cost vector a^^^, problem can be transformed follow the network notation given in the We refer the reader to the same. that N = |1, 2, tree T ... , of n), G and A= and an la^, aj, if The data arc cost vector c with Cj We refer objective in the inverse spanning tree T is spanning , optimal with respect to d and tree T , there on the path is a in unique tree only if ^^.a)- 2^ j ICj - d-l is arc set A. T to the arcs in is the a a^. We as tree arcs and problem is to find an minimum. path between any two nodes; T connecting Let n = INI denoting the cost of arc The cind book of Ahuja, of the inverse spanning tree as nontree arcs. a^^^) ... example, Ahuja, Magnanti and Orlin [1993]) that T d a^}. , and the (a^, aj, set p. the indices of the tree arcs arc cost vector ... N set T = that an assigrxment denote the complement of any set S by loss of generality that , to by S spemning ... d such In the given (see, for tree = (N, A) be an undirected network consisting of the node problem consists of the arcs in is, and spanning we this section, as well as elsewhere, Magnanti and Orlin Let that the inverse two endpoints of arc minimum spanning a-. tree we denote by the It is well known with respect to the , , dj < each dj for e i and P- for each The inverse spanning Consider the sparming tree T If it is, then d = c is = n, ... , m. (1) problem can alternatively be conceived tree The . j T may tree or may not be optimal with respect to the given cost vector the desired cost vector with zero objective function value. by a so the given cost vector c T that optimal with respect to is manner. in the following (c If + a) and Z, not, then ^ la-l is we must c. perturb minimum. This observation allows us to formulate the inverse spaiming tree problem as the following mathematical " program: Minimize 2^ (2a) la-l -J subject to Cj + a- < + Cj each a- for a- is unrestricted for Property j i e each j P- = and 1, 2, ... n, ... m , (2b) m. , a There exists an optimal solution 1. each j = for (2c) of (2) in which a- < Ofor each i = 1 to (n-1) and a- > for each = nto m. Proof. Observe that in (2b) > if a- for some and without worsening the 1 i, < i < (n-1), then we can set aj = without violating any conditions objective function value (2a). This establishes the first claim. A similar argument establishes the second claim. Using Property 1, we obtain the following equivalent formulation of the inverse sparming tree problem: „(n-l) -,m Minimize ^=n - «j (3a) ^i=l «i subject to c- ocj We now in (3b) in a with for a- < c- c- a- for for each c- i = (3) 1 each i e P- to (n-1), and for each = j and a- > for N^ = an arc n, ... , m (3b) each j = n to m. (3c) using the concept of Path Graph, which allows us to express the constraints suitable for manipulation. satisfies a'' contains < + reformulate N° = N^ u N^ which < marmer more Observe that j) + (1, 2, (i, j) ... , (n-1)), The path graph, which we denote by N^ = {n, n+1, for every inequality in (3b). because any vector a satisfying (3c) will ... , m), and A° = {(i, j) : i e G = Pj, (IST, n < (We may, however, exclude those automatically satisfy c- + a- < C: + a-.) j A ) < m}. arcs (i, We will we also like to restate (3) in the maximization form; can do modified formulation of the inverse spanning tree problem Z Maximize , a- Z - by maximizing the negative of it (3a). The as follows: is , a- (4a) subject to ttj - O: where f- < = < a; f for jj for each each arc node i e for each arc c- - Cj associated dual. If we N (i, j) (i, j) e A°, and a- e A > (4b) each node for The formulation . associate the dual variable x-- N e j (4c) , (4) is a linear with the arc (i, j) programming problem and has an in (4b), then the dual of (4) can be stated as follows: Minimized (5a) nf;;X:: (i,j)eA° •) 'J subject to ^|j.(i,j)6A0l - ^ '^ij '^(i:(i,j)eAO) - -1 ''ij for each node € N^ (5b) for each node j e N^ (5c) € A°. (5d) > Xjj The formulation (5) is a for each arc variant of the well i (i, j) known assignment problem. problem, the constraints (5b) and IN 3. I < < IN I. We (5c) are in equality = IN In I. our variant, it is possible that SOLVING THE ASSIGNMENT PROBLEM an unbalanced assignment problem on N I refer to the formulation (5) as the unbalanced assignment problem. We have shown in Section 2 that the I form and IN In the standard assignment n 1 I . In this section, fact that INI dense network < < G we INI (that develop m = Q{n is problem can be transformed tree uN A , to solve the in 0(n' ), where generally INI to < < assignment problem, using the ) time. We point out that for a '\ 9 )), the network at G may each arc contain as at least one, many as ti(n our 0(n' ) ) arcs. Since any algorithm for solving an optimal algorithm for some classes of network G. Consider any feasible assignment x of which = (N purpose algorithm algorithm for the assignment problem must look the assignment problem G speedup. The algorithm runs to obtain a is, network a bipartite a special minimum spanning inverse satisfy the constraints (5b) or (5c) (5) which is a 0-1 vector. For this assignment, the nodes with equality are called matched nodes, and unmatched nodes matter of INI Often otherwise. fact, in a < INI, and most nodes minimum cost assigrmient, it is N in are not be matched some nodes possible that in in an optimal assignment. As a N are not matched. We can transform the unbalanced assigrmient problem (5) on G = (N u N A into a minimum cost flow problem in the following manner. We introduce a source node s with supply b(s) = n, and add an arc (s, ) , for each i) and add an and u. (i, j) 6 I a' I arc with cost (j, t) for each and capacity N e j Observe that = (m+2) and m' = 0(nm). n' There the cost of the is flow on arc (s, t) We problem e A^ with x- = to satisfy the G 1, we . 1 to zero. b(t) with t) n' is . G , on these nodes gives a G' and feasible assignments in G having the same s and t and the known The successive arcs incident Now consider a feasible assignment x in G cost. send one unit of flow on arcs in s and (s, i) and (j, t). Then we send t. successive shortest path algorithm to solve the Magnanti and Orlin minimum cost flow [1993] for a detailed description of this shortest path algorithm maintains a primal infeasible flow x and a dual n satisfying the following optimality conditions: Ifx.. = 0,thenfj>0, (6b) (iii) IfXij = Uij,then^<0, (6c) fjj - 7:(i) + 7t(j). The successive together with x = T:(i) = shortest path algorithm starts with x = satisfies the min{fj. : (i, j) optimaUty conditions given in e A^) for all i e N-^, and 7i(s) (6). and requires It is = min{7i(i) : i e N-^) by augmenting unit flow along node with respect to the flow in the residual network computed with respect to the G'(x) defined x. network reduced costs f^ which are always nonnegative. G'(x) with respect to the arc costs if- s, is 7r(j) n which = for all j one such solution. The shortest paths from node s to In general, the shortest paths are shortest path algorithm consists of determining shortest path distances d(i)'s in the residual a dual solution easy to verify that successive shortest path algorithm proceeds t . sufficient (ii) e N^u(t), = The following property estabUshes i. (6a) = , a bipartite If0<xjj<ujj,thenfj=0, fJJ f -n, = INI and m' = (i) where = We set the capacity of each arc Also observe that similar to G^, G' too emanating from node with We also add an arc (s, . denote the resulting network. Let Ehminating nodes in G' (see, for example, Ahuja, feasible solution N e supply /demand constraints of nodes can use the well algorithm). i = t flows and assignments are the same. solution of the assignment problem in (i, j) node u-^ introduce a sink node a one-to-one correspondence between feasible flows in Proof. Consider a feasible flow x in For each arc and capacity A) we Similarly, 1. mirumum cost flow problem in G and the assignment problem in G a cormection between the 2. = of each Let G' = (N', f--. We denote by A'(i) th^ set of arc in A Property u^- with cost fj = to n; the cost of this arc is network. and = f We set the supply /demand b(i) = (n+1). A . N e i An iteration of the successive from node s to all updating node potentials as Ji other nodes = 7t - d, and augmenting unit flow along the shortest path from noc'e augmentations, the arc (s, t) become will the shortest path from terminate after augmenting flow on this arc. (Observe that arc b(s) = n, (ii) I N = 1 (n-1), have positive flow on the arc of the minimum cost Property (s, t). satisfies = and = (b) For each arc (s, i), if x^- (c) For some arc (j, t), Proof. We then it n(t) which implies 7i(i) > establishing part tree 7t(j) > problem. It < < (i) Uj:, it a is (7) x- = ^ieNl Since which implies 0. (b). «, 0. then Mj) <0. (a) 7t(i) < K(t) = of the property. 0. = If x^^ it < Since 0. 0, Next consider part then 0, > then Mi) Now then it follows from (6b) that , follows from (6a) it consider part = fjj 1, then > it = If x^j (b). follows from (6b) that If x-j (c). < Uj x^ 1 S f^j follows from (6c) which implies 7r(j) < 0, by (7) obtain that a^ for each to obtain an optimal solution of the inverse an optimal solution of the inverse spanning is follows from (6a) that we and n can be used - a- unmatched -^J6N2«j For x as denoting the corresponding assignment as well. = arc in i fj- = x in x. that (c) 0, a is feasible to and thus Summing f^-. (i, j), tree problem: and (ii) f- - 7i(i) + (4). 7t(j) Now = 0. these equations for a^ = for consider a matched arc Since both the nodes all matched each unmatched node arcs i i (i, j) . and are j and using the yields =^{i,j)6A0fij>'ij- a feasible solution of the primal their objective function values are the (4). = If x-^ follows from Property 3(b) and matched, using facts that establishing part f Tc(i) for every matched node i ~ lo for every unmatched node Xj- denote the optimal dual solution 7t follows from Property 2 that the flow x has a corresponding assigrunent. a defined The vector It = if x^j >0; ifx^ = rt(j) that the solutions x Lemma Since 0, < f^; we view Proof. then 1 = 7t(s) simplicity of notations, 1. feasible flow will (c). We will now show i then K(i) <0; 1 This establishes part 0. which implies S spaiming = ifx^ = follows from (6c) that fj't any that (i) 0. can assume without any loss of generality that which implies that will the follozving conditions: 7i(s) = and and the algorithm t, a shortest path because which imply (s, i) is 1, Let x denote the optimal flow ) become will (s,t) node s to of shortest path flow problem. (a) f^f node number After a t. The optimal primal solution x together with the optimal dual solution k of the minimum cost 3. flow problem that the capacity of each arc (iii) node s to same, This completes the proof of the lemma. problem it (4), x follows that is a a feasible solution to the dual problem, is and an optimal solution of the primal problem by = d- Cj + a- for We now at most I Lemma follows from It N each j = 1, ... , 1 that the optimal cost vector d of the inverse spanning tree be solved in 0(m' + I I given analyze the running time of the successive shortest path algorithm. The algorithm solves f]- 's which are nonnegative. Using Fibonacci heap implementation of Dijkstra's algorithm due to Fredman and Tarjan in 0( N^ is m. shortest path problems with arc lengths as I problem n' log n') (m' + n' log n)) = O(n^) time, I each shortest path problem can approach can solve the inverse spanning time. Consequently, this because N^ [1984], I = (n-1), n' tree problem = (m+2), and m' = 0(nm). Improved Algorithm The bottleneck step our approach in each application requiring 0(m' + applications of Dijkstra's algorithm in Dijkstra's algorithm, from node shortest path d(i) is node i; d(i) is each s to when node either finite or infinite; otherwise, permanent it will describe an improved implementation of 0(n total ) we show can perform applied on the residual network G'(x) with arc lengths maintains a distance label i, finite, if it is then it with each node d(i) e A'(i) to update d(j) the all N A e i ff- . 's, to find a distance label denotes the length of some directed path from node i is = min{d(j), A yet to be discovered. minimum temporary algorithm selects a (i, j) we that time using data structures simpler than Fibonacci heap. guaranteed to be the shortest path length to node if it is and examines each arc now (m' + n' log n). In this case, implies that a directed path to node iteration, Dijkstra's distance labels We log n) time. n' when n < Dijkstra's algorithm for the case the successive applications of Dijkstra's algorithm with is d(i) + i, and f^j). distance label temporary otherwise. In is distance label finite s to d(i), makes it permanent, The algorithm terminates when all become permanent. We make two changes in Dijkstra's algorithm to improve its worst-case complexity when applied toG'. Change Permanently 1. Then labeled nodes. label node as soon as t it has the minimum distance label among terminate Dijkstra's algorithm. Recall that the successive shortest path algorithm requires a shortest path from and such a path becomes available as soon permanently label Recall from our previous discussion = 7t(i) jr(i) - remain nonnegative. In case we terminate 2 proved 7t(i) below Orlin [1993], it as node t is node permanently labeled. Hence there is s to node no need t to more nodes. updates the node potentials as potentials as temporarily = 7t(i) + max{d(t) that updating the - d(i) for each node i in N , which ensures Dijkstra's algorithm prematurely, d(i)) for node that in every iteration the successive shortest each permanently labeled node potentials takes 0(n) time and, as also ensures that the arc reduced costs remain nonnegative. i that the reduced costs we need in N'. shown path algorithm It to update the node follows from in Ahuja, Lemma Magnanti and An immediate byproduct Lemma the following 1 is network In the residual permits at most matched nodes I N N in = I G'(x), (n-1) units of and most at mN uN nodes matched nodes (n-1) Immediately thereafter, arc = d(k) + to d(t) examined, which (k, t) is = d(k) (because fj^j = (^^ permanently labeled nodes are non-decreasing, and t, - (n - 1) nodes have 1) permanently labeled. emanating from node the uruque arc most there will be at will be k, Since G'(x) k, and d(t) is Since in Dijkstra? algorithm, distance labels of 0). minimum acquires the t distance label, permanently In total, the algorithm it. most 2n nodes. labels at We now G'(x) into is j say node , follows that node it node s to Therefore, after at most 2(n . permanently labels in the next iteration Dijkstra's algorithm node N is = fy.^ N in in matched or unmatched. are either flow to be sent from node been permanently labeled, an unmatched node updated lemma. Dijkstra's algorithm pernianenti}/ labels at most 2n nodea. 2. Proof. Change of two parts M(i) and Change where M(i) = U(i), unmatched}. Notice that second change, We partition explain the second change. I M(i) I < e A'(i) ((i, j) from examining Dijkstra's algorithm refrains : node node of each 9 INI i j(i, j) e N e A'(i) in : 1 INI, which - is 0(m). In the arcs in U(i). permanentli/ labeled, then examine is i all list A'(i) matched) and U(i) = is j but U(i) can be as big as n, In Dijkstra's algorithm, ivhen node 2. the arc adjacency arcs in M(i) but all only the smallest cost arc in U(i). We now show observe that until node reduced rt(j) is j cost. = for each Suppose is that first Clearly, d(j) = d(i) + (i, j) 2 does not affect the correctness of Dijkstra's algorithm. unmatched node N in j (This . is true at initialization, matched.) So the arc in U(i) with the smallest cost Consider the U(i). Change that fj- cost arc in U(i), then d(k) = N . some permanently minimum reduced d(i) + ffi^ < d(i) + cost. fj; = U(i), Dijkstra's has the node For, d(j), This argument establishes that orJy the least reduced cost arc in N e j labeled if i e this is N 2; that is, not updated we examine minimum temporary such that not true and (i, j) instead of examining e A arcs in distance label. We . all claim that arc minimum reduced minimum temporary k) is the (i, contradicting that node if is 7t(j) first also the arc in U(i) with smallest is apply Dijkstra's algorithm without Change time an unmatched node for the arc in U(i) with distance label in we and We j is all the arcs in U(i) we examine algorithm will run correctly. A byproduct of Change 2 is the following lemma. Lemma Proof. 3. In any Each temporary distance label caused by the node which modified or permanently labeled; matched nodes N , in N there will be at have at most In temporary distance iteration, Dijkstra's algorithm will but if it is at is it last. caused by Now some permanently notice that each permanently labeled then most one unmatched node most 2n temporary distance in labels in i e N is we say that it was either temporarily labeled can cause several temporary distance labels of it N node labeled node; labels. . any Since there are at most (n iteration. - 1) matched nodes in We now can analyze the worst-case complexity of the successive shortest path algorithm that uses Dijkstra's algorithm incorporating Change algorithm will perform 0(n) iterations. 0(n) time a node with the the miriimum and Change 1 follows from It minimum temporary 2. It Lemma Lemma follows from 3 that in each iteration distance label, say node i. Examining Dijkstra's algorithm takes 0(n ) it can identify in and arcs in M(i) all minimum cost arc in U(i) also takes 0(n) time plus the time to identify the Thus each application of 2 that Dijkstra's cost arc in U(i). time plus the time needed to identify minimum cost arcs in U(i). Therefore, the successive shortest path algorithm, which applies Dijkstra's algorithm at most n times, runs in We now 0(n explain minimum reduced the each node i e N (i) Initially, after U(i) = We remove from it A'(i) minimum (ii) 0(nm) and m = 0(n ), cost. So we maintain the arcs in U(i) for key. These heaps are constructed once its for all the nodes can be constructed In a binary heap, each [1990]). an additional node in Dijkstra's algorithm, so, we consider each arc 0(log n) time per arc and a total of heap operations also take 0(n the k) e (i, 0(n log O(m') heap operation, ) time. N A , say node with n) time for the applications of Dijkstra's algorithm all in like deleting an arc in U'(i) can be performed in 0(log n) then need to update some heaps. To do U(i); this takes a total of as (i, j) and these heaps and cost arc in U'(i); time taken by the heap operations in Since m' = minimum with each application of Dijkstra's algorithm, so that they can be reused Suppose during an application of matched. total also the arc in U(i) with is in U(i). cost arcs in U(i) quickly. Recall that the arc in U(i) example, Cormen, Leiserson and Rivest identifying a time. minimum to identify and are updated in the next application. (see, for how cost minimum cost arcs time plus the time needed to identify using a binary" heap with cost of the arc at the beginning, time ) We i e node get k, N and k. The 0(m' + n log is n). can summarize the discussion in this section by the following theorem. Theorem 1. The successive shortest path algorithm can solve the unbalanced assignment problem and, hence, the inverse spanning tree problem in 4. 0(n ) time. WEIGHTED INVERSE SPANNING TREE PROBLEM In this section, we consider the weighted spanning tree problem. the inverse spanning tree problem, where the objective given cost vector. Suppose we is to ITiis problem is a generalization of minimize the weighted deviation from the associate a nonnegative weight w- with each arc a- e A. Then the weighted inverse sparming tree problem can be formulated as the following mathematical program: Mininruze 2>_j^ w- a- - ^^-^ w- subject to (3b) a- Using exactly the same method we used tree problem can be reformulated Maximize £ i w- a^ - and for the unit (3c). weight case, the weighted inverse sparirung as Z t w- a subject to (4b) and (4c). 10 The dual of this problem Minimize as follows: is Z ' (^^) o^ii'^ij fi (i-j)GA^ subject to ^ ^ (i,j) (j: |i: (i,j) e AOj "ij e aO) "ij Xjj where f-- = (C: - Cj). > - ^i ^°^ ^^^ ^°^^ ^ ^^' (8^) - ^or each node € N^, j (8c) e A^, (8d) - ^j for each arc The formulation (i, j) ' the standard transportation problem, the constraints (8b) W: = ZjcmZW:, which are not transportation We problem. show and networks can solve the unbalanced transportation problem form and ^jeNl refer to the formulation (8) as the unbalanced an adaptation that standard transportation problem. In (8c) are in the equality We satisfied in the variant. will known variant of the well (8) is a in for the cost scaling algorithm for bipartite m log(nC)) 0(n time, where C = max{lc:l : aj e A). The which cost scaling algorithm requires that the does not (8) in Section 3 satisfy. To mass balance constraints are we satisfy this condition, first (j, t) with j e N is set to w-. We observe that the unbalanced transportation problem set b(s) in (8) = -b(t) (s, costs. (N', A) in 0((n') reduces to a log(n'C)) time, with i N e minimum that where C (N', A') as is , Z- j^2 cost flow can solve the is the largest set to algorithm can solve the minimum m' = 0(nm), the running time of wj problem minimum + Also 1. Ln G'. cost flow magnitude of the arc cost flow this problem is in G' in algorithm becomes cost flow problem. ' ~ lo if [7t(i) if Jo ) For these solutions, ~ l7:(j) if if node node i e i 6 N N and arc and arc node e N and node g N^ and manner analogous we obtciin a in (s, i) is (s, i) is 0((IN 0(nTn I) + (IN I m) log(nC)). Since IN - log(nC)). minimum saturated arc (j, t) is not saturated arc (j, t) is saturated. case, = (n not saturated j unweighted I the following manner: j to the This considerably smaller than the other part. Let X denote the optimal primal solution and n denote the optimal dual solution of the In a described w^ and the Ahuja, Orlin, Stein, and Tarjan [1994] describe an improved implementation of the cost scaling algorithm for those bipartite networks where one part 1), i) = min(Zjg ^i Wj Goldberg and Tarjan [1987] describe a cost scaling algorithm problem on the network G' = = construct the network G' with the modification that the capacity of the arc capacity of the arc in the equality form, it can be shown that a defined optimal for the weighted inverse spanning tree problem. We have in the above manner thus proved the following theorem. is 11 Theorem cost scaling algorithm for bipartite networks can The 2. problem, and hence the weighted inverse spanning tree problem, in solve the unbalanced transportation 0(n^m log(nC)) time. MINIMAX INVERSE SPANNING TREE PROBLEM 5. In this section, consider the variation of the inverse spanrung tree problem where the objective maximum minimize the to we sum arc deviation instead of minimizing the is of the arc deviations. This problem can be formulated in the following manner: Minimize [max {Ipjl l<j<m)] : (9a) subject to + c < a- Cj + a- for - c- each i e P- and for each j = n, e and = n, ... , m, alternatively, or, - a- a- a > < c for each i for each = i 1 to (n-1), P- and a- for each > for j ... m, , (9b) each j = n to m. (9c) Let 8 = If 8 < 8/2 for 0, is max then c a lower some (10) is 4. i, (9). a = is time. e i and P- ot- - < 1 i We for T*. j = n, ... , we Thus, m). and one of them (n-1), and a- j, minIO, -5/21 for each i, 1 < i < (n-1), 8/2 in magnitude. n < < m, achieves j have established the following when 8 > 0. minimax inverse spanning will be at least = 8/2 for each (10) consider the case the objective function value of the a^ > 8 < for each this It is It is tree lower bound and and U: = maxjO, 5/21 for each j, n However, we can do it in 0(n ) i-th row of £ in 0(n) matrix can be computed in 0(n If done in an straightforward fashion, £= (ej-) ) We claim that for h[j] a: the tree arc 0(mn) We can i. i and j. Therefore, the "E that (11) respectively denote the any nontree arc takes ij-th time by performing a search of T* starting at node time. it denote an nxn matrix whose 8 = max[ej[j]j^[j] -Cj:n<j<m], and every tree problem. time as described next. Let 'y t[j] satisfies ttj < j < m, with 5defined by element gives the largest cost of a tree arc in the unique path in T connecting nodes where problem, because also easy to see that study the time complexity of the minimax inverse sparming tree problem. The computation the bottleneck operation in the algorithm. determine the easy to see that result. an optimal solution of the minimax inverse spanning We now of 8 for each bound on arc pair constraint in : an optimal cost vector is = -8/2 for each Lemma [Cj - c- aj tail and head nodes of the arc with the largest value of Cj a-. The claim follows from the will attain the largest value of fact Cj - c- 12 and e^iji j^rM gives this value. Once the matrix !Eis available, we can compute 8 in 0(m) time using (11). We have thus established the following theorem. Theorem The minimax inverse spanning 3. problem can be solved tree in 0(n ) time. ACKNOWLEDGMENTS. We gratefully acknowledge suppport from the Office of Naval Research under contract ONR NOOOl 4-96-1- 0051 as well as a grant from the United Parcel Service. REFERENCES Ahuja, R. Magnanti, and K., T. L. Prentice Hall, Ahuja, R. K., J. Inc., B. Orlin. and B. Orlin, C. Stein, problems. SI J. AM Journal on R. E. Tarjan. Computing Network Flows: Theory, Algorithms, and Applications. 1994. Improved algorithms for bipartite network flow 23, 903-933. Chandru, D. Sempolinski, and Bitran, G., V. 1993. NJ. J. Shapiro. Inverse optimization: an application to the 1981. capacitated plant location problem. Management Science 27, 1120-1141. Burton, D., and Ph. L. Toint. Programming On 1992. an instance of the inverse shortest paths problem. Mathematical 53, 45-61. On the use of an inverse shortest paths algorithm for recovering linearly Mathematical Programming 63, 1-22. Burton, D., and Ph. L. Toint. 1994. correlated costs. Cormen, T. H., C. L. Leiserson, Hill, New Dijkstra, E. 1959. Everett, H. 1963. L., R. L. Rivest. 1990. Introduction to Algorithms. MIT Press and McGraw- A note on two problems in connexion with graphs. Numeriche Mathematics 1, 269-271. Generalized Lagrange multiplier method for solving problems of optimum allocation of Operations Research 11, 399-417. resources. Fredman, M. and York. and R. E. Tarjan. 1984. Fibonacci heaps and their uses in improved network optimization Proceedings of the 25th Annual IEEE Symposium on Foundations of Computer Science, pp. 338-346. FuU paper in journal of 34 (1987), 596-615. algorithms. ACM V., and R. E. Tarjan. 1987. Solving minimum cost flow problem by successive approximations. Proceedings of the I9th Symposium on the Theory of Computing, pp. 7-18. Full paper in Mathematics of Operations Research 15 (1990), 430-466. Goldberg, A. ACM Murty, K. G. 1976. Linear and Combinatorial Programming. John Wiley & Sons, NY. Sokkalingam, P.T., 1995. The Minimum Cost Flozu Problem Primal Algorithms and Cost Perturbations. Unpublished Dissertation, Department of Mathematics, Indian Institute of Technology, Kanpur, : INDIA. 5709 105 Date Due MIT LIBRARIES 3 9080 00978 0450