290 likes | 407 Views
A Linear Programming Formulation of Flows over Time with Piecewise Constant Capacity and Transit Times. by Juan Alonso and Kevin Fall. Introduction . Algorithm to optimally solve a Delay-Tolerant Network (DTN) routing problem Assumes contacts are known in advance Two steps
E N D
A Linear Programming Formulation of Flows over Time with Piecewise Constant Capacity and Transit Times by Juan Alonso and Kevin Fall Sharlee Climer CS679
Introduction • Algorithm to optimally solve a Delay-Tolerant Network (DTN) routing problem • Assumes contacts are known in advance • Two steps • Time discretized appropriately • Linear Program (LP) is solved • Present two LPs Sharlee Climer CS679
DTN Routing Problem • Similar to dynamic multicommodity flow or quickest transshipment problem • Edge capacities vary with time • Transit delays along edge vary with time • Capacities and/or delays can be zero • Finite buffer at each vertex Sharlee Climer CS679
Assumptions • V, C, and multigraph G = (V,E) are given • each contact, Ci = (ei, Ii, ci, di) • flow is permitted to depart along ei during Ii • ci is capacity and di is delay • bv is buffer capacity at vertex v • A commodity demand matrix is given: Sharlee Climer CS679
Outline • Discretize time for example • Set up LP for example • Alternate LP • Contributions of paper Sharlee Climer CS679
Discretize time Sharlee Climer CS679
Discretize time T1 = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12} D = {1, 2, 3, 4} D = 4 Sharlee Climer CS679
Discretize time t0 = 0 th = 12 T2 = {-4, 0, 1, 2, 3, …, 12, 16} Sharlee Climer CS679
Discretize time T2 = {-4, 0, 1, 2, 3, …, 12, 16} I2 = { [-4, 0], [0, 1], [1, 2], … , [11, 12], [12, 16] } Sharlee Climer CS679
Discretize time Capacities: Sharlee Climer CS679
Discretize time Delays: Sharlee Climer CS679
Discretize time D’ = { 1, 2, 3, 4, 4, 1, 1, … , 1, 4} = { 1, 2, 3, 4} Sharlee Climer CS679
Discretize time D’ = { 1/1, 2/1, 3/1, 4/1 } ni= { 1, 2, 3, 4 } mi = { 1 } Sharlee Climer CS679
Discretize time ni= { 1, 2, 3, 4 } mi = { 1 } q = lcm { 1 } = 1 p = gcd { 1 (1/1), 2 (1/1), 3 (1/1), 4 (1/1) } = 1 e = 1 Sharlee Climer CS679
Discretize time Te = { t0 + le | lin Z } = Z TE = { -4, -3, -2, -1, 0, 1, …, 16 } TR = { 0, 1, 2, … , 16 } TX = { 0, 1, 2, … , 12} Sharlee Climer CS679
Discretize time Capacities: Sharlee Climer CS679
Discretize time Delays: Sharlee Climer CS679
LP formulation Amount of commodity k of priority l occupying the buffer at node v at time t in TR Amount of data from i(k) to t(k) and priority l that is transmitted at i(e) during I in IE Amount of data from i(k) to t(k) and priority l that is received at t(e) during I in IR (That’s 4,288 decision variables for our small example!) Sharlee Climer CS679
LP formulation min { 1 x -3 x [ X(1,1,1,-3) + X(1,1,2,-3) + X(1,1,3,-3) + … + X(1,1,10,-3) ] + 1 x -2 x [ X(1,1,1,-2) + X(1,1,2,-2) + X(1,1,3,-2) + … + X(1,1,10,-2) ] + . 1 x 16 x [ X(1,1,1,16) + X(1,1,2,16) + X(1,1,3,16) + … + X(1,1,10,16) ] + 2 x -3 x [ X(1,2,1,-3) + X(1,2,2,-3) + X(1,2,3,-3) + … + X(1,2,10,-3) ] + 2 x -2 x [ X(1,2,1,-2) + X(1,2,2,-2) + X(1,2,3,-2) + … + X(1,2,10,-2) ] + . 2 x 16 x [ X(1,2,1,16) + X(1,2,2,16) + X(1,2,3,16) + … + X(1,2,10,16) ] + . 1 x -3 x [ X(2,1,1,-3) + X(2,1,2,-3) + X(2,1,3,-3) + … + X(2,1,10,-3) ] + . 1 x 16 x [ X(2,1,1,16) + X(2,1,2,16) + X(2,1,3,16) + … + X(2,1,10,16) ] + 1 x -3 x [ X(3,1,1,-3) + X(3,1,2,-3) + X(3,1,3,-3) + … + X(3,1,10,-3) ] + . 1 x 16 x [ X(3,1,1,16) + X(3,1,2,16) + X(3,1,3,16) + … + X(3,1,10,16) ] } Sharlee Climer CS679
LP formulation constraints (2): K = { 1, 2, 3 } L = { 1, 2 } V = { 1, 2, … , 8 } IR = { 1, 2, … , 16 } for k = 1, l = 1, v = 3, Iq= 4: I3 = { 1, 2 }, O3 = { 5 } R(1,1,1,4) + R(1,1,2,4) – X(1,1,5,4) = N(1,1,3,4) – N(1,1,3,3) The difference between total incoming and total outgoing flow at a node, over a time interval, for a commodity with a given priority, is equal to the net buffer occupancy for the node, interval, commodity, and priority. (768 constraints) Sharlee Climer CS679
LP formulation constraints (3): K = { 1, 2, 3 } L = { 1, 2 } E = { 1, 2, … , 10 } IE = { -3, -2, -1, 0, 1, … , 16 } for k = 1, l = 1, e = 5, Iq= 4: R(1,1,5,4) = X(1,1,5,3) The traffic received at the endpoint of e during time interval I is equal to the traffic transmitted at the initial point of e during I – de,I. Sharlee Climer CS679
LP formulation constraints (4): K = { 1, 2, 3 } L = { 1, 2 } V = { 1, 2, … , 8 } TR = { 0, 1, 2, … , 16 } for v = 3, tq= 4: N(1,1,3,4) + N(1,2,3,4) + N(2,1,3,4) + N(3,1,3,4) <= 1 The total buffer occupancy at a node can never exceed the buffer capacity. Sharlee Climer CS679
LP formulation constraints (5): K = { 1, 2, 3 } L = { 1, 2 } E = { 1, 2, … , 10 } IE = { -3, -2, -1, 0, 1, … , 16 } for e = 5, Iq= 4: X(1,1,5,4) + X(1,2,5,4) + X(2,1,5,4) + X(3,1,5,4) <= 0 x 1 The total flow over a link during a certain time interval cannot exceed the link capacity multiplied by the amount of time that the link is open. Sharlee Climer CS679
LP formulation • constraints (6): K = { 1, 2, 3 } • L = { 1, 2 } • V = { 1, 2, … , 8 } • IR = { 1, 2, … , 16 } • for k = 1, l = 1, v = 3: I3 = { 1, 2 }, O3 = { 5 } • { X(1,1,5,1) + X(1,1,5,2) + … + X(1,1,5,16) } • { R(1,1,1,1) + R(1,1,1,2) +… + R(1,1,1,16) + R(1,1,2,1) + … + R(1,1,2,16) } = 0 • When all time has elapsed, the difference between total incoming and total outgoing flow at a node (for a given commodity and priority) is equal to zero at transient nodes, and equal to mk,l [-mk,l] when v = i(k) [v = t(k)]. Sharlee Climer CS679
LP formulation constraints (7): K = { 1, 2, 3 } L = { 1, 2 } V = { 1, 2, … , 8 } for k = 1, l = 1, v = 1: N(1,1,1,0) = 1 At the beginning, only those nodes having messages to send have an occupied buffer, in the expressed amount. Sharlee Climer CS679
Alternate LP formulation LHS (6) = LHS (2) = Sharlee Climer CS679
Alternate LP formulation constraints (7) constraints (12) (replaces (6)) Sharlee Climer CS679
Contributions • Concise definition • Compare approximate algorithms • Starting point • Improve LP • Improve lowerbound • Improve upperbound Sharlee Climer CS679
Questions? Sharlee Climer CS679